:root{--plum:#40255f;--violet:#6740b5;--mint:#bde9d4;--sun:#f5c66d;--paper:#fffaf0;--ink:#2f2548}body{background:#f8f5ee;color:var(--ink)}.main{max-width:1600px;margin:auto}.v2-header{background:#fffaf2ee;backdrop-filter:blur(18px);border-bottom-color:#eadfcc}.v2-header nav button.active{background:#e9dbfa;color:#422264}.topbar{display:none}.page-title{font-family:Fraunces,Georgia,serif!important;letter-spacing:-.055em}.eyebrow{color:#664588!important;letter-spacing:.13em}.btn{transition:transform .23s cubic-bezier(.2,.8,.2,1),box-shadow .23s;cursor:pointer}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(2px) scale(.98)}.journey-hero{background:linear-gradient(135deg,#f9ebd3 0%,#e4dbfa 48%,#c6ecd9 100%);border:1px solid #e7d7dc;box-shadow:0 28px 70px #50357016;border-radius:38px;overflow:hidden;min-height:620px;position:relative}.journey-hero:after{content:"";position:absolute;inset:auto -10% -100px 20%;height:230px;background:radial-gradient(ellipse at center,#83cda5 0 35%,#68a68c 36% 55%,transparent 56%);opacity:.38;pointer-events:none}.journey-hero .hero-content{z-index:2;max-width:690px}.journey-hero h1{font-family:Fraunces,Georgia,serif;letter-spacing:-.065em;font-size:clamp(60px,7vw,116px);line-height:1}.journey-hero p{color:#3e3555;font-weight:600;max-width:550px}.journey-hero .hero-mascot{right:8%;width:clamp(230px,28vw,410px);animation:kiri-hover 4s ease-in-out infinite;z-index:3}.kiri{width:100%;height:auto;overflow:visible;filter:drop-shadow(0 16px 17px #51327130)}.kiri-wing-left{transform-origin:100px 177px;animation:wing-left 1.8s ease-in-out infinite}.kiri-wing-right{transform-origin:213px 177px;animation:wing-right 1.8s ease-in-out infinite}.v2-auth-art,.v2-world{background:radial-gradient(circle at 74% 15%,#fff9d6 0 11%,transparent 12%),linear-gradient(160deg,#e9defb,#b7e5d5 65%,#f7e5bd)}.v2-auth-guide,.v2-world-pin{filter:drop-shadow(0 18px 20px #45307734)}.v2-auth,.v2-onboard{box-shadow:0 25px 85px #50357018;border:0;border-radius:36px}.v2-onboard{min-height:680px}.v2-world:before{content:"";position:absolute;left:-10%;right:-10%;bottom:-11%;height:46%;border-radius:50% 50% 0 0;background:linear-gradient(#a2d9ac,#57a880);box-shadow:0 -15px 0 #c8dfb9 inset}.v2-world-pin{z-index:2;width:min(69%,360px)}.v2-world>small{z-index:3;background:#fff9;padding:10px 18px;border-radius:99px;color:#513474}.v2-world-route{z-index:3}.v2-onboard-copy{position:relative}.v2-onboard-copy h1{font-family:Fraunces,Georgia,serif!important;font-size:clamp(48px,4.6vw,75px);line-height:1.05}.v2-onboard-copy p{font-size:17px;color:#493f5b}.v2-choice button{min-height:60px;border-radius:19px;transition:transform .2s,background .2s}.v2-choice button:hover{transform:translateX(5px)}.trail-world{background:linear-gradient(#d9e6fa,#e8f6df 55%,#9fd3a4 55%,#e1d6b7);border-radius:42px;padding:260px clamp(16px,4vw,55px) 65px;position:relative;overflow:hidden;margin:30px 0 50px;border:1px solid #d7caba;box-shadow:0 25px 75px #34306920}.trail-sky{position:absolute;inset:0 0 auto;height:300px;pointer-events:none}.trail-sun,.transition-sun{position:absolute;right:17%;top:35px;width:105px;height:105px;border-radius:50%;background:#ffdf8d;box-shadow:0 0 0 25px #fff2bd55,0 0 0 55px #fff2bd35}.trail-cloud{position:absolute;width:180px;height:42px;background:#fff8;border-radius:60px;top:100px;filter:blur(1px)}.trail-cloud.one{left:8%}.trail-cloud.two{right:4%;top:178px;width:130px}.trail-kiri{width:175px;position:absolute;left:8%;top:85px;animation:kiri-hover 4s ease-in-out infinite}.trail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 80px;max-width:none;position:relative}.trail:before{content:"";position:absolute;top:35px;bottom:35px;left:50%;width:4px;border-left:4px dashed #fff9;transform:rotate(8deg)}.trail-step{position:relative;background:#fffaf4ee!important;border:2px solid #fff!important;border-radius:28px!important;min-height:185px;box-shadow:0 14px 30px #315b4933;transition:transform .3s}.trail-step:nth-child(even){transform:translateY(80px)}.trail-step:hover{transform:translateY(-5px)}.trail-step:nth-child(even):hover{transform:translateY(75px)}.trail-step h3{font-family:Fraunces,Georgia,serif;font-size:25px}.trail-step .step-icon{background:#f5d693;color:#553576!important}.trail-step:nth-child(2n) .step-icon{background:#bee6d6}.trail-step:nth-child(3n) .step-icon{background:#d8c8f4}.lesson-stage,.game-layout,.two-col{border-radius:30px}.lesson-art{background:linear-gradient(#dce9fc,#e2f1db 70%,#a5d3a9 70%)!important}.lesson-person .kiri{max-width:240px}.card,.game-board{box-shadow:0 12px 38px #3e2f6510}.world-transition{position:fixed;inset:0;z-index:999;background:#dce8ed;opacity:0;pointer-events:none;transition:opacity .28s ease}.world-transition.active{opacity:1}.world-transition.arrived{opacity:0;transition:opacity .4s ease}.transition-landscape{position:absolute;inset:0;background:linear-gradient(#dfecfb 0%,#e9f6df 62%,#9bd1a6 62%,#5eaa8b);overflow:hidden}.transition-path{position:absolute;bottom:-55%;left:25%;width:50%;height:85%;background:#fff2d9;transform:perspective(230px) rotateX(36deg);border-radius:50% 50% 0 0}.transition-guide{position:absolute;width:min(30vw,260px);left:-25%;top:40%;animation:fly-across .88s cubic-bezier(.2,.7,.2,1) forwards}.transition-label{position:absolute;left:0;right:0;bottom:11%;text-align:center;font-size:13px;font-weight:900;letter-spacing:.2em;color:#44336c}.transition-sun{top:9%;right:12%}@keyframes fly-across{0%{transform:translate(0,50px) scale(.6) rotate(-13deg)}52%{transform:translate(78vw,-9vh) scale(1.15) rotate(4deg)}100%{transform:translate(155vw,-16vh) scale(.85) rotate(8deg)}}@keyframes kiri-hover{50%{transform:translateY(-15px) rotate(2deg)}}@keyframes wing-left{50%{transform:rotate(-18deg)}}@keyframes wing-right{50%{transform:rotate(18deg)}}@media(max-width:800px){.journey-hero{min-height:760px}.journey-hero .hero-mascot{right:5%;bottom:10px;top:auto;width:220px}.trail{grid-template-columns:1fr;gap:18px}.trail:before{left:35px}.trail-step:nth-child(even),.trail-step:nth-child(even):hover{transform:none}.trail-world{padding-top:210px}.trail-kiri{width:140px;top:65px}.v2-header nav{scrollbar-width:none}}@media(max-width:560px){.journey-hero{min-height:700px;border-radius:26px}.journey-hero h1{font-size:55px}.journey-hero .hero-mascot{width:160px;bottom:30px}.v2-onboard-copy h1{font-size:43px}.v2-world{min-height:220px}.v2-world-pin{width:145px}.trail-world{border-radius:26px;padding:175px 14px 40px}.trail-kiri{width:100px}.trail-step{padding:18px!important;min-height:0}.trail-step h3{font-size:21px}.trail-sun{width:70px;height:70px}.transition-guide{width:180px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}.kiri-wing-left,.kiri-wing-right,.journey-hero .hero-mascot,.trail-kiri,.transition-guide{animation:none!important}.world-transition{display:none!important}}
.scene-banner{height:260px;position:relative;overflow:hidden;border-radius:32px;margin:26px 0 32px;padding:36px 48px;background:linear-gradient(115deg,#d9e8f4,#cdebdc 68%,#f7e5bc);border:1px solid #d7d9df;box-shadow:0 15px 42px #49367616}.scene-banner:before{content:"";position:absolute;width:110px;height:110px;right:26%;top:25px;background:#fff2b9;border-radius:50%;box-shadow:0 0 0 30px #fff7db66}.scene-copy{position:relative;z-index:2;max-width:560px}.scene-copy>span{font-size:12px;font-weight:900;letter-spacing:.16em;color:#55437b}.scene-copy h2{font-family:Fraunces,Georgia,serif;font-size:clamp(34px,4vw,56px);line-height:1.05;letter-spacing:-.045em;margin:14px 0;color:#30244d}.scene-copy p{font-size:14px;font-weight:700;color:#4d4160}.scene-mountains{position:absolute;bottom:-85px;right:-5%;width:65%;height:220px;background:#89c5a8;border-radius:60% 40% 0 0;box-shadow:-100px 40px 0 25px #65a994,170px 35px 0 #b3cf9b}.scene-kiri{position:absolute;z-index:3;width:210px;right:8%;top:22px;animation:kiri-hover 4s ease-in-out infinite}.scene-banner+ .eyebrow{display:block;margin-top:20px}body[data-scene="play"] .scene-banner{background:linear-gradient(115deg,#ded5f7,#f5dfbe 70%,#d3e8d6)}body[data-scene="habits"] .scene-banner{background:linear-gradient(115deg,#d8eedb,#f2eabf 65%,#b9deca)}body[data-scene="family"] .scene-banner{background:linear-gradient(115deg,#eed9e2,#f8e9c5 65%,#c7e7d7)}body[data-scene="lesson"] .scene-banner{background:linear-gradient(115deg,#d8eaf4,#eee0fa 65%,#d4ebd1)}@media(max-width:700px){.scene-banner{height:260px;padding:27px 25px}.scene-copy{max-width:78%}.scene-copy h2{font-size:36px}.scene-copy p{font-size:12px}.scene-kiri{width:110px;right:0;top:95px}.scene-mountains{width:90%}}@media(prefers-reduced-motion:reduce){.scene-kiri{animation:none}}
.v2-back{display:block;margin:0 0 34px;cursor:pointer}.v2-auth-art h1{font-family:Fraunces,Georgia,serif!important;font-weight:600;line-height:1.05}.v2-auth-card>.eyebrow{display:block;margin-bottom:13px}.v2-auth-card .v2-auth-switch{margin-top:24px}.v2-auth-art .v2-auth-guide{animation:kiri-hover 3.8s ease-in-out infinite}

.trail-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:18px 0 8px}.trail-intro>p{max-width:560px;font-size:18px;line-height:1.55}.trail-intro .stage-row{margin:0}@media(max-width:760px){.trail-intro{display:block}.trail-intro .stage-row{margin-top:20px}}
