:root{--wall:#5c1a22;--wall-night:#3a0e15;--label:#f7f4ee;--ink:#17202c;--lamp:#ffdfa3;--alarm:#d4142f;--walnut:#2a190e;--display:"Futura", "Futura PT", "Century Gothic", "Avenir Next", "Trebuchet MS", sans-serif;--book:"Baskerville", "Libre Baskerville", "Baskerville Old Face", Georgia, serif;--hand:"Noteworthy", "Bradley Hand", "Segoe Print", "Comic Neue", cursive;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--wall-night)}body{min-height:100dvh;color:var(--label);font:18px/1.5 var(--book);background:linear-gradient(180deg, #00000073, transparent 22%, transparent 78%, #0006), repeating-linear-gradient(90deg, #ffffff06 0 2px, transparent 2px 11px), var(--wall);margin:0;transition:background-color 1.2s}body:before{content:"";pointer-events:none;opacity:0;z-index:5;background:linear-gradient(105deg,#ffd2966b,#ffd29614 45%,#0000 70%);transition:opacity 1.4s;position:fixed;inset:0}body.dawn:before{opacity:1}body.alarm:after{content:"";pointer-events:none;box-shadow:inset 0 0 0 6px var(--alarm), inset 0 0 120px #d4142f8c;z-index:6;animation:.9s ease-out forwards siren;position:fixed;inset:0}button{font:inherit;color:inherit}a{color:var(--lamp)}h1,h2{font-family:var(--display);letter-spacing:.01em;font-weight:500}.screen{max-width:820px;padding:max(16px, env(safe-area-inset-top)) 18px 0;margin:0 auto}.primary,.secondary,.genuine,.forgery{cursor:pointer;min-height:48px;font:500 17px/1 var(--display);letter-spacing:.02em;border-radius:3px;padding:0 22px;transition:transform .1s}.primary,.genuine{background:var(--label);color:var(--ink);border:0}.secondary{background:0 0;border:1.5px solid}.forgery{background:var(--alarm);color:#fff;border:0}.link{cursor:pointer;min-height:44px;font:17px var(--display);color:var(--lamp);text-underline-offset:5px;background:0 0;border:0;padding:10px 4px;text-decoration:underline}.primary:active,.secondary:active,.genuine:active,.forgery:active{transform:translateY(1px)}:focus-visible{outline:3px solid var(--lamp);outline-offset:3px}.hero{gap:22px;padding:26px 0 8px;display:grid}.hero-frame{background:linear-gradient(135deg, #4b2f1b, var(--walnut) 60%);isolation:isolate;padding:14px;position:relative;box-shadow:0 26px 30px -14px #000000b3}.hero-frame:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(50% 45% at 50% 20%,#ffdfa347,#0000 70%);width:120%;height:160%;position:absolute;top:-60px;left:50%;transform:translate(-50%)}.hero-art svg{aspect-ratio:16/10;width:100%;height:auto;display:block}.hero-label{background:var(--label);color:var(--ink);max-width:34em;padding:20px 20px 16px;box-shadow:0 6px 16px #00000059}.hero-label h1{margin:0 0 12px;font-size:clamp(34px,8vw,50px);line-height:1.05}.hero-label p{margin:0 0 12px}.hero-label .aside{color:#4a4f57;font-style:italic}.hero-label .link{color:var(--ink)}.hero-label .primary{background:var(--ink);color:var(--label)}.actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;display:flex}.tonight,.room-entry{max-width:40em;padding:30px 0 6px}.tonight h2,.room-entry h2{margin:0 0 8px;font-size:26px;line-height:1.2}.tonight p{margin:0 0 12px}.streak{color:var(--lamp)}.epigraph{margin:0 0 4px;font-style:italic}.tally{color:#f7f4eeb8;margin:0 0 14px;font-size:16px}.cases{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px 10px;display:grid}.case{aspect-ratio:1;cursor:pointer;border:5px solid var(--walnut);background:#00000047;border-radius:1px;align-content:center;place-items:center;gap:2px;display:grid;box-shadow:0 8px 10px -6px #0009}.case .num{font:500 18px var(--display)}.case .stars{letter-spacing:-1px;color:var(--ink);font-size:16px;line-height:1}.case.solved{background:var(--lamp);color:var(--ink)}.case:disabled{opacity:.32;cursor:default}footer{color:#f7f4eeb3;padding:34px 0 30px;font-size:16px}.bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2px 12px;margin-bottom:26px;display:flex}.heading{flex-basis:100%;order:3}.heading h1{margin:0;font-size:28px;line-height:1.15}.heading p{color:#f7f4eebf;margin:0;font-size:16px}.alarms{font:16px var(--display);color:var(--lamp);margin:0}.wall{align-items:start;gap:40px 16px;margin:0 auto;padding-top:14px;display:grid}.wall.cols-2{--frame:70%;grid-template-columns:repeat(2,minmax(0,1fr));max-width:580px}.wall.cols-3{--frame:100%;grid-template-columns:repeat(3,minmax(0,1fr))}.painting{cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex-direction:column;align-items:center;gap:12px;padding:0;display:flex;position:relative}.lamp{z-index:0;background:linear-gradient(#c9a35e,#6b4c1f);border-radius:3px;width:34%;height:6px;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.lamp:after{content:"";opacity:0;pointer-events:none;background:radial-gradient(50% 50% at 50% 0,#ffdfa380,#0000 75%);width:340%;height:520%;transition:opacity .6s;position:absolute;top:4px;left:50%;transform:translate(-50%)}.slot{width:var(--frame);aspect-ratio:1;z-index:1;display:block;position:relative}.frame{background:linear-gradient(135deg, #4b2f1b, var(--walnut) 55%, #1a0f07);width:100%;height:100%;padding:6%;transition:transform .25s;display:block;box-shadow:0 18px 20px -10px #000000b3}.canvas{width:100%;height:100%;display:block;overflow:hidden;box-shadow:inset 0 0 0 1px #0009}.canvas svg{filter:brightness(.72)saturate(.85);width:100%;height:100%;transition:filter .6s;display:block}.label{z-index:1;width:100%;color:var(--ink);background:var(--label);padding:9px 11px 10px;font-size:16px;line-height:1.32;display:block;position:relative;box-shadow:0 4px 10px #00000059}.name{font:500 16px/1.3 var(--display);margin-bottom:3px;display:block}.claim{display:block}.pencil{font:19px/1.2 var(--hand);color:#5b5f66;margin-top:4px;display:block;transform:rotate(-3deg)}.pencil:empty{display:none}.stamp{white-space:nowrap;color:var(--alarm);border:3px solid var(--alarm);font:700 22px/1.1 var(--display);letter-spacing:.04em;opacity:0;pointer-events:none;background:#f7f4eed9;border-radius:3px;padding:2px 10px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-11deg)scale(1.7)}.painting.selected .frame{outline:3px solid var(--lamp);outline-offset:5px;transform:translateY(-4px)}.painting.selected .canvas svg{filter:brightness(.92)}.painting[data-state=genuine] .lamp:after{opacity:1}.painting[data-state=genuine] .canvas svg{filter:none}.painting[data-state=genuine] .name:after{content:" (genuine)";color:#1f6b3d}.painting[data-state=forgery] .slot{background:#ffc4b412;box-shadow:inset 0 0 0 1px #ffffff0f}.painting[data-state=forgery] .slot:before{content:"";background:#1c0a0c;border-radius:50%;width:6px;height:6px;margin-left:-3px;position:absolute;top:8px;left:50%}.painting[data-state=forgery] .frame{animation:.75s cubic-bezier(.55,0,.9,.4) forwards torn}.painting[data-state=forgery] .claim{text-decoration:line-through;-webkit-text-decoration-color:var(--alarm);text-decoration-color:var(--alarm);color:#5e5a54}.painting[data-state=forgery] .stamp{opacity:1;transition:transform .22s cubic-bezier(.3,1.6,.5,1) .5s,opacity .1s linear .5s;transform:translate(-50%,-50%)rotate(-11deg)scale(1)}.painting[data-state=open],.painting[data-state=open] *{cursor:pointer}.painting:not([data-state=open]){cursor:default}.painting.alarm .label{animation:.5s shake}.painting.hint .lamp:after{animation:1.2s glow}.dock{z-index:4;padding:14px 18px max(14px, env(safe-area-inset-bottom));background:#20070bf2;border-top:1px solid #ffdfa340;margin:34px -18px 0;position:sticky;bottom:0}.idle{align-items:center;gap:14px;display:flex}.message{flex:1;align-items:center;min-height:3em;margin:0;font-style:italic;display:flex}.active,.dock.choosing .idle{display:none}.dock.choosing .active{display:block}.chosen{margin:0 0 10px;font-size:17px;line-height:1.35}.chosen strong{font:500 17px var(--display)}.calls{grid-template-columns:1fr 1fr;gap:10px;display:grid}.notes{flex-wrap:wrap;align-items:center;gap:0 12px;margin-top:6px;font-size:16px;display:flex}.notes .link{font-size:16px}@keyframes torn{0%{transform:none}25%{transform:rotate(-4deg)}to{opacity:0;visibility:hidden;transform:translateY(70px)rotate(14deg)}}@keyframes shake{20%,60%{transform:translate(-7px)}40%,80%{transform:translate(7px)}}@keyframes glow{0%,to{opacity:0}40%{opacity:1}}@keyframes siren{0%,30%{opacity:1}15%{opacity:.4}to{opacity:0}}.overlay{color:var(--ink);background:0 0;border:0;width:min(460px,100vw - 28px);padding:0}.overlay::backdrop{background:#140408b8}.sheet{background:var(--label);padding:26px 24px 20px;box-shadow:0 24px 60px #0009}.sheet h2{margin:0 0 10px;font-size:32px;line-height:1.1}.sheet p{margin:0 0 10px}.stars.big{letter-spacing:2px;margin:0 0 6px;font-size:30px}.sheet blockquote{border-left:3px solid var(--alarm);margin:14px 0 20px;padding-left:14px;font-size:20px;font-style:italic}.sheet ol{margin:0 0 18px;padding-left:1.3em}.sheet li{margin:8px 0}.sheet .link{color:var(--ink)}.sheet .primary{background:var(--ink);color:var(--label)}@media (min-width:760px){.hero{grid-template-columns:1.35fr 1fr;align-items:end}.heading{text-align:center;flex-basis:auto;order:0}}@media (max-width:420px){.screen{padding-left:12px;padding-right:12px}.dock{margin-left:-12px;margin-right:-12px}.wall.cols-3{gap:34px 8px}.label{padding:7px 7px 8px}.cases{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation-duration:10ms!important}}
