/* Cosmetic layer: preserves v55 layout, order, routes and responsive cycle. */
:root{--navy:#123762;--navy-dark:#08264c;--blue:#174f87;--sky:#f1f5fa;--mint:#f0f5eb;--cream:#fff5e6;--ink:#193551;--muted:#536779;--line:#dce3e9;--red:#b51929;--red-hover:#951020}
body{background:#faf9f6;color:var(--ink);font-family:'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,system-ui,sans-serif;line-height:1.65}
.shell{max-width:1260px}.top{background:#fff;color:var(--ink);border:1px solid #e5e8eb;box-shadow:0 5px 25px #15324b06;border-radius:22px}.top::after{display:none}.top .powered-by{color:var(--muted)}
.top-title{align-items:center}.core-brand>span{display:block;font-size:clamp(20px,2.2vw,29px);font-weight:800;letter-spacing:.04em;white-space:normal}.core-brand b{font-weight:750;color:var(--red)}.core-brand small{display:block;font-size:10px!important;letter-spacing:.23em;color:var(--muted)!important;margin-top:4px}
.logo-mark{border-radius:14px;background:transparent;box-shadow:none}.logo-mark img{object-fit:contain}
.btn-ghost,.language-switch button{color:var(--navy);background:#f7f9fc;border-color:var(--line)}.language-switch button[aria-pressed=true]{background:var(--navy);color:white}.badge-red{background:#fff5f5;color:#a81929;border:1px solid #e8c2c6}.badge-yellow{background:#fff9ed;color:#6d4919;border:1px solid #e7d4b1}
.card,.learning-cycle{background:#fff;border:1px solid #e0e6ec;border-radius:20px;box-shadow:0 5px 24px #20394b06}.main{border-top:3px solid #b51929}.side{border-top:3px solid #123762}.learning-cycle::before{display:none}.cycle-kicker{font-size:20px;letter-spacing:.01em}.cycle-heading{margin-bottom:16px}.cycle-subtitle{color:var(--muted)}
.cycle-stage,.cycle-unit:nth-of-type(5) .cycle-stage{background:#fff5f4;border:1px solid #ebcdcf;color:#9e1928;box-shadow:none}.cycle-unit:nth-of-type(3) .cycle-stage,.cycle-unit:nth-of-type(7) .cycle-stage{background:#f1f6fb;border:1px solid #cbdced;color:#123762}.cycle-stage b,.cycle-stage small{color:inherit}.cycle-number,.cycle-stage.active .cycle-number{background:white;color:inherit;border:1px solid currentColor}.cycle-stage.active{border-color:#c77a17!important;box-shadow:0 0 0 2px #eab45e45}.cycle-outcome{background:transparent;color:#516779;font-size:12px}.cycle-arrow{background:transparent;color:#23456c}.cycle-return{background:#fff0dd;color:#874b0c;border:1px solid #efd6b6}
.field{border:1px solid #ced9e4;background:#fff;border-radius:11px;box-shadow:none;min-height:46px;color:var(--ink)}.field:focus{border-color:#537ca3;box-shadow:0 0 0 3px #b4c9dc40}.btn{border-radius:12px;min-height:44px}.btn.copy{background:#b51929;color:#fff;box-shadow:0 3px 8px #b5192912}.btn.primary{background:var(--navy)}.btn.secondary{background:#f6f8fb;border-color:#dce3e9;color:var(--navy)}.section{border-radius:14px}.help-disclosure{background:#f7f8fa!important;border-color:#e3e7ec!important}.help{color:#526477}.criteria{gap:10px}.criteria li{background:#f5f7fa}
.bank-tools-v50,#wordBankButton,#ideaTrainerButton{background:#eff5e9!important;color:#375b2c!important;border-color:#d5e2cd!important}.btn-goals{background:#fff4e7;color:#87501b;border-color:#ead4b9}.core-intro{font-size:18px;color:var(--navy);font-weight:650;margin:8px 0 18px}.core-capacity{font-size:13px;color:#536779}.core-upgrade-link{display:block;margin:24px 0 4px;padding:10px 0;border:0;border-top:1px solid #e5e9ec;border-radius:0;background:transparent;color:#526579;text-align:left;font:inherit;font-size:13px;cursor:pointer;min-height:44px}.core-upgrade-link:hover{color:#123762;text-decoration:underline}.core-features{padding-left:24px}.core-features li{margin:12px 0}.core-about{padding:8px 16px;background:#f1f5fa}.core-transfer label{margin-top:18px}
#mobileNav{background:#ffffffef;border-color:#dce3e9;backdrop-filter:blur(12px)}#mobileNav button{color:var(--navy)}#mobileNav button[aria-current=page]{background:#fff2f1;color:#a51525;border-color:#a51525}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #b17a20;outline-offset:3px}dialog{border:1px solid #dce3e9;border-radius:20px;box-shadow:0 20px 80px #142c4c29}dialog::backdrop{background:#19335166}
#accessGate{display:none!important}[hidden]{display:none!important}
@media(max-width:600px){.shell{padding:12px 12px 106px}.top{padding:18px 15px}.core-brand>span{font-size:21px}.top-title{gap:10px}.learning-cycle{padding:16px 10px}.cycle-stage b{font-size:14px}.cycle-stage small{font-size:11px}.cycle-kicker{font-size:17px}.card{border-radius:17px}.core-upgrade-link{font-size:12px}.main{padding:20px 16px}#coreDialog{width:calc(100vw - 24px)}.core-intro{font-size:16px}.btn,.field{font-size:15px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
html .top .brand-text>.core-brand{grid-column:1/-1}html .top .brand-text>#aboutButton{grid-column:1/-1;justify-self:start;margin-top:5px}
