:root{--bg:#f6f7f9;--card:#fff;--ink:#14161a;--mut:#6b7280;--line:#e5e7eb;--acc:#2563eb;--ok:#16a34a;--go:#2563eb;--wait:#d97706;--no:#dc2626}@media (prefers-color-scheme:dark){:root{--bg:#0f1115;--card:#171a20;--ink:#e8eaed;--mut:#9aa0aa;--line:#272b33;--acc:#5b8cff;--ok:#22c55e;--go:#5b8cff;--wait:#f59e0b;--no:#ef4444}}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font:15px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}a{color:inherit}.wrap{max-width:1240px;margin:0 auto;padding:0 20px 64px}.topbar{border-bottom:1px solid var(--line);background:var(--card);position:-webkit-sticky;position:sticky;top:0;z-index:20}.topbar-in{max-width:1240px;margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:22px;height:56px}.brand{font-weight:700;letter-spacing:-.01em;text-decoration:none}.nav{display:flex;gap:4px;margin-left:6px}.nav a{text-decoration:none;color:var(--mut);font-size:14px;padding:6px 11px;border-radius:8px}.nav a:hover,.nav a[data-active=true]{background:var(--bg);color:var(--ink)}.nav a[data-active=true]{font-weight:600}.spacer{flex:1 1}.logout{background:none;border:1px solid var(--line);color:var(--mut);font-size:13px;padding:6px 12px;border-radius:8px;cursor:pointer}.logout:hover{color:var(--ink)}h1{font-size:24px;margin:26px 0 6px;letter-spacing:-.01em}h2{font-size:18px;margin:34px 0 12px}.sub{font-size:13.5px;margin-bottom:18px}.sub,.warn{color:var(--mut)}.warn{font-size:13px;margin:12px 0 20px;max-width:780px;border-left:3px solid var(--wait);padding:8px 0 8px 12px}.tiles{display:grid;grid-gap:12px;gap:12px;margin:20px 0 8px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.tile{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px}.tile .k{color:var(--mut);font-size:12px;display:block;margin-bottom:5px}.tile .v{font-size:24px;font-weight:650;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tile .n{color:var(--mut);font-size:11.5px;margin-top:3px}.funnel{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 4px}.step{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:9px 14px;font-size:13px;display:flex;gap:9px;align-items:baseline}.step b{font-size:17px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:18px 0 20px}input,select{padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);font-size:14px;font-family:inherit}#q{flex:1 1;min-width:220px;max-width:340px}label.tog{display:flex;gap:6px;align-items:center;font-size:13.5px;color:var(--mut)}.grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:15px;display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:border-color .12s,transform .12s}a.card:hover{border-color:var(--acc);transform:translateY(-1px)}.head{display:flex;gap:12px;align-items:flex-start}.ava{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:none;background:var(--line)}.ava--empty{display:grid;place-items:center;font-weight:600;color:var(--mut)}.ava--lg{width:84px;height:84px}.who{min-width:0}.name{font-weight:600}.nick{font-size:13px;text-decoration:none}.nick,.role{color:var(--mut)}.role{font-size:12px;margin-top:3px}.chips{display:flex;gap:6px;margin:12px 0 10px;flex-wrap:wrap}.chip{font-size:11px;padding:3px 8px;border-radius:20px;color:#fff;white-space:nowrap}.chip--ok{background:var(--ok)}.chip--go{background:var(--go)}.chip--wait{background:var(--wait)}.chip--no{background:var(--no)}.chip--muted{background:transparent;color:var(--mut);border:1px solid var(--line)}.slots{display:grid;grid-template-columns:1fr 1fr;grid-gap:7px 14px;gap:7px 14px;border-top:1px solid var(--line);padding-top:11px}.slots--one{grid-template-columns:1fr}.slot{display:flex;justify-content:space-between;font-size:12.5px;gap:8px}.k{color:var(--mut);white-space:nowrap}.v{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:500}.last{margin-top:auto;padding-top:11px;border-top:1px solid var(--line);font-size:12.5px}.lbl{display:block;color:var(--mut);font-size:11px;margin-bottom:3px}.last--empty{color:var(--mut);font-style:italic}.hidden{display:none}.back{color:var(--mut);font-size:13px;text-decoration:none;display:inline-block;margin:22px 0 4px}.back:hover{color:var(--acc)}.profile{display:flex;gap:18px;align-items:flex-start;margin:10px 0 4px}.panel{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:16px 18px}.cols{grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.cols,.rows{display:grid}.rows{grid-gap:8px;gap:8px}.rows .slot{font-size:13px}.tl{display:grid;grid-gap:10px;gap:10px}.tl-item{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:13px 15px}.tl-top{display:flex;gap:9px;align-items:baseline;flex-wrap:wrap;margin-bottom:7px}.tl-date{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;font-size:13px}.tl-metrics{display:flex;gap:18px;flex-wrap:wrap;font-size:12.5px;border-top:1px solid var(--line);padding-top:9px;margin-top:9px}.tl-metrics span{color:var(--mut)}.tl-metrics b{color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.reels{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));align-items:start}.reel{background:var(--card);border:1px solid var(--line);border-radius:13px;overflow:hidden}.cover{display:block;width:100%;height:auto;background:var(--line)}.reel-body{padding:12px 14px 14px}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px}.login-box{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:28px;width:100%;max-width:360px}.login-box h1{margin:0 0 6px;font-size:20px}.login-box p{color:var(--mut);font-size:13.5px;margin:0 0 20px}.login-box input{width:100%;margin-bottom:12px}.login-box button{width:100%;padding:10px;border:none;border-radius:9px;background:var(--acc);color:#fff;font-size:14.5px;font-weight:600;cursor:pointer;font-family:inherit}.err{color:var(--no);font-size:13px;margin-bottom:12px}.empty{color:var(--mut);font-style:italic;padding:20px 0}.err-box{border:1px solid var(--no);border-radius:12px;padding:16px 18px;color:var(--no);font-size:14px;margin:20px 0}.btn{border:none;border-radius:9px;background:var(--acc);color:#fff;font:600 14px/1 inherit;font-family:inherit;padding:10px 16px;cursor:pointer}.btn:disabled{opacity:.5;cursor:default}.btn-big{border:none;border-radius:13px;background:var(--acc);color:#fff;font-family:inherit;font-size:17px;font-weight:650;padding:18px 30px;cursor:pointer;box-shadow:0 2px 10px rgba(37,99,235,.28)}.btn-big:hover{filter:brightness(1.07)}.add-form{display:grid;grid-gap:10px;gap:10px;max-width:620px}.add-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.add-row>input{flex:1 1;min-width:180px}.okmsg{color:var(--ok);font-size:13px}.cta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:4px 0 8px}.cta .hint{color:var(--mut);font-size:13px;max-width:380px}.dash{--series-1:#2a78d6;--grid:#e8eaed;--axis-ink:#6b7280;margin:22px 0 26px}@media (prefers-color-scheme:dark){.dash{--series-1:#3987e5;--grid:#262a31;--axis-ink:#9aa0aa}}.dash-head{display:flex;gap:18px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;margin-bottom:10px}.dash-title{font-size:16px;margin:0 0 3px}.dash-note{color:var(--mut);font-size:12.5px;max-width:460px}.range{gap:10px}.range,.range label{display:flex;align-items:center}.range label{gap:6px;color:var(--mut);font-size:13px}.range select{padding:6px 9px;font-size:13px}.chart-wrap{position:relative;background:var(--card);border:1px solid var(--line);border-radius:13px;padding:6px 8px 2px}.chart{display:block;width:100%;height:auto}.axis-line,.grid{stroke:var(--grid);stroke-width:1}.axis{fill:var(--axis-ink);font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tip{position:absolute;top:8px;transform:translateX(-50%);background:var(--card);border:1px solid var(--line);border-radius:9px;padding:7px 11px;pointer-events:none;display:grid;grid-gap:1px;gap:1px;white-space:nowrap;box-shadow:0 4px 14px rgba(0,0,0,.12)}.tip,.tip b{font-size:12.5px}.tip span{color:var(--mut)}.dash-tiles{display:grid;grid-gap:12px;gap:12px;margin-top:14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));max-width:520px}.tile .of{color:var(--mut);font-weight:500;font-size:18px}.area{stroke:none}.fill-top{stop-opacity:.26}.fill-bottom,.fill-top{stop-color:var(--series-1)}.fill-bottom{stop-opacity:.02}.line{fill:none;stroke:var(--series-1);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.cross line{stroke:var(--axis-ink);stroke-width:1;stroke-dasharray:3 3}.cross circle{fill:var(--series-1);stroke:var(--card);stroke-width:2}.chip--terms{background:transparent;border:1px solid var(--line);color:var(--ink);font-size:12px;font-weight:600}.terms--price{border-color:var(--acc);color:var(--acc)}.terms--barter{border-color:var(--wait);color:var(--wait)}.terms--free{border-color:var(--ok);color:var(--ok)}.terms--ambassador{border-color:var(--go);color:var(--go)}.terms--unknown{color:var(--mut);font-weight:500;font-style:italic}.refs{margin-top:12px;padding-top:11px;border-top:1px solid var(--line)}.refs-row{display:flex;gap:8px;flex-wrap:wrap}.ref{display:block;width:68px;text-decoration:none;border-radius:8px;overflow:hidden;border:1px solid var(--line)}.ref:hover{border-color:var(--acc)}.ref img{display:block;width:100%;height:104px;object-fit:cover}.ref-empty{display:grid;place-items:center;height:104px;font-size:10px;padding:0 4px}.ref-empty,.ref-meta{color:var(--mut);text-align:center}.ref-meta{display:block;padding:4px 5px;font-size:10.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cover--empty{display:grid;place-items:center;aspect-ratio:9/16;color:var(--mut);font-size:12px;font-style:italic}.export{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.export select{font-size:13px;padding:8px 10px;max-width:290px}.btn--ghost{background:transparent;border:1px solid var(--line);color:var(--ink);font-weight:500;padding:9px 14px}.btn--ghost:hover{border-color:var(--acc);color:var(--acc)}.tg-tag{display:inline-block;margin-left:6px;padding:1px 5px;border-radius:4px;background:#0088cc;color:#fff;font-size:9.5px;font-weight:700;vertical-align:2px;letter-spacing:.02em}.step-btn{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:8px;width:30px;height:30px;cursor:pointer;font-size:15px;line-height:1;font-family:inherit}.step-btn:hover:not(:disabled){border-color:var(--acc);color:var(--acc)}.step-btn:disabled{opacity:.35;cursor:default}.dot{fill:var(--series-1);stroke:var(--card);stroke-width:1.5}.point-label{fill:var(--mut);font-size:10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.point-label--peak{fill:var(--ink);font-weight:600}.memo{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--acc);border-radius:10px;padding:12px 15px;margin:4px 0 14px;font-size:13px;color:var(--mut);line-height:1.55;max-width:780px}.memo b{color:var(--ink)}.bignum{display:flex;align-items:baseline;gap:12px;margin:6px 0 18px}.bignum-v{font-size:52px;font-weight:700;line-height:1;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bignum-k{color:var(--mut);font-size:14px}.card--black{opacity:.62;border-color:var(--no)}.black-mark{margin-left:auto;font-size:17px;line-height:1}.black-toggle{display:flex;gap:6px;align-items:center;cursor:pointer;margin-top:10px;padding-top:9px;border-top:1px solid var(--line);font-size:11.5px;color:var(--mut);-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:.42;transition:opacity .12s}.black-toggle input{margin:0;transform:scale(.85);accent-color:var(--no)}.black-toggle:hover,.card:hover .black-toggle{opacity:.85}.black-toggle--on{opacity:1;font-size:12.5px;font-weight:600;color:var(--no)}.top-reach{margin-top:14px}.top-reach>.k{display:block;margin-bottom:9px;font-size:12px}.top-row{display:flex;gap:14px;flex-wrap:wrap}.top-item{display:flex;flex-direction:column;align-items:center;gap:4px;text-decoration:none;color:inherit;width:46px}.top-ava-wrap{position:relative;display:block}.top-ava{width:38px;height:38px;border-radius:50%;object-fit:cover;background:var(--line);display:block;border:1.5px solid var(--line);transition:border-color .12s}.top-ava--empty{display:grid;place-items:center;font-size:14px;font-weight:600;color:var(--mut)}.top-item:hover .top-ava{border-color:var(--acc)}.top-rank{position:absolute;right:-3px;bottom:-3px;background:var(--card);border:1px solid var(--line);border-radius:50%;width:16px;height:16px;display:grid;place-items:center;font-size:9.5px;font-weight:700;color:var(--mut)}.top-views{font-size:10.5px;color:var(--mut);white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.notes{display:grid;grid-gap:10px;gap:10px;margin:4px 0 8px}.notes--compact{margin-top:10px;padding-top:9px;border-top:1px solid var(--line)}.notes-list{display:grid;grid-gap:8px;gap:8px}.note{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:9px 12px}.notes--compact .note{padding:7px 9px}.note-head{display:flex;gap:8px;align-items:baseline;font-size:11.5px;margin-bottom:3px}.note-head b{font-size:12px}.note-text{font-size:12.5px;white-space:pre-wrap}.note-del{margin-left:auto;background:none;border:none;cursor:pointer;color:var(--mut);font-size:13px;padding:0 2px;font-family:inherit}.note-del:hover{color:var(--no)}.note-form{display:grid;grid-gap:7px;gap:7px}.note-form textarea{width:100%;resize:vertical;font:inherit;font-size:12.5px;padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink)}.note-row{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.note-row input{flex:1 1;min-width:110px;max-width:190px;font-size:12.5px;padding:7px 10px}.note-row .btn{padding:7px 14px;font-size:12.5px}.notes-open{background:none;border:none;padding:0;margin-top:10px;cursor:pointer;color:var(--acc);font:inherit;font-size:12px;text-decoration:underline;text-align:left}