:root{--ground:oklch(.985 .004 80);--surface:oklch(1 0 0);--surface-2:oklch(.965 .005 80);--surface-3:oklch(.94 .006 80);--line:oklch(.9 .006 80);--line-strong:oklch(.82 .008 80);--text:oklch(.22 .01 70);--text-2:oklch(.46 .012 70);--text-3:oklch(.62 .012 70);--accent:oklch(.5 .09 150);--accent-ink:oklch(1 0 0);--accent-soft:oklch(.95 .03 150);--ok:oklch(.58 .1 150);--ok-soft:oklch(.95 .035 150);--warn:oklch(.66 .12 75);--warn-soft:oklch(.96 .045 85);--bad:oklch(.56 .15 25);--bad-soft:oklch(.96 .03 25);--info:oklch(.56 .08 240);--info-soft:oklch(.95 .025 240);--ai:oklch(.55 .1 300);--ai-soft:oklch(.95 .03 300);--shadow:0 12px 32px oklch(.2 .02 70/.1),0 1px 2px oklch(.2 .02 70/.06);--sans:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--mono:"Geist Mono",ui-monospace,Menlo,Consolas,monospace}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--ground:oklch(.18 .008 70);--surface:oklch(.215 .008 70);--surface-2:oklch(.25 .008 70);--surface-3:oklch(.29 .009 70);--line:oklch(.31 .009 70);--line-strong:oklch(.4 .01 70);--text:oklch(.94 .006 80);--text-2:oklch(.72 .01 75);--text-3:oklch(.58 .01 75);--accent:oklch(.7 .1 150);--accent-ink:oklch(.16 .02 150);--accent-soft:oklch(.28 .04 150);--ok:oklch(.7 .1 150);--ok-soft:oklch(.27 .04 150);--warn:oklch(.78 .12 80);--warn-soft:oklch(.3 .05 80);--bad:oklch(.72 .14 25);--bad-soft:oklch(.3 .05 25);--info:oklch(.72 .08 240);--info-soft:oklch(.28 .04 240);--ai:oklch(.75 .1 300);--ai-soft:oklch(.3 .05 300);--shadow:0 12px 32px oklch(0 0 0/.45),0 1px 2px oklch(0 0 0/.4)}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--ground);color:var(--text);font:13px/20px var(--sans);-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}a{color:inherit;text-decoration:none}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:6px 10px;min-height:34px;width:100%}textarea{min-height:72px;resize:vertical}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input[disabled],select[disabled]{background:var(--surface-2);color:var(--text-2)}.num{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:12px}.eyebrow{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);font-weight:500}.dim{color:var(--text-3)}.sub{color:var(--text-2);font-size:12px}.grow{flex:1}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:8px;border:1px solid var(--line);background:var(--surface);font-weight:500;white-space:nowrap}.btn.primary{background:var(--accent);border-color:transparent;color:var(--accent-ink)}.btn.quiet{border-color:transparent;color:var(--text-2)}.btn.ai{background:var(--ai-soft);border-color:transparent;color:var(--ai)}.btn.sm{height:26px;font-size:12px;padding:0 9px;border-radius:6px}.btn:disabled{opacity:.5;cursor:default}.st{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:999px;font-size:11px;font-weight:500;white-space:nowrap}.st:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.st.ok,.st.green{background:var(--ok-soft);color:var(--ok)}.st.warn,.st.yellow{background:var(--warn-soft);color:var(--warn)}.st.bad,.st.red{background:var(--bad-soft);color:var(--bad)}.st.mute{background:var(--surface-3);color:var(--text-3)}.st.ai{background:var(--ai-soft);color:var(--ai)}.st.info{background:var(--info-soft);color:var(--info)}.src{display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:2px 7px 2px 3px;border-radius:999px;border:1px solid var(--line);color:var(--text-2);background:var(--surface);white-space:nowrap;vertical-align:middle}.src i{min-width:16px;height:16px;padding:0 3px;border-radius:999px;display:grid;place-items:center;font-style:normal;font-size:11px;font-weight:600;line-height:1}.src.human i{background:var(--accent-soft);color:var(--accent)}.src.ai i{background:var(--ai-soft);color:var(--ai)}.src.ai{border-color:var(--ai-soft)}.src.rule i,.src.sys i{background:var(--warn-soft);color:var(--warn)}.src.import i{background:var(--info-soft);color:var(--info)}.src.inherited i{background:var(--surface-3);color:var(--text-3)}.app{display:grid;grid-template-columns:200px minmax(0,1fr);min-height:100vh}@media(max-width:900px){.app{grid-template-columns:1fr}.nav{flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--line)}}.nav{border-right:1px solid var(--line);background:var(--surface-2);padding:12px 10px;display:flex;flex-direction:column;gap:2px}.nav .brand{padding:4px 8px 12px;font-weight:600}.nav .brand small{display:block;color:var(--text-3);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.nav a{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;color:var(--text-2)}.nav a.active{background:var(--surface);color:var(--text);box-shadow:0 0 0 1px var(--line)}.nav .cnt{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--text-3)}.main{min-width:0;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid var(--line);background:var(--surface-2)}.topbar .search{flex:1;max-width:380px;display:flex;align-items:center;gap:8px;height:32px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text-3)}.topbar .search input{border:0;min-height:0;padding:0;background:transparent}.bar{display:flex;align-items:center;gap:10px;padding:0 14px;min-height:44px;border-bottom:1px solid var(--line);flex-wrap:wrap;background:var(--surface)}.bar b{font-weight:500}.content{padding:16px 18px;display:flex;flex-direction:column;gap:14px}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}.card header{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--line)}.card header h2{margin:0;font-size:13px;font-weight:600}.card .body{padding:14px 16px;display:flex;flex-direction:column;gap:12px}table.t{border-collapse:collapse;width:100%}table.t th{text-align:left;font-weight:500;font-size:11px;color:var(--text-3);letter-spacing:.05em;text-transform:uppercase;padding:6px 8px;border-bottom:1px solid var(--line);white-space:nowrap}table.t td{padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:middle}table.t tr:last-child td{border-bottom:0}table.t td.r,table.t th.r{text-align:right}table.t tr.click{cursor:pointer}table.t tr.click:hover td{background:var(--surface-2)}.thumb{width:40px;height:40px;border-radius:6px;object-fit:cover;background:var(--surface-3);border:1px solid var(--line)}.thumb.sm{width:28px;height:28px;border-radius:5px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.stat{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--surface)}.stat .big{font-size:22px;line-height:28px;font-weight:600;letter-spacing:-.01em}.stat .lbl{color:var(--text-3);font-size:12px}.mkt th.c,.mkt td.c{text-align:center}.dot{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;cursor:pointer;margin:0 2px;position:relative}.dot:before{content:"";width:16px;height:16px;border-radius:50%;background:var(--c)}.dot:hover{transform:scale(1.15)}.dot small{position:absolute;bottom:-9px;font-family:var(--mono);font-size:11px;color:var(--text-3)}.flag{border-radius:2px;box-shadow:0 0 0 1px #0000001f;vertical-align:-2px;margin-right:8px}.tabs{display:flex;gap:2px;padding:0 12px;border-bottom:1px solid var(--line);overflow-x:auto;background:var(--surface)}.tabs button{padding:9px 10px;color:var(--text-2);border-bottom:2px solid transparent;white-space:nowrap;font-weight:500}.tabs button.on{color:var(--text);border-bottom-color:var(--accent)}.tabs button .n{font-family:var(--mono);font-size:11px;color:var(--text-3);margin-left:4px}.lanes{display:grid;grid-template-columns:1fr;gap:18px}@media(min-width:1100px){.lanes{grid-template-columns:1fr 1fr}}.lane h3{margin:0 0 6px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);font-weight:500;display:flex;align-items:center;gap:8px}.field{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:6px 12px;align-items:start;padding:7px 0;border-bottom:1px solid var(--line)}.field:last-child{border-bottom:0}.field .k{color:var(--text-3);font-size:12px;padding-top:6px}.field .k small{display:block;font-family:var(--mono);font-size:11px}.field .v{min-width:0}.field .v .sub{margin-top:3px;font-size:11px;color:var(--text-3)}.field .src{margin-top:5px}.langs{display:flex;gap:4px;flex-wrap:wrap}.langs span{font-family:var(--mono);font-size:11px;padding:1px 6px;border-radius:4px;background:var(--surface-2);border:1px solid var(--line);color:var(--text-2)}.langs span.ai{background:var(--ai-soft);border-color:transparent;color:var(--ai)}.langs span.h{background:var(--accent-soft);border-color:transparent;color:var(--accent)}.langs span.e{color:var(--bad);background:var(--bad-soft);border-color:transparent}.vgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.vcard{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--surface)}.vcard .b{padding:8px 10px}.vcard .b b{display:block;font-weight:500}.pills{display:flex;gap:6px;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 8px;border:1px solid var(--line);border-radius:999px;background:var(--surface);cursor:pointer;-webkit-user-select:none;user-select:none}.pill.on{border-color:var(--accent);background:var(--accent-soft)}.pill .cd{font-family:var(--mono);font-size:11px;color:var(--text-3)}.matrix{border:1px solid var(--line);border-radius:8px;overflow:auto}.matrix table{border-collapse:collapse;width:100%}.matrix th,.matrix td{padding:6px 10px;border-bottom:1px solid var(--line);text-align:center;font-size:12px}.matrix th{font-weight:500;color:var(--text-2);background:var(--surface-2)}.matrix td:first-child,.matrix th:first-child{text-align:left;white-space:nowrap}.cb{width:18px;height:18px;border-radius:5px;border:1px solid var(--line-strong);display:inline-grid;place-items:center;background:var(--surface);cursor:pointer;vertical-align:middle}.cb.on{background:var(--accent);border-color:transparent}.cb.on:after{content:"";width:9px;height:5px;border-left:2px solid var(--accent-ink);border-bottom:2px solid var(--accent-ink);transform:rotate(-45deg);margin-top:-2px}.prompt{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:16px 18px}.prompt textarea{border:0;padding:4px 0;min-height:56px;background:transparent;resize:none}.sec{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}.sec header{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--line)}.sec header .no{width:22px;height:22px;border-radius:50%;background:var(--surface-3);color:var(--text-2);display:grid;place-items:center;font-size:11px;font-weight:600;font-family:var(--mono)}.sec header.done .no{background:var(--accent);color:var(--accent-ink)}.sec header h2{margin:0;font-size:13px;font-weight:600}.sec header .m{color:var(--text-3);font-size:12px}.sec header .r{margin-left:auto;display:flex;gap:6px;align-items:center}.sec .body{padding:14px 16px;display:flex;flex-direction:column;gap:12px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px 14px}.f{display:flex;flex-direction:column;gap:4px;min-width:0}.f label{font-size:12px;color:var(--text-2);display:flex;align-items:center;gap:6px}.f label .src{margin-left:auto}.f .hint{font-size:11px;color:var(--text-3)}.auto{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:8px 10px;border-radius:8px;background:var(--surface-2);font-size:12px;color:var(--text-2)}.auto .kv{display:inline-flex;gap:5px;align-items:center;padding:2px 8px;border-radius:6px;background:var(--surface);border:1px solid var(--line)}.auto b{color:var(--text);font-weight:500}.note{font-size:12px;color:var(--text-3)}.wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}@media(max-width:960px){.wrap{grid-template-columns:1fr}}.rail{position:sticky;top:16px;display:flex;flex-direction:column;gap:12px}.rcard{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px}.rcard h3{margin:0 0 8px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);font-weight:500}.list{display:flex;flex-direction:column;gap:6px}.list div{display:grid;grid-template-columns:18px 1fr auto;gap:8px;align-items:center;font-size:12px}.list i{width:8px;height:8px;border-radius:50%;display:inline-block;justify-self:center}.list .ok i{background:var(--ok)}.list .warn i{background:var(--warn)}.list .bad i{background:var(--bad)}.list .mute i{background:var(--line-strong)}.error{padding:10px 12px;border-radius:8px;background:var(--bad-soft);color:var(--bad)}.login{max-width:420px;margin:80px auto;display:flex;flex-direction:column;gap:12px}.picker{position:relative}.picker summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 12px 0 10px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);font-weight:500;white-space:nowrap}.picker summary::-webkit-details-marker{display:none}.picker .panel{position:absolute;left:0;top:40px;z-index:20;width:560px;max-width:90vw;max-height:440px;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:8px}.picker .mk{display:grid;grid-template-columns:150px 1fr;gap:6px 10px;padding:6px 10px;border-top:1px solid var(--line);align-items:center}.sp{display:inline-flex;align-items:center;gap:6px;padding:3px 9px 3px 6px;border:1px solid var(--line);border-radius:999px;font-size:12px;cursor:pointer;background:var(--surface)}.sp i{width:8px;height:8px;border-radius:50%;display:inline-block}.sp.on{border-color:var(--text);background:var(--text);color:var(--surface)}.g-b2b{background:var(--info)}.g-brand{background:var(--ok)}.g-campaign{background:var(--warn)}.g-discount{background:var(--bad)}.alert{background:#fbe9e7;color:#8b2c1f;border:1px solid #f0c2ba;border-radius:8px;padding:8px 12px;font-size:13px;margin:8px 0}
