@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#141310;--panel:#201d17;--ink:#eee7da;--muted:#b0a795;--gold:#d3ad68;--line:#d3ad6833;--red:#a3453e;--teal:#88c0b0;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.65 var(--sans)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--teal);outline-offset:5px}button{color:inherit}button,select,input{border-radius:2px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.05}h2{font-size:clamp(34px,4vw,56px);letter-spacing:-1px}h3{font-size:27px}em{color:var(--gold);font-weight:400}p{color:var(--muted)}[hidden]{display:none!important}.skip{position:absolute;left:15px;top:-100px;z-index:99;background:var(--gold);color:#17130c;padding:12px}.skip:focus{top:10px}.masthead{height:78px;padding:0 4.5%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line);background:#141310}.masthead-side{display:flex;align-items:center;min-width:0}.masthead-left{justify-self:start}.masthead-right{justify-self:end;justify-content:flex-end}.brand{display:flex;align-items:center;gap:9px;letter-spacing:1.8px;font-size:11px;justify-self:center}.brand b{color:var(--gold)}.back{font-size:10px;letter-spacing:2px;color:var(--muted)}.back span{color:var(--gold);margin-left:16px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid var(--line);background:transparent;color:var(--gold);flex-shrink:0}.icon-btn:hover,.icon-btn:focus-visible{background:#d3ad6814;color:var(--gold)}.icon-btn-leave:hover,.icon-btn-leave:focus-visible{color:#f1a08f;border-color:#a3453e66;background:#a3453e18}.icon-btn svg{display:block}#sound-toggle[aria-pressed=true] .icon-sound-off,#sound-toggle:not([aria-pressed=true]) .icon-sound-on{display:none}.eyebrow{font:600 10px/1.5 var(--sans);letter-spacing:2.8px;color:var(--gold);text-transform:uppercase;margin-bottom:20px}.small-label{font-size:9px;letter-spacing:1.8px;color:var(--muted)}.button{min-height:50px;padding:14px 24px;display:inline-flex;align-items:center;justify-content:center;gap:28px;font-size:12px;font-weight:600;border:1px solid var(--gold);transition:background .2s,transform .2s}.primary{background:var(--gold);color:#19140c}.primary:hover{background:#e7c68f;transform:translateY(-1px)}.secondary{background:#161510b3;color:var(--ink);border-color:#d3ad6859}.secondary:hover{background:#393021}.quiet{background:transparent;border:1px solid var(--line);padding:9px 13px;font-size:11px;min-height:40px}.quiet:hover{background:#d3ad6814}.hero{position:relative;min-height:740px;height:calc(100vh - 78px);max-height:1020px;background:url(hero.webp) 62% center/cover;display:flex;align-items:center;isolation:isolate}.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0d100ff2 0%,#0d100fbf 26%,#0d100f30 62%,#0d100f0d),linear-gradient(0deg,#141310,transparent 30%)}.hero-copy{padding:70px 8%;width:100%}.hero-copy .eyebrow{margin-bottom:45px}.over-title{font-family:var(--serif);color:var(--ink);letter-spacing:5px;font-size:19px;margin-bottom:12px}.hero h1{font-size:clamp(66px,8vw,122px);letter-spacing:3px;line-height:.88;margin:0 0 30px}.hero h1 em{font-style:normal}.tagline{color:#d0c7b5;font-family:var(--serif);font-size:25px;line-height:1.3;margin-bottom:35px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-meta{display:flex;gap:30px;margin-top:40px;font-size:8px;letter-spacing:1.8px;color:#c1b49c}.hero-meta b{font-size:17px;font-weight:400;color:var(--gold);display:block;letter-spacing:1px}.coordinates{position:absolute;bottom:48px;right:4.5%;text-align:right;font-size:8px;color:#b8ae9b;letter-spacing:2px;line-height:1.8}.section{padding:90px 8%;max-width:1600px;margin:auto}.intro{display:grid;grid-template-columns:1fr 1fr;gap:10%;border-bottom:1px solid var(--line)}.intro p:not(.eyebrow){font-size:14px;line-height:1.9}.intro .small-label{display:block;margin-top:32px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:40px}.section-heading h2{margin:0}.section-heading>.small-label{max-width:180px}.chamber-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.chamber-card{border:1px solid var(--line);background:#1c1914;overflow:hidden}.chamber-card img{width:100%;aspect-ratio:1.25;object-fit:cover;display:block;transition:transform .5s;filter:saturate(.8)}.chamber-card:hover img{transform:scale(1.04)}.chamber-card>div{padding:22px}.chamber-card .eyebrow{font-size:8px;letter-spacing:2px}.chamber-card h3{font-size:24px;margin:13px 0 10px}.chamber-card p{font-size:10px;margin:0;letter-spacing:.5px}.chamber-card:last-child{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr;align-items:center}.chamber-card:last-child img{height:100%;min-height:240px}.before{display:grid;grid-template-columns:1fr 1.25fr;gap:10%;border-top:1px solid var(--line)}.instructions article{display:flex;gap:25px;margin-bottom:30px}.instructions article>b{color:var(--gold);font-family:var(--serif);font-size:29px}.instructions h3{font-family:var(--sans);font-size:15px;margin:5px 0 10px}.instructions p{font-size:13px}.final-invite{text-align:center;padding:70px 20px 100px;background:radial-gradient(ellipse at center,#4f392126,transparent 60%);border-top:1px solid var(--line)}.final-invite img{margin-bottom:20px}.final-invite h2{font-size:44px}.footer{padding:25px 4.5%;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:9px;letter-spacing:1px}.footer>a:first-child{color:var(--gold)}
/* Expedition shell */
.game-main{min-height:calc(100vh - 148px);padding:28px 4.5% 60px}.setup-panel{max-width:590px;margin:7vh auto;padding:45px;border:1px solid var(--line);background:linear-gradient(#191814e8,#191814f5),url(hero.webp) center/cover;box-shadow:0 20px 70px #0004}.setup-panel h1{font-size:48px}.setup-panel>p{font-size:13px}.setup-panel form{display:grid;gap:18px;margin:25px 0}.setup-panel label{display:grid;gap:6px;font-size:11px;letter-spacing:1px}.setup-panel input{width:100%}input,select{background:#121410;border:1px solid #807251;color:var(--ink);padding:12px;min-height:44px}#join-code{text-transform:uppercase;letter-spacing:5px}#setup-error{color:#efab99}.subtle{color:var(--muted);font-size:11px!important;margin-top:24px}.game-toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding-bottom:20px}.game-toolbar .eyebrow{margin:0 0 4px}.game-toolbar #room-code{font-size:18px;letter-spacing:4px}.clock-wrap{display:flex;flex-direction:column;align-items:center}.clock-wrap strong{font:500 36px/1.2 var(--serif);font-variant-numeric:tabular-nums;color:var(--gold);letter-spacing:2px}.clock-wrap.danger strong{color:#f1a08f}.toolbar-actions{display:flex;gap:8px;justify-self:end}.connection{font-size:11px;color:var(--teal);margin:8px 0;min-height:18px}.progress{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:16px 0 25px}.progress span{border-top:2px solid #635d493b;padding-top:10px;color:#9c9383;font-size:9px;line-height:1.4}.progress b{font-size:13px;display:block;margin-bottom:5px;color:#b5a88d}.progress .current{border-color:var(--gold);color:var(--gold)}.progress .complete{border-color:var(--teal)}.progress .complete b{color:var(--teal)}.lobby{display:grid;grid-template-columns:1.2fr 1fr;background:var(--panel);border:1px solid var(--line)}.lobby-art{min-height:540px;background:linear-gradient(0deg,#15130be0,transparent),url(hero.webp) 60% center/cover;display:flex;align-items:end;padding:40px}.lobby-art h1{font-size:55px;margin-bottom:16px}.lobby-art p{color:#ddd0b9;max-width:400px}.lobby-info{padding:40px}.lobby-info h2{font-size:35px}.invite-box{border:1px solid var(--line);padding:16px;margin:15px 0}.invite-box strong{font-family:var(--serif);font-size:36px;letter-spacing:7px;display:block;color:var(--gold)}.invite-box input{font-size:11px;width:100%;margin:10px 0}.invite-qr{display:flex;gap:14px;align-items:center;margin:12px 0}.invite-qr img{width:132px;height:132px;background:#eee7da;padding:6px;border:1px solid var(--line)}.invite-qr p{margin:0;font-size:11px;color:var(--muted);max-width:200px}.roster{list-style:none;padding:0;margin:20px 0}.roster li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:12px}.roster small{color:var(--gold)}.lobby-info .subtle{margin-top:10px}.chamber-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:24px}.scene{position:relative;min-height:340px;background-size:cover;background-position:center;border:1px solid var(--line);display:flex;align-items:end;isolation:isolate}.scene:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#11120ff5,transparent 95%)}.scene-copy{padding:28px;max-width:720px}.scene-copy .eyebrow{margin-bottom:10px;font-size:9px}.scene h1{font-size:clamp(32px,3.5vw,54px);margin:0 0 12px}.scene p{color:#d3caba;font-size:12px;line-height:1.75;margin-bottom:0}.hazard{position:absolute;right:18px;top:18px;font-size:9px;letter-spacing:1px;background:#241513dd;border:1px solid #c1705266;color:#efbc95;padding:7px 12px}.mechanism{margin-top:20px;border:1px solid var(--line);background:linear-gradient(135deg,#27231b,#171914);padding:24px}.mechanism h2{font-size:28px;margin-bottom:8px}.objective{font-size:12px;margin-bottom:24px}.workbench{padding:15px 0}.mechanism-footer{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:18px;padding-top:20px;border-top:1px solid var(--line)}.mechanism-footer p{font-size:10px;margin:0;max-width:210px}.mechanism fieldset{border:0;padding:0;margin:0;min-width:0}.journal{background:#242016;border:1px solid var(--line);align-self:start}.journal-head{padding:23px 25px;border-bottom:1px solid var(--line);display:flex;gap:15px;align-items:center}.journal-head img{width:35px;height:35px}.journal-head h2{font-size:30px;margin:0}.journal-head .eyebrow{font-size:8px;margin:0 0 5px}.clues{padding:0 25px}.clue{padding:22px 0;border-bottom:1px solid var(--line)}.clue h3{font-family:var(--sans);font-size:11px;font-weight:600;line-height:1.4;letter-spacing:.6px;color:var(--gold);margin:0 0 10px}.clue p{font-size:12px;line-height:1.8;margin:0;color:#c7bfad}.relics,.hints{padding:23px 25px;border-bottom:1px solid var(--line)}.relics h3,.hints h3{font-size:23px;margin-bottom:14px}.relic-list{display:flex;flex-wrap:wrap;gap:7px}.relic-list span{font-size:9px;color:var(--teal);padding:6px 8px;border:1px solid #88c0b044;background:#88c0b00a}.relic-list p{font-size:11px}.hint-list{padding-left:18px;font-size:12px;color:#d4bea0}.hint-list li{padding:6px 0}.hints .quiet{width:100%;color:var(--gold)}.feedback{background:#6f392120;color:#eccc9b;font-size:13px;padding:0 18px;margin:18px 0 0}.feedback:not(:empty){padding:14px 18px;border-left:2px solid var(--gold)}.solved-panel{background:#223b2d;border:1px solid #88c0b055;padding:26px;margin-top:20px}.solved-panel h2{font-size:30px;color:#c6e3cb;margin-bottom:12px}.solved-panel p{font-size:13px;color:#c6d5c9}.paused-panel{text-align:center;padding:70px 20px;border:1px solid var(--line);background:#211e17}.paused-panel h1{font-size:55px}.paused-panel p{max-width:500px;margin:0 auto 28px}.ending{min-height:620px;padding:70px 8%;display:flex;flex-direction:column;justify-content:center;align-items:start;background:linear-gradient(90deg,#11140fee,#11140f66),url(osiris.webp) center/cover;border:1px solid var(--line)}.ending.lost{background-image:linear-gradient(90deg,#18100ef5,#18100e66),url(hero.webp)}.ending h1{font-size:clamp(50px,7vw,85px);max-width:680px;margin-bottom:25px}.ending>p{max-width:600px;color:#dbcfbb}.ending-stats{display:flex;gap:35px;margin:20px 0 35px}.ending-stats b{display:block;font:35px var(--serif);color:var(--gold)}.ending-stats span{font-size:10px;color:var(--muted)}#tester{border:1px dashed var(--gold);background:#d3ad6810;padding:16px;margin-bottom:20px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}#tester label{font-size:12px}#tester select{margin-left:10px;max-width:290px}#tester details{font-size:12px}#tester summary{cursor:pointer;color:var(--gold)}#tester p{margin:8px 0 0;color:var(--ink)}
/* Seven tactile mechanisms */
.mirror-plan{width:100%;max-height:260px;display:block;background:#101611;border:1px solid #655c3944}.mirror-plan text{fill:#d1c4a3;font:13px var(--sans)}.mirror-plan .beam{stroke:#ffd078;stroke-width:3;filter:drop-shadow(0 0 4px #f5b450)}.mirror-plan .mirror{stroke:#8bd1c1;stroke-width:5}.mirror-controls{display:flex;justify-content:center;gap:16px;margin-top:16px}.mirror-controls button{background:#2b3025;border:1px solid #8e977055;min-width:80px;min-height:64px}.mirror-controls b{display:block;font:28px var(--serif);color:var(--gold)}.mirror-controls small{font-size:9px}.statues{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.statue{background:linear-gradient(#494136,#262720);border:1px solid #d3ad6855;padding:17px 4px;text-align:center}.statue .glyph{display:block;font-size:31px;color:var(--gold);height:45px}.statue strong{font-size:11px;display:block}.statue small{font-size:9px;display:block;color:var(--muted);margin-top:5px}.route{display:flex;gap:6px;flex-wrap:wrap;margin:20px 0}.route span{flex:1;min-width:50px;text-align:center;background:#121710;border:1px solid #d3ad683b;padding:12px 3px;font-size:10px;color:var(--gold);min-height:42px}.scales-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.scale-card{background:#131b17;padding:16px;border:1px solid #77998933}.scale-card h3{font-size:25px;margin-bottom:12px}.scale-card h3 small{font:10px var(--sans);float:right;color:var(--teal);padding-top:10px}.scale-card label{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:7px;font-size:11px}.scale-card input{width:64px;min-height:40px;padding:6px}.balance{height:35px;position:relative;margin-bottom:10px}.balance:before{content:'';position:absolute;width:90%;height:2px;background:var(--gold);left:5%;top:15px}.balance:after{content:'△';position:absolute;left:calc(50% - 12px);top:4px;font-size:29px;color:var(--gold)}.balance span{position:absolute;top:12px;border:1px solid var(--gold);width:34px;height:17px;border-radius:0 0 30px 30px}.balance span:first-child{left:9%}.balance span:last-child{right:9%}.ring-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center}.star-globe{width:100%;max-width:330px;filter:drop-shadow(0 0 12px #78a5c011)}.star-globe text{font:13px var(--sans);fill:#c5b78d}.ring-controls{display:grid;gap:14px}.ring-control>span{display:block;font-size:11px;color:var(--muted);margin-bottom:6px}.stepper{display:flex;align-items:center;gap:12px}.stepper button{background:#26312b;border:1px solid #d3ad6859;min-width:40px;min-height:40px;color:var(--gold);font-size:20px}.stepper output{font:25px var(--serif);color:var(--gold);min-width:30px;text-align:center}.nile-map{position:relative;display:grid;gap:10px;padding:8px 0 8px 40px}.nile-map:before{content:'';position:absolute;left:16px;top:24px;bottom:25px;width:4px;border-radius:50%;background:linear-gradient(#478981,#b1c2a0);transform:rotate(2deg)}.city-row{display:grid;grid-template-columns:1fr 1fr;gap:15px;align-items:center;position:relative}.city-row:before{content:'';width:10px;height:10px;border-radius:50%;background:var(--gold);position:absolute;left:-27px;border:2px solid #29291e}.city-row label{font:24px var(--serif)}.city-row label small{display:block;font:8px var(--sans);color:var(--muted);letter-spacing:2px}.city-row select{width:100%;font-size:12px}.reagent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.vial-card{text-align:center;padding:15px 5px;background:#171b17;border:1px solid #8c846044}.vial{height:105px;width:48px;border:2px solid #c5dace80;border-radius:5px 5px 18px 18px;margin:0 auto 14px;position:relative;overflow:hidden;background:#bbcabb08}.vial:before{content:'';position:absolute;left:0;right:0;bottom:0;height:var(--fill,0%);background:var(--liquid);box-shadow:0 0 18px var(--liquid);transition:height .3s}.vial:after{content:'';position:absolute;top:9px;bottom:12px;left:7px;width:3px;background:#fff4;border-radius:3px}.vial-card h3{font-size:21px;margin:0 0 7px}.vial-card>small{font-size:9px;color:var(--muted)}.vial-card .stepper{justify-content:center;gap:5px;margin-top:12px}.vial-card .stepper button{min-width:33px}.vial-card .stepper output{font-size:21px}.basin{margin-top:20px;text-align:center;border-bottom:3px solid #a4977077;border-radius:0 0 50% 50%;padding:12px 10px 20px;color:var(--gold);font-family:var(--serif);font-size:23px;background:linear-gradient(transparent,#d3ad6810)}.scarab-slots{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:20px}.scarab-piece{min-height:130px;background:#171d17;border:1px dashed #d3ad6877;padding:12px 5px;color:var(--muted);font-size:10px}.scarab-piece .fragment{display:block;font:55px var(--serif);color:#756d57;margin-bottom:9px}.scarab-piece.seated{border:1px solid var(--gold);background:#49402633;color:var(--gold)}.scarab-piece.seated .fragment{color:var(--gold);text-shadow:0 0 18px #d3ad6855}.cipher-strip{background:#121912;border:1px solid var(--line);padding:16px;margin:15px 0;overflow-x:auto;font-family:monospace;font-size:11px;color:var(--gold);letter-spacing:2px;white-space:nowrap}.cipher-strip p{font-size:10px;letter-spacing:0;white-space:normal;margin-bottom:10px;color:var(--muted)}.cipher-entry{display:grid;gap:8px;font-size:11px}.cipher-entry input{text-transform:uppercase;letter-spacing:8px;font:28px var(--serif);width:100%;text-align:center}.mechanism-note{font-size:10px;margin:12px 0 0;color:var(--muted)}
@media(min-width:1700px){.game-main{max-width:1700px;margin:auto}}
@media(max-width:1050px){.chamber-grid{grid-template-columns:repeat(3,1fr)}.chamber-card:last-child{grid-column:span 3;grid-template-columns:1fr 2fr}.chamber-layout{grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);gap:16px}.scene{min-height:340px}.scene-copy{padding:20px}.mechanism{padding:18px}.ring-layout{grid-template-columns:1fr}.star-globe{max-width:260px;margin:auto}.ring-controls{grid-template-columns:repeat(3,1fr);gap:6px}.stepper{gap:5px}.journal-head,.clues,.relics,.hints{padding-left:18px;padding-right:18px}.hero-copy{padding-left:6%}.section{padding:70px 6%}}
@media(max-width:760px){.masthead{height:64px;padding:0 5%}.brand{font-size:9px;letter-spacing:1px;gap:6px}.back{font-size:8px;letter-spacing:1px}.back span{display:none}.hero{min-height:720px;height:auto;background-position:62% center}.hero-shade{background:linear-gradient(90deg,#0d100fd9,#0d100f45),linear-gradient(0deg,#141310,transparent 50%)}.hero-copy{padding:80px 7% 105px}.hero h1{font-size:clamp(64px,12vw,90px)}.hero-copy .eyebrow{font-size:8px;margin-bottom:40px}.over-title{font-size:14px}.coordinates{left:7%;right:auto;text-align:left;bottom:26px;font-size:7px}.hero-meta{gap:22px}.hero-meta span{font-size:7px}.tagline{font-size:24px}.section{padding:55px 7%}.intro,.before{grid-template-columns:1fr;gap:25px}.section-heading{display:block}.section-heading>.small-label{display:none}.chamber-grid{grid-template-columns:1fr 1fr;gap:12px}.chamber-card>div{padding:17px}.chamber-card h3{font-size:24px}.chamber-card:last-child{grid-column:span 2;grid-template-columns:1fr 1fr}.chamber-card:last-child img{min-height:200px}.final-invite h2{font-size:37px}.footer{flex-wrap:wrap;font-size:8px}.footer span{order:3;flex-basis:100%}.game-main{padding:18px 4% 40px}.setup-panel{padding:28px;margin-top:4vh}.setup-panel h1{font-size:40px}.game-toolbar{grid-template-columns:1fr auto;gap:10px}.toolbar-actions{grid-column:1/-1;width:100%;justify-content:flex-end}.clock-wrap .small-label{font-size:7px}.clock-wrap strong{font-size:30px}.progress span{font-size:0;padding-top:5px}.progress b{font-size:12px}.progress .current{font-size:8px}.lobby{grid-template-columns:1fr}.lobby-art{min-height:330px;padding:25px}.lobby-art h1{font-size:42px}.lobby-info{padding:25px}.chamber-layout{display:flex;flex-direction:column}.journal{width:100%}.scene{min-height:350px}.scene h1{font-size:39px}.scene-copy{padding:23px}.scene p{font-size:12px}.mechanism{padding:20px}.mechanism-footer{align-items:stretch;flex-direction:column;gap:12px}.mechanism-footer p{max-width:none;text-align:center}.ring-layout{grid-template-columns:1fr}.ring-controls{grid-template-columns:1fr;max-width:270px;width:100%;margin:auto}.ring-control{display:flex;justify-content:space-between;align-items:center}.scales-grid{gap:8px}.scale-card{padding:12px}.scale-card h3{font-size:22px}.scale-card h3 small{font-size:8px}.statues{gap:6px}.statue{padding:14px 3px}.statue small{font-size:8px}.reagent-grid{gap:6px}.vial-card h3{font-size:18px}.vial-card .stepper{gap:3px}.vial-card .stepper button{min-width:30px}.vial-card .stepper output{min-width:28px}.city-row label{font-size:23px}.ending{padding:45px 25px;min-height:600px}.ending h1{font-size:51px}.ending-stats{gap:23px}.ending-stats span{font-size:9px}#tester select{margin:7px 0;max-width:100%}.scarab-slots{gap:5px}.scarab-piece{font-size:9px}}
@media(max-width:400px){.hero h1{font-size:clamp(48px,16vw,64px);letter-spacing:2px}.reagent-grid{grid-template-columns:1fr}.vial-card{display:grid;grid-template-columns:55px 1fr;gap:6px 12px;padding:16px}.vial-card .vial{grid-row:1/4;margin:0 auto;height:100px;width:44px}.vial-card h3{margin:0}.vial-card .stepper{margin-top:0}.vial-card .stepper button{min-width:42px;min-height:42px}.scales-grid{grid-template-columns:1fr}.city-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.city-row label{font-size:20px}.city-row select{padding:10px 4px;font-size:11px}}
.player-gameplay{padding-bottom:calc(86px + env(safe-area-inset-bottom,0px))}.player-panels{max-width:850px;margin:0 auto}.player-panels .journal{width:100%}.player-panels .mechanism,.player-panels .solved-panel{margin-top:0}.player-panels #player-panel-room>.relics{margin-top:18px;background:var(--panel);border:1px solid var(--line)}.player-bottom-tabs{position:fixed;bottom:0;left:0;right:0;z-index:40;display:grid;grid-template-columns:repeat(3,1fr);padding:0 max(4%,calc((100vw - 850px)/2)) env(safe-area-inset-bottom,0px);background:#171812;border-top:1px solid var(--line);box-shadow:0 -8px 28px #0005}.player-bottom-tabs button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:72px;background:transparent;border:0;border-top:3px solid transparent;color:var(--muted);font-size:12px;letter-spacing:1px}.player-bottom-tabs button>span{font-size:24px;line-height:1.2}.player-bottom-tabs button[aria-selected=true]{color:var(--gold);border-top-color:var(--gold);background:#d3ad6810}.player-bottom-tabs button:hover{background:#d3ad6818}.player-panels [role=tabpanel]:focus-visible{outline:2px solid var(--teal);outline-offset:5px}
.pit-tablet{margin:20px 0;padding:16px;background:#211e17;border:1px solid var(--line)}.pit-tablet figcaption{font:24px var(--serif);color:var(--gold);margin-bottom:12px}.pit-tablet img{display:block;width:100%;height:auto}.pit-tablet p{font-size:11px;margin:12px 0 0}.pit-floor{padding:16px 12px;background:radial-gradient(ellipse,#101716,#020403);border:1px solid #7e684a;box-shadow:inset 0 0 40px #000}.pit-edge{text-align:center;font-size:9px;letter-spacing:2px;color:var(--gold);margin:8px 0 16px}.pit-edge:last-child{margin:18px 0 6px}.pit-row{display:grid;grid-template-columns:35px repeat(3,minmax(0,1fr));gap:10px;margin:12px 0;align-items:center}.pit-row>span{font-size:8px;color:var(--muted)}.pit-tile{position:relative;min-height:94px;padding:10px;background:linear-gradient(140deg,#6b5b3f,#393125);border:2px solid #94815c;box-shadow:0 7px 0 #191812,0 11px 12px #000;display:flex;flex-direction:column;align-items:center;gap:4px}.pit-tile img{width:46px;height:46px}.pit-tile small{font-size:10px;color:#ecdbb4}.pit-tile:disabled{opacity:.7}.pit-tile.chosen{opacity:1;border-color:var(--teal);background:#345547}.pit-tile b{position:absolute;top:3px;right:7px;color:var(--teal);font-size:12px}.pit-tile:not(:disabled):hover{border-color:var(--gold);background:#806b43}.pit-status{font-size:12px;color:var(--gold);margin:18px 0 12px}.pit-actions{display:flex;gap:12px}.pit-row:has(.pit-tile:not(:disabled))>span{color:var(--gold)}@media(max-width:500px){.pit-row{grid-template-columns:25px repeat(3,minmax(0,1fr));gap:6px}.pit-tile{padding:8px 2px;min-height:78px}.pit-tile img{width:36px;height:36px}.pit-tile small{font-size:9px}.pit-floor{padding:12px 6px}.pit-tablet{padding:10px}}
.touching-floor{padding:12px 0;background:#251e15}.touching-floor .pit-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:0}.touching-floor .pit-tile{aspect-ratio:1;min-height:0;padding:8px 2px;gap:0;border:1px solid #352a1b;border-radius:0;box-shadow:inset 0 0 8px #ba9b5955;background:linear-gradient(140deg,#a18550,#796039);justify-content:center}.touching-floor .pit-tile:disabled{opacity:1}.touching-floor .pit-tile img{width:60%;height:auto;max-width:58px;filter:brightness(.45)}.touching-floor .pit-tile.chosen{background:#385749;box-shadow:inset 0 0 0 2px var(--teal)}.touching-floor .pit-tile.chosen img{filter:none}.touching-floor .pit-tile.fallen{background:#050505;box-shadow:inset 0 0 15px #000;border-color:#352019}.touching-floor .pit-tile.fallen img{opacity:.2;transform:scale(.55) rotate(15deg)}.pit-fall-message{padding:15px;margin:15px 0;background:#602e25;border:1px solid #d48771;color:#ffe2cb;font-size:12px}.pit-fall-message strong{display:block;font:28px var(--serif);margin-bottom:6px}
.pit-chant h3{font-size:28px;margin-bottom:10px}.chant-sequence{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin:18px 0}.chant-sequence button{display:flex;flex-direction:column;align-items:center;gap:7px;padding:12px 2px;min-height:82px;background:#3b3220;border:1px solid var(--line);color:var(--gold)}.chant-sequence small{font-size:9px;color:var(--muted)}.chant-sequence strong{font-size:clamp(11px,3vw,18px);letter-spacing:1px}.pit-sound-key{padding:22px;border-bottom:1px solid var(--line)}.pit-sound-key h3{font-size:28px;margin:0 0 12px}.pit-sound-key>p{font-size:12px}.sound-key-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sound-key-grid button{background:#171c16;border:1px solid var(--line);padding:14px 8px;display:flex;align-items:center;flex-direction:column;gap:6px}.sound-key-grid img{width:44px;height:44px}.sound-key-grid span{font-size:12px}.sound-key-grid strong{color:var(--gold);font-size:20px;letter-spacing:2px}.sound-key-grid small{font-size:10px;color:var(--muted)}
.music-tablet h3{font-size:28px;margin-bottom:12px}.music-sequence{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px;margin:18px 0}.music-sequence>span{min-height:54px;display:flex;align-items:center;justify-content:center;text-align:center;border-bottom:2px solid var(--line);font-size:12px;color:var(--gold);overflow-wrap:anywhere}.music-sequence>span.active{background:var(--gold);color:#171c16}.music-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.music-actions label{display:flex;align-items:center;gap:8px;font-size:12px}.music-actions input{width:18px;min-height:18px;margin:0}.music-actions [aria-pressed=true]{background:var(--gold);color:#171c16}.music-key{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:20px 0}.music-key button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px 4px;min-height:116px;border:1px solid var(--line);background:#25291e;color:var(--gold)}.music-key strong{font-size:13px}.music-key small{font-size:11px;color:var(--ink)}.music-glyph{font-family:Georgia,'Segoe UI Symbol',serif;font-size:32px;line-height:1.2}.music-instruction{font-size:12px}.music-key button:hover{background:#3b3d29}.music-actions button:disabled{opacity:.45}.music-answer .music-glyph{font-size:27px}@media(max-width:420px){.music-sequence{gap:3px}.music-sequence>span{font-size:11px}.music-key{gap:5px}.music-key strong{font-size:12px}.music-tablet{padding:10px}.music-answer .music-glyph{font-size:23px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.scarab-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;max-width:650px;margin:0 auto;padding:5px;background:#12130e;border:2px solid #9d804a;box-shadow:inset 0 0 0 1px #d3ad6866}.scarab-tile,.scarab-blank{aspect-ratio:1;min-width:0;min-height:0;border-radius:0}.scarab-tile{display:block;padding:0;border:1px solid #b1935b;background-image:url(scarab-puzzle.png);background-size:300% 300%;box-shadow:inset 0 0 8px #0005;cursor:pointer}.scarab-tile:disabled{opacity:1;cursor:default}.scarab-tile:not(:disabled):hover{outline:2px solid var(--gold);outline-offset:-3px;filter:brightness(1.12)}.scarab-tile:focus-visible{outline:3px solid var(--teal);outline-offset:-4px}.scarab-blank{background:#090b08;box-shadow:inset 0 0 16px #000;border:1px solid #655438}.scarab-directions,.scarab-moves{text-align:center;font-size:13px}.scarab-moves{margin:16px 0 0;color:var(--gold)}

@keyframes scarab-success-flash{0%,100%{outline:4px solid transparent;outline-offset:4px}45%{outline:4px solid #e8c778;outline-offset:4px;box-shadow:0 0 20px #e8c77899}}
.scarab-board.scarab-success{animation:scarab-success-flash 700ms ease-in-out 3}
@media(prefers-reduced-motion:reduce){.scarab-board.scarab-success{animation:none;outline:4px solid #e8c778;outline-offset:4px}}

.ra-options{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.ra-plan{width:100%;height:auto;max-height:none}.ra-plan text{font-size:12px;fill:#e9dab8}.ra-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.ra-controls button{min-width:0;min-height:64px}.ra-status{font-size:13px;line-height:1.8;color:#e9dab8;padding:12px;background:#172128;border:1px solid #8a7850;border-radius:6px}

.ra-mirror{display:grid;place-items:center;width:60px;height:60px;padding:0;border:0;background:transparent;cursor:pointer;border-radius:50%}.ra-mirror-face{display:block;position:relative;width:36px;height:36px;border:2px solid #bda366;border-radius:50%;background:#202b22;box-shadow:0 0 8px #0008}.ra-mirror-face:after{content:"";position:absolute;left:3px;right:3px;top:15px;height:3px;background:#fff2c9;transform:rotate(45deg)}.ra-mirror-face.slash:after{transform:rotate(-45deg)}.ra-mirror:hover .ra-mirror-face{background:#42513b;border-color:#ffe3a0;box-shadow:0 0 12px #e4c07588}.ra-mirror:focus-visible{outline:3px solid #96d9e0;outline-offset:-3px}.ra-mirror-label{pointer-events:none}

.ra-plan .ra-mirror-label{font-family:"Segoe UI Historic","Noto Sans Egyptian Hieroglyphs",sans-serif;font-size:25px;fill:#f1d591}

.ra-lamps{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.ra-lamps button{flex:1;min-height:48px;padding:12px 8px;border:1px solid #ad945c;border-radius:6px;background:#25271e;color:#f1d591;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.ra-lamps button[aria-pressed=true]{background:#64552d;box-shadow:0 0 12px #e4c07566}.ra-lamps button:focus-visible{outline:3px solid #96d9e0;outline-offset:2px}.ra-mirror:disabled{cursor:default;opacity:1}

.ra-source{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:108px;height:100px;padding:6px 4px 8px;border:2px solid #ad945c;border-radius:9px;background:#25271e;color:#f1d591;cursor:pointer;font-size:13px}.ra-source-icon{font:42px/1 Georgia,"Segoe UI Symbol",serif}.ra-source strong{font-size:13px;letter-spacing:.14em}.ra-source[aria-pressed=true]{background:#64552d;box-shadow:inset 0 0 14px #e4c07566}.ra-source:focus-visible{outline:3px solid #96d9e0;outline-offset:-4px}.ra-source.is-locked{opacity:.45;filter:grayscale(.25);box-shadow:none;cursor:not-allowed}.ra-source.is-ready{animation:ra-thoth-ready 700ms ease-in-out 3;outline:3px solid #dceafa;outline-offset:2px;border-color:#dceafa;color:#f4fbff}
@keyframes ra-thoth-ready{0%,100%{box-shadow:0 0 0 0 transparent;background:#25271e}45%{box-shadow:0 0 22px #dceafa,0 0 0 3px #c5e4ff99;background:#4a5d70}}
@media(prefers-reduced-motion:reduce){.ra-source.is-ready{animation:none;background:#3d4c58;box-shadow:0 0 18px #dceafaaa}}

.ra-mirror-face.horizontal:after{transform:rotate(0deg)}.ra-mirror-face.vertical:after{transform:rotate(90deg)}
