:root{--blue: #6050dc;--blue-dark: #4a3cc4;--blue-light: #a89ef0;--ink: #17133a;--muted: #5c5776;--bg: #ffffff;--bg-soft: #f5f4fb;--radius: 20px;--font-head: "Sora", system-ui, sans-serif;--font-body: "Inter", system-ui, sans-serif}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--ink);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}.container{max-width:1120px;margin:0 auto;padding:0 24px}h1,h2,h3{font-family:var(--font-head);line-height:1.12;letter-spacing:-.02em}h2{font-size:clamp(1.8rem,4vw,2.7rem);font-weight:800}.kicker{font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;color:var(--blue);margin-bottom:12px}.kicker.light{color:var(--blue-light)}.btn{display:inline-block;font-weight:600;text-decoration:none;white-space:nowrap;border-radius:999px;padding:10px 22px;font-size:.95rem;border:none;cursor:pointer;font-family:var(--font-body);transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--blue);color:#fff;box-shadow:0 6px 20px #6050dc59}.btn-primary:hover{background:var(--blue-dark)}.btn-ghost{color:var(--ink);border:2px solid #e4e1f5;background:transparent}.btn-ghost:hover{border-color:var(--blue);color:var(--blue)}.btn-invert{background:#fff;color:var(--blue)}.btn-lg{padding:15px 32px;font-size:1.05rem}.nav{position:sticky;top:0;z-index:50;background:#ffffffd9;backdrop-filter:blur(12px);border-bottom:1px solid #efeef8}.nav-inner{display:flex;align-items:center;gap:26px;height:68px}.logo{font-family:var(--font-head);font-weight:800;font-size:1.35rem;letter-spacing:-.03em;color:var(--blue);text-decoration:none}.logo.small{font-size:1.1rem}.beta-tag{font-size:.5em;font-weight:800;color:#e5484d;letter-spacing:.06em;margin-left:3px;vertical-align:super}.nav-links{display:flex;gap:24px;margin-left:auto}.nav-links a{color:var(--muted);text-decoration:none;font-weight:500;font-size:.95rem}.nav-links a:hover{color:var(--ink)}.nav-auth{display:flex;align-items:center;gap:10px}.avatar-menu{position:relative}.avatar-btn{width:38px;height:38px;border-radius:50%;border:none;cursor:pointer;background:var(--blue);color:#fff;font-weight:800;font-size:.85rem;font-family:var(--font-body);letter-spacing:.02em;display:flex;align-items:center;justify-content:center;transition:transform .12s ease,box-shadow .12s ease}.avatar-btn:hover{transform:scale(1.06);box-shadow:0 6px 18px #6050dc59}.avatar-dropdown{position:absolute;top:calc(100% + 10px);right:0;z-index:60;background:#fff;border:1px solid #eceafa;border-radius:14px;box-shadow:0 20px 50px -18px #17133a4d;min-width:220px;padding:6px;display:flex;flex-direction:column}.avatar-dropdown[hidden]{display:none}.avatar-id{display:flex;flex-direction:column;gap:1px;padding:10px 12px 12px;border-bottom:1px solid #f1effa;margin-bottom:6px}.avatar-id strong{font-size:.92rem}.avatar-id span{font-size:.78rem;color:var(--muted)}.avatar-dropdown a,.avatar-dropdown button{text-align:left;background:none;border:none;cursor:pointer;font-family:var(--font-body);font-size:.9rem;font-weight:500;color:var(--ink);text-decoration:none;padding:9px 12px;border-radius:9px}.avatar-dropdown a:hover,.avatar-dropdown button:hover{background:var(--bg-soft);color:var(--blue)}.avatar-dropdown #nav-logout{color:#b02a37}.avatar-dropdown #nav-logout:hover{background:#fdeaea;color:#b02a37}.footer{padding:28px 0;border-top:1px solid #efeef8}.footer-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px}.footer-langs{display:flex;flex-wrap:wrap;gap:14px}.footer-langs a{color:var(--muted);text-decoration:none;font-size:.85rem}.footer-langs a:hover,.footer-langs a.current{color:var(--blue)}.footer-note{color:var(--muted);font-size:.85rem}.footer-legal{display:flex;gap:14px}.footer-legal a{color:var(--muted);text-decoration:none;font-size:.85rem}.footer-legal a:hover{color:var(--blue)}.auth-wrap{min-height:calc(100vh - 158px);display:flex;align-items:center;justify-content:center;padding:60px 24px;background:var(--bg-soft)}.auth-card{background:#fff;border-radius:var(--radius);border:1px solid #eceafa;box-shadow:0 30px 60px -30px #17133a33;padding:40px;width:100%;max-width:440px}.auth-card h1{font-size:1.7rem;font-weight:800;margin-bottom:6px}.auth-sub{color:var(--muted);margin-bottom:26px}.field{margin-bottom:16px}.field label{display:block;font-weight:600;font-size:.88rem;margin-bottom:6px}.field input{width:100%;padding:12px 14px;border-radius:12px;border:2px solid #e4e1f5;font-family:var(--font-body);font-size:.95rem;color:var(--ink);transition:border-color .15s ease;background:#fff}.field input:focus{outline:none;border-color:var(--blue)}.field .hint{font-size:.78rem;color:var(--muted);margin-top:4px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.captcha-box{display:flex;align-items:center;gap:10px;margin-bottom:10px}.captcha-box .captcha-img{border-radius:10px;overflow:hidden;line-height:0;flex-shrink:0}.captcha-refresh{background:none;border:none;color:var(--blue);font-weight:600;font-size:.82rem;cursor:pointer;font-family:var(--font-body);text-decoration:underline;padding:4px}.form-error{display:none;background:#fdecec;color:#b3261e;border-radius:12px;padding:11px 14px;font-size:.88rem;margin-bottom:16px;font-weight:500}.form-error.show{display:block}.auth-card .btn-primary{width:100%;text-align:center;margin-top:6px}.auth-alt{text-align:center;margin-top:20px;font-size:.9rem;color:var(--muted)}.auth-alt a{color:var(--blue);font-weight:600;text-decoration:none}.auth-success{text-align:center;padding:10px 0}.auth-success .emoji-big{font-size:2.2rem;margin-bottom:10px}.auth-success h2{font-size:1.4rem;margin-bottom:10px}.auth-success p{color:var(--muted)}.dev-link{display:inline-block;margin-top:16px;font-size:.85rem;color:var(--blue)}@media(max-width:860px){.nav-links{display:none}.nav-auth{margin-left:auto}.field-row{grid-template-columns:1fr}.footer-inner{flex-direction:column}}@media(max-width:560px){.nav-inner{gap:10px}.logo{font-size:1.12rem}.beta-tag{font-size:.46em;margin-left:2px}.nav-auth{gap:6px}.nav-auth .btn{padding:8px 13px;font-size:.82rem}.avatar-btn{width:34px;height:34px;font-size:.8rem}}@media(max-width:380px){.container{padding:0 16px}.nav-auth .btn{padding:7px 11px;font-size:.78rem}}
