:root{--paper:#0b0c0f;--card:#14161a;--ink:#f2f1ec;--ink-2:#c9c9c2;--dim:#9d9d96;--faint:#7c7c76;--rule:#ffffff1a;--rule-2:#ffffff29;--accent:#c8f169;--accent-ink:#c8f169;--on-accent:#0b0c0f;--accent-wash:#c8f1691f;--glass:#ffffff0f;--error:#ff9a8a;--error-wash:#ff9a8a29;--warn-wash:#ffcf6b1f;--warn-rule:#ffcf6b66;--warn-ink:#ffcf6b;--night:#090a0c;--night-rule:#ffffff1f;--night-fg:#f2f1ec;--night-dim:#9d9d96;--night-accent:#c8f169;--f-body:"Space Grotesk", "IBM Plex Sans Thai", "Helvetica Neue", Arial, sans-serif;--f-mono:"JetBrains Mono", ui-monospace, Menlo, monospace;--f-px:"Press Start 2P", "JetBrains Mono", monospace;--r:12px;--r-lg:18px;--pill:999px;--col:440px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:var(--paper);color:var(--ink);font-family:var(--f-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-size:15px;line-height:1.55}#root{min-height:100dvh}a{color:var(--accent-ink)}button,input,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.page{min-height:100dvh;max-width:var(--col);padding:max(20px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));flex-direction:column;margin:0 auto;display:flex}.topbar{min-height:44px;font-family:var(--f-mono);letter-spacing:.08em;color:var(--dim);justify-content:space-between;align-items:center;gap:8px;font-size:11px;display:flex}.topbar-right{align-items:center;gap:8px;display:flex}.brand{align-items:baseline;gap:6px;display:flex}.brand-name{font-family:var(--f-body);letter-spacing:-.02em;color:var(--ink);font-size:22px;font-weight:700}.brand-by{font-family:var(--f-mono);letter-spacing:.02em;color:var(--dim);font-size:11px}.topbar a{color:var(--dim);text-decoration:none}.rule{background:var(--rule-2);height:1px;margin-top:6px}.label{font-family:var(--f-mono);letter-spacing:.08em;color:var(--dim);text-transform:uppercase;font-size:11px}h1{letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:34px;font-weight:600;line-height:1.1}.h1-sm{font-size:26px}.muted{color:var(--dim)}.footer{border-top:1px solid var(--rule);font-family:var(--f-mono);letter-spacing:.06em;grid-template-columns:1fr auto 1fr;align-items:center;margin-top:auto;font-size:11px;display:grid}.footer.center{border-top:0}.footer>:first-child{justify-self:start}.footer>:nth-child(3){justify-self:end}.version-tag{letter-spacing:.14em;color:var(--dim);opacity:.85;white-space:nowrap;flex-direction:column;align-items:center;gap:5px;font-size:10px;line-height:1.3;display:flex}.version-tag .ver{align-items:center;gap:8px;display:inline-flex}.version-tag i{background:var(--accent);border-radius:50%;width:6px;height:6px}@media (width>=760px){.version-tag{flex-direction:row;gap:8px}.version-tag>span:first-child:after{content:" ·"}}.footer a,.footer button{color:var(--dim);align-items:center;min-height:44px;display:flex}.footer .plain{text-decoration:none}.linkish{cursor:pointer;color:var(--dim);background:0 0;border:0;padding:0;text-decoration:none}.lang{background:var(--glass);border-radius:var(--pill);padding:3px;display:flex}.lang button{border-radius:var(--pill);min-width:40px;min-height:30px;color:var(--dim);font-family:var(--f-mono);letter-spacing:.08em;cursor:pointer;background:0 0;border:0;padding:0 11px;font-size:11px}.lang button[aria-pressed=true]{background:var(--ink);color:var(--paper);font-weight:500}.vinyl{aspect-ratio:1;background:repeating-radial-gradient(circle,#121317 0 1.5px,#1b1d22 1.5px 3px);border:1px solid #ffffff14;border-radius:50%;flex:none;justify-content:center;align-items:center;width:220px;animation:14s linear infinite spin;display:flex;position:relative}.vinyl:after{content:"";pointer-events:none;background:conic-gradient(from 20deg, transparent 0 18%, #ffffff17 24%, transparent 30% 68%, #ffffff17 74%, transparent 80%);border-radius:50%;position:absolute;inset:0}.vinyl-label{z-index:1;aspect-ratio:1;background:var(--accent);border-radius:50%;justify-content:center;align-items:center;width:35%;display:flex;position:relative}.vinyl-label.art{background-position:50%;background-size:cover;width:46%}.vinyl-hole{background:var(--paper);border-radius:50%;width:6px;height:6px}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.vinyl{animation:none}}.countdown{background:var(--card);border:1px solid var(--rule-2);border-radius:var(--r-lg);flex-direction:column;align-items:center;gap:4px;margin:18px auto 0;padding:14px 22px;display:flex}.countdown strong{font-family:var(--f-mono);font-variant-numeric:tabular-nums;font-size:40px;font-weight:500;line-height:1}.code-row{grid-template-columns:repeat(4,minmax(0,62px));justify-content:center;gap:10px;margin-top:24px;display:grid}.code-row input{text-align:center;border:1px solid var(--rule-2);background:var(--glass);width:100%;height:72px;font-family:var(--f-mono);color:var(--ink);caret-color:var(--accent);border-radius:16px;outline:none;font-size:28px}.code-row input.filled{border-color:var(--dim)}.code-row input:focus{border:1.5px solid var(--accent)}.code-row.error input{border-color:var(--error);background:var(--error-wash);color:var(--error)}.code-row.shake{animation:.35s shake}@keyframes shake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}@media (prefers-reduced-motion:reduce){.code-row.shake{animation:none}}.msg{color:var(--dim);margin:14px 0 0;font-size:13px;line-height:1.5}.msg.err{color:var(--error)}.btn{border:1px solid var(--accent);border-radius:var(--pill);cursor:pointer;background:var(--accent);min-height:48px;color:var(--on-accent);justify-content:center;align-items:center;gap:8px;padding:0 22px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.btn.block{width:100%;display:flex}.btn.ghost{color:var(--ink);background:0 0;border:1px solid #ffffff38;font-weight:500}.btn.danger{color:var(--error);background:0 0;border-color:#ff9a8a73}.btn.sm{min-height:40px;padding:0 14px;font-size:13px}.btn:disabled{opacity:.5;cursor:default}.icon-btn{cursor:pointer;width:40px;height:40px;color:var(--ink-2);background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.icon-btn.danger{color:var(--error)}.field{flex-direction:column;gap:6px;display:flex}.field>span{color:var(--ink-2);font-size:13px}.field>span.label{letter-spacing:.1em;color:var(--dim);font-size:11px}.input{border:1px solid var(--rule-2);border-radius:var(--r);background:var(--glass);width:100%;height:48px;color:var(--ink);padding:0 12px;font-size:15px}.input::placeholder{color:#8c8c86}textarea.input{resize:vertical;height:auto;min-height:72px;padding:10px 12px}.input.mono{font-family:var(--f-mono);font-size:13px}.input.bad{border-color:var(--error)}.note{color:var(--dim);font-size:12px}.note.err{color:var(--error)}.note.ok{color:var(--accent-ink)}.sheet-backdrop{z-index:20;background:#050607b8;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{width:100%;max-width:var(--col);background:var(--card);border:1px solid var(--rule-2);max-height:92dvh;padding:10px 24px max(28px, env(safe-area-inset-bottom));border-bottom:0;border-radius:24px 24px 0 0;flex-direction:column;animation:.2s ease-out rise;display:flex;overflow-y:auto}.sheet-grip{background:#ffffff38;border-radius:2px;align-self:center;width:36px;height:4px}.sheet p{margin:20px 0 0;font-size:17px;line-height:1.5}@keyframes rise{0%{opacity:0;transform:translateY(30px)}}@media (prefers-reduced-motion:reduce){.sheet{animation:none}}.pl-head{text-align:center;flex-direction:column;align-items:center;gap:20px;margin-top:16px;display:flex}.pl-head>div:last-child{flex-direction:column;align-items:center;gap:4px;min-width:0;display:flex}.pl-open{margin-top:18px}.pl-desc{color:var(--ink-2);white-space:pre-line;margin:12px 0 0;font-size:14px;line-height:1.6}.section-label.label{letter-spacing:.08em;margin-top:22px}.tracks{background:var(--glass);border:1px solid var(--rule-2);border-radius:var(--r-lg);margin:12px 0 0;padding:0 20px;list-style:none}.track{border-bottom:1px solid var(--rule);grid-template-columns:32px minmax(0,1fr) auto;align-items:baseline;gap:12px;padding:12px 0;display:grid}.track:last-child{border-bottom:0}.track .no,.track .len{font-family:var(--f-mono);color:var(--dim);font-variant-numeric:tabular-nums;font-size:12px}.track .name{overflow-wrap:anywhere;font-size:15px;font-weight:500}.track .artist{color:var(--dim);font-size:13px}.track.with-art{grid-template-columns:32px 40px minmax(0,1fr) auto;align-items:center}.track .art,.edit-track .art{background:var(--glass);object-fit:cover;border-radius:8px;width:40px;height:40px;display:block}.track a.name{color:inherit;text-decoration:none}.track a.name:hover{text-underline-offset:3px;text-decoration:underline}.url-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.url-row .btn{white-space:nowrap;height:100%;min-height:0;padding:0 14px}.room-link{border-bottom:1px solid var(--rule);min-height:76px;color:var(--ink);grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;text-decoration:none;display:grid}.admin{flex-direction:column;min-height:100dvh;display:flex}.admin-main{width:100%;max-width:560px;padding:max(20px, env(safe-area-inset-top)) 24px 24px;flex-direction:column;flex:1;margin:0 auto;display:flex}.admin-title{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-top:16px;display:flex}.tabbar{background:var(--night);border-top:1px solid var(--rule-2);padding-bottom:env(safe-area-inset-bottom);z-index:5;position:sticky;bottom:0}.tabbar nav{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;max-width:560px;margin:0 auto;display:grid}.tabbar a{min-height:60px;color:var(--dim);font-family:var(--f-mono);border-top:2px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:3px;margin-top:-1px;font-size:10px;text-decoration:none;display:flex}.tabbar a[aria-current=page]{color:var(--accent-ink);border-top-color:var(--accent)}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.stats>div{background:var(--glass);border:1px solid var(--rule-2);border-radius:var(--r-lg);flex-direction:column;gap:2px;padding:16px 18px;display:flex}.stats b{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:28px;font-weight:600}.stats span{color:var(--dim);font-size:12px}.chips{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.chip{border-radius:var(--pill);cursor:pointer;color:#b5b5ae;border:1px solid var(--rule-2);background:0 0;min-height:34px;padding:0 14px;font-size:13px}.chip[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.tag{font-size:10px;line-height:1.5;font-family:var(--f-mono);letter-spacing:.08em;border-radius:var(--pill);background:var(--accent);color:var(--on-accent);white-space:nowrap;padding:3px 9px;font-weight:500}.tag.bad{background:var(--error-wash);color:var(--error)}.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}.code-card{border:1px solid var(--rule-2);border-radius:var(--r-lg);background:var(--glass);padding:16px 18px 6px}.code-card.off{border-color:var(--rule);background:0 0}.code-digits{font-family:var(--f-mono);letter-spacing:.3em;font-variant-numeric:tabular-nums;margin-top:4px;font-size:36px}.code-card.off .code-digits{color:var(--faint);text-decoration:line-through}.code-foot{border-top:1px solid var(--rule);justify-content:space-between;align-items:center;gap:8px;margin-top:10px;padding-top:4px;display:flex}.switch{color:var(--dim);cursor:pointer;align-items:center;gap:8px;min-height:44px;font-size:12px;display:flex}.switch input{opacity:0;width:1px;height:1px;position:absolute}.switch .track-ui{border-radius:var(--pill);background:#ffffff29;justify-content:flex-start;width:48px;height:28px;padding:4px;display:inline-flex}.switch input:checked+.track-ui{background:var(--accent);justify-content:flex-end}.switch input:focus-visible+.track-ui{outline:2px solid var(--accent);outline-offset:2px}.switch .knob{background:var(--dim);border-radius:50%;width:20px;height:20px}.switch input:checked+.track-ui .knob{background:var(--paper)}.panel{border:1px solid var(--rule-2);border-radius:var(--r-lg);background:var(--glass);flex-direction:column;gap:12px;padding:18px;display:flex}.warn{background:var(--warn-wash);border:1px solid var(--warn-rule);color:var(--warn-ink);border-radius:14px;align-items:flex-start;gap:10px;padding:14px 16px;font-size:14px;line-height:1.5;display:flex}.rows{border-top:1px solid var(--rule);flex-direction:column;display:flex}.rows>*{border-bottom:1px solid var(--rule);min-height:48px;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border-top:0;border-left:0;border-right:0;justify-content:space-between;align-items:center;padding:0;font-size:14px;text-decoration:none;display:flex}.rows>.danger{color:var(--error)}.edit-track{border-bottom:1px solid var(--rule);grid-template-columns:24px 24px minmax(0,1fr) 36px;align-items:center;gap:8px;padding:8px 0;display:grid}.edit-track .fields{grid-template-columns:minmax(0,1fr) 64px;gap:6px;display:grid}.edit-track .fields .input{height:38px;font-size:14px}.edit-track .fields .input.wide{grid-column:1/-1}.edit-track.with-art{grid-template-columns:24px 24px 40px minmax(0,1fr) 36px}.drag{width:24px;height:44px;color:var(--faint);cursor:grab;touch-action:none;background:0 0;border:0;justify-content:center;align-items:center;display:flex}.add-row{min-height:48px;color:var(--accent-ink);cursor:pointer;background:0 0;border:0;border-bottom:1px dashed #ffffff47;align-items:center;gap:8px;padding:0;font-size:14px;font-weight:500;display:flex}.add-row:disabled{opacity:.4;cursor:default}.confirm{color:var(--ink-2);flex-direction:column;gap:10px;padding:10px 0 6px;font-size:13px;display:flex}.confirm .actions{gap:8px;display:flex}.toast{background:var(--ink);color:var(--paper);border-radius:var(--pill);z-index:30;padding:10px 18px;font-size:13px;position:fixed;bottom:84px;left:50%;transform:translate(-50%)}.night{background:var(--night);color:var(--night-fg);min-height:100dvh}.night .page{color:var(--night-fg)}.night .topbar,.night .topbar a,.night .label,.night .muted,.night .footer a{color:var(--night-dim)}.night .rule{background:var(--night-rule)}.pw{border:1px solid var(--rule-2);border-radius:var(--r);background:var(--glass);align-items:center;display:flex}.pw:focus-within{border-color:var(--accent)}.pw input{min-width:0;height:52px;color:var(--night-fg);background:0 0;border:0;outline:none;flex:1;padding:0 14px;font-size:18px}.pw button{width:48px;height:52px;color:var(--night-dim);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:flex}.btn.night-accent{background:var(--night-accent);color:var(--on-accent);min-height:52px;font-weight:600}.night-note{border-top:1px solid var(--night-rule);color:var(--night-dim);align-items:flex-start;gap:10px;margin-top:auto;padding-top:14px;font-size:12px;line-height:1.5;display:flex}.center-msg{color:var(--dim);margin:auto;font-size:14px}.tagline{font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim);text-wrap:balance;margin-top:2px;font-size:11px}.mood-stamp{border-radius:var(--pill);max-width:100%;min-height:40px;color:var(--ink);background:0 0;border:1px solid #ffffff24;align-items:center;gap:10px;margin-top:16px;padding:0 14px;text-decoration:none;display:inline-flex}.mood-stamp .emoji{font-size:16px;line-height:1}.mood-stamp .text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;overflow:hidden}.mood-stamp svg{color:var(--dim);flex:none}.sheet .intro{color:var(--ink-2);margin:14px 0 0;font-size:15px;line-height:1.5}.segment{background:var(--glass);border-radius:var(--pill);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px;padding:4px;display:grid}.segment>*{border-radius:var(--pill);min-height:44px;color:var(--dim);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.segment>[aria-pressed=true],.segment>[aria-current=page]{background:var(--ink);color:var(--paper)}.segment .count{font-family:var(--f-mono);font-size:12px}.sheet .field{margin-top:14px}.sheet .foot-note{color:var(--dim);align-items:center;gap:8px;margin-top:12px;font-size:12px;line-height:1.5;display:flex}.sheet .count-note{font-family:var(--f-mono);color:var(--dim);align-self:flex-end;font-size:11px}.sent{text-align:center;color:var(--accent-ink);flex-direction:column;align-items:center;gap:10px;margin-top:32px;display:flex}.sent h2{letter-spacing:-.02em;color:var(--ink);margin:0;font-size:26px;font-weight:600}.sent p{color:var(--ink-2);margin:0;font-size:15px}.mood-card{border:1px solid var(--rule-2);border-radius:var(--r-lg);background:var(--glass);align-items:center;gap:14px;margin-top:16px;padding:16px;display:flex}.mood-card .stamp{border:1px solid var(--rule-2);border-radius:14px;flex:none;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;line-height:1;display:flex;overflow:hidden}.mood-card .stamp.text-only{font-size:12px;font-family:var(--f-mono)}.mood-card .info{flex-direction:column;gap:2px;min-width:0;display:flex}.mood-card .info strong{overflow-wrap:anywhere;font-size:16px;font-weight:600}.now-head{flex-direction:column;gap:4px;margin-top:20px;display:flex}.now-post{background:var(--glass);border:1px solid var(--rule-2);border-radius:var(--r-lg);flex-direction:column;gap:8px;margin-top:12px;padding:18px 20px;display:flex}.now-post p{white-space:pre-line;overflow-wrap:anywhere;margin:0;font-size:17px;line-height:1.5}.now-post img{object-fit:cover;border-radius:var(--r-lg);background:var(--glass);width:100%;max-height:360px;display:block}.teaser{border-radius:var(--r-lg);color:var(--ink-2);border:1px dashed #ffffff47;align-items:center;gap:10px;margin-top:14px;padding:16px 18px;font-size:13px;line-height:1.5;display:flex}.teaser svg{color:var(--dim);flex:none}.teaser a{white-space:nowrap;align-items:center;min-height:44px;margin-left:auto;font-size:13px;font-weight:500;text-decoration:none;display:flex}.card{border:1px solid var(--rule-2);border-radius:var(--r-lg);background:var(--glass);padding:16px 18px 4px}.card.read{border-color:var(--rule);background:0 0}.card .meta{color:var(--dim);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.card .sender{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.card .sender .mono{color:var(--dim);font-size:11px}.card .text{white-space:pre-line;overflow-wrap:anywhere;margin:6px 0 0;font-size:15px;line-height:1.5}.card.read .text{color:var(--ink-2)}.card .actions{border-top:1px solid var(--rule);justify-content:flex-end;gap:2px;margin-top:10px;padding-top:2px;display:flex}.card .actions .icon-btn{width:44px;height:44px}.tag.neutral{color:#c9c9c2;background:#ffffff1a}.tag.amber{background:var(--warn-wash);color:var(--warn-ink)}.song-row{align-items:center;gap:10px;margin-top:8px;display:flex}.song-row .art{background:var(--glass);width:40px;height:40px;color:var(--ink-2);border-radius:10px;flex:none;justify-content:center;align-items:center;display:flex}.song-row .title{flex-direction:column;flex:1;min-width:0;display:flex}.song-row .title strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.song-row .title .mono{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.btn.outline{color:var(--ink);border:1px solid var(--rule-2);background:0 0;min-height:44px;padding:0 16px;font-size:13px;font-weight:500}.mood-live{border:1px solid var(--rule-2);border-radius:var(--r-lg);background:var(--glass);padding:16px 18px}.mood-live .row{align-items:center;gap:12px;display:flex}.mood-live .stamp{border:1px solid var(--rule-2);border-radius:var(--r);flex:none;justify-content:center;align-items:center;width:52px;height:52px;font-size:26px;line-height:1;display:flex;overflow:hidden}.mood-live .stamp.text-only{font-size:12px;font-family:var(--f-mono)}.mood-live .info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.mood-live .info strong{overflow-wrap:anywhere;font-size:16px;font-weight:600}.bar{border-radius:var(--pill);background:#ffffff1f;height:6px;margin-top:12px;overflow:hidden}.bar>div{background:var(--accent);height:6px}.picks{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;display:grid}.picks button{border:1px solid var(--rule-2);background:var(--glass);cursor:pointer;border-radius:14px;height:48px;font-size:20px}.picks button:active{background:#ffffff24}.seg-sm{background:var(--glass);border-radius:var(--pill);padding:4px;display:flex}.seg-sm button{border-radius:var(--pill);min-width:96px;min-height:44px;color:var(--dim);cursor:pointer;background:0 0;border:0;padding:0 14px;font-size:13px;font-weight:500}.seg-sm button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.hist-row{border-bottom:1px solid var(--rule);grid-template-columns:32px minmax(0,1fr) auto 44px;align-items:center;gap:10px;min-height:52px;display:grid}.hist-row .e{font-size:20px;line-height:1}.hist-row .t{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.section-label{font-family:var(--f-mono);letter-spacing:.1em;color:var(--dim);border-bottom:1px solid var(--rule-2);padding-bottom:8px;font-size:11px}.areas{flex-direction:column;display:flex}.area{border-bottom:1px solid var(--rule);grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:64px;padding:8px 0;display:grid}.area .n{font-family:var(--f-mono);color:var(--dim);font-size:12px}.area .txt{flex-direction:column;gap:2px;min-width:0;display:flex}.area .t{font-size:15px;font-weight:600}.area .s{color:var(--dim);font-size:13px}.area.off .t{color:var(--ink-2)}.area .seg-sm button{min-width:84px}@media (width<=759px){.area{grid-template-columns:28px minmax(0,1fr)}.area .seg-sm{grid-column:2}.area .seg-sm button{flex:1;min-width:0}}.photo-btn{border-radius:var(--pill);min-height:44px;color:var(--accent-ink);cursor:pointer;background:0 0;border:1px dashed #ffffff47;align-items:center;gap:8px;padding:0 14px;font-size:14px;font-weight:500;display:inline-flex}.photo-preview{align-items:center;gap:10px;display:flex}.photo-preview img{object-fit:cover;background:var(--glass);border-radius:12px;width:56px;height:56px}.admin-post{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:12px 0 4px;display:grid}.admin-post .main{flex-direction:column;gap:4px;min-width:0;display:flex}.admin-post .thumb{object-fit:cover;background:var(--glass);border-radius:12px;width:56px;height:56px}.admin-post .body{white-space:pre-line;overflow-wrap:anywhere;font-size:14px;line-height:1.5}.admin-post .tools{margin-left:-12px;display:flex}.admin-post .tools .icon-btn{width:44px;height:44px}.topbar .back{min-height:44px;color:var(--dim);align-items:center;gap:8px;text-decoration:none;display:flex}.topbar .back b{color:var(--ink);font-weight:400}.topnav{min-height:44px;font-family:var(--f-mono);letter-spacing:.08em;align-items:center;font-size:11px;text-decoration:none;display:flex;color:var(--dim)!important}.mood-stamp .dot{background:var(--accent);border-radius:50%;flex:none;width:6px;height:6px}.mood-stamp{align-self:flex-start}.footer{padding-top:4px}.stage{flex-direction:column;padding-bottom:20px;display:flex}.stage .side{display:contents}.stage .scene{width:auto;margin:12px calc(-1 * max(24px, env(safe-area-inset-right))) 0 calc(-1 * max(24px, env(safe-area-inset-left)));border-width:1px 0;border-radius:0;order:-1}.room-head{margin-top:18px}.room-head h1{margin-top:6px;font-size:28px}.room-head .msg{margin-top:10px;font-size:14px}.stage .mood-stamp{order:1;margin-top:14px}.rooms{border-top:1px solid var(--rule-2);order:2;margin-top:12px}.room-lock{order:3;align-self:flex-start;margin-top:16px}.rooms .room-link{border:0;border-bottom:1px solid var(--rule);text-align:left;cursor:pointer;background:0 0;grid-template-columns:32px minmax(0,1fr) auto;width:100%;min-height:64px;padding:0}.room-link .t{font-size:16px;font-weight:600;display:block}.room-link .s{color:var(--dim);font-size:13px;display:block}.room-link .n{font-family:var(--f-mono);color:var(--dim);font-size:12px}.room-link svg{color:var(--dim)}.room-link.off .t{color:var(--ink-2)}.hint{font-family:var(--f-mono);letter-spacing:.08em;color:var(--dim);text-transform:uppercase;margin:14px 0 0;font-size:11px}.desk-only{display:none}.scene{aspect-ratio:1920/1438;border:1px solid var(--rule-2);border-radius:var(--r-lg);background:var(--paper);cursor:pointer;touch-action:manipulation;width:100%;position:relative;overflow:hidden}.scene .art{width:100%;height:100%;image-rendering:pixelated;opacity:0;display:block}.scene.ready .art{opacity:1}.scene-loading{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.walker{aspect-ratio:26/48;pointer-events:none;z-index:1;visibility:hidden;height:20.9%;image-rendering:pixelated;background:url(/assets/sprite.png) 0 0/400% 400% no-repeat;position:absolute;transform:translate(-50%,-100%)}.scene.ready .walker{visibility:visible}.hs{z-index:2;left:calc(var(--l) + var(--w) / 2);top:calc(var(--t) - 18px);width:max(var(--w), 44px);height:max(calc(var(--h) + 18px), 44px);cursor:pointer;background:0 0;border:2px solid #0000;border-radius:4px;justify-content:center;align-items:flex-start;padding:0;text-decoration:none;display:flex;position:absolute;transform:translate(-50%)}.px-tag,.pin{font-family:var(--f-px);background:var(--paper);color:var(--accent);border:2px solid var(--accent);white-space:nowrap;pointer-events:none;font-size:9px;line-height:1}.px-tag{align-items:center;gap:6px;padding:6px 7px;display:none;position:absolute;bottom:calc(100% + 6px);left:0}.px-tag.right{left:auto;right:8px}.pin{justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 4px;display:flex}.px-tag.dim,.pin.dim{color:var(--dim);border-color:var(--dim)}.hud{z-index:3;pointer-events:none;font-family:var(--f-mono);letter-spacing:.08em;color:var(--ink-2);border:1px solid var(--rule-2);border-radius:var(--pill);background:#0b0c0fd1;padding:6px 12px;font-size:11px;display:none;position:absolute;bottom:12px;left:12px}.code-sheet h2{letter-spacing:-.02em;text-wrap:balance;margin:14px 0 0;font-size:26px;font-weight:600;line-height:1.15}.code-sheet .code-row{margin-top:22px}.code-sheet .msg{text-align:center}@media (width>=760px){.page.wide{max-width:1120px;padding-left:32px;padding-right:32px}.stage{flex:1;grid-template-columns:320px minmax(0,1fr);align-items:center;gap:48px;margin-top:8px;display:grid}.stage .side{flex-direction:column;display:flex}.stage .scene{border-radius:var(--r-lg);border-width:1px;order:0;width:100%;margin:0}.stage .mood-stamp{margin-top:0;margin-bottom:22px}.room-head{margin-top:0}.room-head h1{letter-spacing:-.035em;font-size:48px;line-height:1.05}.rooms{margin-top:18px}.stage .side>*{order:0}}@media (width>=760px) and (hover:hover) and (pointer:fine){.desk-only{display:block}.touch-only{display:none}.hud{display:block}}@media (width>=1100px) and (hover:hover) and (pointer:fine){.hs{left:var(--l);top:var(--t);width:var(--w);height:var(--h);transform:none}.hs:hover,.hs:focus-visible{border-color:var(--accent);background:#c8f16914}.hs .pin{display:none}.px-tag{display:inline-flex}}.list-card{background:var(--glass);border:1px solid var(--rule-2);border-radius:var(--r-lg);margin-top:6px;padding:0 18px}.tabbar .side-brand{display:none}@media (width>=760px){.now-head h1{letter-spacing:-.035em;font-size:72px;line-height:1.04}.now-head .muted{font-size:18px!important}.mood-card{padding:22px 24px}.mood-card .stamp{width:56px;height:56px;font-size:28px}.mood-card .info strong{letter-spacing:-.02em;font-size:30px}.now-post{padding:22px 24px}.now-post p{font-size:19px}.pl-head,.pl-head>div:last-child{text-align:left}.pl-head{grid-template-columns:300px minmax(0,1fr);align-items:center;gap:48px;padding:16px 0 12px;display:grid}.pl-head>div:last-child{align-items:flex-start}.pl-head .vinyl{width:300px}.pl-head h1{font-size:44px}.tracks{padding:0 24px}.admin{grid-template-columns:240px minmax(0,1fr);display:grid}.admin-main{max-width:1040px;margin:0 auto;padding:32px 40px}.admin-main>.topbar .back{display:none}.admin-main>.topbar{justify-content:flex-end}.admin-main>.rule{display:none}.admin-title{margin-top:0}.admin-title h1{font-size:34px}.tabbar{border-top:0;border-right:1px solid var(--rule);order:-1;height:100dvh;padding:24px 16px;position:sticky;top:0}.tabbar nav{flex-direction:column;gap:4px;max-width:none;display:flex}.tabbar .side-brand{min-height:0;font-family:var(--f-mono);letter-spacing:.08em;color:var(--ink);flex-direction:column;align-items:flex-start;gap:4px;padding:4px 14px 20px;font-size:12px;text-decoration:none;display:flex}.tabbar a{border-radius:var(--r);min-height:44px;font-family:var(--f-body);border-top:0;flex-direction:row;justify-content:flex-start;gap:12px;margin-top:0;padding:0 14px;font-size:15px}.tabbar a[aria-current=page]{background:var(--accent-wash)}.toast{bottom:32px}}.admin .segment{width:max-content;min-width:min(320px,100%);max-width:100%}.vrow{border-top:1px solid var(--rule);grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1.1fr) minmax(0,1.2fr) minmax(0,.9fr) 72px;align-items:start;gap:16px;padding:16px 0;font-size:14px;display:grid}.vrow.vh{font-family:var(--f-mono);letter-spacing:.1em;color:var(--dim);text-transform:uppercase;border-top:0;padding:18px 0 8px;font-size:10px}.vrow .cl{font-family:var(--f-mono);letter-spacing:.1em;color:var(--dim);text-transform:uppercase;margin-bottom:2px;font-size:10px;display:none}.nav-count{font-style:normal;font-family:var(--f-mono);background:var(--accent);color:var(--on-accent);border-radius:var(--pill);margin-left:auto;padding:1px 7px;font-size:10px}@media (width<=759px){.vrow{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.vrow.vh{display:none}.vrow .cl{display:block}.tabbar a{position:relative}.nav-count{margin:0;position:absolute;top:6px;left:54%}}
