@font-face{font-family:Silkscreen;src:url('./assets/fonts/silkscreen-regular.ttf') format('truetype');font-weight:400;font-display:swap}
:root{color-scheme:dark;--bg:#121120;--panel:#1a182b;--line:#3b334f;--soft:#2c273f;--text:#eee7f0;--muted:#b3a7c0;--faint:#9d91ac;--pink:#eeb1ce;--mint:#a3dbca;--peach:#e3c3aa;--pixel:Silkscreen,ui-monospace,monospace;--body:'Segoe UI','Microsoft YaHei','PingFang SC',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.8 var(--body);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{touch-action:manipulation}button{color:inherit;cursor:pointer;border-radius:0}a,button,input{transition:color .16s,background-color .16s,border-color .16s}a:hover{color:var(--mint)}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--mint);outline-offset:5px}svg{display:block}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}[hidden]{display:none!important}.mono,.eyebrow,.section-kicker{font-family:var(--pixel);font-weight:400}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;top:10px;left:16px;z-index:20;transform:translateY(-180%);padding:10px 18px;background:var(--mint);color:#121120}.skip-link:focus{transform:none}
.site-header{border-bottom:1px solid var(--soft);background:#121120f5}.header-inner{width:min(1160px,calc(100% - 80px));height:82px;margin:auto;display:flex;align-items:center;gap:48px}.brand{display:flex;align-items:center;gap:11px;line-height:1.25;font-family:var(--pixel);font-size:14px;letter-spacing:1.4px;white-space:nowrap}.brand>svg{width:34px;height:34px;shape-rendering:crispEdges}.brand-dot{color:var(--pink);margin-left:2px}.main-nav{display:flex;align-items:center;gap:32px;margin-left:36px;font-size:14px}.main-nav a{position:relative;padding:14px 0;color:var(--muted)}.main-nav a:hover,.main-nav a[aria-current]{color:var(--text)}.main-nav a[aria-current]::after{content:'';position:absolute;bottom:6px;left:0;width:12px;height:2px;background:var(--pink)}.header-note{margin-left:auto;font-size:12px;color:var(--muted);display:flex;align-items:center;gap:9px}.header-note i,.caption-dot{display:inline-block;width:5px;height:5px;background:var(--mint)}
.hero{width:min(1160px,calc(100% - 80px),calc((100svh - 186px)*16/9));margin:22px auto 0}.screen-bar{height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:#1d1a2d;border:1px solid var(--line);border-bottom:0;position:relative}.screen-bar::before{content:'';position:absolute;left:0;top:0;width:5px;height:5px;background:var(--pink)}.screen-title{display:flex;align-items:center;gap:12px;font-size:12px;color:#d1c4d7}.screen-title .mono{font-size:10px;color:var(--faint);letter-spacing:1px}.bar-slash{color:#655570}.pixel-bars{height:13px;display:flex;align-items:end;gap:2px}.pixel-bars i{background:var(--pink);width:2px;height:5px}.pixel-bars i:nth-child(2){height:11px}.pixel-bars i:nth-child(3){height:8px}.pixel-bars i:nth-child(4){height:13px}.scene-actions{display:flex;align-items:center;gap:18px;font-size:11px;color:var(--muted)}#scene-state{display:flex;align-items:center;gap:6px}#scene-state::before{content:'';width:4px;height:4px;background:var(--faint)}#scene-state[data-playing=true]::before{background:var(--mint)}#scene-toggle{display:flex;align-items:center;gap:7px;padding:8px 0;border:0;background:none;min-height:32px;font-size:11px}#scene-toggle svg{width:12px;height:12px;fill:currentColor}.play-shape{display:none}#scene-toggle[data-playing=false] .pause-shape{display:none}#scene-toggle[data-playing=false] .play-shape{display:block}.open-scene{border-left:1px solid var(--line);padding-left:18px}.scene-window{position:relative;aspect-ratio:16/9;background:#111323;border:1px solid var(--line);box-shadow:0 16px 50px #06061133}.scene-window iframe{display:block;width:100%;height:100%;border:0;position:absolute;inset:0;aspect-ratio:16/9}.hero-shade{pointer-events:none;position:absolute;inset:58% 0 0;background:linear-gradient(180deg,transparent,#10101c9c)}.hero-words{position:absolute;left:4.4%;bottom:6%;z-index:1;pointer-events:none;max-width:72%}.eyebrow{font-size:9px;letter-spacing:1.4px;line-height:1.7;color:var(--pink);margin-bottom:10px}.hero-words h1{font-size:clamp(30px,3.2vw,46px);line-height:1.32;letter-spacing:2px;font-weight:600;margin-bottom:10px;color:#f4e8f0;text-shadow:0 2px 0 #121120}.hero-words h1 span{color:var(--pink)}.hero-description{font-size:12px;color:#c5b7cf;letter-spacing:.4px;margin:0}.pixel-button{display:inline-flex;align-items:center;gap:22px;min-height:46px;padding:10px 20px;border:1px solid #e5b7cd;background:#cba2bd;color:#171322;box-shadow:3px 3px 0 #48384d;clip-path:polygon(4px 0,calc(100% - 4px) 0,calc(100% - 4px) 3px,100% 3px,100% calc(100% - 4px),calc(100% - 4px) calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,4px calc(100% - 3px),0 calc(100% - 3px),0 3px,4px 3px);font-size:13px;font-weight:600}.pixel-button:hover{background:#e7b7ce;color:#151120}.pixel-button svg{width:16px;height:16px;fill:currentColor}.hero-read{position:absolute;right:4.4%;bottom:7%;z-index:2}.hero-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:13px;color:var(--muted);font-size:11px}.hero-caption .caption-dot{width:4px;height:4px;margin-right:7px;background:var(--pink)}.hero-caption .mono{font-size:8px;color:#a99bb7;letter-spacing:.6px}.hero-caption>a{color:var(--mint);font-size:11px}.hero-caption>a span{margin-left:8px}
.site-content{width:min(1060px,calc(100% - 80px));margin:auto}.content-section{padding:76px 0 0;scroll-margin-top:30px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.section-kicker{font-size:10px;line-height:1.5;letter-spacing:1px;color:var(--muted);margin-bottom:8px}.section-kicker>span{color:var(--pink);margin-right:10px}.section-heading h2,.about-copy h2{font-size:28px;font-weight:550;line-height:1.45;letter-spacing:1px;margin:0}.heading-dot{color:var(--pink);padding-left:3px}.section-note{color:var(--muted);text-align:right;font-size:12px;line-height:1.8;margin:0}.demo-label{color:var(--faint);font-size:11px}.post-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.filters{display:flex;gap:6px}.filters button{background:none;border:1px solid transparent;color:var(--muted);padding:6px 15px;min-height:36px;font-size:13px}.filters button[aria-pressed=true]{background:#30253e;border-color:#71516e;color:#f0bed7;box-shadow:2px 2px 0 #0c0b17}.filters button:hover{color:var(--text);border-color:var(--line)}.search-field{display:flex;align-items:center;gap:10px;border-bottom:1px solid #51445e;padding:5px 0 6px;color:var(--faint)}.search-field svg{width:14px;height:14px;fill:currentColor}.search-field input{width:164px;color:var(--text);background:none;border:0;outline:none;font-size:12px;padding:4px 0}.search-field:focus-within{border-color:var(--mint)}.search-field input::placeholder{color:var(--faint)}.search-field input:focus-visible{outline-offset:7px}.post-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:20px}.post-card{background:var(--panel);border:1px solid var(--soft);position:relative;transition:border-color .16s}.post-card:hover{border-color:#665273}.featured-post{grid-row:span 2}.post-art{height:190px;display:grid;place-items:center;background:#242037;overflow:hidden;position:relative;border-bottom:1px solid var(--soft)}.art-grid{position:absolute;inset:0;background-image:linear-gradient(#75638713 1px,transparent 1px),linear-gradient(90deg,#75638713 1px,transparent 1px);background-size:24px 24px;mask-image:linear-gradient(transparent,#0009)}.cassette{width:240px;height:auto;shape-rendering:crispEdges;position:relative;z-index:1}.art-side{position:absolute;left:18px;bottom:12px;font-size:8px;letter-spacing:1px;color:#bdabc9}.art-plus{position:absolute;right:20px;top:13px;color:#b88ba9;font-size:22px}.post-card-body{padding:24px 28px}.post-meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px;color:var(--faint);font:10px/1.8 var(--body)}.category{color:var(--pink);background:#3c293d;padding:1px 7px}.category.mint{color:var(--mint);background:#243439}.category.peach{color:var(--peach);background:#393032}.post-card h3{font-size:21px;line-height:1.55;font-weight:550;letter-spacing:.4px;margin:15px 0 12px}.post-card h3 a:hover{color:var(--pink)}.post-card p{font-size:13px;line-height:1.9;color:var(--muted);margin-bottom:20px;max-width:38em}.text-link{display:inline-flex;align-items:center;gap:18px;font-size:12px;color:#d2bdd9;min-height:28px}.text-link span{color:var(--pink)}.compact-post{overflow:hidden;display:flex;flex-direction:column;justify-content:center}.compact-post h3{font-size:20px;margin-top:14px}.compact-post .post-card-body{position:relative;z-index:1;padding:22px 28px 20px}.compact-post p{font-size:12px;margin-bottom:12px;max-width:33em}.post-number{position:absolute;right:18px;bottom:10px;font-size:58px;line-height:1;color:#31273f;pointer-events:none}.empty-state{padding:56px 20px;border:1px dashed var(--line);color:var(--muted);text-align:center;font-size:14px}
.notes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.note{border-top:1px solid #57435e;padding:20px 12px 18px 0;position:relative}.note-top{display:flex;align-items:center;gap:10px;color:var(--faint);font-size:10px;margin-bottom:18px}.note-top>span:last-child{margin-left:auto;font-size:9px}.note-square{width:5px;height:5px;background:var(--mint)}.note-square.pink{background:var(--pink)}.note-square.peach{background:var(--peach)}.note p{font-size:15px;line-height:2;margin-bottom:13px;color:#d6cbdc}.note-tail{font-size:25px;line-height:1;color:#66516f}.works-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.work-card{border:1px solid var(--soft);background:var(--panel);transition:border-color .16s}.work-card:hover{border-color:#665273}.work-cover{position:relative;display:block;aspect-ratio:16/9;background:#131322;border-bottom:1px solid var(--soft);overflow:hidden}.work-cover img,.work-cover>svg{width:100%;height:100%;object-fit:contain}.work-cover img{image-rendering:pixelated}.cover-link{position:absolute;right:14px;bottom:14px;display:grid;place-items:center;width:30px;height:30px;color:#e7d6eb;background:#1a172bd9;border:1px solid #88718e;font-size:18px}.site-cover>svg{shape-rendering:crispEdges}.work-info{padding:24px 26px}.work-kind{font-size:8px;letter-spacing:.5px;color:var(--pink)}.work-info h3{font-size:22px;font-weight:550;margin:8px 0}.work-info p{font-size:13px;color:var(--muted);line-height:1.9;margin-bottom:16px}.work-tags{display:flex;flex-wrap:wrap;gap:8px}.work-tags span{border:1px solid #41354f;color:#bcabc7;padding:2px 8px;font-size:10px}.about-section{display:grid;grid-template-columns:190px 1fr auto;align-items:center;gap:42px;border-top:1px solid var(--line);padding:50px 0;margin:84px 0 0}.about-symbol{width:170px;height:180px;background:#211b30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:19px;box-shadow:5px 5px 0 #0d0c18;border:1px solid #51405d;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px,8px 8px)}.about-symbol svg{width:34px;height:34px;fill:var(--pink);shape-rendering:crispEdges}.about-symbol span{font-size:13px;line-height:1.6;color:#c0a9ce;text-align:center}.about-copy h2{font-size:25px;margin:10px 0 16px}.about-copy>p:not(.section-kicker){font-size:13px;color:var(--muted);line-height:2;max-width:50em;margin-bottom:12px}.about-copy>p.demo-label{font-size:11px;color:var(--faint)}.back-top{align-self:end;display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);color:var(--pink);font-size:20px}.site-footer{width:min(1160px,calc(100% - 80px));margin:auto;border-top:1px solid var(--soft);padding:28px 0 36px;display:flex;align-items:center;gap:28px;color:var(--faint);font-size:10px}.footer-brand{font-size:11px;color:#d0bed9;letter-spacing:.5px}.footer-brand span{color:var(--pink)}.site-footer p{margin:0}.footer-demo{margin-left:auto;font-size:8px;letter-spacing:.5px}
.article-layout{width:min(760px,calc(100% - 64px));margin:52px auto 80px}.article-back{display:inline-flex;gap:12px;align-items:center;color:var(--mint);font-size:13px;padding:8px 0;margin-bottom:32px}.article-header{padding-bottom:34px;border-bottom:1px solid var(--line)}.article-header h1{font-size:36px;line-height:1.55;letter-spacing:1px;font-weight:550;margin:20px 0}.article-lead{font-size:17px;color:var(--muted);line-height:1.9;margin-bottom:24px}.article-demo{padding:10px 14px;border-left:2px solid var(--pink);background:#241c31;color:#c1accb;font-size:12px;margin:22px 0 0}.article-body{padding:32px 0 10px;font-size:16px;line-height:2.1;color:#d9cfe0}.article-body h2{font-size:23px;color:var(--text);line-height:1.5;margin:36px 0 18px;font-weight:550}.article-body p{margin-bottom:24px}.article-body blockquote{margin:28px 0;padding:18px 24px;border-left:2px solid var(--pink);background:#211a2e;color:#edc9dd}.article-body blockquote p{margin:0}.article-body ul{padding-left:24px;color:var(--muted)}.article-end{border-top:1px solid var(--line);padding-top:24px;display:flex;align-items:center;justify-content:space-between;gap:24px;color:var(--muted);font-size:12px}
@media(min-width:1500px){.hero-words h1{font-size:46px}.hero-description{font-size:13px}}
@media(max-width:1000px){.header-inner{gap:24px}.main-nav{margin-left:12px;gap:24px}.header-note{display:none}.hero-description{font-size:11px}.hero-read{gap:12px;padding:9px 14px;min-height:40px;font-size:12px}.hero-words{bottom:5%}.hero-words h1{font-size:34px}.site-content{width:calc(100% - 64px)}.about-section{grid-template-columns:150px 1fr auto;gap:28px}.about-symbol{width:140px;height:160px}.post-card-body,.compact-post .post-card-body{padding-left:22px;padding-right:22px}}
@media(max-width:760px){html{scroll-padding-top:20px}.header-inner{width:calc(100% - 40px);height:auto;min-height:94px;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:18px 0 12px}.brand{font-size:12px;letter-spacing:1px}.brand>svg{width:29px;height:29px}.main-nav{gap:22px;margin:0;font-size:12px}.main-nav a{padding:10px 0}.hero{width:calc(100% - 32px);margin-top:16px}.screen-bar{height:40px;padding:0 12px}.screen-title{font-size:11px;gap:9px}.screen-title .mono,.bar-slash,#scene-state{display:none}.scene-actions{gap:13px}.scene-actions .open-scene{padding-left:13px}.scene-window{aspect-ratio:auto;background:#1b1729}.scene-window iframe{position:relative;aspect-ratio:16/9;width:100%;height:auto;display:block}.hero-shade{display:none}.hero-words{position:relative;left:auto;bottom:auto;padding:24px 22px 18px;max-width:none;pointer-events:auto}.eyebrow{font-size:8px;letter-spacing:1px;margin-bottom:12px}.hero-words h1{font-size:31px;line-height:1.4;margin-bottom:12px}.hero-description{font-size:12px;line-height:1.9;max-width:30em}.hero-read{position:relative;right:auto;bottom:auto;margin:0 22px 25px;font-size:12px;min-height:42px;padding:9px 18px}.hero-caption{font-size:10px;gap:12px;align-items:flex-start;line-height:1.8}.hero-caption .mono{display:none}.hero-caption>a{font-size:10px}.site-content{width:calc(100% - 40px)}.content-section{padding-top:56px}.section-heading{margin-bottom:22px;gap:14px}.section-heading h2{font-size:24px}.section-kicker{font-size:8px;letter-spacing:.5px;margin-bottom:8px}.section-kicker>span{margin-right:7px}.section-note{font-size:11px;max-width:15em}.demo-label{font-size:9px}.post-tools{gap:14px;flex-wrap:wrap;margin-bottom:20px}.filters{gap:2px}.filters button{font-size:12px;padding:6px 13px}.search-field{margin-left:auto}.search-field input{width:130px}.post-grid{grid-template-columns:1fr}.featured-post{grid-row:auto}.post-art{height:180px}.post-card-body,.compact-post .post-card-body{padding:23px}.post-card h3,.compact-post h3{font-size:21px}.post-card p{font-size:13px}.post-number{font-size:60px;right:20px;bottom:14px}.notes-grid{grid-template-columns:1fr;gap:8px}.note{padding:18px 4px 15px}.note p{font-size:14px}.note-top{margin-bottom:12px}.note-tail{position:absolute;right:5px;bottom:14px}.works-grid{grid-template-columns:1fr;gap:24px}.work-info{padding:22px}.work-info h3{font-size:22px}.work-info p{font-size:13px}.about-section{grid-template-columns:1fr auto;gap:22px;padding:32px 0;margin-top:56px;align-items:start}.about-symbol{display:none}.about-copy h2{font-size:25px}.back-top{width:36px;height:36px}.site-footer{width:calc(100% - 40px);gap:12px 20px;flex-wrap:wrap;padding-top:22px}.footer-brand{font-size:10px}.footer-demo{margin-left:auto;font-size:7px}.site-footer p{width:100%;order:3;font-size:10px}.article-layout{width:calc(100% - 40px);margin-top:30px}.article-header h1{font-size:28px;line-height:1.6}.article-lead{font-size:15px}.article-body{font-size:15px}.article-body h2{font-size:21px}.article-back{margin-bottom:22px}}
@media(max-width:420px){.main-nav{width:100%;justify-content:space-between;gap:0;margin-top:4px}.header-inner{min-height:112px}.post-tools{display:block}.search-field{width:100%;margin-top:16px}.search-field input{width:100%}.section-note{font-size:10px}.scene-actions .open-scene span{display:none}.hero-words h1{font-size:29px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.post-card h3 a{display:block}

/* V33: preserve the animated landscape, place the four entry points in quiet soil. */
.pixel-globe{display:block;flex:none;width:40px;height:40px;background-image:url('./assets/earthspin-sheet.png');background-repeat:no-repeat;background-size:400px 400px;image-rendering:pixelated;animation:earth-spin 11.28s step-end infinite}
.brand{gap:10px}.brand:hover .pixel-globe,.brand:focus-visible .pixel-globe{animation-play-state:paused}
.hero-shade{inset:62% 0 0;background:linear-gradient(180deg,transparent,#10101ca8 50%,#10101ce0)}
.earth-dock{position:absolute;left:4.4%;right:4.4%;bottom:5%;z-index:2;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(240px,.9fr);gap:48px;align-items:center}
.dock-left{display:grid;grid-template-columns:140px minmax(0,1fr);gap:28px;align-items:center}
.playlist-entry{display:flex;flex-direction:column;align-items:flex-start;gap:9px;min-width:0;position:relative;color:#d9c4e0}
.deck-unit{display:block;width:140px;position:relative}.deck-art{width:100%;height:auto;shape-rendering:crispEdges;filter:drop-shadow(3px 4px 0 #0c0c1890);transition:transform .18s}
.playlist-entry:hover .deck-art{transform:translateY(-3px)}.playlist-entry:active .deck-art{transform:translateY(0)}
.deck-play{position:absolute;right:-5px;bottom:3px;width:27px;height:25px;display:grid;place-items:center;border:1px solid #98748e;background:#34283e;color:#eeb1ce;font:10px/1 sans-serif;box-shadow:2px 2px 0 #10101c}
.deck-title{display:flex;flex-direction:column;gap:2px;padding-left:8px}.deck-title .mono{font-size:9px;letter-spacing:.5px;color:var(--pink)}.deck-title>span:last-child{font-size:11px;color:#bfaecb}.deck-title i{font-style:normal;padding-left:8px;color:var(--mint)}
.dock-poem{margin:0;min-width:0}.dock-poem p{margin:0;color:#e0d1e6;font-size:14px;line-height:2;letter-spacing:.3px;white-space:nowrap}.poem-tail{display:block;font-family:var(--pixel);font-size:7px;letter-spacing:.4px;color:#a794b6;margin-top:13px}
.pronoun-rotator{display:inline-block;position:relative;width:1em;height:1em;vertical-align:-.04em;color:var(--pink)}.pronoun-char{position:absolute;inset:0;line-height:1;opacity:0;animation:pronoun-swap 2.7s step-end infinite}.pronoun-char:first-child{opacity:1}.pronoun-char:nth-child(2){animation-delay:-1.8s}.pronoun-char:nth-child(3){animation-delay:-.9s}
@keyframes pronoun-swap{0%,33.333%{opacity:1}33.334%,100%{opacity:0}}
.landing-paused .pixel-globe,.landing-paused .pronoun-char,.page-hidden .pixel-globe,.page-hidden .pronoun-char{animation-play-state:paused}
.dock-index{border-left:1px solid #7a638535;padding-left:32px;min-width:0}.dock-index-label{font-size:8px;color:#b09bbf;letter-spacing:.6px;line-height:1.5;margin:0 0 6px}.dock-index>a{display:flex;align-items:center;gap:15px;min-height:45px;border-bottom:1px solid #89719325;transition:color .16s}.dock-index>a:last-child{border-bottom:0}.index-number{font-size:10px;color:#b68ba7;min-width:21px}.index-name{font-size:15px;font-weight:500;line-height:1.4;color:#e5d9eb;letter-spacing:1px}.index-name small{display:none}.index-arrow{margin-left:auto;color:#ad92ba;font-size:15px}.dock-index>a:hover .index-name,.dock-index>a:hover .index-arrow{color:var(--mint)}
.playlist-sheet{display:grid;grid-template-columns:190px minmax(0,1fr) auto;align-items:center;gap:34px;padding:30px 34px;background:var(--panel);border:1px solid var(--soft)}.playlist-cover{background:#272035;aspect-ratio:1;display:grid;place-items:center;border:1px solid #43354e;position:relative}.playlist-cover .deck-art{width:150px;max-width:90%}.playlist-cover .mono{position:absolute;left:12px;bottom:12px;color:var(--pink);font-size:8px}.playlist-copy .section-kicker{color:var(--pink)}.playlist-copy h3{font-size:23px;font-weight:500;margin:10px 0 14px;letter-spacing:.6px}.playlist-copy p:not(.section-kicker){font-size:14px;line-height:1.9;max-width:32em;color:var(--muted);margin:0}.playlist-pending{font-size:11px;color:var(--muted);white-space:nowrap;border:1px dashed #65506d;padding:6px 12px;align-self:end}
.discover-list{border-top:1px solid var(--line)}.discover-item{display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:24px;padding:25px 8px;border-bottom:1px solid var(--soft);transition:background .16s}.discover-item:hover{background:#201a2c}.discover-mark{font:20px/1.2 var(--pixel);color:var(--pink);width:46px;height:46px;display:grid;place-items:center;border:1px solid #59425f;background:#271f34}.discover-mark.mint{color:var(--mint);border-color:#3c5c5b;background:#1c2b32}.discover-item h3{font-size:19px;font-weight:500;margin:0 0 4px}.discover-item p{font-size:13px;color:var(--muted);line-height:1.7;margin:0}.discover-out{font-size:18px;color:var(--mint);padding-right:12px}.earth-credit{color:var(--faint);font-size:9px}.journal-notes{padding-top:42px}
@media(min-width:1500px){.dock-left{grid-template-columns:150px 1fr;gap:36px}.deck-unit{width:150px}.dock-poem p{font-size:15px}.earth-dock{gap:64px}.index-name{font-size:16px}}
@media(min-width:761px) and (max-width:1000px){.earth-dock{gap:25px;left:4%;right:4%;grid-template-columns:minmax(0,1.4fr) minmax(185px,.85fr);bottom:4%}.dock-left{grid-template-columns:104px 1fr;gap:15px}.deck-unit{width:104px}.dock-poem p{font-size:11px;line-height:1.95;letter-spacing:0}.poem-tail{font-size:5px;margin-top:10px}.dock-index{padding-left:20px}.dock-index-label{font-size:6px}.dock-index>a{min-height:35px;gap:10px}.index-number{font-size:8px;min-width:17px}.index-name{font-size:13px}.deck-title .mono{font-size:7px}.deck-title>span:last-child{font-size:9px}.deck-play{width:22px;height:20px;font-size:8px}}
@media(max-width:760px){.pixel-globe{width:40px;height:40px}.brand{gap:8px}.scene-window{background:#181826}.earth-dock{position:relative;inset:auto;grid-template-columns:minmax(0,1.3fr) minmax(165px,.8fr);gap:26px;padding:26px 24px 28px;background:linear-gradient(#20203120,#191825)}.dock-left{grid-template-columns:1fr;gap:18px}.deck-unit{width:115px}.playlist-entry{flex-direction:row;align-items:center;gap:13px}.deck-title{padding:0}.deck-title .mono{font-size:8px}.deck-title>span:last-child{font-size:10px}.dock-poem p{font-size:12px;line-height:1.9;white-space:normal}.poem-tail{font-size:5px;margin-top:8px}.dock-index{padding-left:22px}.dock-index-label{font-size:6px;letter-spacing:.3px;margin-bottom:9px}.dock-index>a{min-height:51px;gap:10px}.index-number{font-size:9px;min-width:19px}.index-name{font-size:14px}.playlist-sheet{grid-template-columns:130px 1fr;gap:22px;padding:24px}.playlist-cover .deck-art{width:110px}.playlist-copy h3{font-size:21px}.playlist-copy p:not(.section-kicker){font-size:13px}.playlist-pending{grid-column:2;justify-self:start;margin-top:-12px}.discover-item{grid-template-columns:45px 1fr auto;gap:16px}.discover-item h3{font-size:18px}.discover-item p{font-size:12px}.discover-mark{width:40px;height:40px;font-size:17px}.earth-credit{font-size:8px}}
@media(max-width:520px){.earth-dock{grid-template-columns:1fr;gap:26px;padding:25px 22px}.dock-left{grid-template-columns:100px 1fr;gap:16px}.playlist-entry{flex-direction:column;align-items:flex-start;gap:8px}.deck-unit{width:100px}.deck-title .mono{font-size:6px;letter-spacing:.2px}.deck-title>span:last-child{font-size:9px}.deck-title i{padding-left:3px}.deck-play{width:22px;height:21px;font-size:8px;right:0}.dock-poem p{font-size:11px;line-height:2;letter-spacing:0;white-space:nowrap}.poem-tail{font-size:4px;letter-spacing:0}.dock-index{padding:20px 0 0;border-left:0;border-top:1px solid #7a638535}.dock-index-label{font-size:7px}.dock-index>a{min-height:49px}.index-name{font-size:14px}.index-name small{display:inline;font-size:9px;letter-spacing:0;color:var(--muted);margin-left:12px}.index-number{font-size:9px}.playlist-sheet{grid-template-columns:80px 1fr;gap:18px;padding:22px 18px}.playlist-cover .deck-art{width:75px}.playlist-cover .mono{font-size:5px;left:7px;bottom:7px}.playlist-copy .section-kicker{font-size:7px}.playlist-copy h3{font-size:19px;line-height:1.5;margin:8px 0 10px}.playlist-copy p:not(.section-kicker){font-size:12px}.playlist-pending{font-size:10px;margin-top:0}.discover-item{gap:14px}.discover-item p{font-size:12px;line-height:1.8}.discover-out{padding:0}.earth-credit{order:4}.journal-notes{padding-top:32px}}
@media(prefers-reduced-motion:reduce){.pronoun-char{opacity:0}.pronoun-char:first-child{opacity:1}.playlist-entry:hover .deck-art{transform:none}}

@keyframes earth-spin{
0.000000%{background-position:0px 0px}
1.063830%{background-position:-40px 0px}
2.127660%{background-position:-80px 0px}
3.191489%{background-position:-120px 0px}
4.255319%{background-position:-160px 0px}
5.319149%{background-position:-200px 0px}
6.382979%{background-position:-240px 0px}
7.446809%{background-position:-280px 0px}
8.510638%{background-position:-320px 0px}
9.574468%{background-position:-360px 0px}
10.638298%{background-position:0px -40px}
11.702128%{background-position:-40px -40px}
12.765957%{background-position:-80px -40px}
13.829787%{background-position:-120px -40px}
14.893617%{background-position:-160px -40px}
15.957447%{background-position:-200px -40px}
17.021277%{background-position:-240px -40px}
18.085106%{background-position:-280px -40px}
19.148936%{background-position:-320px -40px}
20.212766%{background-position:-360px -40px}
21.276596%{background-position:0px -80px}
22.340426%{background-position:-40px -80px}
23.404255%{background-position:-80px -80px}
24.468085%{background-position:-120px -80px}
25.531915%{background-position:-160px -80px}
26.595745%{background-position:-200px -80px}
27.659574%{background-position:-240px -80px}
28.723404%{background-position:-280px -80px}
29.787234%{background-position:-320px -80px}
30.851064%{background-position:-360px -80px}
31.914894%{background-position:0px -120px}
32.978723%{background-position:-40px -120px}
34.042553%{background-position:-80px -120px}
35.106383%{background-position:-120px -120px}
36.170213%{background-position:-160px -120px}
37.234043%{background-position:-200px -120px}
38.297872%{background-position:-240px -120px}
39.361702%{background-position:-280px -120px}
40.425532%{background-position:-320px -120px}
41.489362%{background-position:-360px -120px}
42.553191%{background-position:0px -160px}
43.617021%{background-position:-40px -160px}
44.680851%{background-position:-80px -160px}
45.744681%{background-position:-120px -160px}
46.808511%{background-position:-160px -160px}
47.872340%{background-position:-200px -160px}
48.936170%{background-position:-240px -160px}
50.000000%{background-position:-280px -160px}
51.063830%{background-position:-320px -160px}
52.127660%{background-position:-360px -160px}
53.191489%{background-position:0px -200px}
54.255319%{background-position:-40px -200px}
55.319149%{background-position:-80px -200px}
56.382979%{background-position:-120px -200px}
57.446809%{background-position:-160px -200px}
58.510638%{background-position:-200px -200px}
59.574468%{background-position:-240px -200px}
60.638298%{background-position:-280px -200px}
61.702128%{background-position:-320px -200px}
62.765957%{background-position:-360px -200px}
63.829787%{background-position:0px -240px}
64.893617%{background-position:-40px -240px}
65.957447%{background-position:-80px -240px}
67.021277%{background-position:-120px -240px}
68.085106%{background-position:-160px -240px}
69.148936%{background-position:-200px -240px}
70.212766%{background-position:-240px -240px}
71.276596%{background-position:-280px -240px}
72.340426%{background-position:-320px -240px}
73.404255%{background-position:-360px -240px}
74.468085%{background-position:0px -280px}
75.531915%{background-position:-40px -280px}
76.595745%{background-position:-80px -280px}
77.659574%{background-position:-120px -280px}
78.723404%{background-position:-160px -280px}
79.787234%{background-position:-200px -280px}
80.851064%{background-position:-240px -280px}
81.914894%{background-position:-280px -280px}
82.978723%{background-position:-320px -280px}
84.042553%{background-position:-360px -280px}
85.106383%{background-position:0px -320px}
86.170213%{background-position:-40px -320px}
87.234043%{background-position:-80px -320px}
88.297872%{background-position:-120px -320px}
89.361702%{background-position:-160px -320px}
90.425532%{background-position:-200px -320px}
91.489362%{background-position:-240px -320px}
92.553191%{background-position:-280px -320px}
93.617021%{background-position:-320px -320px}
94.680851%{background-position:-360px -320px}
95.744681%{background-position:0px -360px}
96.808511%{background-position:-40px -360px}
97.872340%{background-position:-80px -360px}
98.936170%{background-position:-120px -360px}
100%{background-position:0 0}}

/* V36 four-planet centred masthead, clean reels and terminal underline. Numeric motion parameters unchanged. */
.slot-masthead .header-inner{position:relative;height:auto;min-height:128px;padding:10px 0;display:grid;grid-template-columns:minmax(0,1fr) 400px minmax(0,1fr);gap:28px;align-items:center}
.slot-masthead .earth-brand{flex:none;display:flex;align-items:center;justify-content:center;width:60px;height:66px;padding:0;gap:0}
/* The original 40px sprite coordinates stay intact; enlarge the finished globe, not its sprite viewport. */
.slot-masthead .pixel-globe{width:40px;height:40px;flex:none;transform:scale(1.5);transform-origin:center;image-rendering:pixelated}
.slot-stage{position:relative;flex:1;min-width:0;min-height:48px;max-width:400px;height:96px;align-self:center}
.slot-device{position:absolute;left:0;top:0;width:max-content;display:flex;align-items:center;transform-origin:0 0;gap:0;padding-top:14px;padding-bottom:5px}
.slot-cabinet{--slot-font-size:60px;--slot-line-height:66px;--slot-accent:#d968ff;--slot-fade:.7;position:relative;width:564px;padding:8px 19px 7px;background:#393047;border:3px solid #8b7595;box-shadow:inset 0 3px 0 #c5a5bb,inset 4px 0 0 #665272,inset -4px -4px 0 #211b31,4px 5px 0 #0b0b1640;clip-path:polygon(12px 0,calc(100% - 12px) 0,calc(100% - 12px) 4px,calc(100% - 4px) 4px,calc(100% - 4px) 12px,100% 12px,100% calc(100% - 8px),calc(100% - 6px) calc(100% - 8px),calc(100% - 6px) 100%,6px 100%,6px calc(100% - 8px),0 calc(100% - 8px),0 12px,4px 12px,4px 4px,12px 4px)}
.slot-cabinet{clip-path:none}.slot-cabinet::after{content:'';position:absolute;left:15px;right:15px;bottom:-6px;height:4px;background:#211a30;box-shadow:0 -2px #74607f;pointer-events:none}
.cabinet-top{position:relative;height:23px;display:flex;align-items:center;justify-content:space-between;padding:0 7px;margin:0 0 4px}
.cabinet-lights{display:flex;align-items:center;gap:10px}.cabinet-lights i{display:block;width:5px;height:5px;background:#b390a6;box-shadow:0 0 0 2px #251f34}
.cabinet-lights i:nth-child(2n){background:#a3c9bd}.slot-cabinet[data-state=spinning] .cabinet-lights i{background:#eeb1ce}
.cabinet-marquee{display:grid;place-items:center;position:absolute;left:50%;top:-23px;transform:translateX(-50%);width:144px;height:43px;padding:12px 33px 5px;background:#49364e;border:2px solid #b994aa;box-shadow:inset 0 3px #d8b7c1;clip-path:polygon(26px 0,calc(100% - 26px) 0,calc(100% - 26px) 4px,calc(100% - 14px) 4px,calc(100% - 14px) 9px,calc(100% - 6px) 9px,calc(100% - 6px) 16px,100% 16px,100% 100%,0 100%,0 16px,6px 16px,6px 9px,14px 9px,14px 4px,26px 4px)}
.cabinet-marquee svg{width:62px;height:17px;shape-rendering:crispEdges;fill:#edc2c9}
.slot-window{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:75px;padding:3px 13px 4px;border:3px solid #a08ba9;border-bottom-color:#695a80;background:#221c35;box-shadow:0 2px 0 #151322,inset 0 3px 0 #141222,inset 3px 0 0 #141222;color:#fff;overflow:hidden;border-radius:0;touch-action:pan-y;cursor:pointer}
.slot-window:hover{background:#292039;color:#fff}.slot-window:focus-visible{outline:2px solid #d968ff;outline-offset:4px}
.slot-window::before,.slot-window::after{content:'';position:absolute;z-index:4;top:31px;width:9px;height:9px;background:#eeb1ce;clip-path:polygon(0 0,40% 0,40% 25%,70% 25%,70% 40%,100% 40%,100% 60%,70% 60%,70% 75%,40% 75%,40% 100%,0 100%);pointer-events:none}
.slot-window::before{left:4px}.slot-window::after{right:4px;transform:scaleX(-1)}
.slot-title{position:relative;display:inline-block;font-family:ui-sans-serif,system-ui,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:var(--slot-font-size);font-weight:700;line-height:var(--slot-line-height);letter-spacing:-.03em;color:#fff;white-space:pre;font-kerning:normal;text-align:left;isolation:isolate}
.slot-measure{white-space:pre;display:block;line-height:var(--slot-line-height)}.is-enhanced .slot-measure{visibility:hidden}
.slot-layer{position:absolute;inset:0;pointer-events:none;letter-spacing:-.03em}
.slot-cell{position:absolute;top:0;height:var(--slot-line-height);overflow:hidden;pointer-events:auto;text-align:center;line-height:var(--slot-line-height);letter-spacing:-.03em;color:#fff;background:transparent;box-shadow:none}
.slot-strip{display:block;position:absolute;left:0;top:0;width:100%;line-height:var(--slot-line-height);will-change:transform}.slot-cell[data-state=locked] .slot-strip{will-change:auto}
.slot-glyph{display:block;line-height:var(--slot-line-height);height:var(--slot-line-height);width:100%;white-space:pre;text-align:center}
.slot-cell.is-fast .slot-strip{filter:url(#slot-motion-blur)}
.slot-cell:not([data-state=locked])::after{content:'';pointer-events:none;position:absolute;z-index:2;inset:0;background:linear-gradient(180deg,rgb(34 28 53 / 70%),transparent 30%,transparent 70%,rgb(34 28 53 / 70%))}
/* Blinking command-line underscore beneath the active letter. */
.slot-cursor{position:absolute;top:auto;bottom:0;height:3px;width:14px;left:0;background:var(--slot-accent);box-shadow:none;opacity:0;pointer-events:none;z-index:5;animation:slot-caret-blink 1.05s step-end infinite}
.slot-cursor.is-resting{animation-duration:1.05s}
@keyframes slot-caret-blink{0%,48%{opacity:1}49%,100%{opacity:0}}
.cabinet-bottom{display:flex;align-items:center;justify-content:space-between;position:relative;height:34px;padding:6px 8px 3px;margin:0 -3px;background:linear-gradient(#66516c 0 3px,#49394f 3px 7px,#302739 7px 100%);border-bottom:3px solid #1c1828}
.cabinet-indicators{display:flex;align-items:center;gap:8px;width:100px}.cabinet-indicators i{width:8px;height:5px;background:#ba91ac;box-shadow:0 2px #1e192a}.cabinet-indicators i:nth-child(2){background:#8ab0a5}.cabinet-indicators i:nth-child(3){background:#cdb09f}
.coin-tray{width:65px;height:16px;display:block;background-image:url('./assets/slot-machine/pixel_art_slot_machine_-_mechanic_elements.png');background-size:94.5px 131.5px;background-position:-2.5px -92.5px;background-repeat:no-repeat;image-rendering:pixelated;transform:none;flex:none}
.deck-controls{display:flex;align-items:center;gap:10px;width:auto;justify-content:flex-end}
.deck-replay{width:50px;height:24px;padding:0;border:0;background-color:transparent;background-image:url('./assets/slot-machine/pixel_art_slot_machine_-_buttons.png');background-position:-7px -84px;background-repeat:no-repeat;image-rendering:pixelated;filter:saturate(.32) brightness(1.16);cursor:pointer;flex:none}
.deck-replay:hover{filter:saturate(.6) brightness(1.28);background-color:transparent}.deck-replay:active{transform:translateY(1px)}.deck-replay:focus-visible{outline:2px solid #d968ff;outline-offset:2px}
.coin-inlet{height:13px;width:9px;border:2px solid #938496;background:#181522;box-shadow:1px 1px #1d1928}
.slot-credits{width:16px;height:16px;display:grid;place-items:center;color:#c6afc9;line-height:1}.slot-credits svg{width:9px;height:9px;fill:currentColor;shape-rendering:crispEdges}
.slot-lever{position:relative;display:block;flex:none;width:63px;height:104px;padding:0;border:0;background:none;box-shadow:none;touch-action:none;cursor:grab;overflow:visible}
.slot-lever:hover{background:none}.slot-lever:active{cursor:grabbing}.slot-lever svg{display:block;width:72px;height:104px;overflow:visible;shape-rendering:crispEdges;pointer-events:none}.lever-arm{transform-origin:12px 65px;transform:rotate(0deg)}.slot-lever:focus-visible{outline:2px solid #d968ff;outline-offset:2px}.slot-filter-defs{position:absolute;pointer-events:none;overflow:hidden}
@media(prefers-reduced-motion:reduce){.slot-cell.is-fast .slot-strip{filter:none}.slot-cursor{display:none}.lever-arm{transition:none}}

.planet-pair{display:flex;align-items:center;justify-content:space-evenly;gap:16px;min-width:0}
.planet-pair .planet-object,.planet-pair .planet-home{display:flex;align-items:center;justify-content:center;flex:none;line-height:1}
.planet-pair .planet-home{width:72px;height:78px;padding:0}
.planet-pair [data-planet]{display:block;flex:none;width:var(--planet-size);height:var(--planet-size);background-size:1000% 1000%;background-repeat:no-repeat;background-position:0% 0%;image-rendering:pixelated;transform:none;animation:planet-frames var(--planet-period) step-end infinite;animation-delay:var(--planet-phase);filter:saturate(.82)}
.planet-pair [data-planet=earth]{background-image:url('./assets/planets/earth.png')}
.planet-pair [data-planet=mars]{background-image:url('./assets/planets/mars.png')}
.planet-pair [data-planet=saturn]{background-image:url('./assets/planets/saturn.png')}
.planet-pair [data-planet=neptune]{background-image:url('./assets/planets/neptune.png')}
.landing-paused .planet-pair [data-planet],.page-hidden .planet-pair [data-planet]{animation-play-state:paused}
.slot-stage{justify-self:center;width:100%;height:102px}
.mambo-link{display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:18px;line-height:24px;color:#ebbdcf;letter-spacing:.5px;min-height:30px}
.mambo-link:hover{color:#b8e1d3}.mambo-link:focus-visible{outline:2px solid #d968ff;outline-offset:3px}
.mambo-arrow{display:block;flex:none;width:50px;height:24px;background:url('./assets/slot-machine/pixel_art_slot_machine_-_buttons.png') -7px -84px no-repeat;image-rendering:pixelated;filter:saturate(.32) brightness(1.16)}
@media(max-width:900px){.slot-masthead .header-inner{grid-template-columns:minmax(0,1fr) 340px minmax(0,1fr);gap:18px}.planet-pair{gap:8px}.planet-pair [data-planet=earth]{width:60px;height:60px}.planet-pair [data-planet=mars]{width:44px;height:44px}.planet-pair [data-planet=saturn]{width:84px;height:84px}.planet-pair [data-planet=neptune]{width:52px;height:52px}.planet-pair .planet-home{width:60px;height:64px}}
@media(max-width:660px){.slot-masthead .header-inner{grid-template-columns:56px minmax(0,1fr) 66px;gap:8px;min-height:96px;padding:12px 0}.planet-pair{gap:4px}.planet-pair [data-planet=earth]{width:30px;height:30px}.planet-pair [data-planet=mars]{width:22px;height:22px}.planet-pair [data-planet=saturn]{width:38px;height:38px}.planet-pair [data-planet=neptune]{width:24px;height:24px}.planet-pair .planet-home{width:30px;height:38px}.slot-lever::after{content:'';position:absolute;inset:-10px -18px;pointer-events:auto}}
@media(prefers-reduced-motion:reduce){.planet-pair [data-planet]{animation:none;background-position:0% 0%}.slot-cursor{display:none}}
@keyframes planet-frames{
0.000000%{background-position:0.000000% 0.000000%}
1.041667%{background-position:11.111111% 0.000000%}
2.083333%{background-position:22.222222% 0.000000%}
3.125000%{background-position:33.333333% 0.000000%}
4.166667%{background-position:44.444444% 0.000000%}
5.208333%{background-position:55.555556% 0.000000%}
6.250000%{background-position:66.666667% 0.000000%}
7.291667%{background-position:77.777778% 0.000000%}
8.333333%{background-position:88.888889% 0.000000%}
9.375000%{background-position:100.000000% 0.000000%}
10.416667%{background-position:0.000000% 11.111111%}
11.458333%{background-position:11.111111% 11.111111%}
12.500000%{background-position:22.222222% 11.111111%}
13.541667%{background-position:33.333333% 11.111111%}
14.583333%{background-position:44.444444% 11.111111%}
15.625000%{background-position:55.555556% 11.111111%}
16.666667%{background-position:66.666667% 11.111111%}
17.708333%{background-position:77.777778% 11.111111%}
18.750000%{background-position:88.888889% 11.111111%}
19.791667%{background-position:100.000000% 11.111111%}
20.833333%{background-position:0.000000% 22.222222%}
21.875000%{background-position:11.111111% 22.222222%}
22.916667%{background-position:22.222222% 22.222222%}
23.958333%{background-position:33.333333% 22.222222%}
25.000000%{background-position:44.444444% 22.222222%}
26.041667%{background-position:55.555556% 22.222222%}
27.083333%{background-position:66.666667% 22.222222%}
28.125000%{background-position:77.777778% 22.222222%}
29.166667%{background-position:88.888889% 22.222222%}
30.208333%{background-position:100.000000% 22.222222%}
31.250000%{background-position:0.000000% 33.333333%}
32.291667%{background-position:11.111111% 33.333333%}
33.333333%{background-position:22.222222% 33.333333%}
34.375000%{background-position:33.333333% 33.333333%}
35.416667%{background-position:44.444444% 33.333333%}
36.458333%{background-position:55.555556% 33.333333%}
37.500000%{background-position:66.666667% 33.333333%}
38.541667%{background-position:77.777778% 33.333333%}
39.583333%{background-position:88.888889% 33.333333%}
40.625000%{background-position:100.000000% 33.333333%}
41.666667%{background-position:0.000000% 44.444444%}
42.708333%{background-position:11.111111% 44.444444%}
43.750000%{background-position:22.222222% 44.444444%}
44.791667%{background-position:33.333333% 44.444444%}
45.833333%{background-position:44.444444% 44.444444%}
46.875000%{background-position:55.555556% 44.444444%}
47.916667%{background-position:66.666667% 44.444444%}
48.958333%{background-position:77.777778% 44.444444%}
50.000000%{background-position:88.888889% 44.444444%}
51.041667%{background-position:100.000000% 44.444444%}
52.083333%{background-position:0.000000% 55.555556%}
53.125000%{background-position:11.111111% 55.555556%}
54.166667%{background-position:22.222222% 55.555556%}
55.208333%{background-position:33.333333% 55.555556%}
56.250000%{background-position:44.444444% 55.555556%}
57.291667%{background-position:55.555556% 55.555556%}
58.333333%{background-position:66.666667% 55.555556%}
59.375000%{background-position:77.777778% 55.555556%}
60.416667%{background-position:88.888889% 55.555556%}
61.458333%{background-position:100.000000% 55.555556%}
62.500000%{background-position:0.000000% 66.666667%}
63.541667%{background-position:11.111111% 66.666667%}
64.583333%{background-position:22.222222% 66.666667%}
65.625000%{background-position:33.333333% 66.666667%}
66.666667%{background-position:44.444444% 66.666667%}
67.708333%{background-position:55.555556% 66.666667%}
68.750000%{background-position:66.666667% 66.666667%}
69.791667%{background-position:77.777778% 66.666667%}
70.833333%{background-position:88.888889% 66.666667%}
71.875000%{background-position:100.000000% 66.666667%}
72.916667%{background-position:0.000000% 77.777778%}
73.958333%{background-position:11.111111% 77.777778%}
75.000000%{background-position:22.222222% 77.777778%}
76.041667%{background-position:33.333333% 77.777778%}
77.083333%{background-position:44.444444% 77.777778%}
78.125000%{background-position:55.555556% 77.777778%}
79.166667%{background-position:66.666667% 77.777778%}
80.208333%{background-position:77.777778% 77.777778%}
81.250000%{background-position:88.888889% 77.777778%}
82.291667%{background-position:100.000000% 77.777778%}
83.333333%{background-position:0.000000% 88.888889%}
84.375000%{background-position:11.111111% 88.888889%}
85.416667%{background-position:22.222222% 88.888889%}
86.458333%{background-position:33.333333% 88.888889%}
87.500000%{background-position:44.444444% 88.888889%}
88.541667%{background-position:55.555556% 88.888889%}
89.583333%{background-position:66.666667% 88.888889%}
90.625000%{background-position:77.777778% 88.888889%}
91.666667%{background-position:88.888889% 88.888889%}
92.708333%{background-position:100.000000% 88.888889%}
93.750000%{background-position:0.000000% 100.000000%}
94.791667%{background-position:11.111111% 100.000000%}
95.833333%{background-position:22.222222% 100.000000%}
96.875000%{background-position:33.333333% 100.000000%}
97.916667%{background-position:44.444444% 100.000000%}
98.958333%{background-position:55.555556% 100.000000%}
100%{background-position:0% 0%}}

/* V37: small inset credit display; visual demo sequence only, no payment gate. */
.slot-cabinet .cabinet-bottom{height:46px;padding:5px 8px 4px}
.slot-credit-screen{position:relative;display:flex;align-items:center;justify-content:center;flex:none;width:190px;min-height:32px;padding:3px 8px;border:2px solid #89768e;border-top-color:#211b2d;border-left-color:#211b2d;background:#18232b;box-shadow:inset 0 2px #0b151e,inset 2px 0 #101925,1px 1px #b39bae;color:#bce1ce;font-family:ui-monospace,Consolas,'Microsoft YaHei',monospace;font-size:19px;font-weight:600;line-height:24px;letter-spacing:.5px;white-space:nowrap;text-shadow:none}
.slot-credit-screen::after{content:'';position:absolute;left:4px;right:4px;bottom:2px;height:1px;background:#91c3b51c;pointer-events:none}
.slot-credit-screen [hidden]{display:none!important}
.slot-credit-screen.is-coin{color:#e9c0d2;background:#221f31}
.slot-credit-screen .mambo-link{gap:6px;min-height:24px;font-size:18px;line-height:24px;color:inherit}
.slot-credit-screen .mambo-link:hover{color:#c6ead8}

/* V38: self-view visitor environment broadcast. Only this strip changes. */
.screen-bar.environment-bar{height:44px;padding:0 9px 0 4px;justify-content:flex-start;gap:6px;overflow:hidden}
.environment-speaker{display:grid;place-items:center;flex:none;width:40px;height:42px;padding:8px;border:0;background:none;color:#eeb1ce;cursor:pointer;border-radius:0}
.environment-speaker svg{width:21px;height:21px;fill:currentColor;shape-rendering:crispEdges}
.environment-speaker:hover{background:#ffffff08;color:#bce1ce}.environment-speaker:focus-visible{outline:2px solid #a3dbca;outline-offset:-4px}
.environment-speaker[aria-pressed=true] .speaker-waves{opacity:.3}
.environment-viewport{position:relative;flex:1;min-width:0;height:100%;display:flex;align-items:center;overflow:hidden}
.environment-viewport:focus-visible{outline:1px solid #a3dbca;outline-offset:-3px}
.environment-track{display:flex;align-items:center;gap:64px;width:max-content;flex:none;will-change:transform}
.environment-unit{display:flex;align-items:center;gap:26px;flex:none;white-space:nowrap;font:12px/1.5 ui-monospace,Consolas,'Microsoft YaHei',monospace;font-variant-numeric:tabular-nums;color:#ded4e4}
.environment-item{display:inline-flex;align-items:baseline;gap:2px;white-space:nowrap}
.environment-item::before{content:'';display:block;align-self:center;width:3px;height:3px;flex:none;background:#9bcbbd;margin-right:7px}
.environment-label{color:#b99caf}
.environment-bar.is-ready .environment-track{animation:environment-crawl var(--environment-duration,90s) linear infinite}
.environment-bar.environment-paused .environment-track{animation-play-state:paused}
@keyframes environment-crawl{from{transform:translateX(0)}to{transform:translateX(var(--environment-distance,-6000px))}}
@media(max-width:760px){.screen-bar.environment-bar{padding-right:6px;gap:1px}.environment-speaker{width:34px}.environment-unit{font-size:11px}}
@media(prefers-reduced-motion:reduce){.environment-bar.is-ready .environment-track{animation:none;transform:none;will-change:auto}.environment-viewport{overflow-x:auto;scrollbar-width:thin}.environment-unit+ .environment-unit{display:none}}

/* V39: same restrained pixel-radio palette; full signals are progressively disclosed. */
.environment-viewport[role=button]{cursor:pointer;outline-offset:-3px}
.environment-viewport[role=button]:hover{background:#ffffff03}
.environment-viewport[role=button]:focus-visible{outline:2px solid #a3dbca}
.environment-report{box-sizing:border-box;width:min(940px,calc(100vw - 40px));max-height:86vh;padding:28px;border:1px solid #574a68;background:#1a182b;color:#e6ddeb;box-shadow:6px 6px 0 #0f0e19;font-family:inherit;scrollbar-color:#6f5d7e #1a182b}
.environment-report::backdrop{background:#090914cf;backdrop-filter:blur(4px)}
.environment-report-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.environment-report-kicker{font:11px/1.6 'Courier New',monospace;letter-spacing:.14em;color:#a3dbca}
.environment-report h2{font-size:23px;line-height:1.5;margin:7px 0 14px;font-weight:600;letter-spacing:.03em}
.environment-report h2 span{color:#eeb1ce;margin-left:6px}
.environment-close{width:44px;height:44px;flex-shrink:0;border:1px solid #574a68;background:#282238;color:#eeb1ce;font-size:25px;line-height:1;cursor:pointer}
.environment-report p{font-size:13px;line-height:1.9;color:#bdb0cc;margin:0 0 18px}
.environment-report-tools{display:flex;gap:20px;align-items:flex-end;padding:10px 0 20px;border-bottom:1px solid #3b334f}
.environment-report-tools label{flex:1;display:grid;gap:8px;font-size:12px;color:#eeb1ce}
.environment-report input{box-sizing:border-box;width:100%;min-height:44px;padding:10px 12px;background:#121120;border:1px solid #574a68;border-radius:0;color:#eee6f4;font:14px/1.4 inherit}
.environment-report input::placeholder{color:#9888aa}
.environment-report-tools .environment-count{margin:0;flex-shrink:0;font:12px/1.8 'Courier New',monospace;color:#a3dbca;max-width:240px}
.environment-network-options{padding:15px 0 16px;border-bottom:1px solid #3b334f;font-size:12px;color:#bdb0cc}
.environment-network-options summary,.environment-record summary{cursor:pointer;color:#a3dbca;line-height:1.7}
.environment-network-options p{margin:12px 0;font-size:12px}
.environment-network-options div{display:flex;flex-wrap:wrap;gap:12px}
.environment-network-options button{padding:11px 14px;min-height:44px;background:#282238;border:1px solid #574a68;color:#eeb1ce;cursor:pointer;font:12px/1.5 inherit}
.environment-network-options button:disabled{opacity:.5;cursor:wait}
.environment-network-options .environment-probe-status:empty{display:none}
.environment-record{display:grid;grid-template-columns:minmax(180px,32%) minmax(0,1fr);gap:20px;padding:16px 0;border-bottom:1px solid #352e45}
.environment-record>div:first-child{display:flex;flex-direction:column;gap:5px;min-width:0}
.environment-record strong{font-size:13px;font-weight:500;color:#e6ddeb;overflow-wrap:anywhere}
.environment-record code{font:11px/1.6 'Courier New',monospace;color:#aa97be;overflow-wrap:anywhere}
.environment-record small{font:10px/1.6 'Courier New',monospace;color:#a3dbca}
.environment-record pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font:12px/1.8 'Courier New',monospace;color:#ddd4e8;max-height:300px;overflow:auto;tab-size:2}
.environment-record details{min-width:0}.environment-record details pre{padding-top:10px}.environment-record summary{font-size:12px}
.environment-report .environment-report-foot{font-size:11px;padding-top:20px;margin-bottom:0;color:#aa97be}
.environment-no-results{padding:25px 0}
.environment-report button:focus-visible,.environment-report input:focus-visible,.environment-report summary:focus-visible{outline:2px solid #a3dbca;outline-offset:3px}
@media(max-width:600px){.environment-report{width:calc(100vw - 20px);padding:20px 16px;max-height:91vh}.environment-report h2{font-size:19px}.environment-report-tools{display:block}.environment-report-tools .environment-count{margin-top:12px;max-width:none}.environment-record{grid-template-columns:1fr;gap:10px}.environment-record pre{font-size:11px}.environment-report-head{gap:9px}}


/* V41: visitor-first values, no explanatory HUD or modal status blocks. */
.environment-item[data-key=ip]>span:last-child,.environment-item[data-key=rtc-ip]>span:last-child{color:#f0bdd6}
.environment-item[data-key=fingerprint]>span:last-child{color:#b5dece}
.environment-report-head{padding-bottom:6px}
.privacy-link{font-size:11px;color:#b3a7c0;text-underline-offset:3px}
.privacy-link:hover,.privacy-link:focus-visible{color:#eeb1ce}
.privacy-header{padding:28px max(24px,calc((100vw - 1060px)/2));border-bottom:1px solid #3b334f}
.privacy-header a{font-size:18px;color:#eee7f0}.privacy-header span{color:#eeb1ce}
.privacy-layout{max-width:760px;margin:48px auto 72px;padding:0 24px}
.privacy-back{display:inline-block;margin-bottom:40px;font-size:12px;color:#a3dbca}
.privacy-layout h1{font-size:32px;margin:12px 0 38px}.privacy-layout h2{font-size:19px;margin:32px 0 12px}
.privacy-layout p{font-size:15px;line-height:2;color:#bdb0cc}.privacy-layout .privacy-small{font-size:12px;margin-top:40px}

/* V42: stationary modal chrome; only the parameter region scrolls. */
.environment-report{padding:0;overflow:hidden}
.environment-report[open]{display:flex;flex-direction:column}
.environment-report-head{flex:0 0 auto;padding:24px 28px 16px;background:#1a182b;z-index:2}
.environment-report-head>div{min-width:0}
.environment-report-head h2{margin-bottom:0}
.environment-report-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 28px 16px;scrollbar-color:#6f5d7e #1a182b;scrollbar-gutter:stable}
.environment-report-scroll:focus-visible{outline:1px solid #a3dbca;outline-offset:-2px}
.environment-report-tools{padding-top:4px}
.environment-close{align-self:flex-start}
.environment-item[data-key=ip-coordinates]>span:last-child{color:#f0bdd6}
@media(max-width:600px){.environment-report-head{padding:20px 16px 14px}.environment-report-scroll{padding:0 16px 14px}}

/* V43: first visitor value enters at the right edge, never starts already clipped at the left. */
.environment-unit{padding-inline-start:var(--environment-entry-inset,0px)}
@media(prefers-reduced-motion:reduce){.environment-unit{padding-inline-start:0}}

/* V45: a small off-page hanging sign, two flexible ropes, no celestial anchors. */
.slot-masthead.hanging-header{position:relative;overflow:hidden;isolation:isolate;background:#121120}
.hanging-header .header-inner{display:block;position:relative;width:min(1160px,100%);height:286px;min-height:286px;padding:0;margin:0 auto;overflow:visible}
.hanging-ropes{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:1;pointer-events:none}
.hanging-rope path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.hanging-rope .rope-shadow{stroke:#20192c;stroke-width:5}
.hanging-rope .rope-core{stroke:#99859c;stroke-width:2.4}
.hanging-rope .rope-twist{stroke:#d4b8cf;stroke-width:1;stroke-dasharray:2 5;opacity:.65}
.hanging-rig{position:absolute;left:50%;top:104px;width:400px;max-width:calc(100% - 40px);transform:translateX(-50%);z-index:2}
.hanging-motion{position:relative;width:100%;transform-origin:50% 0;transform:translate(-9px,-280px) rotate(-8deg);will-change:transform}
.hanging-header[data-hanging-state=settled] .hanging-motion{will-change:auto}
.hanging-header .slot-stage{position:relative;width:100%;max-width:none;margin:0;min-height:48px}
.hanging-header .hanging-eye{position:absolute;top:-11px;width:13px;height:12px;border:3px solid #b49bb7;border-radius:5px 5px 0 0;background:#2d233a;z-index:5;box-shadow:0 2px #65506f}
.hanging-eye--left{left:32px}.hanging-eye--right{right:32px}
.slot-masthead.hanging-header .cabinet-lights{gap:9px}
.slot-masthead.hanging-header .cabinet-lights i{width:7px;height:6px;background:#654058;box-shadow:0 0 0 2px #251f34,inset 1px 1px #94637c}
.slot-masthead.hanging-header .cabinet-lights i.is-lit{background:var(--machine-active-green,#b5efcc);box-shadow:0 0 0 2px #251f34,inset 1px 1px #e1ffec,0 0 5px #91d6b477}
.hanging-header .cabinet-marquee svg{width:70px;height:20px;fill:#c78ee9;filter:drop-shadow(0 2px 0 #6a437e)}
@media(max-width:660px){.hanging-header .header-inner{height:272px;min-height:272px;width:100%;padding:0}.hanging-rig{top:100px;width:380px;max-width:calc(100% - 32px)}}
@media(prefers-reduced-motion:reduce){.hanging-motion{transform:rotate(-2.8deg);will-change:auto}.slot-masthead.hanging-header .cabinet-lights i.is-lit{background:#654058;box-shadow:0 0 0 2px #251f34}}

/* V46: coupled rope clip + three-symbol chase. Frozen symbol keeps its green. */
.hanging-header .cabinet-marquee [data-symbol]{fill:#c78ee9}
.hanging-header .cabinet-marquee [data-symbol].is-lit{fill:var(--machine-active-green,#b5efcc)}
.hanging-motion{transform:translate(-6px,-280px) rotate(1.8deg)}
@media(prefers-reduced-motion:reduce){.hanging-motion{transform:rotate(-2.8deg)}}

/* V47: familiar pixel broadcast horn and compact expressive credit LCD. */
.environment-speaker svg{width:28px;height:24px}
.slot-credit-screen{justify-content:flex-start;padding-left:6px;padding-right:7px;color:#bce1ce}
#slot-free-count{display:flex;align-items:center;justify-content:flex-start;width:100%;letter-spacing:0}
.credit-copy{display:inline-flex;align-items:baseline;letter-spacing:0}
.credit-times{margin-left:3px;letter-spacing:0}
.credit-mood{margin-left:auto;padding-left:8px;font:600 22px/24px ui-monospace,Consolas,monospace;letter-spacing:0}
.deck-controls{gap:6px}
.slot-credit-screen.is-coin{color:#f1a2b3;background:#2b1f2c}
.slot-credit-screen .mambo-link{width:100%;gap:4px;font-size:17px;letter-spacing:0;color:inherit}
.slot-credit-screen .mambo-link:hover{color:#ffc1cc}
.slot-credit-screen .mambo-arrow{display:block;width:14px;height:12px;background:none;filter:none;flex:none}
.mambo-arrow svg{display:block;width:14px;height:12px;fill:currentColor;shape-rendering:crispEdges}

/* V48: front-mouth feed above cabinet; lower fragments still protect the ticker. */
body.blog-home{position:relative}
.ticket-upper,.ticket-lower{position:absolute;display:block;pointer-events:none!important;user-select:none;image-rendering:pixelated}
.ticket-upper{left:0;top:0;z-index:3}
.ticket-lower{z-index:4}
@media(prefers-reduced-motion:reduce){.ticket-upper,.ticket-lower{display:none}}

/* V49: one hanging instrument, fan at left, weighted language dial at right. */
.hanging-header .header-inner{height:346px;min-height:346px;--rig-size:clamp(200px,45vw,420px)}
.hanging-rig{width:var(--rig-size);max-width:none;top:158px}
.credit-mood{display:inline-flex;align-items:center;font-size:23px;gap:3px;letter-spacing:0}
.mood-eyes{display:inline-block;transform:scaleY(1.55);transform-origin:center;line-height:1}
.environment-speaker svg{width:25px;height:25px;transform:rotate(-45deg);transform-origin:center}
.wind-fan{position:absolute;width:calc(var(--rig-size)*.27);left:calc(50% - var(--rig-size)*.91);top:106px;z-index:5;border:0;padding:0;background:none;cursor:pointer;color:#d5c4de;image-rendering:pixelated}
.wind-fan svg{display:block;width:100%;height:auto;overflow:visible}
.fan-cord{position:absolute;width:3px;background:#8d768e;box-shadow:2px 0 #30263b;left:48%;bottom:91%;height:200px;pointer-events:none}
.fan-rotor{transform-origin:50px 52px;transform:rotate(var(--fan-angle,0deg))}
.fan-label{display:block;font:10px/1.3 ui-monospace,Consolas,monospace;letter-spacing:2px}
.wind-fan[aria-pressed=true] .fan-led{fill:#b5efcc}
.wind-fan:focus-visible,.language-wheel:focus-visible{outline:2px solid #d6a0c0;outline-offset:6px}
.globe-stand{position:absolute;width:18%;left:40%;bottom:calc(100% - 8px);height:auto;aspect-ratio:100/112;pointer-events:none;z-index:3}
.globe-frame{position:absolute;inset:0;width:100%;height:100%;z-index:2}
.studio-globe{position:absolute;left:13%;top:8%;width:72%;height:auto;image-rendering:pixelated;z-index:1}
.language-device{position:absolute;left:calc(100% + 10%);top:-5%;width:34%;height:160%;color:#d9c4df;z-index:4;text-align:center;font:11px/1.4 ui-monospace,Consolas,monospace;}
.language-rod{position:absolute;height:6px;width:36%;top:36%;right:95%;background:#62516e;border-block:2px solid #ab8faa;box-shadow:0 2px #272134;z-index:-1}
.language-housing{position:relative;width:100%;aspect-ratio:1;background:#242033;border:3px solid #8f7898;border-radius:50%;box-shadow:0 3px #47384f,inset 0 0 0 3px #131220}
.language-wheel{position:absolute;inset:4px;border:0;border-radius:50%;background:#171522;padding:0;cursor:pointer;overflow:hidden}
.language-wheel canvas{display:block;width:100%;height:100%;image-rendering:pixelated;transform:rotate(var(--wheel-angle,0deg))}
.language-hub{position:absolute;left:34%;top:34%;width:32%;height:32%;display:grid;place-items:center;background:#201c30;border:2px solid #b59abd;border-radius:50%;font-size:clamp(10px,1vw,16px);color:#efe4f1;}
.language-pointer{position:absolute;left:45%;top:-9px;width:10%;height:16px;background:#e7bfd8;clip-path:polygon(0 0,100% 0,100% 40%,50% 100%,0 40%);z-index:3}
.language-readout{display:block;margin-top:9px;white-space:nowrap;color:#d5c3de;font-size:clamp(8px,.8vw,11px)}
.language-select{width:100%;height:22px;opacity:.01;position:absolute;left:0;top:100%;cursor:pointer}
.language-device:focus-within .language-select,.language-device:hover .language-select{opacity:1;color:#e2d0e8;background:#201c30;border:1px solid #8f7898;font-size:11px}
@media(max-width:660px){.hanging-header .header-inner{height:310px;min-height:310px}.hanging-rig{top:154px;width:var(--rig-size);max-width:none}.wind-fan{top:118px}.language-device{top:0}.fan-label{font-size:8px}}
@media(prefers-reduced-motion:reduce){.wind-fan .fan-rotor{transform:none!important}.language-wheel canvas{transform:none!important}}

.hanging-header{direction:ltr}.hanging-header .slot-window{direction:ltr}
.mood-eyes{transform:scale(1.2,1.55)}
.language-method{position:absolute;left:calc(50% - 7px);top:calc(100% + 28px);width:14px;z-index:12;font:10px/1.4 ui-monospace,monospace}
.language-method summary{list-style:none;cursor:pointer;border:1px solid #8c779a;width:13px;height:13px;text-align:center;border-radius:50%;background:#242033}
.language-method p{position:absolute;right:-35px;width:230px;padding:12px;border:1px solid #8c779a;background:#1e1a2c;color:#d9cade;text-align:left;font:11px/1.7 system-ui,sans-serif;box-shadow:0 8px 28px #0008}
.language-method a{color:#c9b1db}
html[lang=hi] main,html[lang=bn] main,html[lang=ar] main,html[lang=ur] main{font-family:'Nirmala UI','Segoe UI',system-ui,sans-serif}
html[dir=rtl] .environment-track,html[dir=rtl] .environment-record pre,html[dir=rtl] .environment-record code{direction:ltr;text-align:left}

/* Long Russian title fits the same glass; frozen60px reel sampler unchanged. */
.slot-title{flex-shrink:0;width:max-content;transform-origin:center}

/* Keep the entire installation, including wind offset, on a narrow preview. */
@media(max-width:440px){.hanging-header .header-inner{--rig-size:160px}}

/* Data note lives in the native top layer, not a clipped floating card. */
.language-method{height:14px;padding:0;border:1px solid #8c779a;border-radius:50%;background:#242033;color:#d9cade;cursor:pointer}
.language-method-dialog{width:min(460px,calc(100vw -40px));max-height:75vh;padding:22px;border:1px solid #8c779a;background:#1e1a2c;color:#d9cade;overflow:auto;font:14px/1.8 system-ui,sans-serif}
.language-method-dialog::backdrop{background:#0c0b16bb}
.language-method-dialog p{margin:12px 0 0;text-align:start}
.language-method-dialog a{color:#c9b1db;white-space:nowrap}
.language-method-close{display:block;margin-left:auto;width:32px;height:32px;background:#30273f;color:#f1d9e9;border:1px solid #8c779a;cursor:pointer;font-size:23px;line-height:1}

.language-method-close{position:sticky;top:0;z-index:1}

/* Localized sentences wrap naturally; do not hide clipped translated content. */
html:not([lang="zh-CN"]) .dock-poem p{white-space:normal;overflow-wrap:break-word}

/* Measure complete translated pronouns, not a one-letter wrapped column. */
.pronoun-char{white-space:nowrap;overflow-wrap:normal;word-break:normal}

/* V52: three separate suspensions. Rope for cabinet/fan, rigid top rod for dial. */
.fan-rig{position:absolute;left:calc(50% - var(--rig-size)*.91);top:110px;width:calc(var(--rig-size)*.30);z-index:5}
.fan-motion{position:relative;width:100%;transform-origin:50% 0;will-change:transform}
.wind-fan{position:relative;display:block;width:100%;left:auto;top:auto!important;padding:0;border:0;background:none}
.fan-eye{position:absolute;left:39%;top:1%;width:4px;height:4px;pointer-events:none}
.fan-rotor{transform-origin:0 0;transform:rotate(var(--fan-angle,0deg))}
.fan-cord,.fan-label{display:none}
.fan-rope path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.fan-rope .rope-shadow{stroke:#30263b;stroke-width:5}
.fan-rope .rope-core{stroke:#947d98;stroke-width:2.5}
.fan-rope .rope-twist{stroke:#d4b8cf;stroke-width:1;stroke-dasharray:2 5;opacity:.65}
.globe-stand{width:30%;left:35%;bottom:calc(100% - 8px)}
.studio-globe{left:12%;top:10%;width:76%;transform:rotate(-23.4deg);transform-origin:50% 50%;z-index:1}
.globe-frame{z-index:2}
.dial-rig{--dial-size:calc(var(--rig-size)*.32);--rod-length:260px;position:absolute;left:calc(50% + var(--rig-size)*.70);top:-76px;width:var(--dial-size);height:calc(var(--rod-length) + var(--dial-size));z-index:4;pointer-events:none}
.dial-motion{position:absolute;inset:0;transform-origin:50% 0;will-change:transform}
.dial-rig .language-rod{position:absolute;top:0;left:calc(50% - 3px);right:auto;width:6px;height:var(--rod-length);border:0;background:linear-gradient(90deg,#30293f 0 2px,#b49bb8 2px 4px,#62506e 4px);box-shadow:none;z-index:0}
.dial-rig .language-device{position:absolute;left:0;top:calc(var(--rod-length) - var(--dial-size)*.5);width:100%;height:auto;pointer-events:auto;z-index:1}
.language-housing{border-radius:0;border:0;background:#8f7898;padding:3px;clip-path:polygon(27% 0,73% 0,73% 3%,85% 3%,85% 8%,92% 8%,92% 15%,97% 15%,97% 27%,100% 27%,100% 73%,97% 73%,97% 85%,92% 85%,92% 92%,85% 92%,85% 97%,73% 97%,73% 100%,27% 100%,27% 97%,15% 97%,15% 92%,8% 92%,8% 85%,3% 85%,3% 73%,0 73%,0 27%,3% 27%,3% 15%,8% 15%,8% 8%,15% 8%,15% 3%,27% 3%);box-shadow:none}
.language-wheel{inset:3px;border:2px solid #2b263d;overflow:hidden}
.language-pointer{top:0;height:12px;left:46%;width:8%}
.language-readout{margin-top:8px}
.language-select{top:calc(100% + 2px)}
.language-method{top:calc(100% + 27px)}
@media(max-width:660px){.fan-rig{top:111px}.dial-rig{--rod-length:258px}}
@media(max-width:440px){.fan-rig{top:113px}.dial-rig{left:calc(50% + var(--rig-size)*.69)}}
@media(prefers-reduced-motion:reduce){.fan-motion,.dial-motion{transform:none!important;will-change:auto}}

/* Reserve the caught-swing envelope between independent instruments. */
.dial-rig{--dial-size:calc(var(--rig-size)*.30);left:calc(50% + var(--rig-size)*.71)}
.fan-rig{width:calc(var(--rig-size)*.32)}

/* No static flash while deferred suspension code is loading. */
.fan-motion{transform:translateY(-280px)}
.dial-motion{transform:translateY(-250px) rotate(-6.589deg)}
@media(prefers-reduced-motion:reduce){.fan-motion,.dial-motion{transform:none!important}}

/* Separate the independent rod wheel from the lever throughout narrow entry. */
@media(max-width:440px){.dial-rig{left:calc(50% + var(--rig-size)*.74)}}

/* V53 stock materials, opposite fan reaction and unlabelled free wheel. */
.fan-rig{width:calc(var(--rig-size)*.43);left:calc(50% - var(--rig-size)*1.01);top:99px}
.wind-fan{height:auto;aspect-ratio:1}
.fan-stock-body{display:block;position:absolute;inset:0;transform:scaleX(-1);pointer-events:none}
.fan-stock-sheet{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated;pointer-events:none;filter:sepia(.15) hue-rotate(12deg)}
.fan-stock-front{transform:none}
.fan-stock-back{display:none}
.fan-eye{left:47%;top:6%;width:5px;height:5px;border:2px solid #b49bb7;z-index:2}
.globe-stand{width:24%;left:var(--globe-base-x,50%);top:var(--globe-base-y,0);bottom:auto;transform:translate(-50%,-100%)}
.dial-rig .language-rod{width:10px;left:calc(50% - 5px);background:linear-gradient(90deg,#30293f 0 2px,#bba4c2 2px 4px,#71647e 4px 8px,#40334d 8px);border-inline:1px solid #43374e}
.dial-rig .language-rod::before,.dial-rig .language-rod::after{content:'';position:absolute;left:-2px;right:-2px;height:7px;background:#86718e;border-top:2px solid #c4adca;border-bottom:2px solid #35283f;top:38%}
.dial-rig .language-rod::after{top:73%;height:6px}
.language-housing{border:0;padding:0;background:none;clip-path:none;box-shadow:none;overflow:visible}
.language-wheel{inset:0;border:0;border-radius:50%;background:none;touch-action:none;cursor:grab;overflow:visible;user-select:none;-webkit-user-select:none}
.language-wheel:active{cursor:grabbing}
.wheel-surface{position:absolute;inset:0;display:block;border-radius:50%;overflow:hidden}
.wheel-surface canvas{display:block;width:100%;height:100%;transform:none!important;image-rendering:pixelated}
.language-hub{left:35%;top:35%;width:30%;height:30%;pointer-events:none;background:#171521;border:2px solid #a389ae;box-shadow:0 2px #352941;font-size:clamp(10px,1vw,15px)}
.language-stock-pointer{position:absolute;left:calc(50% - 10px);top:-11px;width:20px;height:20px;z-index:3;image-rendering:pixelated;pointer-events:none;filter:saturate(.45) hue-rotate(285deg)}
.language-method,.language-readout,.language-select,.slot-credits{display:none!important}
.environment-speaker svg{transform:none;width:25px;height:25px}
@media(max-width:660px){.fan-rig{top:105px}}
@media(max-width:440px){.fan-rig{left:calc(50% - var(--rig-size)*1.01)}}
@media(prefers-reduced-motion:reduce){.fan-stock-body{transform:scaleX(-1)}}

/* Keep a small margin for the longer-lived rigid-rod swing. */
@media(min-width:441px){.dial-rig{left:calc(50% + var(--rig-size)*.69)}}

/* V53 latest correction: independent straight rod through the fan centre. */
.fan-rig{top:-76px!important;width:calc(var(--rig-size)*.38);height:calc(230px + var(--rig-size)*.38);left:calc(50% - var(--rig-size)*.99);pointer-events:none}
.fan-motion{--fan-rod-length:230px;height:100%;transform-origin:50% 0}
.fan-rod{position:absolute;left:calc(50% - 4px);top:0;width:8px;height:var(--fan-rod-length);background:linear-gradient(90deg,#352f45 0 15%,#8a7896 15% 35%,#c9b3cf 35% 48%,#776580 48% 83%,#40344f 83%);z-index:2;pointer-events:none}
.fan-rod:before{content:"";position:absolute;left:-2px;top:42%;width:12px;height:7px;background:#8b7699;box-shadow:0 2px #40364c}
.fan-rod:after{content:"";position:absolute;left:-3px;bottom:-5px;width:14px;height:10px;background:#c3acc7;box-shadow:inset 3px 0 #675572;z-index:3}
.fan-rig .wind-fan{position:absolute;top:calc(var(--fan-rod-length) - var(--rig-size)*.19)!important;left:0;width:100%;aspect-ratio:1;pointer-events:auto;z-index:1}
.fan-stock-body{transform:none!important}.fan-stock-sheet{filter:none}
.fan-rig .wind-fan:after{content:"";position:absolute;width:6px;height:6px;left:calc(50% - 3px);top:calc(50% - 3px);background:#b49bbd;box-shadow:0 1px #3c3048;pointer-events:none}
@media(max-width:440px){.fan-rig{left:calc(50% - var(--rig-size)*1.015)}}

/* V54: rear motor mounting, quiet source-blade loop, restrained outlet air. */
.fan-rod{z-index:0;width:6px;left:calc(50% - 3px)}
.fan-rod:after{width:10px;left:-2px;height:8px;bottom:-4px}
.fan-rig .wind-fan:after{display:none}
.fan-breeze{position:absolute;left:88%;top:28%;width:68%;height:34%;pointer-events:none;opacity:calc(var(--air-strength,0)*.52);overflow:visible;transition:opacity .45s ease}
.fan-breeze svg{display:block;width:100%;height:100%;overflow:visible;stroke:#bfd8d0;stroke-width:1.05;stroke-linecap:round;stroke-linejoin:round;image-rendering:auto;mask-image:linear-gradient(90deg,#000 0 48%,transparent 100%)}
.fan-breeze path{stroke-dasharray:9 27;animation:outlet-airflow 2.6s linear infinite;animation-play-state:paused}
.fan-breeze path:nth-child(2){animation-delay:-.85s}.fan-breeze path:nth-child(3){animation-delay:-1.7s}
.wind-fan[aria-pressed=true] .fan-breeze path{animation-play-state:running}
@keyframes outlet-airflow{0%{stroke-dashoffset:-8;opacity:0;transform:translateX(-1px)}25%{opacity:.85}75%{opacity:.65}100%{stroke-dashoffset:28;opacity:0;transform:translateX(3px)}}
.dial-rig .language-rod{width:4px;left:calc(50% - 2px);border:0;background:linear-gradient(90deg,#5a4d66,#c4afce 35%,#9a83aa 58%,#54435f)}
.dial-rig .language-rod::before,.dial-rig .language-rod::after{left:-1px;right:-1px;height:3px;border-top:1px solid #dbc4de;border-bottom:1px solid #55435d;background:#9c86a7}
.language-stock-pointer{width:15px;height:22px;left:calc(50% - 7.5px);top:-16px;image-rendering:auto;filter:drop-shadow(0 1px 1px #15111f)}
.language-hub{width:42%;height:42%;left:29%;top:29%;border:0;box-shadow:none;background:radial-gradient(circle,#171521 0 30%,transparent 33%),url('./assets/studio/emerald-center.png') center/100% 100%;text-shadow:0 1px 1px #000;color:#f3e9f1;font-size:clamp(9px,1vw,14px)}
.wheel-surface canvas{image-rendering:auto}
@media(prefers-reduced-motion:reduce){.fan-breeze{display:none}.fan-breeze path{animation:none}}

/* V55: real independent rotor motion. The casing/rod never rotate with blades. */
.fan-rotor-plane{position:absolute;left:41%;top:12%;width:35%;height:74%;z-index:2;border-radius:50%;overflow:hidden;transform:rotate(-6deg);background:#171420;box-shadow:inset 1px 0 #73647e,inset -1px 0 #4b3e57;pointer-events:none}
.fan-rotor-plane svg{display:block;width:100%;height:100%;overflow:hidden;image-rendering:auto}
.fan-rig .wind-fan>svg.fan-power-triangle{position:absolute;left:7%;top:43%;width:12%;height:14%;fill:#8e7d9a;z-index:4;pointer-events:none;transition:fill .15s ease,filter .15s ease}
.wind-fan[aria-pressed=true] .fan-power-triangle,.fan-rig .wind-fan[aria-pressed=true]>svg.fan-power-triangle{fill:#90e5ad;filter:drop-shadow(0 0 2px #79ce9c70)}
.language-hub{width:20%;height:20%;left:40%;top:40%;background:#201a2b;border:1px solid #a98aa6;box-shadow:inset 0 1px 2px #3c2e47,0 1px 2px #100d18;font-size:clamp(8px,.9vw,13px);line-height:1;color:#e5d3e2}
.wheel-surface canvas{image-rendering:auto}

/* V56 complete authored fan: same-source blades, grille and rim. */
.fan-complete-art{position:absolute;inset:0;display:block;transform:perspective(400px) rotateY(32deg);transform-origin:50% 50%;pointer-events:none}
.fan-complete-art .fan-complete-model{display:block;width:100%;height:100%;overflow:hidden;image-rendering:auto;filter:drop-shadow(-2px 2px 1px #07060c70)}
.hanging-header .dial-rig{--dial-size:calc(var(--rig-size)*.36);left:calc(50% + var(--rig-size)*.64)}
@media(max-width:440px){.hanging-header .dial-rig{left:calc(50% + var(--rig-size)*.68)}}
.language-stock-pointer{--needle-w:clamp(12px,calc(var(--rig-size)*.045),18px);width:var(--needle-w);height:clamp(18px,calc(var(--rig-size)*.065),28px);left:calc(50% - var(--needle-w)*.5);top:2%;transform:translateY(-50%);z-index:4}
.wheel-surface canvas{filter:none;image-rendering:auto}
.language-hub{background:#201a2b;border:1px solid #ae8caa;box-shadow:0 1px 3px #120d19,inset 0 1px 2px #5d466b}

/* V57: dusty violet cabinet palette, one flat colour per language. */
.language-wheel{background:#1b1627;border-color:#51415e;box-shadow:0 3px 9px #08060f66}
.language-hub{background:#251e32;border:1px solid #947a9f;box-shadow:0 1px 3px #100c19,inset 0 1px 1px #54415f}

/* V58 — sleeved telescopic fan; upper sleeve/lock stays fixed, inner slides. */
.fan-rig{--fan-sleeve-length:96px}
.fan-rod{width:26px!important;left:calc(50% - 13px)!important;background:none!important;box-shadow:none!important;pointer-events:auto;touch-action:none;cursor:ns-resize;z-index:0}
.fan-rod:before,.fan-rod:after{display:none!important}
.fan-tube-inner,.fan-tube-outer,.fan-tube-collar,.fan-tube-joint{position:absolute;display:block;pointer-events:none;left:50%;transform:translateX(-50%)}
.fan-tube-inner{top:8px;bottom:0;width:6px;background:linear-gradient(90deg,#4b3e58 0 15%,#c6b2cd 20% 42%,#93809e 45% 70%,#52445f 76%);border-inline:1px solid #4c3d59;z-index:0}
.fan-tube-outer{top:0;width:12px;height:var(--fan-sleeve-length);background:linear-gradient(90deg,#3a3049 0 13%,#927b9d 16% 35%,#cbb7d0 39% 47%,#7f688d 50% 80%,#44364f 83%);border-inline:1px solid #50405e;z-index:1}
.fan-tube-collar{top:calc(var(--fan-sleeve-length) - 5px);width:17px;height:10px;background:#75617f;border-top:2px solid #c6adcf;border-bottom:2px solid #362941;box-shadow:inset 2px 0 #a28bad;z-index:2}
.fan-tube-collar i{position:absolute;right:-3px;top:1px;width:5px;height:4px;background:#baa3c3;border-right:2px solid #493851}
.fan-tube-joint{bottom:-5px;width:10px;height:10px;border-radius:3px;background:#6a5678;box-shadow:inset 2px 0 #af96b9;z-index:0}
.fan-rig .wind-fan{cursor:grab;touch-action:none}
.fan-rig.is-adjusting .wind-fan,.fan-rig.is-adjusting .fan-rod{cursor:grabbing}
.fan-rod:focus-visible{outline:1px dashed #bca0c7;outline-offset:3px}
.fan-power{position:absolute;left:50.17%;top:49.54%;transform:translate(-50%,-50%);width:34%;height:34%;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none;cursor:pointer;z-index:5;touch-action:manipulation}


.fan-power:focus-visible{outline:1px solid #b7d8c6;outline-offset:1px}
/* V59: material retained, arrow silhouette and left brace follow user sketch. */
.hanging-header{--machine-active-green:#b5efcc}
.fan-power:before{display:none}
.wind-fan[data-running=true] .fan-power-core{fill:var(--machine-active-green)!important}
.fan-breeze .wind-line-spacing{transform-box:view-box}
.language-sign{--sign-width:clamp(28px,calc(var(--rig-size)*.12),48px);--sign-gap:clamp(13px,calc(var(--rig-size)*.095),43px);position:absolute;left:auto;right:calc(50% + 2px + var(--sign-gap));top:calc(var(--rod-length)*.64 - var(--language-sign-lift,0px));transform:translateY(-28%);width:var(--sign-width);height:clamp(80px,calc(var(--rig-size)*.27),114px);display:block;pointer-events:none;z-index:5;filter:drop-shadow(1px 2px 1px #17112055)}
.language-sign-face{position:absolute;inset:0;display:block;transform-origin:78% 28%;transform:rotate(-12deg)}
.language-sign-board{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:fill;image-rendering:auto;pointer-events:none;z-index:1}
.language-sign-bracket{position:absolute;left:78%;top:calc(28% - 2px);width:calc(22% + var(--sign-gap) + 2px);height:5px;background:linear-gradient(#b7a1c1 0 20%,#8d779b 25% 70%,#493950 75%);border-block:1px solid #55435f;z-index:0}
.language-sign-mount{position:absolute;left:calc(100% + var(--sign-gap) - 2px);top:calc(28% - 5px);width:8px;height:10px;background:#897295;border-top:1px solid #ccb6d2;border-bottom:2px solid #43334c;z-index:2}
.language-sign-word{position:absolute;top:calc(73.484848% - .06em);left:calc(50% - .1em);width:max-content;text-align:center;color:#f0dfeb;font:600 clamp(11px,calc(var(--rig-size)*.041),17px)/1 ui-monospace,Consolas,monospace;letter-spacing:-.35px;text-shadow:0 1px #35263f;writing-mode:horizontal-tb;white-space:nowrap;transform:translate(-50%,-50%) rotate(-90deg) translateX(50%);z-index:2}
.language-sign-bolt{position:absolute;top:11%;width:2px;height:2px;border-radius:50%;background:#cbb9d1;box-shadow:0 1px #392e45;z-index:2}
.language-sign-bolt-left{left:28%}.language-sign-bolt-right{right:28%}
@media(prefers-reduced-motion:reduce){.fan-breeze{display:none}}
