:root{font-family:ui-rounded,"Trebuchet MS",system-ui,sans-serif;color:#365f5f;background:#f5f0e7;--mint:#d9f1e4;--deep:#356f69;--cream:#fffaf0;--violet:#8776ac;--pink:#efb6c7;--line:#c9ddd2}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;min-height:100vh;background:radial-gradient(circle at 15% 0,#fffdf7 0 18rem,transparent 34rem),#f3efe7}button,a,input,textarea{font:inherit}button,a{touch-action:manipulation}.topbar{height:76px;display:flex;align-items:center;gap:25px;padding:10px 24px;background:#fffaf2e8;border-bottom:1px solid #dbe5d8;backdrop-filter:blur(12px);position:relative;z-index:20}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#356b68}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border-radius:42% 58% 55% 45%;background:#78bfad;color:white;font-size:25px;box-shadow:0 4px 0 #c8d9c8}.brand b{font-size:21px}.brand small{display:block;font-size:9px;letter-spacing:.15em;color:#92a298}.topbar nav{display:flex;gap:8px}.topbar nav a{color:#587a74;text-decoration:none;font-weight:800;padding:10px 12px;border-radius:15px}.topbar nav a:hover{background:#edf5eb}.sample-badge{margin-left:auto;font-size:10px;letter-spacing:.09em;font-weight:900;color:#8b7d68;border:1px dashed #c8bda9;border-radius:999px;padding:8px 11px}.layout{max-width:1780px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) 370px;min-height:calc(100vh - 76px)}.stage-shell{position:relative;min-height:650px;overflow:hidden;background:linear-gradient(#d5f2e6,#f5e7ce)}#scene{position:absolute;inset:0}#scene canvas{display:block}.cloud-frame{position:absolute;inset:0;z-index:4;pointer-events:none;border:18px solid #fffdf0;filter:drop-shadow(0 4px 9px #5c8e8338);border-radius:5% 8% 4% 7% / 7% 4% 8% 5%}.cloud-frame:before,.cloud-frame:after{content:"";position:absolute;inset:-29px;background:radial-gradient(circle at 3% 10%,#fffdf0 0 36px,transparent 38px),radial-gradient(circle at 22% 2%,#fffdf0 0 42px,transparent 44px),radial-gradient(circle at 48% 1%,#fffdf0 0 34px,transparent 36px),radial-gradient(circle at 76% 3%,#fffdf0 0 45px,transparent 47px),radial-gradient(circle at 98% 18%,#fffdf0 0 40px,transparent 42px),radial-gradient(circle at 99% 78%,#fffdf0 0 46px,transparent 48px),radial-gradient(circle at 78% 99%,#fffdf0 0 43px,transparent 45px),radial-gradient(circle at 44% 99%,#fffdf0 0 35px,transparent 37px),radial-gradient(circle at 12% 98%,#fffdf0 0 46px,transparent 48px),radial-gradient(circle at 1% 66%,#fffdf0 0 42px,transparent 44px);opacity:.96}.wish-banner{position:absolute;z-index:5;top:35px;left:42px;max-width:520px;pointer-events:none}.eyebrow,.section-label{font-size:10px;letter-spacing:.16em;font-weight:900;color:#73968c}.wish-banner blockquote{font:italic clamp(22px,3vw,37px)/1.17 Georgia,serif;color:#48756e;margin:7px 0;text-shadow:0 2px #fff9}.wish-banner p{display:inline-flex;align-items:center;gap:7px;font-size:11px;background:#fffbeccc;padding:7px 11px;border:1px solid #d7e6d6;border-radius:999px}.status-dot{width:8px;height:8px;border-radius:50%;background:#6dbb8c;box-shadow:0 0 0 4px #bfe5ce}.world-hud{position:absolute;z-index:6;bottom:32px;left:40px;right:38px;display:flex;justify-content:space-between;align-items:end;gap:15px;pointer-events:none}.hud-card{background:#fffdf0e8;border:2px solid #c2dacc;border-radius:19px;padding:10px 14px;box-shadow:0 4px 15px #45736922}.hud-card strong,.hud-card small{display:block}.hud-card strong{font-size:12px}.hud-card small{font-size:10px;color:#718b83;margin-top:3px}.camera-actions{display:flex;gap:7px;pointer-events:auto}.camera-actions button,.touch-pad button{min-height:44px;border:1px solid #bfd6cd;border-radius:14px;background:#fffdf0e8;color:#416f69;font-weight:800}.camera-actions button{padding:8px 12px}.touch-pad{display:none}.editorial{background:#fffdf6;border-left:1px solid #d9e2d5;padding:20px;overflow:auto;max-height:calc(100vh - 76px)}.sheet-handle{display:none}.tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:18px;position:sticky;top:-20px;z-index:4;background:#fffdf6;padding:8px 0}.tabs button{border:0;background:#edf3eb;color:#73877e;border-radius:11px;min-height:40px;font-size:11px;font-weight:900}.tabs button.active{background:#d9eee5;color:#356f69}.panel{display:none}.panel.visible{display:block}.panel h1{font:30px/1.05 Georgia,serif;color:#396c68;margin:7px 0 12px}.panel h2{font:24px/1.1 Georgia,serif;color:#705f91;margin:7px 0}.panel p{font-size:13px;line-height:1.55;color:#6d8079}.primary,#skin-json-apply,#cover-download{width:100%;min-height:44px;border:0;border-radius:14px;background:#8271ae;color:white;font-weight:900;box-shadow:0 3px #66558f;padding:10px}.receipt{display:flex;justify-content:space-between;background:#edf7ec;border:1px solid #cee3d0;border-radius:13px;padding:10px;font-size:11px;margin:14px 0}.round{border:1px solid #ded9e7;background:#fffaf6;border-radius:16px;padding:12px;margin:10px 0}.round h3{font-size:14px;color:#5f577c;margin:0 0 7px}.round p{font-size:11px;margin:5px 0}.round .winner{color:#34746b;font-weight:900}.round details summary{cursor:pointer;font-size:11px;color:#7f7398}.skin-options,.drink-buttons{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:12px 0}.skin-options button,.drink-buttons button,.actions button{min-height:44px;border:1px solid #d9d9d0;background:white;border-radius:12px;color:#58736e;font-weight:800;font-size:11px}.skin-options button:first-child{grid-column:1/-1}textarea{width:100%;min-height:70px;border:1px solid #d9d0df;border-radius:11px;padding:9px;margin:6px 0;font:11px/1.4 ui-monospace,monospace}.panel label{font-size:11px;font-weight:900;color:#756a85}.actions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:12px 0}.actions button{font-size:22px}.actions button span{display:block;font-size:10px}.actions button.active{background:#fff0bb;border-color:#e3bd73}.panel input[type=range]{width:100%;accent-color:#7f71aa}.panel details{margin:14px 0;border-top:1px solid #dfe3db;padding-top:12px}.panel summary{cursor:pointer;font-weight:900;font-size:12px}.cover-card{border:1px solid #d9d0e7;border-radius:15px;padding:10px;background:#f5f0fb}.cover-card img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px}.cover-card p{font-size:10px}.error{display:none;background:#ffe7e0;border:1px solid #e4aaa0;color:#8e443c;padding:12px;border-radius:12px}.error.visible{display:block}.page-view{max-width:1180px;margin:0 auto;padding:60px 28px}.page-heading h1{font:46px Georgia,serif;color:#386d68;margin:8px 0}.page-heading p{color:#75837c}.archive-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:22px;margin-top:30px}.archive-card{position:relative;background:#fffaf2;border:12px solid #fdf9ed;border-radius:34px 24px 37px 22px;overflow:hidden;box-shadow:0 12px 35px #53766c20;text-decoration:none;color:#496d68}.archive-art{aspect-ratio:16/9;background:radial-gradient(circle at 50% 40%,#fff7cc 0 7%,transparent 8%),linear-gradient(155deg,#c9ece0,#e6d8ef 65%,#f3bdc8);display:grid;place-items:center;font-size:60px}.archive-card div:last-child{padding:14px}.archive-card h2{font:22px Georgia,serif;margin:4px 0}.archive-card p{font-size:11px}.about-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.about-grid p{background:#fffaf2;border:1px solid #dce4d8;border-radius:22px;padding:22px;line-height:1.7}#episode-detail{margin-top:25px;background:#fffaf2;border:1px solid #dce4d8;border-radius:28px;padding:30px}#episode-detail pre{white-space:pre-wrap;font-size:11px;background:#edf5ee;padding:15px;border-radius:14px;overflow:auto}
@media(max-width:900px){.topbar{height:68px;gap:12px;padding:8px 12px}.brand{flex:0 0 auto}.brand b{font-size:17px}.brand small,.sample-badge{display:none}.topbar nav{min-width:0;margin-left:auto;gap:2px}.topbar nav a{padding:7px 6px;font-size:11px}.layout{display:block;min-height:auto}.stage-shell{height:62vh;min-height:440px}.cloud-frame{border-width:11px}.wish-banner{top:25px;left:25px;right:25px}.wish-banner blockquote{font-size:24px;max-width:80%}.world-hud{left:24px;right:22px;bottom:20px}.camera-actions{flex-direction:column}.editorial{position:relative;max-height:none;border-left:0;border-top:1px solid #d9e2d5;border-radius:24px 24px 0 0;margin-top:-10px;z-index:10;padding:12px 16px 30px}.sheet-handle{display:block;width:45px;height:5px;background:#d6ddd3;border-radius:4px;margin:0 auto 8px}.tabs{top:0}.touch-pad{display:grid;position:absolute;right:22px;bottom:112px;z-index:8;pointer-events:auto}.touch-pad>button{width:48px;margin:auto}.touch-pad span{display:flex}.touch-pad button{width:48px;background:#fffdf0b8}.page-view{padding:35px 18px}.about-grid{grid-template-columns:1fr}.page-heading h1{font-size:37px}}@media(max-width:520px){.brand-mark{width:39px;height:39px}.brand b{font-size:15px}.stage-shell{height:58vh;min-height:420px}.wish-banner p{display:none}.wish-banner blockquote{font-size:21px}.hud-card{max-width:52%}.hud-card strong{font-size:10px}.camera-actions button{font-size:10px}.archive-grid{grid-template-columns:1fr}.foundation-grid{grid-template-columns:1fr}}

.tabs{grid-template-columns:repeat(3,1fr)}
@media(max-width:520px){html,body{max-width:100%;overflow-x:hidden}.topbar{gap:8px}.brand{min-width:0}.brand b{font-size:16px}.topbar nav{gap:0}.topbar nav a{padding:7px 6px;font-size:11px}.topbar nav a:last-child{display:none}.stage-shell{width:100%}.camera-actions{max-width:116px}.camera-actions button{padding:7px}.touch-pad{right:8px}.editorial{width:100%;overflow:hidden}.tabs,.tabs button{min-width:0}.receipt{gap:8px;flex-wrap:wrap}.receipt>*{min-width:0}.panel p,.receipt{overflow-wrap:anywhere}}

/* Unified brand and preserved Studio Wishes. */
.brand img.brand-mark{display:block;width:43px;height:43px;padding:0;border-radius:16px;background:transparent;object-fit:cover;box-shadow:0 4px 0 #c8d9c8}
.studio-poster{background:radial-gradient(circle at 50% 42%,#fff5c9 0 9%,transparent 10%),linear-gradient(150deg,#d9f1e4,#f2d9e5 58%,#f5dfad)}
.studio-poster.semantic{background:radial-gradient(circle at 38% 38%,#fff2a8 0 5%,transparent 6%),radial-gradient(circle at 65% 54%,#ffd8eb 0 6%,transparent 7%),linear-gradient(145deg,#ccebe0,#e4d9f2 62%,#f7e4bd)}
.studio-card{border-color:#fffaf0}.studio-card .poster-label{background:#fffaf0e8}.studio-card small{color:#7a8882}

/* The thought belongs to the Giant: its screen position is projected from
   his head every frame, while this animation gives it a gentle living drift. */
.wish-thought{right:auto!important;width:min(310px,calc(100% - 28px));transform-origin:50% 100%;transform:translate(-50%,calc(-100% + 12px)) scale(.94)}
.wish-thought.visible{transform:translate(-50%,-100%) scale(1);animation:giant-thought-float 3.2s ease-in-out infinite}
.wish-thought:before{left:calc(50% - 9px);bottom:-17px}.wish-thought:after{left:calc(50% + 10px);bottom:-30px}
@keyframes giant-thought-float{0%,100%{transform:translate(-50%,-100%) translateY(0) scale(1)}50%{transform:translate(-50%,-100%) translateY(-8px) scale(1.012)}}
@media(prefers-reduced-motion:reduce){.wish-thought.visible{animation:none}}
.play-inventory{margin-top:18px;padding:14px;border:1px solid #cbded7;border-radius:18px;background:#f2f8f2}
.play-inventory h3{margin:5px 0;color:#46746e}
.artifact-preview{min-height:92px;display:flex;align-items:center;justify-content:center;gap:4px;border-radius:14px;background:linear-gradient(150deg,#d9eee5,#eee2f3);font-size:34px}
.panel select{width:100%;min-height:44px;margin:7px 0 10px;padding:0 12px;border:1px solid #d9d9d0;border-radius:12px;background:#fffdf7;color:#4f706a;font-weight:800}
.inventory-actions{display:grid;grid-template-columns:2fr 1fr;gap:8px}.inventory-actions button{min-height:44px;border:1px solid #c6d8d0;border-radius:14px;background:#fff;color:#4b746d;font-weight:900}.inventory-actions .primary{background:#8271ae;color:#fff}
.inventory-actions button:disabled{opacity:.45}
.archive-cover,.episode-cover{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:16px}.archive-cover{border-radius:22px 16px 0 0}.pending-cover{font-size:13px;text-align:center;color:#5c7771}.cover-placeholder{padding:20px;border:1px dashed #b9ccc4;border-radius:16px;background:#f2f7f2}
.founding-art{font:700 54px/1 Georgia,serif;color:#6d5d92;background:radial-gradient(circle at 70% 24%,#fff5bc 0 9%,transparent 10%),linear-gradient(145deg,#d9f2e5,#eee3f8 66%,#f4c5d1)}.episode-play-link{display:inline-flex;width:auto!important;align-items:center;text-decoration:none;padding-inline:18px}
.foundation-proof{padding:70px max(24px,7vw);background:#f1ede4}.foundation-proof h2{font:34px Georgia,serif;color:#446e68;margin:8px 0 24px}.foundation-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.foundation-grid article{padding:22px;border:1px solid #cfded6;border-radius:22px;background:#fffaf2}.foundation-grid h3{font:22px Georgia,serif;color:#6f6090;margin:0 0 8px}.foundation-grid p{line-height:1.6;color:#667a74}

@media(min-width:901px){.topbar{height:60px;padding:7px 20px}.brand-mark{width:38px;height:38px}.brand b{font-size:18px}.topbar nav a{padding:8px 10px}.layout{grid-template-columns:minmax(0,1fr) 360px;min-height:0}.editorial{padding:14px 16px}.tabs{top:-14px;margin-bottom:12px;padding:6px 0}.panel h1{font-size:26px}.panel h2{font-size:21px}.panel p{font-size:12px;line-height:1.45}.wish-banner{top:26px;left:34px}.world-hud{bottom:24px;left:32px}}

.experience-tabs{height:52px;display:grid;grid-template-columns:repeat(3,minmax(0,150px));justify-content:center;align-items:center;gap:8px;padding:6px 14px;background:#fffdf6;border-bottom:1px solid var(--line);position:relative;z-index:18}
body.home-route{min-height:100dvh;overflow-x:hidden}body.home-route.utility-route{min-height:100dvh;overflow-x:hidden;overflow-y:auto}
.experience-tabs a{display:grid;place-items:center;min-height:38px;padding:8px 18px;border-radius:999px;color:#668078;text-decoration:none;font-size:12px;font-weight:900;letter-spacing:.04em}
.experience-tabs a:hover{background:#edf5eb}.experience-tabs a.active{background:#d9eee5;color:#276a63;box-shadow:inset 0 0 0 1px #bcd8ce}
.unified-player{height:calc(100dvh - 112px);min-height:610px;background:linear-gradient(145deg,#e7f7eb,#fef1e8);display:grid;grid-template-rows:minmax(0,1fr) auto}
.episode-empty{grid-row:1/-1;min-height:clamp(520px,calc(100dvh - 112px),760px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:42px 24px;text-align:center;background:radial-gradient(circle at 50% 28%,#fff9ce 0 4%,transparent 20%),radial-gradient(circle at 15% 15%,#d7f2e6 0 18%,transparent 34%),linear-gradient(145deg,#f6fff8,#fff6eb)}.episode-empty img{margin-bottom:18px;filter:drop-shadow(0 8px 14px #456f6630)}.episode-empty h1{max-width:660px;margin:10px 0 12px;font:clamp(36px,6vw,66px)/.98 Georgia,serif;color:#376f68}.episode-empty p{max-width:570px;margin:0;color:#647a73;line-height:1.65}.episode-empty a{margin-top:24px;padding:13px 19px;border:1px solid #bcd8ce;border-radius:999px;background:#fffdf6;color:#376f68;text-decoration:none;font-weight:900;box-shadow:0 5px 14px #4d71691c}
.episode-switcher{display:flex;justify-content:center;align-items:center;gap:8px;padding:8px max(12px,2vw);background:#f7fbf5;border-top:1px solid #d8e7dd;box-shadow:0 -8px 24px #496f6612}
.episode-switcher{width:100%;max-width:100%;overflow:hidden}.episode-switcher>*{min-width:0}
.episode-switcher button{min-height:38px;border:1px solid #d3e3d9;border-radius:999px;background:#fff;color:#56746e;font-size:11px;font-weight:800;cursor:pointer}.episode-switcher .episode-step{width:38px;padding:0;font-size:17px}.episode-switcher .episode-current{display:flex;align-items:center;gap:9px;min-width:min(360px,45vw);padding:7px 16px;text-align:left}.episode-current span{font-size:8px;letter-spacing:.12em;color:#9a7785}.episode-current b{font:700 15px/1 Georgia,serif;color:#79699c}.episode-switcher .workshop-open{padding:7px 14px;background:#fff;border-color:#d3e3d9;color:#56746e;box-shadow:none}.workshop-open span{font-size:15px;color:#e2a94b}
.episode-switcher .workshop-open.is-ready{background:#fff;animation:workshop-breathe 7.2s ease-in-out infinite}@keyframes workshop-breathe{0%,100%{border-color:#9fded2;box-shadow:0 0 0 0 #9fded200,0 2px 8px #79bba900,inset 0 0 0 #fde8f200}25%{border-color:#ffe0a8}50%{border-color:#f4b8cf;box-shadow:0 0 0 4px #f4b8cf24,0 4px 20px 5px #79bba924,inset 0 0 14px #fde8f245}75%{border-color:#c9b9ef}}
@media(prefers-reduced-motion:reduce){.episode-switcher .workshop-open.is-ready{animation:none;background:#fff;border-color:#e7c6a7;box-shadow:0 0 0 3px #efc8d62e,inset 0 0 14px #fde8f24d}}
#episode-player{display:block;width:100%;height:100%;border:0;background:#e7f3ed}
.agents-workshop{width:min(1040px,calc(100% - 28px));max-height:min(88dvh,820px);padding:0;border:0;border-radius:34px;background:#fffaf0;color:#3d6964;box-shadow:0 30px 90px #234d4955;overflow:auto}.agents-workshop::backdrop{background:#365e5899;backdrop-filter:blur(9px)}.workshop-close{position:sticky;float:right;top:15px;right:15px;z-index:3;width:43px;height:43px;border:1px solid #d5dfd4;border-radius:50%;background:#fffdf6;color:#5b7770;font-size:25px;cursor:pointer}.workshop-heading{padding:50px 54px 32px;text-align:center;background:radial-gradient(circle at 15% 15%,#fff3b8 0 7%,transparent 8%),radial-gradient(circle at 87% 18%,#f3d8e8 0 9%,transparent 10%),linear-gradient(145deg,#ddf3e8,#fff8e4)}.workshop-heading>span,.chapter-heading span{font-size:9px;letter-spacing:.17em;font-weight:900;color:#8c7aa6}.workshop-heading h1{margin:8px 0 12px;font:clamp(34px,5vw,56px)/1 Georgia,serif;color:#376f68}.workshop-heading p{max-width:650px;margin:auto;font:18px/1.5 Georgia,serif}.workshop-chapter{padding:30px 42px;border-top:1px solid #e1e7dc}.chapter-heading{text-align:center}.chapter-heading h2{margin:6px 0 22px;font:30px/1 Georgia,serif;color:#507771}.agent-bubbles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.agent-bubble{position:relative;display:grid;grid-template-columns:42px 1fr;gap:10px;min-height:135px;padding:17px;border:2px solid #e1e8de;border-radius:25px 25px 25px 8px;background:#fff;box-shadow:0 8px 20px #4f746a12}.agent-bubble.chosen{border-color:#e4bd68;background:#fff9df;transform:translateY(-4px);box-shadow:0 11px 25px #d5a64a25}.agent-face{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#e1f0e7;color:#4e746d;font-size:11px;font-weight:900}.agent-bubble small{font-size:9px;letter-spacing:.08em;font-weight:900;color:#94748a}.agent-bubble h3{margin:4px 0 6px;font:20px/1.05 Georgia,serif}.agent-bubble p{margin:0;font-size:11px;line-height:1.45;color:#6f7d77}.chosen-ribbon{position:absolute;right:12px;top:10px;padding:4px 7px;border-radius:999px;background:#f0c565;color:#694e1c;font-size:8px;letter-spacing:.1em}.gentle-vote{margin:18px 0 7px;text-align:center;color:#82918a;font-size:10px}.chapter-winner{margin:0;text-align:center;font:17px Georgia,serif;color:#4e716c}.workshop-goodnight{padding:28px 40px 36px;text-align:center;background:#eee8f6;font:20px Georgia,serif;color:#685b82}.workshop-proof-note,.wishbrew-reveal{max-width:660px;margin:auto;padding:24px;text-align:center;border:2px solid #dbe6dc;border-radius:28px;background:#fff;box-shadow:0 10px 25px #4f746a14}.proof-faces{display:flex;justify-content:center;margin-bottom:12px}.proof-faces span{width:45px;height:45px;display:grid;place-items:center;margin:0 -3px;border:3px solid #fff;border-radius:50%;background:#e1f0e7;font-size:10px;font-weight:900}.workshop-proof-note h3,.wishbrew-reveal h3{margin:6px 0 8px;font:26px Georgia,serif}.workshop-proof-note p,.wishbrew-reveal p{max-width:520px;margin:auto;color:#6f7d77;font-size:12px;line-height:1.55}.wishbrew-reveal{background:radial-gradient(circle at 50% 15%,#fff5b3 0 8%,transparent 9%),linear-gradient(145deg,#fff9df,#eee6f7);border-color:#e2c875}.wishbrew-reveal>span{display:block;color:#e2a94b;font-size:28px}.wishbrew-reveal small{font-size:9px;letter-spacing:.14em;color:#8c7aa6;font-weight:900}
.agent-bubble.wishbrew-ambient{isolation:isolate;overflow:hidden}.agent-bubble.wishbrew-ambient::before{content:"";position:absolute;z-index:0;inset:0;background:var(--brew-bg);opacity:.16;filter:saturate(.68)}.agent-bubble.wishbrew-ambient>*{position:relative;z-index:1}.agent-bubble.wishbrew-ambient.chosen::before{opacity:.13}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.legacy-player-view.utility-mode #episode-status,.legacy-player-view.utility-mode .hud-card{display:none}.legacy-player-view.utility-mode .world-hud{justify-content:flex-end}
.legacy-player-view>.episode-success,.legacy-player-view>.decisions,.legacy-player-view>.residents,.legacy-player-view>.foundation-proof{display:none}
.legacy-player-view .tabs{display:none}.legacy-player-view .layout{min-height:calc(100dvh - 112px)}
.daily-life-panel{display:none}.daily-life-panel.visible{display:block}.daily-life-panel h1{font-size:29px}.daily-wish{margin:16px 0;padding:18px;border:1px solid #d7dfcf;border-radius:18px;background:linear-gradient(145deg,#fffdf4,#edf7ec);font:italic 20px/1.35 Georgia,serif;color:#4a756d}.daily-wish.missing{color:#7b817b}.daily-state-line{display:flex;align-items:center;gap:10px;margin:16px 0;padding:10px 12px;border-radius:999px;background:#f1f6ed;color:#58756e;font-size:11px;font-weight:800}.daily-actions{display:grid;gap:9px}.daily-actions button{min-height:46px;border:1px solid #bad4ca;border-radius:14px;background:#fff;color:#3d7068;font-weight:900}.daily-actions .primary{background:#8271ae;color:#fff}.local-fixture-note{margin-top:15px!important;font-size:10px!important;color:#8b8a7f!important}.daily-life-panel .status-dot{flex:0 0 auto}body[data-daily-state="sleeping"] .status-dot,body[data-daily-state="contentment"] .status-dot{background:#f0bf6d;box-shadow:0 0 0 5px #ffe6ae80}body[data-daily-state="agents_working"] .status-dot{background:#8b78b6;animation:daily-pulse 1.8s ease-in-out infinite}body[data-daily-state="episode_available"] .status-dot{background:#e88da6;box-shadow:0 0 0 5px #f6c8d580}@keyframes daily-pulse{50%{transform:scale(1.3);opacity:.55}}
.legacy-player-view .stage-shell{min-height:calc(100dvh - 112px)}
.founding-poster{position:relative;aspect-ratio:16/9;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 70% 24%,#fff5bc 0 9%,transparent 10%),linear-gradient(145deg,#d9f2e5,#eee3f8 66%,#f4c5d1)}
.founding-poster .poster-icon{font-size:62px;filter:drop-shadow(0 7px 8px #526d6c2b)}.founding-poster .poster-number{position:absolute;left:16px;top:14px;font:700 17px/1 Georgia,serif;color:#6d5d92}.founding-poster .poster-label{position:absolute;right:12px;bottom:10px;padding:5px 8px;border-radius:999px;background:#fffdf1d9;color:#70817c;font-size:8px;font-weight:900;letter-spacing:.11em}
.founding-poster img{width:100%;height:100%;object-fit:cover}
.archive-empty{grid-column:1/-1;max-width:720px;margin:22px auto;padding:54px 34px;text-align:center;border:1px solid #d6e4db;border-radius:32px;background:radial-gradient(circle at 50% 20%,#fff3b3 0 5%,transparent 18%),linear-gradient(145deg,#fffdf4,#eff8f1);box-shadow:0 12px 35px #53766c16}.archive-empty>span{display:block;color:#e1b257;font-size:30px}.archive-empty h1,.archive-empty h2{margin:9px 0 10px;font:clamp(28px,4vw,40px)/1.05 Georgia,serif;color:#3c706a}.archive-empty p{max-width:520px;margin:auto;color:#6e817a;line-height:1.65}

@media(max-width:900px){.experience-tabs{height:48px;grid-template-columns:repeat(3,1fr);padding:5px 12px}.experience-tabs a{min-height:36px;padding:7px}.unified-player{height:calc(100dvh - 116px);min-height:620px}.episode-switcher{padding:7px 9px}.episode-switcher button{min-height:34px}.legacy-player-view .layout{min-height:calc(100dvh - 116px)}.legacy-player-view .stage-shell{height:58vh;min-height:420px}}
@media(max-width:520px){.unified-player{height:calc(100dvh - 116px);min-height:600px}.episode-switcher{gap:5px;padding-inline:6px}.episode-switcher .episode-step{width:36px;flex:0 0 36px}.episode-switcher .episode-current{min-width:0;flex:1;padding-inline:8px}.episode-current span{display:none}.episode-current b{min-width:0;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.episode-switcher .workshop-open{width:38px;flex:0 0 38px;padding:0;font-size:0}.workshop-open span{font-size:17px}.founding-poster .poster-icon{font-size:54px}.agents-workshop{width:calc(100% - 16px);border-radius:26px}.workshop-heading{padding:44px 22px 25px}.workshop-heading p{font-size:16px}.workshop-chapter{padding:25px 16px}.chapter-heading h2{font-size:26px}.agent-bubbles{grid-template-columns:1fr}.agent-bubble{min-height:0}.workshop-goodnight{padding:24px 20px;font-size:18px}}
@media(max-width:760px){.agents-workshop .agent-bubbles{grid-template-columns:1fr}.agents-workshop .agent-bubble{min-height:0}}

/* The playable world and its controls are separate surfaces. On desktop the
   small utility buttons stay in the lower corner; on touch screens the entire
   control surface becomes a dock below the unobstructed Three.js viewport. */
.world-viewport{position:absolute;inset:0;overflow:hidden}
.world-control-dock{position:absolute;z-index:9;right:38px;bottom:32px;pointer-events:none}
.world-control-dock .camera-actions{pointer-events:auto}
.walk-joystick{display:none}
.play-overview{display:none;position:absolute;z-index:9;left:34px;bottom:30px;width:52px;height:52px;padding:0;border:2px solid #c2dacc;border-radius:18px;background:#fffdf0e8;color:#47766e;box-shadow:0 5px 16px #426f6530;place-items:center;cursor:pointer;backdrop-filter:blur(8px)}
.play-route .play-overview{display:grid}.play-overview:hover{background:#fffaf0;transform:translateY(-1px)}.play-overview:focus-visible{outline:3px solid #7dc5b2;outline-offset:3px}.play-overview svg{width:31px;height:31px;fill:#f6d77e;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.bird-sound-toggle{display:none}
.artifact-companion-menu{position:absolute;z-index:12;display:flex;gap:6px;align-items:center;width:max-content;max-width:min(330px,calc(100% - 24px));padding:7px;border:1px solid #bad5c8;border-radius:17px;background:#fffdf3ed;box-shadow:0 8px 24px #315f5540;backdrop-filter:blur(8px);transform:translate(-50%,-100%)}
.artifact-companion-menu[hidden]{display:none}.artifact-companion-menu button{min-height:36px;padding:8px 12px;border:1px solid #c8dcd1;border-radius:12px;background:#fff;color:#3f7068;font-size:11px;font-weight:900;white-space:nowrap;cursor:pointer}.artifact-companion-menu button.primary{background:#dcefe6;border-color:#aad0c0}.artifact-companion-menu button:hover{background:#f1f8ef}.artifact-companion-menu button:focus-visible{outline:3px solid #7dc5b2;outline-offset:2px}

@media(max-width:900px){
 .unified-player{height:calc(100dvh - 116px);min-height:0}
 .legacy-player-view .stage-shell{display:grid;grid-template-rows:minmax(0,1fr) 106px;height:min(62svh,540px);min-height:430px;overflow:hidden;background:#f5f1e8}
 .world-viewport{position:relative;inset:auto;grid-row:1;min-height:0;border-bottom:1px solid #d7e3d9}
 .world-control-dock{position:relative;inset:auto;grid-row:2;display:grid;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:12px;padding:9px 16px max(10px,env(safe-area-inset-bottom));background:linear-gradient(180deg,#fffdf5,#f4f7ee);box-shadow:0 -8px 24px #446c6314;pointer-events:auto}
 .walk-joystick{display:flex;align-items:center;gap:8px;width:max-content;touch-action:none;user-select:none;color:#47736c;outline:none}
 .walk-joystick:focus-visible .joystick-track{box-shadow:0 0 0 4px #8fc9b766}
 .walk-joystick strong{font-size:10px;letter-spacing:.08em;text-transform:uppercase}
 .joystick-track{position:relative;width:78px;height:78px;flex:0 0 78px;border:1px solid #b8d2c7;border-radius:50%;background:radial-gradient(circle,#fdfcf3 0 24%,#e5f1e9 25% 60%,#d6e9df 61% 100%);box-shadow:inset 0 3px 8px #52756c1d,0 3px 8px #52756c18}
 .joystick-track::before,.joystick-track::after{content:"";position:absolute;background:#8aafa333;border-radius:999px;pointer-events:none}
 .joystick-track::before{left:18px;right:18px;top:38px;height:2px}.joystick-track::after{top:18px;bottom:18px;left:38px;width:2px}
 .joystick-knob{position:absolute;z-index:2;left:22px;top:22px;width:34px;height:34px;border-radius:50%;background:linear-gradient(145deg,#8bcab8,#5ca18f);border:3px solid #f7fff9;box-shadow:0 4px 9px #35665b52;will-change:transform}
 .walk-joystick:not(.active) .joystick-knob{transition:transform .16s ease-out}
 .world-control-dock .camera-actions{display:grid;grid-template-columns:1fr;gap:6px;max-width:none}
 .world-control-dock .camera-actions button{min-height:40px;padding:6px 12px;font-size:11px;background:#fffdf8;box-shadow:0 2px 6px #466b6312}
 .legacy-player-view.utility-mode .wish-banner{display:none}
 .legacy-player-view.utility-mode .world-hud{display:none}
 .play-overview{left:16px;bottom:14px;width:46px;height:46px;border-radius:15px}.play-overview svg{width:27px;height:27px}
 body.utility-route{scroll-padding-bottom:calc(96px + env(safe-area-inset-bottom))}
 .legacy-player-view .editorial{margin-top:0;border-radius:22px 22px 0 0;padding-bottom:calc(96px + env(safe-area-inset-bottom))}
 .legacy-player-view .actions{display:flex;gap:7px;overflow-x:auto;padding:2px 0 8px;margin:10px 0;scroll-snap-type:x proximity}
 .legacy-player-view .actions button{flex:0 0 64px;min-height:58px;scroll-snap-align:start}
 .play-route .bird-sound-toggle{display:block}.play-route .bird-sound-toggle[aria-pressed="false"]{opacity:.62;background:#f3f1ec}
 .artifact-companion-menu{gap:5px;padding:6px;border-radius:15px}.artifact-companion-menu button{min-height:40px;padding:7px 10px;font-size:10px}
}

@media(max-width:900px) and (orientation:landscape){
 .legacy-player-view .stage-shell{height:420px;min-height:420px;grid-template-rows:minmax(0,1fr) 92px}
 .world-control-dock{grid-template-columns:90px minmax(0,1fr);padding-block:5px}
 .joystick-track{width:68px;height:68px;flex-basis:68px}.joystick-track::before{top:33px}.joystick-track::after{left:33px}.joystick-knob{left:19px;top:19px;width:30px;height:30px}
 .world-control-dock .camera-actions{grid-template-columns:1fr 1fr}
 .experience-tabs{padding-inline:max(12px,env(safe-area-inset-left),env(safe-area-inset-right))}
 .episode-switcher{padding-bottom:max(7px,env(safe-area-inset-bottom))}
}

@media(max-width:420px){
 .unified-player{min-height:0}
 .world-control-dock{grid-template-columns:96px minmax(0,1fr);gap:9px;padding-inline:11px}
 .joystick-track{width:72px;height:72px;flex-basis:72px}.joystick-track::before{top:35px}.joystick-track::after{left:35px}.joystick-knob{left:20px;top:20px;width:32px;height:32px}
 .walk-joystick{gap:5px}.walk-joystick strong{font-size:9px}
}
