/* Ehliyo Dünyası — a responsive city with functional direction signs. */
.city-home{--ink:#25103f;--muted:#695878;--brand:#552bf7;background:#fff;color:var(--ink)}
.city-home [hidden]{display:none!important}
.city-home h1,.city-home h2,.city-home h3{font-weight:750}
.city-home .button{border-radius:100px;min-height:52px;font-size:16px;font-weight:700}
.city-home .button-primary{color:#fff;background:linear-gradient(115deg,#6938ff,#5022ee);box-shadow:0 5px 12px #552bf712}
.city-home .button-primary:hover{background:#4820d8}
.city-home .button-gold{color:#321b43;background:linear-gradient(110deg,#ffda67,#ffbd32)}
.city-home .button-gold:hover{background:#ffc33c}
.city-home .header{max-width:1320px;margin:auto;padding:19px 34px;gap:24px;min-height:86px;position:relative;z-index:20;flex-wrap:nowrap}
.city-home .brand{font-size:32px;font-weight:750;gap:7px;letter-spacing:-1.4px}
.city-home .brand-logo{width:47px;height:47px;border-radius:50%}
.city-home .header nav{display:flex;gap:25px}
.city-home .header nav a{font-size:15px;font-weight:600;color:#352047;white-space:nowrap}
.city-home .header nav .nav-premium{padding:9px 18px;min-height:42px;border-radius:100px;background:linear-gradient(110deg,#ffe27e,#ffc541);border:1px solid #ffc54c;color:#342044}
.city-home .header-actions{display:flex;align-items:center;gap:22px}
.city-home .header-login{border:0;background:transparent;color:#322044;padding:10px 0;font-size:15px;font-weight:650;min-height:44px;white-space:nowrap}
.city-home .header-login:hover{color:var(--brand)}
.city-home .header-action{min-height:45px;font-size:15px;padding:10px 22px;white-space:nowrap}
.city-home .header .mobile-course-link{display:none}
.world-hero{position:relative;isolation:isolate;width:calc(100% - 32px);max-width:1480px;margin:0 auto;padding-top:24px;text-align:center}
.world-copy{position:relative;z-index:5;max-width:890px;margin:auto;padding:0 20px;pointer-events:none}
.world-copy a,.world-copy button{pointer-events:auto}
.world-copy h1{font-size:clamp(52px,5.45vw,78px);line-height:1.02;letter-spacing:-.055em;color:#200d36}
.world-copy h1 span{color:#552bf7}
.world-copy>p{font-size:18px;line-height:1.55;margin:18px auto 0;max-width:750px;color:#6b5c78}
.world-copy .world-start{min-width:250px;min-height:57px;margin-top:20px;padding:13px 29px;font-size:18px;gap:28px}
.world-premium-link{display:flex;width:max-content;align-items:center;gap:13px;margin:3px auto 0;min-height:42px;color:#552acb;font-size:15px;font-weight:700;text-underline-offset:5px}
.world-premium-link:hover{text-decoration:underline}
.world-premium-link>span{font-size:26px;line-height:1}
.world-airship{position:absolute;top:134px;left:1%;width:clamp(180px,18vw,260px);aspect-ratio:3/2;z-index:4;transform:rotate(-9deg);pointer-events:none}
.world-airship img{width:100%;height:100%;object-fit:contain}
.world-airship>span{position:absolute;left:33%;top:33%;width:48%;font-size:clamp(13px,1.15vw,16px);font-weight:750;line-height:1.2;color:#46249c}
.world-handnote{position:absolute;right:3%;top:125px;color:#6632d6;font-family:'Comic Sans MS','Segoe Print',cursive;font-style:italic;font-size:22px;line-height:1.3;transform:rotate(-9deg);z-index:4}
.world-handnote:after{content:'';display:block;width:76px;border-bottom:3px solid #6d3bda;margin:9px 0 0 auto;border-radius:50%;transform:rotate(-8deg)}
.world-scene{position:relative;isolation:isolate;container-type:inline-size;display:grid;grid-template-columns:minmax(0,1fr) 220px minmax(320px,380px) 178px;gap:13px;align-items:end;padding:88px 20px 53px;min-height:635px;margin:-83px auto 0}
.city-scenery{position:absolute;z-index:-1;width:100%;aspect-ratio:1832/858;left:0;bottom:0;overflow:hidden;pointer-events:none;border-radius:0 0 55px 55px;mask-image:linear-gradient(to bottom,transparent,#000 15%,#000 96%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 15%,#000 96%,transparent)}
.city-scenery-art{position:absolute;left:0;bottom:0;width:100%;aspect-ratio:1832/858}
.city-landscape{display:block;width:100%;max-width:none;height:auto}
.city-crossing-sign{position:absolute;left:21.6%;bottom:28%;width:4.6%;aspect-ratio:1/1.9;transform:skewY(-7deg);transform-origin:50% 100%}
.crossing-sign-face{position:relative;display:block;z-index:2;width:100%;filter:drop-shadow(1px 1px 0 #746d84) drop-shadow(2px 2px 0 #b2a8bf) drop-shadow(3px 4px 2px #33234326)}
.crossing-sign-face img{display:block;width:100%;height:auto;clip-path:polygon(50% 0,100% 100%,0 100%)}
.crossing-sign-post{position:absolute;left:46%;top:29%;bottom:3%;width:8%;border-radius:3px;background:linear-gradient(90deg,#716b81,#dcd9e3 35%,#aaa2b8 68%,#726b84);box-shadow:2px 0 2px #30254224}
.crossing-sign-foot{position:absolute;left:33%;bottom:0;width:34%;height:5%;border-radius:50%;background:linear-gradient(#d4cedf,#9387a4);box-shadow:2px 3px 3px #35254a30}
.city-building-brand{position:absolute;left:12.4%;bottom:24.5cqw;display:flex;align-items:center;justify-content:center;gap:4px;width:9.6%;color:#26103e;font-size:clamp(19px,1.6vw,24px);font-weight:750;letter-spacing:-1px;transform:skewY(-10deg);z-index:2}
.city-building-brand img{width:30px;height:30px;flex-shrink:0}
.city-building-brand:hover{filter:brightness(1.2)}
.city-guide{position:relative;grid-column:2;width:220px;align-self:end;z-index:4;margin:0 -2px 13px;pointer-events:none}
.city-guide>img{width:100%;height:auto;filter:drop-shadow(0 9px 5px #33136825)}
.city-guide-bubble{width:165px;margin:0 auto 3px;padding:12px 13px;border-radius:18px 18px 5px 18px;background:#fffffff5;border:1px solid #e7d9fc;box-shadow:0 5px 20px #3318540a;transform:rotate(-4deg)}
.city-guide-bubble p{font-size:14px;font-weight:600;line-height:1.4;color:#57348b}
.city-home .experience-stage.city-kiosk{grid-column:3;display:block;width:100%;max-width:none;margin:0;padding:0;text-align:left;min-width:0;position:relative;z-index:3;scroll-margin-top:25px;align-self:end}
.city-home .demo-phone{width:100%;max-width:none;transform:none;border:2px solid #d6c8e9;border-radius:29px;padding:9px;background:linear-gradient(135deg,#fff,#f5f0fa);box-shadow:0 22px 22px #2e154d22;margin:0;overflow:visible}
.city-home .demo-phone-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px 13px}
.city-home .demo-phone .phone-brand{font-size:21px;gap:5px;color:#2d1345}
.city-home .phone-brand img{width:25px;height:25px}
.city-home .demo-badge{font-size:12px;color:#fff;background:#6b3de5;border:0;border-radius:100px;padding:6px 10px;white-space:nowrap}
.city-home .demo-screen{height:auto;min-height:0;max-height:none;overflow:visible;overscroll-behavior:auto;padding:16px 14px 15px;border-radius:18px;background:#fff;box-shadow:inset 0 1px 5px #5c357711}
.city-home .demo-panel{min-height:0;outline-offset:6px}
.city-home .question-meta{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#8c77a0;margin:0 0 12px;line-height:1.4}
.city-home #question-options{padding:0;margin:0;border:0;min-width:0}
.city-home #question-prompt{display:block;font-size:16px;font-weight:700;line-height:1.42;letter-spacing:-.015em;padding:0;margin:0 0 14px;color:#301546;max-width:100%}
.city-home #answer-options{display:grid;gap:8px;margin:0}
.city-home .answer-option{display:grid;grid-template-columns:25px minmax(0,1fr);align-items:center;gap:9px;padding:10px;min-height:47px;border:1px solid #e4daf2;border-radius:11px;background:#faf8fe;cursor:pointer;position:relative}
.city-home .answer-option:hover{border-color:#b79bde;background:#f4eeff}
.city-home .answer-option:has(input:checked){border-color:#7748e2;background:#f0e7ff}
.city-home .answer-letter{display:flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:50%;background:#eee7fd;color:#623b9b;font-size:13px;font-weight:700}
.city-home .answer-text{font-size:14px;line-height:1.4;color:#533960}
.city-home .answer-option.correct,.city-home .answer-option.correct:has(input:checked){background:#eff9ef;border-color:#519866}
.city-home .answer-option.incorrect:has(input:checked){background:#fff1ef;border-color:#c0746a}
.city-home .option-result{grid-column:2;font-size:12px;margin:0}
.city-home #check-answer{display:flex;margin:15px 0 0;min-height:46px;font-size:14px;padding:11px;border-radius:12px;width:100%}
.city-home #check-answer:disabled{opacity:1;background:#ede6f8;color:#7a6293;box-shadow:none;cursor:not-allowed}
.city-home .demo-small{font-size:12px;line-height:1.5;margin:12px 0 0;text-align:center;color:#8a7798}
.city-home .demo-phone-bottom{display:block;padding:10px 0 2px;text-align:center}
.city-home .demo-phone-bottom>span{display:inline;background:none;width:auto;height:auto;color:#8b76a0;font-size:12px;letter-spacing:.015em}
.city-home .answer-feedback{padding:0;margin:0;background:transparent;border:0;border-radius:0}
.city-home #answer-result{display:block;font-size:24px;color:#442365;line-height:1.2;letter-spacing:-.03em;margin:3px 0 18px}
.answer-canonical{display:flex;gap:10px;align-items:center;background:#eff8f0;border:1px solid #c4dfc9;border-radius:12px;padding:12px;color:#366540;font-size:15px;line-height:1.4}
#answer-correct-letter{display:flex;width:26px;height:26px;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;color:#fff;background:#509162;font-size:14px;font-weight:700}
.city-home #answer-explanation{font-size:16px;line-height:1.65;color:#644a77;margin:16px 0}
.city-home .answer-feedback .text-button,.city-home .retry-answer{font-size:14px;white-space:normal;min-height:44px}
.city-home #review-options{display:flex;margin-bottom:8px}
.city-home #quiz-to-progress{display:flex;justify-content:center;background:#f0e7ff;border-radius:10px;width:100%;padding:11px}
.city-home .answer-guidance{background:#fff5d6;color:#765622;border-radius:10px;font-size:14px;line-height:1.5;padding:12px;margin-top:14px}
.city-home #see-answer{margin-top:13px;min-height:44px}
.city-home .demo-panel h2{font-size:29px;color:#32194a;line-height:1.1}
.city-home .demo-intro,.city-home .lesson-note p{font-size:15px;line-height:1.6;color:#69537b}
.city-home .demo-intro{margin-bottom:16px}
.city-home .lesson-cover{display:none}
.city-home .lesson-note{margin-top:15px;background:#f5efff;border-radius:14px}
.city-home .demo-eyebrow{font-size:12px;color:#8a639f;letter-spacing:.1em}
.city-home .demo-checklist{gap:14px}
.city-home .demo-checklist strong{font-size:15px;color:#593775}
.city-home .demo-checklist small{font-size:13px;color:#806692}
.city-home .demo-progress-card{margin:17px 0;background:#f0e8fc;color:#62409e}
.city-home .demo-panel .demo-wide{font-size:14px}
.city-home .demo-premium-link{margin-top:14px}
.city-home .demo-load-status{font-size:14px}
.city-signpost{grid-column:4;position:relative;align-self:end;width:100%;aspect-ratio:2/3;z-index:4;margin-bottom:12px}
.signpost-art{width:100%;height:100%;object-fit:contain;pointer-events:none}
.city-sign-buttons{position:absolute;inset:0}
.city-sign-buttons>button{position:absolute;left:9%;width:82%;height:18%;border:0;background:transparent;color:white;display:flex;align-items:center;justify-content:center;padding:3px 14px 3px 3px;border-radius:11px;font-size:14px;font-weight:650;line-height:1.2;text-shadow:0 1px 2px #2d087e55;transform:translateY(-50%);transition:color .2s,background .2s}
.city-sign-buttons>button:nth-child(1){top:20%}
.city-sign-buttons>button:nth-child(2){top:44%}
.city-sign-buttons>button:nth-child(3){top:67%}
.city-sign-buttons>button>span{display:none}
.city-sign-buttons>button:hover{background:#ffffff17;color:#ffe8a3}
.city-sign-buttons>button[aria-pressed=true]{color:#ffe486;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
.city-sign-buttons>button:focus-visible{outline:3px solid #ffc83e;outline-offset:2px}
.city-plaza-note{position:absolute;bottom:15px;left:53%;width:39%;font-size:12px;font-weight:700;letter-spacing:.17em;color:#72518e;transform:rotate(1deg);pointer-events:none}
.world-demo-caption{font-size:13px;color:#8a739c;margin:9px 20px 0}
.world-demo-caption span{margin-left:6px;color:#9b88aa}
.world-plans{max-width:1220px;margin:27px auto 0;padding:0 32px;display:grid;grid-template-columns:1fr 1.12fr;gap:22px;align-items:stretch}
.world-plan{position:relative;min-width:0;display:flex;flex-direction:column;padding:32px 30px 23px;border-radius:28px}
.world-plan-free{background:linear-gradient(135deg,#f6f1ff,#eee7ff)}
.world-plan-premium{background:linear-gradient(130deg,#fff9e9,#ffefc6);scroll-margin-top:24px;padding-top:36px}
.world-plan-heading{display:flex;align-items:center;gap:18px}
.plan-icon{flex-shrink:0;width:65px;height:65px;border-radius:21px;background:#e3d6ff;color:#7544ec;display:flex;align-items:center;justify-content:center;font-size:42px;line-height:1}
.plan-icon svg{width:37px;height:37px;fill:#7544ec;stroke:#7544ec;stroke-width:1}
.plan-icon-gold{background:linear-gradient(130deg,#ffde74,#ffbd34);color:#ab7106;font-size:47px;text-shadow:0 2px 0 #ffffff44}
.world-plan h2{font-size:28px;letter-spacing:-.045em;line-height:1.2;color:#28113e}
.world-plan-heading p{font-size:16px;line-height:1.5;margin-top:7px;color:#76617e}
.world-plan-heading .world-price{font-size:34px;letter-spacing:-.035em;color:#2d163a;font-weight:750;line-height:1.2;margin-top:5px}
.world-price span{font-size:20px;font-weight:500;letter-spacing:-.015em}
.world-plan-benefits{display:grid;gap:13px;list-style:none;padding:0;margin:25px 0;font-size:16px;line-height:1.45;color:#685379}
.world-plan-benefits li{display:flex;align-items:flex-start;gap:10px}
.world-plan-benefits li:before{content:'✓';flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;margin-top:1px;border-radius:50%;color:white;background:#9764f5;font-size:13px;font-weight:700}
.world-plan-free .world-plan-benefits{flex:1;align-content:center;gap:19px;min-height:158px}
.world-plan-premium .world-plan-benefits{gap:10px;margin:16px 0 20px;font-size:14px}
.world-plan-premium .world-plan-benefits li:before{color:#9a690d;background:#ffe2a0;width:17px;height:17px;font-size:12px}
.world-plan .button{width:100%;margin-top:auto;justify-content:center;min-height:53px}
.world-plan-note{padding-top:11px;text-align:center;font-size:12px;line-height:1.5;color:#876b93}
a.world-plan-note{text-decoration:underline;text-underline-offset:4px;min-height:32px}
.world-premium-tag{position:absolute;top:12px;right:21px;border-radius:100px;background:#ffd765;color:#78500c;font-size:12px;font-weight:700;padding:4px 10px}
.premium-plan-body{display:grid;grid-template-columns:minmax(0,1fr) 145px;gap:13px;align-items:center;padding-top:18px}
.world-premium-description{font-size:19px;line-height:1.3;letter-spacing:-.02em;color:#513149;margin:0}
.premium-card-stack{position:relative;display:block;min-height:195px;transform:rotate(6deg);margin:0 9px 15px 0;isolation:isolate;transition:transform .2s}
.premium-card-stack:hover{transform:rotate(2deg) translateY(-3px)}
.premium-stack-back,.premium-stack-middle{position:absolute;inset:14px -12px -5px 8px;border-radius:17px;background:#9969ed;z-index:-2;transform:rotate(7deg);box-shadow:0 5px 9px #84652c15}
.premium-stack-middle{inset:6px -6px 0 3px;background:#e8dcff;z-index:-1;transform:rotate(3deg)}
.premium-stack-front{display:block;background:#fff;border:1px solid #f1e5d6;border-radius:16px;padding:7px 7px 10px;box-shadow:0 9px 13px #8658201c;overflow:hidden}
.premium-stack-front>img{width:100%;height:75px;object-fit:cover;object-position:left bottom;border-radius:10px}
.stack-label,.stack-detail,.stack-action{display:block;padding:0 3px}
.stack-label{font-size:14px;line-height:1.25;font-weight:700;color:#422c52;margin-top:9px}
.stack-detail{font-size:12px;line-height:1.4;color:#8a7797;margin-top:5px}
.stack-action{font-size:12px;font-weight:650;line-height:1.3;color:#7142c5;margin-top:13px;text-decoration:underline;text-underline-offset:3px}
.stack-action b{float:right;text-decoration:none}
.city-home .subject-strip{max-width:1156px;padding:25px 0;gap:15px;margin:8px auto 0;color:#6b517d;border-bottom:0}
.city-home .subject-strip>span:first-child{font-size:12px;color:#967aa5}
.city-home .subject-strip>p{color:#735887;font-size:14px}
.city-home .candidates{max-width:1220px;padding:45px 32px 23px}
.city-home .section-top{align-items:center;gap:25px;margin-bottom:22px}
.city-home .section-top h2{font-size:35px;line-height:1.15;color:#301442}
.city-home .soft-text{color:#764cbd}
.city-home .section-top>p{max-width:260px;font-size:16px;color:#947da3;line-height:1.5}
.city-home .eyebrow{font-size:12px;letter-spacing:.12em;margin-bottom:13px}
.city-home .practice-method{position:relative;border:0;gap:20px;overflow:visible}
.city-home .practice-method:before{content:'';position:absolute;left:6%;right:6%;top:29px;border-top:2px dashed #d7c6ef;z-index:0}
.city-home .practice-method>li{position:relative;padding:7px 12px 12px;border:0;background:transparent}
.city-home .practice-method>li:nth-child(2){background:transparent}
.city-home .method-number{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:46px;height:46px;margin:0 0 17px;border:6px solid #fff;border-radius:50%;background:#eaddff;font-size:14px;color:#7541c0;font-weight:700;box-sizing:content-box}
.city-home .practice-method h3{font-size:22px;font-weight:700;margin:0 0 8px;color:#4c2861}
.city-home .practice-method p{font-size:16px;line-height:1.55;color:#8b719a;max-width:290px;min-height:50px}
.city-home .practice-method a{font-size:14px;margin-top:10px;min-height:40px}
.city-home .start-section{max-width:1220px;padding:15px 32px 40px}
.city-home .getting-started.start-choice{margin:0;padding:24px;background:#f6f0ff;border:0;border-radius:24px;gap:20px}
.city-home .start-choice h2{font-size:24px;font-weight:700;color:#4b2a61}
.city-home .start-choice-note{font-size:15px}
.city-home .entry-tabs{margin-top:15px}
.city-home .entry-tabs>button{font-size:14px;color:#715481;padding:9px 13px}
.city-home .entry-tabs>button[aria-selected=true]{color:#fff;background:#7242dc}
.city-home .start-choice .guide-mascot{width:78px;height:78px}
.city-home .start-choice .start-inline{margin-top:16px;gap:12px 16px}
.city-home .start-inline li{font-size:14px}
.city-home .school-section{max-width:1156px;margin:0 auto;border-radius:26px;background:linear-gradient(135deg,#f9f5ff,#f1e9ff);padding:37px;gap:35px}
.city-home .school-copy h2{font-size:35px;line-height:1.15}
.city-home .school-copy>p:not(.eyebrow){font-size:16px;line-height:1.6;margin-top:16px}
.city-home .school-demo-tabs{margin-top:21px;gap:7px}
.city-home .school-demo-tabs>button{padding:9px}
.city-home .school-demo-tabs strong{font-size:15px;color:#5a3373}
.city-home .school-demo-tabs small{font-size:13px;color:#9376a1}
.city-home .school-contact-caption{font-size:13px}
.city-home .school-panel{padding:25px;min-height:365px;border-radius:20px}
.city-home .school-panel-heading h3{font-size:30px;font-weight:700}
.city-home .candidate-list>div{padding:10px 0}
.city-home .candidate-list strong{font-size:14px}
.city-home .school-visual-top{font-size:12px}
.city-home .school-footnote{font-size:12px}
.city-home .faq-section{max-width:1220px;padding:48px 32px;gap:45px}
.city-home .faq-heading h2{font-size:36px}
.city-home .faq-list summary{font-size:16px;font-weight:600;padding-top:19px;padding-bottom:19px;color:#745384}
.city-home .faq-list details p{font-size:16px}
.city-home .premium-closing{max-width:1156px;margin:0 auto;padding:27px 34px;gap:30px;border-radius:26px;background:linear-gradient(110deg,#402078,#6133d5)}
.city-home .premium-closing .closing-mascot{width:135px;height:auto}
.city-home .premium-closing h2{font-size:36px;font-weight:700;margin-bottom:18px}
.city-home .footer{max-width:1220px;padding:29px 32px;gap:20px;flex-wrap:wrap}
.city-home .footer .brand{font-size:28px}
.city-home .footer .brand-logo{width:39px;height:39px}
.city-home .footer-course{font-size:14px;color:#714e99;margin-left:auto;min-height:44px;display:inline-flex;align-items:center}
.city-home .footer>span{margin-left:0;font-size:12px}
.city-home dialog{border-radius:25px;max-height:90dvh;overflow:auto}
.city-home .start-route-cards h3{color:#4d286c}
.city-home .start-route-cards p,.city-home .start-route-cards ol{color:#725582}
.city-home .route-label{font-size:12px;color:#775196}
.city-home .login-dialog h2{margin-top:10px;font-weight:700}
@media(max-width:1180px){
 .city-home .header{padding:17px 25px;gap:18px}.city-home .header nav{gap:16px}.city-home .header-actions{gap:15px}.city-home .brand{font-size:29px}.city-home .brand-logo{width:44px;height:44px}.city-home .header nav a{font-size:14px}.city-home .header-action{padding:10px 16px;font-size:14px}
 .world-scene{grid-template-columns:minmax(0,1fr) 175px minmax(310px,355px) 163px;gap:9px;padding-left:12px;padding-right:12px}.city-guide{width:175px}.city-guide-bubble{width:150px;padding:10px}.city-guide-bubble p{font-size:13px}.city-sign-buttons>button{font-size:13px;padding-right:9px}.world-handnote{right:1%;font-size:19px;top:135px}.world-airship{left:0%;width:195px;top:150px}
 .world-plan{padding-left:24px;padding-right:24px}.world-plan h2{font-size:25px}.world-plan-heading{gap:14px}.plan-icon{width:57px;height:57px;border-radius:18px}.premium-plan-body{grid-template-columns:minmax(0,1fr) 126px;gap:9px}.world-plan-benefits{font-size:15px}.world-plan-heading .world-price{font-size:30px}.world-price span{font-size:18px}.city-home .subject-strip{margin-left:32px;margin-right:32px}.city-home .school-section,.city-home .premium-closing{margin-left:32px;margin-right:32px}
}
@media(max-width:980px){
 .city-home .header{padding:16px 24px}.city-home .header-actions{margin-left:auto}.city-home .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:42px;height:42px;order:3;flex-shrink:0;border:1px solid #e5dcf1;background:#fff;border-radius:12px;padding:10px}.city-home .menu-toggle span{display:block;height:2px;width:20px;background:#52336d}
 .city-home .header nav{display:none;position:absolute;top:calc(100% - 3px);left:20px;right:20px;width:auto;padding:17px;background:#fff;border:1px solid #e6dcf5;box-shadow:0 12px 28px #33204e1a;border-radius:18px}.city-home .header nav[data-open=true]{display:flex;flex-direction:column;align-items:stretch;gap:7px}.city-home .header nav a{min-height:44px;padding:10px 13px;font-size:16px}.city-home .header .mobile-course-link{display:block}.city-home .header nav .nav-premium{width:max-content}
 .world-hero{width:100%;padding-top:23px;overflow:hidden}.world-copy h1{font-size:clamp(44px,7.2vw,65px)}.world-copy>p{max-width:650px;font-size:17px}.world-handnote{display:none}.world-airship{width:160px;top:195px;left:-30px;opacity:.95}.world-airship>span{font-size:12px}
 .world-scene{display:grid;grid-template-columns:1fr;gap:0;margin-top:0;padding:225px 30px 0;min-height:0}.city-scenery{top:-45px;bottom:auto;width:115%;left:-7.5%;height:330px;aspect-ratio:auto;border-radius:0;mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 94%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 94%,transparent)}.city-scenery-art{left:50%;width:max(100%,calc(330px * 1832 / 858));transform:translateX(-50%)}
 .city-building-brand{display:none}.city-guide{position:absolute;width:145px;left:calc(50% - 65px);top:58px;margin:0}.city-guide-bubble{display:none}.city-home .experience-stage.city-kiosk{grid-column:1;grid-row:2;max-width:550px;margin:0 auto;align-self:start}.city-signpost{grid-column:1;grid-row:1;width:100%;max-width:550px;margin:0 auto 12px;aspect-ratio:auto;background:#f0e8fd;border:1px solid #ddccf3;border-radius:17px;padding:5px;z-index:5}.signpost-art{display:none}.city-sign-buttons{position:static;display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px}.city-sign-buttons>button{position:static;transform:none;width:auto;height:auto;min-height:51px;padding:9px 7px;color:#765194;text-shadow:none;font-size:14px;line-height:1.3;border-radius:12px}.city-sign-buttons>button[aria-pressed=true]{background:#6130e9;color:#fff;text-decoration:none;box-shadow:0 2px 5px #552bf726}.city-sign-buttons>button:hover{background:#e5d8f7;color:#522782}.city-sign-buttons>button[aria-pressed=true]:hover{background:#5320d4;color:#fff}.city-plaza-note{display:none}
 .city-home .demo-phone{box-shadow:0 10px 24px #34204e12}.city-home .demo-screen{padding:20px}.city-home #question-prompt{font-size:18px;line-height:1.45}.city-home .answer-text{font-size:16px;line-height:1.5}.city-home .answer-option{min-height:53px;padding:11px 13px}.city-home #check-answer{font-size:16px;min-height:50px}.city-home .demo-panel .demo-wide{font-size:16px}.world-demo-caption{margin-top:19px}.world-demo-caption span{display:block;margin:2px 0 0}
 .world-plans{max-width:720px;padding:0 25px;gap:18px;grid-template-columns:1fr}.world-plan{padding:35px 23px 21px}.world-plan h2{font-size:24px}.world-plan-heading{gap:12px;align-items:flex-start}.plan-icon{width:49px;height:49px;font-size:35px;border-radius:16px}.plan-icon svg{width:30px;height:30px}.world-plan-heading .world-price{font-size:28px}.world-price span{font-size:17px}.premium-plan-body{grid-template-columns:minmax(0,1fr) 160px;gap:25px}.premium-card-stack{display:block}.world-premium-description{font-size:18px}.world-plan-free .world-plan-benefits{min-height:170px}.city-home .subject-strip{flex-wrap:wrap;justify-content:center;gap:13px;padding:24px 0}.city-home .subject-strip>span:first-child{width:100%;text-align:center}.city-home .section-top{display:block}.city-home .section-top>p{margin-top:12px;max-width:none}.city-home .school-section{padding:30px;gap:25px}.city-home .school-copy h2{font-size:31px}
}
@media(max-width:620px){
 .city-home .header{min-height:75px;padding:14px 17px;gap:14px}.city-home .brand{font-size:27px;gap:6px}.city-home .brand-logo{width:41px;height:41px}.city-home .header-action{display:none}.city-home .header-login{font-size:14px}.city-home .header-actions{gap:0}
 .world-hero{padding-top:24px}.world-copy{padding:0 19px}.world-copy h1{font-size:clamp(35px,8.8vw,53px);line-height:1.04;letter-spacing:-.052em}.world-copy>p{font-size:16px;line-height:1.6;margin-top:17px;max-width:420px}.desktop-break{display:none}.world-copy .world-start{font-size:17px;min-width:230px;min-height:54px;margin-top:18px}.world-premium-link{font-size:14px;margin-top:4px}.world-airship{width:120px;top:calc(100% - 715px);display:none}
 .world-scene{padding:178px 16px 0}.city-scenery{height:230px;top:-12px}.city-scenery-art{left:28%;width:max(100%,calc(230px * 1832 / 858));transform:translateX(-28%)}.city-guide{width:135px;top:25px;left:calc(65% - 60px)}.city-signpost{border-radius:15px;margin-bottom:10px}.city-sign-buttons>button{font-size:14px;min-height:54px;padding:7px 4px}
 .city-home .demo-phone{padding:7px;border-radius:24px}.city-home .demo-phone-top{padding:9px 11px 12px}.city-home .demo-phone .phone-brand{font-size:23px}.city-home .demo-screen{padding:17px 12px 14px}.city-home #question-prompt{font-size:17px;line-height:1.5}.city-home .answer-option{padding:11px 10px;gap:9px}.city-home .answer-text{font-size:16px}.city-home .demo-phone-bottom{padding-top:10px}.world-demo-caption{font-size:12px;margin-left:18px;margin-right:18px}
 .world-plans{grid-template-columns:1fr;padding:0 18px;gap:18px;margin-top:26px}.world-plan{padding:29px 25px 21px;border-radius:25px}.world-plan-heading{gap:18px;align-items:center}.world-plan h2{font-size:27px}.plan-icon{width:59px;height:59px;border-radius:18px;font-size:42px}.plan-icon svg{width:33px;height:33px}.world-plan-heading .world-price{font-size:31px}.world-price span{font-size:19px}.world-plan-free .world-plan-benefits{min-height:0;gap:15px;margin:24px 0}.world-plan-benefits{font-size:16px}.world-plan-premium{padding-top:37px}.premium-plan-body{grid-template-columns:minmax(0,1fr) 122px;gap:12px;padding-top:22px}.premium-card-stack{display:block;margin-right:6px;min-height:190px}.world-premium-description{font-size:19px}.world-plan-premium .world-plan-benefits{font-size:14px;gap:10px}.world-premium-tag{top:11px;right:19px}
 .city-home .subject-strip{margin-left:22px;margin-right:22px;gap:9px}.city-home .subject-strip>p{font-size:13px}.city-home .candidates{padding:32px 24px 14px}.city-home .section-top h2{font-size:30px}.city-home .section-top{margin-bottom:21px}.city-home .section-top>p{font-size:15px}.city-home .practice-method{display:block}.city-home .practice-method:before{left:23px;right:auto;top:20px;bottom:40px;border-top:0;border-left:2px dashed #d7c6ef}.city-home .practice-method>li{padding:0 0 24px 67px;border:0}.city-home .method-number{position:absolute;left:0;top:0;width:34px;height:34px;border-width:6px;margin:0}.city-home .practice-method h3{font-size:21px;padding-top:8px}.city-home .practice-method p{min-height:0;font-size:15px}.city-home .practice-method a{margin-top:4px}
 .city-home .start-section{padding:0 18px 29px}.city-home .getting-started.start-choice{padding:23px 21px;gap:13px}.city-home .start-choice h2{font-size:23px}.city-home .start-choice .guide-mascot{width:64px;height:64px}.city-home .entry-tabs{margin-top:16px}.city-home .entry-tabs>button{font-size:13px;padding:10px 7px}.city-home .school-section{margin:0 18px;padding:27px 22px;gap:23px;border-radius:25px}.city-home .school-copy h2{font-size:30px}.city-home .school-panel{padding:22px 17px;min-height:0}.city-home .school-demo-tabs strong{font-size:14px}.city-home .school-demo-tabs small{font-size:12px}.city-home .school-panel-heading h3{font-size:28px}.city-home .school-panel-action{font-size:14px}
 .city-home .faq-section{padding:35px 24px;gap:23px}.city-home .faq-heading h2{font-size:32px}.city-home .faq-list summary{font-size:16px;padding-top:19px;padding-bottom:19px}.city-home .premium-closing{margin:0 18px;padding:24px 22px 29px;border-radius:25px}.city-home .premium-closing .closing-mascot{width:115px}.city-home .premium-closing h2{font-size:33px}.city-home .footer{padding:26px 24px;gap:10px 20px;justify-content:space-between}.city-home .footer>p{width:100%;order:3;font-size:14px}.city-home .footer-course{margin-left:0;font-size:14px}.city-home .footer>span{order:4}
}
@media(max-width:380px){.world-plan{padding-left:21px;padding-right:21px}.world-plan h2{font-size:24px}.world-plan-heading{gap:13px}.premium-plan-body{grid-template-columns:minmax(0,1fr) 106px;gap:8px}.premium-card-stack{margin-right:5px}.stack-label{font-size:13px}.stack-detail,.stack-action{font-size:12px}.world-premium-description{font-size:18px}.world-plan-premium .world-plan-benefits{font-size:14px}.world-plan-heading .world-price{font-size:28px}.world-price span{font-size:17px}.city-sign-buttons>button{font-size:13px}}
@media(prefers-reduced-motion:reduce){.city-home .mascot-react{animation:none}.city-home .button:hover,.premium-card-stack:hover{transform:none}.city-sign-buttons>button,.premium-card-stack{transition:none}}

/* Learning demo: authored feedback, then a separate reinforcement activity. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.world-demo-caption{text-align:center}
.world-airship>span{left:30%;top:27%;width:59%;height:35%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:clamp(12px,.92vw,15px);line-height:1.15;letter-spacing:0;text-align:center}
.world-airship>span>span{display:block;white-space:nowrap}
/* The complete airship (including its live text) glides forward as one object. */
@media(prefers-reduced-motion:no-preference){
 .world-airship{--airship-travel:clamp(14px,calc(14vw - 137px),76px);animation:airship-forward 13s linear infinite}
}
@keyframes airship-forward{
  0%{transform:translate3d(0,0,0) rotate(-9deg);opacity:1}
  78%{transform:translate3d(var(--airship-travel),-5px,0) rotate(-9deg);opacity:1}
  88%{transform:translate3d(calc(var(--airship-travel) + 5px),-6px,0) rotate(-9deg);opacity:0}
  89%{transform:translate3d(0,0,0) rotate(-9deg);opacity:0}
  100%{transform:translate3d(0,0,0) rotate(-9deg);opacity:1}
}
.city-sign-buttons>button{font-size:14px;white-space:nowrap;padding-right:10px}
.sign-color-filter{position:absolute;pointer-events:none;overflow:hidden}
.signpost-art{filter:url(#car-orange-sign-color)}
@media(min-width:981px){
 .city-sign-buttons>button{color:#3b2054;text-shadow:none}
 .city-sign-buttons>button:hover{background:#fff0e247;color:#2b1344}
 .city-sign-buttons>button[aria-pressed=true]{color:#3b146e;text-decoration-color:#552bf7;text-decoration-thickness:3px}
 .city-sign-buttons>button:focus-visible{outline-color:#552bf7}
}
@media(max-width:980px){
 .city-signpost{background:#fff0e2;border-color:#eeb78a}
 .city-sign-buttons>button{color:#57334f}
 .city-sign-buttons>button:hover{background:#ffddbe;color:#3b2054}
 .city-sign-buttons>button[aria-pressed=true]{background:linear-gradient(120deg,#ffb577,#fa9a50);color:#3b2054;box-shadow:0 2px 5px #b46a361f}
 .city-sign-buttons>button[aria-pressed=true]:hover{background:#f4974f;color:#2b1344}
 .city-sign-buttons>button:focus-visible{outline-color:#552bf7}
}
.city-home #answer-options{grid-template-columns:minmax(0,1fr)}
.city-home .answer-text{font-size:1rem;line-height:1.35}
.city-home .demo-panel .demo-wide{font-size:1rem}
.city-home .demo-badge{font-size:14px}
.city-home .demo-intro,.city-home .lesson-note p{font-size:1rem;line-height:1.45}
.city-home #answer-result{font-size:25px;margin:6px 0 12px}
.choice-insight{padding:14px;background:#f2ebff;border-radius:14px;color:#472469;margin-bottom:13px}
.choice-insight>span{font-size:14px;font-weight:700;display:block;margin-bottom:7px}
.choice-insight>p{font-size:1rem;line-height:1.5;margin:0}
.canonical-note{margin:10px 0 14px;border-bottom:1px solid #e8def3}
.canonical-note>summary{font-size:14px;min-height:44px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;color:#67438d;padding:8px 0;font-weight:600}
.canonical-note>summary:after{content:'+';font-size:20px}
.canonical-note[open]>summary:after{content:'−'}
.city-home #answer-explanation{font-size:1rem;line-height:1.5;margin:0 0 14px}
.city-home .answer-canonical{font-size:1rem;line-height:1.4;padding:10px}
.city-home #answer-to-practice{min-height:44px;margin:5px 0 6px;border-radius:12px}
.city-home #review-options{margin-bottom:0;min-height:40px;display:inline-flex}
.city-home .retry-answer{display:block;min-height:40px;margin:0}
.city-home #panel-practice h2{font-size:29px;margin:9px 0 11px}
#practice-form fieldset{border:0;margin:0;padding:0;min-width:0}
.practice-options{display:grid;gap:9px;margin:18px 0 13px}
.practice-option{position:relative;display:flex;align-items:center;gap:10px;min-height:58px;padding:12px;border:1px solid #dacbeb;border-radius:12px;color:#533365;background:#faf7ff;font-size:1rem;line-height:1.4;cursor:pointer}
.practice-option input{appearance:auto;accent-color:#6432ed;flex:0 0 18px;width:18px;height:18px;margin:0}
.practice-option:has(input:checked){border-color:#7540e4;background:#eee3ff}
.practice-option:has(input:focus-visible){outline:3px solid #a789f8;outline-offset:2px}
.practice-option:has(input:disabled){cursor:default}
#practice-check{min-height:44px;border-radius:12px}
#practice-check:disabled{opacity:1;background:#ede6f8;color:#785f90;cursor:not-allowed;box-shadow:none}
.practice-feedback{margin:15px 0;padding:14px;border:1px solid #eedba9;background:#fff6de;border-radius:13px;color:#6e4b1e}
.practice-feedback.positive{border-color:#c6ddc8;background:#eff8f0;color:#315e3a}
.practice-feedback strong{font-size:1rem}
.practice-feedback p{font-size:1rem;line-height:1.5;margin-top:7px}
.city-home #quiz-to-progress{background:#552bf7;color:#fff;min-height:44px;font-size:1rem}
.city-home .demo-checklist small{line-height:1.35}
.city-home .world-plan-free .world-plan-benefits{min-height:0;align-content:start;gap:16px;margin:27px 0}
.world-plan-premium .world-plan-benefits{font-size:1rem}
.premium-plan-body{padding-top:18px;padding-bottom:4px;gap:16px}
.world-premium-description{font-size:20px;line-height:1.4}
.city-home .practice-method p{min-height:0;color:#705781}
.learning-support{max-width:1156px;margin:28px auto 40px;padding:35px;display:grid;grid-template-columns:1fr 1.1fr;gap:28px 45px;border-radius:28px;background:linear-gradient(125deg,#f3edff,#fbf9ff);border:1px solid #e5d9f7}
.development-label{display:inline-flex;padding:6px 11px;background:#fff;border:1px solid #dacbe9;border-radius:100px;font-size:14px;color:#715080;margin-bottom:22px}
.support-heading .eyebrow{color:#775293}
.support-heading h2{font-size:34px;line-height:1.17;letter-spacing:-.04em;color:#2f1544;margin:0 0 17px}
.support-heading h2 span{color:#6b35d5}
.support-heading>p:last-child{font-size:1rem;line-height:1.65;color:#705880}
.support-features{display:grid;gap:20px}
.support-features article{display:flex;gap:13px;align-items:flex-start}
.support-features article>span{display:flex;align-items:center;justify-content:center;flex:0 0 34px;height:34px;background:#e7dcff;border-radius:11px;font-size:14px;color:#7045a8;font-weight:700}
.support-features h3{font-size:19px;line-height:1.4;color:#462559;margin:3px 0 7px}
.support-features p{font-size:1rem;line-height:1.55;color:#786087}
.support-scope{grid-column:1/-1;border-top:1px solid #e1d5ef;padding-top:18px;color:#7c648b;font-size:14px;line-height:1.55}

/* Preserve the portrait kiosk and readable options at every desktop height. */
@media(min-width:981px){
 .city-home{--fold-header-height:clamp(62px,8svh,76px)}
 .city-home .header{height:var(--fold-header-height);min-height:var(--fold-header-height);padding-top:7px;padding-bottom:7px}
 .city-home .header .brand-logo{width:42px;height:42px}
 .city-home .header .brand{font-size:30px}
 .world-hero{height:auto;min-height:calc(100svh - var(--fold-header-height) - 6px);padding-top:6px;display:flex;flex-direction:column}
 .world-copy{width:100%;max-width:940px;margin:0 auto;padding:0 24px}
 .world-copy h1{font-size:clamp(39px,5.5svh,60px);line-height:1.03;letter-spacing:-.045em}
 .world-copy>p{margin:8px auto 0;font-size:1rem;line-height:1.4;max-width:780px}
 .world-actions{display:flex;justify-content:center;align-items:center;gap:22px;margin-top:10px;pointer-events:auto}
 .world-copy .world-start{margin:0;min-width:205px;min-height:44px;padding:9px 22px;font-size:1rem;gap:20px}
 .world-premium-link{margin:0;min-height:44px;font-size:14px}
 .world-scene{flex:1 0 auto;width:100%;height:auto;min-height:515px;margin:0;padding:7px 16px 25px;grid-template-columns:minmax(0,1fr) clamp(215px,17vw,240px) clamp(365px,26vw,385px) clamp(165px,13vw,185px);gap:10px}
 .world-airship{width:clamp(175px,15vw,235px);top:85px;left:1%}
 .city-guide{width:100%;max-width:240px;margin:0 0 3px}
 .city-guide-bubble{width:175px;max-width:100%;padding:10px 12px;margin-bottom:5px}
 .city-guide-bubble p{font-size:14px;line-height:1.35}
 .city-signpost{margin-bottom:3px}
 .city-home .demo-phone{padding:7px;border-radius:29px;box-shadow:0 15px 18px #2e154d20}
 .city-home .demo-phone-top{padding:5px 9px 9px;min-height:39px}
 .city-home .demo-phone .phone-brand{font-size:20px}
 .city-home .demo-screen{padding:10px 11px 9px;border-radius:19px}
 .city-home .question-meta{padding:0;margin:0 0 9px;line-height:1.4}
 .city-home #question-prompt{font-size:1rem;line-height:1.35;margin-bottom:10px}
 .city-home #answer-options{gap:6px}
 .city-home .answer-option{min-height:44px;padding:7px 9px;gap:8px;grid-template-columns:24px minmax(0,1fr)}
 .city-home .answer-letter{width:24px;height:24px}
 .city-home #check-answer{min-height:44px;margin-top:10px;padding:9px;font-size:1rem}
 .city-home .demo-small{margin-top:7px;line-height:1.4}
 .world-demo-caption{margin-top:7px}
}
@media(min-width:981px) and (max-height:740px){
 .world-copy h1{font-size:clamp(28px,4.5svh,34px);line-height:1.1;white-space:nowrap}
 .world-copy h1>br{display:none}
 .world-copy h1>span{margin-left:.2em}
 .world-scene{min-height:510px}
 .world-airship{top:61px;width:175px}
}
@media(max-width:1180px){.learning-support{margin-left:32px;margin-right:32px;padding:29px;gap:25px}}
@media(max-width:980px){
 .learning-support{grid-template-columns:1fr;margin:26px 25px 35px;padding:27px;gap:23px}
 .support-heading h2{font-size:32px}
 .support-features{gap:20px}
 .world-copy h1{font-size:clamp(38px,6.7vw,61px)}
 .city-sign-buttons>button{white-space:normal;padding:8px 5px;font-size:14px}
 .city-home .demo-badge{font-size:14px}
 .world-airship>span{font-size:12px}
}
@media(max-width:620px){
 .world-copy h1{font-size:clamp(32px,7.8vw,46px);line-height:1.06}
 .world-copy>p{font-size:1rem;line-height:1.5}
 .city-home .demo-screen{padding:16px 12px}
 .city-home .demo-panel h2{font-size:27px}
 .learning-support{margin:22px 18px 30px;padding:24px 21px;border-radius:25px}
 .support-heading h2{font-size:29px}
 .support-features article{gap:11px}
 .support-features h3{font-size:18px}
 .world-plan-premium .world-plan-benefits{font-size:1rem}
 .premium-plan-body{grid-template-columns:minmax(0,1fr) 112px;gap:12px}
 .world-premium-description{font-size:19px}
}

/* One opening greeting, using only the original mascot pixels. */
.city-guide>.guide-character{width:100%;filter:drop-shadow(0 9px 5px #33136825)}
.guide-greeting{position:relative;width:100%}
.guide-greeting>img{display:block;width:100%;height:auto}
.guide-greeting>.guide-hand{display:none;position:absolute;inset:0;transform-origin:82% 43%;clip-path:polygon(79% 25%,100% 25%,100% 47%,86% 47%,78.5% 40%)}
.guide-greeting.is-greeting{animation:guide-opening-hop 3.2s ease-in-out 1}
.guide-greeting.is-greeting>.guide-body{clip-path:polygon(0 0,100% 0,100% 25%,79% 25%,78.5% 40%,86% 47%,100% 47%,100% 100%,0 100%)}
.guide-greeting.is-greeting>.guide-hand{display:block;animation:guide-opening-wave 3.2s ease-in-out 1}
@keyframes guide-opening-hop{0%,22%,100%{transform:translateY(0)}10%{transform:translateY(-16px)}17%{transform:translateY(1px)}}
@keyframes guide-opening-wave{0%,22%,86%,100%{transform:rotate(0)}32%,52%,72%{transform:rotate(-16deg)}42%,62%,82%{transform:rotate(13deg)}}
@media(prefers-reduced-motion:reduce){.guide-greeting.is-greeting{animation:none}.guide-greeting.is-greeting>.guide-body{clip-path:none}.guide-greeting.is-greeting>.guide-hand{display:none;animation:none}}
