/* Demoted titles (one h1 per page): an h2.h1 starts from the browser h1 defaults, then takes every h1 rule below. */
:where(h2.h1){font-size:2em;margin-block:.67em}
:root{--ink:#352a24;--linen:#ede2cf;--wood:#795441;--clay:#8f3c2b;--sage:#66765f;--gold:#9b712f;--paper:#f8f1e3;--line:rgba(53,42,36,.22);font:16px/1.5 ui-sans-serif,system-ui,sans-serif;color:var(--ink);background:var(--linen);color-scheme:light}
*{box-sizing:border-box}
body{margin:0;min-width:300px;min-height:100vh;background:radial-gradient(circle at 82% 8%,rgba(201,157,85,.22),transparent 25rem),linear-gradient(180deg,#f5ecdc,var(--linen))}
button,a,input{font:inherit;color:inherit}
button{cursor:pointer}
.skip{position:fixed;top:-5rem;left:1rem;background:#000;color:#fff;padding:.7rem;z-index:30}
.skip:focus{top:1rem}
:focus-visible{outline:3px solid var(--clay);outline-offset:3px}
header{height:80px;padding:10px clamp(14px,4vw,60px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(237,226,207,.9);backdrop-filter:blur(14px);position:sticky;top:0;z-index:10}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none}
.brand>span{width:46px;height:46px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font:italic 700 1.2rem ui-serif,Georgia;background:var(--paper)}
.brand b{font:700 1.1rem ui-serif,Georgia}
.brand small{display:block;font:700 0.75rem ui-sans-serif,system-ui;text-transform:uppercase;letter-spacing:.14em;color:#75665d}
nav{display:flex;gap:8px}
nav button{min-height:44px;border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:0 14px}
main{max-width:1500px;margin:auto}
.home{padding:clamp(50px,8vw,120px) clamp(18px,6vw,90px)}
.eyebrow{text-transform:uppercase;letter-spacing:.2em;color:var(--clay);font-size:0.75rem;font-weight:800}
.home h1{font:500 clamp(3.2rem,8vw,7.8rem)/.9 ui-serif,Georgia;letter-spacing:-.05em;margin:24px 0}
.home h1 em{color:var(--clay)}
.home>p:not(.eyebrow){max-width:59ch;font-size:1.08rem}
.modes{display:grid;grid-template-columns:1.2fr 1fr;gap:12px;max-width:920px;margin:42px 0 23px}
.modes button{min-height:185px;border:1px solid var(--line);border-radius:30px 8px 30px 8px;background:var(--paper);padding:22px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;box-shadow:0 18px 45px rgba(53,42,36,.1)}
.modes button:first-child{background:var(--wood);color:#fff}
.modes span{margin-bottom:auto;font-size:0.75rem;text-transform:uppercase}
.modes b{font:600 1.55rem ui-serif,Georgia}
.modes small{margin-top:6px;opacity:1}
.modes button:first-child small{color:#f8f1e3}
.resume-panel{max-width:920px;border:2px solid var(--sage);background:var(--paper);padding:14px 16px;display:flex;justify-content:space-between;align-items:center;gap:18px;border-radius:18px 5px 18px 5px;margin:0 0 22px}.resume-panel[hidden]{display:none}.resume-panel>div:first-child{display:grid}.resume-panel span{font-size:0.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--clay);font-weight:800}.resume-panel strong{font:600 1.2rem ui-serif,Georgia}.resume-panel small{color:#65584f}.resume-panel>div:last-child{display:flex;gap:6px}.resume-panel button{min-height:44px;border:1px solid var(--wood);background:transparent;padding:0 12px}.resume-panel button:first-child{background:var(--wood);color:#fff}
.key{display:flex;flex-wrap:wrap;gap:8px}
.key span{border:1px solid var(--line);padding:6px 9px;font-size:0.75rem}
.shelf-dashboard{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:10px;max-width:1180px;margin:28px 0 8px}.shelf-dashboard>div{min-width:0;border:1px solid var(--line);border-radius:18px 5px 18px 5px;background:var(--paper);padding:15px}.shelf-dashboard>div>span{display:block;color:var(--clay);text-transform:uppercase;letter-spacing:.12em;font-size:0.75rem;font-weight:800}.shelf-dashboard>div>strong{display:block;margin:4px 0 12px;font:600 .95rem ui-serif,Georgia}.mastery-shelf{display:grid;grid-template-columns:repeat(9,1fr);gap:4px}.mastery-shelf button,.daily-archive button{min-width:0;min-height:45px;border:1px solid var(--line);background:var(--linen);padding:3px;display:grid;place-items:center}.mastery-shelf span,.daily-archive span{font-size:0.75rem}.mastery-shelf b,.daily-archive b{color:var(--clay)}.daily-archive{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.daily-archive .complete{background:var(--wood);color:#fff}.daily-archive .complete b{color:#fff}.achievement-shelf{display:flex;flex-wrap:wrap;gap:4px}.achievement-shelf span{border:1px solid var(--line);padding:5px 7px;font-size:0.75rem;color:#75665d}.achievement-shelf .earned{background:var(--sage);color:#fff;border-color:var(--sage)}
.reset-note{display:block;margin:-8px 0 10px;color:#65584f;font-size:0.75rem}
.shelf-dashboard>.journal-card{grid-column:1/-1}.journal-shelf{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.journal-shelf li{border:1px solid var(--line);background:var(--linen);padding:7px;display:grid;grid-template-columns:auto 1fr auto;gap:3px 8px;align-items:baseline}.journal-shelf span,.journal-shelf b,.journal-shelf small{font-size:0.75rem}.journal-shelf strong{font:600 0.75rem ui-serif,Georgia}.journal-shelf small{grid-column:1/-1;color:#65584f}
.bench-head{display:grid;grid-template-columns:160px 1fr auto;gap:20px;align-items:end;padding:25px clamp(13px,3vw,46px) 18px}
.bench-head>button{border:0;background:none;text-align:left}
.bench-head>div>span{font-size:0.75rem;text-transform:uppercase;color:var(--clay)}
.bench-head h1,.bench-head h2.h1{font:500 clamp(2.2rem,4vw,4.3rem)/.95 ui-serif,Georgia;margin:4px 0}
.bench-head p{margin:5px 0;color:#72645c}
.bench-head .object-story{max-width:72ch;font:italic .78rem/1.45 ui-serif,Georgia;color:#5d514a}
.condition{border-left:2px solid var(--clay);padding-left:18px}
.condition span,.condition b{display:block}
.condition span{font-size:0.75rem;text-transform:uppercase}
.condition b{font-size:1.8rem}
.workspace{display:grid;grid-template-columns:260px minmax(430px,1fr) 250px;gap:14px;padding:0 clamp(13px,3vw,46px) 60px}
.tools,.journal{background:var(--paper);border:1px solid var(--line);padding:14px;align-self:start}
.tool-title,.journal>span{font-size:0.75rem;text-transform:uppercase;letter-spacing:.14em;color:#9f4935;margin-bottom:12px}
.tools>button{width:100%;min-height:67px;border:1px solid var(--line);background:transparent;display:grid;grid-template-columns:38px 1fr;text-align:left;align-items:center;padding:8px;margin-bottom:7px}
.tools>button>span{grid-row:1/3;width:34px;height:34px;background:var(--linen);border-radius:50%;display:grid;place-items:center}
.tools>button b,.tools>button small{display:block}
.tools>button small{font-size:0.75rem;color:#786a61}
.tools>button.active{background:var(--wood);color:#fff}
.tools>button.active small{color:#e7d8ca}
.tools>button:disabled,.plan-options button:disabled{opacity:.48;cursor:not-allowed}
.bench-actions{display:grid;gap:6px;margin-top:14px}
.bench-actions button{min-height:44px;border:1px solid var(--line);background:transparent;font-size:0.75rem}
.object-stage{position:relative;background:#caa982;border:12px solid #8e674e;padding:clamp(24px,4vw,50px);box-shadow:inset 0 0 50px rgba(80,45,27,.22);min-width:0}
.lamp{position:absolute;right:8%;top:0;width:35%;height:35%;background:radial-gradient(ellipse at top,rgba(255,242,183,.7),transparent 65%);pointer-events:none}
.inspection-strip{position:relative;z-index:2;display:flex;justify-content:center;gap:5px;margin:0 auto 12px}.inspection-strip button{border:1px solid rgba(53,42,36,.45);background:#f8f1e3cc;padding:7px 10px;font-size:0.75rem}.inspection-strip button[aria-pressed=true]{background:var(--ink);color:#fff}
.survey-progress{position:relative;z-index:2;max-width:640px;margin:0 auto 10px;background:#f8f1e3dd;border:1px solid rgba(53,42,36,.45);padding:8px 10px;display:grid;grid-template-columns:auto 1fr;gap:3px 12px;align-items:center}.survey-progress>span{font-size:0.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--clay);font-weight:800}.survey-progress>b{font-size:0.75rem;text-align:right}.survey-progress>div{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.survey-progress>div span{border:1px solid var(--line);padding:4px;text-align:center;font-size:0.75rem}.survey-progress>div span.reviewed{background:var(--sage);color:#fff;border-color:var(--sage)}
.plan-card{position:relative;z-index:2;width:min(640px,100%);margin:0 auto 12px;padding:12px;border:1px solid rgba(53,42,36,.48);background:#f8f1e3f2;box-shadow:0 8px 24px rgba(53,42,36,.12)}
.plan-card>span{font-size:0.75rem;text-transform:uppercase;letter-spacing:.13em;color:var(--clay);font-weight:800}.plan-card h2{font:600 1.05rem ui-serif,Georgia;margin:2px 0}.plan-card>p{font-size:0.75rem;margin:.35rem 0 .7rem;color:#5e5149}.plan-options{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.plan-options button{min-width:0;min-height:58px;border:1px solid var(--line);background:var(--linen);padding:7px;text-align:left;font-size:0.75rem;line-height:1.35}.plan-options button[aria-pressed=true]{background:var(--sage);border-color:var(--sage);color:#fff}.plan-options button:disabled{cursor:not-allowed}.plan-card[data-approved=true]{border-color:var(--sage);box-shadow:inset 4px 0 var(--sage)}.plan-card[data-approved=true] .plan-options button:not([aria-pressed=true]){display:none}.plan-card[data-approved=true] .plan-options{grid-template-columns:1fr}.plan-card[data-approved=true] .plan-options button[aria-pressed=true]{opacity:1}.plan-status{margin-bottom:0!important;font-weight:700}.sequence-status{position:relative;z-index:2;width:min(640px,100%);margin:0 auto 10px!important;padding:7px 10px;border-left:3px solid var(--clay);background:#f8f1e3dd;font:700 0.75rem/1.4 ui-sans-serif,system-ui!important}
.surface{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;width:min(640px,100%);margin:auto;aspect-ratio:4/3;background:var(--ink);padding:7px;border-radius:46% 54% 44% 56% / 12% 10% 14% 11%;overflow:hidden}
.surface .cell{border:0;min-width:0;background:#b38d63;position:relative}
.surface .cell span{font-weight:900;font-size:0.75rem;color:#352a24}
.surface .condition-D{background:repeating-radial-gradient(circle at 30% 30%,#d2c7b1 0 2px,#a89d88 3px 5px)}
.surface .condition-T{background:linear-gradient(135deg,#5e8072,#aa8051)}
.surface .condition-A{background:repeating-linear-gradient(45deg,#8e6544 0 3px,#5e4434 3px 6px)}
.surface .condition-F{background:#b8664d;box-shadow:inset 0 0 0 3px #e2a58a}
.surface .condition-P{background:repeating-linear-gradient(125deg,#785f42 0 5px,#9d7c56 5px 8px);box-shadow:inset 0 0 0 2px #4e4437}
.surface .cell.concealed:not(.clean){background:linear-gradient(135deg,#a98261,#927256);box-shadow:inset 0 0 0 1px rgba(53,42,36,.22)}
.surface .cell.concealed:not(.clean) span{color:#f8f1e3}
.surface .cell.clean{background:#c7aa7b}
.surface .condition-P.clean{background:repeating-linear-gradient(125deg,#785f42 0 5px,#9d7c56 5px 8px);box-shadow:inset 0 0 0 3px var(--sage)}
.surface[data-view=raking]{transform:perspective(900px) rotateX(4deg);box-shadow:18px 22px 20px rgba(53,42,36,.28)}.surface[data-view=raking] .cell:not(.clean){filter:contrast(1.25);box-shadow:inset -5px 0 4px rgba(42,26,18,.28)}.surface[data-view=uv]{filter:hue-rotate(115deg) saturate(.72) contrast(1.12);box-shadow:0 0 25px #4b447b}.surface[data-palette="1"]{border-radius:12% 20% 10% 22%}.surface[data-palette="2"]{border-radius:4px 4px 34px 34px}.surface .cell.hinted{outline:4px solid #fff;outline-offset:-6px;animation:pulse 1s ease-in-out infinite alternate}
.surface .cell.clean span{opacity:.25}
.object-stage>p{max-width:70ch;margin:20px auto 0;font:italic .8rem ui-serif,Georgia}
.next-region{display:block;min-height:44px;margin:12px auto 0;border:1px solid var(--ink);background:#f8f1e3cc;padding:0 13px;font-size:0.75rem;font-weight:800}
.object-stage>.inspection-note{font:700 0.75rem/1.45 ui-sans-serif,system-ui;border-left:3px solid var(--wood);padding-left:10px}
.journal h2{font:500 1.6rem ui-serif,Georgia}
.journal>p{min-height:75px;color:#71645b;font-size:0.75rem}
.action-log{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:4px;max-height:165px;overflow:auto}.action-log li{display:grid;border-left:3px solid var(--sage);background:var(--linen);padding:6px;font-size:0.75rem}.action-log li.caution{border-color:var(--clay)}.action-log b{font-size:0.75rem;text-transform:uppercase}.action-log span{color:#62554e}
.journal dl div{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:8px 0;font-size:0.75rem}
.journal dd{margin:0;font-weight:800}
.condition-key{display:grid;gap:6px;margin-top:15px}
.condition-key span{font-size:0.75rem}
.condition-key i{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--wood);color:#fff;font-style:normal;margin-right:6px}
.after{margin:clamp(50px,8vw,120px) clamp(18px,8vw,120px);max-width:950px}
.after>span{color:var(--clay);text-transform:uppercase;letter-spacing:.16em;font-size:0.75rem}
.after h1,.after h2.h1{font:500 clamp(3.2rem,7vw,7rem)/.9 ui-serif,Georgia}
.after>p{max-width:60ch;font-size:1.1rem}
.after-score{border-block:1px solid var(--line);padding:18px 0;margin:25px 0}
.after-score b,.after-score span{display:block}
.after-score b{font-size:2.5rem;color:var(--clay)}
#treatment-summary{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:25px}
#treatment-summary span{border:1px solid var(--line);padding:7px 9px;font-size:0.75rem}
.bench-audit{border-top:2px solid var(--wood);padding-top:14px;margin:22px 0}.bench-audit>span{font-size:0.75rem;text-transform:uppercase;letter-spacing:.14em;color:var(--clay);font-weight:800}.bench-audit h2{font:600 1.35rem ui-serif,Georgia;margin:3px 0 11px}.bench-audit>div{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.bench-audit article{border:1px solid var(--line);background:var(--paper);padding:11px;display:grid}.bench-audit article b{font-size:1.45rem;color:var(--clay)}.bench-audit article span{font-size:0.75rem;font-weight:800}.bench-audit article small{font-size:0.75rem;color:#65584f;margin-top:4px}
.treatment-record{border-left:3px solid var(--sage);background:var(--paper);padding:12px 15px;margin:15px 0}.treatment-record>span{font-size:0.75rem;text-transform:uppercase;color:var(--clay);font-weight:800}.treatment-record p{margin:5px 0}.achievement-unlocks{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}.achievement-unlocks span{background:var(--sage);color:#fff;padding:6px 9px;font-size:0.75rem;text-transform:uppercase;font-weight:800}
.after>button{min-height:48px;border:1px solid var(--ink);background:transparent;padding:0 18px;margin:4px}
.after>button:first-of-type{background:var(--wood);color:#fff}
footer{border-top:1px solid var(--line);padding:22px clamp(14px,4vw,60px);display:flex;justify-content:space-between;font-size:0.75rem;color:#786b61}
footer a{margin-left:14px}
.guide-page{max-width:1020px;margin:0 auto;padding:clamp(55px,8vw,105px) clamp(16px,5vw,55px)}.guide-page>h1{font:500 clamp(3rem,7vw,6.4rem)/.92 ui-serif,Georgia;letter-spacing:-.045em;margin:20px 0}.guide-lede{font-size:1.08rem;max-width:72ch}.guide-page>section{display:grid;grid-template-columns:140px 1fr;column-gap:24px;border-top:1px solid var(--line);padding:24px 0}.guide-page>section>span{grid-row:1/3;font-size:0.75rem;text-transform:uppercase;letter-spacing:.14em;color:var(--clay);font-weight:800}.guide-page>section h2{font:600 1.5rem ui-serif,Georgia;margin:0}.guide-page>section p{margin:.4rem 0;color:#62554e}.guide-page>.guide-questions{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.guide-questions>h2{grid-column:1/-1}.guide-questions article{border:1px solid var(--line);background:var(--paper);padding:14px}.guide-questions h3{margin:0;font:600 1rem ui-serif,Georgia}.guide-questions article p{font-size:.76rem}.guide-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.guide-links a,.brand+nav a{min-height:46px;display:inline-flex;align-items:center;border:1px solid var(--wood);padding:0 14px;text-decoration:none}.guide-links a:first-child{background:var(--wood);color:#fff}
.toast{position:fixed;left:50%;bottom:20px;transform:translate(-50%,12px);background:var(--wood);color:#fff;padding:10px 14px;opacity:0;transition:.2s;z-index:30}
.toast.show{opacity:1;transform:translate(-50%,0)}
dialog{width:min(590px,calc(100% - 24px));background:var(--paper);color:var(--ink);border:1px solid var(--wood);padding:28px;box-shadow:10px 10px 0 var(--wood)}
dialog::backdrop{background:rgba(53,42,36,.68)}
dialog form button{float:right;width:44px;height:44px;border:1px solid var(--line);background:transparent}
dialog>span{color:var(--clay);text-transform:uppercase;font-size:0.75rem}
dialog h2{font:500 2.3rem ui-serif,Georgia}
dialog>label{display:flex;align-items:center;gap:10px;min-height:46px;border-bottom:1px solid var(--line)}
.data{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:18px}
.data button,.data label{min-height:44px;border:1px solid var(--line);display:grid;place-items:center;background:transparent}
.data button:last-child{grid-column:1/-1;color:var(--clay)}
.data input{position:absolute;opacity:0}
html[data-contrast=high]{--ink:#000;--linen:#fff;--paper:#fff;--line:#000;--clay:#8c1600;--wood:#331400}
html[data-large=yes]{font-size:19px}
html[data-motion=reduced] *{transition:none!important;animation:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@keyframes pulse{to{outline-color:var(--gold)}}

@media(max-width:1120px){.workspace{grid-template-columns:230px 1fr}
.journal{grid-column:1/-1}
.shelf-dashboard{grid-template-columns:1fr 1fr}.shelf-dashboard>div:last-child{grid-column:1/-1}
.journal-shelf{grid-template-columns:1fr 1fr}
}

button{min-width:44px;min-height:44px}
header a,footer a{display:inline-flex;align-items:center;min-width:44px;min-height:44px}
dialog label,details>summary,.file-button{min-height:44px}
@media(max-width:760px){.workspace{grid-template-columns:1fr}
.tools{order:2}
.object-stage{order:1}
.journal{order:3}
.bench-head{grid-template-columns:1fr auto}
.bench-head>button{grid-column:1/-1}
.modes{grid-template-columns:1fr}
.shelf-dashboard{grid-template-columns:1fr}.shelf-dashboard>div:last-child{grid-column:auto}
.resume-panel{align-items:stretch;flex-direction:column}.resume-panel>div:last-child{display:grid;grid-template-columns:1fr 1fr}
.bench-audit>div{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){header{height:68px}
.brand small{display:none}
nav button{padding:0 10px;font-size:0.8125rem}
.home{padding:40px 15px 55px}
.home h1{font-size:3.15rem}
.bench-head{padding:18px 12px}
.bench-head h1,.bench-head h2.h1{font-size:2.35rem}
.workspace{padding:0 10px 50px}
.object-stage{padding:22px 10px;border-width:7px}
.surface{gap:2px;padding:4px}
.surface .cell{min-height:37px}
.after h1,.after h2.h1{font-size:3.5rem}
.mastery-shelf{grid-template-columns:repeat(6,1fr)}.daily-archive{grid-template-columns:repeat(4,1fr)}
.journal-shelf{grid-template-columns:1fr}
footer{flex-direction:column;gap:10px}
.bench-audit>div{grid-template-columns:1fr}
.plan-options{grid-template-columns:1fr}.plan-options button{min-height:52px}
.guide-page>section{grid-template-columns:1fr}.guide-page>section>span{grid-row:auto}.guide-page>.guide-questions{grid-template-columns:1fr}.guide-questions>h2{grid-column:auto}.brand+nav a{font-size:0.75rem;padding-inline:7px}
}

@media(pointer:coarse){button{min-height:44px}}

.mastery-shelf,.daily-archive{grid-template-columns:repeat(auto-fit,minmax(44px,1fr))}
@media(max-width:768px){
.object-stage{overflow-x:auto}
.surface{min-width:380px}
.surface .cell{min-width:44px;min-height:44px}
}

.handling-meter{margin:14px 0 0;display:grid;gap:4px}
.handling-meter>span{font-size:0.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--clay);font-weight:800}
.handling-meter>b{font:600 0.95rem ui-serif,Georgia}
.handling-meter small{font-size:0.75rem;color:#65584f;line-height:1.45}
.handling-bar{height:10px;border:1px solid var(--line);background:var(--linen);border-radius:6px;overflow:hidden}
.handling-bar>i{display:block;height:100%;background:var(--sage);transition:width .18s ease}
.handling-bar[data-level=low]>i{background:var(--gold)}
.handling-bar[data-level=spent]>i{background:var(--clay)}
.score-breakdown{margin:14px 0 0;border:1px solid var(--line);border-radius:12px 4px 12px 4px;background:var(--linen);padding:8px 10px}
.score-breakdown>summary{min-height:44px;display:flex;align-items:center;font-size:0.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--clay);cursor:pointer}
.score-breakdown ol{list-style:none;margin:6px 0;padding:0;display:grid;gap:4px}
.score-breakdown li{display:flex;justify-content:space-between;gap:10px;font-size:0.75rem}
.score-breakdown li b{font-variant-numeric:tabular-nums}
.score-breakdown>p{font-size:0.75rem;color:#65584f;margin:6px 0 0;line-height:1.45}
.halted-card{border-left:6px solid var(--clay);padding-left:clamp(14px,3vw,26px)}
.halted-card>span{display:block;font-size:0.75rem;text-transform:uppercase;letter-spacing:.14em;color:var(--clay);font-weight:800}
.halted-detail{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:22px 0}
.halted-detail article{min-width:0;border:1px solid var(--line);border-radius:14px 4px 14px 4px;background:var(--paper);padding:12px}
.halted-detail b{display:block;font:600 1.6rem ui-serif,Georgia}
.halted-detail span{display:block;font-size:0.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--clay);font-weight:800}
.halted-detail small{display:block;margin-top:5px;font-size:0.75rem;color:#65584f;line-height:1.4}
.halted-note{max-width:60ch;color:#5d514a}
#halted button{margin:0 8px 8px 0;border:1px solid var(--wood);background:transparent;padding:0 16px}
#halted button:first-of-type{background:var(--wood);color:#fff}
#halted button:disabled{opacity:.45;cursor:not-allowed}
.guide-page>section.more-games,.more-games{display:block}
.more-games>span{display:block;font-size:0.75rem;text-transform:uppercase;letter-spacing:.14em;color:var(--clay);font-weight:800}
.more-games h2{font:600 1.5rem ui-serif,Georgia;margin:2px 0 6px}
.more-games>p{max-width:70ch;color:#62554e}
.more-games-list{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.more-games-list li{min-width:0;border:1px solid var(--line);border-radius:14px 4px 14px 4px;background:var(--paper);padding:12px 14px;display:grid;gap:4px}
.more-games-list a{display:inline-flex;align-items:center;min-height:44px;font-weight:700}
.more-games-list span{font-size:0.8125rem;color:#62554e;line-height:1.5}
@media(max-width:900px){.halted-detail{grid-template-columns:repeat(2,1fr)}.more-games-list{grid-template-columns:1fr}}
@media(max-width:560px){.halted-detail{grid-template-columns:1fr}#halted button{width:100%;margin-right:0}}
@media(max-width:375px){.object-stage{padding:16px 6px;border-width:6px}.bench-head{padding:16px 10px}.workspace{padding:0 8px 46px}}


/* Hover and press affordances */
@media(hover:hover){
nav button:hover,.bench-actions button:hover,.next-region:hover,.inspection-strip button:hover:not([aria-pressed=true]),.plan-options button:hover:not(:disabled):not([aria-pressed=true]),.resume-panel button:hover,.data button:hover,.data label:hover,.after>button:hover,#halted button:hover:not(:disabled),.stats-open:hover,.link-button:hover{border-color:var(--clay);background:rgba(143,60,43,.08)}
.tools>button:hover:not(:disabled):not(.active){border-color:var(--wood);background:rgba(121,84,65,.09)}
.mastery-shelf button:hover,.daily-archive button:hover{border-color:var(--clay)}
.surface .cell:hover:not(.clean){outline:3px solid #fff;outline-offset:-4px}
.more-games-list a:hover,footer a:hover,.guide-links a:hover{text-decoration:underline}
.score-breakdown>summary:hover{color:var(--wood)}
}
button:active:not(:disabled){transform:translateY(1px)}
html[data-motion=reduced] button:active:not(:disabled){transform:none}

/* Larger, easier settings checkboxes */
dialog>label{padding:6px 2px;cursor:pointer}
dialog>label input[type=checkbox]{width:24px;height:24px;min-width:24px;accent-color:var(--wood);flex:0 0 auto}

.link-button{display:block;width:100%;min-height:44px;margin-top:12px;border:1px solid var(--line);background:transparent;text-align:left;padding:0 12px;font-size:0.8125rem}
.stats-open{width:100%;min-height:44px;margin-top:10px;border:1px solid var(--wood);background:transparent;font-size:0.8125rem;font-weight:700}

/* First-run walkthrough */
.coach{margin:0 clamp(13px,3vw,46px) 14px;border:2px solid var(--sage);border-left-width:6px;background:var(--paper);padding:14px 16px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.coach[hidden]{display:none}
.coach>div:first-child{min-width:0;flex:1 1 320px}
.coach span{display:block;font-size:0.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--clay);font-weight:800}
.coach b{display:block;font:600 1.15rem ui-serif,Georgia;margin:2px 0 4px}
.coach p{margin:0;font-size:0.8125rem;color:#5d514a;max-width:70ch;line-height:1.5}
.coach-actions{display:flex;gap:6px;flex-wrap:wrap}
.coach-actions button{min-height:44px;border:1px solid var(--wood);background:transparent;padding:0 14px;font-size:0.8125rem}
.coach-actions button:first-child{background:var(--wood);color:#fff}

/* Keyboard shortcut reference */
.shortcut-list{margin:14px 0 0;display:grid;gap:6px}
.shortcut-list>div{display:grid;grid-template-columns:110px 1fr;gap:10px;align-items:baseline;border-top:1px solid var(--line);padding-top:6px}
.shortcut-list dt{font-weight:800;font-size:0.8125rem;letter-spacing:.06em}
.shortcut-list dd{margin:0;font-size:0.8125rem;color:#5d514a;line-height:1.5}

/* Bench statistics */
.stats-list{margin:14px 0 0;display:grid;gap:4px}
.stats-list>div{display:flex;justify-content:space-between;gap:14px;border-top:1px solid var(--line);padding:8px 0;font-size:0.8125rem}
.stats-list dd{margin:0;font-weight:800;font-variant-numeric:tabular-nums}
.stats-note{font-size:0.8125rem;color:#5d514a;line-height:1.55;margin-top:12px}

/* Result score arithmetic */
.result-context{border-top:2px solid var(--sage);padding-top:14px;margin:22px 0}
.result-context>span{font-size:0.75rem;text-transform:uppercase;letter-spacing:.14em;color:var(--clay);font-weight:800}
.result-context h2{font:600 1.35rem ui-serif,Georgia;margin:3px 0 11px}
.result-breakdown{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.result-breakdown li{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding:7px 0;font-size:0.8125rem}
.result-breakdown li b{font-variant-numeric:tabular-nums}
.result-breakdown li.total{border-bottom:0;border-top:2px solid var(--wood);font-weight:800;font-size:0.95rem}
.result-standing{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:7px;margin-top:14px}
.result-standing article{min-width:0;border:1px solid var(--line);background:var(--paper);padding:11px;display:grid}
.result-standing b{font:600 1.15rem ui-serif,Georgia;color:var(--clay)}
.result-standing span{font-size:0.75rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;margin-top:3px}

@media(max-width:560px){.coach-actions{width:100%}.coach-actions button{flex:1 1 auto}.shortcut-list>div{grid-template-columns:1fr}}
dialog{max-height:calc(100dvh - 2rem);overflow:auto;overscroll-behavior:contain}

.update-prompt{position:fixed;z-index:40;right:16px;bottom:16px;max-width:min(340px,calc(100vw - 32px));display:flex;flex-direction:column;gap:10px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);box-shadow:0 14px 40px rgba(0,0,0,.3)}
.update-prompt-text{margin:0;font-size:.875rem;line-height:1.45}
.update-prompt-actions{display:flex;flex-wrap:wrap;gap:8px}
.update-prompt button{min-width:44px;min-height:44px;padding:0 16px;border-radius:10px;font:inherit;font-size:.875rem;cursor:pointer}
.update-prompt-reload{border:1px solid transparent;background:var(--wood);color:#f8f1e3;font-weight:700}
.update-prompt-dismiss{border:1px solid var(--line);background:transparent;color:inherit}
@media(prefers-reduced-motion:no-preference){.update-prompt{animation:update-prompt-in .18s ease-out}
@keyframes update-prompt-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
}
@media(max-width:560px){.update-prompt{left:12px;right:12px;bottom:84px;max-width:none}}

.surface .cell.blocked:not(.clean){background-image:repeating-linear-gradient(135deg,rgba(53,42,36,.42) 0 3px,transparent 3px 8px);box-shadow:inset 0 0 0 2px rgba(53,42,36,.5)}
.surface .cell.blocked:not(.clean) span{color:#fdf3e2}
.survey-map-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}
.survey-map-row button{min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:8px;background:var(--paper);font:inherit;font-size:.8rem;cursor:pointer}
.survey-map-row button[aria-pressed=true]{background:var(--clay);color:#fff;border-color:var(--clay)}
.survey-map-row button[disabled]{opacity:.55;cursor:not-allowed}
.survey-map-row small{flex:1 1 12rem;font-size:12px;line-height:1.5}
.surface-legend{display:none}
@media(max-width:720px){.surface-legend{display:flex;flex-wrap:wrap;gap:6px 10px;margin:10px auto 0;justify-content:center}
.surface-legend span{display:inline-flex;align-items:center;gap:4px;font-size:12px}
.surface-legend i{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--wood);color:#fff;font-style:normal;font-size:12px;font-weight:800}}
.result-advice{margin:12px 0 0;font-size:12px;line-height:1.6}
.share-preview{margin-top:12px;border:1px solid var(--line);background:var(--paper);padding:11px;border-radius:8px;text-align:left}
.share-preview>span{font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:800}
.share-preview pre{margin:7px 0;white-space:pre-wrap;word-break:break-word;font:12px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace}
.share-preview p{margin:0 0 8px;font-size:12px}
.share-preview button{min-height:44px}
[data-archive] small{font-size:12px;display:block}

/* Play screen in one view: a compact object line; at desktop widths the lights, survey and plan sit beside the
   surface, which is sized to the space under the header; on a phone the surface fits the width at 44 px a square,
   the plan decision follows it, and the tray becomes a row of tool chips. */
.bench-head{padding:8px clamp(13px,3vw,46px) 6px;align-items:center}
.bench-head h1,.bench-head h2.h1{font-size:clamp(1.6rem,2.8vw,2.4rem);margin:2px 0 0}
.bench-head p{margin:2px 0}
.bench-head .object-story{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90ch}
.bench-head>*{min-width:0}
.condition b{font-size:1.5rem}
.workspace{padding-bottom:20px}
.tools,.journal{padding:10px 12px}
.tools>button{min-height:50px;padding:4px 8px;margin-bottom:5px}
.tools>button>span{width:30px;height:30px}
.bench-actions{grid-template-columns:1fr 1fr;margin-top:8px}
.journal>p{min-height:0}
.lamp{display:none}
.survey-progress{margin-bottom:6px;padding:5px 8px}
#survey-marks{display:none!important}
.survey-map-row:has(#survey-map:disabled){display:none}
.plan-card{margin-bottom:8px;padding:8px 10px}
.plan-card[data-approved="true"] :is(#plan-question,#plan-options){display:none}
@media(min-width:1121px){
.workspace{grid-template-columns:200px minmax(0,1fr) 210px}
.tools>button{min-height:44px;grid-template-columns:30px 1fr}
.tools>button small{display:none}
.bench-head p#object-meta{display:inline-block;margin-right:12px}
.bench-head .object-story{display:inline-block;vertical-align:bottom;max-width:60ch}
.inspection-strip{flex-wrap:nowrap}
.inspection-strip button{padding:6px 7px;font-size:.75rem}
.journal h2{font-size:1.25rem;margin:4px 0}
.object-stage{padding:12px;display:grid;grid-template-columns:minmax(220px,250px) minmax(0,1fr);gap:0 14px;align-items:start;align-content:start}
.object-stage>*{grid-column:1;width:auto;max-width:none;margin-inline:0}
.object-stage>#surface{grid-column:2;grid-row:1 / span 8;width:100%;max-width:calc((var(--ux-fit-h,450px) - 30px) * 4 / 3);margin:0 auto}
.inspection-strip{flex-wrap:wrap;justify-content:flex-start}
.object-stage>p{margin-top:8px}
.plan-options{grid-template-columns:1fr!important}
}
@media(max-width:760px){
.bench-head{grid-template-columns:auto 1fr!important;gap:2px 10px}
.bench-head>button{grid-column:1!important;grid-row:1}
.bench-head>.condition{grid-column:2;grid-row:1;justify-self:end;text-align:right}
.bench-head>div:not(.condition){grid-column:1/-1;grid-row:2}
.bench-head h1,.bench-head h2.h1{font-size:1.35rem}
.bench-head #collection{display:none}
.bench-head .object-story,.bench-head #object-meta{display:none}
.workspace{padding:0 4px 40px;gap:5px}
.workspace{display:flex!important;flex-direction:column}
.object-stage{display:contents}
.object-stage>*{margin-inline:2px}
.workspace:has(#survey-map:not(:disabled)) .survey-progress{display:none}
#survey-map-note{display:none}
.survey-map-row{margin:0 0 4px}
.tools{order:6}
.journal{order:10}
.tools>.tool-title{display:none}
.inspection-strip{order:1;margin-bottom:6px}
.survey-progress{order:2;font-size:.75rem}
.survey-map-row{order:3}
.survey-map-row:has(#survey-map:disabled){display:none}
.object-stage>#surface{order:4;margin:0 auto 4px;box-shadow:0 0 0 3px #8e674e;min-width:0;width:372px;max-width:100%;aspect-ratio:auto;padding:3px;gap:2px;border-radius:14px}
.surface .cell{min-width:0;min-height:44px}
.plan-card{order:5;width:auto}
.sequence-status{order:7}
.object-stage>:is(.surface-legend,#next-region,#note,#inspection-note){order:8}
.plan-options button{min-height:44px;padding:4px 8px;font-size:.8125rem;line-height:1.3}
.plan-card>span,.plan-card>#plan-status{display:none}
.plan-card h2{font-size:.9375rem}
.plan-card>p{margin:2px 0 4px}
.plan-options{gap:4px!important}
.tools{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.tools>.tool-title{grid-column:1/-1;margin:0}
.tools>button{margin:0;min-height:48px;grid-template-columns:22px 1fr;gap:4px;font-size:.75rem;line-height:1.2;padding:3px 5px}
.tools>button b{overflow:hidden;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.tools>button>span{width:24px;height:24px}
.tools>button small{display:none}
.tools>.bench-actions{grid-column:1/-1;grid-template-columns:repeat(4,1fr);margin:0}
.bench-actions button{font-size:.6875rem;padding:0 2px}
}
