:root{--bg:#0e1114;--bg-raised:#161b20;--bg-panel:#1b2228;--line:#2a333c;--text:#e8edf2;--muted:#93a0ad;--live:#e23d2c;--live-dim:rgba(226,61,44,0.16);--ok:#3dba84;--warn:#d7a23a;--danger:#e23d2c;--focus:#7ab4d8;--radius:14px;--shadow:0 18px 40px rgba(0,0,0,0.28);font-family:Segoe UI,IBM Plex Sans,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);min-height:100%}html.theater-mode,html.theater-mode body,html:has(.page.watch),html:has(.page.watch) body{height:100%;overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}.shell{min-height:100vh;display:flex;flex-direction:column}.shell:has(.page.popout-chat),.shell:has(.page.watch),html.theater-mode .shell{height:100dvh;min-height:100dvh;max-height:100dvh;overflow:hidden}html:has(.page.popout-chat),html:has(.page.popout-chat) body{height:100%;overflow:hidden}html:has(.page.popout-chat) .topbar{display:none}.page.popout-chat{flex:1 1;min-height:0;width:100%;max-width:none;margin:0;padding:0;display:flex}.page.popout-chat .chat{flex:1 1;height:100%;max-height:none;border:0;border-radius:0;box-shadow:none}.topbar{display:flex;align-items:center;gap:16px;padding:14px 20px;border-bottom:1px solid var(--line);background:rgba(14,17,20,.92);position:-webkit-sticky;position:sticky;top:0;z-index:10;flex-shrink:0}.brand{font-weight:700;letter-spacing:.04em;flex-shrink:0}.nav{display:flex;gap:14px;align-items:center;color:var(--muted);flex-wrap:wrap;margin-left:auto}.nav a:hover,.nav button.link:hover{color:var(--text)}button.link{background:none;border:0;color:var(--muted);padding:0}.nav-more{display:none}@media (max-width:900px){.topbar{flex-wrap:nowrap;gap:8px;padding:8px 10px;min-height:48px}.lang-switch{margin-left:auto;flex-shrink:0}.lang-switch button{padding:4px 8px}.nav{flex-wrap:nowrap;flex:0 0 auto;margin-left:0;gap:8px}.nav-desktop,.nav-watch{display:none}.nav-login{display:inline;font-weight:650;color:var(--text)}.nav-name{display:none}.nav-more{display:block;position:relative}.nav-more-btn{display:grid;place-items:center;width:40px;height:40px;margin:0;padding:0;border:0;border-radius:10px;background:transparent;color:var(--text)}.nav-more-btn svg{width:20px;height:20px;display:block}.nav-more-btn:hover,.nav-more-btn[aria-expanded=true]{background:#2a333c}.nav-more-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:20;min-width:168px;background:var(--bg-raised);border:1px solid var(--line);border-radius:10px;padding:6px;box-shadow:var(--shadow);display:grid;grid-gap:2px;gap:2px}.nav-more-menu a,.nav-more-menu button{display:block;width:100%;background:transparent;border:0;color:var(--text);text-align:left;padding:10px;border-radius:8px;font-size:.92rem}.nav-more-menu a:hover,.nav-more-menu button:hover{background:#2a333c}}.lang-switch{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}.lang-switch button{background:transparent;border:0;color:var(--muted);padding:4px 10px;font-size:.72rem;font-weight:700;letter-spacing:.04em}.lang-switch button.active{background:#2a333c;color:var(--text)}.page{width:min(1280px,calc(100% - 24px));margin:0 auto;padding:20px 0 40px}.page.watch{width:100%;max-width:none;margin:0;padding:12px 16px 16px;flex:1 1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.stage{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-gap:16px;gap:16px;align-items:stretch;flex:1 1;min-height:0}.page.watch .player-wrap{display:flex;flex-direction:column;min-height:0;height:100%;max-height:100%;overflow-x:hidden;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.page.watch .player-wrap::-webkit-scrollbar{width:0;height:0}.page.watch .player-stage{flex:0 0 100%;display:flex;flex-direction:column;min-height:0}.page.watch .player-stage>.player{flex:1 1;min-height:0;width:100%;height:auto;aspect-ratio:auto}.page.watch .player-stage>.meta,.page.watch .stream-about{flex:0 0 auto}.page.watch .chat{min-height:0;height:100%;max-height:100%;overflow:hidden}@media (max-width:900px){html:has(.page.watch):not(.theater-mode),html:has(.page.watch):not(.theater-mode) body{height:100%;overflow:hidden}.shell:has(.page.watch){height:100dvh;max-height:100dvh;overflow:hidden}.page.watch{overflow:hidden;padding:0}.page.watch,.stage{flex:1 1;min-height:0}.stage{grid-template-columns:1fr;grid-template-rows:auto minmax(12.5rem,1fr);height:auto;gap:0}.page.watch .chat,.page.watch .player-wrap{border-radius:0;box-shadow:none;border-left:0;border-right:0}.page.watch .player-wrap{display:grid;grid-template-columns:1fr auto;position:relative;z-index:2;max-height:none;overflow:visible}.page.watch .player-stage{display:contents;min-height:0}.page.watch .player-wrap .player{grid-column:1/-1;max-height:40dvh;flex:none;width:100%;aspect-ratio:16/9}.page.watch .player-wrap .meta{grid-column:1;grid-row:2}.page.watch .chat{position:relative;z-index:1;min-height:0;height:auto;max-height:none}.page.watch .chat-compose{background:var(--bg-panel);padding-bottom:max(10px,env(safe-area-inset-bottom))}.stream-about{display:contents}.stream-about .about-toggle-mobile{grid-column:2;grid-row:2;align-self:start;margin:8px 8px 0 0}.stream-about .about-body{display:none}.stream-about.is-open .about-body{display:block;position:absolute;left:0;right:0;top:100%;z-index:3;margin:0;padding:12px 14px 16px;border-top:1px solid var(--line);background:var(--bg-panel);box-shadow:0 16px 32px rgba(0,0,0,.35);max-height:calc(100dvh - 3.25rem - 100%);overflow:auto;-webkit-mask-image:none;mask-image:none;scrollbar-width:none;-ms-overflow-style:none}.stream-about.is-open .about-body::-webkit-scrollbar{width:0;height:0}}.panel{background:var(--bg-panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);max-width:100%;min-width:0}.player-wrap{overflow:hidden}.player{position:relative;aspect-ratio:16/9;width:100%;background:#080a0c;touch-action:manipulation}.player:-webkit-full-screen{width:100%;height:100%;aspect-ratio:auto;background:#000}.player:-webkit-full-screen,.player:fullscreen{width:100%;height:100%;aspect-ratio:auto;background:#000}.player video{width:100%;height:100%;display:block;object-fit:contain;background:#000;pointer-events:none}.player-gesture{position:absolute;inset:0;z-index:3;background:rgba(0,0,0,0);touch-action:manipulation}.player-offline-bg{position:absolute;inset:0;z-index:1;overflow:hidden;background:#080a0c}.player-offline-bg img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}.player video::-webkit-media-controls-current-time-display,.player video::-webkit-media-controls-time-remaining-display,.player video::-webkit-media-controls-timeline,.player video::-webkit-media-controls-timeline-container{display:none!important}.player-controls{position:absolute;left:0;right:0;bottom:0;z-index:4;display:flex;align-items:center;gap:4px;padding:28px 10px 10px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.78));opacity:0;pointer-events:none;transition:opacity .18s ease}.player.is-controls .player-controls{opacity:1;pointer-events:auto}.player-ctrl{display:grid;place-items:center;width:36px;height:36px;margin:0;padding:0;border:0;border-radius:8px;background:transparent;color:#fff}.player-ctrl:hover:not(:disabled){background:rgba(255,255,255,.12)}.player-ctrl:disabled{opacity:.35;cursor:default}.player-ctrl[aria-pressed=true]{background:rgba(255,255,255,.16)}.player-vol{display:flex;align-items:center;gap:2px;min-width:36px}.player-volume{width:0;height:4px;margin:0;padding:0;border:0;opacity:0;transition:width .15s ease,opacity .15s ease;accent-color:#fff}.player-vol:focus-within .player-volume,.player-vol:hover .player-volume{width:76px;opacity:1}.player-controls-spacer{flex:1 1}@media (hover:none){.player-volume{width:72px;opacity:1}}.overlay{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:24px;background:linear-gradient(180deg,rgba(8,10,12,.2),rgba(8,10,12,.72));z-index:2}.overlay h2{margin:0 0 8px}.overlay p{margin:0;color:var(--muted)}.overlay.has-art{background:linear-gradient(180deg,rgba(8,10,12,.22),rgba(8,10,12,.58))}.overlay.has-art h2,.overlay.has-art p{text-shadow:0 1px 14px rgba(0,0,0,.75)}.meta{justify-content:space-between;padding:14px 16px 12px;align-items:flex-start}.meta,.meta-main{display:flex;gap:12px}.meta-main{min-width:0}.meta-main>div{min-width:0;display:grid;grid-gap:4px;gap:4px;justify-items:start}.meta-side{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-shrink:0;color:var(--muted)}.meta-stat{display:inline-flex;align-items:center;gap:6px;font-size:.92rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1}.meta-stat svg{width:16px;height:16px;display:block;flex-shrink:0}.avatar{width:44px;height:44px}.avatar,.user-avatar{border-radius:50%;display:grid;place-items:center;background:#2c3b48;color:#d7e6f2;font-weight:800;flex-shrink:0}.user-avatar{overflow:hidden;line-height:1}.user-avatar img{width:100%;height:100%;object-fit:cover;display:block}.user-avatar.xs{width:18px;height:18px;font-size:.62rem}.user-avatar.sm{width:28px;height:28px;font-size:.72rem}.user-avatar.md{width:32px;height:32px;font-size:.78rem}.user-avatar.lg{width:96px;height:96px;font-size:2rem}.user-avatar.channel{width:44px;height:44px;font-size:1.05rem}.nav-user{display:inline-flex}.nav-user,.user-cell{align-items:center;gap:8px}.user-cell{display:flex}.profile-avatar{display:grid;grid-gap:10px;gap:10px;justify-items:start;margin:0 0 16px}.color-swatches,.profile-avatar-actions{display:flex;flex-wrap:wrap;gap:8px}.color-swatches{align-items:center}.color-swatch{width:28px;height:28px;border-radius:50%;border:2px solid transparent;padding:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.25)}.color-swatch.active{border-color:var(--text)}.color-custom{width:28px;height:28px;border-radius:50%;overflow:hidden;border:2px dashed var(--line);display:grid;place-items:center}.color-custom input{width:40px;height:40px;border:0;padding:0;background:none;cursor:pointer}.form-card .name{font-weight:800}.meta h1,.meta-name{margin:0;font-size:1.15rem;overflow-wrap:anywhere}.meta-title{overflow-wrap:anywhere}.meta p,.meta-title{margin:0;color:var(--muted);font-size:.92rem}.stream-about{margin:0 16px 16px;padding-top:12px;border-top:1px solid var(--line)}.about-text{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text)}.about-body,.about-text{line-height:1.55}.about-paragraph{margin:0 0 12px;overflow-wrap:anywhere}.about-figure,.about-row{margin:0 0 16px}.about-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}.about-row-cell{width:max-content;max-width:100%;min-width:0}.about-row .about-figure,.about-row .about-paragraph{margin:0}.about-row .about-figure img,.about-row .about-image-link img{width:auto;height:auto;max-width:100%}.about-figure img,.about-image-link img,.editor-image-preview{display:block;max-width:100%;height:auto;border-radius:12px}.about-image-link{display:inline-block;max-width:100%;cursor:pointer}.about-figure figcaption{color:var(--muted);font-size:.86rem;margin-top:6px}.about-body a{color:#9ec4de;text-decoration:underline}.editor-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.editor-blocks{display:grid;grid-gap:12px;gap:12px}.editor-block{border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--bg);display:grid;grid-gap:10px;gap:10px}.editor-block.is-drop{border-color:#9ec4de;box-shadow:0 0 0 2px rgba(158,196,222,.25)}.editor-block.is-nested{background:var(--bg-panel)}.editor-row{border:1px dashed var(--line);border-radius:12px;padding:12px;display:grid;grid-gap:10px;gap:10px;background:var(--bg-raised)}.editor-row.is-drop{border-color:#9ec4de;box-shadow:0 0 0 2px rgba(158,196,222,.25)}.editor-row-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));grid-gap:10px;gap:10px;align-items:start}.editor-block-bar,.editor-row-add{display:flex;flex-wrap:wrap;gap:8px}.editor-block-bar{align-items:center}.editor-block-type{font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.editor-block-actions{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}.editor-block-actions .btn{padding:4px 8px;font-size:.78rem}.editor-drag{cursor:-webkit-grab;cursor:grab;border:0;background:transparent;color:var(--muted);font-size:1rem;letter-spacing:-2px;padding:0 4px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.editor-drag:active{cursor:-webkit-grabbing;cursor:grabbing}.editor-format{display:flex;flex-wrap:wrap;gap:6px}.editor-format .btn{padding:4px 10px;font-size:.8rem}.editor-image{display:grid;grid-gap:10px;gap:10px}.editor-image-frame{position:relative;width:-moz-fit-content;width:fit-content;max-width:100%}.editor-image-frame.is-clickable img{box-shadow:0 0 0 2px #9ec4de}.editor-clickable{position:absolute;left:10px;bottom:10px;background:rgba(10,16,22,.82);color:#d7e6f2;border-radius:999px;padding:4px 10px;font-size:.75rem;font-weight:700}.dropzone{border:1px dashed var(--line);border-radius:10px;padding:28px 12px;text-align:center;color:var(--muted)}.file-btn{display:inline-flex;width:-moz-fit-content;width:fit-content}.editor-preview{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.editor-preview h3{margin:0 0 10px;font-size:.95rem}.about-toggle{margin-top:10px;color:#9ec4de;font-weight:650}.about-toggle-mobile{display:none}@media (max-width:900px){.about-toggle-mobile{display:grid;place-items:center;width:32px;height:32px;margin:0;padding:0;border:0;border-radius:8px;background:transparent;color:var(--muted)}.about-toggle-mobile svg{width:18px;height:18px;display:block;transition:transform .15s ease}.stream-about.is-open .about-toggle-mobile svg{transform:rotate(180deg)}}html.theater-mode .stream-about{display:none}.field-hint{margin:6px 0 0;color:var(--muted);font-size:.82rem}.field textarea{min-height:180px;resize:vertical}.badge{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:5px 10px;font-size:.75rem;font-weight:700;letter-spacing:.04em}.badge.live{background:var(--live-dim);color:#ff8a7a}.badge.live:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--live);box-shadow:0 0 0 4px rgba(226,61,44,.18)}.badge.off{background:#232a31;color:var(--muted)}html.theater-mode .topbar{padding:8px 16px;flex-shrink:0}html.theater-mode .page.watch{padding:0;display:flex;flex-direction:column;min-height:0;overflow:hidden}html.theater-mode .page.watch .stage{flex:1 1;width:100%;min-height:0;height:auto;gap:0;grid-template-columns:minmax(0,1fr) 340px}html.theater-mode .player-wrap{border-radius:0;border:0;box-shadow:none;display:flex;flex-direction:column;min-height:0;height:100%;max-height:100%;overflow:hidden;background:#000}html.theater-mode .player,html.theater-mode .player-stage{flex:1 1;min-height:0;height:100%}html.theater-mode .player{aspect-ratio:auto}html.theater-mode .page.watch .meta{display:none}html.theater-mode .page.watch .chat{border-radius:0;max-height:none;min-height:0;height:100%}@media (max-width:900px){html.theater-mode .topbar{display:none}html.theater-mode .shell,html.theater-mode .shell:has(.page.watch){height:100dvh;max-height:100dvh;overflow:hidden}html.theater-mode .page.watch{overflow:hidden;flex:1 1;min-height:0}html.theater-mode .page.watch .stage{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);flex:1 1;min-height:0}html.theater-mode .page.watch .player-wrap{display:block;height:auto;max-height:none;overflow:hidden}html.theater-mode .page.watch .player-stage{display:contents;height:auto;min-height:0}html.theater-mode .page.watch .player,html.theater-mode .page.watch .player-wrap .player{flex:none;width:100%;height:auto;max-height:none;aspect-ratio:16/9}html.theater-mode .page.watch .chat{min-height:0;height:auto;max-height:none;border-top:0}}.chat{flex-direction:column;max-height:72vh}.chat,.chat-log{display:flex;min-height:0}.chat-log{flex:1 1;overflow:auto;padding:8px 0;flex-direction:column;gap:0;scrollbar-width:none;-ms-overflow-style:none;overflow-anchor:none}.chat-log-anchor{flex:1 0;min-height:0;pointer-events:none}.chat-log-content{display:flex;flex-direction:column}.chat-log::-webkit-scrollbar{width:0;height:0}.chat-item{position:relative;padding:4px 10px;border-radius:0;touch-action:manipulation}.chat-item.is-armed,.chat-item:hover{background:rgba(255,255,255,.045)}.chat-item.is-armed{z-index:6}.chat-item.system{color:var(--muted);font-size:.82rem;font-style:italic;line-height:1.4;padding:5px 12px}.chat-item .name{display:inline;color:#9ec4de;font-weight:700;margin-right:.4em;white-space:nowrap}.chat-item .name.is-admin,.name.is-admin{color:#ffb4a8}.chat-item .time{color:var(--muted);font-size:.8rem;margin-left:8px}.chat-row{display:flex;align-items:flex-start;gap:8px;position:relative}.chat-row>.user-avatar{margin-top:calc((.9375rem * 1.333 - 28px) / 2)}.chat-body,.chat-main{flex:1 1;min-width:0}.chat-body{margin:0;font-size:.9375rem;line-height:1.45}.chat-text{overflow-wrap:anywhere}.chat:not(.hide-avatars) .chat-quote{margin-left:calc(28px + 8px)}.chat-quote{font-size:.82rem;line-height:1.35;color:var(--muted);border-left:2px solid #4d6f86;padding:0 0 0 8px;margin:0 0 3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-item-menu{position:absolute;top:0;right:0;z-index:2;height:calc(.9375rem * 1.45);display:flex;align-items:center}.chat-more{opacity:0;pointer-events:none;display:inline-flex;align-items:center;justify-content:center;background:#2a333c;color:var(--text);border:0;border-radius:6px;padding:0 8px;min-height:22px;line-height:1;letter-spacing:.08em;font-size:.85rem}.chat-item.is-armed .chat-more,.chat-item:hover .chat-more,.chat-more:focus-visible{opacity:1;pointer-events:auto}@media (hover:none){.chat-item:hover{background:transparent}.chat-item.is-armed{background:rgba(255,255,255,.045)}.chat-item:hover .chat-more{opacity:0;pointer-events:none}.chat-item.is-armed .chat-more{opacity:1;pointer-events:auto;min-height:32px;min-width:36px}}.chat-menu{position:fixed;top:-9999px;right:0;z-index:40;min-width:148px;background:var(--bg-raised);border:1px solid var(--line);border-radius:8px;padding:4px;box-shadow:var(--shadow);display:grid;grid-gap:1px;gap:1px}.chat-menu button{background:transparent;border:0;color:var(--text);text-align:left;padding:8px 10px;border-radius:6px;font-size:.88rem}.chat-menu button:hover{background:#2a333c}.chat-menu button.danger{color:#ff8a7a}.chat-menu-label{color:var(--muted);font-size:.72rem;padding:6px 10px 2px;text-transform:uppercase;letter-spacing:.06em}.chat-compose{position:relative;border-top:1px solid var(--line);flex-shrink:0}.chat-toolbar{display:flex;gap:6px;padding:8px 10px}.chat-guest-bar,.chat-toolbar{align-items:center}.chat-guest-bar .hint{flex:1 1;min-width:0;margin:0;padding:0;font-size:.9rem;line-height:1.4}.chat-replying{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:8px 12px 0;color:var(--muted);font-size:.86rem}.chat-replying div{min-width:0}.chat-replying .chat-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-form{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:end;grid-gap:4px 2px;gap:4px 2px;padding:8px 10px}.chat-form>textarea{grid-column:1/-1;grid-row:1;display:block;width:100%;min-width:0}.chat-form .chat-settings{grid-column:1;grid-row:2}.chat-form .chat-emoji{grid-column:2;grid-row:2}.chat-form .chat-send{grid-column:4;grid-row:2;justify-self:end}.chat-error{margin:0;padding:0 12px 8px;font-size:.86rem}.chat-emoji,.chat-settings{position:static;flex-shrink:0}.chat-emoji-btn,.chat-settings-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:0;color:var(--muted);padding:0;margin:0;border-radius:8px;line-height:0}.chat-emoji-btn svg,.chat-settings-btn svg{width:18px;height:18px;display:block}.chat-emoji-btn.open,.chat-emoji-btn:hover,.chat-settings-btn.open,.chat-settings-btn:hover{color:var(--text);background:#2a333c}.chat-settings-panel{position:absolute;left:8px;right:8px;bottom:calc(100% + 6px);z-index:6;margin:0;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--bg-raised);box-shadow:var(--shadow);display:grid;grid-gap:10px;gap:10px;max-height:min(60vh,380px);overflow:auto}.chat-settings-panel .field{margin-bottom:0}.chat-settings-panel .error{margin:0}.chat-emoji-panel{position:absolute;left:8px;right:8px;bottom:calc(100% + 6px);z-index:7;margin:0;padding:8px 8px 0;border:1px solid var(--line);border-radius:10px;background:var(--bg-raised);box-shadow:var(--shadow);display:flex;flex-direction:column;height:min(52vh,320px);min-height:240px}.chat-emoji-panel.is-closed{display:none}.chat-emoji-search{flex-shrink:0;width:100%;margin:0 0 6px;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:8px;padding:7px 10px}.chat-emoji-scroller{flex:1 1;min-height:0;overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.chat-emoji-scroller::-webkit-scrollbar{width:0;height:0}.chat-emoji-section h3{position:-webkit-sticky;position:sticky;top:0;z-index:1;margin:0;padding:6px 4px 4px;background:var(--bg-raised);color:var(--muted);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.chat-emoji-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(34px,1fr));grid-gap:2px;gap:2px;padding:0 0 8px}.chat-emoji-grid-emotes{grid-template-columns:repeat(auto-fill,minmax(38px,1fr))}.chat-emoji-item{display:grid;place-items:center;aspect-ratio:1;padding:0;border:0;border-radius:6px;background:transparent;font-size:1.35rem;line-height:1}.chat-emoji-item-emote{font-size:0}.chat-emoji-cat img,.chat-emoji-cat video,.chat-emoji-item .chat-emote-img,.chat-emoji-item img,.chat-emoji-item video{width:32px;height:32px;object-fit:contain;display:block;pointer-events:none;margin:0;vertical-align:0}.chat-emoji-cat .chat-emote-img,.chat-emoji-cat img,.chat-emoji-cat video{width:18px;height:18px}.chat-emoji-item:hover{background:#2a333c}.chat-emoji-empty{margin:0;padding:24px 8px;color:var(--muted);text-align:center;font-size:.86rem}.chat-emoji-cats{flex-shrink:0;display:flex;gap:2px;padding:6px 0;border-top:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.chat-emoji-cats::-webkit-scrollbar{width:0;height:0}.chat-emoji-cat{flex:1 0 28px;display:grid;place-items:center;height:32px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:1rem;line-height:1}.chat-emoji-cat svg{width:16px;height:16px;display:block}.chat-emoji-cat:hover{background:#2a333c;color:var(--text)}.chat-emote{display:inline-block;font-size:1.25em;line-height:1;vertical-align:-.12em}.chat-emote-img{display:inline-block;width:1.55em;height:1.55em;object-fit:contain;vertical-align:-.32em;margin:0 .08em;border:0}.chat-emote-img,.chat-emote-img.is-pending{background:transparent}.chat-quote .chat-emote-img{width:1.15em;height:1.15em;vertical-align:-.2em}.chat-setting-action{display:inline-flex;align-items:center;gap:8px;width:100%;margin:0;padding:9px 10px;border:0;border-radius:8px;background:#2a333c;color:var(--text);font-weight:650;text-align:left;font-size:.9rem}.chat-setting-action svg{width:16px;height:16px;display:block;flex-shrink:0}.chat-setting-action:hover{background:#343e48}.chat-dock{display:grid;place-content:center;grid-gap:14px;gap:14px;padding:24px 16px;text-align:center}.chat-dock-copy{margin:0;color:var(--muted)}.chat-dock-actions{display:grid;grid-gap:8px;gap:8px}.chat-setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:.9rem}.chat-switch{flex-shrink:0;width:36px;height:20px;border:0;border-radius:999px;background:#2a333c;padding:2px}.chat-switch span{display:block;width:16px;height:16px;border-radius:50%;background:#93a0ad;transition:transform .15s ease}.chat-switch[aria-checked=true]{background:#9ec4de}.chat-switch[aria-checked=true] span{transform:translateX(16px);background:#111}.admin-actions{display:flex;flex-wrap:wrap;gap:6px}.chat-form input,.field input,textarea{width:100%;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:10px;padding:10px 12px}.field .color-custom input{width:40px;height:40px;border:0;padding:0;background:none;border-radius:0;cursor:pointer}.chat-form textarea{min-height:32px;max-height:120px;resize:none;overflow-y:auto;line-height:1.4;padding:6px 10px;border-radius:10px;field-sizing:content;scrollbar-width:none;-ms-overflow-style:none}.chat-form .chat-emoji-search{width:100%;padding:7px 10px;border-radius:8px}.chat-form textarea::-webkit-scrollbar{width:0;height:0}.btn{border:0;border-radius:10px;padding:10px 14px;background:#d9e4ee;color:#111;font-weight:700;white-space:nowrap}.chat-form .chat-send{flex-shrink:0;width:32px;height:32px;min-width:32px;min-height:32px;padding:0;margin:0;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;line-height:0;font-weight:700}.chat-send svg{width:18px;height:18px;display:block;transform:translateX(1px)}@media (max-width:900px){.chat-form{grid-template-columns:minmax(0,1fr) auto;gap:6px}.chat-form>textarea{grid-column:1;grid-row:1;padding-right:36px}.chat-form .chat-emoji{grid-column:1;grid-row:1;justify-self:end;align-self:end;z-index:2;margin-right:2px}.chat-form .chat-send,.chat-form .chat-settings{grid-column:2;grid-row:1;justify-self:end;align-self:end}.chat-form.is-composing .chat-settings,.chat-form:not(.is-composing) .chat-send{display:none}}.select{border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:10px;padding:8px 10px}.btn.secondary{background:#2a333c;color:var(--text)}.btn.danger{background:var(--danger);color:white}.hint{color:var(--muted);padding:12px;font-size:.9rem}.chat>.hint{flex-shrink:0}.error{color:#ff8a7a;font-size:.9rem}.form-card{width:min(420px,100%);margin:48px auto;padding:24px}.form-card h1{margin-top:0}.form-card .hint{padding:12px 0 0}.field{display:grid;grid-gap:6px;gap:6px;margin-bottom:14px}.field label{color:var(--muted);font-size:.86rem}.stack{display:grid;grid-gap:16px;gap:16px;min-width:0}.admin-page{width:min(1120px,calc(100% - 24px))}.admin-page h1{margin:0 0 6px;font-size:1.45rem}.admin-page h2{margin:0 0 12px;font-size:1.02rem}.admin-heading{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px}.admin-heading-actions{display:flex;flex-wrap:wrap;gap:8px}.admin-lead{margin:0;color:var(--muted)}.admin-panel{padding:20px}.admin-ok{margin:0;color:var(--ok)}.admin-empty{margin:0;color:var(--muted)}.admin-form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.offline-bg-layout{display:grid;grid-template-columns:minmax(0,420px) minmax(240px,1fr);grid-gap:16px 24px;gap:16px 24px;align-items:start;margin-top:4px}.offline-bg-stage{width:100%;max-width:420px;display:grid;grid-gap:10px;gap:10px}.offline-bg-preview{width:100%;aspect-ratio:16/9;margin:0;overflow:hidden;border-radius:10px;border:1px solid var(--line);background:#080a0c}.offline-bg-preview img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}.offline-bg-preview.is-empty{display:grid;place-items:center;color:var(--muted);font-size:.86rem}.offline-bg-preview.has-image{cursor:-webkit-grab;cursor:grab;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.offline-bg-preview.has-image img{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.offline-bg-preview.is-dragging{cursor:-webkit-grabbing;cursor:grabbing}.offline-bg-controls{display:grid;grid-gap:14px;gap:14px;min-width:0;margin:0;align-content:start}@media (max-width:800px){.offline-bg-layout{grid-template-columns:1fr}}.offline-bg-control-label{margin:0 0 6px;color:var(--muted);font-size:.86rem}.offline-bg-fit{display:flex;flex-wrap:wrap;gap:8px}.btn.secondary.is-on,.offline-bg-fit .btn.is-on{background:#3d4e5c;box-shadow:inset 0 0 0 1px #6f8799}.offline-bg-align{display:grid;grid-template-columns:repeat(3,26px);grid-gap:4px;gap:4px}.offline-bg-align button{width:26px;height:26px;margin:0;padding:0;border:0;border-radius:6px;background:#2a333c;display:grid;place-items:center}.offline-bg-align button:after{content:"";width:7px;height:7px;border-radius:50%;background:#6d7d8c}.offline-bg-align button.is-on{background:#3d4e5c}.offline-bg-align button.is-on:after{background:#fff}.offline-bg-zoom{display:grid;grid-template-columns:1fr auto;grid-gap:10px;gap:10px;align-items:center}.offline-bg-zoom input[type=range]{width:100%;accent-color:#9ec4de}.offline-bg-zoom span{color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:3.2em;text-align:right}.admin-tabs{display:flex;gap:4px;margin-bottom:20px;padding:4px;overflow-x:auto;background:var(--bg-raised);border:1px solid var(--line);border-radius:12px;scrollbar-width:none}.admin-tabs::-webkit-scrollbar{width:0;height:0}.admin-tabs a{flex:0 0 auto;padding:8px 14px;border-radius:9px;color:var(--muted);white-space:nowrap}.admin-tabs a:hover{color:var(--text)}.admin-tabs a[aria-current=page]{background:var(--bg-panel);color:var(--text);font-weight:650;box-shadow:0 1px 0 rgba(0,0,0,.2)}.admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.admin-stat{padding:16px 18px}.admin-stat-label{margin:0;color:var(--muted);font-size:.82rem}.admin-stat-value{margin:8px 0 0;font-size:1.35rem;font-weight:750;line-height:1.2}.admin-stat-note{margin:8px 0 0;color:var(--muted);font-size:.82rem;overflow-wrap:anywhere}.admin-quick{display:flex;flex-wrap:wrap;gap:8px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.admin-chat-log,.admin-chat-preview,.admin-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.admin-chat-preview li,.admin-list li{display:flex;gap:8px;align-items:center;min-width:0}.admin-chat-main p,.admin-chat-preview li span:last-child{min-width:0;overflow-wrap:anywhere;color:var(--text)}.admin-chat-log{max-height:70vh;overflow:auto}.admin-chat-log li{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line)}.admin-chat-log li:last-child{border-bottom:0}.admin-chat-log .btn{flex-shrink:0}.admin-chat-main{flex:1 1;min-width:0}.admin-chat-main p{margin:4px 0 0}.admin-chat-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}.admin-chat-meta time{color:var(--muted);font-size:.78rem}.admin-search{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.admin-search input{flex:1 1;min-width:12rem}.copy-field{margin:12px 0}.copy-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:start}.copy-row .code{margin:0}@media (max-width:900px){.admin-stats{grid-template-columns:1fr 1fr}.admin-grid,.copy-row{grid-template-columns:1fr}}.table{width:100%;border-collapse:collapse;font-size:.92rem}.table td,.table th{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;min-width:0}.code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#0c0f12;padding:10px 12px;overflow-wrap:anywhere;font-size:.82rem}.code,.secret{border-radius:10px}.secret{background:#2a1c12;color:#ffd2b8;padding:12px}@media (max-width:720px){.meta{flex-direction:column;gap:8px;padding:12px}.meta-side{text-align:left;justify-content:flex-start;display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding-left:56px}.page{width:min(1280px,calc(100% - 20px));padding:12px 0 24px}.form-card{margin:16px auto;padding:18px}.form-card .btn{width:100%}.profile-avatar-actions .btn{width:auto}.table thead{display:none}.table,.table tbody{display:block;width:100%}.table tr{display:flex;flex-wrap:wrap;align-items:flex-start;gap:6px 10px;padding:12px 0;border-bottom:1px solid var(--line)}.table td,.table th{padding:0;border:0}.table td:first-child{flex:1 1 100%;min-width:0}.table td:nth-child(2),.table td:nth-child(3){flex:0 0 auto;color:var(--muted);font-size:.86rem}.table td:last-child{flex:1 1 100%}}