.quest-v2 { position: relative; --q-purple:#4b3b78; --q-gold:#b99a52; --q-ink:#302b3c; color:var(--q-ink); }
.antyk-game-page .chamber-heading { min-height:190px; padding:30px 38px; }
.antyk-game-page .chamber-heading h2 { font-size:clamp(2.1rem,5vw,3.6rem); }
.chamber-shell[data-chamber='5'] .sphinx-mark { display:none; }
.quest-head { margin-bottom:24px; max-width:760px; }
.quest-head h3,.quest-win h3 { font-family:var(--font-display); color:#4b3b78; font-size:clamp(1.8rem,4.7vw,2.8rem); line-height:1.08; margin:8px 0 14px; }
.quest-head > p:last-child { line-height:1.6; margin:0; font-size:.95rem; }
.quest-eyebrow { font-size:.7rem; font-weight:850; text-transform:uppercase; letter-spacing:.12em; color:#866329; }
.q-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:12px 19px; border:1px solid #4b3b78; border-radius:10px; background:#4b3b78; color:white; font-weight:750; font-size:.86rem; line-height:1.3; cursor:pointer; }
.q-button.quiet { color:#4b3b78; background:#fcf7e9; border-color:#c7bbd1; }
.q-button:disabled { opacity:.45; cursor:default; }
.quest-v2 button:focus-visible,.lens-room:focus-visible { outline:3px solid #b58a32; outline-offset:3px; }
.q-actions { display:flex; gap:10px; flex-wrap:wrap; margin:18px 0; }
.q-status { min-height:48px; padding:14px 17px; margin:18px 0 10px; border-left:3px solid #ba9b52; border-radius:0 9px 9px 0; background:#eee5d1; font-size:.9rem; line-height:1.6; color:#4c405f; }
.q-status[data-state='wrong'] { background:#fae9e6; color:#8c303a; border-color:#ae5960; }
.q-status[data-state='correct'] { background:#e5eddf; color:#315c42; border-color:#65886b; }
.q-caption { color:#716772; font-size:.75rem; line-height:1.5; }
.quest-win { padding:26px; margin:26px 0 0; background:linear-gradient(130deg,#eee5ca,#fff9e7); border:1px solid #c5a35b; border-radius:16px; }
.quest-win p { line-height:1.65; }
.quest-recall { margin:20px 0; padding:18px; border:1px solid #d1c1a2; border-radius:12px; background:#fffcf4; text-align:left; }
.quest-recall h4 { margin:8px 0; color:#4b3b78; font-size:1.05rem; line-height:1.4; }
.quest-recall p { margin:10px 0; font-size:.9rem; }
.quest-recall summary,.game-learning-sources summary { min-height:44px; padding:12px 0; cursor:pointer; color:#4b3b78; font-weight:750; line-height:1.4; }
.quest-recall details[open] { border-top:1px solid #ded3ba; }
.quest-recall summary:focus-visible,.game-learning-sources summary:focus-visible { outline:3px solid #b58a32; outline-offset:3px; }
.game-learning-sources { margin:16px 0; text-align:left; font-size:.82rem; }
.game-learning-sources ul { padding-left:22px; line-height:1.7; }
.game-learning-sources a { color:#4b3b78; text-decoration:underline; }
.quest-xp { display:grid; grid-template-columns:1fr 1fr; gap:6px 24px; align-items:center; max-width:650px; margin:20px auto 0; padding:0 20px; color:#e4d1a4; font-size:.75rem; }
.quest-xp >div { height:6px; border-radius:8px; background:#4a405c; overflow:hidden; }
.quest-xp i { display:block; height:100%; width:0; background:linear-gradient(90deg,#ba9345,#f1d487); transition:width .6s ease; }
.quest-xp small { grid-column:1/-1; text-align:center; color:#b4a9c0; font-size:.62rem; }
.word-locks { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.word-locks article { display:flex; gap:10px; padding:13px; border:1px solid #d4c5a4; border-radius:10px; background:#f2ead8; }
.word-locks article > b { flex:0 0 26px; align-self:start; display:grid; place-items:center; height:26px; border:1px solid #b69b64; border-radius:50%; color:#8e7138; font-size:.7rem; }
.word-locks article >span { margin-left:auto; color:#aa8d4b; }
.word-locks strong { font-size:.85rem; color:#604b7e; }
.word-locks p { margin:4px 0 0; font-size:.78rem; line-height:1.45; }
.word-locks .unlocked { background:#e6eddd; border-color:#839878; }
.rune-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:6px; max-width:500px; margin:26px auto 12px; padding:12px; background:#c4b69a; border:2px solid #aa8b53; border-radius:14px; box-shadow:inset 0 2px 12px #68543344,0 10px 30px #58482c22; }
.rune-letter { position:relative; min-width:0; aspect-ratio:1; padding:0; border:1px solid #b59d70; border-radius:7px; background:linear-gradient(140deg,#fff9e7,#d7c8a7); box-shadow:0 2px 0 #a28b61; font:700 clamp(1.1rem,5vw,1.7rem) var(--font-display); color:#4d3b65; cursor:pointer; transition:transform .15s,background .2s; }
.rune-letter.traced { background:#4b3b78; color:#fff4d4; transform:translateY(-2px); box-shadow:0 3px 0 #2b204a; }
.rune-letter.earned:not(.traced) { background:#d2dfbf; color:#38503a; border-color:#8f9d72; }
.rune-letter.hinted { outline:2px solid #a2731b; outline-offset:1px; }
.word-trail { text-align:center; min-height:40px; font-family:var(--font-display); font-size:1.5rem; color:#4b3b78; }
.quest-objectives { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; color:#6a512e; font-size:.82rem; margin:20px 0; }
.quest-objectives span { background:#eee2c7; padding:7px 12px; border-radius:25px; }
.tactics-board { position:relative; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); max-width:540px; margin:auto; overflow:hidden; border:6px solid #675243; border-radius:13px; background:linear-gradient(#201827aa,#201827aa),url('/gra/antyk/assets/chamber-2-heroes.webp') center/cover; box-shadow:0 12px 25px #31223d33; }
.tactics-tile { position:relative; aspect-ratio:1; min-width:0; padding:6px; color:#e8c986; border:1px solid #b9a47b44; background:#c8b38b16; cursor:pointer; }
.tactics-tile:hover:not(:disabled) { background:#e5c58333; }
.tactics-tile svg { width:40%; height:auto; }
.tactics-tile small { display:block; font-size:.6rem; line-height:1.2; color:#e5d8c0; }
.tactics-tile.wall { background:linear-gradient(90deg,#8b8273,#cfbf9b,#7d7163); opacity:1; box-shadow:inset 5px 0 0 #4a3b3344,inset -5px 0 0 #3c332655; }
.tactics-tile.wall .tile-art i { position:absolute; inset:9% 18%; border:1px solid #52483e; border-top-width:5px; border-bottom-width:5px; background:repeating-linear-gradient(90deg,transparent 0 8px,#75634d55 8px 10px); }
.tactics-tile.next-patrol { box-shadow:inset 0 0 0 3px #c88b57; }
.tactics-actor { pointer-events:none; position:absolute; width:14%; height:14%; transform:translate(-50%,-50%); display:grid; place-items:center; background:radial-gradient(#e2ca8b,#67528b); border:1px solid #f7db93; border-radius:50%; color:#fff4d7; box-shadow:0 0 15px #e6b74b77; transition:left .25s ease,top .25s ease; }
.tactics-actor svg { width:80%; height:80%; }
.tactics-actor.guard { background:#592d38; color:#efab96; border-color:#d88e70; box-shadow:0 0 10px #e17c5733; }
.tactics-legend { display:flex; flex-wrap:wrap; justify-content:center; gap:7px 16px; margin:13px 0; font-size:.7rem; color:#6b5b64; }
.direction-pad { display:grid; grid-template-columns:repeat(3,60px); justify-content:center; gap:6px; margin:20px 0; }
.direction-pad [data-move='up'] { grid-column:2; }
.direction-pad [data-move='left'] { grid-column:1; }
.direction-pad [data-move='down'] { grid-column:2; }
.direction-pad .q-button { min-height:48px; padding:8px; }
.search-room { position:relative; isolation:isolate; aspect-ratio:1.7; min-height:320px; border:2px solid #8c7042; border-radius:16px; overflow:hidden; background:linear-gradient(#14132077,#141320bb),url('/gra/antyk/assets/chamber-3-library.webp') center/cover; }
.room-object { position:absolute; z-index:2; left:var(--x); top:var(--y); transform:translate(-50%,-50%); width:90px; min-height:85px; border:0; padding:5px; background:radial-gradient(ellipse,#1a1429dd,transparent 70%); color:#c8ac71; cursor:pointer; }
.room-object svg { width:60px; height:60px; filter:drop-shadow(0 3px 3px #000); transition:transform .2s,color .3s; }
.room-object span { display:block; color:#f5e4bd; text-shadow:0 1px 3px #000; font-size:.62rem; line-height:1.25; }
.room-object:hover svg { color:#ffe8ab; transform:translateY(-3px); }
.room-object.lit svg { color:#ffd578; filter:drop-shadow(0 0 15px #ffad3d); }
.room-object.opened svg { color:#e6d5a4; }
.room-object.searched { opacity:.6; }
.room-object.ready { filter:drop-shadow(0 0 12px #c3e095); }
.room-light { z-index:0; position:absolute; inset:0; pointer-events:none; background:radial-gradient(ellipse at 30% 35%,#e7ae4944,transparent 70%); opacity:0; transition:opacity 1s; }
.illuminated .room-light { opacity:1; }
.inventory { display:flex; align-items:center; flex-wrap:wrap; gap:12px; padding:15px 20px; margin-top:14px; border-radius:10px; background:#251e36; color:#e8d7b2; font-size:.8rem; }
.inventory >div { display:flex; gap:8px; }
.item { padding:6px 10px; min-width:90px; color:#e7d4a5; border-color:#776340; background:#342b43; }
.item svg { width:30px; height:30px; }
.item[aria-pressed='true'] { color:#302442; background:#e4c785; border-color:#fbe3a6; box-shadow:0 0 14px #e4c78533; }
.empty-bag { opacity:.55; }
.object-inspector { min-height:100px; padding:20px; border:1px solid #d0bd96; background:#f4ebd5; border-radius:10px; }
.object-inspector p { margin:8px 0 14px; line-height:1.55; }
.pipe-labels { display:flex; gap:14px; justify-content:space-between; max-width:500px; margin:0 auto 10px; color:#846333; font-size:.7rem; }
.pipe-board { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); max-width:500px; margin:auto; border:8px solid #655145; border-radius:14px; background:#322b35; box-shadow:0 12px 30px #33233333; }
.pipe-tile { position:relative; aspect-ratio:1; padding:0; min-width:0; border:2px solid #84725b; border-radius:4px; background:linear-gradient(145deg,#bcaa85,#82745f); cursor:pointer; }
.pipe-tile svg { width:100%; height:100%; display:block; transition:transform .25s; }
.pipe-bed { fill:none; stroke:#473e38; stroke-width:19; }
.pipe-glow { fill:none; stroke:#bd9c5a; stroke-width:7; opacity:.35; transition:stroke .3s,opacity .3s; transition-delay:var(--flow-delay,0ms); }
.pipe-tile circle { fill:#423841; stroke:#d0b473; stroke-width:2; }
.pipe-tile span { position:absolute; left:0; right:0; bottom:3px; font-size:.6rem; font-weight:850; text-shadow:0 1px 3px #000; color:#fff2cb; }
.pipe-tile.station { background:linear-gradient(140deg,#8a738f,#54445d); }
.pipe-tile.energized .pipe-glow { stroke:#ffda70; opacity:1; filter:drop-shadow(0 0 5px #f6ce5d); }
.pipe-tile.blocked { outline:3px solid #b85c56; outline-offset:-4px; }
.pipe-tile:disabled { opacity:1; }
.argument-stations { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; margin:18px 0; }
.argument-stations >div { padding:11px; border-top:3px solid #c5b798; background:#eee5d2; border-radius:5px; }
.argument-stations strong { display:block; font-size:.7rem; color:#6b527f; }
.argument-stations span { display:block; font-size:.68rem; line-height:1.5; margin-top:5px; }
.argument-stations .powered { border-color:#c59c39; background:#f7e8b3; }
.quest-clock { display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding:11px 14px; border:1px solid #cab793; border-radius:9px; margin:14px 0; }
.quest-clock >span { font-size:.9rem; color:#5e487c; min-width:115px; font-variant-numeric:tabular-nums; }
.quest-clock .q-button { font-size:.72rem; padding:8px 12px; }
.quest-clock small { font-size:.64rem; color:#807283; }
.quest-clock .urgent { color:#ad343d; }
.lens-room { position:relative; min-height:320px; aspect-ratio:1.7; overflow:hidden; border-radius:15px; border:3px solid #7d684e; touch-action:none; user-select:none; background:linear-gradient(#1c1729aa,#2c2335bb),url('/gra/antyk/assets/chamber-5-traps.webp') center/cover; }
.curse-sigil { position:absolute; transform:translate(-50%,-50%); color:#d2bb85; font:700 2.5rem var(--font-display); opacity:.15; filter:blur(2px); transition:filter .25s,opacity .25s; }
.curse-sigil.revealed { opacity:1; filter:drop-shadow(0 0 12px #e4c689); }
.curse-sigil.repaired { color:#bce2ad; opacity:1; filter:drop-shadow(0 0 8px #80a785); }
.truth-lens { pointer-events:none; position:absolute; width:130px; height:130px; border:7px solid #cfb26e; border-radius:50%; transform:translate(-50%,-50%); box-shadow:0 0 0 3px #675030,0 0 0 1000px #07041155,inset 0 0 30px #d3ccad44; background:#ffe7a41a; }
.truth-lens::after { content:''; position:absolute; width:13px; height:65px; top:100px; left:106px; transform:rotate(-35deg); border-radius:5px; border:2px solid #e7ce8f; background:#9c8049; }
.truth-lens span { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); color:#f1dca4aa; font-size:2rem; }
.discovered-seals { display:flex; gap:8px; flex-wrap:wrap; margin:18px 0; }
.repair-workbench { padding:24px; border:1px solid #bcaa83; border-radius:14px; background:#e9dfc9; }
.corrupt-phrase { font:1.4rem/1.6 var(--font-display); }
.corrupt-stone { padding:5px 13px; border:1px solid #6c5050; border-radius:5px; color:#672e3a; background:linear-gradient(calc(var(--cracks,0)*35deg),#ba9990,#e2c2af); font:inherit; box-shadow:0 4px 0 #9c8170; }
.corrupt-stone.crumbled { opacity:.28; text-decoration:line-through; box-shadow:none; }
.repair-workbench > p:not(.corrupt-phrase) { font-size:.82rem; }
.repair-wheel { border-top:1px solid #b6a27a; margin-top:20px; padding-top:15px; }
.repair-wheel >p { font:1.3rem/1.5 var(--font-display); }
.repair-wheel strong { display:inline-block; color:#4b3b78; padding:8px 16px; border:2px solid #b99c5e; border-radius:50%; background:#fcf4dd; }
.time-failure { padding:25px; border:2px solid #b36a67; background:#f8e3df; border-radius:12px; margin-top:24px; }
.sphinx-arena { position:relative; isolation:isolate; height:390px; border:1px solid #9b804b; border-radius:18px; overflow:hidden; background:linear-gradient(#120f21aa,#20162977),url('/gra/antyk/assets/chamber-4-labyrinth.webp') center/cover; }
.sphinx-hp { position:absolute; z-index:4; top:16px; left:7%; right:7%; padding:10px 15px; background:#21182cdd; border:1px solid #957b4f; border-radius:9px; }
.sphinx-hp >span { display:flex; justify-content:space-between; gap:10px; color:#e7d3aa; font-size:.75rem; }
.sphinx-hp >div { height:8px; border-radius:9px; background:#5d3a48; margin-top:8px; overflow:hidden; }
.sphinx-hp i { display:block; height:100%; width:100%; background:linear-gradient(90deg,#97653d,#e4bd71); transition:width .75s; }
.sphinx-portrait { position:absolute; bottom:30px; left:15%; width:70%; height:290px; display:grid; place-items:center; transform-origin:50% 95%; }
.sphinx-portrait img { position:relative; z-index:2; height:100%; max-width:100%; object-fit:contain; filter:drop-shadow(0 12px 12px #080711); animation:sphinx-breath 4s ease-in-out infinite; }
.sphinx-aura { position:absolute; inset:10%; border:1px solid #f2d38a44; border-radius:50%; box-shadow:0 0 35px #d7a85744,inset 0 0 35px #d7a85722; }
.boss-shields { position:absolute; z-index:3; left:3%; right:3%; bottom:55px; display:flex; justify-content:space-around; pointer-events:none; }
.boss-shields span { width:44px; height:44px; display:grid; place-items:center; font:1.6rem var(--font-display); background:#302137e6; color:#f7dc95; border:2px solid #d5b565; border-radius:50%; box-shadow:0 0 12px #d6ac4b66; transition:opacity .5s,transform .5s; }
.boss-shields span:nth-child(2),.boss-shields span:nth-child(4) { transform:translateY(-70px); }
.boss-shields span:nth-child(3) { transform:translateY(-185px); }
.boss-shields span.broken { opacity:0; transform:translateY(20px) scale(1.7); }
.sphinx-arena >p { position:absolute; z-index:4; bottom:4px; margin:0; padding:10px; left:0; right:0; text-align:center; color:#f2dfac; font-size:.78rem; background:linear-gradient(transparent,#191021ee); }
.argument-beam { position:absolute; z-index:5; bottom:0; left:49%; width:2%; height:70%; background:#fff1b5; opacity:0; transform-origin:bottom; box-shadow:0 0 30px 15px #e8c453; pointer-events:none; }
.boss-damage { position:absolute; z-index:5; top:35%; left:70%; opacity:0; font:700 2.5rem var(--font-display); color:#ffe9a3; text-shadow:0 2px 10px #411833; }
.sphinx-arena.defeated .sphinx-portrait { opacity:0; }
.boss-controls { display:flex; align-items:center; justify-content:space-between; margin:12px 0; gap:10px; color:#755b84; font-size:.75rem; }
.forge-slots { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; margin:23px 0; }
.forge-slot { text-align:left; min-width:0; min-height:140px; padding:13px 10px; color:#544661; background:#eee5d4; border:1px dashed #bba481; border-radius:9px; }
.forge-slot strong { display:block; font-size:.7rem; text-transform:uppercase; letter-spacing:.03em; color:#6b4d83; margin-bottom:8px; }
.forge-slot >span { font-size:.72rem; line-height:1.4; display:block; }
.forge-slot.active-rune { border:2px solid #b08c36; box-shadow:0 0 0 3px #b08c3615; }
.forge-slot.locked { opacity:1; border:1px solid #819e70; background:#e1e9d4; }
.forge-slot.locked strong::after { content:' ✓'; }
.shard-deck { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.answer-shard { position:relative; padding:16px 18px; border:1px solid #b7a0ca; border-radius:4px 14px 4px 14px; background:linear-gradient(140deg,#fffaf2,#ece0cd); color:#42354f; text-align:left; font-size:.8rem; line-height:1.55; cursor:grab; box-shadow:0 3px 0 #9a82612b; }
.answer-shard[aria-pressed='true'] { background:#4b3b78; color:#fff1d3; border-color:#4b3b78; }
.answer-shard.used { opacity:.5; }
.answer-shard.used[aria-pressed='true'] { opacity:1; }
@keyframes sphinx-breath { 0%,100% { transform:translateY(0) scale(1); } 50% { transform:translateY(-4px) scale(1.01); } }
@media (max-width:650px) {
 .antyk-game-page .chamber-heading { min-height:145px; padding:23px 19px; }
 .antyk-game-page .chamber-heading h2 { font-size:2.2rem; }
 .quest-xp { margin-top:13px; grid-template-columns:1fr; gap:5px; padding:0 24px; }
 .quest-xp>span { text-align:center; } .quest-xp small { font-size:.58rem; }
 .word-locks { grid-template-columns:1fr; gap:6px; } .word-locks article { padding:10px; } .word-locks p { font-size:.76rem; }
 .rune-grid { padding:7px; gap:3px; border-width:1px; } .rune-letter { border-radius:4px; font-size:1.1rem; }
 .quest-head h3 { font-size:1.8rem; } .quest-head>p:last-child { font-size:.88rem; }
 .q-button { padding:11px 13px; font-size:.78rem; } .quest-win { padding:19px; }
 .q-status { padding:12px; font-size:.82rem; } .q-actions { gap:7px; }
 .tactics-board { border-width:4px; } .tactics-tile { padding:2px; } .tactics-tile svg { width:48%; } .tactics-tile small { font-size:.48rem; }
 .tactics-actor { width:15%; height:15%; } .quest-objectives { font-size:.65rem; gap:5px; }
 .quest-objectives span { padding:6px 9px; }
 .search-room { min-height:360px; aspect-ratio:.9; } .room-object { width:73px; min-height:76px; } .room-object svg { width:48px; height:48px; } .room-object span { font-size:.58rem; }
 .inventory { padding:12px; } .inventory .item { min-width:80px; } .object-inspector { padding:16px; }
 .pipe-board { border-width:5px; } .pipe-tile { border-width:1px; } .pipe-tile span { font-size:.46rem; bottom:1px; }
 .argument-stations { grid-template-columns:1fr 1fr; } .pipe-labels { font-size:.6rem; gap:8px; }
 .lens-room { min-height:325px; aspect-ratio:1; } .truth-lens { width:100px; height:100px; border-width:5px; } .truth-lens::after { top:77px; left:82px; height:50px; width:11px; }
 .repair-workbench { padding:16px; } .corrupt-phrase { font-size:1.15rem; } .repair-wheel>p { font-size:1.1rem; }
 .quest-clock { gap:7px; padding:10px; } .quest-clock small { flex-basis:100%; } .quest-clock>span { min-width:90px; font-size:.75rem; }
 .sphinx-arena { height:310px; } .sphinx-portrait { height:225px; bottom:28px; left:9%; width:82%; }
 .sphinx-hp { left:4%; right:4%; top:9px; padding:9px; } .sphinx-hp>span { font-size:.65rem; }
 .boss-shields span { width:32px; height:32px; font-size:1.2rem; } .boss-shields { bottom:55px; }
 .boss-shields span:nth-child(2),.boss-shields span:nth-child(4) { transform:translateY(-50px); } .boss-shields span:nth-child(3) { transform:translateY(-132px); }
 .boss-shields span.broken { transform:translateY(15px) scale(1.7); }
 .forge-slots { grid-template-columns:1fr; gap:6px; } .forge-slot { min-height:62px; display:grid; grid-template-columns:84px 1fr; align-items:center; gap:8px; padding:10px; }
 .forge-slot strong { margin:0; font-size:.62rem; } .forge-slot>span { font-size:.7rem; }
 .shard-deck { grid-template-columns:1fr; } .answer-shard { padding:13px; font-size:.77rem; }
 .sphinx-arena>p { font-size:.66rem; }
}
@media (prefers-reduced-motion:reduce) { .quest-v2 *, .quest-xp * { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

/* Direct, visible controls for touch and keyboard. */
.duel-lanes [data-lane='0'] { border-bottom:3px solid #c9a657; }.duel-lanes [data-lane='1'] { border-bottom:3px solid #599b8b; }
.duel-mini-enemy { display:flex; align-items:center; gap:10px; margin-bottom:7px; }.duel-mini-enemy>img { width:36px; height:40px; object-fit:contain; background:#30253d; border-radius:8px; }.duel-mini-enemy>div { flex:1; }.duel-mini-enemy strong { display:flex; justify-content:space-between; font-size:.73rem; color:#4b3b78; }.mini-hp-track { height:5px; border-radius:5px; overflow:hidden; background:#ded1c0; margin-top:6px; }.mini-hp-track i { display:block; height:100%; background:linear-gradient(90deg,#846640,#c7a254); transition:width .6s; }
.hud-bag-button { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0; width:44px; min-height:44px; padding:3px!important; font-size:1.1rem; }.hud-bag-button span { font-size:.55rem; line-height:1; }
.bag-dialog { width:min(620px,calc(100vw - 24px)); }.discovery-bag { display:grid; gap:10px; }.discovery-bag article { display:flex; gap:14px; padding:14px; border:1px solid #d5c39e; border-radius:12px; background:#f5ecd9; }.discovery-bag article>svg { flex:0 0 42px; height:48px; color:#86632f; }.discovery-bag strong { color:#4b3b78; }.discovery-bag small { display:block; margin-top:4px; color:#746778; font-size:.7rem; }.discovery-bag p { font-size:.83rem; margin:8px 0 0; }.discovery-bag .locked { opacity:.65; }.bag-secrets { color:#816126; font-weight:750; }.secret-corner { padding:12px 0; }.secret-corner .q-button { border-style:dashed; }.secret-sockets,.secret-glyphs { display:flex; justify-content:center; gap:10px; margin:20px 0; }.secret-sockets span { display:grid; place-items:center; width:44px; height:50px; border-bottom:3px solid #b79b55; background:#f1e5c9; color:#4b3b78; font-size:1.5rem; }.secret-glyphs .q-button { width:48px; min-height:48px; font-size:1.2rem; }.secret-medal { display:grid; place-items:center; margin:20px auto; border:4px double #b18e43; border-radius:50%; width:100px; height:100px; color:#937136; background:radial-gradient(#fff7da,#d7b976); font-size:3rem; }
.personal-review { margin:25px 0; padding:22px; border:1px solid #c4b291; border-radius:16px; background:#fcf7eb; text-align:left; }.personal-review h4 { font:700 1.4rem var(--font-display); color:#4b3b78; margin:10px 0; }.personal-review>p { font-size:.87rem; line-height:1.6; }.personal-review article { padding:15px; margin:10px 0; background:#eee6d4; border-radius:10px; }.personal-review article>strong { color:#4b3b78; }.personal-review article p { font-size:.87rem; line-height:1.55; }.personal-review summary { cursor:pointer; min-height:44px; padding:12px 0; color:#4b3b78; font-weight:750; font-size:.8rem; }
.duel-round-progress { display:flex; flex-wrap:wrap; gap:7px; margin:22px 0; }.duel-round-progress span { padding:7px 10px; border:1px solid #cdbfa4; border-radius:20px; color:#756b76; font-size:.7rem; }.duel-round-progress .active { background:#4b3b78; color:#fff4d5; border-color:#4b3b78; }.duel-round-progress .done { background:#dfead8; color:#36583b; border-color:#9ab088; }.duel-round-progress .done::before { content:'✓ '; }
.evidence-duel-layout { display:grid; grid-template-columns:minmax(250px,.78fr) minmax(0,1fr); gap:22px; align-items:start; }.duel-arena-column { position:sticky; top:calc(var(--header-height,80px) + 85px); }.evidence-arena { height:340px; }.evidence-arena .sphinx-portrait { height:250px; }.evidence-arena .boss-shields span:nth-child(3) { transform:translateY(-145px); }
.sphinx-accusation { margin-top:14px; padding:18px; border:1px solid #b99170; border-radius:14px; background:linear-gradient(120deg,#2d233c,#4b3545); color:#f7e4b7; }.sphinx-accusation .quest-eyebrow { color:#e6c38c; font-size:.65rem; }.sphinx-accusation p { font:1.3rem/1.4 var(--font-display); margin:10px 0; }.sphinx-accusation small { color:#d9c7c2; font-size:.72rem; }
.duel-workarea { min-width:0; }.duel-workarea h4 { color:#4b3b78; font-size:1.1rem; margin:17px 0 13px; }.duel-artifacts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }.duel-artifact { min-width:0; min-height:130px; border:1px solid #c0a56a; border-radius:12px; padding:10px 7px; background:linear-gradient(#f8efda,#e1d1ae); color:#58432c; cursor:pointer; text-align:center; }.duel-artifact>svg { display:block; width:42px; height:42px; margin:auto auto 8px; }.duel-artifact>span { display:block; font-size:.78rem; font-weight:750; line-height:1.25; }.duel-artifact small { display:block; font-size:.6rem; margin-top:6px; color:#756748; }.duel-artifact[aria-pressed='true'] { border-color:#4b3b78; background:#4b3b78; color:#fff0c6; box-shadow:0 0 0 3px #ad955e33; }.duel-artifact[aria-pressed='true'] small { color:#e2d3ec; }.duel-artifact:disabled { opacity:.4; cursor:default; }.duel-item-description { min-height:74px; font-size:.83rem; line-height:1.55; margin:14px 0; }.duel-target { width:100%; min-height:56px; border:2px solid #b39551; }.duel-evidence>.q-status:empty { display:none; }
.evidence-reveal { padding:15px; border:1px solid #a5b496; border-radius:12px; background:#e9efdf; }.evidence-reveal p { font-size:.83rem; line-height:1.55; margin:8px 0 12px; }.evidence-reveal .q-button { font-size:.7rem; padding:8px 12px; }
.duel-path-heading { scroll-margin-top:170px; }.duel-path-heading p { font-size:.86rem; line-height:1.6; }.duel-lanes { display:flex; gap:8px; margin:16px 0; }.duel-lanes:empty { display:none; }.duel-lanes .q-button { flex:1; padding:10px 8px; }.duel-lanes [aria-pressed='true'] { background:#4b3b78; color:#fff3d2; border-color:#4b3b78; }
.path-slots { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin:14px 0; }.path-slots>span { min-height:75px; padding:9px 5px; border:1px dashed #bdab85; border-radius:8px; background:#f0e7d3; text-align:center; }.path-slots small { display:block; font-size:.62rem; color:#756347; }.path-slots b { display:block; margin-top:7px; font-size:.73rem; color:#4b3b78; line-height:1.3; }.path-slots .filled { border-style:solid; border-color:#b79345; background:#f5e8ba; }
.argument-web { position:relative; isolation:isolate; margin:16px 0; padding:18px 10px; border:2px solid #8c7042; border-radius:16px; background:radial-gradient(ellipse at 50% 50%,#4a3b56,#211a2b); }.argument-web>svg { position:absolute; z-index:0; inset:0; width:100%; height:100%; pointer-events:none; overflow:visible; }.argument-web polyline { fill:none; stroke:#efd188; stroke-width:5; stroke-linecap:round; stroke-linejoin:round; filter:drop-shadow(0 0 5px #dba94b); }.argument-web polyline.lane-1 { stroke:#b3dccc; filter:drop-shadow(0 0 5px #78c9b3); }.argument-nodes { position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px 12px; }.proof-node { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; min-width:0; min-height:100px; border:1px solid #ad9770; border-radius:14px; padding:9px 5px; background:linear-gradient(145deg,#f6e8c5,#cdbc96); color:#45354e; cursor:pointer; box-shadow:0 5px 0 #1c142c; }.proof-node i { display:grid; place-items:center; width:22px; height:22px; border:1px solid #8c7042; border-radius:50%; font-style:normal; font-size:.68rem; }.proof-node>span { font-size:.72rem; font-weight:700; line-height:1.3; }.proof-node.connected { background:#5b4379; color:#fff0c2; border:2px solid #e7cb7b; box-shadow:0 0 15px #dfc07533; }.proof-node.connected i { border-color:#e7cb7b; }.proof-node:disabled { cursor:default; }
.duel-attack-dock { position:sticky; z-index:6; bottom:0; margin-top:16px; padding:10px 0 calc(10px + env(safe-area-inset-bottom)); background:#fff9ef; border-top:2px solid #bc9d59; box-shadow:0 -10px 20px #fff9efdd; }.duel-attack-dock>[data-attack-readiness] { margin:0 0 8px; font-size:.72rem; color:#6a526e; font-weight:700; }.duel-attack-dock .q-button { width:100%; }.duel-attack-dock .q-status { min-height:0; max-height:130px; overflow:auto; margin:8px 0 0; padding:9px; font-size:.78rem; }.duel-attack-dock .q-status:empty { display:none; }.analytics-consent-open .duel-attack-dock { bottom:var(--analytics-consent-height,0px); }.proof-node { scroll-margin-block:175px 230px; }
@media(max-width:850px) { .evidence-duel-layout { grid-template-columns:1fr; }.duel-arena-column { position:static; }.evidence-arena { height:270px; }.evidence-arena .sphinx-portrait { height:190px; }.evidence-arena .boss-shields span:nth-child(2),.evidence-arena .boss-shields span:nth-child(4) { transform:translateY(-30px); }.evidence-arena .boss-shields span:nth-child(3) { transform:translateY(-100px); }.sphinx-accusation p { font-size:1.25rem; }.argument-nodes { gap:27px 10px; } }
@media(max-width:650px) { .duel-round-progress { gap:5px; }.duel-round-progress span { padding:6px 8px; font-size:.62rem; }.duel-artifact { min-height:122px; }.duel-artifact>span { font-size:.7rem; }.duel-artifact small { font-size:.55rem; }.duel-item-description { min-height:0; }.argument-web { padding:18px 7px; }.argument-nodes { gap:26px 8px; }.proof-node { min-height:100px; padding:7px 3px; }.proof-node>span { font-size:.69rem; }.path-slots small { font-size:.6rem; }.path-slots b { font-size:.68rem; }.duel-attack-dock .q-status { max-height:95px; }.personal-review { padding:16px; }.discovery-bag article { padding:12px; gap:10px; } }
.chamber-shell[data-chamber='5'] { overflow:clip; }
/* One task at a time; completed paths leave the work area. */
.duel-simple { max-width:660px; margin:0 auto; }
.duel-simple [hidden] { display:none !important; }
.chamber-shell[data-chamber='5']:has(.duel-simple) .chamber-heading { min-height:155px; padding:23px 28px; }
.chamber-shell[data-chamber='5']:has(.duel-simple) .chamber-heading h2 { font-size:2rem; margin:5px 0; }
.chamber-shell[data-chamber='5']:has(.duel-simple) .chamber-heading>p:last-child { display:none; }
.chamber-shell[data-chamber='5']:has(.duel-simple) .chamber-body { padding:24px 20px 32px; }
.duel-opponent { display:flex; gap:14px; align-items:center; }
.duel-opponent>img { width:64px; height:76px; object-fit:contain; border-radius:12px; background:#30253d; }
.duel-opponent>div { flex:1; min-width:0; }.duel-opponent strong { display:block; font-size:.9rem; margin:6px 0 10px; color:#4b3b78; }.duel-opponent>b { font-size:.75rem; color:#6a596e; white-space:nowrap; }
.duel-health { height:7px; border-radius:6px; background:#dfd5c1; overflow:hidden; }.duel-health i { display:block; height:100%; background:linear-gradient(90deg,#887245,#be9c50); transition:width .4s; }
.duel-simple-progress { display:flex; list-style:none; padding:0; gap:4px; margin:20px 0 24px; }.duel-simple-progress li { flex:1; min-width:0; text-align:center; color:#746c78; border-bottom:2px solid #d9cfb9; padding-bottom:10px; }.duel-simple-progress span { display:block; font-weight:800; margin-bottom:3px; }.duel-simple-progress small { font-size:.68rem; }.duel-simple-progress .done { color:#3e7153; border-color:#78a083; }.duel-simple-progress .active { color:#4b3b78; border-color:#4b3b78; font-weight:800; }
.duel-single-claim { padding:16px 18px; border-radius:12px; background:#392c49; color:#f9ecd0; }.duel-single-claim .quest-eyebrow { color:#dfbf80; font-size:.64rem; }.duel-single-claim p { margin:9px 0 0; font:1.18rem/1.45 var(--font-display); }
.duel-current-task h3 { margin:22px 0 8px; font:700 1.5rem/1.2 var(--font-display); color:#4b3b78; scroll-margin-top:175px; }.duel-current-task>p { font-size:.9rem; line-height:1.5; margin:0 0 14px; }
.duel-simple .path-slots { margin:12px 0; }.duel-simple .path-slots>span { min-height:65px; padding:8px 5px; }.duel-simple .path-slots b { font-size:.77rem; }
.duel-simple .argument-web { margin:12px 0; padding:18px 12px; }.duel-simple .argument-nodes { gap:20px 12px; }.duel-simple .proof-node { min-height:82px; scroll-margin-block:170px 35px; }.duel-simple .proof-node>span { font-size:.82rem; }
.duel-simple-tools { display:flex; justify-content:space-between; gap:12px; }.duel-simple-tools .q-button { padding:9px 13px; font-size:.78rem; }
.duel-simple .q-status { min-height:0; margin:12px 0; padding:12px 14px; font-size:.85rem; }.duel-simple .q-status:empty { display:none; }
.duel-main-action { display:flex; width:100%; margin-top:18px; min-height:50px; font-size:.95rem; }.duel-ready { font-size:.75rem; text-align:center; color:#746778; margin:9px 0 0; }
.duel-reference,.duel-extra,.duel-simple .built-answer { border-top:1px solid #ded3bf; margin-top:20px; font-size:.85rem; line-height:1.55; }.duel-reference summary,.duel-extra summary { cursor:pointer; padding:14px 0; min-height:44px; color:#665471; }.duel-reference p { margin:0 0 12px; }.duel-extra .q-actions { margin:5px 0; }
.duel-locked-lane { border-left:3px solid #6b9678; background:#edf1e6; padding:10px 12px; font-size:.8rem; line-height:1.5; color:#3d6247; }
.duel-round-result { border:1px solid #b9cba8; border-radius:16px; background:#eff3e8; text-align:center; padding:25px 22px; }.duel-success-icon { display:grid; place-items:center; width:48px; height:48px; border-radius:50%; margin:0 auto 18px; color:white; background:#527c59; font-size:1.6rem; }.duel-round-result h3 { font:700 1.85rem/1.2 var(--font-display); color:#405d46; margin:10px 0; scroll-margin-top:190px; }.duel-round-result>p:not(.quest-eyebrow):not(.q-caption) { font-size:.95rem; line-height:1.65; }
.rune-letter:disabled { cursor:default; }.rune-letter.earned:disabled { opacity:1; }
@media(max-width:650px) { .chamber-shell[data-chamber='5']:has(.duel-simple) .chamber-body { padding:20px 12px 28px; }.duel-opponent { gap:10px; }.duel-opponent>img { width:46px; height:60px; }.duel-opponent .quest-eyebrow { font-size:.6rem; }.duel-opponent strong { font-size:.78rem; }.duel-opponent>b { font-size:.65rem; }.duel-simple-progress { margin:15px 0 18px; }.duel-simple-progress small { font-size:.55rem; }.duel-single-claim { padding:14px; }.duel-single-claim p { font-size:1.08rem; }.duel-current-task h3 { font-size:1.35rem; margin-top:18px; }.duel-simple .path-slots b { font-size:.7rem; }.duel-simple .argument-web { padding:14px 8px; }.duel-simple .argument-nodes { gap:17px 8px; }.duel-simple .proof-node { min-height:88px; }.duel-simple .proof-node>span { font-size:.72rem; }.duel-round-result { padding:22px 16px; } }
.analytics-consent-open .attack-dock { bottom:var(--analytics-consent-height,0px); }
.quest-guide { padding:15px 18px; margin:16px 0; border:1px solid #b7c8ab; border-left:4px solid #547956; border-radius:10px; background:#edf1e4; color:#36533e; font-size:.9rem; font-weight:700; line-height:1.5; }
.tactics-tile.reachable { background:#84bc8055; box-shadow:inset 0 0 0 2px #a0d196; }
.tactics-tile.patrol-danger { background:#af4a4055; box-shadow:inset 0 0 0 2px #ffb091; }
.tactics-tile.quest-target { outline:3px solid #f5ce6f; outline-offset:-4px; }
.move-marker { position:absolute; top:2px; right:5px; color:#def9cc; font-size:1.1rem; line-height:1.1; }
.patrol-danger .move-marker { color:#ffd1b4; }
.legend-safe { color:#38613c; font-weight:700; }.legend-danger { color:#9c443b; font-weight:700; }
.direction-pad { grid-template-columns:repeat(3,72px); }.direction-pad [data-move='wait'] { font-size:.7rem; line-height:1.25; }
.inventory-token { display:inline-flex; align-items:center; gap:6px; color:#f4ddb0; padding:5px 8px; border:1px solid #796640; border-radius:6px; }.inventory-token svg { width:28px; height:28px; }
.inventory >div { flex-wrap:wrap; }
.room-object { border:1px solid #ead19e88; border-radius:12px; background:#1a1429d9; }.room-object span { font-size:.7rem; }
.object-check { display:none; position:absolute; top:-6px; right:-6px; width:22px; height:22px; border-radius:50%; background:#c8e6b6; color:#2c4a32; font-size:.9rem; }.object-done .object-check { display:block; }
.quest-inspector { box-sizing:border-box; width:min(520px,calc(100vw - 24px)); max-height:calc(100dvh - 32px); margin:auto; padding:24px; overflow:auto; overscroll-behavior:contain; border:1px solid #b69959; border-radius:18px; background:#fff9ed; color:#352c43; box-shadow:0 20px 80px #09061880; }
.quest-inspector::backdrop { background:#140d21bb; backdrop-filter:blur(3px); }.quest-inspector h4 { font-family:var(--font-display); font-size:1.7rem; color:#4b3b78; margin:0 0 15px; line-height:1.15; }.quest-inspector p { line-height:1.6; }.quest-inspector [data-dialog-close] { margin-top:20px; }.quest-inspector .q-button { white-space:normal; }.quest-inspector .q-status:empty { display:none; }
.pipe-labels { font-size:.82rem; font-weight:800; gap:12px; margin-bottom:14px; }.pipe-labels span { padding:8px 12px; border-radius:8px; }.pipe-labels .entry-label { background:#d9eadb; color:#285239; }.pipe-labels .exit-label { background:#dce8f1; color:#244965; }
.pipe-tile.pipe-start { box-shadow:inset 0 0 0 4px #387f55; }.pipe-tile.pipe-end { box-shadow:inset 0 0 0 4px #40769f; }
.pipe-tile .pipe-endpoint { position:absolute; z-index:2; top:4px; left:4px; padding:3px 6px; border-radius:4px; background:#235c3b; color:white; font:800 .66rem/1.1 var(--font-body,sans-serif); }.pipe-end .pipe-endpoint { left:auto; right:4px; background:#285c80; }
.pipe-tile.pipe-start::before,.pipe-tile.pipe-end::after { position:absolute; z-index:2; top:50%; transform:translateY(-50%); color:white; font:900 20px/1 sans-serif; padding:2px; border-radius:3px; pointer-events:none; }.pipe-tile.pipe-start::before { content:'→'; left:-3px; background:#235c3b; }.pipe-tile.pipe-end::after { content:'→'; right:-3px; background:#285c80; }
.lens-room.direct-lens { touch-action:pan-y; }.direct-lens .truth-lens { z-index:0; box-shadow:0 0 0 3px #675030,inset 0 0 30px #d3ccad44; opacity:.6; }
.inscription-target { position:absolute; z-index:1; transform:translate(-50%,-50%); width:120px; min-height:100px; border:1px solid #d8ba76; border-radius:14px; padding:10px 6px; background:#2b2039e8; color:#f9e6b6; cursor:pointer; box-shadow:0 0 24px #d6b46922; }
.inscription-target b { display:grid; place-items:center; margin:0 auto 6px; width:35px; height:35px; border:1px solid #d8ba76; border-radius:50%; font-size:1.3rem; }.inscription-target span { display:block; font-size:.8rem; font-weight:750; }.inscription-target small { display:block; font-size:.6rem; margin-top:5px; }.inscription-target.repaired { color:#d0efb7; border-color:#a1c58c; }.inscription-target:disabled { opacity:.4; }
.seal-selector { display:grid; grid-template-columns:44px minmax(0,1fr) 44px; align-items:center; gap:9px; margin:18px 0; }.seal-selector .q-button { padding:8px; min-width:44px; font-size:1.3rem; }.seal-selector p { margin:0; padding:14px 8px; text-align:center; border:2px solid #b89a5a; border-radius:12px; background:#f4e8c9; font-size:1rem; }.seal-selector strong { display:block; color:#4b3b78; }.repaired-phrase { padding:14px; border:1px solid #91ad7f; background:#e8efdc; border-radius:10px; }
.optional-challenge,.built-answer { margin:18px 0; border:1px solid #d7c9af; border-radius:10px; padding:0 14px; }.optional-challenge summary,.built-answer summary { cursor:pointer; padding:14px 0; min-height:44px; color:#5b4876; font-size:.85rem; font-weight:700; }.built-answer li { margin:12px 0; line-height:1.6; font-size:.86rem; }
.boss-battle-layout { display:grid; grid-template-columns:minmax(240px,.7fr) minmax(0,1fr); gap:22px; align-items:start; }.boss-battle-layout .sphinx-arena { position:sticky; top:calc(var(--header-height,80px) + 100px); }.boss-workarea { min-width:0; }.boss-workarea .shard-deck { grid-template-columns:1fr; }.active-rune-guide { padding:14px 18px; margin-bottom:14px; background:#eee4ca; border:2px solid #b99a52; border-radius:12px; scroll-margin-top:200px; }.active-rune-guide p { margin:0; font-size:.85rem; line-height:1.5; }.active-rune-guide .quest-eyebrow { margin-bottom:6px; }
.answer-shard { cursor:pointer; }.shard-selected { display:none; margin-top:8px; font-size:.7rem; }.answer-shard[aria-pressed='true'] .shard-selected { display:block; }.answer-shard[hidden] { display:none; }.answer-shard:disabled { cursor:default; }
.attack-dock { position:sticky; z-index:6; bottom:0; padding:12px 0 calc(12px + env(safe-area-inset-bottom)); background:#fff9ef; border-top:2px solid #bc9d59; margin-top:16px; box-shadow:0 -10px 20px #fff9efcc; }.attack-dock>[data-selection-status] { margin:0 0 8px; font-size:.75rem; line-height:1.4; }.attack-dock>.q-button { width:100%; }.attack-dock .q-status { margin:8px 0 0; padding:8px 10px; font-size:.76rem; min-height:0; max-height:140px; overflow:auto; }.shard-deck { scroll-margin-bottom:240px; }.answer-shard { scroll-margin-block:180px 240px; }.boss-controls { flex-wrap:wrap; }.boss-shields .current-shield { border-color:#fff6d6; box-shadow:0 0 18px #ffe8a9; }
@media(max-width:850px) { .boss-battle-layout { grid-template-columns:1fr; }.boss-battle-layout .sphinx-arena { position:relative; top:auto; height:280px; }.boss-battle-layout .sphinx-portrait { height:200px; bottom:26px; }.boss-battle-layout .boss-shields span:nth-child(2),.boss-battle-layout .boss-shields span:nth-child(4) { transform:translateY(-35px); }.boss-battle-layout .boss-shields span:nth-child(3) { transform:translateY(-105px); } }
@media(max-width:650px) { .quest-guide { font-size:.8rem; padding:12px; }.tactics-tile small { font-size:.5rem; }.move-marker { top:1px; right:3px; font-size:.85rem; }.pipe-labels { font-size:.72rem; }.pipe-labels span { padding:8px; }.pipe-tile .pipe-endpoint { top:3px; left:3px; padding:3px; font-size:.55rem; }.pipe-end .pipe-endpoint { left:auto; right:3px; }.pipe-tile.pipe-start::before,.pipe-tile.pipe-end::after { font-size:15px; }.pipe-tile span { font-size:.55rem; bottom:4px; }.room-object { width:78px; }.room-object span { font-size:.65rem; }.quest-inspector { padding:20px 17px; }.quest-inspector h4 { font-size:1.45rem; }.inscription-target { width:96px; min-height:98px; }.inscription-target span { font-size:.7rem; }.inscription-target small { font-size:.55rem; }.attack-dock .q-status { max-height:100px; }.attack-dock { padding-top:10px; }.boss-battle-layout { gap:16px; }.boss-workarea .answer-shard { font-size:.84rem; }.seal-selector { gap:5px; } }
