:root{--gold:#f0cf79;--gold2:#d3ad54;--ink:#f6eedb;--paper:#fbf6ea;--dark:#1a1208;--serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;--sans:"Libre Franklin",system-ui,-apple-system,Segoe UI,Helvetica,Arial,sans-serif}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%;overflow:hidden;background:#1a1208;color:var(--ink);font-family:var(--sans)}
#scene{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none;outline:none}
.pill{position:fixed;z-index:30;top:calc(12px + env(safe-area-inset-top));padding:8px 14px;border-radius:999px;background:rgba(26,18,8,.62);border:1px solid rgba(240,207,121,.45);color:var(--ink);font-size:14px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);text-decoration:none;line-height:1.2}
#plain{right:12px}
#plain:hover{background:rgba(60,40,12,.8)}
#counter{left:12px;font-size:14px}
#counter b{color:var(--gold)}
#counter.bump{animation:bump .7s ease}
@keyframes bump{30%{transform:scale(1.18);box-shadow:0 0 24px rgba(240,207,121,.8)}}
#intro{position:fixed;inset:0;z-index:40;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 40%,rgba(90,60,20,.55),rgba(20,12,4,.92) 70%);transition:opacity 1.1s ease}
#intro.gone{opacity:0;pointer-events:none}
.intro-card{text-align:center;max-width:520px;padding:28px 24px}
.eyebrow{font-size:11px;letter-spacing:.22em;color:var(--gold2);font-weight:600}
#intro h1{font-family:var(--serif);font-weight:500;font-size:clamp(48px,12vw,84px);margin:.1em 0 .15em;color:var(--gold);text-shadow:0 0 30px rgba(240,190,90,.55)}
#intro p{font-size:17px;line-height:1.55;color:#efe4c9}
#intro .small{font-size:13px;opacity:.8;margin-top:18px}
#intro a,#fallback a{color:var(--gold)}
#enter{margin-top:14px;font-size:18px;padding:14px 34px;border-radius:999px;border:1px solid var(--gold);background:linear-gradient(180deg,#f4d98c,#c9a043);color:#2a1b05;font-weight:700;cursor:pointer;box-shadow:0 0 30px rgba(240,200,110,.45)}
#enter:disabled{opacity:.6;cursor:wait;background:rgba(240,207,121,.2);color:var(--ink)}
.bar{height:3px;width:200px;margin:14px auto 0;background:rgba(255,255,255,.12);border-radius:3px;overflow:hidden}
.bar i{display:block;height:100%;width:5%;background:var(--gold);transition:width .3s}
#hint{position:fixed;z-index:25;left:50%;transform:translateX(-50%);top:calc(96px + env(safe-area-inset-top));max-width:min(92vw,560px);text-align:center;padding:12px 18px;border-radius:16px;background:rgba(26,18,8,.72);border:1px solid rgba(240,207,121,.5);font-size:15px;line-height:1.4;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:fadeup .6s ease;pointer-events:none}
#hint b{color:var(--gold)}
@keyframes fadeup{from{opacity:0;transform:translate(-50%,10px)}}
#prompt{position:fixed;z-index:26;left:50%;transform:translateX(-50%);bottom:calc(92px + env(safe-area-inset-bottom));padding:12px 20px;border-radius:999px;border:1px solid var(--gold);background:linear-gradient(180deg,rgba(244,217,140,.95),rgba(201,160,67,.95));color:#2a1b05;font-size:16px;font-weight:700;cursor:pointer;max-width:min(88vw,520px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 0 26px rgba(240,200,110,.6);animation:fadeup .3s ease}
body.touch #prompt{bottom:calc(30px + env(safe-area-inset-bottom));left:auto;right:14px;transform:none;max-width:52vw;white-space:normal;font-size:15px;text-align:left}
#speech{position:fixed;z-index:24;transform:translate(-50%,-100%);max-width:240px;padding:9px 13px;border-radius:14px;background:rgba(255,248,230,.95);color:#3a2708;font-family:var(--serif);font-size:17px;line-height:1.25;font-style:italic;box-shadow:0 6px 22px rgba(0,0,0,.35);pointer-events:none;text-align:center}
#speech:after{content:"";position:absolute;left:50%;bottom:-8px;margin-left:-8px;border:8px solid transparent;border-bottom:0;border-top-color:rgba(255,248,230,.95)}
#toast{position:fixed;z-index:27;left:50%;top:calc(160px + env(safe-area-inset-top));transform:translateX(-50%);padding:8px 16px;border-radius:999px;background:rgba(26,18,8,.75);border:1px solid rgba(240,207,121,.45);font-size:14px;animation:fadeup .3s ease;pointer-events:none;max-width:90vw;text-align:center}
#joy{position:fixed;z-index:22;left:calc(22px + env(safe-area-inset-left));bottom:calc(26px + env(safe-area-inset-bottom));width:132px;height:132px;border-radius:50%;background:radial-gradient(circle,rgba(240,207,121,.10),rgba(240,207,121,.22));border:2px solid rgba(240,207,121,.55);touch-action:none;box-shadow:0 0 22px rgba(240,200,110,.25)}
#joy:before{content:"walk";position:absolute;left:0;right:0;top:-22px;text-align:center;font-size:12px;letter-spacing:.2em;color:rgba(246,238,219,.75);text-transform:uppercase}
#knob{position:absolute;left:50%;top:50%;width:58px;height:58px;margin:-29px 0 0 -29px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#fff4cf,#e2b85a 60%,#a97c24);box-shadow:0 0 18px rgba(255,210,120,.8)}
#reader{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:rgba(15,10,4,.66);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:fade .35s ease}
@keyframes fade{from{opacity:0}}
.r-card{position:relative;width:min(760px,94vw);max-height:92vh;overflow:auto;background:var(--paper);color:#2a2113;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.55),0 0 0 1px rgba(211,173,84,.6);animation:rise .45s cubic-bezier(.2,.8,.2,1)}
@keyframes rise{from{transform:translateY(24px) scale(.97);opacity:0}}
#r-close{position:sticky;top:10px;float:right;margin:10px 10px -52px 0;z-index:3;padding:10px 16px;border-radius:999px;border:1px solid rgba(0,0,0,.15);background:rgba(255,250,238,.95);color:#2a1b05;font-weight:700;font-size:15px;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.25)}
#r-media{background:#120c05;display:grid;place-items:center;border-radius:18px 18px 0 0;overflow:hidden;min-height:120px}
#r-media img,#r-media video,#r-media canvas{display:block;max-width:100%;max-height:56vh;width:auto;height:auto;margin:0 auto}
#r-media .playwrap{position:relative;cursor:pointer}
#r-media .play{position:absolute;left:50%;top:50%;width:76px;height:76px;margin:-38px 0 0 -38px;border-radius:50%;background:rgba(255,245,215,.92);color:#3a2708;font-size:30px;display:grid;place-items:center;box-shadow:0 0 30px rgba(255,210,120,.8);border:0}
.r-body{padding:18px 24px 26px}
#r-kind{color:#8a6a1c}
#r-title{font-family:var(--serif);font-size:clamp(26px,5vw,36px);line-height:1.1;margin:.25em 0 .2em;color:#241a09;font-weight:600}
#r-by{font-size:14px;color:#6b5a38;margin-bottom:10px}
#r-blurb{font-size:17px;line-height:1.55;margin:0 0 12px}
#r-excerpt{font-family:var(--serif);font-size:19px;line-height:1.5;color:#3b2f1a;border-left:3px solid #d3ad54;padding:2px 0 2px 14px;margin:0 0 16px}
#r-excerpt:empty{display:none}
#r-excerpt .lbl{font-family:var(--sans);font-size:11px;letter-spacing:.2em;color:#8a6a1c;display:block;margin-bottom:4px}
#r-excerpt p{margin:0 0 .6em}
.r-actions{display:flex;flex-wrap:wrap;gap:10px}
#r-open{display:inline-block;padding:12px 20px;border-radius:999px;background:linear-gradient(180deg,#f4d98c,#c9a043);color:#2a1b05;font-weight:700;text-decoration:none;border:1px solid #b08a2e}
#r-back{padding:12px 20px;border-radius:999px;border:1px solid #c4b58e;background:#fff;color:#2a2113;font-weight:600;cursor:pointer;font-size:15px}
#fallback{position:fixed;inset:0;z-index:60;overflow:auto;background:#f5f1e7;color:#1d1b16}
#fallback a{color:#88691c}
.fb-card{max-width:760px;margin:0 auto;padding:30px 20px}
.fb-card h1{font-family:var(--serif);font-size:40px;margin:0 0 8px}
#fb-list li{margin:0 0 12px;line-height:1.45}
.noscript{position:fixed;inset:0;z-index:70;background:#f5f1e7;color:#1d1b16;padding:30px;font-size:18px}
[hidden]{display:none!important}

#r-evidence{display:inline-block;margin:0 0 10px;padding:3px 10px;border:1px solid rgba(160,112,20,.55);background:rgba(240,207,121,.18);border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.08em;color:#7a5410}
body.leaving #scene{transition:opacity .8s ease,filter .8s ease;opacity:0;filter:brightness(2.2)}
body.leaving{background:#fff6dc}
body[data-room=asherah] #intro{background:radial-gradient(ellipse at 50% 40%,rgba(255,236,170,.35),rgba(60,70,20,.9) 75%)}
#r-evidence[hidden]{display:none}
/* v0.3 */
#secrets{left:12px;top:calc(52px + env(safe-area-inset-top));font:inherit;font-size:14px;cursor:pointer;color:var(--ink)}
#secrets b{color:var(--gold)} #secrets .q{opacity:.7;font-size:12px}
#secrets.bump{animation:bump .8s ease}
#sound{right:12px;top:calc(52px + env(safe-area-inset-top));font:inherit;font-size:14px;cursor:pointer;color:var(--ink)}
#sound[aria-pressed=true]{background:rgba(120,84,20,.8);border-color:var(--gold)}
#fact{position:fixed;z-index:28;left:50%;transform:translateX(-50%);bottom:calc(150px + env(safe-area-inset-bottom));width:min(92vw,520px);padding:14px 18px;border-radius:16px;background:rgba(255,250,236,.96);color:#2a2113;box-shadow:0 10px 40px rgba(0,0,0,.35),0 0 0 1px rgba(211,173,84,.8),0 0 40px rgba(255,210,120,.55);animation:fadeup .5s ease;cursor:pointer}
#f-title{font-size:12px;letter-spacing:.14em;font-weight:700;color:#8a6a1c;text-transform:uppercase}
#f-text{font-family:var(--serif);font-size:19px;line-height:1.4;margin:.35em 0}
#f-reveal{font-size:13px;color:#6b5a38}
body.touch #fact{bottom:calc(178px + env(safe-area-inset-bottom))}
#r-fact{border:1px solid rgba(201,150,42,.55);background:linear-gradient(180deg,rgba(255,236,180,.45),rgba(255,248,226,.6));border-radius:14px;padding:10px 14px;margin:0 0 14px}
#r-fact .lbl,#r-full .lbl{font-size:11px;letter-spacing:.18em;color:#8a6a1c;font-weight:700;display:block;margin-bottom:4px}
#r-fact p{margin:0;font-family:var(--serif);font-size:19px;line-height:1.45}
#r-full{margin-top:22px;padding-top:16px;border-top:1px solid rgba(160,120,40,.35);font-family:var(--serif);font-size:19px;line-height:1.6;color:#2e2412}
#r-full p{margin:0 0 .85em}
#r-full h3{font-family:var(--serif);font-size:25px;line-height:1.2;margin:1.2em 0 .4em;color:#241a09}
#r-full h4{font-size:20px;margin:1em 0 .3em}
#r-full blockquote{margin:0 0 1em;padding:4px 0 4px 14px;border-left:3px solid #d3ad54;font-style:italic}
#r-full figure{margin:1em 0}
#r-full figure img{max-width:100%;height:auto;border-radius:10px;display:block}
#r-full figcaption{font-size:14px;color:#6b5a38;margin:-.4em 0 1em;font-family:var(--sans)}
#r-full ul{margin:0 0 1em 1.1em;padding:0}
#r-full li{margin:0 0 .35em}
#r-full .r-end{display:inline-block;margin-top:10px;padding:10px 18px;border-radius:999px;background:linear-gradient(180deg,#f4d98c,#c9a043);color:#2a1b05;font-family:var(--sans);font-weight:700;font-size:15px;text-decoration:none;border:1px solid #b08a2e}
body[data-room=library] #intro{background:radial-gradient(ellipse at 50% 40%,rgba(40,26,8,.35),rgba(30,20,6,.82) 75%)}
@media (max-width:600px){#f-text{font-size:16px;line-height:1.35}#fact{padding:11px 14px}}

/* v0.3.1: featured essay (From the Cell to the Cosmos) */
#r-full pre.r-pre{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.5;white-space:pre;overflow-x:auto;background:#14122a;color:#ffe3a0;border-radius:10px;padding:12px 14px;margin:0 0 1em}
#r-media .r-credit{width:100%;padding:8px 14px 10px;font-family:var(--sans);font-size:13px;letter-spacing:.02em;color:#f0cf79;background:#120c05;text-align:center}
#intro .new-piece{font-size:14px;line-height:1.45;margin:6px auto 14px;max-width:420px;padding:8px 12px;border-radius:12px;background:rgba(160,120,255,.12);box-shadow:inset 0 0 0 1px rgba(200,170,255,.45)}

/* respect reduced motion: no UI animations or long transitions */
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
