@font-face{font-family:Literata;font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/literata-latin-wght-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Literata;font-style:italic;font-weight:200 900;font-display:swap;src:url(/fonts/literata-latin-wght-italic.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Literata;font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/literata-latin-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Literata;font-style:italic;font-weight:200 900;font-display:swap;src:url(/fonts/literata-latin-ext-wght-italic.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Literata;font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/literata-cyrillic-wght-normal.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Literata;font-style:italic;font-weight:200 900;font-display:swap;src:url(/fonts/literata-cyrillic-wght-italic.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/hanken-grotesk-latin-wght-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/hanken-grotesk-latin-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--bg:#04060e;--bg-deep:#05090f;--surface:#0d101a;--surface-2:#1b1c26;--surface-3:#26243a;--line:#a8bed821;--line-soft:#a8bed817;--line-strong:#b4c8de42;--ink:#ece3d1;--ink-heading:#f2e8d6;--ink-dim:#a5a5a8;--ink-faint:#74767c;--brass:#7c5cd6;--brass-bright:#9b7cea;--brass-dim:#7c5cd66b;--brass-ink:#f7f3ff;--glow:#7c5cd6b3;--player:#191634;--success:#7fb389;--danger:#d98b82;--danger-surface:#d98b821f;--danger-line:#d98b8259;--font-serif:"Literata", "Iowan Old Style", "Palatino Linotype", Georgia, "Hiragino Mincho ProN", "Yu Mincho", "Songti SC", SimSun, "Nanum Myeongjo", "Times New Roman", serif;--font-ui:"Hanken Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--r-sm:8px;--r-md:12px;--r-lg:18px;--r-pill:999px;--shadow-1:0 2px 12px #00000073;--shadow-2:0 12px 48px #0000008c}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;height:100%}html,body{max-width:100vw;overflow-x:hidden}body{min-height:100%;color:var(--ink);background:var(--bg);font-family:var(--font-serif);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;flex-direction:column;display:flex}*{box-sizing:border-box;margin:0;padding:0}a{color:inherit;text-decoration:none}button,input,textarea,select{color:inherit;font-family:inherit}:focus-visible{outline:2px solid var(--brass);outline-offset:2px;border-radius:2px}::selection{background:var(--brass-dim)}.ns-page{width:100%;max-width:720px;padding-left:max(1rem, env(safe-area-inset-left));padding-right:max(1rem, env(safe-area-inset-right));padding-bottom:max(2rem, env(safe-area-inset-bottom));margin:0 auto}.ns-page--narrow{max-width:430px}.ns-room{z-index:1;flex-direction:column;height:100dvh;display:flex;position:relative}.ns-room--scroll{height:auto;min-height:100vh}.ns-room-atmo{z-index:0;pointer-events:none;background:radial-gradient(120% 72% at 26% 4%, color-mix(in srgb, var(--brass) 16%, transparent), transparent 55%), radial-gradient(88% 54% at 92% 0%, color-mix(in srgb, var(--brass-bright) 8%, transparent), transparent 52%), radial-gradient(145% 125% at 50% 16%, transparent 42%, #00000080 100%), var(--bg);position:fixed;inset:0}.ns-room-atmo:after{content:"";opacity:.4;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='ng'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23ng)'/%3E%3C/svg%3E");background-size:170px 170px;position:absolute;inset:0}.ns-topbar{z-index:2;height:58px;padding:0 max(20px, env(safe-area-inset-right)) 0 max(20px, env(safe-area-inset-left));border-bottom:1px solid var(--line-soft);background:color-mix(in srgb, var(--bg) 84%, transparent);flex-shrink:0;align-items:center;gap:12px;display:flex;position:relative}@media (max-width:640px){.ns-topbar{height:52px;padding:0 max(12px, env(safe-area-inset-right)) 0 max(12px, env(safe-area-inset-left))}}.ns-back{border:1px solid var(--line);background:var(--surface);height:34px;color:var(--ink-dim);font-family:var(--font-ui);cursor:pointer;border-radius:9px;flex-shrink:0;align-items:center;gap:6px;padding:0 12px 0 9px;font-size:.8rem;font-weight:500;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.ns-back:hover{background:var(--surface-2);color:var(--ink);border-color:var(--brass-dim)}@media (max-width:640px){.ns-back{padding:0 8px 0 7px}.ns-back .ns-back-label{display:none}}.ns-desktop-only{display:initial}@media (max-width:640px){.ns-desktop-only{display:none!important}}.ns-saved-pill{border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface);font-family:var(--font-ui);color:var(--ink-dim);white-space:nowrap;align-items:center;gap:6px;padding:4px 10px;font-size:.69rem;font-weight:500;display:inline-flex}.ns-saved-pill:before{content:"";background:var(--success);border-radius:50%;flex-shrink:0;width:6px;height:6px}.ns-game{z-index:1;flex-direction:column;flex:1;min-height:0;padding-bottom:0;display:flex;position:relative}.ns-room--scroll .ns-game{flex:none;min-height:auto}.ns-menu-scrim{z-index:44;cursor:default;background:0 0;border:none;position:fixed;inset:0}.ns-menu{background:color-mix(in srgb, var(--surface) 86%, transparent);-webkit-backdrop-filter:blur(22px)saturate(1.4);backdrop-filter:blur(22px)saturate(1.4);border:1px solid var(--line);z-index:45;border-radius:16px;width:262px;padding:6px 0;animation:.18s ns-fade;position:absolute;top:calc(100% + 6px);right:20px;overflow:hidden;box-shadow:0 12px 40px #00000080}@media (max-width:640px){.ns-menu{right:12px}}.ns-menu-label{font-family:var(--font-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--brass-bright);text-overflow:ellipsis;white-space:nowrap;padding:10px 18px 8px;font-size:.63rem;font-weight:800;overflow:hidden}.ns-menu-item{text-align:left;width:100%;min-height:48px;color:var(--ink);font-family:var(--font-ui);letter-spacing:.01em;cursor:pointer;background:0 0;border:none;align-items:center;gap:13px;padding:0 18px;font-size:.88rem;font-weight:500;display:flex}.ns-menu-item:hover{background:var(--surface-2)}.ns-menu-item:disabled{opacity:.45;cursor:default}.ns-menu-sep{background:linear-gradient(90deg, transparent, var(--line), transparent);height:1px;margin:5px 16px}.ns-auth{min-height:100dvh;display:flex}.ns-auth-art{background:linear-gradient(158deg,#0a0c17 0%,#06080f 60%,#04060e 100%);flex:0 0 46%;position:relative;overflow:hidden}.ns-auth-form{flex:1;justify-content:center;align-items:center;padding:56px;display:flex}.ns-auth-form>div{width:100%;max-width:372px}.ns-auth-hero-wrap{z-index:3;position:absolute;top:50%;left:34px;right:34px;transform:translateY(-58%)}.ns-auth-hero{font-family:var(--font-serif);letter-spacing:-.01em;color:#f4eeda;max-width:9em;font-size:38px;font-weight:600;line-height:1.14}.ns-auth-shelf{z-index:2;justify-content:center;align-items:flex-end;gap:11px;height:236px;padding:0 26px;display:flex;position:absolute;bottom:0;left:0;right:0}@media (max-width:840px){.ns-auth{flex-direction:column}.ns-auth-art{flex:none;min-height:230px}.ns-auth-form{padding:34px 24px 48px}.ns-auth-hero-wrap{top:58%}.ns-auth-hero{font-size:30px}.ns-auth-shelf{transform-origin:bottom;opacity:.55;height:150px;transform:scale(.62)}}.ns-shelf-card{transition:transform .15s;display:block}@media (hover:hover){.ns-shelf-card:hover{transform:translateY(-3px)}}.ns-title{letter-spacing:-.01em;color:var(--ink-heading);font-size:1.35rem;font-weight:600}.ns-wordmark{font-family:var(--font-serif);color:var(--ink-heading);letter-spacing:0;white-space:nowrap;align-items:center;gap:9px;font-size:1.25rem;font-weight:700;display:inline-flex}.ns-wordmark:before{content:"";background:var(--brass);width:8px;height:8px;box-shadow:0 0 10px var(--glow);border-radius:50%;flex-shrink:0}@media (max-width:640px){.ns-wordmark{font-size:1.0625rem}}.ns-label{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint);font-size:.68rem;font-weight:600;font-family:var(--font-ui)}.ns-muted{color:var(--ink-dim)}.ns-faint{color:var(--ink-faint)}.ns-link{color:var(--brass);cursor:pointer}.ns-link:hover{color:var(--brass-bright);text-underline-offset:3px;text-decoration:underline}.ns-prose{color:var(--ink);font-size:1.125rem;line-height:1.72}@media (max-width:640px){.ns-prose{font-size:1.03rem}}.ns-btn{border:1px solid var(--line-strong);background:var(--surface);min-height:44px;color:var(--ink);font-family:var(--font-ui);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:11px;justify-content:center;align-items:center;gap:.4rem;padding:.55rem 1.1rem;font-size:.94rem;font-weight:500;transition:background .15s,border-color .15s,transform 60ms;display:inline-flex}.ns-btn:hover{background:var(--surface-2);border-color:var(--line-strong)}.ns-btn:active{transform:scale(.98)}.ns-btn:disabled{opacity:.45;cursor:default;transform:none}.ns-btn--primary{background:var(--brass);border-color:var(--brass);color:var(--brass-ink);font-weight:600}.ns-btn--primary:hover{background:var(--brass-bright);border-color:var(--brass-bright)}.ns-btn--quiet{color:var(--ink-dim);background:0 0;border-color:#0000}.ns-btn--quiet:hover{background:var(--surface-2);color:var(--ink);border-color:#0000}.ns-btn--danger{color:var(--danger);border-color:var(--danger-line);background:0 0}.ns-btn--danger:hover{background:var(--danger-surface);border-color:var(--danger-line)}.ns-btn--sm{border-radius:var(--r-sm);min-height:36px;padding:.3rem .75rem;font-size:.85rem}.ns-input,.ns-textarea,.ns-select{border:1px solid var(--line-strong);background:var(--bg-deep);width:100%;min-height:44px;color:var(--ink);font-family:var(--font-ui);border-radius:11px;padding:.55rem .85rem;font-size:.94rem;line-height:1.5}.ns-input::placeholder,.ns-textarea::placeholder{color:var(--ink-faint)}.ns-input:focus,.ns-textarea:focus,.ns-select:focus{border-color:var(--brass);outline:none}.ns-textarea{resize:none}.ns-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1rem}.ns-chip{border:1px solid var(--line);border-radius:var(--r-pill);min-height:28px;color:var(--ink-dim);font-family:var(--font-ui);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;align-items:center;gap:.3rem;padding:.2rem .8rem;font-size:.78rem;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.ns-chip:hover{color:var(--ink);border-color:var(--line-strong)}.ns-chip--on{background:var(--brass);border-color:var(--brass);color:var(--brass-ink);font-weight:600}.ns-choice{text-align:left;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface);width:100%;color:var(--ink);font-family:var(--font-serif);cursor:pointer;-webkit-user-select:none;user-select:none;padding:.7rem .95rem;font-size:1.03rem;line-height:1.4;transition:background .15s,border-color .15s,transform 60ms;display:block}.ns-choice:hover{background:var(--surface-2);border-color:var(--brass-dim)}.ns-choice:active{background:var(--surface-2);transform:scale(.985)}.ns-choice:disabled{opacity:.45;cursor:default;transform:none}.ns-banner-error{border:1px solid var(--danger-line);border-radius:var(--r-md);background:var(--danger-surface);color:var(--danger);white-space:pre-wrap;padding:.7rem .95rem;font-size:.92rem;line-height:1.55}.ns-empty{border:1px dashed var(--line-strong);border-radius:var(--r-md);color:var(--ink-faint);text-align:center;padding:1.1rem .95rem;font-size:.95rem;font-style:italic}.ns-overlay{z-index:40;cursor:pointer;background:#06070c99;border:none;animation:.18s ns-fade;position:fixed;inset:0}.ns-drawer{background:var(--surface);border-left:1px solid var(--line);width:min(360px,92vw);box-shadow:var(--shadow-2);z-index:41;padding:1.1rem 1.1rem max(1.1rem, env(safe-area-inset-bottom));animation:.22s ns-slide-in;position:fixed;top:0;bottom:0;right:0;overflow-y:auto}.ns-modal{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);width:min(400px,94vw);max-height:82vh;box-shadow:var(--shadow-2);z-index:50;padding:1.25rem;animation:.2s ns-fade-up;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}@media (max-width:640px){.ns-drawer{border-left:none;border-top:1px solid var(--line-strong);border-radius:var(--r-lg) var(--r-lg) 0 0;width:auto;max-height:84dvh;animation:.24s ns-slide-up;inset:auto 0 0}.ns-modal{border-radius:var(--r-lg) var(--r-lg) 0 0;border-bottom:none;border-left:none;border-right:none;width:auto;max-height:84dvh;animation:.24s ns-slide-up;inset:auto 0 0;transform:none}}.ns-scroll{scrollbar-width:thin;scrollbar-color:var(--surface-2) transparent}.ns-scroll::-webkit-scrollbar{width:8px}.ns-scroll::-webkit-scrollbar-thumb{background:var(--surface-2);border-radius:4px}.ns-scroll::-webkit-scrollbar-track{background:0 0}.ns-typing{animation:1.4s ease-in-out infinite ns-pulse}@keyframes ns-pulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes ns-fade{0%{opacity:0}to{opacity:1}}@keyframes ns-fade-up{0%{opacity:0;transform:translate(-50%,calc(12px - 50%))}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes ns-slide-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes ns-slide-up{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.ns-overlay,.ns-drawer,.ns-modal{animation:none}}
