:root,[data-theme=dark]{--bg: #0b0b0b;--ink: #f4f0e8;--mute: #a39d92;--faint: #5c574e;--line: rgba(244, 240, 232, .12);--line-strong: rgba(244, 240, 232, .2);--danger: #c45c4a;--danger-dim: rgba(196, 92, 74, .14);--focus: rgba(232, 228, 220, .18);--bright: #fff;--surface: #161616}[data-theme=light]{--bg: #f3efe6;--ink: #14120f;--mute: #534e45;--faint: #8a8376;--line: rgba(20, 18, 15, .12);--line-strong: rgba(20, 18, 15, .2);--danger: #c45c4a;--danger-dim: rgba(196, 92, 74, .12);--focus: rgba(28, 26, 22, .14);--bright: #000;--surface: #e7e1d4}[data-theme=ember]{--bg: #2a100c;--ink: #ffe4da;--mute: #e0a898;--faint: #8a5248;--line: rgba(255, 228, 218, .14);--line-strong: rgba(255, 228, 218, .22);--danger: #ff8a78;--danger-dim: rgba(255, 138, 120, .16);--focus: rgba(255, 210, 196, .18);--bright: #fff5f0;--surface: #3a1812}[data-theme=moss]{--bg: #0f1c14;--ink: #e6f8e8;--mute: #98c4a0;--faint: #4a7656;--line: rgba(230, 248, 232, .14);--line-strong: rgba(230, 248, 232, .22);--danger: #c45c4a;--danger-dim: rgba(196, 92, 74, .16);--focus: rgba(212, 240, 216, .18);--bright: #f0fff2;--surface: #162820}[data-theme=ink]{--bg: #0c1024;--ink: #eef2ff;--mute: #9aa6d8;--faint: #525a88;--line: rgba(238, 242, 255, .14);--line-strong: rgba(238, 242, 255, .22);--danger: #c45c4a;--danger-dim: rgba(196, 92, 74, .16);--focus: rgba(216, 224, 255, .18);--bright: #fff;--surface: #141a36}[data-theme=lemon]{--bg: #f4ff7a;--ink: #111100;--mute: #3f3f0c;--faint: #6e7a14;--line: rgba(17, 17, 0, .14);--line-strong: rgba(17, 17, 0, .24);--danger: #c43020;--danger-dim: rgba(196, 48, 32, .14);--focus: rgba(26, 26, 0, .14);--bright: #000;--surface: #e4ef4e}:root,[data-font=sans]{--font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}[data-font=serif]{--font: ui-serif, "Iowan Old Style", Palatino, Georgia, serif}[data-font=mono]{--font: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}:root,[data-size=m]{--base: 15px;--field: 22px;--word: 11px;--pad-x: 22px;--pad-y: 20px;--pad-b: 16px}[data-size=s]{--base: 14px;--field: 18px;--word: 11px;--pad-x: 20px;--pad-y: 18px;--pad-b: 14px}[data-size=l]{--base: 17px;--field: 22px;--word: 12px;--pad-x: 26px;--pad-y: 22px;--pad-b: 18px}[data-size=xl]{--base: 19px;--field: 26px;--word: 13px;--pad-x: 28px;--pad-y: 24px;--pad-b: 20px}*{box-sizing:border-box;margin:0;padding:0}html{height:100%;overflow:hidden;overflow-x:hidden;overscroll-behavior:none;touch-action:manipulation;background:var(--bg);color:var(--ink)}body{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:auto;overflow:hidden;overflow-x:hidden;overscroll-behavior:none;touch-action:manipulation;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:var(--base);line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}button,input,textarea{font:inherit;color:inherit;background:none;border:0}input,textarea{font-size:max(16px,1em)}button{cursor:pointer}a{color:var(--ink);text-underline-offset:3px}a:hover{color:var(--bright, var(--ink))}::selection{background:var(--focus)}#app{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;overflow-x:hidden}.page{height:100%;width:100%;max-width:100%;min-height:0;min-width:0;overflow:hidden;display:flex;flex-direction:column;padding:max(var(--pad-y),env(safe-area-inset-top)) max(var(--pad-x),env(safe-area-inset-right)) max(var(--pad-b),env(safe-area-inset-bottom)) max(var(--pad-x),env(safe-area-inset-left))}html.kb body{top:var(--app-top, 0px);height:var(--app-height);bottom:auto}html.kb .page{padding-bottom:8px}html.pwa.ios:not(.kb){height:var(--app-height, 100lvh)}html.pwa.ios:not(.kb) body{top:0;bottom:auto;height:var(--app-height, 100lvh);min-height:var(--app-height, 100lvh)}html.pwa.ios:not(.kb) #app{top:0;right:0;bottom:0;left:0;height:auto}html.pwa.ios:not(.kb) .page,html.pwa.ios:not(.kb) .landing{padding-top:max(calc(env(safe-area-inset-top,0px) + var(--pad-y)),calc(47px + var(--pad-y)))}html.pwa.ios .overlay,html.pwa.ios .guide{padding-top:max(calc(env(safe-area-inset-top,0px) + var(--pad-y)),calc(47px + var(--pad-y)))}.top{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-shrink:0;min-width:0;max-width:100%;padding-bottom:16px}.brand{display:flex;align-items:baseline;gap:14px;min-width:0}.wordmark{font-size:var(--word);line-height:1;letter-spacing:.22em;font-weight:500;color:var(--mute);text-decoration:none;flex-shrink:0}.wordmark:hover{color:var(--ink)}.wordmark .build,.count .build{margin:0;padding:0;border:0;background:none;font:inherit;font-size:10px;letter-spacing:.06em;font-weight:400;color:var(--faint);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation}.wordmark .build{margin-left:8px;vertical-align:1px}.count .build{flex-shrink:0}.build.is-offline{color:var(--ink)}.room-name{font-size:var(--word);line-height:1;letter-spacing:.04em;color:var(--faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-back{font-size:var(--word);line-height:1;letter-spacing:.04em;font-weight:500;color:var(--mute);text-decoration:none;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-back:hover{color:var(--ink)}.count{display:flex;align-items:baseline;font-size:var(--word);line-height:1;letter-spacing:.04em;color:var(--mute);font-variant-numeric:tabular-nums;max-width:50%;flex-shrink:0;min-width:0}.device-name{font-size:var(--word);line-height:1;letter-spacing:.04em;color:var(--mute);cursor:pointer;max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0}.device-name:hover{color:var(--ink)}.count-sep{margin:0 .4em;color:var(--mute)}.count-n{white-space:nowrap}.name-edit{font-size:var(--word);line-height:1;letter-spacing:.04em;color:var(--ink);border-bottom:1px solid var(--line-strong);outline:none;padding:0 0 1px;min-width:4ch;max-width:12rem}.stage{flex:1;display:flex;flex-direction:column;min-height:0;position:relative}.msg,.file,.feed{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.feed{flex:1;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:12px 0 8px;display:flex;flex-direction:column-reverse;gap:10px;scrollbar-width:thin;scrollbar-color:var(--faint) transparent}.msg{display:flex;flex-direction:column;align-items:flex-start;align-self:flex-start;width:fit-content;max-width:min(42rem,86%);gap:2px;color:var(--ink);animation:rise .14s ease-out;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:pan-y;transform-origin:left center}.msg.is-mine{align-self:flex-end;align-items:flex-end;text-align:right;transform-origin:right center}.msg.is-mine .msg-text,.msg.is-mine .msg-name{text-align:right}.msg-name{font-size:11px;letter-spacing:.04em;color:var(--mute)}.msg-main{display:flex;align-items:baseline;gap:8px}.msg.is-mine .msg-main{flex-direction:row-reverse}.msg-text{white-space:pre-wrap;word-break:break-word}.msg a{color:var(--ink)}.file{display:flex;flex-direction:column;align-items:flex-start;align-self:flex-start;gap:6px;max-width:min(32rem,86%);padding:10px 0;animation:rise .14s ease-out;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:pan-y;transform-origin:left center}.file.is-mine{align-self:flex-end;align-items:flex-end;transform-origin:right center}.file.is-mine .file-body{flex-direction:row-reverse}.file.is-mine .file-meta,.file.is-mine .file-sub{align-items:flex-end;text-align:right}.file-body{display:flex;align-items:center;gap:12px;min-width:0;flex:1 1 auto}.file-preview{width:56px;height:56px;object-fit:cover;border-radius:4px;background:var(--surface);flex-shrink:0}.file-meta{min-width:0;flex:1 1 auto;display:flex;flex-direction:column;gap:2px}.file-title{display:flex;align-items:baseline;gap:8px;min-width:0}.file-title .msg-name{margin-right:0;flex-shrink:0}.file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-title .file-name{min-width:0;flex:1 1 auto}.file-sub{font-size:12px;color:var(--mute);display:flex;align-items:baseline;gap:10px}.file-sub a{color:var(--mute);text-decoration:none}.file-sub a:hover{color:var(--ink)}.copy{color:var(--mute);opacity:0;width:18px;height:18px;padding:0;margin:0;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.copy-icon{width:13px;height:13px;display:block}.msg:hover .copy,.file:hover .copy,.copy:focus-visible{opacity:1}.copy:hover{color:var(--ink)}@media(hover:none){.copy{opacity:1;width:28px;height:28px}}.file-preview{cursor:pointer}.composer-wrap{flex-shrink:0;padding-top:8px;border-top:1px solid transparent}.composer{width:100%;resize:none;min-height:0;max-height:40vh;padding:0;line-height:1.2;outline:none;color:var(--ink);caret-color:var(--ink)}input.composer{-webkit-appearance:none;-moz-appearance:none;appearance:none}.composer::placeholder{color:var(--mute)}.composer-row{padding-bottom:10px;display:flex;align-items:baseline;gap:10px}.attach{color:var(--mute);font-size:12px;letter-spacing:.06em;padding:0;line-height:1.2;flex-shrink:0}.attach:hover{color:var(--ink)}.send{color:var(--ink);font-size:12px;letter-spacing:.06em;padding:0;line-height:1.2;flex-shrink:0}.admin{display:flex;align-items:baseline;gap:16px;padding-top:8px}.admin button{font-size:11px;letter-spacing:.06em;color:var(--faint)}.admin button:hover,.admin button.is-on{color:var(--mute)}.landing-foot{flex-shrink:0;flex-wrap:wrap;padding-top:16px}.admin .danger:hover{color:var(--danger)}.toast{position:fixed;top:max(16px,env(safe-area-inset-top));bottom:auto;left:50%;transform:translate(-50%);font-size:13px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);padding:8px 14px;border-radius:6px;z-index:40;pointer-events:none}.toast.is-action{pointer-events:auto;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.toast.is-action:hover{color:var(--mute)}.dropcover{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--bg) 72%,transparent);display:none;align-items:center;justify-content:center;z-index:20;color:var(--mute);font-size:18px;letter-spacing:.16em;pointer-events:none}.dropcover.on{display:flex}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;background:var(--bg);z-index:30;display:flex;flex-direction:column;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;padding:max(var(--pad-y),env(safe-area-inset-top)) max(var(--pad-x),env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(var(--pad-x),env(safe-area-inset-left))}html.kb .overlay,html.kb .guide{top:var(--app-top, 0px);height:var(--app-height);bottom:auto}html.kb .overlay.lock-ov{padding-bottom:56px}.lock-form{display:flex;flex-direction:column}.overlay-body{flex:1;display:flex;flex-direction:column;justify-content:center;max-width:22rem}.look-ov .overlay-body{justify-content:flex-start;overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:8px 0 12px}.look-ov .actions{flex-shrink:0;flex-wrap:wrap;margin-top:0;padding-top:4px}.overlay h1,.overlay p,.actions,.actions button{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.overlay h1{font-size:15px;font-weight:500;letter-spacing:.01em;margin-bottom:8px}.overlay p{color:var(--mute);font-size:14px;margin-bottom:22px}.field{-webkit-user-select:text;user-select:text;width:100%;padding:10px 0;border-bottom:1px solid var(--line-strong);outline:none;font-size:max(16px,var(--field, 16px))}.field:focus{border-bottom-color:var(--ink)}.field::placeholder{color:var(--faint)}.actions{display:flex;gap:18px;margin-top:22px}.actions button{font-size:13px;letter-spacing:.04em;color:var(--mute);padding:12px 0;touch-action:manipulation}.actions button.primary{color:var(--ink)}.actions button:hover{color:var(--bright, var(--ink))}.actions button.danger{color:var(--danger)}.landing{height:100%;min-height:0;overflow:auto;display:flex;flex-direction:column;padding:max(var(--pad-y),env(safe-area-inset-top)) max(var(--pad-x),env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(var(--pad-x),env(safe-area-inset-left))}.landing-main{flex:1;display:flex;flex-direction:column;justify-content:center;max-width:24rem;min-height:0;overflow-y:auto}.landing .wordmark{margin-bottom:36px}.landing-row{display:flex;align-items:baseline;gap:16px}.overlay .landing-row .field{width:auto;flex:1 1 auto;min-width:0}.landing-join{flex-shrink:0;font-size:16px;letter-spacing:.04em;color:var(--ink);padding:8px 0}.landing-join:hover{color:var(--bright, var(--ink))}.landing-field{width:100%;min-width:0;flex:1 1 auto;font-size:var(--field);padding:8px 0 12px;border-bottom:1px solid var(--line-strong);outline:none;letter-spacing:-.02em}.landing-field:focus{border-bottom-color:var(--ink)}.landing-field::placeholder{color:var(--faint);font-weight:400}.landing-note{margin-top:16px;font-size:12px;color:var(--faint)}.bounce-note{color:var(--mute);font-size:15px;max-width:22rem}.bounce-note code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;color:var(--ink)}@keyframes rise{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media(max-width:640px){.composer{font-size:max(16px,var(--base));max-height:28vh}.landing-field{font-size:16px}[data-size=l] .landing-field,[data-size=xl] .landing-field{font-size:var(--field)}.file{max-width:100%}}.landing-links{margin-top:22px;display:flex;flex-wrap:wrap;gap:14px 18px;align-items:baseline}.landing-how{align-self:flex-start;font-size:12px;letter-spacing:.04em;color:var(--faint)}.landing-how:hover{color:var(--mute)}.guide{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);z-index:35;display:flex;flex-direction:column;padding:max(var(--pad-y),env(safe-area-inset-top)) max(var(--pad-x),env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(var(--pad-x),env(safe-area-inset-left))}.guide-body{flex:1;display:flex;flex-direction:column;justify-content:center;max-width:22rem;min-height:0}.guide h1{font-size:15px;font-weight:500;letter-spacing:.01em;margin-bottom:18px}.guide-list{list-style:none;display:flex;flex-direction:column;gap:12px;margin-bottom:22px}.guide-list li{color:var(--mute);font-size:14px;padding-left:1.4em;position:relative}.guide-list li:before{position:absolute;left:0;color:var(--faint);font-size:12px;content:counter(g) ".";counter-increment:g}.guide-list{counter-reset:g}.guide-note{color:var(--faint);font-size:12px;margin-bottom:22px}.guide-go{text-align:left;align-self:flex-start;font-size:13px;letter-spacing:.04em;color:var(--ink)}.guide-go:hover{color:var(--bright, var(--ink))}.admin-lock .room-name{margin-bottom:28px}.admin-code{letter-spacing:.28em;font-variant-numeric:tabular-nums}.admin-page .stage{min-height:0}.admin-list{flex:1;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:28px 0 12px;display:flex;flex-direction:column;scrollbar-width:thin;scrollbar-color:var(--faint) transparent}.admin-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}.admin-row-main{min-width:0;flex:1 1 auto}.admin-row-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-row-meta{font-size:12px;color:var(--mute);margin-top:2px}.admin-row-del{font-size:11px;letter-spacing:.06em;color:var(--faint);flex-shrink:0;padding:8px 0}.admin-row-del:hover{color:var(--danger)}.admin-empty{color:var(--mute);font-size:14px;padding:8px 0}.admin-out{font-size:11px;letter-spacing:.06em;color:var(--faint);flex-shrink:0}.admin-out:hover{color:var(--mute)}@media(max-width:640px){.admin-code,.name-edit{font-size:16px}.admin-row{align-items:flex-start}}.local-tag{color:var(--faint);white-space:nowrap}.landing-install{margin-top:18px;align-self:flex-start;font-size:12px;letter-spacing:.04em;color:var(--faint)}.landing-install:hover{color:var(--mute)}.qr-label{margin:12px 0 6px;font-size:12px;letter-spacing:.06em;color:var(--faint)}.qr{width:200px;height:200px;margin:0 0 8px;padding:10px;background:#fff;border-radius:4px}.scan-video{width:100%;max-width:16rem;aspect-ratio:1;object-fit:cover;background:var(--surface);margin:0 0 16px}.overlay .field.scan-paste{margin-top:4px}[data-size=xl] .landing-field,[data-size=xl] .composer{font-size:var(--field)}[data-size=xl] .landing .wordmark{margin-bottom:52px}[data-size=l] .landing-field{padding:12px 0 16px}[data-size=l] .composer{min-height:0;padding:0}[data-size=l] .landing .wordmark{margin-bottom:44px}.look-dots{display:flex;align-items:center;gap:12px;margin:0 0 20px}.look-dot{width:18px;height:18px;border-radius:50%;padding:0;flex-shrink:0;box-shadow:inset 0 0 0 1px var(--line-strong)}.look-dot[data-theme=dark]{box-shadow:inset 0 0 0 1px #e8e4dc80}.look-dot.is-on{box-shadow:0 0 0 2px var(--ink)}.look-row{display:flex;align-items:baseline;gap:16px;margin:0 0 16px}.look-pick{font-size:13px;letter-spacing:.04em;color:var(--mute);padding:0}.look-pick[data-size=s]{font-size:14px}.look-pick[data-size=m]{font-size:15px}.look-pick[data-size=l]{font-size:17px}.look-pick[data-size=xl]{font-size:19px}.look-pick.is-on{color:var(--ink)}.look-pick:hover{color:var(--bright, var(--ink))}.recent{margin-top:28px}.recent-head,.recent-clear{font-size:12px;letter-spacing:.04em;color:color-mix(in srgb,var(--faint) 72%,var(--bg))}.recent-head{margin-bottom:6px}.recent-item{display:block;font-size:12px;letter-spacing:.04em;color:var(--mute);text-decoration:none;padding:1px 0}.recent-item:hover{color:var(--ink)}.recent-clear{display:block;margin-top:10px}.recent-clear:hover{color:var(--faint)}.landing-foot .build{margin-left:0;font-size:11px;letter-spacing:.06em;color:var(--faint);vertical-align:baseline}.look-saves{margin-top:22px;display:flex;flex-direction:column;gap:8px;width:min(100%,360px)}.look-save{display:flex;align-items:baseline;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:8px 0}.look-save-use{min-width:0;flex:1 1 auto;text-align:left;font-size:14px;letter-spacing:.04em;color:var(--mute)}.look-save.is-on .look-save-use,.look-save-use:hover{color:var(--ink)}.look-save-del{flex-shrink:0;font-size:12px;letter-spacing:.04em;color:var(--faint)}.look-save-del:hover{color:var(--danger)}@keyframes slide-from-right{0%{transform:translate(28%);opacity:.35}to{transform:none;opacity:1}}@keyframes slide-from-left{0%{transform:translate(-28%);opacity:.35}to{transform:none;opacity:1}}@keyframes slide-to-right{0%{transform:none;opacity:1}to{transform:translate(28%);opacity:0}}@keyframes slide-to-left{0%{transform:none;opacity:1}to{transform:translate(-28%);opacity:0}}.is-in.from-right{animation:slide-from-right .28s cubic-bezier(.32,.72,0,1) both}.is-in.from-left{animation:slide-from-left .28s cubic-bezier(.32,.72,0,1) both}.is-out.to-right{animation:slide-to-right .24s cubic-bezier(.32,.72,0,1) both;pointer-events:none}.is-out.to-left{animation:slide-to-left .24s cubic-bezier(.32,.72,0,1) both;pointer-events:none}@media(prefers-reduced-motion:reduce){.is-in,.is-out{animation:none!important}}.img-prev{background:#050505}.img-prev-foot{flex-shrink:0;font-size:12px;letter-spacing:.04em;color:#9a9a9a;padding-top:8px}.img-prev-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none}.img-prev-pic{max-width:100%;max-height:100%;object-fit:contain;transform-origin:center center;-webkit-user-select:none;user-select:none}.img-prev .actions{margin-top:0}.msg.is-follow,.file.is-follow{padding-top:2px}.file.is-follow{padding-top:4px}.reply-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:0 0 10px;min-width:0}.reply-bar-body{min-width:0;flex:1 1 auto}.reply-bar-name{font-size:11px;letter-spacing:.04em;color:var(--mute)}.reply-bar-snip{font-size:12px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-bar-x{color:var(--faint);font-size:13px;letter-spacing:.04em;line-height:1.2;padding:0;flex-shrink:0}.reply-bar-x:hover{color:var(--mute)}.reply-chip{display:flex;flex-direction:column;width:fit-content;max-width:100%;min-width:0;padding:3px 8px;border-left:2px solid var(--line-strong);cursor:pointer;-webkit-user-select:none;user-select:none}.msg.is-mine .reply-chip,.file.is-mine .reply-chip{border-left:0;border-right:2px solid var(--line-strong);text-align:right;align-self:flex-end}.reply-chip-name{font-size:11px;letter-spacing:.04em;color:var(--mute)}.reply-chip-snip{font-size:12px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes msg-pulse{0%{transform:scale(1)}45%{transform:scale(1.04)}to{transform:scale(1)}}.msg.is-pulse,.file.is-pulse{animation:msg-pulse .38s ease-out;transform-origin:left center}.msg.is-mine.is-pulse,.file.is-mine.is-pulse{transform-origin:right center}
