@font-face{font-family:Poppins;src:url('../fonts/poppins-regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url('../fonts/poppins-medium.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Poppins;src:url('../fonts/poppins-semibold.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:Poppins;src:url('../fonts/poppins-bold.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
:root{font-size:clamp(13px,1.111vw,16px);color-scheme:dark;--bg:#1e1e1e;--paper:#2b2b2b;--border:#3a3a3a;--muted:#adadad;--text:#f4f4f4;--ink:#ffffff;--ink-soft:#d6d6d6;--ink-text:#161616;--chip:#3d3d3d;--chip-hover:#454545;--hover-overlay:#ffffff14;--hover-overlay-strong:#ffffff22}
body[data-theme=light]{--bg:#f5f5f4;--paper:#fff;--border:#dcdcda;--muted:#5c5c5c;--text:#242424;--ink:#141414;--ink-soft:#333333;--ink-text:#ffffff;--chip:#e8e8e8;--chip-hover:#dedede;--hover-overlay:#00000010;--hover-overlay-strong:#00000018;color-scheme:light}
*{box-sizing:border-box}
html,body{margin:0;min-width:320px;min-height:100%;font-family:Poppins,Arial,sans-serif}
body{background:var(--bg);color:var(--text);font-size:1rem;line-height:1.5;transition:background-color .25s ease,color .25s ease}
button,input{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}

/* Icons (Google Material Symbols) */
.material-symbols-outlined{font-family:'Material Symbols Outlined';font-weight:400;font-style:normal;display:inline-block;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24}
.icon{--icon-size:1.125rem;width:var(--icon-size);height:var(--icon-size);font-size:var(--icon-size);display:inline-flex;align-items:center;justify-content:center;flex:none;line-height:1;vertical-align:middle;transition:transform .2s ease,color .18s ease}

@keyframes card-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes menu-in{from{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:none}}
@keyframes pop-in{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}

.site-header{height:4.625rem;padding:0 3rem;display:flex;align-items:flex-end;justify-content:space-between}
.brand{display:inline-flex;align-items:center;gap:.28rem;height:2.5rem;color:var(--text);font-size:1.55rem;line-height:1;font-weight:700;letter-spacing:-.025em;white-space:nowrap}
.brand img{display:block;width:2.3125rem;height:2rem;transition:filter .25s ease}
body[data-theme=light] .brand img{filter:invert(1)}
.header-actions{display:flex;align-items:center;gap:.65rem}
.language-wrap{position:relative}
.language-button{border:0;background:none;color:var(--text);min-height:2.625rem;padding:.5rem 1.125rem;display:flex;align-items:center;gap:.375rem;border-radius:.375rem;font-size:1rem;font-weight:500;white-space:nowrap;transition:background-color .18s ease}
.language-button:hover{background:var(--hover-overlay)}
.language-button .icon{--icon-size:1.125rem}
.language-button .chevron{--icon-size:.9rem;transition:transform .2s}
.language-button[aria-expanded=true] .chevron{transform:rotate(180deg)}
.language-menu{position:absolute;top:calc(100% + .1rem);right:0;width:10.125rem;padding:.375rem;background:var(--chip);border:1px solid var(--border);border-radius:.375rem;box-shadow:0 .5rem 1rem #0002;z-index:5;animation:menu-in .18s ease both;transform-origin:top right}
.language-menu[hidden]{display:none}
.language-option{width:100%;display:flex;justify-content:space-between;align-items:center;border:0;background:none;color:var(--text);text-align:left;padding:.5rem .625rem;border-radius:.25rem;font-weight:500;transition:background-color .15s ease}
.language-option:hover{background:var(--hover-overlay-strong)}
.language-option.active{color:var(--ink)}
.language-option .check{font-size:1.15rem;line-height:1}
.primary-button{border:0;border-radius:.375rem;background:var(--ink);color:var(--ink-text);font-weight:600;transition:opacity .2s,transform .15s}
.primary-button:hover{opacity:.88}
.primary-button:active{transform:scale(.98)}
.primary-button:disabled{opacity:.6;cursor:default}
.theme-button{border:0;background:none;color:var(--text);width:2.625rem;height:2.625rem;display:flex;align-items:center;justify-content:center;border-radius:.375rem;transition:background-color .18s ease}
.theme-button:hover{background:var(--hover-overlay)}
.theme-button .icon{--icon-size:1.25rem}
.header-login{min-width:5.625rem;height:2.625rem;padding:0 1rem;font-size:.875rem;display:flex;align-items:center;justify-content:center}
.main{min-height:calc(100vh - 4.625rem);display:flex;justify-content:center;align-items:center}
.auth-card{width:100%;max-width:31.125rem;padding:3.875rem 3.25rem;background:var(--paper);border:1px solid var(--border);border-radius:.75rem;transition:background-color .25s ease,border-color .25s ease;animation:card-in .35s ease both}
.auth-title{text-align:center;margin:0 0 .5rem;color:var(--text);font-size:2rem;line-height:2.375rem;font-weight:600}
.auth-subtitle{text-align:center;margin:0;color:var(--muted);font-size:1rem;line-height:1.375rem}
.auth-form{margin-top:1.5rem;display:flex;flex-direction:column;gap:calc(1rem - 1px)}
.google-button{width:100%;height:3.625rem;display:flex;align-items:center;justify-content:center;gap:.5rem;background:var(--chip);border:0;border-radius:.375rem;color:var(--text);font-weight:600;transition:background-color .2s}
.google-button:hover{background:var(--chip-hover)}
.google-button:active{transform:scale(.99)}
.google-g{width:1.5rem;height:1.5rem;flex:none}
.auth-form .primary-button{width:100%;height:3.75rem;font-size:1rem}
.bottom-copy a:hover{text-decoration:underline}
.legal-copy{font-size:.8rem}
.bottom-copy{margin:2rem 0 0;text-align:center;color:var(--muted);font-size:.875rem;font-weight:500}
.bottom-copy a{margin-left:.25rem;color:var(--ink);font-weight:600}
.signup-note{text-align:center;color:var(--muted);font-size:.875rem;margin:0}
.feedback{margin:0;padding:.6rem .75rem;border-radius:.35rem;background:#493c3c;color:#ffe1e1;font-size:.85rem;text-align:center;animation:pop-in .2s ease both}
.feedback.success{background:#2e2e2e;color:#f0f0f0}
body[data-theme=light] .feedback{background:#fdecec;color:#8a1c1c}
body[data-theme=light] .feedback.success{background:#ebebea;color:#242424}
@media(max-width:639px){
  :root{font-size:16px}
  .site-header{height:60px;padding:8px 16px 0;align-items:flex-start}
  .brand{font-size:22px;height:40px;gap:5px}
  .brand img{width:37px;height:32px}
  .header-actions{gap:.25rem}
  .header-login{display:none}
  .language-button{padding:.5rem .625rem}
  .main{min-height:calc(100vh - 60px);align-items:flex-start;padding:24px 16px 32px}
  .auth-card{max-width:none;padding:32px 16px;border-radius:8px}
  .auth-title{font-size:28px;line-height:32px;margin-bottom:8px}
  .auth-subtitle{font-size:16px;line-height:22px}
  .auth-form{margin-top:24px;gap:16px}
  .google-button{height:58px}
  .auth-form .primary-button{height:56px}
  .bottom-copy{font-size:14px;margin-top:28px}
}
