:root{color-scheme:light;--bg: #f6f1e8;--bg-2: #fffaf3;--bg-raised: #fffdf8;--bg-sunken: #1c1714;--frame: #4a3b32;--text: #3d342c;--muted: #7a6d62;--line: rgba(92, 64, 46, .14);--accent: #d97757;--accent-ink: #fffaf6;--chip: #fffdf8;--chip-ink: #3d342c;--danger: #c84b3a;--live: #3f9d6e;--warn: #c8882a;--shadow: 0 18px 40px rgba(92, 58, 32, .1);--font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;--display: Palatino, "Palatino Linotype", "Iowan Old Style", "Songti SC", "Noto Serif SC", serif;--chrome: 196px;font-family:var(--font);background:radial-gradient(720px 360px at 8% -10%,rgba(217,119,87,.16),transparent 60%),radial-gradient(640px 320px at 100% 0%,rgba(244,193,120,.22),transparent 55%),var(--bg);color:var(--text)}*{box-sizing:border-box}html,body,#app{min-height:100%}body{margin:0;overflow-x:clip;background:var(--bg);color:var(--text)}button,input,select{font:inherit;color:inherit;max-width:100%}img,svg,video{max-width:100%}a{color:#b85a3d;text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mark{width:36px;height:36px;display:inline-grid;place-items:center;color:#fffaf6;background:var(--accent);border-radius:12px;box-shadow:0 8px 16px #d9775747}.mark svg{width:24px;height:24px}.eyebrow{margin:0 0 6px;color:var(--accent);letter-spacing:.12em;text-transform:uppercase;font-size:12px}h1,h2{font-family:var(--display);font-weight:600;letter-spacing:-.03em;overflow-wrap:anywhere;color:var(--text)}h1{margin:0;font-size:clamp(32px,4vw,46px)}h2{margin:0 0 12px;font-size:26px}p{color:var(--muted);line-height:1.6;overflow-wrap:anywhere}.btn,.text-btn{border:1px solid var(--line);background:var(--bg-raised);color:var(--text);border-radius:999px;padding:9px 16px;cursor:pointer;box-shadow:0 1px #fffc,0 8px 18px #5c3a200d}.btn:hover,.text-btn:hover{background:#fff6ee}.btn:disabled,.text-btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:transparent;font-weight:650}.btn.primary:hover{background:#c96546}.btn.danger{background:#fff6f4;color:var(--danger);border-color:#c84b3a47}.btn.ghost,.text-btn{background:var(--bg-raised)}.btn.wide{width:100%}.text-btn{padding:8px 14px}.field,.check{display:grid;gap:8px}.field span,.check span{color:var(--text)}.field small,.hint{color:var(--muted);font-size:13px}.field input[type=text],.field input[type=password],.field input:not([type]),.upload-custom input,.upload-custom select{width:100%;border:1px solid var(--line);background:#fffaf4;color:var(--text);border-radius:14px;padding:11px 13px}.field input[type=range]{width:100%;accent-color:var(--accent)}.preset-row{display:flex;flex-wrap:wrap;gap:8px}.upload-block{display:grid;gap:12px}.upload-head{display:grid;gap:4px}.upload-head small,.upload-test .hint{margin:0;line-height:1.5}.upload-custom{display:grid;grid-template-columns:auto minmax(0,160px) auto;align-items:center;gap:10px}.upload-test{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:18px;background:#fff8f1}.upload-test .btn{justify-self:start}.upload-meter{height:6px;border-radius:999px;background:#efe4d8;overflow:hidden}.upload-meter span{display:block;height:100%;background:var(--accent)}.upload-live,.upload-result{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px;margin:0;color:var(--text)}.upload-result strong,.upload-live strong{font-size:18px}.check{display:flex;align-items:flex-start;gap:8px}.check input{flex:none;margin-top:3px;accent-color:var(--accent)}.check span{min-width:0}.form-error{color:var(--danger);margin:0}.invite-result{display:grid;gap:8px}.invite-code{margin:0;color:var(--text);font-family:ui-monospace,Consolas,monospace;font-size:clamp(16px,4vw,28px);letter-spacing:.06em;overflow-wrap:anywhere}.auth-shell{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:safe center;gap:24px;padding:32px}.auth-brand,.auth-card{min-width:0}.auth-brand{display:flex;flex-direction:column;justify-content:center;gap:8px;justify-self:end;width:min(460px,100%);padding:12px 8px 12px 24px}.auth-brand .lead{max-width:28ch;font-size:18px}.auth-card{justify-self:start;width:min(440px,100%);margin:0;padding:32px 28px;background:var(--bg-raised);border:1px solid rgba(255,255,255,.7);border-radius:28px;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:center}.auth-card form{display:grid;gap:16px}.switch{margin-top:18px}.room,.settings{min-height:100dvh}.room{height:100dvh;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr)}.room.watch{--chrome: 108px}.settings{display:grid;grid-template-rows:auto minmax(0,1fr);overflow:auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px 18px;min-width:0;padding:14px max(18px,env(safe-area-inset-right)) 6px max(18px,env(safe-area-inset-left));background:transparent}.brand{display:inline-flex;align-items:center;gap:10px;min-width:0;color:var(--text);font-family:var(--display);font-size:26px}.brand span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand:hover{text-decoration:none;color:var(--text)}.top-meta{display:flex;align-items:center;gap:10px;min-width:0}.top-meta strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.top-actions{display:flex;align-items:center;gap:8px;flex:none}.top-actions a,.settings>.topbar>a{border:1px solid var(--line);border-radius:999px;padding:8px 14px;background:var(--bg-raised);box-shadow:0 8px 18px #5c3a200d}.top-actions a:hover,.settings>.topbar>a:hover{background:#fff6ee;text-decoration:none}.status-dot{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:6px 12px;color:var(--muted);font-size:13px;background:var(--bg-raised)}.status-dot:before{content:"";width:7px;height:7px;margin-right:7px;border-radius:50%;background:#c8b8a8}.status-dot[data-state=open]:before{background:var(--live)}.status-dot[data-state=reconnecting]:before,.status-dot[data-state=connecting]:before{background:var(--warn)}.room-main{min-height:0;min-width:0;width:100%;margin:0 auto;padding:4px clamp(16px,3vw,48px) 16px;display:grid;grid-template-rows:minmax(0,1fr) auto auto;gap:12px}.room.watch .room-main{grid-template-rows:minmax(0,1fr);width:100%}.stage{min-height:0;min-width:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.screen-fit{flex:1 1 auto;min-height:0;min-width:0;width:100%;display:grid;place-items:center;container-type:size}.screen{width:min(100cqi,calc(100cqb * 16 / 9));aspect-ratio:16 / 9;max-height:100%;padding:12px;border-radius:30px;background:linear-gradient(180deg,#6a5648,#3f322a);box-shadow:0 24px 48px #4a2e1c29,inset 0 1px #ffffff2e}.stage-frame,.stage-empty{position:relative;width:100%;height:100%;min-height:0;background:var(--bg-sunken);border-radius:18px;overflow:hidden}.stage-frame video{width:100%;height:100%;min-height:0;object-fit:contain;background:#120f0d;display:block}.stage.as-player{height:100%;overflow:hidden}.stage.as-player .player{background:#120f0d}.stage.as-player .player video{min-height:0;height:100%;background:#120f0d}media-controller.player{display:block;width:100%;height:100%;max-width:100%;min-height:0;min-width:0;overflow:hidden;--media-primary-color: #fffaf6;--media-secondary-color: transparent;--media-control-hover-background: rgb(255 250 246 / 14%)}media-controller.player media-control-bar{width:100%;max-width:100%;box-sizing:border-box;align-items:center;line-height:1.35;overflow:hidden;--media-control-bar-display: flex}media-volume-range{width:92px;max-width:22vw;flex:0 0 auto}media-controller.player:not([mediapaused]) media-play-button[slot=centered-chrome]{display:none}media-play-button[slot=centered-chrome]{--media-button-icon-width: 64px;--media-control-background: transparent}.player-top{width:100%;max-width:100%;padding:14px 16px 28px;color:#fff;background:linear-gradient(rgba(0,0,0,.55),transparent)}.player-top strong{display:block;max-width:100%;font-size:15px;font-family:var(--display);text-shadow:0 1px 2px rgba(0,0,0,.45);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-meta{color:#fff;font-size:13px;line-height:1.35;margin-inline:10px;min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-spacer{flex:1;min-width:8px}.player-empty,.stage-empty{display:grid;place-items:center;align-content:center;text-align:center;padding:20px;gap:18px}.player-empty p,.stage-empty p{color:#fffaf6d1}.player-play{border:0;border-radius:999px;padding:12px 22px;background:var(--accent);color:var(--accent-ink);font-weight:650;cursor:pointer}.welcome{margin:0;color:#fffaf6;font-family:var(--display);font-size:clamp(18px,2vw,24px)}.welcome .spark{color:#f4c14d;margin-right:6px}.entry-actions{display:flex;justify-content:center;gap:28px}.entry-action{width:96px;display:grid;justify-items:center;gap:8px;padding:0;border:0;background:transparent;color:#fffaf6;cursor:pointer;font-size:14px}.entry-action:disabled{opacity:.45;cursor:not-allowed}.entry-action i{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;border:1.5px solid rgba(255,250,246,.55);background:#fffaf60f;font-style:normal;transition:transform .18s ease}.entry-action svg{width:28px;height:28px}.entry-action.primary i{background:var(--accent);border-color:transparent;color:#fff;box-shadow:0 10px 20px #d9775759}.entry-action:not(:disabled):hover i{transform:translateY(-3px)}.banner{flex:none;width:min(720px,100%);margin:0;padding:10px 12px;border-radius:14px;background:#fff1ea;color:#8a3d2c}.people{display:grid;justify-items:center;gap:8px}.members{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.member{display:flex;align-items:center;gap:8px;min-width:0;padding:5px 12px 5px 5px;border-radius:999px;background:var(--bg-raised);border:1px solid var(--line);box-shadow:0 8px 16px #5c3a200a}.member.empty{color:var(--muted);padding:8px 12px}.avatar{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#f0c9b6;color:#6a3b2b;font-family:var(--display);font-size:14px}.who{display:flex;align-items:baseline;gap:6px;min-width:0}.who strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.who small{color:var(--muted)}.pill{flex:none;font-size:12px;color:#6a3b2b;background:#f6e3d8;border-radius:999px;padding:2px 8px;white-space:nowrap}.pill.live{color:#fff;background:var(--live)}.quiet{margin:0;color:var(--muted);font-size:13px;text-align:center}.dock{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;padding:0;background:transparent}.dock:empty{display:none}.share-actions,.dialog-actions{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap}.volume{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--bg-raised);color:var(--muted)}.volume.off{opacity:.55}.volume span{flex:none;font-size:14px}.volume input[type=checkbox]{width:16px;height:16px;margin:0}.volume input[type=range]{width:110px;margin:0;accent-color:var(--accent)}.meter{color:var(--muted);font-size:13px;white-space:nowrap}.backdrop{position:fixed;inset:0;background:#3d2c2059;display:grid;place-items:center;padding:20px;z-index:20}.dialog{width:min(520px,100%);max-height:min(640px,calc(100dvh - 40px));overflow:auto;background:var(--bg-raised);border-radius:24px;padding:24px;box-shadow:var(--shadow)}.dialog ol{margin:0 0 16px;padding-left:18px;color:var(--text);display:grid;gap:8px}.dialog-actions{justify-content:flex-end;margin-top:16px}.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:8px 22px 28px;align-items:start;min-width:0;width:min(1180px,100%);margin:0 auto}.panel{background:var(--bg-raised);border:1px solid rgba(255,255,255,.8);border-radius:24px;padding:22px;display:grid;gap:12px;min-width:0;box-shadow:var(--shadow)}.panel .btn{justify-self:start}.panel h2{font-family:var(--font);font-size:18px}.panel dl{display:grid;gap:10px;margin:0}.panel dt{color:var(--muted);font-size:13px}.panel dd{margin:2px 0 0}.toasts{position:fixed;right:16px;bottom:16px;display:grid;gap:8px;z-index:30;width:min(360px,calc(100vw - 32px))}.toast{text-align:left;border:1px solid var(--line);background:var(--bg-raised);color:var(--text);border-radius:16px;padding:12px 14px;cursor:pointer;box-shadow:var(--shadow)}.toast[data-tone=warn]{border-color:#c8882a73}.toast[data-tone=error]{border-color:#c84b3a73}@media(max-width:1100px){.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.auth-shell{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;padding:20px 16px 28px}.auth-brand,.auth-card{justify-self:stretch;width:100%}.auth-brand{padding:8px 4px 0}.auth-card{padding:24px 18px;border-radius:22px}.room{--chrome: 220px;height:auto;min-height:100dvh;overflow:visible}.room.watch{--chrome: 96px}.room-main{width:100%;height:auto;padding:8px 12px 20px;display:flex;flex-direction:column}.stage,.stage.as-player{height:auto;overflow:visible}.screen-fit{flex:none;width:100%;height:auto;container-type:normal}.screen{width:100%;height:auto;max-height:none;aspect-ratio:16 / 9;padding:8px;border-radius:22px}.entry-actions{gap:16px}.entry-action{width:84px}.entry-action i{width:60px;height:60px}.topbar{padding-inline:12px}.share-actions{justify-content:center}media-controller.player media-control-bar{flex-wrap:wrap;row-gap:2px;padding-bottom:4px}media-controller.player media-volume-range{display:none}media-controller.player .player-meta{order:-1;flex:1 0 100%;margin:0;padding:7px 12px 1px;white-space:normal;overflow:visible;text-overflow:unset}}@media(max-width:720px){.settings-grid{grid-template-columns:minmax(0,1fr);padding:8px 14px 20px}.panel{padding:18px 16px}.panel .btn,.dialog-actions .btn{justify-self:stretch}}
