:root{color-scheme:dark;--ink:#0e1312;--paper:#eee9dc;--muted:#b0b2a8;--gold:#b4a078;--line:rgba(190,173,132,.25);--red:#a04e49;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{min-width:320px;background:var(--ink);scroll-behavior:smooth}body{margin:0;color:var(--paper);font:15px/1.6 var(--sans);min-height:100svh}button,input{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.38}button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid #e4c893;outline-offset:5px}button{transition:background .2s,color .2s,border-color .2s,transform .2s}a{color:inherit}.backdrop{position:fixed;inset:0;background:linear-gradient(90deg,rgba(7,13,13,.45),transparent 75%),url('assets/cistern.png') center/cover;z-index:-3}.backdrop:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0e1312 0%,transparent 34%,rgba(7,11,11,.15))}.grain{position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.4' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.topbar{height:104px;margin:0 5.2%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(211,199,164,.17);position:relative;z-index:2;gap:24px}.brand{display:flex;align-items:center;gap:16px;background:none;border:0;padding:8px 0;letter-spacing:.23em;font-size:12px}.brand svg{width:35px;height:35px;stroke:var(--gold);fill:none;stroke-width:1}.top-right{display:flex;align-items:center;gap:55px}.edition{font-size:9px;color:#b9b9ae;letter-spacing:.17em}.languages{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.1em}.languages span{color:#62665f}.languages button{background:none;border:0;padding:12px 3px;color:#a8aaa0}.languages button[aria-pressed=true]{color:var(--paper);border-bottom:1px solid var(--gold)}main{min-height:calc(100svh - 189px)}.hero{padding:8.2vh 7% 5vh;min-height:calc(100svh - 189px);display:flex;flex-direction:column;justify-content:space-between;position:relative}.hero-copy{max-width:590px;animation:arrive 1.3s both}.eyebrow{color:var(--gold);font-size:10px;font-weight:400;letter-spacing:.26em;text-transform:uppercase;display:flex;align-items:center;gap:14px}.eyebrow:before{content:'';display:inline-block;width:30px;height:1px;background:var(--gold)}h1,h2,h3,p{margin:0}h1{font:clamp(80px,8.9vw,142px)/.92 var(--serif);font-weight:400;letter-spacing:-.065em;margin:28px 0}em{font-weight:400;color:#c9b78f}h1 em{font-style:normal}.hero-intro{font:19px/1.65 var(--serif);color:#c3c4ba;margin:24px 0 30px}.primary{border:1px solid var(--gold);background:rgba(13,20,18,.68);padding:17px 24px;font-size:11px;letter-spacing:.1em;display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:52px}.primary:hover{background:#b7a37b;color:#101713}.primary .arrow{font-size:21px;line-height:1}.entry-note{font-size:11px;color:#a9ada3;margin:14px 0}.hero-side{position:absolute;right:6%;top:47%;writing-mode:vertical-rl;font-size:9px;letter-spacing:.25em;color:#d2c4a4}.act-preview{margin-top:60px;width:min(790px,100%);display:grid;grid-template-columns:repeat(3,1fr);gap:34px;padding-top:25px}.act-preview article{border-top:1px solid var(--line);padding-top:18px;display:flex;align-items:start;gap:14px}.roman{font:18px var(--serif);color:var(--gold);width:24px}.act-preview h3{font:20px var(--serif);margin:0 0 9px}.act-preview p{font-size:11px;color:var(--muted)}.hero-bottom{display:flex;align-items:center;justify-content:space-between;max-width:790px;margin-top:28px;gap:16px}.quiet{font-size:10px;color:var(--muted);letter-spacing:.02em}.text-link{background:none;border:0;border-bottom:1px solid #6e725f;padding:4px 0;font-size:11px;color:#c3c6b8;letter-spacing:.03em}.text-link:hover{color:#fff;border-color:var(--gold)}.bottom-bar{margin:0 5.2%;min-height:85px;display:flex;align-items:center;gap:28px;position:relative}.footer-line{height:1px;flex:1;background:var(--line)}.audio-controls{display:flex;align-items:center;gap:18px}.audio-controls button{border:0;background:none;display:flex;align-items:center;gap:12px;font-size:9px;letter-spacing:.13em;padding:12px 0}.audio-controls svg{width:19px;height:19px;fill:none;stroke:var(--gold);stroke-width:1.3}.audio-controls input{width:60px;accent-color:var(--gold);height:3px}.game-view~*{}body.playing .backdrop{filter:brightness(.28);transition:filter .8s}body.playing .backdrop:after{background:linear-gradient(0deg,#0e1312,transparent)}.game-view{padding:28px 6% 25px;max-width:1600px;margin:auto;animation:arrive .7s both}.game-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:36px;gap:20px}.progress{display:flex;align-items:center;gap:20px}.progress-item{display:flex;align-items:center;gap:9px;font-size:10px;color:#858b80}.progress-item .seal{width:28px;height:28px;border:1px solid #565e50;border-radius:50%;display:grid;place-items:center;font-family:var(--serif)}.progress-item.current{color:var(--paper)}.progress-item.current .seal{border-color:var(--gold);box-shadow:0 0 17px #bb9c6220}.progress-item.done{color:#c4b28b}.progress-line{height:1px;width:25px;background:var(--line)}.tools{display:flex;gap:22px}.tools button{white-space:nowrap}.game-layout{display:grid;grid-template-columns:minmax(250px,.85fr) minmax(360px,1.15fr);gap:7%;align-items:center;min-height:560px}.game-copy{max-width:450px}.game-copy h2{font:clamp(32px,3.6vw,55px)/1.15 var(--serif);letter-spacing:-.025em;margin:20px 0}.game-copy>p{color:#bfc3b7;font-size:14px;line-height:1.85}.inscription{margin:30px 0 22px;padding:20px 0 20px 20px;border-left:1px solid #8f7955}.small-label{display:block;font-size:9px;letter-spacing:.17em;color:var(--gold);margin-bottom:13px}.inscription p{font:18px/1.6 var(--serif);color:#ded5bc}.game-copy .help{font-size:12px;color:#a2aaa0;line-height:1.75}.game-status{margin-top:32px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:10px;color:#9da597}.game-status .path-code{letter-spacing:.17em;color:#b29d74}.puzzle{width:100%;max-width:560px;justify-self:center}.reflector{position:relative;height:300px;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden;background:radial-gradient(ellipse at 50% 42%,#b1a16c15,transparent 60%);border:1px solid var(--line);border-radius:50% 50% 5px 5px / 43% 43% 5px 5px}.reflector:before{content:'';position:absolute;width:150%;height:1px;background:linear-gradient(90deg,transparent,#b1a07170,transparent);top:56%}.reflector .beam{position:absolute;left:50%;bottom:0;width:45%;height:130%;transform-origin:50% 100%;background:linear-gradient(0deg,transparent,#b6aa6d0a);clip-path:polygon(50% 100%,0 0,100% 0)}.wall-sign{font:78px/1.2 var(--serif);text-shadow:0 0 26px #e8c38f40;z-index:1}.water-sign{font:66px/1.2 var(--serif);color:#a7af9a;transform:scaleY(-1);opacity:.7;filter:blur(.5px);margin-top:26px;z-index:1}.reflection-caption{position:absolute;font-size:8px;letter-spacing:.2em;color:#a4ab9b;left:25px}.reflection-caption.top{top:45%}.reflection-caption.bottom{top:69%}.dial-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:17px 0 22px}.dial-row .dial-meta{font-size:9px;letter-spacing:.1em;min-width:80px;color:var(--muted)}.directions{display:flex;justify-content:center;gap:4px;flex-wrap:wrap}.directions button{border:1px solid transparent;border-radius:50%;background:none;width:32px;height:32px;font-size:11px;color:#b1b4a8}.directions button.seen{border-color:#414c40}.directions button.selected{border-color:var(--gold);color:#f5dbac;background:#b4a07810}.input-panel{text-align:center;padding-top:6px}.input-panel .small-label{margin-bottom:10px}.slots{display:flex;align-items:center;justify-content:center;gap:11px;margin:10px 0 17px}.slot{display:grid;place-items:center;width:52px;height:55px;border-bottom:1px solid #a08b66;color:#e4d7b6;font:31px var(--serif);background:linear-gradient(0deg,#b09a5c08,transparent)}.glyph-buttons{display:flex;justify-content:center;gap:8px;margin:10px 0 20px}.glyph-buttons button{width:47px;height:45px;border:1px solid #74836a4a;background:#111b16d4;font:26px var(--serif);color:#d4c9ac}.glyph-buttons button:hover{border-color:var(--gold);background:#a89b6b22}.input-actions{display:flex;align-items:center;justify-content:center;gap:25px}.input-actions .primary{min-height:42px;padding:12px 18px;gap:16px;font-size:10px}.ring-machine{width:min(100%,430px);margin:auto;position:relative}.ring-machine svg{width:100%;height:auto;display:block;overflow:visible}.ring-machine .ring-surface{fill:#152019;stroke:#9c8c6640;stroke-width:1}.ring-machine text{font:21px var(--serif);fill:#c5b78f;dominant-baseline:middle;text-anchor:middle}.ring-machine .target-notch{stroke:#d8b884;stroke-width:2}.ring-machine .ring-orbit{fill:none;stroke:#83906f30;stroke-dasharray:2 9}.ring-machine .ring-center{fill:#c1a778}.ring-machine .aligned-glow{stroke:#d8bf7d;stroke-width:2;filter:drop-shadow(0 0 5px #d8bf7d60)}.ring-controls{display:grid;gap:8px;max-width:450px;margin:4px auto 0}.ring-control{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:8px 0}.ring-control .ring-label{flex:1;font-size:11px;color:#c6cbbb}.ring-control .target-glyph{font:22px var(--serif);color:var(--gold);margin-right:4px}.ring-control .aligned-label{font-size:9px;color:#c9b98e}.circle-button{width:38px;height:38px;border-radius:50%;border:1px solid #827456;background:#131c16;font-size:20px}.circle-button:hover{background:#8d795c40}.ring-footer{margin-top:18px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.ring-footer .primary{font-size:10px;padding:13px 18px;min-height:44px;gap:12px}.ring-footer .text-link{font-size:10px}.memory-wheel{width:320px;height:320px;margin:0 auto 15px;position:relative;border:1px solid var(--line);border-radius:50%;background:radial-gradient(circle,#b69d5c0c,transparent 65%)}.memory-wheel:before{content:'';position:absolute;inset:38px;border:1px solid #88967525;border-radius:50%}.memory-wheel svg{width:100%;height:100%;position:absolute;inset:0}.memory-wheel line{stroke:#ad9d7044;stroke-width:1;stroke-dasharray:3 6}.memory-wheel .wheel-sign{position:absolute;transform:translate(-50%,-50%);font:34px var(--serif);color:#d2bd8e;background:#151e18;border-radius:50%;width:52px;height:52px;display:grid;place-items:center;border:1px solid var(--line)}.memory-wheel .wheel-center{position:absolute;inset:calc(50% - 18px);width:36px;height:36px;border:1px solid #b69d5c60;transform:rotate(45deg)}dialog{width:min(640px,calc(100% - 32px));max-height:88svh;overflow:auto;border:1px solid #887453;background:#101915;color:var(--paper);padding:28px 34px 34px;box-shadow:0 25px 120px #0009}dialog::backdrop{background:#020806b8;backdrop-filter:blur(7px)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px;color:var(--gold);font-size:9px;letter-spacing:.15em}.modal-head button{border:0;background:none;font-size:28px;line-height:1;padding:5px;color:#c9bd9f}dialog h2{font:34px/1.15 var(--serif);margin-bottom:22px}dialog p{color:#bdc4b6;font-size:13px;line-height:1.9;margin-bottom:20px}.modal-actions{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin-top:25px}.modal-actions .primary{padding:13px 18px;gap:15px;font-size:10px}.modal-note{font-size:11px!important;color:#8e9b8b!important}.journal-list{display:grid;gap:2px;margin:0 0 27px;padding:0;list-style:none}.journal-list li{display:flex;align-items:center;gap:16px;min-height:42px;border-bottom:1px solid var(--line);font-size:11px;color:#acb5a5}.journal-list .journal-glyphs{font:25px var(--serif);color:#dccba5;letter-spacing:.12em}.journal-list .match-tag{margin-left:auto;font-size:9px;color:#bfa875}.key-display{font:34px var(--serif);color:#d8c49a;letter-spacing:.22em;margin-bottom:25px}.hint-tiers{display:grid;gap:10px;margin:20px 0}.hint-tier{width:100%;text-align:left;display:flex;gap:18px;align-items:center;border:1px solid var(--line);padding:16px;background:#142018}.hint-tier:hover,.hint-tier.selected{border-color:var(--gold);background:#203023}.hint-tier .tier-number{font:26px var(--serif);color:var(--gold)}.hint-tier h3{font-size:12px;font-weight:400}.hint-tier small{display:block;color:#9ca993;font-size:10px;margin-top:4px}.hint-tier .price{margin-left:auto;color:#c1ab7d;font-size:12px;white-space:nowrap}.hint-result{padding:20px;border-left:2px solid var(--gold);background:#bba16c08;font-size:13px;line-height:1.9;color:#ddd4bb}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,30px);width:max-content;max-width:calc(100vw - 32px);padding:16px 24px;border:1px solid var(--gold);background:#17251cf5;color:#e3dbc6;font-size:13px;z-index:50;opacity:0;pointer-events:none;transition:.3s}.toast.visible{opacity:1;transform:translate(-50%,0)}.victory{max-width:1200px;margin:auto;text-align:center;padding:45px 6% 25px;animation:arrive 1.2s both}.victory>.eyebrow{justify-content:center}.victory h2{font:clamp(35px,4vw,60px)/1.15 var(--serif);margin:20px 0}.victory>p{color:var(--muted);max-width:550px;margin:0 auto 25px;font-size:13px}.book-stage{perspective:1200px;height:270px;display:flex;align-items:center;justify-content:center;margin:25px auto 15px}.book{width:165px;height:225px;position:relative;transform:rotateY(-14deg) rotateX(8deg);transform-style:preserve-3d;transition:transform 1.4s}.book-pages{position:absolute;inset:4px 0 4px 0;background:repeating-linear-gradient(0deg,#b7ae91 0 1px,#e3d9bd 1px 3px);border-radius:0 4px 4px 0;box-shadow:12px 15px 35px #0008;display:flex;align-items:center;justify-content:center;color:#4d5442;font:26px var(--serif)}.book-cover{position:absolute;inset:0;transform-origin:left center;background:linear-gradient(110deg,#384338,#19231c);border:1px solid #867955;box-shadow:inset 8px 0 9px #0007,inset 0 0 0 10px #263126,inset 0 0 0 11px #a38d5a66;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;padding:18px;transition:transform 1.8s;backface-visibility:visible}.book-cover svg{width:72px;height:72px;stroke:#bcaa7c;fill:none}.book-cover span{font:17px var(--serif);letter-spacing:.08em;color:#d0bd8d}.book-cover small{font-size:7px;letter-spacing:.2em;color:#af9c71}.book.open{transform:translateX(55px) rotateY(-4deg) rotateX(8deg)}.book.open .book-cover{transform:rotateY(-145deg)}.archive{max-width:820px;margin:32px auto 0;text-align:left;border-top:1px solid var(--line);padding-top:28px;animation:arrive .7s both}.archive h3{font:27px var(--serif);margin-bottom:14px}.archive>p{font-size:12px;line-height:1.8;color:var(--muted);max-width:650px}.editions{margin:25px 0}.edition-row{display:flex;align-items:center;gap:20px;padding:17px 0;border-bottom:1px solid var(--line)}.edition-row .edition-code{font-size:11px;letter-spacing:.1em;color:var(--gold);width:28px}.edition-row h4{margin:0;font:19px var(--serif)}.edition-row small{font-size:10px;color:var(--muted)}.edition-row .unavailable{margin-left:auto;font-size:10px;color:#a5a998;max-width:150px;text-align:right}.replay{margin:20px 0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1700px){.hero{padding-left:10%;padding-right:10%}.hero-copy{max-width:650px}}
@media(max-width:1000px){.edition{display:none}.game-layout{gap:5%;grid-template-columns:.9fr 1.1fr}.game-copy h2{font-size:37px}.game-view{padding-left:5%;padding-right:5%}.tools{gap:14px}.progress{gap:12px}.progress-line{width:10px}.game-toolbar{margin-bottom:25px}.hero{padding-top:10vh}.hero-copy{max-width:490px}.backdrop{background-position:59% center}}
@media(max-width:760px){.topbar{height:80px;margin:0 6%}.brand{font-size:10px;gap:10px;letter-spacing:.16em}.brand svg{width:29px;height:29px}.top-right{gap:0}.languages{gap:7px}.languages button{font-size:10px}.hero{min-height:calc(100svh - 158px);padding:8vh 7% 25px}.hero h1{font-size:clamp(74px,17vw,110px)}.hero-intro{font-size:17px;max-width:85%}.hero-copy{max-width:100%}.hero-side{display:none}.backdrop{background-position:63% center}.backdrop:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#06100dd9,#07110c70 60%,#07110c30)}.act-preview{gap:16px;margin-top:55px}.act-preview article{display:block;padding-top:13px}.act-preview .roman{display:block;font-size:14px;margin-bottom:10px}.act-preview h3{font-size:18px;margin-bottom:7px}.act-preview p{font-size:10px;line-height:1.6}.hero-bottom{gap:8px;align-items:flex-start}.quiet{font-size:9px}.bottom-bar{margin:0 6%;gap:15px;min-height:78px}.audio-controls{gap:10px}.audio-controls input{width:45px}.audio-controls button{font-size:8px;gap:8px}.bottom-bar .text-link{font-size:10px}.game-view{padding:22px 7% 25px}.game-toolbar{flex-wrap:wrap;gap:18px;margin-bottom:30px}.progress{width:100%;justify-content:space-between;gap:5px}.progress-item{font-size:10px;gap:7px}.progress-item .seal{width:25px;height:25px}.progress-line{width:15px}.tools{width:100%;justify-content:flex-end;gap:22px}.tools button{font-size:10px}.game-layout{display:flex;flex-direction:column;gap:28px;min-height:0}.game-copy{max-width:100%;width:100%}.game-copy h2{font-size:35px;margin:15px 0}.game-copy>p{font-size:13px}.inscription{margin:22px 0 16px;padding:12px 0 12px 16px}.inscription p{font-size:16px}.game-copy .help{font-size:11px}.puzzle{max-width:470px}.reflector{height:260px}.reflection-caption{left:18px;font-size:7px}.directions{gap:2px}.directions button{width:28px;height:30px}.dial-row .dial-meta{min-width:60px;font-size:8px}.game-status{align-items:flex-start}.game-status .path-code{font-size:8px}.memory-wheel{width:280px;height:280px}.input-actions{gap:20px}.ring-machine{max-width:360px}.ring-control .aligned-label{font-size:8px}.ring-footer{justify-content:space-between}.game-status .quiet{max-width:70%}dialog{padding:20px 23px 27px}dialog h2{font-size:29px}.modal-head{margin-bottom:20px}.modal-actions .primary{width:100%;justify-content:center}.modal-actions>.text-link{margin:0 auto}.victory{padding-top:35px}.victory h2{font-size:37px}.edition-row{gap:12px}.edition-row h4{font-size:17px}.edition-row .unavailable{font-size:8px;max-width:90px}.hero .primary{padding:16px 20px;font-size:10px;gap:24px}}
@media(max-width:380px){.progress-item>span:last-child{font-size:9px}.progress-line{display:none}.glyph-buttons{gap:5px}.glyph-buttons button{width:41px}.dial-row{flex-wrap:wrap;justify-content:center}.dial-row .dial-meta{width:100%;text-align:center}.ring-control{gap:8px}.memory-wheel{width:250px;height:250px}.audio-controls input{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Physical puzzle edition: persistent scenes, real object movement. */
.scene-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:12px}.scene-heading .small-label{font-size:8px;letter-spacing:.18em}.live-mark{font-size:8px;letter-spacing:.15em;color:#a6ad8c;display:flex;align-items:center;gap:6px}.live-mark:before{content:'';width:4px;height:4px;border-radius:50%;background:#b0bd8a;box-shadow:0 0 8px #a8bf7877}.physical-scene{position:relative;width:100%;aspect-ratio:900/640;overflow:hidden;border:1px solid #8b82543f;border-radius:42% 42% 5px 5px / 26% 26% 5px 5px;box-shadow:0 20px 70px #0005,inset 0 0 40px #0006;background:#111c18}.physical-scene canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.physical-scene.dragging canvas{cursor:grabbing}.scene-wall-label,.scene-water-label{position:absolute;left:8%;font-size:8px;letter-spacing:.16em;color:#c1c7af;pointer-events:none}.scene-wall-label{top:31%}.scene-water-label{top:62%}.stone-instruction{position:absolute;bottom:1.5%;left:0;right:0;text-align:center;pointer-events:none;font-size:9px;letter-spacing:.05em;color:#c7bd9b}.scene-observation{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 2px;border-bottom:1px solid var(--line);font-size:10px;color:#a4ae9c}.scene-observation b{color:#d3c69b;font-weight:400}.scene-observation #observed-glyphs{font:24px Georgia,serif;color:#dbd5bc;letter-spacing:8px}.observation-divider{color:#73806e;font:16px Georgia,serif}.scene-observation .small-label{font-size:7px;letter-spacing:.06em}.puzzle .dial-row{margin-top:10px}.puzzle .input-panel{margin-top:18px}.gesture-note{font-size:10px;text-align:center;line-height:1.7;color:#b5b89d;margin:4px auto 20px;max-width:330px}.ring-machine svg{touch-action:none;cursor:grab;overflow:visible;filter:drop-shadow(0 18px 22px #0008)}.ring-machine.dragging svg{cursor:grabbing}.mechanical-ring{transform-origin:220px 220px;transition:transform .5s cubic-bezier(.2,.72,.2,1);will-change:transform}.ring-machine.dragging .mechanical-ring{transition:transform .1s linear}.mechanical-ring text{pointer-events:none;fill:#d1c7a5}.aligned-glow{transition:opacity .35s;filter:drop-shadow(0 0 5px #d3bb74)}.evidence-panel{margin:20px 0 26px;padding:20px;border:1px solid #9e946139;background:linear-gradient(130deg,#35402d33,#111b1611)}.evidence-panel>.small-label{display:block;margin-bottom:18px}.evidence-panel fieldset{border:0;padding:0;margin:0 0 20px;min-width:0}.evidence-panel fieldset:last-child{margin-bottom:0}.evidence-panel legend{font:14px/1.5 var(--serif);color:#d4cdb5;margin-bottom:12px;max-width:100%}.evidence-options{display:flex;flex-wrap:wrap;gap:7px}.evidence-options button{border:1px solid #89917444;background:#131e17;color:#bbc3ac;min-height:36px;min-width:34px;padding:7px 10px;font-size:10px;transition:background .2s,border-color .2s}.evidence-options button:hover,.evidence-options button.selected{border-color:#b8a876;background:#4b513344;color:#efe1ae}.evidence-options button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.puzzle{transition:filter .5s,opacity .6s,transform .6s}.puzzle.seal-opening{pointer-events:none;animation:seal-releases .85s both}.puzzle.seal-opening .physical-scene,.puzzle.seal-opening .ring-machine{filter:drop-shadow(0 0 20px #e5c78577)}@keyframes seal-releases{0%{opacity:1;transform:translateY(0)}30%{filter:brightness(1.8);transform:translateY(-3px)}100%{opacity:0;filter:brightness(1);transform:translateY(18px)}}
@media(max-width:760px){.scene-heading .small-label,.live-mark{font-size:7px}.scene-wall-label,.scene-water-label{font-size:6px}.stone-instruction{font-size:8px}.scene-observation{font-size:9px}.scene-observation .small-label{font-size:6px}.scene-observation #observed-glyphs{font-size:22px}.evidence-panel{padding:16px}.evidence-panel legend{font-size:14px}.evidence-options button{min-height:40px;min-width:30px;padding:7px 8px}.ring-machine{width:100%}}
@media(prefers-reduced-motion:reduce){.mechanical-ring,.puzzle{transition:none!important}.puzzle.seal-opening{animation:none!important}}

.mechanical-ring [data-upright]{transition:transform .5s cubic-bezier(.2,.72,.2,1)}.ring-machine.dragging [data-upright]{transition:transform .1s linear}@media(prefers-reduced-motion:reduce){.mechanical-ring [data-upright]{transition:none!important}}
.deduction-panel{border-top:1px solid #a99c6444;border-bottom:1px solid #a99c6444;padding:24px 0;margin:24px 0}.deduction-intro{font:15px/1.7 var(--serif);color:#c5c9b0;margin:16px 0}.stone-statements{padding-left:24px;margin:18px 0 24px;color:#d0c9ae;font-size:12px;line-height:1.9}.stone-statements li{padding:5px 0 5px 7px;border-bottom:1px solid #8f99751b}.stone-statements li::marker{font:10px monospace;color:#b8a874}.stone-slots,.stone-rack{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.stone-slots{margin:22px 0 17px}.stone-slot{position:relative;min-width:0;aspect-ratio:.85;border:1px solid #82886855;background:linear-gradient(#080f0b,#20291c);box-shadow:inset 0 3px 9px #0009;border-radius:3px;color:#6f795e;font:26px Georgia,serif;padding:5px}.stone-slot small{display:block;position:absolute;bottom:5px;left:0;width:100%;font:8px monospace;color:#9fa386}.stone-slot.filled,.stone-rack button{color:#dfd2a7;background:linear-gradient(130deg,#5c6351,#354132 55%,#202c23);border:1px solid #b9ae7977;box-shadow:inset 1px 2px 0 #ded3a933,0 4px 0 #0a120d,0 8px 12px #0005;text-shadow:0 2px 2px #0009;border-radius:3px}.stone-slot.filled{border-bottom-width:4px}.stone-rack button{min-width:0;aspect-ratio:1;font:27px Georgia,serif;cursor:grab}.stone-rack button:active{cursor:grabbing}.stone-rack button:disabled{opacity:.18;box-shadow:none;cursor:default}.stone-slot:hover,.stone-rack button:not(:disabled):hover{border-color:#e3d29c}.stone-rack button:focus-visible,.stone-slot:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.deduction-panel .gesture-note{max-width:none;text-align:left;margin:18px 0 0;font-size:10px}.stone-slot span{display:block;margin-bottom:9px}@media(max-width:760px){.stone-slots,.stone-rack{gap:6px}.stone-rack button{font-size:24px}.stone-slot{font-size:24px}}
.cipher-panel{margin:25px 0;padding:24px 0;border-bottom:1px solid var(--line)}.cipher-rule{font:14px/1.85 var(--serif);color:#c5c9b0;margin:16px 0 22px}.cipher-blocks{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;border:1px solid #ac9c663f;padding:15px 8px;background:#0d171299}.cipher-blocks>div{text-align:center;min-width:0}.cipher-blocks small{display:block;font:9px monospace;color:#9c9b7b;margin-bottom:10px}.cipher-blocks span{font:24px Georgia,serif;color:#e0d2ae;white-space:nowrap}.cipher-disk{width:min(100%,340px);margin:22px auto 8px}.cipher-disk svg{display:block;width:100%;filter:drop-shadow(0 15px 17px #0008)}.cipher-disk text{font:27px Georgia,serif;fill:#d8cc9f;text-anchor:middle;dominant-baseline:middle}.cipher-disk [data-cipher-rotor],.cipher-disk [data-cipher-upright]{transition:transform .55s cubic-bezier(.2,.7,.2,1)}.cipher-controls{display:flex;gap:18px;align-items:center;justify-content:center}.cipher-controls>span{font-size:10px;color:#adb397}.cipher-reading{font-size:11px;line-height:2;text-align:center;color:#c2bea3;min-height:24px;margin:16px 0}.cipher-answer{display:block;font:14px var(--serif);color:#c5ccb1;margin-top:20px}.cipher-answer input{display:block;width:100%;box-sizing:border-box;margin-top:11px;background:#0b1510;border:1px solid #9a946266;padding:16px;color:#e2d5aa;font:24px monospace;letter-spacing:.15em;border-radius:2px}.cipher-answer input:focus{outline:1px solid #c3b37e}.cipher-panel .gesture-note{max-width:none;text-align:left}.history-note{margin-top:18px;color:#959e89;font-size:10px;line-height:1.8}.history-note summary{cursor:pointer;color:#bcb494}.history-note p{margin:12px 0}.history-note a{color:#d0bf8c;text-decoration:underline}.cipher-panel .live-mark{font-size:7px}@media(prefers-reduced-motion:reduce){.cipher-disk [data-cipher-rotor],.cipher-disk [data-cipher-upright]{transition:none!important}}
/* v4 — compact evidence workbench */
.game-layout{align-items:start;gap:5%;min-height:0}.game-copy{padding-top:12px}.game-copy h2{font-size:clamp(36px,4vw,58px)}.puzzle{width:100%;min-width:0}.puzzle-tabs{display:flex;border-bottom:1px solid #aa976546;margin:0 0 22px;gap:4px}.puzzle-tabs button{flex:1;padding:10px 5px 14px;border:0;border-bottom:2px solid transparent;background:transparent;color:#b3b3a0;font:inherit;font-size:13px;cursor:pointer}.puzzle-tabs button small{display:block;letter-spacing:.15em;font-size:9px;opacity:.6;margin-bottom:6px}.puzzle-tabs button[aria-current=step]{border-color:#d7bd7b;color:#f0e2b9}.puzzle-tabs button:hover{background:#c9b36d0b}.physical-scene{border-radius:8px;border:1px solid #b5a1703b;box-shadow:0 20px 65px #0005;overflow:hidden}.scene-wall-label{top:14%;left:7%;font-size:9px}.scene-water-label{top:66%;left:7%;font-size:9px}.stone-instruction{bottom:2%;left:auto;right:3%;font-size:9px;max-width:80px;text-align:right;transform:none}.memory-wheel{max-width:270px;margin:8px auto 16px}.deduction-panel,.cipher-panel,.evidence-panel{margin-top:0}.cipher-disk{max-width:290px;margin:15px auto}.cipher-rule,.deduction-intro{font-size:14px;line-height:1.65}.stone-statements{font-size:14px;line-height:1.65}.next-step{display:block;margin:24px 0 0 auto}.final-check{margin-top:22px}.step-note{font-size:13px;color:#bdbda7;line-height:1.65;margin-top:20px}.buy-link{display:block;margin-top:22px}.hint-tier{grid-template-columns:30px 1fr auto}.hint-open{font-size:11px;color:#b8a36b}.edition-picker{display:flex;gap:8px;margin:26px 0}.edition-picker button{flex:1;padding:12px 8px;background:#0b1411;border:1px solid #a69a6844;color:#bdbdab;cursor:pointer}.edition-picker button[aria-pressed=true]{border-color:#cfb879;color:#f3e4bd}.shop-unavailable,.order-card{border:1px solid #a69a6844;padding:23px;background:#101a1480}.shop-unavailable p{margin-bottom:0}.shop-price{font:32px Georgia,serif;color:#ead5a3}.payment-qr{display:block;width:220px;max-width:100%;margin:22px auto;background:white;padding:12px}.pay-address{display:block;overflow-wrap:anywhere;padding:14px;background:#0005}.hint-tiers{margin-top:20px}
@media(min-width:1000px){.game-copy{position:sticky;top:35px}.game-view{padding-top:24px}}
@media(max-width:760px){.game-layout{gap:22px}.game-copy h2{font-size:36px}.game-copy .help{margin-bottom:0}.puzzle-tabs button{font-size:12px}.physical-scene{border-radius:5px}.scene-wall-label,.scene-water-label{font-size:8px}.stone-instruction{display:none}}
/* v5 — shared vector signs, readable constraints and aligned stone faces. */
:root{--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
.seal-symbol{display:inline-block;width:30px;height:30px;vertical-align:middle;flex-shrink:0;color:inherit;overflow:visible;pointer-events:none;letter-spacing:0}
.seal-symbol path{fill:none!important;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.deduction-panel{background:linear-gradient(120deg,#101914eb,#0c1411d9);border:1px solid #b4a07838;border-radius:8px;padding:24px}.deduction-intro{font:400 16px/1.7 var(--sans);color:#eee9dc;margin:18px 0 12px}.logic-note{font:400 13px/1.7 var(--sans);color:#bfc4b6;margin:0 0 22px;padding-left:12px;border-left:2px solid #a897655c}.stone-statements{font:400 16px/1.95 var(--sans);color:#eee9dc;padding-left:27px;margin:18px 0 25px}.stone-statements li{padding:9px 0 9px 7px}.stone-statements li::marker{font:500 12px var(--sans);color:#c6b17b}.stone-statements .seal-symbol{width:31px;height:31px;color:#f0dca4;margin:0 3px;vertical-align:-9px;background:#b6a47410;border-radius:5px}.stone-rack button,.stone-slot{display:grid;place-items:center;isolation:isolate;text-shadow:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,opacity .18s ease}.stone-rack button{padding:4px;border-radius:6px;background:linear-gradient(145deg,#646b56 0%,#3a4536 48%,#222e25 100%);box-shadow:inset 0 1px 0 #eee0b04a,inset 0 -2px 1px #0008,0 3px 0 #09110c,0 8px 14px #0006}.stone-rack button:not(:disabled):hover{transform:translateY(-3px);box-shadow:inset 0 1px 0 #eee0b06a,0 6px 0 #09110c,0 10px 16px #0006}.stone-rack button:not(:disabled):active{transform:translateY(1px)}.stone-slot{border-radius:6px}.stone-slot>span{display:grid;place-items:center;width:100%;margin:0 0 10px}.stone-slot small{bottom:7px;font:500 10px var(--sans);color:#c0c4b4}.stone-slot .seal-symbol,.stone-rack .seal-symbol{width:clamp(27px,4.5vw,42px);height:clamp(27px,4.5vw,42px);color:#f5dfaa;filter:drop-shadow(0 1px 1px #0009)}.stone-rack button:disabled{opacity:.25}.stone-rack button:disabled .seal-symbol{filter:none}.gesture-note{font-size:12px;line-height:1.7;max-width:440px}.deduction-panel .gesture-note{text-align:left;margin-top:19px;margin-bottom:0;color:#bcc3b2}.glyph-buttons button{display:grid;place-items:center}.glyph-buttons .seal-symbol,.slot .seal-symbol{width:34px;height:34px}.target-glyph .seal-symbol{width:30px;height:30px}.key-display{letter-spacing:0;display:flex;gap:12px;align-items:center}.key-display .seal-symbol{width:38px;height:38px}.journal-glyphs{white-space:nowrap}.journal-glyphs .seal-symbol{width:28px;height:28px}.hint-result .seal-symbol{width:27px;height:27px;vertical-align:-8px}.ring-machine [data-upright],.cipher-disk [data-cipher-upright]{color:#e7d4a2}.memory-wheel{width:min(100%,270px);height:auto;aspect-ratio:1}.memory-wheel>.wheel-sign>.seal-symbol{position:static;inset:auto;width:36px;height:36px}.cipher-blocks .seal-symbol{width:27px;height:27px}.cipher-reading{display:flex;flex-wrap:wrap;gap:6px 13px;justify-content:center;align-items:center;letter-spacing:0}.cipher-pair{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.cipher-pair .seal-symbol{width:25px;height:25px}.scene-observation #observed-glyphs{display:inline-flex;align-items:center;gap:9px;letter-spacing:0}.scene-observation .seal-symbol{width:31px;height:31px}
@media(max-width:760px){.deduction-panel{padding:17px 14px}.stone-statements{font-size:15px;padding-left:23px}.stone-statements li{padding-left:3px}.stone-statements .seal-symbol{width:29px;height:29px;margin:0 1px}.deduction-intro{font-size:15px}.logic-note{font-size:12px}.stone-slots,.stone-rack{gap:5px}.stone-rack .seal-symbol,.stone-slot .seal-symbol{width:30px;height:30px}.cipher-blocks .seal-symbol{width:23px;height:23px}.gesture-note{font-size:11px}}
@media(prefers-reduced-motion:reduce){.stone-rack button,.stone-slot{transition:none}.stone-rack button:not(:disabled):hover{transform:none}}
