/* UI-001 visual tokens adapted for ENG-002. Original source: docs/ui/styles.css (2026-10-19). */
:root{color-scheme:dark;--bg:#0b0b10;--surface:#17161e;--surface-hi:#22212c;--purple:#9b76ff;--light:#cfbdff;--text:#f5f3fb;--muted:#a8a3b5;--line:#ffffff18;--ease:cubic-bezier(.2,.85,.25,1.12)}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:0;background:none}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--light);outline-offset:3px}button{touch-action:manipulation}a{color:var(--light);text-decoration:none}button:hover{filter:brightness(1.12)}[hidden]{display:none!important}.icon{width:25px;height:25px;display:block;flex-shrink:0}.muted{font-size:12px;line-height:1.8;color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:.16em;color:#a79ab9}h1{font-size:32px;letter-spacing:-.05em;font-weight:550;margin:10px 0 20px}h1 span{color:var(--purple)}h2{font-weight:550;font-size:17px}.product-body{height:100dvh;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 20%,#292037 0,#0b0b10 65%);overflow:hidden}.phone{position:relative;width:min(430px,100vw);height:min(900px,100dvh);overflow:hidden;background:#100c1c;isolation:isolate}.media-layer,.vignette,.canvas-hit{position:absolute;inset:0}.media-layer{z-index:0}.media-layer video{width:100%;height:100%;object-fit:contain;background:#100c1c}.media-layer video[data-role=warm]{display:none}.media-layer.framed{inset:90px 16px 126px;border-radius:24px;overflow:hidden}.vignette{z-index:1;pointer-events:none;background:linear-gradient(180deg,#08050e70,transparent 25%,transparent 53%,#08050e99 80%,#08050eea)}.canvas-hit{z-index:2;width:100%;height:100%;padding:0;touch-action:none}.feed-header{position:absolute;z-index:10;top:calc(0px + env(safe-area-inset-top,0px));left:18px;right:18px;display:flex;align-items:center;justify-content:center;transition:opacity .22s}.top-tabs{display:flex;gap:22px}.top-tabs button{position:relative;font-size:16px;font-weight:550;padding:10px 0;color:#f1ebf7aa}.top-tabs .selected{color:#fff}.top-tabs .selected:after{content:"";position:absolute;bottom:0;left:calc(50% - 10px);width:20px;height:2px;background:#fff;border-radius:2px}.sound-button{position:absolute;right:0;padding:10px}.sound-button .icon{width:19px;height:19px}.demo-badge{position:absolute;z-index:8;left:20px;top:calc(85px + env(safe-area-inset-top,0px));font-size:9px;letter-spacing:.08em;color:#e0d5ed9c;pointer-events:none}.action-rail{position:absolute;z-index:12;right:12px;top:120px;bottom:205px;width:56px;display:flex;flex-direction:column;justify-content:flex-end;gap:7px;overflow:visible}.action-button{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:52px;width:56px;gap:5px;padding:0;flex-shrink:0;text-shadow:0 2px 8px #0008}.action-button small{font-size:10px;white-space:nowrap}.action-button .icon{width:27px;height:27px;filter:drop-shadow(0 2px 5px #0005)}.action-button.active{color:var(--light)}.avatar-circle{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;font-size:23px;color:#312248;font-weight:600;background:radial-gradient(circle at 30% 20%,#fff,#e9defa 45%,#bca2e4);border:1px solid #fff9;box-shadow:0 2px 16px #29143755}.avatar-circle img{width:100%;height:100%;border-radius:50%;object-fit:cover}.media-caption{position:absolute;z-index:10;left:22px;right:82px;bottom:145px;pointer-events:none}.media-caption h2{font-size:26px;margin:7px 0;letter-spacing:-.03em}.media-caption p{font-size:12px;line-height:1.7;color:#f7f1f2c9;margin:5px 0}.media-caption button{pointer-events:auto;text-align:left;padding:0}.caption-kicker{font-size:10px;color:#e3d0f2b3}.media-caption .drama-open{color:var(--light);font-size:12px;margin-top:12px;border-bottom:1px solid #d4b8ee66;padding-bottom:5px}.playback{position:absolute;z-index:11;left:22px;right:22px;bottom:110px;display:flex;gap:9px;align-items:center;font-size:9px;font-variant-numeric:tabular-nums;color:#fff9}.playback input{width:100%;height:22px;accent-color:#d5bcfa;touch-action:none}.play-status{position:absolute;left:20px;right:20px;top:45%;z-index:7;color:#fff8;text-align:center;font-size:12px;pointer-events:none}.bottom-nav{position:absolute;z-index:35;left:0;right:0;bottom:0;height:calc(88px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:repeat(5,1fr);padding:10px 8px calc(12px + env(safe-area-inset-bottom,0px));background:linear-gradient(180deg,#09060fd9,#09060f)}.bottom-nav button,.bottom-nav .future-nav{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;font-size:10px;color:#d8cfdfb0;min-height:52px}.bottom-nav .icon{height:22px;width:22px}.bottom-nav .future-nav{opacity:.36}.bottom-nav .create-pill{display:grid;place-items:center;width:47px;height:33px;border:1px solid #cbb2ff8c;border-radius:9px;background:linear-gradient(125deg,#8254ef,#7040c9);color:#fff}.bottom-nav .create-pill .icon{width:21px;height:21px}.bottom-nav .create-nav{margin-top:-5px;color:#eee2ff}.pure-navigation{position:absolute;z-index:15;top:100px;left:18px;right:18px;display:flex;justify-content:space-between}.pure-navigation button{font-size:11px;padding:9px 12px;background:#140e26b8;border:1px solid #ffffff22;border-radius:20px}.nav-hidden .feed-header,.nav-hidden .bottom-nav,.nav-hidden .pure-navigation{opacity:0;pointer-events:none}.focus-reveal{position:absolute;top:70px;left:20px;z-index:30;transform:translateY(-200px);padding:12px;border-radius:10px;background:#392755}.focus-reveal:focus{transform:none}.toast{position:absolute;z-index:100;left:30px;right:30px;bottom:116px;background:#302638ec;border:1px solid #ffffff1c;padding:12px 16px;border-radius:13px;text-align:center;font-size:12px;line-height:1.6;opacity:0;pointer-events:none;transform:translateY(8px);transition:.2s}.toast.visible{opacity:1;transform:none}.sheet-host{position:absolute;z-index:60;inset:0}.sheet-scrim{position:absolute;inset:0;background:#06030c87;width:100%;height:100%}.bottom-sheet{position:absolute;bottom:0;left:0;right:0;border-radius:27px 27px 0 0;border-top:1px solid #ffffff24;background:linear-gradient(165deg,#25202f,#121118);max-height:83%;display:flex;flex-direction:column;padding:20px 22px 24px;box-shadow:0 -15px 80px #0005;animation:sheet-in .35s var(--ease)}.bottom-sheet>header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.bottom-sheet h2{font-size:23px;margin:7px 0 18px}.bottom-sheet header small{font-size:9px;color:#a995c0;letter-spacing:.08em}.icon-button{padding:10px;border-radius:50%;background:#ffffff06}.sheet-body{overflow:auto;overscroll-behavior:contain;line-height:1.8;min-height:0;padding-bottom:12px}.sheet-body p{font-size:13px;color:#c4b7d1}.sheet-body input{background:#ffffff07;border:1px solid var(--line);color:#fff;width:100%;padding:13px;border-radius:12px}.more-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 8px;padding:15px 0}.more-grid .action-button{width:100%;min-height:64px;border-radius:15px;background:#ffffff04}.primary-button,.quiet-button,.danger-button{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:11px;font-size:12px;min-height:42px}.primary-button{background:linear-gradient(120deg,#8254ef,#7040c9);color:#fff}.quiet-button{background:#ffffff07;border:1px solid var(--line)}.danger-button{color:#e9b3c5;border:1px solid #dd789744}.full-button{width:100%;margin:8px 0}.route-panel{position:absolute;z-index:25;inset:0;background:radial-gradient(circle at 90% 0,#30213f,#0f0c16 45%);overflow-y:auto;overscroll-behavior:contain;padding:22px 22px 110px}.route-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;position:sticky;top:-22px;background:#17111fed;padding:12px 0;z-index:1}.route-top button{min-height:44px;min-width:44px;font-size:12px;color:#d1bce9}.route-panel h1{font-size:30px;line-height:1.3;margin-bottom:15px}.route-panel p{font-size:13px;color:#afa1bb;line-height:1.8}.route-note{font-size:10px!important;color:#a193ae!important}.art-card{width:100%;height:190px;object-fit:cover;border-radius:18px;border:1px solid var(--line);margin:8px 0 16px}.template-card,.task-card,.content-card{display:flex;gap:14px;align-items:center;width:100%;padding:16px;margin:12px 0;text-align:left;border:1px solid var(--line);background:#ffffff04;border-radius:15px}.template-card img,.content-card img{width:50px;height:65px;object-fit:cover;border-radius:10px}.template-card strong,.task-card strong,.content-card strong{font-weight:550;font-size:15px}.template-card small,.task-card small,.content-card small{display:block;color:var(--muted);font-size:11px;margin-top:6px;line-height:1.6}.upload-demo{padding:26px 14px;text-align:center;border:1px dashed #b69bd344;border-radius:18px;margin:18px 0;color:#ad9dbf;background:#ffffff03}.upload-demo input{max-width:100%;font-size:11px}.state-lines{border:1px solid var(--line);border-radius:16px;background:#ffffff03;padding:17px;margin:18px 0}.state-lines>div{display:flex;justify-content:space-between;gap:12px;font-size:12px;padding:8px 0;color:#d0bfdc}.state-lines span:last-child{color:#cbb4ec}.wait-orb{height:140px;display:grid;place-items:center}.orb{width:92px;height:92px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#f1e9ff,#aa87de 45%,#39275d 75%);box-shadow:0 0 60px #a277e533;animation:breathe 3s ease-in-out infinite}.episode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.episode-grid button{min-height:62px;border:1px solid var(--line);border-radius:12px;background:#ffffff04;font-size:12px}.episode-grid small{display:block;color:var(--muted);margin-top:5px}.comparison{position:absolute;z-index:18;inset:110px 0 175px;--split:50%;pointer-events:none}.comparison blockquote{position:absolute;left:0;top:0;bottom:0;width:var(--split);margin:0;padding:75px 18px;background:#161321dd;color:#d7c8e4;font-size:14px;line-height:1.8;overflow:hidden}.comparison>p{position:absolute;left:20px;top:-35px;font-size:10px;color:#f4e7ffbd}.compare-divider{position:absolute;left:var(--split);top:0;bottom:0;width:1px;background:#fff}.compare-divider:after{content:"‹ ›";position:absolute;top:45%;left:-18px;width:36px;height:36px;border-radius:50%;background:#30233c;border:1px solid #fff8;display:grid;place-items:center}.comparison input{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:auto;touch-action:none}.comparison button{position:absolute;right:18px;bottom:-36px;font-size:11px;pointer-events:auto;background:#342840bb;padding:8px 12px;border-radius:12px}.danmaku{position:absolute;left:0;right:0;top:145px;height:85px;z-index:9;pointer-events:none;overflow:hidden;font-size:12px;color:#fff9}.danmaku>span{position:absolute;white-space:nowrap;animation:danmaku 12s linear 1 both;animation-play-state:paused;left:100%}.danmaku small{font-size:8px;position:absolute;top:35px;left:20px;color:#fff6}.blocked-card{position:absolute;z-index:23;inset:30% 25px auto;background:#1a1425ed;border:1px solid #d5bafa33;border-radius:18px;padding:24px;text-align:center}.blocked-card h2{font-size:18px}.blocked-card p{font-size:12px;color:var(--muted)}
.admin-body{background:#0e0c13}.admin-header{min-height:90px;padding:20px 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;gap:12px;align-items:center;font-size:20px;font-weight:550}.brand>.icon,.brand>span:first-child{width:35px;color:var(--light)}.brand small{display:block;font-size:9px;font-weight:400;letter-spacing:.08em;color:var(--muted);margin-top:6px}.admin-header nav{display:flex;gap:16px}.admin-header nav button{font-size:12px;color:var(--muted);min-height:42px;border-bottom:2px solid transparent}.admin-header nav button.selected{color:var(--text);border-color:var(--purple)}.admin-header>a:last-child{font-size:12px}.admin-notice{padding:10px 32px;background:#9b76ff0b;color:#b9aacb;font-size:11px;border-bottom:1px solid var(--line)}.admin-grid{display:grid;grid-template-columns:220px minmax(380px,1fr) minmax(360px,460px);gap:32px;max-width:1680px;margin:auto;padding:32px}.preset-sidebar{border-right:1px solid var(--line);padding-right:22px}.sidebar-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.sidebar-title h2{font-size:14px}.sidebar-title span{color:var(--light);font-size:12px}.preset-sidebar>.primary-button{width:100%;margin-bottom:20px}.preset-item{display:block;text-align:left;padding:15px 12px;border:1px solid transparent;border-radius:13px;width:100%;margin-bottom:8px;background:#ffffff03}.preset-item strong{display:block;font-size:12px;font-weight:500;overflow-wrap:anywhere}.preset-item small{font-size:10px;color:var(--muted);display:block;line-height:1.7;margin-top:5px}.preset-item.selected{border-color:#9b76ff66;background:#9b76ff0e}.editor-column{min-width:0;padding-right:4px}.editor-heading{display:flex;align-items:center;justify-content:space-between}.editor-heading h1{margin-bottom:8px}.field{display:flex;flex-direction:column;gap:9px;font-size:11px;color:#b7a9c5;margin:17px 0}.field input,.field select,.field textarea{width:100%;background:#19151f;color:#efe5f8;border:1px solid #ffffff1a;border-radius:9px;padding:12px;min-height:43px}.code-label{font-family:monospace;font-size:10px;color:#81748e;overflow-wrap:anywhere}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;align-items:end}.section-heading{display:flex;align-items:center;gap:8px;margin-top:28px;flex-wrap:wrap}.section-heading h2{margin-right:auto}.section-heading select{background:#1c1725;color:#d9cce8;border:1px solid var(--line);padding:10px;border-radius:9px;font-size:11px;max-width:150px}.component-row{border:1px solid var(--line);border-radius:11px;padding:12px;display:grid;grid-template-columns:minmax(100px,1fr) 64px 68px 90px;gap:8px;margin:8px 0;align-items:center;font-size:11px}.component-row input[type=number]{width:100%;padding:8px;background:#201a2a;color:#fff;border:1px solid var(--line);border-radius:7px}.component-row label{display:flex;gap:6px;align-items:center;min-width:0}.component-row>small{grid-column:1/-1;color:#8f819e;font-size:9px;overflow-wrap:anywhere}.component-row select{padding:8px;background:#201a2a;border:1px solid var(--line);color:#d7c4eb;border-radius:7px;font-size:10px;max-width:100%}.component-row input[type=checkbox],.check-row input{accent-color:var(--purple);width:15px;height:15px;flex-shrink:0}.component-extra{grid-column:1/-1;display:flex;gap:12px;align-items:center;font-size:10px;flex-wrap:wrap}.component-extra input[type=text]{background:#201a2a;border:1px solid var(--line);color:#fff;border-radius:6px;padding:7px;max-width:150px}.editor-actions{display:flex;gap:9px;flex-wrap:wrap;margin:24px 0 16px}.feedback{font-size:11px;line-height:1.8;color:#c4b4d5;padding:12px;background:#ffffff03;border:1px solid var(--line);border-radius:10px;white-space:pre-line;overflow-wrap:anywhere}.feedback.error{border-color:#c4778977;color:#f2c3cc}.advanced{margin:22px 0;color:#a998bc;font-size:11px}.advanced summary{cursor:pointer;padding:12px 0}.advanced textarea{display:block;width:100%;min-height:260px;background:#0d0a12;border:1px solid var(--line);color:#cdb9e0;font:10px/1.6 monospace;padding:12px;border-radius:8px;margin:10px 0}.section-title{margin-top:30px}.history-row{padding:12px 0;border-bottom:1px solid var(--line);font-size:11px;line-height:1.9}.history-row small{color:var(--muted);font-size:9px;display:block;overflow-wrap:anywhere}.preview-column{min-width:0;display:flex;flex-direction:column;align-items:center;border-left:1px solid var(--line);padding-left:26px}.preview-heading{width:100%;max-width:390px}.preview-heading h2{font-size:25px;letter-spacing:-.04em;font-weight:500;margin-top:7px}.preview-device{width:390px;height:780px;max-width:100%;border:1px solid #b198d338;box-shadow:0 20px 75px #0005;border-radius:26px;overflow:hidden;margin:14px 0 22px;background:#0b0b10;flex-shrink:0}.preview-device iframe{width:100%;height:100%;border:0;display:block}.preview-column>.feedback,.preview-column>.muted{width:100%;max-width:430px}.check-row{display:flex;gap:9px;align-items:center;font-size:12px;line-height:1.8;margin:16px 0;color:#c1b0cf}.assignment-row{display:grid;grid-template-columns:24px 42px minmax(0,1fr);gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.assignment-row img{width:42px;height:55px;object-fit:cover;border-radius:7px}.assignment-row strong{font-size:12px;font-weight:500}.assignment-row small{font-size:10px;color:var(--muted);display:block;line-height:1.8;overflow-wrap:anywhere}.review-event-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.review-event-buttons button{padding:12px;border:1px solid var(--line);border-radius:10px;font-size:11px;background:#ffffff03}.admin-body pre{max-height:300px;overflow:auto;font:10px/1.8 monospace;white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid var(--line);padding:14px;border-radius:10px;background:#0a080e;color:#b5a4c8}.admin-toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:14px 22px;max-width:min(90vw,600px);background:#322640f5;color:#f3e9fc;border:1px solid #ae89d44d;border-radius:12px;font-size:12px;z-index:100;display:none}.admin-toast.visible{display:block}@keyframes sheet-in{from{transform:translateY(70px);opacity:0}to{transform:none;opacity:1}}@keyframes breathe{50%{transform:scale(1.08)}}@keyframes danmaku{to{transform:translateX(calc(-100% - 100vw))}}
@media(max-width:1200px){.admin-grid{grid-template-columns:175px minmax(340px,1fr) 340px;padding:24px;gap:20px}.preview-column{padding-left:15px}.preview-device{width:320px}.admin-header{padding:20px}.component-row{grid-template-columns:minmax(90px,1fr) 55px 58px 75px;gap:5px}}@media(max-width:980px){.admin-grid{grid-template-columns:170px minmax(0,1fr)}.preview-column{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:24px 0}.admin-header{flex-wrap:wrap}.admin-header nav{order:3;width:100%;justify-content:center}.preview-device{width:390px}}@media(max-width:600px){.admin-grid{display:flex;flex-direction:column;padding:18px;gap:25px}.preset-sidebar{border-right:0;padding:0}.preset-sidebar #presetList{display:flex;overflow-x:auto;gap:7px}.preset-item{min-width:165px;margin:0}.sidebar-title{margin-bottom:4px}.field-grid{gap:10px}.admin-header{padding:17px;gap:15px}.admin-header>a:last-child{font-size:10px}.component-row{grid-template-columns:minmax(95px,1fr) 55px 58px 82px}.editor-heading h1{font-size:29px}.preview-device{max-width:100%}}@media(max-width:500px){.phone{width:100vw;height:100dvh}.product-body{background:#0b0b10}}@media(max-height:600px){.action-rail{top:106px;bottom:172px;gap:4px}.media-caption{bottom:125px}.media-caption h2{font-size:22px}.playback{bottom:92px}.bottom-nav{height:76px;padding-bottom:8px}.demo-badge{top:76px}.feed-header{top:16px}.action-button{min-height:48px}.action-button .icon{width:24px;height:24px}.avatar-circle{width:40px;height:40px}.pure-navigation{top:91px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* R2-C01: message views share business records; persistent navigation stays above route panels. */
.message-tabs{display:flex;gap:6px;position:sticky;top:44px;padding:10px 0;background:#17111ff5;z-index:2}.message-tabs button{flex:1;min-height:44px;border-radius:12px;font-size:12px;color:var(--muted)}.message-tabs button.selected{color:var(--light);background:#9b76ff22}.message-card{border:1px solid var(--line);border-radius:16px;margin:12px 0;background:#ffffff04;overflow:hidden}.message-main{display:block;width:100%;padding:17px;text-align:left}.message-main strong{font-size:14px;font-weight:550}.message-main small{display:block;color:var(--muted);font-size:11px;line-height:1.8;margin-top:9px;overflow-wrap:anywhere}.message-tools{display:flex;border-top:1px solid var(--line)}.message-tools button{min-height:44px;flex:1;font-size:11px;color:var(--light)}.message-card.is-read strong{color:var(--muted)}.empty-state{padding:40px 10px;text-align:center}.bottom-nav button.selected{color:var(--light)}.state-lines span:last-child{text-align:right;overflow-wrap:anywhere}

.component-detail{display:flex;flex-wrap:wrap;gap:12px;padding:3px 12px 16px;color:var(--muted);font-size:11px}.component-detail label{display:flex;align-items:center;gap:7px}.component-detail input,.component-detail select{max-width:190px;background:var(--surface-hi);border:1px solid var(--line);border-radius:7px;padding:7px;color:var(--text)}.component-detail small{display:block;width:100%;overflow-wrap:anywhere}
/* ENG-003 pager mechanics. Catalog visuals belong to catalog.css (UI agent). */
.channel-viewport{position:absolute;inset:0;overflow:hidden;z-index:0}.channel-track{height:100%;width:100%;display:flex;transform:translate3d(-200%,0,0);will-change:transform}.channel-panel{position:relative;width:100%;height:100%;flex:0 0 100%;min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;touch-action:pan-y;padding:0}.channel-panel.recommend-panel{padding:0;overflow:hidden;touch-action:none}.channel-panel[aria-hidden=true]{pointer-events:none}.channel-panel .catalog-grid{min-width:0}.catalog-config-section{border-top:1px solid var(--line);padding-top:18px;margin-top:20px}.catalog-config-row{display:flex;align-items:center;gap:10px;margin:10px 0;flex-wrap:wrap}.catalog-config-row input[type=text]{min-width:80px;width:130px}.catalog-config-row input[type=number]{width:65px}.catalog-config-row input,.catalog-config-row select{padding:9px;background:var(--surface);border:1px solid var(--line);border-radius:8px;color:var(--text)}
/* Scroll ownership stays on the channel panel so filter/return snapshots have one source. */
#channelTrack .channel-panel[data-channel=drama],#channelTrack .channel-panel[data-channel=square]{overflow-y:auto;touch-action:pan-y;scrollbar-width:none}
#channelTrack .channel-panel>.catalog-page{height:auto;min-height:100%;overflow:visible}
#channelTrack .catalog-search:has(input){max-width:none;border-radius:12px;padding:0 12px;margin-bottom:14px;justify-content:flex-start}
#channelTrack .catalog-search input{width:100%;min-width:0;border:0;background:transparent;color:var(--text);padding:12px 0;outline-offset:0}
/* ENG-004 account wiring: local recovery QR must remain readable, without an extra scroller. */
#privateRecoveryQR{display:block;max-width:100%;height:auto;margin:12px auto;background:#fff}
.account-form textarea{width:100%;min-height:80px;resize:vertical;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:12px}
.account-form .field input[type=checkbox]{width:20px;height:20px}
/* ENG-005 media and form mechanics; creator/reminder visuals belong to their UI files. */
.media-layer>img[data-role=current]{width:100%;height:100%;object-fit:contain;display:block;background:var(--bg)}
.creator-form input,.creator-form textarea,.creator-form select{max-width:100%;min-width:0}
.creator-admin-card pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:10px}
.admin-header nav{flex-wrap:wrap}
.startup-status{position:fixed;z-index:200;left:50%;top:42%;transform:translateX(-50%);max-width:90vw;border:1px solid var(--line);background:var(--surface);color:var(--text);padding:18px 22px;border-radius:14px;font-size:13px;text-align:center}.startup-status button{display:block;margin:12px auto 0;min-height:44px;border:1px solid var(--line);border-radius:10px;padding:8px 16px}

/* Unread counts mirror existing message read/delete state; no new financial events. */
.bottom-nav .nav-icon{position:relative;display:grid;place-items:center;min-width:24px;min-height:24px}
.unread-badge{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#f34c79;color:#fff;font-size:11px;font-weight:750;line-height:1;font-variant-numeric:tabular-nums;box-shadow:0 0 0 2px #111214;pointer-events:none}
.bottom-nav .nav-unread{position:absolute;top:-8px;right:-13px;z-index:1}
.message-tabs button{display:flex;align-items:center;justify-content:center;gap:4px}
.message-tabs .tab-unread{min-width:16px;height:16px;padding:0 4px;font-size:10px;box-shadow:none;flex-shrink:0}

/* R161: managed rows own a finite playback clock and are removed on finish. */
.danmaku>span[data-danmaku-managed]{animation:none;}
