:root{--ink:#18120e;--wood:#130f0c;--wood2:#211813;--paper:#d8c7a3;--paper2:#b9a47d;--red:#8d281f;--gold:#b99352;--cream:#f1e6cb;--muted:#b7a98d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--wood);color:var(--cream);font-family:Manrope,Arial,sans-serif;overflow-x:hidden;background-image:radial-gradient(circle at 70% 15%,#4a342222 0,transparent 35%),repeating-linear-gradient(90deg,#ffffff02 0 1px,transparent 1px 6px)}button,a,input{font:inherit}button,a{touch-action:manipulation}.topbar{height:58px;padding:0 clamp(14px,4vw,64px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #8e765342;font-size:11px;letter-spacing:.14em}.brand{color:var(--cream);text-decoration:none;font-weight:700}.brand b{color:#a43a2d}.hero{min-height:calc(100svh - 58px);padding:8vh clamp(18px,8vw,140px);display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,360px);gap:7vw;align-items:center;position:relative}.hero:before{content:"";position:absolute;inset:5% 4%;border:1px solid #b9935229;pointer-events:none}.hero-copy,.brief{position:relative}.eyebrow{color:var(--gold);font-size:11px;letter-spacing:.2em;text-transform:uppercase}.hero h1{font-family:Georgia,serif;font-size:clamp(54px,8.5vw,140px);line-height:.73;letter-spacing:-.055em;margin:.26em 0 .34em}.hero h1 em{font-size:.55em;font-weight:400;color:var(--paper);margin-left:10%;letter-spacing:-.02em}.subtitle{max-width:660px;font:clamp(17px,2vw,25px)/1.45 Georgia,serif;color:#d8ccb5}.brief{border:1px solid #9f87634d;background:#1d1612dd;padding:28px;transform:rotate(1deg);box-shadow:0 25px 70px #0007}.brief span{display:inline-block;border:2px solid var(--red);color:#d87867;padding:5px 9px;letter-spacing:.18em;font-size:11px}.brief p{font:18px/1.55 Georgia,serif}.brief small{color:var(--muted)}button{border:1px solid #8f7855;background:#241b15;color:var(--cream);min-height:44px;padding:10px 15px;cursor:pointer}.primary{background:var(--red);border-color:#b14a3c;font-weight:700}.text-button{border:0;background:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #e7b761;outline-offset:3px}.case-select,.workspace{padding:clamp(50px,7vw,110px) clamp(14px,5vw,80px);min-height:100dvh}.section-head,.work-head,.work-tools{display:flex;align-items:flex-end;justify-content:space-between;gap:25px}.section-head h2,.work-head h2{font:clamp(38px,5vw,78px)/.9 Georgia,serif;margin:.2em 0}.mode{text-align:right;color:var(--muted);font-size:13px}.mode label{display:block;min-height:32px}.case-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:42px}.case-card{position:relative;min-height:390px;border:1px solid #8e765342;background:#1b1511;display:flex;flex-direction:column;overflow:hidden}.case-card img{width:100%;height:180px;object-fit:cover;filter:saturate(.65) sepia(.18)}.case-card .case-body{padding:18px;display:flex;flex:1;flex-direction:column}.case-card h3{font:26px/1 Georgia,serif;margin:12px 0}.case-card p{color:var(--muted);font-size:12px}.case-card button{margin-top:auto;width:100%}.case-card.planned{opacity:.76}.case-num{color:var(--gold);font-size:11px;letter-spacing:.16em}.closed:after{content:"ЗАКРЫТО";position:absolute;right:-22px;top:28px;background:var(--red);padding:5px 28px;transform:rotate(35deg);font-size:10px;letter-spacing:.14em}.workspace{background:#17120f}.work-head{align-items:center}.work-head h2{font-size:clamp(32px,4vw,60px)}.steps{display:flex;gap:4px}.steps span{padding:9px 12px;border-bottom:1px solid #76634b;color:#8d806e;font-size:11px}.steps .active{color:var(--cream);border-color:var(--red)}.steps .done{color:#c9a86c}.work-tools{margin:22px 0;align-items:center}.work-tools p{max-width:680px;color:var(--paper);min-height:2.8em}.work-tools>div{display:flex;gap:8px}.stage{max-width:1180px;margin:0 auto}.puzzle-board{width:min(100%,880px);aspect-ratio:1.47;margin:auto;display:grid;background:#090806;border:8px solid #3e2a1d;box-shadow:0 22px 65px #0008;overflow:hidden}.piece{position:relative;border:0;min-height:0;padding:0;background-repeat:no-repeat;transition:transform .25s,filter .25s;touch-action:none}.piece:after{content:"";position:absolute;inset:0;border:1px solid #5e4528aa}.piece.selected{filter:brightness(1.16);outline:4px solid #bb3828;outline-offset:-4px;z-index:2}.piece.correct:after{border-color:#c9a25966;box-shadow:inset 0 0 12px #d2a6563b}.piece-tools{display:flex;justify-content:center;align-items:center;gap:15px;margin:18px}.piece-tools span{font-size:12px;color:var(--muted)}#inspectStage>h3,#conclusionStage>h3{font:clamp(32px,5vw,62px)/1 Georgia,serif;margin-bottom:10px}.map-inspection{width:min(100%,1000px);aspect-ratio:1.47;margin:25px auto;position:relative;overflow:hidden;border:8px solid #3e2a1d;background:#080604}.map-inspection img{width:100%;height:100%;object-fit:fill;display:block;filter:saturate(.7)}.lens{position:absolute;width:clamp(90px,18vw,190px);aspect-ratio:1;border:5px solid #ad8a4f;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 9999px #08060470,inset 0 0 20px #0005;pointer-events:none}.lens:after{content:"";position:absolute;width:48%;height:10px;background:#9a763f;right:-38%;bottom:-15%;transform:rotate(45deg);border:2px solid #d0ab67}.map-marker{position:absolute;inset:0;width:100%;height:100%;opacity:0;border:0}.inspect-controls{display:flex;flex-wrap:wrap;align-items:end;justify-content:center;gap:14px}.inspect-controls label{display:grid;gap:7px;color:var(--muted);font-size:11px}.inspect-controls input{width:min(230px,68vw)}.evidence{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:0;list-style:none;margin:35px 0}.evidence button{width:100%;height:100%;min-height:220px;text-align:left;background:var(--paper);color:var(--ink);border:3px solid transparent;padding:20px}.evidence button.selected{border-color:var(--red);transform:translateY(-5px)}.evidence time{color:var(--red);font-size:11px;font-weight:800}.evidence h4{font:25px/1.05 Georgia,serif;margin:16px 0}.evidence p{font-size:13px;line-height:1.5}.evidence-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}dialog{width:min(1000px,94vw);max-height:92dvh;padding:0;border:1px solid #9c8157;background:var(--paper);color:var(--ink);box-shadow:0 30px 100px #000}dialog::backdrop{background:#090705dc}.result-copy{padding:clamp(24px,5vw,70px)}.result-copy h2{font:clamp(42px,6vw,80px)/.9 Georgia,serif;margin:.2em 0}.stamp{float:right;border:6px double var(--red);color:var(--red);padding:10px;transform:rotate(-8deg);font-weight:900;letter-spacing:.15em;text-align:center;margin:25px}.result-copy dl{display:grid;grid-template-columns:180px 1fr;border-top:1px solid #7d6b50;margin:32px 0}.result-copy dt,.result-copy dd{padding:12px 0;border-bottom:1px solid #9d896a55;margin:0}.result-copy dt{font-size:11px;text-transform:uppercase;letter-spacing:.12em}.source-card{background:#bca780;padding:18px;font-size:13px}.source-card a{color:#5d1712}.dialog-actions{display:flex;gap:10px;margin-top:22px}.map-dialog{width:96vw;height:94dvh;background:#0e0b09}.map-dialog img{width:100%;height:100%;object-fit:contain}.map-dialog button{position:absolute;right:12px;top:12px;z-index:2}footer{padding:25px 5vw;border-top:1px solid #4b3a2d;display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}footer a{color:var(--cream)}.noscript{padding:14px;background:#8d281f}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:900px){.case-grid{grid-template-columns:repeat(2,1fr)}.hero{grid-template-columns:1fr}.brief{max-width:480px}.work-head{align-items:flex-start;flex-wrap:wrap}.steps{order:3;width:100%;overflow:auto}.evidence{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.topbar{font-size:9px}.topbar>span{max-width:125px;text-align:right}.hero{padding-top:55px}.hero h1{hyphens:auto;font-size:clamp(50px,18vw,84px)}.case-select,.workspace{padding-left:10px;padding-right:10px}.section-head{display:block}.mode{text-align:left}.case-grid{grid-template-columns:1fr}.case-card{min-height:330px}.case-card img{height:150px}.work-tools{display:block}.work-tools>div{display:grid;grid-template-columns:1fr 1fr}.puzzle-board{border-width:4px}.piece-tools{align-items:stretch}.evidence{grid-template-columns:1fr}.evidence button{min-height:160px}.inspect-controls{display:grid}.inspect-controls input{width:85vw}.stamp{float:none;display:inline-block}.result-copy dl{grid-template-columns:1fr}.result-copy dd{padding-top:0}.dialog-actions{display:grid}footer{display:block}footer span{display:block;margin-top:12px}}
@media(max-width:300px){.hero h1{font-size:47px}.work-tools>div{grid-template-columns:1fr}.piece-tools{display:grid}.steps span{padding:8px 5px;font-size:9px}.evidence-actions{display:grid}.evidence-actions button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
input{min-width:24px;min-height:24px}a{min-height:24px;display:inline-flex;align-items:center}
/* Заключение по делу тоже должно закрываться явной кнопкой, а не только двумя
   действиями внизу: окно длинное, и кнопки уезжают из виду при прокрутке. */
.dialog-close{position:absolute;right:12px;top:12px;z-index:2;min-height:32px;padding:7px 11px;font-size:11px;letter-spacing:.1em}
.collection-dialog{width:min(1120px,94vw)}.collection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-top:28px}.collection-card{border:1px solid #826d4d;background:#cdbb96;padding:14px;display:flex;flex-direction:column;min-height:350px}.collection-card img,.collection-lock{width:100%;height:150px;object-fit:cover;margin-bottom:14px}.collection-lock{display:grid;place-items:center;background:#988666;color:#e4d7bb;font:70px/1 Georgia,serif}.collection-card h3{font:25px/1.05 Georgia,serif;margin:9px 0}.collection-card p{font-size:12px;line-height:1.5}.collection-card button{margin-top:auto}.collection-card.locked{color:#504738}.collection-card.locked .case-num{color:#6f6048}
#resultDialog .stamp{margin-top:58px} /* печать «дело закрыто» уступает место кнопке закрытия */
