:root{color:#f6eee0;--ink:#f8f1e4;--ink-soft:#f8f1e4bd;--ink-mute:#f8f1e47a;--ink-faint:#f8f1e442;--warm:#ecd6ae;--glass:linear-gradient(180deg, #2a223080, #120e176b);--glass-strong:linear-gradient(180deg, #2c2432bd, #100d15a8);--edge:#fff6e424;--edge-soft:#fff6e412;--sheen:inset 0 1px 0 #fff8ea21;--lift:0 8px 26px #06040a47;--lift-lg:0 20px 56px #06040a66;--r-sm:10px;--r-md:14px;--r-lg:22px;--r-pill:999px;--blur:blur(18px) saturate(1.06);--ease:cubic-bezier(.22, .61, .36, 1);background:#100c14;font-family:Segoe UI,Nunito,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{background:#100c14;width:100%;height:100%;margin:0;overflow:hidden}button{font:inherit;cursor:pointer}.aquarium{width:100%;height:100%;position:relative}.aquarium canvas{width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;cursor:pointer;filter:blur();transition:filter 2.8s cubic-bezier(.22,.61,.36,1);display:block}.aquarium.intro canvas{filter:blur(22px)saturate(1.08)brightness(1.05);transition:filter .12s linear}.intro-frost{pointer-events:none;opacity:0;-webkit-backdrop-filter:blur();transition:opacity 2.8s,-webkit-backdrop-filter 2.8s cubic-bezier(.22,.61,.36,1),backdrop-filter 2.8s cubic-bezier(.22,.61,.36,1);position:absolute;inset:0}.aquarium.intro .intro-frost{opacity:1;-webkit-backdrop-filter:blur(20px);transition:opacity .12s linear,-webkit-backdrop-filter .12s linear,backdrop-filter .12s linear}.hud{pointer-events:none;color:var(--ink);font-size:13px;position:absolute;inset:0}.hud:before,.hud:after{content:"";pointer-events:none;position:absolute;left:0;right:0}.hud:before{background:linear-gradient(#0a080e57,#0a080e00);height:140px;top:0}.hud:after{background:linear-gradient(#0a080e00,#0a080e5c);height:210px;bottom:0}.hud-top,.hud-left,.hud-right,.hud-foot,.whisper,.status-card,.hud:before,.hud:after{transition:opacity .4s ease, transform .45s var(--ease), filter .4s ease}.hud-idle:before,.hud-idle:after,.hud-idle .hud-top,.hud-idle .hud-left,.hud-idle .hud-right,.hud-idle .hud-foot,.hud-idle .whisper,.hud-idle .status-card,.hud-idle .status-card.on{filter:none;opacity:0!important;pointer-events:none!important}.hud-idle .hud-top,.hud-idle .hud-left,.hud-idle .hud-right,.hud-idle .status-card,.hud-idle .status-card.on{transform:translateY(6px)}.hud-idle .status-card,.hud-idle .status-card.on{transform:translate(-50%)translateY(8px)}.hud-top{justify-content:center;display:flex;position:absolute;top:20px;left:0;right:0}.clock{border-radius:var(--r-pill);border:1px solid var(--edge-soft);background:var(--glass);box-shadow:var(--lift), var(--sheen);-webkit-backdrop-filter:var(--blur);letter-spacing:.06em;color:var(--ink-soft);align-items:center;gap:11px;padding:7px 16px;font-size:12px;display:flex}.clock-time{color:var(--ink);font-variant-numeric:tabular-nums}.clock-place{color:var(--warm)}.clock-sep{background:var(--edge);border-radius:1px;width:1px;height:11px}.whisper{border-radius:var(--r-md);border:1px solid var(--edge-soft);background:var(--glass-strong);max-width:min(30rem,100% - 48px);box-shadow:var(--lift), var(--sheen);-webkit-backdrop-filter:var(--blur);color:var(--ink-soft);letter-spacing:.02em;text-align:center;pointer-events:none;padding:11px 18px;font-size:13px;line-height:1.5;position:absolute;bottom:96px;left:50%;transform:translate(-50%)}.hud-left{pointer-events:auto;flex-direction:column;align-items:flex-start;gap:8px;display:flex;position:absolute;top:20px;left:20px}.hud-row,.cam-row{gap:6px;display:flex}.cam-btn{border:1px solid var(--edge-soft);height:27px;color:var(--ink-mute);border-radius:var(--r-pill);letter-spacing:.04em;transition:background .18s ease, color .18s ease, border-color .18s ease, transform .18s var(--ease);background:#fff6e40d;align-items:center;gap:6px;padding:0 12px;font-size:11px;display:inline-flex}.cam-btn:hover{color:var(--ink);background:#fff6e41c;transform:translateY(-1px)}.cam-btn.on{color:var(--ink);box-shadow:0 0 18px #ecd6ae1f, var(--sheen);background:linear-gradient(#ecd6ae42,#ecd6ae24);border-color:#ecd6ae57}.cam-dot{background:#f8f1e438;border-radius:50%;width:5px;height:5px;transition:background .18s,box-shadow .18s}.cam-btn.on .cam-dot{background:#f0dcb0;box-shadow:0 0 8px #f0dcb0bf}.hud-right{pointer-events:auto;gap:8px;display:flex;position:absolute;top:20px;right:20px}.icon-btn{border:1px solid var(--edge-soft);background:var(--glass);width:34px;height:34px;color:var(--ink-soft);box-shadow:var(--lift), var(--sheen);-webkit-backdrop-filter:var(--blur);transition:background .18s ease, color .18s ease, transform .18s var(--ease);border-radius:50%;place-items:center;font-size:13px;display:grid}.icon-btn:hover{background:var(--glass-strong);color:var(--ink);transform:translateY(-1px)}.icon-btn.on{color:var(--ink);box-shadow:0 0 14px #ecd6ae1f, var(--sheen);border-color:#ecd6ae57}.icon-btn-accent{color:#d8f0b8;border-color:#c8e6aa66;animation:1.6s ease-in-out infinite sound-pulse}@keyframes sound-pulse{0%,to{box-shadow:0 0 0 0 #c8e6aa59, var(--sheen)}50%{box-shadow:0 0 0 6px #c8e6aa00, var(--sheen)}}.token-tap{display:none}.hover-label{border-radius:var(--r-pill);border:1px solid var(--edge-soft);background:var(--glass-strong);box-shadow:var(--lift);-webkit-backdrop-filter:var(--blur);letter-spacing:.02em;color:var(--ink-soft);white-space:nowrap;pointer-events:none;z-index:5;padding:5px 11px;font-size:12px;position:absolute;transform:translate(-50%,calc(-100% - 10px))}.idle-activity{border-radius:var(--r-pill);border:1px solid var(--edge-soft);background:var(--glass-strong);max-width:min(420px,100% - 48px);box-shadow:var(--lift), var(--sheen);-webkit-backdrop-filter:var(--blur);opacity:0;pointer-events:none;transition:opacity .4s ease, transform .45s var(--ease);z-index:4;text-align:center;flex-direction:column;align-items:center;gap:2px;padding:8px 18px;display:flex;position:absolute;top:22px;left:50%;transform:translate(-50%)translateY(-6px)}.idle-activity.show{opacity:1;transform:translate(-50%)translateY(0)}.idle-activity-kicker{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);font-size:9px}.idle-activity-text{letter-spacing:.02em;color:var(--ink);font-size:13px;line-height:1.3}.hud input[type=range]{appearance:none;background:0 0;height:16px}.hud input[type=range]::-webkit-slider-runnable-track{border-radius:var(--r-pill);background:#fff6e429;height:4px}.hud input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:linear-gradient(#fbf3e6,#dcc6a4);border:none;border-radius:50%;width:12px;height:12px;margin-top:-4px;box-shadow:0 2px 6px #06040a66}.hud input[type=range]::-moz-range-track{border-radius:var(--r-pill);background:#fff6e429;height:4px}.hud input[type=range]::-moz-range-thumb{background:linear-gradient(#fbf3e6,#dcc6a4);border:none;border-radius:50%;width:12px;height:12px;box-shadow:0 2px 6px #06040a66}.hud input[type=checkbox]{accent-color:#dcc6a4}.settings{border-radius:var(--r-lg);border:1px solid var(--edge-soft);background:var(--glass-strong);width:258px;max-height:calc(100vh - 96px);box-shadow:var(--lift-lg), var(--sheen);-webkit-backdrop-filter:var(--blur);pointer-events:auto;color:var(--ink-soft);scrollbar-width:thin;padding:14px 15px;font-size:12px;position:absolute;top:64px;right:20px;overflow-y:auto}.settings-head{letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:4px;font-size:10px}.settings label{justify-content:space-between;align-items:center;gap:10px;margin:9px 0;display:flex}.settings input[type=range]{width:112px}.settings select{max-width:160px;color:var(--ink);border:1px solid var(--edge);border-radius:var(--r-sm);background:#14101ae6;padding:4px 6px}.world-btn{border-radius:var(--r-pill);border:1px solid var(--edge-soft);width:100%;color:var(--ink-soft);cursor:pointer;text-align:center;letter-spacing:.03em;transition:background .18s ease, color .18s ease, transform .18s var(--ease);background:#fff6e40f;margin:6px 0 0;padding:8px 10px;text-decoration:none;display:block}.world-btn:hover{color:var(--ink);background:#ecd6ae29;transform:translateY(-1px)}.char-line{color:var(--warm);letter-spacing:.02em;margin:8px 0 2px}.filter-head{border-top:1px solid var(--edge-soft);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);margin:14px 0 2px;padding-top:10px;font-size:10px}.filter-head.first{border-top:none;margin-top:8px;padding-top:0}.settings-hint{color:var(--ink-faint);margin-top:12px;font-size:11px;line-height:1.5}.filter-row{margin:8px 0 10px}.filter-row label{justify-content:flex-start;margin:0}.filter-row label span{align-items:center;gap:9px;display:flex}.filter-row input[type=checkbox]{margin:0}.filter-slider{align-items:center;gap:10px;margin-top:2px;display:flex}.filter-slider input[type=range]{flex:1;width:auto}.filter-slider input[type=range]:disabled{opacity:.3}.filter-slider span{text-align:right;width:44px;color:var(--ink-mute);font-variant-numeric:tabular-nums;font-size:11px}.status-card{border:1px solid var(--edge-soft);background:radial-gradient(120% 140% at 8% 0%, #ffeeca1a, transparent 48%), var(--glass-strong);width:min(920px,100% - 28px);box-shadow:var(--lift-lg), var(--sheen);-webkit-backdrop-filter:var(--blur);pointer-events:none;color:var(--ink);opacity:0;filter:blur(5px);transition:opacity .5s ease, transform .6s var(--ease), filter .5s ease;z-index:3;border-radius:16px;flex-direction:row;align-items:center;gap:12px 14px;padding:8px 12px;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)translateY(10px)}.status-card,.status-card *{pointer-events:none}.status-card.on{opacity:1;filter:blur();transform:translate(-50%)translateY(0)}.status-controls,.status-controls *{pointer-events:auto}.status-controls{border-top:none;flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:6px;margin-left:auto;padding-top:0;display:flex}.status-toggles{display:none}.status-portrait{background:radial-gradient(circle at 50% 28%,#78604266,#0e0b12e0);border-radius:12px;flex-shrink:0;width:48px;height:56px;overflow:hidden;box-shadow:inset 0 0 0 1px #fff6e41f,inset 0 -14px 18px #08060c57}.status-portrait img{object-fit:cover;object-position:50% 18%;image-rendering:auto;width:100%;height:100%;display:block}.status-portrait-empty{background:radial-gradient(circle at 50% 40%,#ecd6ae29,#0000 62%);width:100%;height:100%}.status-copy{flex-shrink:1;min-width:0;max-width:168px;padding-top:0}.status-kicker{letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);font-size:8px}.status-name{letter-spacing:.01em;color:var(--ink);-webkit-line-clamp:1;-webkit-box-orient:vertical;margin-top:2px;font-size:12px;font-weight:400;line-height:1.25;display:-webkit-box;overflow:hidden}.status-now{margin-top:0}.status-now-kicker{display:none}.status-activity{color:var(--warm);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11px;line-height:1.3;overflow:hidden}.status-vitals{flex-direction:column;flex:220px;gap:4px;min-width:0;display:flex}.vitals-bars{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 10px;display:grid}.vital-row{letter-spacing:.05em;color:var(--ink-mute);grid-template-columns:1fr;gap:3px;font-size:9px;display:grid}.vital-track{border-radius:var(--r-pill);background:#fff6e417;height:4px;overflow:hidden}.vital-fill{border-radius:var(--r-pill);height:100%;transition:width .6s var(--ease);background:linear-gradient(90deg,#8fcfae,#cde6b4);box-shadow:0 0 10px #8fcfae40}.vital-row.warn .vital-fill{background:linear-gradient(90deg,#dcb073,#f2dcae);box-shadow:0 0 10px #dcb07338}.vital-row.bad .vital-fill{background:linear-gradient(90deg,#cf7a6c,#e8a888);box-shadow:0 0 10px #cf7a6c3d}.vital-row.info .vital-fill{background:linear-gradient(90deg,#7bb3cf,#a8d4ea);box-shadow:0 0 10px #7bb3cf38}.vitals-chips{flex-wrap:nowrap;gap:4px;margin-top:0;display:flex;overflow:hidden}.vital-chip{border-radius:var(--r-pill);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--edge-soft);color:var(--ink-mute);white-space:nowrap;background:#fff6e40d;padding:2px 7px;font-size:8px}.vital-chip.warn{color:#f0d8a8;background:#ecc87c1a;border-color:#ecc87c42}.vital-chip.bad{color:#e8a898;background:#cf7a6c1f;border-color:#cf7a6c4d}.vital-chip.ok{color:#bfe2cb;background:#8fcfae1a;border-color:#8fcfae47}.vital-chip.info{color:#bcdcf0;background:#8ec6ea1a;border-color:#8ec6ea42}.hud-foot{pointer-events:none;flex-direction:column;align-items:center;gap:7px;display:none;position:absolute;bottom:24px;left:0;right:0}.title{letter-spacing:.34em;text-transform:uppercase;color:var(--ink-faint);font-size:10px}.hint{letter-spacing:.04em;color:var(--ink-faint);font-size:11px}.world-title{pointer-events:none;opacity:0;flex-direction:column;justify-content:center;align-items:center;transition:opacity 1.35s,transform 1.5s;display:flex;position:absolute;inset:0;transform:translateY(10px)scale(.98)}.world-title.show{opacity:1;transition:opacity 1s,transform 1.2s;transform:translateY(0)scale(1)}.world-title-kicker{letter-spacing:.52em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:18px;font-size:clamp(12px,1.5vw,18px)}.world-title-name{letter-spacing:.1em;text-align:center;color:#f8f1e4f5;text-shadow:0 12px 48px #08060c8c;max-width:90vw;font-size:clamp(64px,12vw,140px);font-weight:200;line-height:.95}@media (width<=720px){.status-card{border-radius:14px;gap:8px;width:calc(100% - 16px);padding:7px 9px;bottom:8px;left:50%}.status-portrait{border-radius:10px;width:40px;height:46px}.status-copy{max-width:110px}.status-kicker{letter-spacing:.14em;font-size:7px}.status-name{margin-top:1px;font-size:10px}.status-activity{margin-top:1px;font-size:9px}.vitals-bars{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px}.vital-row{font-size:8px}.vital-track{height:3px}.vitals-chips{display:none}.status-controls{gap:4px}.status-toggles{display:none}.status-controls .cam-btn{height:22px;padding:0 8px;font-size:9px}.hud-left{gap:5px;top:10px;left:10px}.hud-top{padding:8px 10px 0}}@media (width<=520px){.status-card{gap:6px;width:calc(100% - 12px);padding:6px 8px;bottom:6px}.status-copy{max-width:88px}.status-name{font-size:9px}.status-activity{font-size:8px}.vitals-bars{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px 5px}.vital-row span{display:none}.status-controls .cam-btn{height:20px;padding:0 6px;font-size:8px}}@media (prefers-reduced-motion:reduce){.world-title,.world-title.show{transition:none;transform:none}.aquarium canvas,.aquarium.intro canvas{filter:none;transition:none}.status-card,.status-card.on{filter:none;transition:none;transform:translate(-50%)}.vital-fill{transition:none}}
