.shell{display:block}.main{padding:0 clamp(20px,5vw,72px) 80px;min-height:calc(100vh - 76px)}.v2-header{height:auto;min-height:76px;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px clamp(20px,5vw,72px);background:#fff;border-bottom:1px solid #e5d7ec;position:sticky;top:0;z-index:20;box-shadow:0 7px 22px #5121ea09}.v2-logo img{display:block;width:155px;height:auto;max-height:52px;object-fit:contain}.v2-header nav{display:flex;align-items:center;gap:clamp(5px,1.5vw,18px);overflow:auto}.v2-header nav a,.v2-header nav button,.v2-header-actions>button:not(.btn){border:0;background:transparent;color:#55446d;font-size:13px;font-weight:800;text-decoration:none;white-space:nowrap;padding:9px 10px;border-radius:10px}.v2-header nav button.active,.v2-header nav button:hover{background:#efe6ff;color:#5121ea}.v2-header-actions{display:flex;gap:10px;align-items:center;min-width:0}.v2-header-actions span{font-size:11px;color:#887a97;max-width:150px;overflow:hidden;text-overflow:ellipsis}.v2-header .btn{white-space:nowrap}.topbar{margin:26px 0}.journey-hero{margin-top:36px;min-height:560px}.journey-hero .hero-mascot{right:11%}.journey-ribbon{margin-top:30px}.v2-auth,.v2-onboard{display:grid;grid-template-columns:1fr 1fr;max-width:1100px;margin:35px auto;min-height:650px;background:#fff;border:1px solid #e2d5ed;border-radius:32px;overflow:hidden;box-shadow:0 20px 55px #5121ea13}.v2-auth-art,.v2-world{background:radial-gradient(circle at 65% 65%,#e6faec,#eaddff 70%);padding:42px;position:relative;overflow:hidden}.v2-auth-art>span,.v2-world>small{font-size:12px;color:#5121ea;font-weight:800;letter-spacing:.15em}.v2-auth-art h1{font-size:clamp(39px,4vw,62px);line-height:1.05;letter-spacing:-.06em;color:#2e1e50;max-width:500px;margin-top:30px}.v2-auth-guide{width:min(58%,290px);margin:45px auto;animation:kiri-fly 4s ease-in-out infinite}.v2-auth-guide svg{width:100%}.v2-auth-card,.v2-onboard-copy{padding:clamp(28px,5vw,68px);align-self:center}.v2-auth-card h2,.v2-onboard-copy h1{font-size:clamp(34px,3.5vw,52px);line-height:1.06;letter-spacing:-.055em;color:#2d1c4d;margin:15px 0}.v2-auth-card p,.v2-onboard-copy p{line-height:1.65;color:#736783}.v2-back{background:transparent;border:0;color:#705b8a;padding:0;margin:0 0 35px;font-weight:800}.v2-auth-card form,.v2-details{display:grid;gap:14px;margin-top:25px}.v2-auth-card label,.v2-details label{font-size:13px;font-weight:800;color:#4c3b60}.v2-auth-card input,.v2-auth-card select,.v2-details input,.v2-details select,.v2-onboard-copy>input,.v2-onboard-copy>select{display:block;width:100%;margin-top:6px;padding:12px 14px;border-radius:12px;border:1px solid #c9b9d8;background:#fff;color:#2b1e40;min-height:47px}.v2-auth-card form .btn{justify-self:start;margin-top:8px}.v2-auth-switch{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:22px}.v2-auth-switch button{border:0;background:none;color:#5121ea;padding:0;font-weight:800}.v2-auth-card [role=alert],.v2-error{color:#9e332b!important;font-size:13px;font-weight:700}.v2-verify{max-width:700px;text-align:center;margin:80px auto;padding:36px;background:white;border:1px solid #e5d9ee;border-radius:30px}.v2-verify .v2-auth-guide{width:165px;margin:10px auto}.v2-verify h1{font-size:clamp(36px,4vw,58px);line-height:1.1}.v2-verify .btn{margin:10px 5px}.v2-world{display:flex;flex-direction:column;align-items:center;justify-content:center}.v2-world-pin{width:min(65%,300px);animation:kiri-fly 4s ease-in-out infinite}.v2-world-pin svg{width:100%}.v2-world-route{position:absolute;top:38px;left:35px;right:35px;height:12px;border-radius:30px;background:#fff9;overflow:hidden}.v2-world-route span{display:block;background:#23bd6b;height:100%;transition:width .5s}.v2-onboard-copy>select,.v2-onboard-copy>input{max-width:420px;margin:25px 0}.v2-onboard-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.v2-choice{display:grid;gap:9px;margin-top:20px}.v2-choice button{background:#f6f0ff;border:1px solid #d5c6e9;border-radius:13px;text-align:left;padding:14px;font-weight:800;color:#422764}.v2-choice button.selected{background:#e7f8ec;border-color:#23bd6b}.v2-loading{display:grid;place-items:center;min-height:100vh;background:#faf8ff;color:#5121ea;font-weight:800}.v2-auth-card [role=status]{font-size:13px;color:#127d4f}.game-layout{max-width:1200px}.lesson-stage{max-width:1180px}.trail{max-width:1050px}.journey-progress{max-width:1050px}@media(max-width:900px){.v2-header{flex-wrap:wrap}.v2-header nav{order:3;width:100%;padding-bottom:2px}.v2-header-actions span{display:none}.v2-auth,.v2-onboard{grid-template-columns:1fr}.v2-auth-art,.v2-world{min-height:280px}.v2-auth-art h1{font-size:38px;max-width:65%}.v2-auth-guide,.v2-world-pin{position:absolute;right:10px;bottom:0;width:155px;margin:0}.v2-world-route{top:20px}.v2-auth-card,.v2-onboard-copy{padding:30px}.journey-hero .hero-mascot{right:2%}}@media(max-width:560px){.main{padding:0 15px 65px}.v2-header{padding:9px 15px;gap:7px}.v2-logo img{width:128px}.v2-header .btn{font-size:11px;padding:9px}.v2-header nav{gap:0}.v2-header nav button{padding:8px;font-size:11px}.journey-hero{margin-top:18px}.v2-auth-art h1{max-width:100%;padding-right:65px;font-size:34px}.v2-auth-guide{opacity:.35}.v2-auth-art{min-height:220px;padding:26px}.v2-world{min-height:200px}.v2-world-pin{width:130px}.v2-auth,.v2-onboard{margin:16px 0}.v2-header-actions{margin-left:auto}}@media(prefers-reduced-motion:reduce){.v2-auth-guide,.v2-world-pin{animation:none}}
