:root{--ink:#101a19;--green:#153b33;--green2:#0d2925;--paper:#efe3c7;--paper2:#d9c59d;--burgundy:#6e2630;--gold:#d2a34a;--cream:#fff9e9;--mono:"DM Mono",monospace;--serif:"Libre Baskerville",Georgia,serif;--sans:Manrope,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#091714;color:var(--cream);font-family:var(--sans);min-width:320px}button,input{font:inherit}button,a{touch-action:manipulation}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:99;background:#fff;color:#000;padding:.8rem 1rem}.skip-link:focus{top:1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{height:76px;padding:0 clamp(1rem,4vw,4rem);display:flex;align-items:center;justify-content:space-between;background:#0a1c19;border-bottom:1px solid #31584d;position:relative;z-index:5}.wordmark{display:flex;gap:.7rem;align-items:center;color:#fff;text-decoration:none}.wordmark .mark{width:38px;height:38px;border:1px solid var(--gold);display:grid;place-items:center;font-family:var(--serif);font-size:1.45rem}.wordmark strong,.wordmark small{display:block}.wordmark strong{letter-spacing:.08em;font-size:.82rem}.wordmark small{letter-spacing:.18em;font-size:.55rem;color:#a8b8b1;margin-top:.2rem}.site-header nav{display:flex;align-items:center;gap:1.3rem}.site-header nav a,.site-header nav button{background:none;border:0;color:#d8e1dd;text-decoration:none;font:700 .72rem var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.site-header nav a:hover,.site-header nav button:hover{color:var(--gold)}
.case-cover{height:calc(100svh - 76px);min-height:660px;position:relative;overflow:hidden}.case-cover>img{width:100%;height:100%;object-fit:cover;object-position:center 28%;filter:saturate(.82) contrast(1.02)}.cover-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,17,16,.95) 0%,rgba(8,21,18,.82) 35%,rgba(7,17,16,.22) 66%,rgba(7,17,16,.42)),linear-gradient(0deg,rgba(7,17,16,.7),transparent 40%)}.cover-copy{position:absolute;left:clamp(1.2rem,7vw,7rem);top:50%;transform:translateY(-50%);max-width:660px}.eyebrow{font:500 .75rem var(--mono);letter-spacing:.16em;color:#dfb65c;margin:0 0 1rem}.cover-copy h1{font:700 clamp(3.6rem,7.4vw,7.3rem)/.96 var(--serif);letter-spacing:-.055em;margin:0;color:#fff7e4;text-shadow:0 4px 20px #000}.lede{font:400 clamp(1rem,1.35vw,1.22rem)/1.65 var(--serif);max-width:620px;color:#e9e1d1;margin:1.5rem 0 2rem}.cover-actions{display:flex;gap:.8rem;flex-wrap:wrap}.primary,.secondary{border:0;cursor:pointer;font-weight:800;letter-spacing:.04em;padding:1rem 1.35rem}.primary{background:var(--burgundy);color:#fff;border:1px solid #a45861;box-shadow:0 4px 0 #3f1419}.primary:hover{background:#85303b}.primary:active{transform:translateY(2px);box-shadow:0 2px 0 #3f1419}.secondary{background:rgba(12,35,31,.74);color:#fff;border:1px solid #9e8a60}.cover-stamp{position:absolute;right:4vw;bottom:5vh;border:2px solid rgba(235,211,157,.58);color:rgba(255,244,218,.75);padding:1rem 1.4rem;transform:rotate(-4deg);text-align:center}.cover-stamp strong,.cover-stamp span{display:block}.cover-stamp strong{font:700 2.1rem var(--serif)}.cover-stamp span{font:500 .6rem var(--mono);letter-spacing:.18em;margin-top:.25rem}
.game{background:radial-gradient(circle at 35% 15%,#214d43 0,#102e28 45%,#091c19 100%);min-height:100svh;padding-bottom:4rem}.case-bar{min-height:92px;padding:1rem clamp(1rem,3vw,3rem);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;background:#0a1d1a;border-bottom:1px solid #3d6258}.case-bar>div:first-child span,.case-bar>div:first-child strong{display:block}.case-bar>div:first-child span{font:500 .62rem var(--mono);color:#d2a34a;letter-spacing:.14em}.case-bar>div:first-child strong{font:700 .82rem var(--serif);margin-top:.35rem}.case-bar dl{display:flex;margin:0}.case-bar dl div{min-width:115px;text-align:center;padding:.2rem 1.2rem;border-left:1px solid #36574e}.case-bar dl div:last-child{border-right:1px solid #36574e}.case-bar dt{font:500 .58rem var(--mono);letter-spacing:.12em;color:#9fb2ac}.case-bar dd{margin:.25rem 0 0;font:500 1.1rem var(--mono);color:#fff}.case-tools{display:flex;justify-content:flex-end;gap:.5rem}.case-tools button{background:#18352f;color:#e9efe9;border:1px solid #4f6d65;padding:.65rem .8rem;cursor:pointer;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.objective-strip{max-width:1500px;margin:0 auto;padding:1.15rem clamp(1rem,3vw,2.5rem);display:grid;grid-template-columns:1fr minmax(180px,34%);gap:2rem;align-items:center;background:rgba(5,20,17,.55);border-bottom:1px solid #33584e}.objective-strip p{margin:0}.objective-strip p span{display:block;font:500 .57rem var(--mono);letter-spacing:.12em;color:#d8ae57;margin-bottom:.35rem}.objective-strip p strong{font:700 .83rem var(--sans)}.progress-track{height:7px;background:#071713;border:1px solid #46685e}.progress-track span{display:block;width:0;height:100%;background:linear-gradient(90deg,#b47d2c,#f1cb72);transition:width .35s ease}
.desk-grid{max-width:1500px;margin:0 auto;padding:1.2rem clamp(1rem,3vw,2.5rem);display:grid;grid-template-columns:minmax(280px,.85fr) minmax(480px,1.6fr) minmax(270px,.85fr);gap:1rem;align-items:start}.panel{background:linear-gradient(145deg,rgba(247,237,210,.98),rgba(224,207,169,.97));border:1px solid #f7e8c4;color:var(--ink);box-shadow:0 10px 28px rgba(0,0,0,.32),inset 0 0 0 4px rgba(110,70,32,.12)}.panel-heading{display:flex;align-items:center;gap:.75rem;padding:1rem 1.1rem;border-bottom:1px solid #b79b6d}.panel-heading>span{font:500 .62rem var(--mono);display:grid;place-items:center;width:28px;height:28px;background:var(--green);color:#fff;border-radius:50%}.panel-heading p,.panel-heading h2{margin:0}.panel-heading p{font:500 .55rem var(--mono);letter-spacing:.14em;color:#7b633f}.panel-heading h2{font:700 1.15rem var(--serif);margin-top:.18rem}
.evidence-list{padding:.8rem}.evidence-card{width:100%;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:.7rem;text-align:left;background:rgba(255,250,235,.62);border:0;border-bottom:1px solid #c5ae82;padding:.85rem .5rem;cursor:pointer;color:var(--ink)}.evidence-card:hover{background:#fffaf0}.evidence-card.inspected{background:#dde7d7}.evidence-card.inspected i{color:#1e604c}.evidence-card.inspected i::after{content:" ✓"}.evidence-icon{width:38px;height:38px;display:grid;place-items:center;border:1px solid #9a8053;background:#f4e4bb;font-size:1.25rem}.evidence-card strong,.evidence-card small{display:block}.evidence-card strong{font:700 .82rem var(--serif)}.evidence-card small{font-size:.62rem;color:#6f654f;margin-top:.25rem}.evidence-card i{font:500 .55rem var(--mono);text-transform:uppercase;color:#7c2733}.observation{margin:0 .8rem .8rem;background:var(--green);color:#f7efdc;padding:1rem;min-height:148px;border-left:4px solid var(--gold)}.observation p,.observation h3{margin:0}.observation>p:first-child{font:500 .55rem var(--mono);letter-spacing:.14em;color:#e1b85e}.observation h3{font:700 1rem var(--serif);margin:.55rem 0}.observation>p:last-child{font:400 .75rem/1.55 var(--sans);color:#dce5df}
.telegram-slip{margin:1rem;background:#fffaf0;border:1px dashed #876f48;padding:1rem;transform:rotate(-.3deg);box-shadow:0 3px 6px rgba(75,55,30,.16)}.telegram-slip span{display:block;font:500 .55rem var(--mono);letter-spacing:.1em;color:#7f6b4e}.telegram-slip code{display:block;font:500 clamp(.85rem,1.05vw,1.05rem)/1.6 var(--mono);letter-spacing:.06em;margin-top:.7rem;word-break:break-word}.wheel-workbench{display:grid;grid-template-columns:210px 1fr;gap:1.2rem;align-items:center;padding:.7rem 1rem 1rem}.cipher-wheel{width:190px;aspect-ratio:1;border-radius:50%;margin:auto;position:relative;display:grid;place-items:center;background:repeating-conic-gradient(from 0deg,#c39950 0 13deg,#9f743b 13deg 14deg);border:11px solid #193f36;box-shadow:inset 0 0 0 7px #ead7a8,0 5px 12px #8b724d;transition:transform .35s ease}.cipher-wheel::before{content:"";position:absolute;width:105px;aspect-ratio:1;border-radius:50%;background:var(--green2);border:7px solid #ead7a8}.cipher-wheel span{position:absolute;z-index:1;font:700 .8rem var(--serif);color:#fff}.cipher-wheel span:nth-child(1){top:18px}.cipher-wheel span:nth-child(2){right:25px;bottom:45px}.cipher-wheel span:nth-child(3){left:25px;bottom:45px}.cipher-wheel strong{position:relative;z-index:2;font:700 2rem var(--serif);color:#f4d47d}.shift-control label{display:block;font:500 .6rem var(--mono);letter-spacing:.12em;color:#684f2d}.stepper{display:grid;grid-template-columns:46px 1fr 46px;align-items:center;margin:.55rem 0}.stepper button{height:44px;border:1px solid #846b43;background:var(--green);color:#fff;cursor:pointer;font-size:1.4rem}.stepper output{height:44px;display:grid;place-items:center;border-top:1px solid #846b43;border-bottom:1px solid #846b43;background:#fff9e8;font:700 1.45rem var(--mono)}#shift{width:100%;accent-color:var(--burgundy)}.alphabet-readout{overflow:hidden;margin-top:.8rem;padding:.7rem;background:#17342e;color:#e6d6ac}.alphabet-readout span{display:block;font:500 .55rem/1.8 var(--mono);white-space:nowrap;letter-spacing:-.03em}.decoder-output{border-top:1px solid #b79b6d;padding:1rem;display:flex;gap:1rem;align-items:center;justify-content:space-between}.decoder-output>div{min-width:0}.decoder-output span{display:block;font:500 .55rem var(--mono);letter-spacing:.12em;color:#775f3d}.decoder-output code{display:block;margin-top:.45rem;font:500 .83rem/1.5 var(--mono);word-break:break-word}.decoder-output button{flex:0 0 auto}
.team-portraits{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem;padding:.8rem}.team-portraits button{border:1px solid #a58c64;background:#f7edcf;padding:.35rem;cursor:pointer;color:var(--ink)}.team-portraits button.active{outline:3px solid var(--burgundy);outline-offset:-3px}.portrait{display:block;aspect-ratio:1;background-image:url("assets/baker-street-team.webp");background-size:300% auto;border-radius:50%;border:2px solid var(--green);margin-bottom:.45rem}.portrait.vale{background-position:7% 22%}.portrait.mara{background-position:93% 22%}.portrait.mercer{background-position:50% 22%}.team-portraits strong,.team-portraits small{display:block}.team-portraits strong{font:700 .57rem var(--serif)}.team-portraits small{font:500 .48rem var(--mono);color:#775f3d;margin-top:.18rem}.team-panel blockquote{margin:.3rem .8rem 1rem;background:#fff8e9;border-left:3px solid var(--burgundy);padding:1rem;font:400 .8rem/1.6 var(--serif)}.team-panel blockquote cite{display:block;font:700 .57rem var(--sans);font-style:normal;margin-top:.65rem;color:#6e2630}.hints{border-top:1px solid #b79b6d;padding:.8rem}.hints p{font:500 .55rem var(--mono);letter-spacing:.08em;display:flex;justify-content:space-between}.hints p span{color:#7c2733}.hints button{width:100%;background:var(--green);border:0;color:#fff;padding:.8rem;cursor:pointer;font-size:.68rem;font-weight:800}.hints button:disabled{opacity:.5}
.conclusion-panel{grid-column:1/-1;padding-bottom:1rem}.conclusion-panel>p{margin:1rem 1.1rem .75rem;font:400 .85rem var(--serif)}.answer-row{display:grid;grid-template-columns:1fr auto;gap:.7rem;padding:0 1rem}.answer-row input{min-width:0;border:1px solid #876f48;background:#fffaf0;padding:1rem;color:#111;font:500 .9rem var(--mono);text-transform:uppercase}.feedback{font:500 .65rem!important;font-family:var(--mono)!important;color:#6b5a3c}.feedback.error{color:#8c1e2c}.feedback.success{color:#1c634c}
dialog{border:0;padding:0;color:var(--ink);box-shadow:0 30px 100px #000;max-width:calc(100vw - 2rem)}dialog::backdrop{background:rgba(3,12,10,.84);backdrop-filter:blur(4px)}.rules-dialog{width:min(650px,calc(100vw - 2rem));padding:2.2rem;background:var(--paper);border:6px solid var(--green);outline:1px solid #d8bc7c}.rules-dialog>form:first-child{position:absolute;right:.8rem;top:.6rem}.rules-dialog>form:first-child button{border:0;background:none;font-size:2rem;cursor:pointer}.rules-dialog h2,.solved-dialog h2{font:700 clamp(2rem,5vw,3.5rem)/1.05 var(--serif);margin:.4rem 0 1.5rem}.rules-dialog ol{list-style:none;padding:0;margin:0 0 1.5rem}.rules-dialog li{display:grid;grid-template-columns:44px 1fr;gap:.8rem;border-top:1px solid #bda77b;padding:.85rem 0}.rules-dialog li>span{font:500 .65rem var(--mono);color:#7c2733}.rules-dialog li strong{font:700 .85rem var(--serif)}.rules-dialog li p{margin:.25rem 0 0;font-size:.75rem;line-height:1.5}.rules-dialog>form:last-child button{width:100%}.solved-dialog{width:min(880px,calc(100vw - 2rem));display:none;grid-template-columns:45% 55%;background:var(--paper);border:7px solid var(--green)}.solved-dialog[open]{display:grid}.solved-art{min-height:520px;overflow:hidden}.solved-art img{width:100%;height:100%;object-fit:cover;object-position:52% center}.solved-copy{padding:clamp(1.3rem,4vw,3rem)}.solved-copy>p:not(.eyebrow){font:400 .84rem/1.65 var(--serif)}.solved-copy dl{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #b99e69;border-bottom:1px solid #b99e69;padding:1rem 0;margin:1.5rem 0}.solved-copy dl div{text-align:center;border-right:1px solid #b99e69}.solved-copy dl div:last-child{border:0}.solved-copy dt{font:500 .55rem var(--mono);color:#6e5b3a}.solved-copy dd{margin:.3rem 0 0;font:700 .85rem var(--mono)}.solved-actions{display:flex;gap:.7rem;align-items:center}.solved-actions a{color:#173b33;font-size:.72rem;font-weight:800;text-transform:uppercase}
footer{height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1rem,4vw,4rem);background:#071310;border-top:1px solid #31584d;color:#8fa39c;font-size:.7rem}footer a{color:#d6c493}
.portrait.mara{background-position:50% 22%}.portrait.mercer{background-position:93% 22%}
@media(max-width:1080px){.desk-grid{grid-template-columns:minmax(250px,.85fr) minmax(460px,1.4fr)}.team-panel{grid-column:1/-1}.team-portraits{max-width:480px}.case-bar{grid-template-columns:1fr auto}.case-tools{grid-column:1/-1;justify-content:flex-start}.case-bar dl{grid-row:1/3;grid-column:2}.cipher-wheel{width:170px}.wheel-workbench{grid-template-columns:180px 1fr}}
@media(max-width:760px){.site-header{height:64px}.site-header nav a{display:none}.case-cover{height:calc(100svh - 64px);min-height:650px}.case-cover>img{object-position:61% 30%}.cover-scrim{background:linear-gradient(0deg,rgba(6,17,15,.98) 0%,rgba(6,17,15,.84) 43%,rgba(6,17,15,.1) 83%)}.cover-copy{left:1.15rem;right:1.15rem;top:auto;bottom:2rem;transform:none}.cover-copy h1{font-size:clamp(3rem,15vw,5rem)}.lede{font-size:.92rem;line-height:1.5;margin:1rem 0 1.4rem}.cover-stamp{top:1rem;right:1rem;bottom:auto}.case-bar{grid-template-columns:1fr auto;padding:.8rem 1rem}.case-bar>div:first-child strong{font-size:.68rem}.case-bar dl div{min-width:74px;padding:.15rem .45rem}.case-bar dl div:first-child{display:none}.case-tools{grid-column:1/-1}.objective-strip{grid-template-columns:1fr;gap:.65rem}.desk-grid{display:block;padding:1rem}.panel{margin-bottom:1rem}.wheel-workbench{grid-template-columns:1fr}.cipher-wheel{width:180px}.alphabet-readout span{font-size:.5rem}.decoder-output{display:block}.decoder-output button{width:100%;margin-top:.9rem}.team-portraits{max-width:none}.answer-row{grid-template-columns:1fr}.answer-row button{width:100%}.solved-dialog[open]{display:block}.solved-art{height:220px;min-height:0}.solved-copy dl{gap:0}.solved-actions{align-items:stretch;flex-direction:column}.solved-actions a{text-align:center;padding:.8rem}.wordmark strong{font-size:.72rem}.wordmark small{display:none}.site-header nav{gap:.4rem}.site-header nav button{font-size:.6rem}.cover-actions>*{flex:1}.conclusion-panel{padding-bottom:.5rem}}
@media(max-width:430px){.cover-actions{display:grid}.cover-actions>*{width:100%}.cover-copy h1{font-size:2.75rem}.eyebrow{font-size:.6rem}.team-portraits strong{font-size:.5rem}.case-bar dl div{min-width:66px}.case-bar dl div:first-child{display:none}.solved-copy{padding:1.2rem}.solved-copy h2{font-size:2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cipher-wheel,.progress-track span{transition:none}}

/* Illustrated Baker Street interface */
.game{padding-top:1rem;background:radial-gradient(circle at 35% 12%,#285a4e 0,#102e28 43%,#071714 100%)}
.case-bar{width:min(1600px,calc(100% - 1.5rem));min-height:122px;margin:0 auto;padding:2.2rem clamp(3rem,7vw,7rem) 1.9rem;background:transparent url("assets/baker-street-ui/case-status.webp") center/100% 100% no-repeat;border:0;filter:drop-shadow(0 12px 18px rgba(0,0,0,.35))}
.case-bar>div:first-child span{color:#8a642c}.case-bar>div:first-child strong,.case-bar dt,.case-bar dd{color:#14231f}.case-bar dl div{border-color:#9b793f}.case-tools button{min-height:42px;padding:.55rem 1.15rem;background:transparent url("assets/baker-street-ui/button-normal.webp") center/100% 100% no-repeat;border:0;color:#fff6df;text-shadow:0 1px 2px #2e080d;filter:drop-shadow(0 3px 2px rgba(0,0,0,.24))}.case-tools button:active{background-image:url("assets/baker-street-ui/button-pressed.webp");transform:translateY(2px)}
.objective-strip{margin-top:.7rem;border:1px solid rgba(203,162,81,.45);border-radius:4px;background:linear-gradient(90deg,rgba(5,20,17,.88),rgba(23,57,49,.84),rgba(5,20,17,.88));box-shadow:0 9px 20px rgba(0,0,0,.22)}
.panel{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(145deg,rgba(250,242,218,.98),rgba(225,205,164,.98));border:0;box-shadow:0 16px 34px rgba(0,0,0,.36);filter:drop-shadow(0 0 1px rgba(244,207,130,.55))}.panel::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-position:center;background-repeat:no-repeat;background-size:100% 100%}.evidence-panel::before{background-image:url("assets/baker-street-ui/evidence-drawer.webp")}.cipher-panel::before{background-image:url("assets/baker-street-ui/decoder-console.webp")}.evidence-panel{padding:2.5rem 1.25rem 1.35rem;min-height:640px}.cipher-panel{padding:2.25rem 1.3rem 1.4rem}.team-panel,.conclusion-panel{border:7px solid #b78a3d;outline:3px solid #0e3029;outline-offset:-10px}.panel-heading{margin:0 .25rem .45rem;padding:.75rem .85rem;border-bottom:1px solid rgba(127,92,39,.52);background:rgba(255,248,226,.62);border-radius:3px}.panel-heading>span{background:linear-gradient(#1d5246,#0b2b25);border:2px solid #c69a4e;box-shadow:0 2px 5px rgba(0,0,0,.28)}
.evidence-panel,.cipher-panel{background:transparent}.evidence-panel::before,.cipher-panel::before{z-index:0}.evidence-panel>*,.cipher-panel>*{position:relative;z-index:1}
.case-bar>div:first-child strong,.case-bar dt,.case-bar dd{color:#14231f;text-shadow:none}.case-bar>div:first-child span{color:#765522;text-shadow:none}.case-bar>div:first-child strong{font-size:.76rem}.case-bar>div:first-child span{font-size:.58rem}
.solved-copy .eyebrow{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.solved-copy h2{font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1;margin:.15rem auto .85rem}.solved-actions{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:.7rem}.solved-actions .primary,.solved-actions a{min-height:54px;padding:.65rem 1rem;background:none!important;border:0!important;box-shadow:none!important;filter:none!important;color:#fff7e4!important;text-shadow:0 2px 3px rgba(31,7,10,.8);font-weight:800;letter-spacing:.03em}.solved-actions .primary:hover,.solved-actions a:hover{filter:brightness(1.08)!important}.solved-actions .primary:active{transform:translateY(2px)}
.evidence-list{padding:.45rem}.evidence-card{margin:.35rem 0;border:1px solid rgba(151,115,58,.42);border-radius:4px;background:rgba(255,248,224,.78);box-shadow:0 3px 8px rgba(74,50,20,.12)}.evidence-card:hover{background:rgba(255,252,239,.95)}.evidence-card.inspected{background:rgba(218,232,208,.9)}.evidence-icon{border:2px solid #b28742;border-radius:50%;background:#fff3ce}.observation{margin:.65rem .45rem .2rem;border:2px solid #c1974e;border-left-width:5px;background:rgba(9,46,38,.94);box-shadow:inset 0 0 18px rgba(0,0,0,.24)}
.telegram-slip{margin:.65rem .6rem 1rem;padding:1rem 1.15rem;background:rgba(255,248,225,.88);border:1px solid #a58146;box-shadow:0 3px 8px rgba(75,55,30,.18)}.wheel-workbench{padding:.7rem .8rem 1rem}.cipher-wheel{width:220px;aspect-ratio:1;margin:auto;position:relative;display:grid;place-items:center;background:none;border:0;border-radius:50%;box-shadow:none;filter:drop-shadow(0 8px 8px rgba(45,25,6,.3));transform:none!important}.cipher-wheel::before,.cipher-wheel span{display:none}.cipher-wheel-disc{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:transform .42s cubic-bezier(.2,.75,.2,1)}.cipher-wheel strong{position:relative;z-index:2;display:grid;place-items:center;width:25%;aspect-ratio:1;border-radius:50%;background:#0a2c26;color:#f6d47e;font:700 2rem var(--serif);text-shadow:0 2px 3px #000;box-shadow:inset 0 0 0 3px #c79845}.shift-control{padding:.7rem;border-radius:4px;background:rgba(255,247,223,.82)}.stepper button{border:2px solid #b98b3f;background:linear-gradient(#1d5246,#0a2c26)}.stepper output{border-color:#b98b3f;background:#fff8df}.alphabet-readout{border:2px solid #b98b3f;background:rgba(7,43,36,.96)}.decoder-output{margin:.2rem .6rem .5rem;padding:1rem;border:2px solid #b98b3f;border-radius:4px;background:rgba(5,42,35,.94);color:#fff4dc}.decoder-output span{color:#dcb764}.decoder-output code{color:#fff}.team-portraits button{border:2px solid #b58a43;border-radius:4px;background:#fff2cd;box-shadow:0 3px 8px rgba(0,0,0,.15)}.portrait{border:4px solid #c69a4e;box-shadow:0 0 0 2px #123b32}.team-panel blockquote{border:2px solid #ba8c43;border-left:5px solid var(--burgundy)}
.primary,.secondary,.hints button{min-height:52px;padding:.9rem 2rem;background-color:transparent!important;background-image:url("assets/baker-street-ui/button-normal.webp")!important;background-position:center!important;background-repeat:no-repeat!important;background-size:100% 100%!important;border:0!important;color:#fff7e4!important;text-shadow:0 1px 2px #350b10;box-shadow:none!important;filter:drop-shadow(0 5px 4px rgba(0,0,0,.26))}.primary:hover,.secondary:hover,.hints button:hover{background-color:transparent!important;filter:brightness(1.06) drop-shadow(0 5px 4px rgba(0,0,0,.26))}.primary:active,.secondary:active,.hints button:active{background-image:url("assets/baker-street-ui/button-pressed.webp")!important;transform:translateY(2px);filter:drop-shadow(0 2px 2px rgba(0,0,0,.2))}
.conclusion-panel{padding:1rem 1rem 1.35rem;background:linear-gradient(145deg,#f4e8ca,#dac394)}.answer-row input{border:2px solid #a47b3f;box-shadow:inset 0 2px 7px rgba(87,57,23,.12)}
.solved-dialog{width:min(920px,calc(100vw - 1.25rem));display:none;padding:0;background:transparent;border:0;box-shadow:none;overflow:visible}.solved-dialog[open]{display:block}.solved-shell{min-height:650px;padding:8.5% 10% 7%;background:transparent url("assets/baker-street-ui/case-report.webp") center/100% 100% no-repeat;filter:drop-shadow(0 28px 45px rgba(0,0,0,.68))}.solved-copy{padding:0}.solved-copy .eyebrow{text-align:center;margin-bottom:.35rem}.solved-copy h2{text-align:center;margin:.2rem auto 1.3rem;font-size:clamp(2rem,5vw,3.4rem);max-width:700px}.solved-body{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;align-items:stretch}.solved-art{min-height:190px;height:190px;border:3px solid #af813d;overflow:hidden;background:#132f29}.solved-art img{width:100%;height:100%;object-fit:cover;object-position:52% 30%}.solved-copy .solved-body>p{display:grid;align-content:center;margin:0;padding:1rem;border:2px solid #b08442;background:rgba(255,247,221,.7);font:400 .88rem/1.65 var(--serif)}.solved-copy dl{margin:1.1rem auto .85rem;border:0;padding:.3rem 0;max-width:580px}.solved-copy dl div{border-right:1px solid #a98448}.solved-actions{justify-content:center}.solved-actions a{min-height:52px;display:grid;place-items:center;padding:.7rem 1.6rem;background:url("assets/baker-street-ui/button-normal.webp") center/100% 100% no-repeat;color:#fff7e4;text-decoration:none;text-shadow:0 1px 2px #350b10;filter:drop-shadow(0 5px 4px rgba(0,0,0,.26))}
@media(max-width:1080px){.case-bar{padding-inline:5rem}.cipher-wheel{width:195px}}
@media(max-width:760px){.game{padding-top:.5rem}.case-bar{width:calc(100% - .5rem);min-height:150px;padding:2rem 2.1rem 1.7rem;grid-template-columns:1fr auto;background-image:none;border:3px solid #b68a42;outline:3px solid #0d3029;outline-offset:-7px;background-color:#efe0bd}.case-bar>div:first-child strong,.case-bar dt,.case-bar dd{color:#14231f}.case-tools{justify-content:stretch}.case-tools button{flex:1}.evidence-panel,.cipher-panel{padding:1rem}.panel::before{opacity:.34}.cipher-wheel{width:210px}.solved-shell{min-height:720px;padding:4.8rem 2.1rem 3.4rem}.solved-body{grid-template-columns:1fr}.solved-art{height:170px;min-height:170px}.solved-copy .solved-body>p{font-size:.78rem}.solved-actions{grid-template-columns:1fr;gap:.35rem}.solved-actions a{text-align:center}.solved-copy h2{font-size:2rem}.solved-copy dl{gap:0}}
@media(max-width:430px){.case-bar{padding-inline:1.35rem}.case-bar dl div{min-width:62px}.case-tools button{padding:.5rem .7rem}.solved-shell{padding:4.2rem 1.45rem 3rem}.solved-copy dl{font-size:.85rem}.solved-art{height:150px;min-height:150px}}
@media(prefers-reduced-motion:reduce){.cipher-wheel-disc{transition:none}}
.solved-shell{position:relative}.solved-copy{padding-top:3.15rem}.solved-copy h2{margin:.2rem auto .85rem;font-size:clamp(1.55rem,2.8vw,2.1rem);line-height:1.08;max-width:720px;white-space:nowrap}.solved-actions{position:absolute;left:10%;right:10%;bottom:14%;margin:0}
@media(max-width:760px){.solved-copy{padding-top:1.4rem}.solved-copy h2{font-size:1.7rem;white-space:normal}.solved-actions{position:static;margin-top:.7rem}}

/* Final button pass: every live action label is optically centered while
   evidence rows keep their intentional reading layout. */
button:not(.evidence-card){text-align:center}
.primary,.secondary,.hints button,.case-tools button,.stepper button,
.rules-dialog>form:first-child button,.solved-actions .primary{
  display:inline-grid;
  place-items:center;
  align-content:center;
}
.decoder-output .primary,.answer-row .primary,.rules-dialog>#begin-investigation{
  display:grid;
  place-items:center;
  align-content:center;
}
