/* 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}
small{font-size:.75rem}
:root{--ink:#211f1a;--paper:#f4efdf;--paper2:#e7ddc5;--red:#9a302b;--blue:#315a68;--line:rgba(33,31,26,.25);font:16px/1.55 ui-serif,Georgia,serif;color:var(--ink);background:var(--paper);color-scheme:light}
*{box-sizing:border-box}
body{margin:0;min-width:300px;background:linear-gradient(90deg,rgba(49,90,104,.06) 1px,transparent 1px),var(--paper);background-size:42px 100%;min-height:100vh}
button,a,input{font:inherit;color:inherit}
button{cursor:pointer}
.skip{position:fixed;top:-5rem;left:1rem;z-index:30;background:#000;color:#fff;padding:.7rem}
.skip:focus{top:1rem}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}
header{height:82px;padding:12px clamp(16px,4vw,60px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(244,239,223,.9);backdrop-filter:blur(12px);position:sticky;top:0;z-index:10}
.wordmark{font-size:1.45rem;font-weight:900;text-decoration:none;letter-spacing:-.04em}
.wordmark span{color:var(--red)}
.wordmark small{display:block;font:700 0.75rem ui-sans-serif,system-ui;text-transform:uppercase;letter-spacing:.17em;color:#6d6657}
.wordmark+nav{display:flex;gap:8px}
.wordmark+nav button{min-height:44px;border:1px solid var(--line);background:transparent;padding:0 14px}
main{max-width:1480px;margin:auto}
.home{padding:clamp(50px,8vw,120px) clamp(18px,6vw,90px)}
.shelf-label{font:800 0.75rem ui-sans-serif,system-ui;text-transform:uppercase;letter-spacing:.17em;color:var(--red)}
.home h1{font-weight:400;font-size:clamp(3.2rem,8vw,7.6rem);line-height:.92;letter-spacing:-.055em;margin:26px 0}
.home h1 em{font-style:italic;color:var(--blue)}
.home>p{max-width:58ch;font-size:1.15rem}
.modes{display:grid;grid-template-columns:1.25fr 1fr;gap:14px;max-width:920px;margin:42px 0 25px}
.modes button{min-height:190px;border:1px solid var(--ink);background:var(--paper2);padding:22px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;box-shadow:5px 5px 0 var(--ink)}
.modes button:first-child{background:var(--ink);color:var(--paper)}
.modes span{font:700 0.75rem ui-sans-serif,system-ui;text-transform:uppercase;letter-spacing:.14em;margin-bottom:auto}
.modes b{font-size:1.55rem}
.modes small{margin-top:6px;opacity:.7}
.home blockquote{margin:0;border-left:3px solid var(--red);padding-left:14px;color:#625c4f;font-size:.8rem}
.resume-panel{max-width:920px;border:2px solid var(--blue);background:#fbf7ea;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;gap:18px;box-shadow:4px 4px 0 var(--blue);margin:0 0 24px}.resume-panel[hidden]{display:none}.resume-panel>div:first-child{display:grid}.resume-panel span{font:800 0.75rem ui-sans-serif,system-ui;text-transform:uppercase;letter-spacing:.13em;color:var(--red)}.resume-panel strong{font-size:1.2rem}.resume-panel small{color:#625c4f}.resume-panel>div:last-child{display:flex;gap:6px}.resume-panel button{min-height:44px;border:1px solid var(--ink);background:var(--paper);padding:0 12px}.resume-panel button:first-child{background:var(--blue);color:#fff}
.research-dashboard{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:10px;margin:28px 0 24px;max-width:1180px}
.research-dashboard>div{border:1px solid var(--line);background:#fbf7ea;padding:15px;min-width:0}
.research-dashboard>div>span{display:block;font:800 0.75rem ui-sans-serif,system-ui;text-transform:uppercase;letter-spacing:.14em;color:var(--red)}
.research-dashboard>div>strong{display:block;margin:4px 0 12px;font-size:.94rem}
.reset-note{display:block;margin:-8px 0 10px;color:#625c4f;font:700 0.75rem ui-sans-serif,system-ui}
.mastery-seals,.daily-archive{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
.mastery-seals button,.daily-archive button{border:1px solid var(--line);background:var(--paper);min-height:48px;padding:5px;display:grid;place-items:center}
.mastery-seals b{color:var(--blue);font-size:1.1rem}.mastery-seals span,.daily-archive span{font:800 0.75rem ui-sans-serif,system-ui}
.daily-archive{grid-template-columns:repeat(7,1fr)}.daily-archive button{min-width:0}.daily-archive b{color:var(--red)}.daily-archive .filed{background:var(--blue);color:#fff}
.collection-items{display:flex;gap:5px;flex-wrap:wrap}.collection-items span{border:1px solid var(--line);padding:5px 7px;font-size:0.75rem}.collection-items p{font-size:0.75rem;margin:0;color:#625c4f}
.thread-section{max-width:1180px;margin:20px 0 26px;border-top:3px double var(--ink);padding-top:18px}.thread-section h2{margin:.25rem 0 1rem;font-weight:400;font-size:1.7rem}.thread-dossiers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.thread-dossier{border:1px solid var(--line);background:#fbf7ea;padding:13px}.thread-dossier span{font:800 0.75rem ui-sans-serif,system-ui;text-transform:uppercase;color:var(--red)}.thread-dossier strong{display:block;margin-top:3px}.thread-dossier p{font-size:0.75rem;color:#625c4f;margin:.65rem 0 0}.thread-dossier.complete{border-color:var(--blue);box-shadow:inset 0 4px var(--blue)}
.case-head{display:grid;grid-template-columns:150px 1fr auto;gap:20px;align-items:end;padding:28px clamp(14px,4vw,60px) 20px}
.case-head>button{border:0;background:none;text-align:left}
.case-head>div>span{font:800 0.75rem ui-sans-serif,system-ui;color:var(--red);letter-spacing:.14em}
.case-head h1,.case-head h2.h1{font-weight:400;font-size:clamp(2.3rem,5vw,4.8rem);line-height:.95;margin:5px 0}
.case-head p{max-width:74ch;margin:10px 0 0}
.score{text-align:right;border-left:2px solid var(--red);padding-left:20px}
.score span,.score b{display:block}
.score span{font:700 0.75rem ui-sans-serif,system-ui;text-transform:uppercase}
.score b{font-size:1.7rem}
.search{display:flex;align-items:center;gap:10px;padding:12px clamp(14px,4vw,60px);border-block:1px solid var(--line);background:var(--paper2);font:700 0.75rem ui-sans-serif,system-ui}
.search label{display:flex;align-items:center;gap:8px;flex:1}
.search input{width:min(500px,100%);min-height:42px;border:1px solid var(--line);background:var(--paper);padding:0 12px}
.search .type-filter{flex:0 1 260px}.type-filter select{min-height:42px;min-width:0;width:100%;border:1px solid var(--line);background:var(--paper);padding:0 9px;font:inherit}
.search button{min-height:42px;border:1px solid var(--line);background:var(--paper)}
.search button[aria-pressed=true]{background:var(--blue);color:#fff}
.reading-room{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;padding:22px clamp(14px,4vw,60px)}
.documents{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}
.document{min-height:210px;border:1px solid var(--line);background:#fbf7ea;padding:15px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;position:relative;box-shadow:3px 3px 0 rgba(33,31,26,.15)}
.document:nth-child(even){transform:rotate(.25deg)}
.document>span,.document time{font:800 0.75rem ui-sans-serif,system-ui;text-transform:uppercase;letter-spacing:.1em}
.document>span{color:var(--red)}
.document time{color:#716958;margin-top:5px}
.document b{font-size:1.08rem;margin:18px 0 7px}
.document small{color:#5e584c}
.document i{margin-top:auto;font:700 0.75rem ui-sans-serif,system-ui;text-transform:uppercase;background:var(--ink);color:var(--paper);padding:4px 6px;font-style:normal}
.document.read{border-color:var(--blue)}
.document.pinned::after{content:'PINNED';position:absolute;right:7px;top:7px;color:var(--red);font:900 0.75rem ui-sans-serif,system-ui;transform:rotate(5deg)}
.document.bookmarked{box-shadow:inset 0 -5px var(--blue),3px 3px 0 rgba(33,31,26,.15)}
.board{background:#6e4c35;color:#fff;border:9px solid #4e3424;padding:14px;align-self:start;position:sticky;top:105px;min-height:420px}
.board-title{font:800 0.75rem ui-sans-serif,system-ui;text-transform:uppercase;display:flex;justify-content:space-between}
.pins{margin:16px 0;display:grid;gap:8px}
.pins>p{color:#e4d6c7;font-size:.75rem}
.pins button{background:#fff8dc;color:var(--ink);border:0;padding:10px;text-align:left;transform:rotate(-1deg)}
.pins button:nth-child(even){transform:rotate(1deg)}
.pins span,.pins small,.pins b{display:block}
.pins span,.pins small{font:700 0.75rem ui-sans-serif,system-ui}
.comparison{border-top:1px solid rgba(255,255,255,.45);padding-top:13px;margin:15px 0}.comparison-head{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.comparison-head span{font:800 0.75rem ui-sans-serif,system-ui;text-transform:uppercase}.comparison-head small{font:700 0.75rem ui-sans-serif,system-ui;color:#f4dfb3}.comparison p{font-size:0.75rem;color:#f4dfb3}.comparison-documents{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:9px 0}.comparison-documents article{min-width:0;background:#fff8dc;color:var(--ink);padding:8px;display:grid;gap:3px}.comparison-documents span,.comparison-documents small{font:700 0.75rem/1.35 ui-sans-serif,system-ui;overflow-wrap:anywhere}.comparison-documents b{font-size:0.75rem}.comparison-documents button,.comparison>#clear-comparison{min-height:40px;border:1px solid var(--ink);background:transparent;font:800 0.75rem ui-sans-serif,system-ui}.comparison>#clear-comparison{width:100%;color:#fff;border-color:rgba(255,255,255,.5)}.comparison-summary{display:grid;gap:2px;border-left:3px solid #f4dfb3;padding-left:7px}.comparison-summary b,.comparison-summary span{font:700 0.75rem/1.4 ui-sans-serif,system-ui}.comparison-summary b{color:#fff}
.board>button{width:100%;min-height:44px;border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff}
.board>#nudge{font-size:0.75rem;margin-top:10px;color:#f4dfb3}
.case-note{display:grid;gap:5px;margin-top:18px;font:800 0.75rem ui-sans-serif,system-ui;text-transform:uppercase;letter-spacing:.08em}.case-note textarea{width:100%;resize:vertical;border:1px solid rgba(255,255,255,.42);background:#fff8dc;color:var(--ink);padding:9px;font:400 .76rem/1.45 ui-serif,Georgia;text-transform:none;letter-spacing:normal}.case-note small{text-align:right;color:#f4dfb3}
.theory{margin:18px clamp(14px,4vw,60px) 65px;border-top:3px double var(--ink);padding-top:25px}
.theory>span{font:800 0.75rem ui-sans-serif,system-ui;text-transform:uppercase;color:var(--red)}
.theory h2{font-size:2rem;max-width:34ch}
.options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.options button{min-height:80px;border:1px solid var(--line);background:var(--paper2);padding:12px;text-align:left}
.options button[aria-pressed=true]{background:var(--blue);color:#fff}
.theory>p{font-size:0.75rem;color:#6a6355}
.submission-readiness{list-style:none;padding:0;margin:12px 0;display:flex;gap:6px;flex-wrap:wrap}.submission-readiness li{border:1px solid var(--line);padding:6px 9px;font:800 0.75rem ui-sans-serif,system-ui;color:#6a6355}.submission-readiness li span{margin-right:5px}.submission-readiness li.ready{background:var(--blue);border-color:var(--blue);color:#fff}
.theory>#submit{min-height:50px;border:0;background:var(--red);color:#fff;padding:0 18px;font-weight:800}
.theory>#submit:disabled{opacity:.4}
.theory>#feedback{margin-top:12px}
.theory>#feedback b{color:var(--red)}
#result{padding:clamp(50px,9vw,130px) clamp(18px,8vw,110px)}
.finding{max-width:950px;border:1px solid var(--ink);background:#fbf7ea;padding:clamp(25px,5vw,60px);box-shadow:9px 9px 0 var(--ink)}
.finding>span{font:800 0.75rem ui-sans-serif,system-ui;text-transform:uppercase;color:var(--red)}
.finding h1,.finding h2.h1{font-size:clamp(2.7rem,6vw,6rem);font-weight:400;line-height:.95}
.finding>p{font-size:1.15rem;max-width:64ch}
.result-meta{display:flex;gap:20px;align-items:baseline;border-block:1px solid var(--line);padding:18px 0;margin:28px 0}
.result-meta b{font-size:2rem;color:var(--blue)}
.finding>button{min-height:48px;border:1px solid var(--ink);background:transparent;padding:0 16px;margin:4px}
.finding>button:first-of-type{background:var(--ink);color:var(--paper)}
.collection-unlock{border-left:3px solid var(--blue);padding:12px 16px;margin:20px 0;background:var(--paper2)}.collection-unlock span{display:block;font:800 0.75rem ui-sans-serif,system-ui;text-transform:uppercase;color:var(--red)}.collection-unlock b{display:block;font-size:1.2rem;margin-top:3px}.collection-unlock p{margin:4px 0;font-size:.78rem}.achievement-unlocks{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:16px}.achievement-unlocks span{background:var(--blue);color:#fff;padding:6px 9px;font:800 0.75rem ui-sans-serif,system-ui;text-transform:uppercase}
.citation-audit{margin:24px 0;border-top:3px double var(--ink);padding-top:17px}.citation-audit>span{font:800 0.75rem ui-sans-serif,system-ui;text-transform:uppercase;color:var(--red)}.citation-audit h2{font-size:1.45rem;margin:3px 0 11px}.citation-audit>div{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.citation-audit article{border:1px solid var(--line);padding:11px}.citation-audit article.decisive{box-shadow:inset 4px 0 var(--blue)}.citation-audit article>span{font:800 0.75rem ui-sans-serif,system-ui;text-transform:uppercase;color:var(--red)}.citation-audit article b{display:block;margin-top:4px}.citation-audit article p{font-size:0.75rem;margin:5px 0;color:#625c4f}
footer{border-top:1px solid var(--line);padding:22px clamp(14px,4vw,60px);display:flex;justify-content:space-between;font:700 0.75rem ui-sans-serif,system-ui}
footer a{margin-left:14px}
.guide-page{max-width:980px;margin:0 auto;padding:clamp(55px,8vw,105px) clamp(16px,5vw,55px)}.guide-page>h1{font-weight:400;font-size:clamp(3rem,7vw,6.4rem);line-height:.92;letter-spacing:-.05em;margin:20px 0}.guide-lede{font-size:1.12rem;max-width:70ch}.guide-page>section{display:grid;grid-template-columns:150px 1fr;column-gap:24px;border-top:1px solid var(--line);padding:24px 0}.guide-page>section>span{grid-row:1/3;font:800 0.75rem ui-sans-serif,system-ui;text-transform:uppercase;color:var(--red)}.guide-page>section h2{font-size:1.55rem;margin:0}.guide-page>section p{margin:.4rem 0;color:#5e584c}.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:#fbf7ea;padding:14px}.guide-questions h3{margin:0;font-size:1rem}.guide-questions article p{font-size:.78rem}.guide-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.guide-links a,.wordmark+nav a{min-height:46px;display:inline-flex;align-items:center;border:1px solid var(--ink);padding:0 14px;text-decoration:none}.guide-links a:first-child{background:var(--ink);color:var(--paper)}
dialog{width:min(620px,calc(100% - 24px));border:1px solid var(--ink);background:#fbf7ea;color:var(--ink);padding:28px;box-shadow:8px 8px 0 var(--red)}
dialog::backdrop{background:rgba(33,31,26,.65)}
dialog form button{float:right;width:44px;height:44px;border:1px solid var(--ink);background:transparent}
dialog>span,dialog time{display:block;font:800 0.75rem ui-sans-serif,system-ui;text-transform:uppercase;color:var(--red)}
dialog time{color:#726959;margin-top:4px}
dialog h2{font-size:2.3rem}
#doc-entities{display:flex;flex-wrap:wrap;gap:6px;margin:20px 0}
#doc-entities span{border:1px solid var(--line);padding:5px 7px;font:700 0.75rem ui-sans-serif,system-ui}
#pin-button{min-height:46px;background:var(--blue);color:#fff;border:0;padding:0 15px}
#bookmark-button{min-height:46px;background:transparent;border:1px solid var(--blue);padding:0 15px;margin-left:5px}.doc-prompt{border-left:3px solid var(--red);padding-left:12px;font-style:italic;color:#625c4f}.doc-note{display:grid;gap:5px;margin-top:18px;font:800 0.75rem ui-sans-serif,system-ui;text-transform:uppercase}.doc-note textarea{resize:vertical;width:100%;border:1px solid var(--line);background:var(--paper);padding:10px;font:400 .85rem/1.45 ui-serif,Georgia;text-transform:none}.doc-note small{font-weight:400;text-transform:none;color:#625c4f}
.doc-metadata{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin:18px 0}.doc-metadata div{background:var(--paper);padding:9px;min-width:0}.doc-metadata dt{font:800 0.75rem ui-sans-serif,system-ui;text-transform:uppercase;color:var(--red)}.doc-metadata dd{margin:3px 0 0;font-size:0.75rem;overflow-wrap:anywhere}.catalogue-note{font-size:.76rem;color:#625c4f;background:var(--paper2);padding:10px}
dialog>label{display:flex;align-items:center;gap:10px;min-height:47px;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(--ink);background:transparent;display:grid;place-items:center}
.data button:last-child{grid-column:1/-1;color:var(--red)}
.data input{position:absolute;opacity:0}
.toast{position:fixed;left:50%;bottom:20px;transform:translate(-50%,12px);background:var(--ink);color:var(--paper);padding:10px 14px;opacity:0;transition:.2s;z-index:30}
.toast.show{opacity:1;transform:translate(-50%,0)}
html[data-contrast=high]{--paper:#fff;--paper2:#fff;--ink:#000;--line:#000;--blue:#003748;--red:#810000}
html[data-large=yes]{font-size:19px}
/* Reduced motion switches animation and transition off. It must not drop a
   layout transform: translate(-50%) is what centres the toast. */
html[data-motion=reduced] *{animation:none!important;transition:none!important}
html[data-motion=reduced] .document:nth-child(even),html[data-motion=reduced] .document.pinned::after,html[data-motion=reduced] .pins button{transform:none}

@media(max-width:1000px){.documents{grid-template-columns:1fr 1fr}
.reading-room{grid-template-columns:1fr}
.board{position:static;min-height:auto}
.options{grid-template-columns:1fr}
.research-dashboard{grid-template-columns:1fr 1fr}.research-dashboard>div:last-child{grid-column:1/-1}
.thread-dossiers{grid-template-columns:1fr}
}
@media(max-width:620px){header{height:68px}
.wordmark small,nav button:first-child{display:none}
.home{padding:40px 15px 55px}
.home h1{font-size:3.2rem}
.modes{grid-template-columns:1fr}
.case-head{grid-template-columns:minmax(0,1fr);padding:18px 12px}
.case-head>button{grid-column:1/-1}
/* The premise needs the whole width at this size, so the score reads as a row
   beneath it instead of a column beside it. */
.score{text-align:left;border-left:0;border-top:2px solid var(--red);padding-left:0;padding-top:12px}
.case-head h1,.case-head h2.h1{font-size:2.5rem}
.search{padding:10px 12px;flex-wrap:wrap}
.search label{flex-basis:100%}
.search .type-filter{flex-basis:100%}
.reading-room{padding:16px 12px}
.documents{grid-template-columns:1fr}
.document{min-height:175px}
.theory{margin-inline:12px}
.result-meta{flex-direction:column;gap:4px}
footer{flex-direction:column;gap:10px}
.research-dashboard{grid-template-columns:1fr}.research-dashboard>div:last-child{grid-column:auto}.daily-archive{grid-template-columns:repeat(4,1fr)}
.resume-panel{align-items:stretch;flex-direction:column}.resume-panel>div:last-child{display:grid;grid-template-columns:1fr 1fr}.doc-metadata{grid-template-columns:1fr}
#bookmark-button{margin:6px 0 0;width:100%}#pin-button{width:100%}
.citation-audit>div{grid-template-columns:1fr}.comparison-documents{grid-template-columns:1fr}
.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}.wordmark+nav a{font-size:0.75rem;padding-inline:8px}
}

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

.search input,.type-filter select,.search button{min-height:44px}
.daily-archive{grid-template-columns:repeat(auto-fit,minmax(44px,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}
footer{display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch;gap:18px}
.footer-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 14px;align-items:baseline}
.footer-row>span{display:flex;flex-wrap:wrap;gap:4px 14px;min-width:0}
.footer-row>span>a{margin-left:0}
.footer-row>nav{display:flex;flex-wrap:wrap;gap:4px 14px;min-width:0}
.more-games{display:block;min-width:0}
.more-games h2{font-size:1rem;margin:0 0 4px;font-weight:800}
.more-games>p{margin:0 0 10px;max-width:72ch}
.more-games ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:2px 18px}
.more-games li{display:grid;align-content:center;min-height:44px;padding:4px 0}
.more-games li a{margin-left:0;font-weight:800;text-decoration:none}
.more-games li a:hover,.more-games li a:focus-visible{text-decoration:underline}
.more-games li small{opacity:.85}
.first-run{border:1px solid var(--blue);border-left:5px solid var(--blue);background:#fbf7ea;padding:14px 16px;margin:0 0 22px;max-width:72ch}
.first-run b{display:block;color:var(--red);margin-bottom:6px}
.first-run ol{margin:0 0 8px;padding-left:20px}
.first-run li{margin:.25rem 0}
.first-run p{margin:0}
.result-summary{margin:8px 0 0;max-width:64ch}

.reading-record{border:1px solid var(--line);background:var(--paper2);padding:12px 16px;margin:22px 0 0}
.reading-record>summary{min-height:44px;display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:0.8rem}
.reading-record>summary span{font-weight:400;text-transform:none;letter-spacing:0;color:rgba(33,31,26,.66)}
.reading-record ol{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}
.reading-record li{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:center;padding:9px 10px;border:1px solid var(--line);min-width:0}
.reading-record li>span{font-size:1.2rem;text-align:center}
.reading-record li b,.reading-record li small{display:block;overflow-wrap:anywhere}
.reading-record li small{color:rgba(33,31,26,.66);font-size:0.8rem}
.reading-record li em{font-style:normal;font-weight:750;text-align:right;white-space:nowrap}
.reading-record li em small{font-weight:400}
.record-empty{margin:12px 0 0;color:rgba(33,31,26,.66)}
.documents-empty{display:grid;gap:12px;justify-items:start;padding:14px 0}
.documents-empty button{min-height:44px;padding-inline:18px;border:1px solid var(--line);background:transparent;color:inherit}
.documents-empty button:hover,.documents-empty button:focus-visible{border-color:var(--red)}
.options button.rejected{opacity:.72;border-style:dashed}
.options button.rejected i{display:block;font-style:normal;margin-top:5px;font-size:0.8rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(33,31,26,.66)}
.shortcut-open{width:100%;min-height:44px;margin-top:10px;border:1px solid var(--line);background:transparent;color:inherit;font-size:0.8rem;letter-spacing:.06em;text-transform:uppercase}
.shortcut-open:hover,.shortcut-open:focus-visible{border-color:var(--red)}
.shortcuts-dialog dl{display:grid;gap:4px;margin:14px 0 12px}
.shortcuts-dialog dl div{display:grid;grid-template-columns:minmax(120px,.5fr) minmax(0,1fr);gap:12px;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--line)}
.shortcuts-dialog dt{font-weight:750}
.shortcuts-dialog dd{margin:0;color:rgba(33,31,26,.66)}
@media(max-width:640px){.reading-record li{grid-template-columns:28px minmax(0,1fr);}.reading-record li em{grid-column:1/-1;text-align:left}}

.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(--ink);border-radius:2px;background:var(--paper2);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:2px;font:inherit;font-size:.875rem;cursor:pointer}
.update-prompt-reload{border:1px solid transparent;background:var(--blue);color:#f4efdf;font-weight:700}
.update-prompt-dismiss{border:1px solid var(--ink);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}}

.options-sealed{margin:0;padding:12px 14px;border:1px dashed var(--line,#c9bda1);color:#5d5443;font-size:0.9rem}
.result-par{display:block;margin-top:4px;font-size:0.8rem;letter-spacing:.06em;text-transform:uppercase}
.result-next-step{margin:8px 0 0;font-size:0.95rem;max-width:70ch}
.share-preview{margin-top:14px;padding:10px 12px;border:1px solid var(--line,#c9bda1)}
.share-preview span{display:block;font-size:0.75rem;text-transform:uppercase;letter-spacing:.12em}
.share-preview p{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:0.85rem}
.daily-archive button small{display:block;font-size:0.75rem}
#share[data-copied=yes]{background:#2f4b31;color:#f6f1e4}
.nudge:not(:empty){display:block}

/* Play screen in one view: a compact case line with Restart; the documents on the left and the theory with
   Submit on the right (desktop) or straight after the documents (phone); search, the evidence board and the
   case note follow. */
.case-actions-bar{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.case-actions-bar>button{min-height:44px;border:0;background:none;text-align:left;font:inherit}
.case-actions-bar>.run-button{border:1px solid var(--line);background:var(--paper2);padding:0 14px;font:700 .875rem ui-sans-serif,system-ui}
.case-head{padding:10px clamp(14px,4vw,60px) 8px;align-items:center}
.case-head h1,.case-head h2.h1{font-size:clamp(1.6rem,2.8vw,2.4rem);line-height:1.05;margin:3px 0}
.case-head p{margin-top:4px;font-size:.875rem;line-height:1.4;max-width:none}
.score b{font-size:1.6rem}
.document{min-height:0;padding:10px 12px}
.document b{margin:8px 0 4px;font-size:1rem}
.document small{font-size:.8125rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.document i{margin-top:8px}
.theory h2{font-size:1.25rem;line-height:1.3;margin:6px 0 10px;max-width:none}
.options button{min-height:52px;padding:8px 12px}
.theory>p{margin:8px 0}
@media(min-width:1001px){
#case:not([hidden]){display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,380px);column-gap:16px;padding-inline:clamp(14px,4vw,60px)}
#case>.case-head,#case>.ux-play-help,#case>.search{grid-column:1/-1;margin-inline:calc(-1 * clamp(14px,4vw,60px))}
#case>.ux-play-help{margin-inline:0}
.case-head{grid-template-columns:auto minmax(0,1fr) auto}
.search{padding-block:2px;margin-bottom:10px}
.document>span{letter-spacing:.06em}
.reading-room{display:contents}
.documents{grid-column:1;grid-row:4;align-self:start;grid-template-columns:repeat(3,minmax(0,1fr))}
.theory{grid-column:2;grid-row:4;margin:0;padding-top:10px;border-top-width:3px;align-self:start}
.options{grid-template-columns:1fr;gap:6px}
.board{grid-column:1/-1;grid-row:5;position:static;min-height:0;margin:16px 0 40px}
}
@media(max-width:1000px){
#case{display:flex;flex-direction:column}
.reading-room{display:contents}
.documents{order:1;padding:0 12px}
.theory{order:2;margin:10px 12px 0;padding-top:10px}
.search{order:3;margin-top:14px}
.board{order:4;margin:12px}
}
.premise-more{display:none}
@media(max-width:620px){
.case-head{gap:4px;padding:6px 12px;grid-template-columns:minmax(0,1fr) auto!important}
.case-head>.case-actions-bar{grid-column:1!important;grid-row:1}
.case-head>.score{grid-column:2;grid-row:1;border:0!important;padding:0!important;align-self:center}
.case-head>div:not(.case-actions-bar):not(.score){grid-column:1/-1;grid-row:2}
.case-head p#premise{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
#case.premise-open .case-head p#premise{display:block}
.premise-more{display:inline-flex;align-items:center;min-height:44px;padding:0;border:0;background:none;font:700 .8125rem ui-sans-serif,system-ui;text-decoration:underline;text-underline-offset:3px;color:inherit;cursor:pointer}
.score>span{display:none}
.theory>p{display:none}
.theory{display:flex;flex-direction:column}
.theory>#submit{order:1;align-self:flex-start;margin-top:8px}
.theory>.submission-readiness,.theory>#feedback{order:2}
.submission-readiness{margin:8px 0}
.submission-readiness li{padding:4px 6px;font-size:.6875rem}
.case-head h1,.case-head h2.h1{font-size:1.4rem}
.case-head p{font-size:.8125rem;line-height:1.4}
.score{display:flex;align-items:baseline;gap:10px;padding-top:4px}
.score b{font-size:1.2rem}
.documents{grid-template-columns:1fr 1fr;gap:6px}
.document{min-height:0;padding:6px 8px;transform:none!important}
.document>span{font-size:.625rem;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.document time{font-size:.625rem;margin-top:2px}
.document b{font-size:.875rem;margin:4px 0 0;line-height:1.2}
.document small,.document i{display:none}
.document.pinned::after{font-size:.5625rem;top:3px;right:3px}
.theory h2{font-size:1rem}
.options button{min-height:44px;font-size:.875rem}
}
