:root{--text:#1f1d1a;--muted:#736d64;--bg:#f7f5f2;--card:#fff;--border:#e4dfd8;--accent:#8a2c1d;--accent-text:#fff;--ok:#1f7a4d;--warn:#9a6400;--err:#b3261e;--card-2:#faf9f6;--faint:#9a948a;--accent-soft:#f6e9e6;--warn-soft:#fef3e2;--err-soft:#fdecea;--blog:#1f8a4c;--blog-soft:#e5f4ec;--kakao:#8a6d00;--kakao-soft:#fbf3d1;--shorts:#c2410c;--shorts-soft:#fdeee4;--shadow:0 1px 2px #1e190f0d, 0 4px 16px #1e190f0a;color:var(--text);background:var(--bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font:15px/1.5 Pretendard,system-ui,Segoe UI,Apple SD Gothic Neo,Malgun Gothic,sans-serif}@media (prefers-color-scheme:dark){:root{--text:#ece8e2;--muted:#a39c92;--bg:#171513;--card:#211e1b;--border:#36312c;--accent:#d0664f;--accent-text:#171513;--ok:#5cc28f;--warn:#e0a940;--err:#f08a80;--card-2:#26221e;--faint:#7f7a70;--accent-soft:#3a2320;--warn-soft:#3a2e17;--err-soft:#3d1d1b;--blog:#4cc98a;--blog-soft:#1b3326;--kakao:#e6c64f;--kakao-soft:#352f17;--shorts:#f2955c;--shorts-soft:#3a261a;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{margin:0}h1,h2{margin:0 0 12px}h2{font-size:17px}button,input,select,textarea{font:inherit;color:inherit}button{border:1px solid var(--border);background:var(--card);cursor:pointer;border-radius:6px;padding:6px 12px}button.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}button:disabled{opacity:.6;cursor:default}input,select,textarea{border:1px solid var(--border);background:var(--bg);border-radius:6px;width:100%;padding:7px 9px}.shorts{max-width:1480px;font-size:14px}.shorts .sp{flex:1}.shorts .faint{color:var(--faint)}.shorts .warn-txt{color:var(--warn)}.sh-bar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.sh-tabs{border:1px solid var(--border);background:var(--card-2);border-radius:8px;padding:2px;display:inline-flex}.sh-tabs button{color:var(--muted);background:0 0;border:0;border-radius:6px;padding:5px 14px;font-weight:600}.sh-tabs button.on{background:var(--card);color:var(--text);box-shadow:0 1px 2px #00000014}.sh-gpu{color:var(--muted);align-items:center;gap:7px;font-size:13px;display:inline-flex}.shorts .dot{background:var(--faint);border-radius:50%;width:8px;height:8px}.shorts .dot.ok{background:var(--ok)}.shorts .dot.bad{background:var(--err)}.sh-cols{grid-template-columns:340px minmax(0,1fr);align-items:start;gap:16px;display:grid}.sh-list,.sh-detail{background:var(--card);border:1px solid var(--border);border-radius:12px;min-width:0;padding:14px}.sh-list ul{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.sh-new{width:100%}.sh-newbox{border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:8px;padding:10px;display:flex}.sh-newbox label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.row-actions{flex-wrap:wrap;gap:8px;display:flex}.sh-row{text-align:left;border:1px solid var(--border);background:var(--card);border-radius:9px;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;width:100%;padding:9px 10px;display:grid}.sh-row:hover{border-color:var(--muted)}.sh-row.on{border-color:var(--accent);background:var(--accent-soft)}.sh-row.past{opacity:.6}.sh-when{color:var(--muted);font-size:12px}.sh-when b{color:var(--text)}.sh-title{text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;font-weight:700;overflow:hidden}.sh-st{color:var(--muted);font-size:12px;font-weight:700}.sh-st.st-scenario_review,.sh-st.st-keyframes_review,.sh-st.st-final_review,.sh-st.st-approved{color:var(--accent)}.sh-st.st-published{color:var(--ok)}.sh-st.st-error{color:var(--err)}.sh-st.st-skipped{color:var(--faint)}.sh-due{color:var(--faint);text-align:right;grid-area:1/2;font-size:12px}.sh-due.hot{color:var(--accent);font-weight:700}.sh-d h2{letter-spacing:-.01em;text-wrap:balance;margin:8px 0 2px;font-size:18px}.sh-steps{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.sh-steps span{color:var(--faint);text-align:center;border-top:4px solid var(--border);padding-top:8px;font-size:12px}.sh-steps span.done{border-color:var(--ok);color:var(--muted)}.sh-steps span.now{border-color:var(--accent);color:var(--accent);font-weight:700}.sh-prog{background:var(--card-2);border:1px solid var(--border);border-radius:7px;height:26px;margin:8px 0;font-size:12.5px;position:relative;overflow:hidden}.sh-prog span{z-index:1;padding-left:10px;font-weight:600;line-height:24px;position:relative}.sh-prog i{background:var(--accent-soft);position:absolute;inset:0 auto 0 0}.warn-box{background:var(--warn-soft);color:var(--warn);border-radius:8px;margin:8px 0;padding:8px 12px}.warn-box ul{margin:4px 0 0 18px;padding:0}.sh-shots{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin:12px 0;display:grid}.sh-shot{border:1px solid var(--border);background:var(--card);border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.sh-shot.redo{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.sh-img{aspect-ratio:9/16;background:var(--card-2);place-items:center;max-height:300px;display:grid;position:relative;overflow:hidden}.sh-img img{object-fit:cover;width:100%;height:100%}.sh-cap{text-align:center;color:#fff;text-shadow:0 0 3px #000,0 0 6px #000;font-size:14px;font-weight:800;line-height:1.3;position:absolute;top:13%;left:6%;right:6%}.sh-cap.cs-hook{font-size:16px}.sh-cap.cs-accent{color:#f5c542}.sh-cap.cs-cta{text-shadow:none;background:#00000073;border-radius:4px;padding:6px;font-size:12.5px;top:58%}.sh-n{color:#fff;background:#0009;border-radius:5px;padding:0 6px;font-size:11px;position:absolute;top:6px;left:6px}.sh-kf{background:var(--warn);color:#fff;border-radius:5px;padding:0 6px;font-size:10.5px;font-weight:700;position:absolute;top:6px;right:6px}.sh-info{flex-direction:column;gap:3px;min-width:0;padding:8px 10px;font-size:13px;display:flex}.sh-info p{text-overflow:ellipsis;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.sh-info textarea{resize:vertical;padding:5px 7px;font-size:13px}.sh-redo{color:var(--accent);align-items:center;gap:6px;font-weight:600;display:flex}.sh-redo input{width:auto}.sh-final{grid-template-columns:300px minmax(0,1fr);gap:14px;margin:12px 0;display:grid}.sh-video{aspect-ratio:9/16;background:#000;border-radius:10px;width:100%}.sh-video.empty{color:#aaa;place-items:center;font-size:13px;display:grid}.sh-final-side{flex-direction:column;gap:8px;min-width:0;display:flex}.sh-meta b{color:var(--muted);font-size:12.5px}.sh-meta p{white-space:pre-wrap;margin:2px 0 0}.sh-actions{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;padding-top:10px;display:flex}.sh-actions label{align-items:center;gap:6px;display:inline-flex}.sh-actions label input{width:auto}.sh-url{width:260px}.btn-link{border-radius:6px;align-items:center;height:34px;padding:0 14px;font-weight:600;text-decoration:none;display:inline-flex}.btn-link.primary{background:var(--accent);color:var(--accent-text)}.sh-revise{flex-direction:column;gap:6px;margin-top:10px;display:flex}.sh-revise label{color:var(--muted);font-size:13px}.sh-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;display:grid}.sh-grid figure{border:1px solid var(--border);background:var(--card);border-radius:10px;flex-direction:column;margin:0;display:flex;overflow:hidden}.sh-grid figure.hidden-asset{opacity:.4}.sh-grid img{aspect-ratio:1;object-fit:cover;background:var(--card-2);width:100%}.sh-grid figcaption{flex-direction:column;gap:4px;padding:6px 8px;display:flex}.sh-grid .tags{flex-wrap:wrap;gap:4px;display:flex}.sh-grid .tag{margin:0}@media (width<=1000px){.sh-cols,.sh-final{grid-template-columns:minmax(0,1fr)}.sh-video{max-width:320px}}.sh-kf.sh-ai{background:var(--err);top:26px}.sh-ig{flex-basis:100%;margin:0}.sh-kf.sh-char{background:var(--accent);top:46px}.studio{flex-direction:column;gap:12px;max-width:1480px;font-size:14px;display:flex}.studio .sp{flex:1}.studio .faint{color:var(--faint)}.studio .warn-txt{color:var(--warn);margin:0}.studio h2{margin:0 0 8px;font-size:16px}.studio h3{margin:0;font-size:15px}.st-tabs{border:1px solid var(--border);background:var(--card-2);border-radius:8px;align-self:flex-start;padding:2px;display:inline-flex}.st-tabs button{color:var(--muted);background:0 0;border:0;border-radius:6px;padding:5px 14px;font-weight:600}.st-tabs button.on{background:var(--card);color:var(--text);box-shadow:0 1px 2px #00000014}.st-cols{grid-template-columns:420px minmax(0,1fr);align-items:start;gap:16px;display:grid}.st-card{background:var(--card);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:8px;min-width:0;padding:14px 16px;display:flex}.st-card label,.st-form label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.st-row{flex-wrap:wrap;gap:8px;display:flex}.st-row label{flex:120px}.st-seg{border:1px solid var(--border);background:var(--card-2);border-radius:8px;align-self:flex-start;padding:2px;display:inline-flex}.st-seg button{color:var(--muted);background:0 0;border:0;border-radius:6px;padding:5px 12px;font-size:13px;font-weight:600}.st-seg button.on{background:var(--card);color:var(--text);box-shadow:0 1px 2px #00000014}.st-base{align-items:center;gap:10px;display:flex}.st-base img,.st-empty{object-fit:cover;background:var(--card-2);width:72px;height:96px;color:var(--faint);border-radius:8px;place-items:center;font-size:12px;display:grid}.st-base>div{flex-direction:column;align-items:flex-start;gap:4px;min-width:0;display:flex}.st-base b{text-overflow:ellipsis;white-space:nowrap;max-width:280px;font-size:13px;overflow:hidden}.st-chars{border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;gap:6px;margin:0;padding:8px;display:flex}.st-chars legend{color:var(--muted);padding:0 4px;font-size:12.5px}.st-chars label{border:1px solid var(--border);cursor:pointer;border-radius:8px;flex-direction:row;align-items:center;gap:6px;padding:4px 8px 4px 4px}.st-chars label.on{border-color:var(--accent);background:var(--accent-soft)}.st-chars input{width:auto}.st-chars img{object-fit:cover;border-radius:4px;width:48px;height:28px}.st-chars span{color:var(--text);flex-direction:column;font-size:12.5px;display:flex}.st-chars small{color:var(--faint)}.st-check{align-items:center;flex-direction:row!important}.st-check input{width:auto}.st-gens{flex-direction:column;gap:10px;display:flex}.st-gen{border:1px solid var(--border);border-radius:10px;padding:10px}.st-gen p{margin:4px 0}.st-gen-head{align-items:center;gap:8px;display:flex}.st-st{color:var(--muted);font-size:12px;font-weight:700}.st-st.st-running,.st-st.st-pending{color:var(--accent)}.st-st.st-done{color:var(--ok)}.st-st.st-error{color:var(--err)}.st-results{flex-wrap:wrap;gap:8px;display:flex}.st-results figure,.st-sheets figure{flex-direction:column;gap:4px;margin:0;display:flex}.st-results img{object-fit:cover;background:var(--card-2);border-radius:8px;width:150px;height:220px}.st-sheets{flex-wrap:wrap;gap:10px;display:flex}.st-sheets img{border:1px solid var(--border);background:#fff;border-radius:8px;width:360px;max-width:100%}.st-char-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px;display:grid}.st-char img{border:1px solid var(--border);background:#fff;border-radius:8px;width:100%}.st-chars-page{flex-direction:column;gap:12px;display:flex}.st-picker{background:var(--card);z-index:41;border-radius:12px;flex-direction:column;display:flex;position:fixed;inset:5vh 5vw;overflow:hidden;box-shadow:0 10px 40px #00000040}.st-picker-head{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:12px 16px;display:flex}.st-picker-head h2{margin:0}.st-picker-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;padding:12px;display:grid;overflow:auto}.st-picker-grid button{background:var(--card-2);border:2px solid #0000;border-radius:8px;padding:0;position:relative;overflow:hidden}.st-picker-grid button:hover{border-color:var(--accent)}.st-picker-grid img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.st-picker-grid span{flex-wrap:wrap;gap:3px;display:flex;position:absolute;top:4px;left:4px}.st-picker-grid i{color:#fff;border-radius:4px;padding:0 5px;font-size:10.5px;font-style:normal;font-weight:700}.st-picker-grid i.ai{background:var(--err)}.st-picker-grid i.q{background:var(--warn)}@media (width<=1000px){.st-cols{grid-template-columns:minmax(0,1fr)}}.st-thumb{cursor:zoom-in;background:0 0;border:0;padding:0}.st-viewer{z-index:41;cursor:zoom-out;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:fixed;inset:3vh 3vw}.st-viewer img{background:#fff;border-radius:8px;max-width:100%;max-height:calc(94vh - 40px);box-shadow:0 10px 40px #0006}.st-viewer span,.st-viewer p{color:#fff;text-shadow:0 0 4px #000;font-size:13px}.st-motion{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding-top:8px;display:flex}.st-clip{aspect-ratio:9/16;background:#000;border-radius:8px;width:180px}.ch{color:#fff;background:var(--faint);letter-spacing:-.03em;border-radius:5px;flex:none;place-items:center;width:20px;height:20px;font-size:10.5px;font-weight:800;display:inline-grid}.ch.n,.ch.p{background:#03c75a}.ch.t{background:#eb531f}.ch.s{background:#e2a400}.ch.k{color:#3a2a00;background:#f2c400;font-size:7.5px}.ch.ig{background:linear-gradient(135deg,#f58529,#dd2a7b,#8134af);font-size:8.5px}.ch.yt{background:red;font-size:9px}.home{max-width:1480px;font-size:14px}.home h1,.home h2,.home p{margin:0}.home .sp{flex:1}.home .faint{color:var(--faint)}.home .empty{color:var(--muted);padding:4px 0;font-size:13px}.home .ellipsis{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.home .note{color:var(--faint);margin-top:10px;font-size:12px}.home-top{margin-bottom:14px}.home-top h1{letter-spacing:-.02em;text-wrap:balance;font-size:22px}.home-top p{color:var(--muted);margin-top:4px}.home .btn{border:1px solid var(--border);background:var(--card);white-space:nowrap;border-radius:8px;align-items:center;height:34px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.home .btn:hover:not(:disabled){border-color:var(--muted)}.home .btn.act{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.home .btn.ghost{color:var(--muted);background:0 0;border-color:#0000}.home .btn.sm{height:30px;padding:0 10px;font-size:12.5px}.home .link{color:var(--muted);background:0 0;border:0;padding:0;font-size:13px}.home .link:hover{color:var(--accent)}.home .tag,.approvals-page .tag{white-space:nowrap;border:0;border-radius:6px;align-items:center;margin:0;padding:1px 7px;font-size:12px;font-weight:700;display:inline-flex}.home .tag.ok{background:var(--blog-soft);color:var(--ok)}.home .tag.warn{background:var(--warn-soft);color:var(--warn)}.home .tag.bad{background:var(--err-soft);color:var(--err)}.home .tag.plain{border:1px solid var(--border);color:var(--muted);font-weight:600}.home .ok-line{color:var(--ok);margin:0 0 12px;font-size:13px}.health{background:var(--card);border:1px solid var(--border);color:var(--muted);border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px 18px;margin-bottom:14px;padding:8px 14px;font-size:13px;display:flex}.health .it{align-items:center;gap:7px;display:inline-flex}.dot{background:var(--faint);border-radius:50%;flex:none;width:8px;height:8px}.dot.ok{background:var(--ok)}.dot.warn{background:var(--warn)}.dot.bad{background:var(--err)}.incident{background:var(--err-soft);border:1px solid color-mix(in srgb, var(--err) 30%, transparent);border-radius:10px;flex-wrap:wrap;align-items:flex-start;gap:12px;margin-bottom:14px;padding:10px 14px;font-size:13px;display:flex}.incident .inc-main{flex:360px;min-width:0}.incident b{color:var(--err)}.incident p{color:var(--muted);margin-top:2px}.cols{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:16px;display:grid}.col-main,.col-side{flex-direction:column;gap:16px;min-width:0;display:flex}.home .card{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;min-width:0;margin:0;padding:16px 18px}.home .card h2{letter-spacing:-.01em;font-size:16px}.home .head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.home .head .sub{color:var(--faint);font-size:12.5px}.todo{flex-direction:column;display:flex}.td{border-top:1px solid var(--border);grid-template-columns:112px minmax(0,1fr) auto;align-items:center;gap:14px;padding:11px 2px;display:grid}.td:first-child{border-top:0;padding-top:2px}.due{font-variant-numeric:tabular-nums}.due b{font-size:14px;display:block}.due span{color:var(--faint);font-size:12px}.due.hot b{color:var(--accent)}.due.none b{color:var(--faint);font-weight:600}.td-main{min-width:0}.td-t{align-items:center;gap:8px;min-width:0;font-weight:700;display:flex}.td-s{color:var(--muted);margin-top:2px;font-size:13px}.td-s em{color:var(--err);font-style:normal;font-weight:600}.td-a{gap:6px;display:flex}.seg-tabs{border:1px solid var(--border);background:var(--card-2);border-radius:8px;padding:2px;display:inline-flex}.seg-tabs button{color:var(--muted);background:0 0;border:0;border-radius:6px;padding:4px 10px;font-size:13px;font-weight:600}.seg-tabs button.on{background:var(--card);color:var(--text);box-shadow:0 1px 2px #00000014}.pipe{border:1px solid var(--border);border-radius:10px;grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:10px;display:grid;overflow:hidden}.pp{border-left:1px solid var(--border);min-width:0;padding:8px 12px}.pp:first-child{border-left:0}.pp span{color:var(--muted);white-space:nowrap;font-size:12px;display:block}.pp b{font-variant-numeric:tabular-nums;font-size:20px}.pp.bad b{color:var(--err)}.pp.ok b{color:var(--ok)}.pp.act b{color:var(--accent)}.tbl-wrap{overflow-x:auto}.home table{border-collapse:collapse;width:100%;font-size:13px}.home th{text-align:left;color:var(--faint);border-bottom:1px solid var(--border);white-space:nowrap;padding:6px 8px;font-size:12px;font-weight:600}.home td{border-bottom:1px solid var(--border);vertical-align:middle;padding:7px 8px}.home tr:last-child td{border-bottom:0}.home td.when{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--muted)}.home td.when b{color:var(--text)}.home td.topic{width:50%;max-width:0}.row-link{text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;width:100%;padding:0;font-size:13px;display:block;overflow:hidden}.row-link:hover{color:var(--accent);text-decoration:underline}.home tr.skip .row-link{color:var(--faint);text-decoration:line-through}.home tr.today td{background:color-mix(in srgb, var(--accent-soft) 60%, transparent)}.stage{white-space:nowrap;align-items:center;gap:5px;font-size:12.5px;font-weight:600;display:inline-flex}.stage:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.st-plan{color:var(--faint)}.st-held{color:var(--warn)}.st-conf{color:var(--muted)}.st-draft{color:var(--accent)}.st-ok{color:var(--ok)}.st-bad{color:var(--err)}.home td.next{color:var(--muted);white-space:nowrap;font-size:12.5px}.kpis{grid-template-columns:1fr 1fr;gap:10px;display:grid}.kpi{border:1px solid var(--border);background:var(--card-2);border-radius:10px;min-width:0;padding:10px 12px}.kpi span{color:var(--muted);font-size:12px}.kpi b{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:22px;display:block}.kpi small{color:var(--faint);font-size:12px}.kpi .up{color:var(--ok);font-weight:700}.kpi .down{color:var(--err);font-weight:700}svg.spark{width:100%;height:56px;margin-top:10px;display:block}.spark-x{color:var(--faint);justify-content:space-between;font-size:11.5px;display:flex}.chlist{flex-direction:column;gap:6px;display:flex}.chr{border:1px solid var(--border);border-radius:9px;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.chr.warn{border-color:color-mix(in srgb, var(--warn) 45%, transparent);background:var(--warn-soft)}.chr>div{min-width:0}.chr b{font-size:13px}.chr p{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.chsum{color:var(--muted);font-size:12.5px;margin-top:8px!important}.idea{border-top:1px solid var(--border);padding:10px 0}.home .head+.idea,.home .empty+.idea{border-top:0;padding-top:0}.idea .from{color:var(--faint);align-items:center;gap:6px;min-width:0;font-size:12px;display:flex}.idea .to{margin:3px 0;font-size:13.5px;font-weight:700}.idea .row{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.idea .score{color:var(--text);font-variant-numeric:tabular-nums;font-weight:800}.warn-txt{color:var(--warn)}@media (width<=1200px){.cols{grid-template-columns:minmax(0,1fr)}}@media (width<=820px){.home-top h1{font-size:19px}.td{grid-template-columns:minmax(0,1fr);gap:6px}.td-a{flex-wrap:wrap}.pipe{grid-template-columns:repeat(3,minmax(0,1fr))}.pp:nth-child(4){border-left:0}.pp:nth-child(n+4){border-top:1px solid var(--border)}.home table{min-width:620px}}.rv-scrim{z-index:40;background:#140f0a59;position:fixed;inset:0}.rv-drawer{background:var(--card);border-left:1px solid var(--border);z-index:41;flex-direction:column;width:min(820px,100vw);font-size:14px;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-8px 0 30px #0000001f}.rv-drawer button{font-size:13px}.rv-head{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:12px 18px;display:flex}.rv-head h2{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:16px;overflow:hidden}.rv-head .sp,.rv-foot .sp{flex:1}.rv-left{color:var(--accent);white-space:nowrap;font-size:12px;font-weight:700}.rv-count{color:var(--faint);font-variant-numeric:tabular-nums;font-size:12px}.rv-icon{place-items:center;width:30px;height:30px;padding:0;display:grid}.rv-done{background:var(--blog-soft);color:var(--ok);margin:0;padding:8px 18px;font-size:13px}.rv-body{flex:1;grid-template-columns:minmax(0,1fr) 250px;display:grid;overflow:auto}.rv-preview{border-right:1px solid var(--border);max-width:70ch;padding:20px 26px 32px}.rv-cat{color:var(--ok);font-size:12px;font-weight:700}.rv-preview h3{letter-spacing:-.02em;text-wrap:balance;margin:6px 0 14px;font-size:21px;line-height:1.35}.rv-preview h4{margin:18px 0 8px;font-size:15px}.rv-preview p{margin:0 0 10px;line-height:1.75}.rv-preview li{margin:0 0 4px 18px;line-height:1.7}.rv-img{object-fit:cover;border-radius:8px;width:100%;max-height:300px;margin:6px 0 14px;display:block}.rv-img.empty{background:var(--card-2);border:1px dashed var(--border);height:120px;color:var(--faint);place-items:center;font-size:12px;display:grid}.rv-tags{color:var(--muted);font-size:13px}.rv-preview mark{background:var(--warn-soft);color:inherit;border-bottom:2px solid var(--warn);padding:0 1px}.rv-side{background:var(--card-2);flex-direction:column;gap:16px;padding:16px;font-size:12.5px;display:flex}.rv-side h4{color:var(--muted);margin:0 0 6px;font-size:12.5px}.rv-side p{color:var(--muted);margin:0 0 4px;line-height:1.55}.rv-side p.warn{color:var(--warn)}.rv-check{gap:6px;margin-bottom:5px;line-height:1.45;display:flex}.rv-check:before{content:"✓";color:var(--ok);flex:none;font-weight:800}.rv-check.warn:before{content:"!";color:var(--warn)}.rv-check.plain:before{content:"·";color:var(--faint)}.rv-err{color:var(--err);border-top:1px solid var(--border);margin:0;padding:8px 18px;font-size:13px}.rv-revise{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding:12px 18px;display:flex}.rv-revise label{color:var(--muted);font-size:13px}.rv-actions{gap:8px;display:flex}.rv-foot{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 18px;display:flex}.rv-foot button{height:36px;font-weight:600}.rv-keys{color:var(--faint);font-size:12px}.rv-empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:12px;padding:40px;display:flex}@media (width<=820px){.rv-body{grid-template-columns:minmax(0,1fr)}.rv-preview{border-right:0;padding:16px}.rv-keys{display:none}}.approvals-page{flex-direction:column;gap:12px;max-width:960px;display:flex}.ap-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.ap-row{text-align:left;border:1px solid var(--border);background:var(--card);border-radius:10px;grid-template-columns:130px 20px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:12px 14px;display:grid}.ap-row:hover{border-color:var(--accent)}.ap-when b{font-size:14px;display:block}.ap-when small{color:var(--faint);font-size:12px}.ap-row .ap-title{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.warn-tag{background:var(--warn-soft);color:var(--warn)}.ok-tag{background:var(--blog-soft);color:var(--ok)}.sc-row{text-align:left;background:var(--card);width:100%}.sc-row:hover{border-color:var(--accent)}.home .tag.act-tag{background:var(--accent-soft);color:var(--accent)}.chp{flex-direction:column;gap:14px;max-width:1320px;font-size:14px;display:flex}.chp .sp{flex:1}.chp .faint{color:var(--faint);margin:0}.chp h2{margin:0 0 10px;font-size:16px}.chp-bar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.chp-pills{flex-wrap:wrap;gap:8px;display:flex}.chp .pill{background:var(--card);border:1px solid var(--border);color:var(--muted);border-radius:10px;align-items:center;gap:7px;padding:6px 12px;font-size:12.5px;font-weight:600;display:inline-flex}.chp .pill b{color:var(--text);font-variant-numeric:tabular-nums;font-size:16px}.chp .pill.ok b{color:var(--ok)}.chp .pill.warn b{color:var(--warn)}.chp .pill.off b{color:var(--faint)}.chp-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px 18px}.chp-funnel{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.chp-stage{flex-direction:column;gap:6px;min-width:0;display:flex}.chp-stage.low{opacity:.85}.chp-stage-h{align-items:baseline;gap:8px;margin-bottom:2px;display:flex}.chp-stage-h b{font-size:13.5px}.chp-stage-h span{color:var(--faint);font-size:11.5px}.chp-row{border:1px solid var(--border);background:var(--card-2);border-radius:10px;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:4px 10px;padding:9px 10px;display:grid}.chp-row.warn{border-color:color-mix(in srgb, var(--warn) 45%, transparent);background:var(--warn-soft)}.chp-row .st-badge{grid-column:2;justify-self:start}.chp-main{min-width:0}.chp-name{align-items:center;gap:6px;font-size:13px;font-weight:700;display:flex}.chp-sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.chp .prio{border:1px solid var(--border);color:var(--muted);border-radius:5px;padding:0 5px;font-size:10px;font-weight:800}.chp .prio.p0{border-color:var(--accent);color:var(--accent)}.chp .st-badge{white-space:nowrap;border-radius:99px;align-items:center;gap:5px;padding:1px 8px;font-size:11px;font-weight:700;display:inline-flex}.chp .st-badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.chp .st-badge.on{color:var(--ok);background:var(--blog-soft)}.chp .st-badge.ready{color:var(--muted);border:1px solid var(--border);background:var(--card)}.chp .st-badge.login{color:var(--warn);border:1px solid var(--warn);background:var(--card)}.chp .st-badge.block,.chp .st-badge.error{color:var(--warn);background:var(--warn-soft)}.chp .st-badge.off{color:var(--faint)}.chp-accts{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;display:grid}.chp-acct{border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.chp-acct.warn{border-color:color-mix(in srgb, var(--warn) 45%, transparent);background:var(--warn-soft)}.chp-acct-h{justify-content:space-between;align-items:center;gap:8px;display:flex}.chp-acct ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.chp-acct li{align-items:center;gap:6px;font-size:13px;display:flex}.chp-acct li .st-badge{margin-left:auto}.chp-how{color:var(--text);margin:0}.chp-log{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.chp-log li{border-top:1px solid var(--border);grid-template-columns:130px 56px minmax(0,1fr);gap:10px;padding:7px 0;font-size:12.5px;display:grid}.chp-log li:first-child{border-top:0}.chp-when{color:var(--muted);font-variant-numeric:tabular-nums}.chp-st{font-weight:700}.chp-st.done{color:var(--ok)}.chp-st.error{color:var(--err)}.chp-st.running,.chp-st.pending{color:var(--accent)}.chp-what{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (width<=1100px){.chp-funnel{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.chp-funnel{grid-template-columns:minmax(0,1fr)}.chp-log li{grid-template-columns:1fr;gap:2px}}.cl{flex-direction:column;gap:10px;max-width:1480px;font-size:14px;display:flex}.cl .sp{flex:1}.cl-bar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.cl-title{letter-spacing:-.01em;font-variant-numeric:tabular-nums;margin:0 4px;font-size:18px}.cl-seg{border:1px solid var(--border);background:var(--card-2);border-radius:8px;padding:2px;display:inline-flex}.cl-seg button{color:var(--muted);background:0 0;border:0;border-radius:6px;padding:4px 11px;font-weight:600}.cl-seg button.on{background:var(--card);color:var(--text);box-shadow:0 1px 2px #00000014}.cl-filter{flex-wrap:wrap;gap:4px;display:inline-flex}.cl-filter button{color:var(--faint);border:1px solid var(--border);background:var(--card);border-radius:99px;align-items:center;gap:6px;padding:3px 10px;font-size:12.5px;font-weight:600;display:inline-flex}.cl-filter button.on{color:var(--text);border-color:var(--muted)}.cl-filter i{opacity:.35;border-radius:3px;width:9px;height:9px}.cl-filter button.on i{opacity:1}.cl-more{position:relative}.cl-menu{z-index:30;background:var(--card);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:2px;width:320px;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 30px #00000026}.cl-menu button{text-align:left;background:0 0;border:0;border-radius:7px;flex-direction:column;gap:1px;padding:8px 10px;font-weight:600;display:flex}.cl-menu button:hover:not(:disabled){background:var(--card-2)}.cl-menu small{color:var(--faint);font-size:12px;font-weight:400}.cl-sum{flex-direction:column;gap:6px;display:flex}.cl-pipe{border:1px solid var(--border);background:var(--card);border-radius:10px;grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.cl-pp{border-left:1px solid var(--border);min-width:0;padding:6px 12px}.cl-pp:first-child{border-left:0}.cl-pp span{color:var(--muted);white-space:nowrap;font-size:12px;display:block}.cl-pp b{font-variant-numeric:tabular-nums;font-size:18px}.cl-pp.bad b{color:var(--err)}.cl-pp.ok b{color:var(--ok)}.cl-pp.act b{color:var(--accent)}.cl-note{color:var(--muted);margin:0;font-size:12.5px}.cl-wrap{border:1px solid var(--border);background:var(--card);border-radius:12px;overflow-x:auto}.cl-week{min-width:1036px;display:grid}.cl-corner,.cl-day{background:var(--card);z-index:2;border-bottom:1px solid var(--border);position:sticky;top:0}.cl-day{border-left:1px solid var(--border);color:var(--muted);flex-direction:column;gap:3px;min-width:0;padding:8px 8px 6px;font-size:13px;display:flex}.cl-day b{color:var(--text)}.cl-day.sun b{color:var(--err)}.cl-day em{color:var(--accent-text);background:var(--accent);border-radius:99px;margin-left:5px;padding:0 6px;font-size:11px;font-style:normal;font-weight:700}.cl-day.today{background:color-mix(in srgb, var(--accent-soft) 70%, var(--card))}.cl-day.past{color:var(--faint)}.cl-season{color:var(--warn);background:var(--warn-soft);white-space:nowrap;text-overflow:ellipsis;border-radius:5px;max-width:100%;padding:0 6px;font-size:11px;font-weight:600;overflow:hidden}.cl-lane{border-bottom:1px solid var(--border);background:var(--card-2);flex-direction:column;justify-content:center;gap:2px;padding:8px 10px;font-size:13px;display:flex}.cl-lane i{border-radius:2px;width:18px;height:4px}.cl-lane small{color:var(--faint);font-size:11.5px}.cl-cell{border-left:1px solid var(--border);border-bottom:1px solid var(--border);flex-direction:column;gap:5px;min-width:0;min-height:96px;padding:6px;display:flex}.cl-cell.today{background:color-mix(in srgb, var(--accent-soft) 35%, transparent)}.cl-cell.past{background:color-mix(in srgb, var(--card-2) 60%, transparent)}.cl-cell.over{outline:2px dashed var(--accent);outline-offset:-3px}.cl-add{border:1px dashed var(--border);color:var(--faint);opacity:0;background:0 0;border-radius:8px;flex:1;min-height:30px;padding:0;font-size:16px}.cl-cell:hover .cl-add,.cl-add:focus-visible{opacity:1}.cl-add.sm{flex:0;width:22px;height:20px;min-height:0;margin-left:auto;font-size:13px;line-height:1}.cl-card{text-align:left;border:1px solid var(--border);border-left:4px solid var(--faint);background:var(--card);cursor:pointer;border-radius:8px;flex-direction:column;gap:2px;width:100%;padding:6px 8px 6px 10px;font-size:12.5px;line-height:1.35;display:flex}.cl-card:hover{border-color:var(--muted);border-left-color:inherit;box-shadow:var(--shadow)}.cl-card.sel{box-shadow:0 0 0 2px var(--accent)}.cl-card[draggable=true]{cursor:grab}.cl-top{font-variant-numeric:tabular-nums;align-items:center;gap:6px;display:flex}.cl-top b{font-size:12px}.cl-stage{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:700;overflow:hidden}.cl-warn{color:var(--warn);margin-left:auto;font-size:12px}.cl-topic{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:600;display:-webkit-box;overflow:hidden}.cl-next{color:var(--faint);font-size:11.5px}.cl-next.hot{color:var(--accent);font-weight:700}.cl-card.st-plan{border-left-color:var(--border)}.cl-card.st-held{border-left-color:var(--warn)}.cl-card.st-conf,.cl-card.st-drafting{border-left-color:var(--muted)}.cl-card.st-draft{border-left-color:var(--accent);background:color-mix(in srgb, var(--accent-soft) 40%, var(--card))}.cl-card.st-appr,.cl-card.st-pub{border-left-color:var(--ok)}.cl-card.st-skip,.cl-card.st-fail{border-left-color:var(--err);opacity:.55}.cl-card.st-skip .cl-topic{text-decoration:line-through}.cl-stage.st-draft{color:var(--accent)}.cl-stage.st-appr,.cl-stage.st-pub{color:var(--ok)}.cl-stage.st-skip,.cl-stage.st-fail{color:var(--err)}.cl-stage.st-held{color:var(--warn)}.cl-short{border-left-color:var(--accent);border-style:solid dashed dashed solid}.cl-short.st-sh-published,.cl-short.st-sh-approved{border-left-color:var(--ok)}.cl-short.st-sh-error{border-left-color:var(--err)}.cl-month{border:1px solid var(--border);background:var(--card);border-radius:12px;grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.cl-mhead{color:var(--muted);border-bottom:1px solid var(--border);background:var(--card-2);padding:6px 8px;font-size:12px;font-weight:600}.cl-mday{border-left:1px solid var(--border);border-bottom:1px solid var(--border);flex-direction:column;gap:3px;min-width:0;min-height:112px;padding:5px;display:flex}.cl-mday:nth-child(7n+1){border-left:0}.cl-mday.other{background:var(--card-2)}.cl-mday.other .cl-mdate b,.cl-mday.past .cl-mdate b{color:var(--faint)}.cl-mday.today{background:color-mix(in srgb, var(--accent-soft) 50%, var(--card))}.cl-mdate{align-items:center;gap:5px;min-width:0;font-size:12.5px;display:flex}.cl-chip{border:0;border-left:3px solid var(--border);background:var(--card-2);text-align:left;border-radius:5px;align-items:center;gap:5px;min-width:0;padding:2px 6px;font-size:11.5px;display:flex}.cl-chip i{border-radius:2px;flex:none;width:7px;height:7px}.cl-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cl-chip.st-draft{border-left-color:var(--accent)}.cl-chip.st-appr,.cl-chip.st-pub{border-left-color:var(--ok)}.cl-chip.st-skip,.cl-chip.st-fail{border-left-color:var(--err);opacity:.55;text-decoration:line-through}.cl-chip.st-held{border-left-color:var(--warn)}.cl-chip.sel{box-shadow:0 0 0 2px var(--accent)}.cl-chip-short{border-left-color:var(--accent);background:var(--accent-soft)}.cl-more-n{color:var(--muted);text-align:left;background:0 0;border:0;padding:0 4px;font-size:11.5px}.cl-drawer{background:var(--bg);border-left:1px solid var(--border);z-index:41;flex-direction:column;gap:10px;width:min(640px,100vw);padding:14px;display:flex;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-8px 0 30px #0000001f}.cl-drawer .slot-editor{margin:0}.cl-drawer-tip{background:var(--accent-soft);color:var(--accent);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 12px;font-size:13px;font-weight:600;display:flex}.cl-next-line{color:var(--muted);font-size:13px}.cl-next-line b{color:var(--text)}.cl-addbox{z-index:41;width:min(460px,92vw);position:fixed;top:18vh;left:50%;transform:translate(-50%);box-shadow:0 10px 40px #0003}@media (width<=820px){.cl-pipe{grid-template-columns:repeat(4,minmax(0,1fr))}.cl-pp:nth-child(5){border-left:0}.cl-pp:nth-child(n+5){border-top:1px solid var(--border)}.cl-month{font-size:12px}.cl-mday{min-height:84px}}.cl-short-in{align-items:flex-start;gap:7px;min-width:0;display:flex}.cl-short-thumb{object-fit:cover;background:#111;border-radius:5px;flex:none;width:34px;height:60px}.cl-short-thumb.empty{color:#fff;place-items:center;font-size:12px;display:grid}.cl-short-txt{flex-direction:column;gap:2px;min-width:0;display:flex}.shell{grid-template-columns:224px minmax(0,1fr);min-height:100vh;display:grid}.side{background:var(--card);border-right:1px solid var(--border);flex-direction:column;gap:2px;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.logo{letter-spacing:-.02em;align-items:center;gap:10px;padding:4px 8px 16px;font-size:17px;font-weight:800;display:flex}.logo-mark{background:var(--accent);width:30px;height:30px;color:var(--accent-text);border-radius:9px;flex:none;place-items:center;font-size:15px;display:grid}.logo small{color:var(--faint);letter-spacing:0;font-size:11px;font-weight:500;display:block}.nav-group{color:var(--faint);padding:12px 10px 4px;font-size:11px;font-weight:600}.nav-item{width:100%;color:var(--muted);text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;padding:8px 10px;font-size:14px;font-weight:500;display:flex}.nav-item:hover{background:var(--card-2);color:var(--text)}.nav-item.on{background:var(--accent-soft);color:var(--accent);font-weight:700}.nav-item svg{flex:none;width:17px;height:17px}.nav-badge{background:var(--accent);color:var(--accent-text);border-radius:99px;margin-left:auto;padding:0 7px;font-size:11px;font-weight:700}.side-foot{flex-direction:column;gap:8px;margin-top:auto;padding-top:12px;display:flex}.store{border:1px solid var(--border);background:var(--card-2);border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.store-img{background:linear-gradient(135deg,#5b1d17,#a8463a);border-radius:9px;flex:none;width:32px;height:32px}.store b{font-size:13px;display:block}.store span{color:var(--faint);font-size:11px}.who{color:var(--muted);word-break:break-all;flex-wrap:wrap;align-items:center;gap:6px;padding:0 4px;font-size:12px;display:flex}.who button{padding:3px 9px;font-size:12px}.shell-main{min-width:0;padding:20px 28px 48px}.shell-bar{flex-wrap:wrap;align-items:center;gap:12px;min-height:32px;margin-bottom:18px;display:flex}.shell-bar h1{letter-spacing:-.02em;margin:0;font-size:20px}.shell-bar .sp{flex:1}.srv{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.led{background:var(--faint);border-radius:50%;flex:none;width:8px;height:8px}.led.ok{background:var(--ok)}.led.warn{background:var(--warn)}.led.bad{background:var(--err)}.shell-page{max-width:960px}.mobile-only,.bottom-nav{display:none}@media (width<=820px){.shell{grid-template-columns:minmax(0,1fr)}.side{display:none}.shell-main{padding:14px 16px 88px}.mobile-only{display:inline-flex}.bottom-nav{background:var(--card);border-top:1px solid var(--border);padding:6px 4px calc(8px + env(safe-area-inset-bottom));z-index:20;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{color:var(--muted);background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;padding:2px 0;font-size:10.5px;display:flex;position:relative}.bottom-nav button.on{color:var(--accent);font-weight:700}.bottom-nav svg{width:21px;height:21px}.bottom-nav .nav-badge{margin:0;padding:0 5px;font-size:9.5px;position:absolute;top:-3px;left:56%}.more-sheet{background:var(--card);border:1px solid var(--border);z-index:21;border-radius:14px;flex-direction:column;gap:2px;padding:8px;display:flex;position:fixed;bottom:70px;left:8px;right:8px;box-shadow:0 8px 30px #00000026}}.center{flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:100svh;padding:16px;display:flex}.page{max-width:880px;margin:0 auto;padding:0 16px 48px}.topbar{background:var(--bg);border-bottom:1px solid var(--border);z-index:1;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;padding:14px 0;display:flex;position:sticky;top:0}.spacer{flex:1}.muted{color:var(--muted)}.small,.worker{font-size:13px}.worker:before{content:"●";margin-right:4px}.worker.on:before{color:var(--ok)}.worker.off:before{color:var(--err)}.notice{border:1px solid var(--err);border-radius:8px;padding:14px}.card{background:var(--card);border:1px solid var(--border);border-radius:10px;margin-bottom:20px;padding:18px}.form{flex-direction:column;gap:12px;display:flex}.form label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.form .row{flex-wrap:wrap;gap:12px;display:flex}.form .row label{flex:200px}.form button{align-self:flex-start}.jobs{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.job{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:6px;padding:12px;display:flex}.job-head{flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.job-title{font-weight:600}.job a{word-break:break-all;font-size:13px}.actions{gap:8px;display:flex}.actions:empty{display:none}.log{background:var(--bg);white-space:pre-wrap;border-radius:6px;max-height:160px;margin:0;padding:8px;font-size:12px;overflow:auto}.tabs{gap:6px;margin-bottom:16px;display:flex}.tabs button.active{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}button.link{color:var(--accent);background:0 0;border:none;padding:0;text-decoration:underline}button.danger{border-color:var(--err);color:var(--err)}.err{color:var(--err)}code{background:var(--bg);border-radius:4px;padding:1px 4px;font-size:12px}.image-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.image-card{border:1px solid var(--border);border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.image-card img,.thumb-empty{aspect-ratio:4/3;object-fit:cover;background:var(--bg);width:100%;display:block}.viz-root{--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--grid:#ebe7e1;--axis:#c9c3ba;--ink-muted:#898781}@media (prefers-color-scheme:dark){.viz-root{--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--grid:#302c28;--axis:#45403a;--ink-muted:#948d84}}.source-switch{margin-bottom:14px}.cal-filter label{cursor:pointer;align-items:center;gap:4px;display:inline-flex}.cal-filter input{width:auto}.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:10px 0 20px;display:grid}.cal-head{color:var(--muted);text-align:center;padding:2px 0;font-size:12px}.cal-day{background:var(--card);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:4px;min-width:0;min-height:150px;padding:6px;display:flex}.cal-grid.month .cal-day{min-height:96px}.cal-day.today{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.cal-day.other{opacity:.45}.cal-day.past{background:var(--bg)}.cal-date{color:var(--muted);justify-content:space-between;align-items:center;font-size:12px;display:flex}.cal-date .link{font-size:16px;line-height:1;text-decoration:none}.cal-slot{text-align:left;border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:6px;flex-direction:column;align-items:stretch;gap:1px;min-width:0;padding:4px 6px;font-size:12px;display:flex}.cal-slot.sel{outline:2px solid var(--accent)}.cal-slot[draggable=true]{cursor:grab}.slot-line{color:var(--muted);white-space:nowrap;align-items:center;gap:4px;min-width:0;display:flex;overflow:hidden}.slot-line .key{flex-shrink:0}.slot-line span{text-overflow:ellipsis;overflow:hidden}.slot-topic{text-overflow:ellipsis;-webkit-line-clamp:2;word-break:break-all;-webkit-box-orient:vertical;font-weight:600;display:-webkit-box;overflow:hidden}.slot-status{color:var(--muted)}.slot-status b,.slot-state b{text-align:center;width:14px;display:inline-block}.cal-slot.st-approved .slot-status,.slot-state.st-approved{color:var(--warn)}.cal-slot.st-published .slot-status,.slot-state.st-published{color:var(--ok)}.cal-slot.st-failed .slot-status,.cal-slot.st-missed .slot-status,.slot-state.st-failed,.slot-state.st-missed{color:var(--err)}.cal-slot.st-skipped{opacity:.6}.cal-grid.month .slot-topic{-webkit-line-clamp:1}.slot-status.confirmed{color:var(--accent)}.week-progress{flex-wrap:wrap;gap:4px 14px;margin:6px 0;display:flex}.week-progress .confirmed{color:var(--accent)}.ok-msg{color:var(--ok)}.confirm-box{border:1px dashed var(--border);border-radius:8px;margin:8px 0;padding:8px 12px}.confirm-box.on{border:1px solid var(--accent)}.confirm-box.on p b{color:var(--accent)}.confirm-box p{margin:0 0 6px;font-size:13px}.cal-slot.st-planned:has(.slot-status.confirmed){border-left:3px solid var(--accent)}.delta-up{color:var(--ok)}.delta-down{color:var(--err)}.suggestions{flex-direction:column;gap:4px;margin:0;padding-left:18px;display:flex}.slot-metrics{gap:16px;font-size:13px;display:flex}.slot-metrics b{font-size:16px}.draft-tools{flex-direction:column;gap:4px;display:flex}.draft-tools p{margin:0}.draft-tools ul{margin:2px 0 0;padding-left:18px}.plan-info{border:1px solid var(--border);background:var(--bg);border-radius:8px;padding:8px 12px}.plan-info h3{margin:0 0 6px;font-size:14px}.plan-info dl{grid-template-columns:90px 1fr;gap:4px 10px;margin:0;font-size:13px;display:grid}.plan-info dt{color:var(--muted)}.plan-info dd{margin:0}.plan-info ul{margin:0;padding-left:16px}.slot-editor fieldset{border:none;flex-direction:column;gap:12px;margin:0;padding:0;display:flex}.slot-editor h3{margin:6px 0 0;font-size:14px}.slot-editor h2 .key{vertical-align:middle}@media (width<=720px){.cal-grid.week{grid-template-columns:1fr}.cal-grid.week .cal-head{display:none}.cal-day{min-height:0}}.login-form{width:min(320px,100%)}.login-form button{align-self:stretch}input.filter{max-width:280px;margin:6px 0 10px}.fact-group h3{margin:16px 0 4px;font-size:14px}.fact-group.problems{border:1px solid var(--err);border-radius:8px;padding:4px 12px 8px}.fact-label{width:32%;font-size:13px;font-weight:600}.fact-status{color:var(--err)}.fact-status b{text-align:center;width:14px;display:inline-block}.table-wrap.tall{max-height:560px}label.inline{align-items:center;gap:6px;flex-direction:row!important}label.inline input{width:auto}.stats-bar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.seg{border:1px solid var(--border);border-radius:8px;display:inline-flex;overflow:hidden}.seg button{background:var(--card);border:none;border-radius:0}.seg button+button{border-left:1px solid var(--border)}.seg button.active{background:var(--accent);color:var(--accent-text)}.stat-status{color:var(--muted);font-size:13px}.stat-status b{text-align:center;width:16px;display:inline-block}.stat-status.ok b{color:var(--ok)}.stat-status.login_required,.stat-status.error{color:var(--err)}.tiles{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-bottom:20px;display:grid}.tile{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:12px 14px}.tile.hero{grid-column:span 2}.tile-label{color:var(--muted);font-size:12px}.tile-value{margin-top:2px;font-size:26px;font-weight:600}.tile.hero .tile-value{font-size:40px}.tile-sub{color:var(--muted);font-size:12px}.card-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.chart{position:relative}.chart svg{display:block;overflow:visible}.axis text{fill:var(--ink-muted);font-variant-numeric:tabular-nums;font-size:11px}.axis .grid{stroke:var(--grid);stroke-width:1px}.axis .baseline{stroke:var(--axis);stroke-width:1px}.end-label{fill:var(--text);font-size:12px;font-weight:600}.ring{stroke:var(--card);stroke-width:2px}.crosshair{stroke:var(--axis);stroke-width:1px}.col.hover path{opacity:.8}.legend{color:var(--muted);flex-wrap:wrap;gap:14px;margin:4px 0 6px;font-size:12px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.key{display:inline-block}.key.line{border-radius:1px;width:14px;height:2px}.key.rect{border-radius:2px;width:10px;height:10px}.viz-tip{pointer-events:none;background:var(--card);border:1px solid var(--border);border-radius:8px;min-width:130px;padding:8px 10px;font-size:12px;position:absolute;top:28px;box-shadow:0 4px 14px #0000001f}.tip-date{color:var(--muted);margin-bottom:4px}.tip-row{align-items:center;gap:6px;display:flex}.tip-row b{font-variant-numeric:tabular-nums;min-width:28px}.tip-row span{color:var(--muted)}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:0 20px;display:grid}.rank h3{color:var(--muted);margin:12px 0 4px;font-size:13px;font-weight:600}.table-wrap{max-height:360px;overflow:auto}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);padding:6px 8px;font-size:12px;font-weight:600}.data-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:6px 8px}.data-table.compact td{padding:4px 8px}.data-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.bar-cell{width:30%;min-width:60px;vertical-align:middle!important}.inline-bar{background:var(--series-1);border-radius:0 4px 4px 0;min-width:2px;height:10px;display:block}.tag{border:1px solid var(--accent);color:var(--accent);white-space:nowrap;border-radius:999px;margin-left:6px;padding:0 6px;font-size:11px}.warn{color:var(--warn)}.log.preview{max-height:220px}.rewrite-box,.editor{border-top:1px dashed var(--border);flex-direction:column;gap:8px;padding-top:10px;display:flex}.rewrite-box label,.editor label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.editor .row{flex-wrap:wrap;gap:12px;display:flex}.editor .row label{flex:200px}.image-card.awaiting{border-color:var(--warn);border-style:dashed}.image-meta a{font-size:12px}.image-meta{flex-direction:column;gap:4px;padding:8px 10px 10px;display:flex}.image-name{word-break:break-all;font-size:13px;font-weight:600}.row-inline{gap:6px;display:flex}.picker{flex-direction:column;gap:8px;display:flex}.picker>button{align-self:flex-start}.picker-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.picker-item{text-align:left;flex-direction:column;align-items:stretch;gap:4px;width:100%;padding:4px;display:flex}.picker-item img{aspect-ratio:1;object-fit:cover;border-radius:4px;width:100%}.picker-item span{word-break:break-all}.badge.img-saved{color:var(--ok)}.badge.img-uploading,.badge.img-pending_save,.badge.img-pending_delete{color:var(--warn)}.badge.img-missing,.badge.img-error{color:var(--err)}.badge{border:1px solid;border-radius:999px;padding:1px 8px;font-size:12px}.badge.draft{color:var(--muted)}.badge.pending,.badge.running{color:var(--warn)}.badge.done{color:var(--ok)}.badge.error{color:var(--err)}.key-state{border-bottom:1px solid var(--border);padding:8px 0;font-size:13px}.key-state.ok b:first-child{color:var(--ok)}.key-state.error b:first-child{color:var(--err)}.key-state code{font-size:12px}.comp-tier h3{margin:16px 0 6px;font-size:15px}.data-table tr.comp-excluded td,.data-table tr.off td{opacity:.5}.data-table tr.comp-confirmed td:first-child{color:var(--accent)}.data-table td.nowrap{white-space:nowrap}.data-table td.nowrap button{margin-right:4px}.kw-row{grid-template-columns:110px 1fr auto;align-items:center;gap:8px;margin:6px 0;display:grid}@media (width<=600px){.kw-row{grid-template-columns:1fr}}.add-comp{border:1px dashed var(--border);border-radius:8px;margin:8px 0;padding:10px 12px}.subtabs{gap:6px;margin-bottom:14px;display:flex}.subtabs button.active{border-color:var(--accent);color:var(--accent);font-weight:600}label.inline{align-items:center;gap:6px;display:inline-flex}.feed-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.feed-item{border:1px solid var(--border);border-radius:8px;padding:10px 14px}.feed-item.rel-3{border-left:3px solid var(--accent)}.feed-meta{flex-wrap:wrap;gap:4px 12px;display:flex}.feed-meta .rel{color:var(--accent)}.feed-title{margin:4px 0;font-weight:600;display:block}.feed-summary{margin:4px 0;font-size:14px}.feed-tags .tag:first-child{margin-left:0}.tag.comp{border-color:var(--err);color:var(--err)}.feed-idea{margin:6px 0 0}.feed-item .actions{margin-top:6px}.tier-head{margin:20px 0 8px;font-size:15px}.comp-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;display:grid}.comp-card{margin:0}.comp-card.watch-blocked,.comp-card.watch-none{opacity:.8}.watch-state{margin:6px 0}.comp-card.watch-auto .watch-state b{color:var(--ok)}.comp-card.watch-blocked .watch-state b{color:var(--err)}.page-states{margin:4px 0 8px;padding-left:18px}.page-states li.err{color:var(--err)}.comp-summary{margin:6px 0;font-size:13px}.price-block{margin:6px 0}.change-list{flex-direction:column;gap:6px;margin:0;padding-left:18px;display:flex}.change-list.compact{gap:4px}.diff{background:var(--bg,transparent);border:1px solid var(--border);white-space:pre-wrap;border-radius:6px;max-height:240px;padding:6px;font-size:12px;overflow:auto}.change-list .imp{color:var(--accent);font-weight:600}.div-bars{flex-direction:column;gap:6px;margin-top:6px;display:flex}.div-row{grid-template-columns:1fr 104px 1fr;align-items:center;gap:8px;font-size:13px;display:grid}.div-neg,.div-pos{align-items:center;gap:6px;height:16px;display:flex}.div-track{flex:1;height:14px;display:flex}.div-neg .div-track{justify-content:flex-end}.div-neg i,.div-pos i{min-width:3px;height:14px;display:block}.div-neg i{background:var(--series-2);border-radius:4px 0 0 4px}.div-pos i{background:var(--series-1);border-radius:0 4px 4px 0}.div-label{text-align:center;color:var(--muted);font-size:12px}.div-val{font-variant-numeric:tabular-nums;min-width:16px;font-size:12px}.div-neg .div-val{text-align:right}.hbar-row{grid-template-columns:84px 1fr 32px;align-items:center;gap:8px;margin:4px 0;font-size:13px;display:grid}.hbar{height:12px;display:block}.hbar i{background:var(--series-1);border-radius:0 4px 4px 0;min-width:3px;height:12px;display:block}.hbar-label{color:var(--muted);font-size:12px}.opp-list,.note-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.opp-list li,.note-list li{border-bottom:1px solid var(--border);padding-bottom:8px}.opp-pos,.opp-neg{border:1px solid;border-radius:999px;margin-right:4px;padding:0 6px;font-size:11px;display:inline-block}.opp-pos{color:var(--series-1);border-color:var(--series-1)}.opp-neg{color:var(--series-2);border-color:var(--series-2)}.update-banner{top:env(safe-area-inset-top,0px);z-index:20;border:1px solid var(--accent);background:var(--bg,#fff);border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-bottom:10px;padding:10px 14px;font-size:14px;display:flex;position:sticky;box-shadow:0 2px 8px #00000014}.update-banner b{color:var(--accent)}.update-banner button{margin-left:auto}.trend-item.strong{border-left:3px solid var(--accent)}.trend-total{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:700}.trend-total small{color:var(--muted);font-weight:400}.trend-context{margin:2px 0 6px}.trend-joseph{margin:6px 0;font-size:14px}.trend-joseph b{color:var(--accent);margin-right:6px}.tag.muted-tag{border-color:var(--border);color:var(--muted)}.trend-scores{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:4px 14px;margin:6px 0;display:grid}.trend-scores .score{grid-template-columns:64px 1fr 14px;align-items:center;gap:6px;display:grid}.trend-scores .bar{background:var(--border);border-radius:3px;height:6px;overflow:hidden}.trend-scores .bar i{background:var(--accent);height:100%;display:block}.trend-scores .score.zero{color:var(--err)}.trend-scores .num{text-align:right;font-variant-numeric:tabular-nums}.warn-text{color:var(--err)}
