/* AREPO default theme. Loaded after the original Dossier styles only for AREPO. */
:root{--ink:#18242c;--muted:#607078;--paper:#f5f8f8;--paper-2:#e8f7f7;--green:#176d70;--green-2:#18242c;--red:#176d70;--line:#dfe6e8;--shadow:0 12px 36px rgba(25,45,55,.1);--accent:#35bfc2;--font-ui:"Dosis",Arial,sans-serif}
body{background:#eef3f4;background-image:none;font-family:var(--font-ui)}
.app-shell{box-shadow:0 0 50px rgba(25,45,55,.07)}
.topbar{background:#fff;color:var(--ink);border-bottom:3px solid var(--accent)}
.brand{font-family:var(--font-ui);font-weight:700;letter-spacing:.1em;border-right-color:var(--line)}
.brand-mark{background:var(--accent);color:var(--ink);border:0;border-radius:8px;transform:none;font-weight:700}
.case-title strong{font-family:var(--font-ui);letter-spacing:0;font-weight:600}
.eyebrow{color:var(--muted);letter-spacing:.12em}
.icon-button{color:var(--green)}
.sidebar{background:#fff;border-color:var(--line)}
.sidebar-heading{font-family:var(--font-ui);letter-spacing:.1em}
.side-button{border-radius:6px;margin-bottom:4px}
.side-button b{font-size:14px}
.side-button:hover,.side-button.active{background:var(--paper-2);border-left-color:var(--accent)}
.side-button.active{color:var(--green)}
.solve-button{font-family:var(--font-ui);letter-spacing:0;text-transform:none;font-size:14px;border-radius:6px;font-weight:600}
.desk{background:var(--paper);background-image:none}
.desk-intro{padding-top:5vh}
h1{font-size:clamp(34px,4.6vw,64px);line-height:1.08;letter-spacing:-.035em}
.kicker,.archive-label{font-family:var(--font-ui);font-size:12px;letter-spacing:.08em}
.stamp{border:0;border-radius:20px;background:var(--paper-2);transform:none;font:600 12px/1.4 var(--font-ui);letter-spacing:.05em;padding:7px 12px}
.primary-button{background:var(--accent);color:var(--ink);border-radius:6px;font-family:var(--font-ui);font-size:14px;letter-spacing:0;text-transform:none;min-height:44px}
.primary-button:hover{background:#b5e9e9;color:var(--ink)}
.quiet-button{border-radius:6px;background:#fff;color:var(--ink)}
.tool-number{background:var(--paper-2);color:var(--green);border-radius:8px;font-family:var(--font-ui)}
.tool-dock{background:#fff;color:var(--ink);border-top:1px solid var(--line)}
.tool-dock button,.tool-dock button:first-child{border-color:var(--line)}
.tool-dock button:hover,.tool-dock button.active{background:var(--paper-2)}
.tool-dock small{color:var(--muted)}
.dock-icon{background:var(--paper-2);border-color:transparent;color:var(--green)}
.floating-panel,.solve-dialog,.notes-drawer{background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}
.dialog-titlebar,.notes-drawer-header{background:var(--paper-2);color:var(--ink);border-bottom:1px solid var(--line);font-family:var(--font-ui);font-size:12px;letter-spacing:.04em}
.dialog-titlebar button,.notes-drawer-header button{color:var(--ink)}
.notes-drawer-header span,.notes-drawer-footer{font-family:var(--font-ui);letter-spacing:0}
.notes-drawer-header small{color:var(--muted);font-size:11px}
.notes-tab{background:var(--accent);color:var(--ink);font-family:var(--font-ui);border-radius:0 7px 7px 0;box-shadow:var(--shadow)}
.notes-area,.persistent-notes{background:#fff;font-family:var(--font-ui);line-height:1.8;color:var(--ink)}
.solve-dialog::backdrop,.floating-panel.evidence-viewer::backdrop{background:rgba(24,36,44,.4)}
.investigation-prompt,.gallica-scope,.help-advice{background:var(--paper-2);color:var(--ink);border-left-color:var(--accent);border-radius:0 6px 6px 0}
.evidence-piece,.evidence-card,.evidence-viewer-content .letter{background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}
.evidence-piece,.evidence-piece:hover,.evidence-piece:focus-visible{transform:none}
.evidence-grid .evidence-piece:hover,.evidence-grid .evidence-piece:focus-visible{transform:translateY(-3px)}
.evidence-piece strong,.examine-label,.case-tag,.case-open-status,.evidence-instruction,.clue-buttons button{font-family:var(--font-ui);letter-spacing:.03em}
.examine-label{font-size:12px}
.case-tag{background:var(--accent);color:var(--ink);border-radius:5px;font-size:10px}
.case-open-status{background:#fff;border-radius:5px}
.photo-piece img,.newspaper-piece img,.evidence-detail-image,.map-stage iframe{filter:none}
.photo-piece img,.newspaper-piece img{background:var(--paper);border-color:var(--line);border-radius:5px}
.letter,.letter-preview,.evidence-caption{font-family:var(--font-ui)}
.letter mark,.letter-preview mark{background:#b5e9e9}
.help-progress{background:var(--line);border-radius:6px}.help-progress span{background:var(--accent)}
.help-level,.help-advice>strong,.help-reveal,.help-hint::before{font-family:var(--font-ui);letter-spacing:.03em}
.help-hint{border-color:var(--accent);border-radius:6px}
.search-bar input,.gallica-field select,.gallica-field input,.map-search input,.gallica-controls button,.gallica-controls select,.clue-buttons button{background:#fff;border-color:var(--line);border-radius:6px;color:var(--ink)}
.search-bar button,.gallica-submit,.map-search button{background:var(--accent);color:var(--ink);border-radius:6px;font-family:var(--font-ui);font-weight:600;letter-spacing:0;text-transform:none}
.search-bar button:hover,.gallica-submit:hover,.map-search button:hover{background:#b5e9e9;color:var(--ink)}
.gallica-search,.map-search{background:#eef3f4;border-radius:8px}
.gallica-field label,.gallica-submit,.map-search>label,.gallica-scope>span,.gallica-reader-topbar,.gallica-controls,.gallica-result>span,.gallica-result b{font-family:var(--font-ui);letter-spacing:0}
.gallica-field label span,.gallica-submit span{background:var(--paper-2);color:var(--green)}
.gallica-reader,.wiki-article,.archive-panel,.gallica-handoff{background:#fff;border-radius:10px;box-shadow:var(--shadow)}
.gallica-reader-topbar{background:var(--paper-2);color:var(--ink)}
.gallica-reader-topbar a{color:var(--green)}
.gallica-reader-body,.map-stage,.street-stage{background:#eef3f4;background-image:none}
.gallica-controls{background:var(--paper)}
.gallica-result{background:#fff}.gallica-result:hover,.gallica-result:focus-visible{background:var(--paper-2)}
.gallica-result strong,.gallica-reader-empty h3,.gallica-reader-error strong,.archive-panel h3,.wiki-item h3,.wiki-article h2,.gallica-handoff h3{font-family:var(--font-ui)}
.gallica-reader-empty>span{border-color:var(--line)}
.is-irrelevant .gallica-reader-error{background:#fff;border-color:var(--line);border-radius:8px;transform:none;box-shadow:var(--shadow)}
.is-irrelevant .gallica-reader-error p{font-family:var(--font-ui);font-style:normal}
#solveDialog.quiz-dialog,#quizFrame{background:#fff;border-color:var(--line)}
#solveDialog .quiz-intro,#solveDialog .quiz-fallback{border-color:var(--line)}
#solveDialog .quiz-fallback a{color:var(--green)}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--green);outline-offset:3px}
@media(max-width:850px){.solve-button{font-size:0}.case-title strong{font-size:12px}.desk-intro{padding-top:3vh}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Light controls, consistent baselines and Dosis typography. */
:root{--font-ui:"Dosis",Arial,sans-serif}
body{font-size:18px}
.case-title strong{font-size:20px;font-weight:600}
.eyebrow,.sidebar-heading,.kicker,.archive-label{font-size:13px}
.side-button{min-height:46px;padding:9px 12px;align-items:center}
.side-button b{font-size:18px;font-weight:500;line-height:1.25}
.side-button span{display:grid;place-items:center;flex:0 0 24px;height:26px;line-height:1}
.primary-button,.quiet-button,.solve-button,.search-bar button,.map-search button,.gallica-submit,.map-tabs button,.clue-buttons button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 16px;border:1px solid #b9d8d9;border-radius:6px;background:#fff;color:#176d70;font:500 17px/1.25 var(--font-ui);text-transform:none;letter-spacing:0;box-shadow:none;vertical-align:middle}
.primary-button{background:#f1f9f9}
.primary-button:hover,.quiet-button:hover,.solve-button:hover,.search-bar button:hover,.map-search button:hover,.gallica-submit:hover,.map-tabs button:hover,.clue-buttons button:hover{background:#e8f7f7;border-color:#35bfc2;color:#176d70}
.help-choices,.help-actions,.form-actions{align-items:center}
.help-choices button,.help-actions button,.form-actions button{margin-top:0;min-height:46px}
.tool-header{align-items:center;gap:12px}
.tool-header>div{align-items:center}
.tool-header p{margin-bottom:0}
.search-bar{align-items:stretch;gap:8px}.search-bar input{border-radius:6px}
.gallica-field label,.gallica-submit,.map-search>label{font-size:16px}
.gallica-search{align-items:end}
.gallica-submit{margin:0}
.tool-dock button{display:grid;grid-template-columns:34px minmax(0,1fr);align-content:center;align-items:center;justify-content:stretch;gap:12px;padding:10px 22px}
.dock-icon{width:34px;height:34px;line-height:1;background:transparent;border:1px solid #c4dddd}
.tool-dock strong{font:600 17px/1.2 var(--font-ui);text-transform:none;letter-spacing:0}
.tool-dock small{font:400 13px/1.2 var(--font-ui);margin-top:3px}
.evidence-board,.evidence-board.evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:22px;min-height:0;padding:24px 0}
.evidence-board .evidence-piece{position:relative;inset:auto;width:auto;min-width:0;min-height:0;padding:24px 20px 12px;transform:none;text-align:left}
.evidence-piece .letter-preview,.evidence-piece img{flex:none;display:block;width:100%;height:220px;max-height:220px;margin:0 0 18px;overflow:hidden;font:400 17px/1.5 var(--font-ui)}
.evidence-piece img{object-fit:contain;border:0;background:#f5f8f8}
.evidence-piece strong{margin-top:0;font:600 18px/1.25 var(--font-ui);text-transform:none;letter-spacing:0}
.evidence-piece small{font-size:15px;line-height:1.4;margin:5px 0 18px}
.evidence-piece .examine-label{margin-top:auto;padding:10px 0 0;min-height:48px;font:500 17px/1.25 var(--font-ui);text-transform:none;letter-spacing:0}
.case-tag{font-size:12px;font-weight:500;background:#e8f7f7;color:#176d70;border:1px solid #c4dddd}
.letter-piece{grid-column:auto}
.dialog-titlebar,.notes-drawer-header span{font-size:16px;font-weight:600;text-transform:none;letter-spacing:0}
.help-reveal{font-size:17px}.case-context{font-size:19px}
@media(max-width:1100px){.evidence-board,.evidence-board.evidence-grid{gap:14px}.evidence-board .evidence-piece{padding-inline:14px}.tool-dock button{padding-inline:14px}}
@media(max-width:850px){.solve-button{font-size:0;padding:9px}.solve-button::after{font-size:20px}.case-title strong{font-size:18px}.tool-dock button{grid-template-columns:30px minmax(0,1fr);gap:8px}.dock-icon{width:30px;height:30px}.tool-dock strong{font-size:16px}.evidence-board,.evidence-board.evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.evidence-board,.evidence-board.evidence-grid{grid-template-columns:minmax(0,1fr)}.tool-dock button{grid-template-columns:minmax(0,1fr);padding-inline:5px}.tool-dock strong{text-align:center;font-size:14px}.tool-dock .dock-icon{display:none}.evidence-piece .letter-preview,.evidence-piece img{height:200px;max-height:200px}}

/* Close controls: no rectangular focus frame; retain a discreet focus cue. */
.dialog-titlebar button,.notes-drawer-header button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;margin:0;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none;line-height:1;-webkit-appearance:none;appearance:none}
.dialog-titlebar button:focus,.dialog-titlebar button:focus-visible,.notes-drawer-header button:focus,.notes-drawer-header button:focus-visible{outline:none;box-shadow:none;background:#d8eeee;color:#176d70}
.dialog-titlebar button:hover,.notes-drawer-header button:hover{background:#d8eeee}
