:root{--ink:#111211;--paper:#f3f2ed;--acid:#eaffba;--tomato:#f36f5d;--blue:#cdebf4;--line:rgba(17,18,17,.2);--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{background:var(--paper)}body{margin:0;color:var(--ink);font-family:var(--sans);font-size:16px}
.app-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}
.sidebar{border-right:1px solid var(--line);padding:30px 24px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.brand-lockup{display:flex;gap:11px;align-items:center;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.brand-lockup small{opacity:.5;font-weight:500;letter-spacing:.12em}
.brand-mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--ink);border-radius:50%;font-size:10px}
.main-nav{display:grid;gap:7px;margin-top:110px}
.nav-item{border:0;background:none;text-align:left;padding:12px 0;display:flex;align-items:center;gap:14px;cursor:pointer;font-size:15px;opacity:.48}
.nav-item span{font-size:10px;letter-spacing:.1em}
.nav-item.active,.nav-item:hover{opacity:1}
.nav-item.active{font-weight:700}
.side-footer{margin-top:auto;display:grid;gap:8px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;opacity:.5}
.content{min-width:0}
.topbar{height:74px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,4vw,64px);font-size:11px;text-transform:uppercase;letter-spacing:.1em}
.profile-chip{border:0;background:none;display:flex;gap:9px;align-items:center;font-size:11px;cursor:pointer}
.avatar,.leader-avatar{width:28px;height:28px;border-radius:50%;background:var(--acid);display:grid;place-items:center;border:1px solid var(--ink);font-size:9px;letter-spacing:0}
.mobile-brand{display:none}
.view{display:none;padding:56px clamp(22px,5vw,82px) 80px;max-width:1320px;margin:auto}
.view.active{display:block}
.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.13em;margin:0 0 16px}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,7vw,110px);align-items:stretch}
.hero-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;min-height:490px}
.hero-copy h1,.page-heading h2,.section-heading h2,.quiz-question h2,.result-layout h2{font-family:var(--serif);font-size:clamp(4rem,7vw,7.8rem);line-height:.86;font-weight:500;letter-spacing:-.075em;margin:0}
.hero-copy h1 em,.page-heading h2 em,.section-heading h2 em,.quiz-question h2 em,.result-layout h2 em{font-style:italic}
.intro{font-size:clamp(1.05rem,1.5vw,1.35rem);line-height:1.3;max-width:430px;letter-spacing:-.02em;margin:0}
.primary-btn{border:0;background:var(--ink);color:var(--paper);border-radius:999px;padding:15px 19px 15px 23px;display:flex;gap:30px;align-items:center;font-weight:600;font-size:13px;cursor:pointer;transition:.2s;text-decoration:none}
.primary-btn:hover{background:#3f423d;transform:translateY(-2px)}
.primary-btn span{font-size:20px}
.hero-art{min-height:490px;position:relative;background:#c7c5bb}
.hero-art img{width:100%;height:100%;object-fit:cover;filter:grayscale(.3);mix-blend-mode:multiply}
.art-label{position:absolute;bottom:20px;left:20px;border-left:1px solid white;color:#fff;padding-left:12px;font-size:11px;line-height:1.4}
.stamp{position:absolute;right:28px;top:28px;background:var(--acid);border:1px solid var(--ink);border-radius:50%;width:86px;height:86px;display:grid;place-content:center;text-align:center;font-size:10px;line-height:1.2;transform:rotate(8deg)}
.stamp b{font-size:18px}
.stats-row{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);margin-top:54px}
.stats-row>div{padding:15px 18px;border-right:1px solid var(--line)}
.stats-row>div:last-child{border:0}
.stats-row span,.stats-row small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.1em;opacity:.6}
.stats-row strong{display:block;font-family:var(--serif);font-size:28px;font-weight:500;margin:12px 0 2px}
.section-heading{display:flex;justify-content:space-between;align-items:end;margin-top:65px}
.section-heading h2{font-size:clamp(3.5rem,5vw,5.4rem)}
.text-btn,.back-btn{border:0;background:none;cursor:pointer;font-size:13px;font-weight:600}
.featured-card{background:var(--acid);display:flex;justify-content:space-between;align-items:center;padding:28px 34px;margin-top:28px;min-height:210px}
.card-kicker,.category-top{font-size:10px;text-transform:uppercase;letter-spacing:.1em}
.featured-card h3{font-family:var(--serif);font-size:43px;line-height:.9;font-weight:500;margin:16px 0 10px}
.featured-card h3 em{font-style:italic}
.featured-card p{font-size:13px;margin:0 0 20px}
.small-btn{border:1px solid var(--ink);background:transparent;border-radius:99px;padding:11px 15px;font-size:12px;cursor:pointer}
.small-btn span{margin-left:16px;font-size:16px}
.page-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:54px}
.page-heading h2{font-size:clamp(4rem,7vw,7rem)}
.page-heading>p{max-width:260px;line-height:1.4;margin:0 0 6px}
.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.category-card{min-height:310px;padding:18px 20px;display:flex;flex-direction:column;justify-content:space-between}
.category-card.red{background:var(--tomato)}
.category-card.green{background:var(--acid)}
.category-card.blue{background:var(--blue)}
.category-card h3{font-family:var(--serif);font-size:42px;font-weight:500;line-height:.9;letter-spacing:-.05em;margin:0}
.category-card p{font-size:14px;line-height:1.4;max-width:240px}
.category-top,.category-bottom{display:flex;justify-content:space-between;align-items:center}
.pill{font-size:10px;text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--ink);border-radius:99px;padding:8px 10px}
.round-arrow{width:36px;height:36px;border:1px solid var(--ink);background:transparent;border-radius:50%;font-size:20px;cursor:pointer}
.cta-line{display:inline-block;width:1.75rem;height:1px;margin-left:.45rem;background:currentColor;vertical-align:middle;transition:width .2s ease}
button:hover .cta-line,a:hover .cta-line{width:2.35rem}
.upgrade-strip{margin-top:18px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:17px 0;display:flex;align-items:center;gap:20px}
.upgrade-strip .eyebrow{margin:0 0 4px}
.upgrade-strip strong{font-family:var(--serif);font-size:24px;font-weight:500}
.upgrade-strip p{margin:3px 0 0;font-size:12px}
.upgrade-strip .text-btn{margin-left:auto}
.quiz-shell{max-width:700px;margin:0 auto}
.quiz-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;text-transform:uppercase;letter-spacing:.1em}
.quiz-progress{height:3px;background:rgba(17,18,17,.13);margin-top:18px}
.quiz-progress span{display:block;background:var(--tomato);height:100%;width:0;transition:.3s}
.quiz-question{text-align:center;margin:90px auto 48px}
.quiz-question h2{font-size:clamp(3rem,6vw,6rem);max-width:650px;margin:auto}
.quiz-helper{font-size:14px;opacity:.6;margin-top:24px}
.answers{display:grid;gap:10px;max-width:620px;margin:auto}
.answer{border:1px solid var(--line);background:transparent;text-align:left;padding:18px 20px;display:flex;gap:20px;align-items:center;font-size:16px;cursor:pointer}
.answer span{width:27px;height:27px;display:grid;place-items:center;border:1px solid var(--ink);border-radius:50%;font-size:11px}
.answer:hover{background:var(--acid)}
.answer.correct{background:var(--acid);border-color:var(--ink)}
.answer.wrong{background:var(--tomato)}
.answer:disabled{cursor:default}
.quiz-feedback{min-height:28px;font-size:13px;margin:18px auto;max-width:620px}
.quiz-feedback.good{color:#386b33}
.quiz-feedback.bad{color:#ad3d2f}
.quiz-next{margin:18px auto 0}
.result-layout{min-height:620px;display:grid;grid-template-columns:1fr .75fr;gap:60px;align-items:center}
.result-layout h2{font-size:clamp(5rem,9vw,9rem)}
.result-layout .intro{margin:28px 0}
.result-score{display:flex;align-items:center;gap:14px;margin:25px 0}
.result-score strong{font-family:var(--serif);font-size:72px;font-weight:500}
.result-score span{font-size:11px;text-transform:uppercase;letter-spacing:.1em}
.result-ticket{background:var(--acid);min-height:340px;padding:22px;display:flex;flex-direction:column;justify-content:space-between;transform:rotate(3deg);box-shadow:12px 12px 0 rgba(17,18,17,.1)}
.result-ticket>span,.result-ticket small{font-size:10px;text-transform:uppercase;letter-spacing:.1em}
.result-ticket strong{font-family:var(--serif);font-size:48px;font-weight:500}
.result-symbol{font-size:90px;text-align:center}
.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.profile-card{background:var(--acid);padding:26px;min-height:330px;display:flex;flex-direction:column;justify-content:space-between}
.profile-head{display:flex;align-items:center;gap:12px}
.avatar.large{width:48px;height:48px;font-size:12px}
.profile-head strong,.profile-head small{display:block}
.profile-head small{font-size:11px;opacity:.6;margin-top:4px}
.big-score span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.1em}
.big-score strong{font-family:var(--serif);font-size:75px;font-weight:500}
.meter-label{display:flex;justify-content:space-between;font-size:12px;margin-bottom:7px}
.meter{height:8px;background:rgba(17,18,17,.15)}
.meter span{display:block;height:100%;background:var(--tomato)}
.tier-list{border-top:1px solid var(--ink)}
.tier-list .eyebrow{margin-top:0;padding-top:0}
.tier-row{display:grid;grid-template-columns:45px 1fr 85px;border-bottom:1px solid var(--line);padding:17px 0;font-size:13px}
.tier-row span,.tier-row small{font-size:10px;opacity:.6}
.tier-row.current{background:var(--tomato);padding-left:12px;padding-right:12px}
.leaderboard{border-top:1px solid var(--ink)}
.leader-head,.leader-row{display:grid;grid-template-columns:70px 1fr 150px 70px;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:15px 10px}
.leader-head{font-size:10px;text-transform:uppercase;letter-spacing:.1em;opacity:.6}
.leader-row{font-size:14px}
.leader-row.you{background:var(--acid)}
.leader-name{display:flex;align-items:center;gap:10px}
.leader-avatar{display:inline-grid;background:var(--paper)}
.leader-avatar.tomato{background:var(--tomato)}
.leader-avatar.green-dot{background:var(--acid)}
.leader-avatar.blue-dot{background:var(--blue)}
.leader-name em{font-size:10px;opacity:.6}
.leader-note{font-size:11px;opacity:.6;margin-top:15px}
@media(max-width:800px){.app-shell{display:block}
.sidebar{height:auto;position:static;border-right:0;border-bottom:1px solid var(--line);padding:16px 20px}
.sidebar .brand-lockup{font-size:11px}
.main-nav{display:flex;justify-content:space-between;margin:20px 0 0;gap:3px}
.nav-item{font-size:11px;display:block;padding:8px 3px;text-align:center}
.nav-item span{display:block;margin-bottom:5px}
.side-footer{display:none}
.topbar{height:52px;padding:0 20px}
.mobile-brand{display:block;font-size:10px;font-weight:700}
.topbar-note{display:none}
.profile-chip{font-size:10px}
.profile-chip span:nth-child(2),.profile-chip span:last-child{display:none}
.view{padding:36px 20px 60px}
.hero-grid{display:flex;flex-direction:column;gap:24px}
.hero-copy{min-height:420px}
.hero-copy h1{font-size:clamp(4.5rem,19vw,7rem)}
.hero-art{min-height:300px;order:-1}
.stats-row{margin-top:34px}
.stats-row>div{padding:13px 9px}
.stats-row strong{font-size:20px}
.stats-row small{font-size:8px}
.stats-row span{font-size:8px}
.section-heading{margin-top:45px}
.section-heading h2{font-size:3.5rem}
.featured-card{padding:22px;min-height:220px}
.page-heading{display:block;margin-bottom:35px}
.page-heading h2{font-size:4.7rem}
.page-heading>p{margin-top:28px}
.category-grid{grid-template-columns:1fr;gap:10px}
.category-card{min-height:230px}
.category-card h3{font-size:48px}
.upgrade-strip{gap:12px}
.upgrade-strip .text-btn{font-size:11px}
.quiz-question{margin:60px auto 35px}
.quiz-question h2{font-size:3.6rem}
.answer{font-size:14px}
.result-layout{display:flex;flex-direction:column;align-items:stretch;min-height:0;gap:40px}
.result-layout h2{font-size:5.7rem}
.result-ticket{min-height:260px}
.profile-grid{grid-template-columns:1fr}
.leader-head,.leader-row{grid-template-columns:35px 1fr 78px 45px;gap:7px;font-size:11px}
.leader-head{font-size:8px}
.leader-row>span:nth-child(3){font-size:10px}
.leader-avatar{width:24px;height:24px}
.stamp{width:70px;height:70px}
.art-label{font-size:10px}}

/* Training revision: retain the established palette, type and editorial spacing. */
button,input{font:inherit}
button:disabled{cursor:default;opacity:.65;transform:none}
button:focus-visible,a:focus-visible,input:focus-visible,[role=button]:focus-visible{outline:3px solid #265f75;outline-offset:4px}
.skip-link{position:fixed;top:-80px;left:16px;z-index:10;background:var(--ink);color:white;padding:12px;clip-path:inset(100%)}
.skip-link:focus{top:12px;clip-path:none}
[hidden]{display:none!important}
#main-content:focus{outline:none}
.profile-chip{font-size:14px;gap:16px}
#global-score{font-variant-numeric:tabular-nums}
.storage-notice{padding:12px 24px;background:var(--acid)}
.academy-footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px clamp(22px,5vw,82px);font-size:12px}
.page-heading h1,.quiz-question h1,.result-layout h1{font-family:var(--serif);font-size:clamp(3rem,6vw,6.4rem);font-weight:500;letter-spacing:-.055em;line-height:1.02;margin:0}
.page-heading h1 em,.result-layout h1 em{font-style:italic}
.hero-copy h1{line-height:1;letter-spacing:-.055em;font-size:clamp(3.4rem,6.4vw,7rem)}
.hero-copy{min-height:460px;gap:28px}
.hero-product{background:var(--acid);padding:24px;display:flex;flex-direction:column;justify-content:space-between;min-width:0}
.hero-product .product-figure{margin:auto 0}
.product-figure{margin:0;min-width:0}
.product-photo{width:100%;height:220px;object-fit:contain;display:block;background:transparent}
.product-figure figcaption{font-size:13px;line-height:1.5;padding-top:12px}
.product-figure a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}
.tier-note{font-size:12px;line-height:1.5;margin:18px 0 0}
.image-unavailable{min-height:120px;border:1px solid var(--line);padding:16px}
.category-grid{margin-top:30px}
.category-card{border:0;color:var(--ink);text-align:left;cursor:pointer}
.category-card:hover{outline:1px solid var(--ink);outline-offset:3px}
.category-card h3{font-size:clamp(1.8rem,3vw,2.7rem);overflow-wrap:anywhere}
.category-top,.category-bottom,.card-kicker,.eyebrow{font-size:12px}
.category-card p{font-size:16px}
.stats-row span,.stats-row small{font-size:12px;line-height:1.5;opacity:.8}
.track-tabs{display:flex;border-bottom:1px solid var(--ink);gap:8px;margin:28px 0}
.track-tabs button{border:0;background:transparent;padding:15px 16px;cursor:pointer;min-height:48px;font-size:14px}
.track-tabs button.selected{background:var(--ink);color:var(--paper)}
.track-summary{display:flex;justify-content:space-between;align-items:center;gap:24px}
.track-summary h2,.progress-section h2,.history-section h2,.review-section h2,.source-status h2,.source-list h2{font-family:var(--serif);font-weight:500;font-size:32px;letter-spacing:-.03em}
.track-summary p{font-size:16px}
.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.module-card{border:1px solid var(--line);padding:24px;display:flex;flex-direction:column;gap:16px}
.module-meta,.module-bottom{display:flex;justify-content:space-between;gap:14px;align-items:center;font-size:12px}
.module-card h2{font-family:var(--serif);font-weight:500;font-size:30px;letter-spacing:-.025em;line-height:1.2;margin:0}
.module-card p{margin:0;font-size:16px;line-height:1.5}
.module-bottom{margin-top:auto}
.small-btn,.text-btn,.back-btn{font-size:14px;min-height:44px}
.small-btn{white-space:nowrap}
.primary-btn{font-size:14px;min-height:48px}
.quiz-shell{max-width:850px}
.quiz-top{gap:16px;flex-wrap:wrap;font-size:12px}
.quiz-question{margin:45px auto 36px}
.quiz-question h1{font-size:clamp(2.2rem,4.2vw,4.2rem);line-height:1.12;letter-spacing:-.035em}
.quiz-question .eyebrow{line-height:1.6}
.native-progress,progress{width:100%;height:6px;border:0;appearance:none;background:rgba(17,18,17,.13);display:block;margin-top:18px}
progress::-webkit-progress-bar{background:rgba(17,18,17,.13)}
progress::-webkit-progress-value{background:var(--tomato)}
progress::-moz-progress-bar{background:var(--tomato)}
.answers{max-width:none}
.answer{font-size:16px;color:var(--ink);line-height:1.4;min-height:68px}
.answer span{flex-shrink:0}
.answer:disabled{opacity:1}
.answer.correct,.map-option.correct{background:var(--acid);border-color:var(--ink)}
.answer.wrong{background:#f9d8d2}
.photo-answers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.photo-answers .answer{display:flex;flex-direction:column;align-items:flex-start;padding:12px;gap:12px}
.photo-answers .product-photo{height:160px}
.photo-answers small{font-size:13px}
.text-answer{max-width:620px;margin:auto}
.text-answer label{display:block;font-size:16px;margin-bottom:10px}
.text-answer>div{display:flex;gap:12px}
.text-answer input{min-width:0;width:100%;background:transparent;border:1px solid var(--ink);padding:14px;color:var(--ink);border-radius:0;font-size:18px}
.text-answer #input-error{font-size:14px}
.feedback-box{margin-top:24px;border-top:1px solid var(--ink);padding:20px;background:#ebeddf}
.feedback-box.bad{background:#f9e5e0}
.feedback-box p{font-size:16px;line-height:1.5;margin:10px 0}
.source-line{font-size:13px;line-height:1.5}
.source-line a{color:inherit;text-underline-offset:3px}
.map-wrap{position:relative;background:#e1eaf0;border:1px solid var(--line);overflow:hidden}
.japan-map{width:100%;display:block}
.coast{fill:var(--paper);stroke:#6d807e;stroke-width:.7}
.map-location rect{fill:var(--paper);stroke:var(--ink);stroke-width:1.5;cursor:pointer}
.map-location text{font:16px var(--sans);fill:var(--ink);pointer-events:none}
.map-location .map-pin{fill:var(--tomato);stroke:var(--ink);stroke-width:1}
.map-leader{stroke:var(--ink);fill:none;stroke-width:1}
.map-location:hover rect,.map-location:focus rect{fill:var(--acid)}
.map-location.correct rect{fill:var(--acid);stroke-width:3}
.map-location.wrong rect{fill:var(--tomato)}
.map-inset{position:absolute;right:8px;top:8px;width:95px;height:115px;background:#f3f2edf0;border:1px solid var(--line);text-align:center;pointer-events:none;font-size:10px}
.map-inset svg{width:80px;height:90px;display:block;margin:auto}
.map-inset path{fill:#8a9996}
.map-options{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}
.map-option{border:1px solid var(--line);background:transparent;color:var(--ink);min-height:70px;padding:10px;font-size:16px;cursor:pointer}
.map-option small{display:block;font-size:12px;line-height:1.4;margin-top:4px}
.map-option:disabled{opacity:1}
.map-note{font-size:12px;line-height:1.5;color:#4e5653}
.map-note a{color:inherit}
.result-layout{grid-template-columns:1fr .85fr;gap:40px;min-height:520px}
.result-ticket{transform:none;box-shadow:none;gap:18px}
.result-ticket strong{font-size:36px}
.result-ticket small,.result-ticket>span{font-size:12px}
.result-ticket .product-photo{height:180px}
.button-row{display:flex;gap:20px;flex-wrap:wrap}
.tier-unlocked{animation:unlock 650ms ease-out}
@keyframes unlock{from{outline:8px solid var(--tomato)}to{outline:0 solid transparent}}
.review-section{margin-top:50px}
.review-section details{border-bottom:1px solid var(--line);padding:16px 0}
.review-section summary{cursor:pointer;font-size:16px;line-height:1.5}
.profile-card{gap:20px}
.profile-grid{gap:28px}
.profile-card .product-photo{height:180px}
.tier-row{grid-template-columns:84px 1fr 60px;gap:12px;align-items:center;padding:14px 0}
.tier-thumb{width:84px;height:54px;object-fit:contain;background:transparent}
.tier-row small{display:block;margin-top:5px;font-size:12px;opacity:1}
.tier-row>span{font-size:12px;opacity:1}
.tier-row b{font-size:16px}
.meter-label{font-size:14px;gap:12px}
.legacy-note{font-size:14px;line-height:1.5}
.progress-section,.history-section{margin-top:48px}
.progress-row{display:grid;grid-template-columns:1fr 50px 100px;gap:16px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}
.progress-row strong{font-weight:500}
.progress-row small{display:block;font-size:13px;margin-top:7px}
.history-list{list-style:none;padding:0}
.history-list li{display:grid;grid-template-columns:1fr 60px 100px;gap:16px;border-bottom:1px solid var(--line);padding:14px 0}
.history-list time{font-size:13px}
.source-status p,.source-list p{line-height:1.65;max-width:760px}
.source-list a{color:inherit;overflow-wrap:anywhere}
.leader-row,.leader-head{font-size:14px}
@media(max-width:1050px){.app-shell{grid-template-columns:200px 1fr}.view{padding-left:28px;padding-right:28px}.hero-grid{gap:24px}.hero-copy{min-height:400px}.hero-copy h1{font-size:clamp(3.1rem,6vw,5rem)}.hero-product{padding:18px}.product-photo{height:180px}.result-layout{gap:24px}}
@media(max-width:800px){
 .app-shell{display:block}.view{padding:30px 20px 48px}.hero-grid{display:flex;flex-direction:column}.hero-copy{min-height:360px;gap:24px}.hero-copy h1{font-size:clamp(3.5rem,15vw,6rem)}.hero-product{min-height:280px}.product-photo{height:190px}
 .profile-chip span:nth-child(2),.profile-chip span:last-child{display:inline-grid}.profile-chip span:last-child{display:none}.profile-chip{font-size:14px}
 .main-nav .nav-item{font-size:13px;min-height:50px}.stats-row{grid-template-columns:1fr 1fr}.stats-row>div:last-child{grid-column:1/-1;border-top:1px solid var(--line)}.stats-row span,.stats-row small{font-size:12px}.stats-row strong{font-size:24px}
 .category-grid,.module-grid{grid-template-columns:1fr}.category-card{min-height:220px}.category-card h3{font-size:40px}
 .page-heading h1{font-size:clamp(3rem,12vw,4.8rem)}.page-heading>p{max-width:none}
 .track-tabs{gap:0}.track-tabs button{flex:1;padding:12px 6px;font-size:12px}.track-summary{display:block}.track-summary h2{margin-bottom:8px}
 .module-card{padding:20px}.module-card h2{font-size:28px}
 .quiz-question{margin:30px auto}.quiz-question h1{font-size:clamp(2rem,8vw,3.5rem)}.quiz-top .back-btn{font-size:13px}
 .photo-answers{grid-template-columns:1fr}.photo-answers .answer{display:grid;grid-template-columns:30px 1fr}.photo-answers .product-photo{grid-column:2;grid-row:1/3;height:160px}.photo-answers small{grid-column:1/-1}
 .map-options{grid-template-columns:1fr 1fr}.map-inset{width:65px;height:85px}.map-inset svg{width:50px;height:60px}
 .map-wrap{margin-left:-8px;margin-right:-8px}.text-answer>div{flex-wrap:wrap}.text-answer input{flex-basis:100%}
 .result-layout{display:flex;flex-direction:column;align-items:stretch}.result-layout h1{font-size:4.5rem}
 .profile-grid{grid-template-columns:1fr}.progress-row{grid-template-columns:1fr 36px 76px;gap:8px;font-size:14px}.progress-row button{padding:8px}.history-list li{grid-template-columns:1fr 40px;font-size:14px}.history-list time{grid-column:1/-1}
 .leader-head,.leader-row{grid-template-columns:35px 1fr 90px 45px;font-size:12px}.leader-row>span:nth-child(3){font-size:12px}
 .academy-footer{padding:20px;align-items:flex-start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Quiet, editorial rewards and a shift-friendly weekly rhythm. */
.welcome-checklist{border:1px solid var(--ink);padding:24px;margin-bottom:36px;display:grid;grid-template-columns:1fr auto;gap:12px;background:var(--acid)}
.welcome-checklist h2,.weekly-card h2,.badge-section h2,.milestone-panel h2{font:500 30px/1.15 var(--serif);letter-spacing:-.025em;margin:0 0 12px}
.welcome-checklist progress,.welcome-checklist ol,.welcome-checklist .button-row{grid-column:1/-1}
.welcome-checklist ol{display:flex;gap:20px;list-style:none;padding:0;margin:12px 0;flex-wrap:wrap}
.welcome-checklist li button{border:0;background:none;cursor:pointer;padding:8px 0;min-height:44px;font-size:14px;color:var(--ink)}
.learning-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:32px 0}
.learning-progress button{border:1px solid var(--line);padding:18px;background:transparent;color:var(--ink);text-align:left;cursor:pointer}
.learning-progress span,.learning-progress strong{display:block;font-size:14px;line-height:1.6}
.learning-progress strong{font-weight:500}
.weekly-card{margin:28px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:26px 0;display:grid;grid-template-columns:1fr auto;gap:18px}
.weekly-card p{max-width:540px;line-height:1.5;margin:8px 0}
.weekly-card progress,.weekly-card>small{grid-column:1/-1}
.weekly-card small{font-size:13px}
.week-days{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.week-days span{width:35px;height:44px;display:grid;place-items:center;border:1px solid var(--line);font-size:12px}
.week-days .done{background:var(--acid);border-color:var(--ink)}
.nudge{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--acid);padding:24px;margin:30px 0}
.nudge p{margin:8px 0 0;line-height:1.5}
.badge-section{margin:40px 0}
.badge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px}
.badge-card{padding:22px;border:1px dashed var(--line)}
.badge-card.earned{border:1px solid var(--ink);background:var(--acid)}
.badge-stamp{display:inline-block;border:1px solid var(--ink);border-radius:50%;padding:15px 10px;font-size:11px;letter-spacing:.08em}
.badge-card h3{font:500 24px/1.2 var(--serif);margin:20px 0 10px}
.badge-card p{font-size:15px;line-height:1.5}
.badge-card small{font-size:13px}
.milestone-panel{padding:26px;background:var(--acid);margin-bottom:30px;border:1px solid var(--ink);animation:milestone-in .45s ease-out}
@keyframes milestone-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.tour-shell{max-width:680px;margin:auto;display:flex;flex-direction:column;align-items:stretch;gap:24px}
.tour-shell h1{font:500 clamp(3rem,7vw,5rem)/1.04 var(--serif);letter-spacing:-.04em;margin:0}
.tour-shell p{line-height:1.6;margin:0}
.tour-shell .primary-btn{align-self:flex-start}
.tour-shell .product-photo{height:250px}
.tour-shell .answers{width:100%}
.tier-row small{line-height:1.6}
@media(max-width:1000px){.weekly-card{grid-template-columns:1fr}.badge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.learning-progress,.badge-grid{grid-template-columns:1fr}.welcome-checklist{padding:20px}.welcome-checklist ol{display:grid;gap:0}.welcome-checklist h2,.weekly-card h2{font-size:26px}.nudge{align-items:flex-start;flex-direction:column}.week-days{gap:5px}.week-days span{width:34px}.tour-shell .product-photo{height:210px}}
@media(prefers-reduced-motion:reduce){.milestone-panel{animation:none}}

/* Break-time learning, in the existing paper / tomato / acid palette. */
.daily-knife{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(210px,1fr);gap:40px;align-items:center;padding-bottom:36px;border-bottom:1px solid var(--ink)}
.daily-copy h1,.micro-result h1{font-family:var(--serif);font-size:clamp(2.6rem,4.9vw,5.2rem);font-weight:500;letter-spacing:-.055em;line-height:1.04;margin:0 0 28px}
.daily-copy h2{font-size:20px;margin:0 0 10px;font-weight:600}
.daily-copy>p:not(.eyebrow){line-height:1.6;max-width:500px;margin:0 0 12px}
.daily-copy .button-row{margin-top:24px;flex-wrap:wrap;gap:12px}
.daily-status,.practice-note,.hint-note{font-size:14px;line-height:1.5}
.daily-photo{background:var(--acid);margin:0;padding:20px;min-width:0}
.daily-photo .product-photo{height:300px}
.daily-photo figcaption{font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin-top:16px}
.practice-launcher{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0 36px}
.practice-launcher button{border:1px solid var(--line);background:none;text-align:left;padding:22px;display:flex;flex-direction:column;gap:12px;color:var(--ink);cursor:pointer;min-width:0}
.practice-launcher button:first-child{background:var(--acid)}
.practice-launcher button:nth-child(3){background:#f9d9d2}
.practice-launcher button:nth-child(4){background:var(--blue)}
.practice-launcher button:hover:not(:disabled){border-color:var(--ink)}
.practice-launcher button:disabled{opacity:.6;cursor:default}
.practice-launcher span{font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.practice-launcher strong{font-family:var(--serif);font-size:26px;font-weight:500;letter-spacing:-.03em}
.practice-launcher small{font-size:14px;line-height:1.5}
.truth-answers{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.truth-answers .answer{justify-content:center;font-family:var(--serif);font-size:30px;min-height:105px;padding:24px}
.clue-card{padding:24px;background:var(--blue);margin-bottom:24px}
.clue-card ol{padding-left:22px;margin:0;line-height:1.6}
.clue-card li+li{margin-top:16px}
.clue-card .hint-note{margin-bottom:0}
.quiz-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:24px}
.quiz-actions>p{font-size:14px;line-height:1.5}
.practice-note{margin-top:28px;padding-top:18px;border-top:1px solid var(--line)}
.micro-result{max-width:850px;margin:auto}
.result-tally{font-family:var(--serif);font-size:48px;margin:24px 0}
.micro-result>p{line-height:1.6}
.feedback-box:focus{outline:2px solid var(--ink);outline-offset:4px}
.fact-pause{background:var(--blue);padding:18px 22px;margin-top:18px;line-height:1.6}
.fact-pause p{margin:8px 0}
.source-line{overflow-wrap:anywhere}
.answer{min-height:48px;touch-action:manipulation}
.text-answer input{font-size:16px;min-width:0}
.quiz-shell progress{width:100%}
@media(max-width:800px){
 .daily-knife{grid-template-columns:1fr;gap:24px}.daily-copy h1{font-size:clamp(2.7rem,10vw,4.3rem)}
 .daily-photo .product-photo{height:180px}.daily-photo{padding:14px}.daily-copy .button-row{align-items:flex-start}.daily-status{display:block}
 .practice-launcher{gap:10px}.practice-launcher button{padding:16px}.practice-launcher strong{font-size:23px}
 .practice-launcher span{font-size:12px;letter-spacing:0}.practice-launcher small{font-size:14px}
 .quiz-actions{align-items:stretch}.quiz-actions .primary-btn{width:100%;justify-content:space-between}
 .truth-answers .answer{font-size:26px;min-height:84px}.clue-card{padding:20px}
 .feedback-box .product-photo{height:210px}.micro-result h1{font-size:clamp(2.6rem,11vw,4rem)}
 .main-nav{overflow-x:auto}.main-nav .nav-item{flex-shrink:0}
}
@media(max-width:360px){.practice-launcher{grid-template-columns:1fr}}

/* Existing cards and progress controls, shared by the achievement views. */
.badge-card progress{width:100%;margin:14px 0;display:block}
.badge-card .small-btn{margin-top:16px;white-space:normal}
.badge-section .track-tabs{flex-wrap:wrap}
.badge-section .track-tabs button{flex:0 1 auto}
.badge-card h3{overflow-wrap:anywhere}
.profile-card>p,.tier-list>p{font-size:14px;line-height:1.6}
.profile-card li{font-size:14px;line-height:1.7}
.tier-row>span{font-size:13px}.tier-row>span small{display:block}
.leader-head>span:last-child{overflow-wrap:anywhere}
@media(max-width:600px){[data-knowledge] .badge-grid{grid-template-columns:1fr}.badge-section .track-tabs button{font-size:14px;padding:12px}}
