/* ─────────────────────────  DS Designs dashboard  ───────────────────────── */
:root{
  --canvas:#08090a;--panel:#0e0f11;--raised:#141518;--hover:#1a1b1f;--active:#1f2125;
  --border:#1d1e22;--border2:#26282d;--border3:#33363c;
  --text:#ededef;--text2:#b4b6bd;--text3:#7c7f88;--text4:#55585f;
  --accent:#6cc8ff;--accent-strong:#38b6ff;--accent-ink:#04121c;--accent-soft:#6cc8ff14;--accent-line:#6cc8ff38;
  --ok:#4ade80;--ok-soft:#4ade8014;--warn:#facc15;--err:#f87171;--err-soft:#f8717114;
  --r-sm:6px;--r:8px;--r-lg:12px;
  --shadow:0 1px 0 #ffffff08 inset,0 0 0 1px #00000040,0 8px 24px -12px #000000a0;
}
*{box-sizing:border-box}
html{color-scheme:dark}
body{margin:0;background:var(--canvas);color:var(--text);font:13.5px/1.5 Geist,Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;font-feature-settings:'ss01'}
a{color:inherit;text-decoration:none}
h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.015em}
h1{font-size:20px}h2{font-size:14.5px}h3{font-size:13.5px}
p{margin:0}
svg.lucide{width:16px;height:16px;stroke-width:1.75;flex-shrink:0}
.mono{font-family:'Geist Mono',ui-monospace,monospace;font-size:12px;letter-spacing:-.01em}
.t2{color:var(--text2)}.t3{color:var(--text3)}.t4{color:var(--text4)}
::selection{background:#6cc8ff40}
::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:transparent;border-radius:8px}
*:hover::-webkit-scrollbar-thumb{background:var(--border2)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* ── buttons ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:32px;padding:0 12px;border-radius:var(--r);border:1px solid var(--border2);background:var(--raised);color:var(--text);font:500 13px Geist,sans-serif;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s,color .12s;box-shadow:0 1px 0 #ffffff06 inset}
.btn:hover{background:var(--hover);border-color:var(--border3)}
.btn.primary{background:var(--accent);border-color:transparent;color:var(--accent-ink);box-shadow:0 1px 0 #ffffff50 inset,0 0 0 1px #6cc8ff}
.btn.primary:hover{background:#8ad4ff}
.btn.danger{color:var(--err)}.btn.danger:hover{background:var(--err-soft);border-color:#f8717140}
.btn.quiet{background:transparent;border-color:transparent;box-shadow:none;color:var(--text3)}.btn.quiet:hover{background:var(--hover);color:var(--text)}
.btn.sm{height:28px;padding:0 10px;font-size:12.5px}.btn.lg{height:40px;padding:0 18px;font-size:14px;border-radius:10px}
.btn.icon{width:30px;padding:0}.btn.sm.icon{width:28px}
.btn:disabled{opacity:.45;pointer-events:none}

/* ── app frame ── */
.app{display:flex;min-height:100vh}
.sb{width:240px;flex-shrink:0;display:flex;flex-direction:column;padding:10px 10px 12px;position:sticky;top:0;height:100vh}
.panel{flex:1;min-width:0;margin:8px 8px 8px 0;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);display:flex;flex-direction:column;min-height:calc(100vh - 16px)}
.bar{height:48px;display:flex;align-items:center;gap:10px;padding:0 18px;border-bottom:1px solid var(--border);flex-shrink:0}
.crumb{display:flex;align-items:center;gap:8px;color:var(--text3);font-size:13px}.crumb b{color:var(--text);font-weight:500}.crumb svg{width:14px;height:14px;color:var(--text4)}
.bar .sp{flex:1}
.content{padding:28px 32px 64px;max-width:1120px;width:100%;margin:0 auto}

/* sidebar */
.ws{position:relative;margin-bottom:10px}
.ws>button{display:flex;align-items:center;gap:9px;width:100%;padding:6px 8px;border-radius:var(--r);background:none;border:1px solid transparent;color:var(--text);font:600 13.5px Geist;cursor:pointer;text-align:left}
.ws>button:hover{background:var(--hover)}
.ws>button span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws>button svg{color:var(--text4)}
.gi{width:24px;height:24px;border-radius:6px;object-fit:cover;flex-shrink:0;display:grid;place-items:center;background:var(--active);font:600 11px Geist;color:var(--text2)}
.nav{flex:1;overflow-y:auto;margin:0 -4px;padding:0 4px}
.nav .grp{font-size:11.5px;font-weight:500;color:var(--text4);padding:16px 8px 5px}
.nav a{display:flex;align-items:center;gap:9px;height:30px;padding:0 8px;border-radius:var(--r-sm);color:var(--text3);font-weight:500;margin-bottom:1px}
.nav a:hover{background:var(--hover);color:var(--text2)}
.nav a.on{background:var(--active);color:var(--text)}
.nav a.on svg{color:var(--accent)}
.nav a .tag{margin-left:auto}
.tag{font:600 10px Geist;letter-spacing:.03em;padding:1px 6px;border-radius:4px;color:var(--text4);border:1px solid var(--border2)}
.tag.pro{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}
.sbfoot{border-top:1px solid var(--border);padding-top:10px;margin-top:8px}
.promo{padding:12px;border-radius:var(--r);border:1px solid var(--border2);background:var(--raised);margin-bottom:10px}
.promo b{display:flex;align-items:center;gap:7px;font-weight:600;font-size:13px}.promo b svg{color:var(--accent)}
.promo p{color:var(--text3);font-size:12.5px;margin:4px 0 10px}
.me{display:flex;align-items:center;gap:9px;padding:4px 4px 4px 6px}
.me img{width:26px;height:26px;border-radius:50%}.me span{flex:1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* dropdown */
.dd{position:absolute;left:0;right:0;top:calc(100% + 4px);background:var(--raised);border:1px solid var(--border2);border-radius:10px;padding:4px;box-shadow:0 16px 40px -8px #000;z-index:50;display:none}
.dd.open{display:block;animation:dd .12s ease-out}
.dd a{display:flex;align-items:center;gap:9px;height:32px;padding:0 8px;border-radius:var(--r-sm);color:var(--text2)}
.dd a:hover{background:var(--hover);color:var(--text)}.dd a.on{color:var(--text)}.dd a.on::after{content:'';margin-left:auto;width:6px;height:6px;border-radius:50%;background:var(--accent)}
.dd .lbl{font-size:11.5px;color:var(--text4);padding:6px 8px 4px}.dd hr{border:0;border-top:1px solid var(--border);margin:4px 0}
@keyframes dd{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}

/* ── page header ── */
.ph{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:28px;flex-wrap:wrap}
.ph p{color:var(--text3);margin-top:4px;max-width:560px}
.ph .acts{display:flex;gap:8px}

/* ── surfaces ── */
.box{background:var(--raised);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow)}
.box+.box,.box+.section,.section+.box{margin-top:16px}
.box-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border)}
.box-h p{color:var(--text3);font-size:12.5px;margin-top:1px}
.box-b{padding:16px}
.cols{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}
.cols.even{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.cols>div>.box+.box{margin-top:16px}
.stick{position:sticky;top:24px}

/* settings rows */
.section{margin-bottom:28px}
.section>h2{margin-bottom:10px}
.rows{background:var(--raised);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow)}
.row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:24px;align-items:center;padding:14px 16px;border-top:1px solid var(--border)}
.row:first-child{border-top:0}
.row.top{align-items:start}
.row .k b{display:block;font-weight:500}.row .k span{display:block;color:var(--text3);font-size:12.5px;margin-top:2px}
.rows .foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--border);background:#ffffff03;border-radius:0 0 var(--r-lg) var(--r-lg)}

/* ── inputs ── */
input,select,textarea{display:block;width:100%;height:32px;background:var(--panel);border:1px solid var(--border2);color:var(--text);border-radius:var(--r);padding:0 10px;font:13.5px Geist,sans-serif;transition:border-color .12s,box-shadow .12s}
textarea{height:auto;padding:8px 10px;resize:vertical;line-height:1.5}
input::placeholder,textarea::placeholder{color:var(--text4)}
input:hover,select:hover,textarea:hover{border-color:var(--border3)}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px #6cc8ff1f}
select{appearance:none;cursor:pointer;padding-right:30px;background:var(--panel) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%237c7f88' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m7 15 5 5 5-5M7 9l5-5 5 5'/%3E%3C/svg%3E") no-repeat right 9px center}
select[multiple]{height:auto;background-image:none;padding:4px}
select[multiple] option{padding:5px 8px;border-radius:5px}
select[multiple] option:checked{background:var(--accent-soft) linear-gradient(0deg,#6cc8ff26,#6cc8ff26);color:var(--text)}
input[type=color]{width:32px;height:32px;padding:3px;cursor:pointer;flex-shrink:0}
input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border:0;border-radius:4px}
.hint{color:var(--text4);font-size:12px;margin-top:6px}
.inline{display:flex;gap:8px;align-items:center}
.field{margin-bottom:16px}.field>label{display:block;font-weight:500;margin-bottom:6px}
.grid3{display:grid;grid-template-columns:1fr 90px 90px;gap:10px}
.sw{display:flex;gap:6px;margin-top:8px}.sw button{width:20px;height:20px;border-radius:5px;border:1px solid #ffffff1a;cursor:pointer;padding:0}.sw button:hover{transform:scale(1.12)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 10px;border-radius:var(--r);border:1px solid var(--border2);background:var(--panel);cursor:pointer;user-select:none;color:var(--text2)}
.chip input{display:none}.chip:has(input:checked){border-color:var(--accent-line);background:var(--accent-soft);color:var(--text)}
.chip:has(input:checked)::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--accent)}

/* ── segmented tabs ── */
.seg{display:inline-flex;gap:2px;padding:3px;border-radius:9px;background:var(--panel);border:1px solid var(--border);margin-bottom:20px}
.seg a{display:flex;align-items:center;gap:7px;height:28px;padding:0 12px;border-radius:6px;color:var(--text3);font-weight:500}
.seg a:hover{color:var(--text)}.seg a.on{background:var(--active);color:var(--text);box-shadow:0 1px 0 #ffffff0a inset}
.seg .n{font:500 11px 'Geist Mono';color:var(--text4)}
.pane{display:none}.pane.on{display:block}

/* ── lists ── */
.list>.li{display:flex;align-items:center;gap:12px;padding:12px 16px;border-top:1px solid var(--border)}
.list>.li:first-child{border-top:0}
.list>.li:hover{background:#ffffff03}
.li .em{width:34px;height:34px;display:grid;place-items:center;border-radius:var(--r);background:var(--panel);border:1px solid var(--border);font-size:16px;flex-shrink:0}
.li .main{flex:1;min-width:0}.li .main b{font-weight:500}.li .main span{display:block;color:var(--text3);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.li .meta{display:flex;gap:14px;color:var(--text3);font-size:12.5px}.li .meta span{display:inline-flex;align-items:center;gap:5px}.li .meta svg{width:13px;height:13px}
.li .acts{display:flex;gap:2px;opacity:.6;transition:opacity .12s}.li:hover .acts{opacity:1}
.li form{display:inline}
.status{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text2)}
.status::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--text4)}
.status.open::before,.status.on::before{background:var(--ok);box-shadow:0 0 0 3px var(--ok-soft)}
.av{width:22px;height:22px;border-radius:50%;flex-shrink:0}

table{width:100%;border-collapse:collapse}
th{font-weight:500;font-size:12px;color:var(--text4);text-align:left;padding:9px 16px;border-bottom:1px solid var(--border)}
td{padding:10px 16px;border-top:1px solid var(--border)}tr:nth-child(2) td{border-top:0}
td.r{text-align:right;white-space:nowrap}td form{display:inline}

.empty{padding:40px 20px;text-align:center;color:var(--text3)}
.empty .ei{width:40px;height:40px;margin:0 auto 12px;display:grid;place-items:center;border-radius:10px;border:1px solid var(--border2);background:var(--panel);color:var(--text3)}
.empty b{display:block;color:var(--text);font-weight:500;margin-bottom:3px}
.empty .btn{margin-top:14px}

/* ── overview ── */
.hero-bot{display:flex;align-items:center;gap:14px;padding:16px}
.hero-bot img{width:44px;height:44px;border-radius:12px}
.hero-bot .who{flex:1;min-width:0}.hero-bot .who b{font-size:15px;font-weight:600}.hero-bot .who div{color:var(--text3);font-size:12.5px;display:flex;gap:12px;flex-wrap:wrap;margin-top:2px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--border)}
.stat{padding:16px;border-left:1px solid var(--border)}.stat:first-child{border-left:0}
.stat .l{color:var(--text3);font-size:12.5px}.stat .v{font:600 24px Geist;letter-spacing:-.03em;margin-top:4px;font-variant-numeric:tabular-nums}
.chart{display:flex;align-items:flex-end;gap:6px;height:120px;padding:16px 16px 0}
.chart .c{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;position:relative}
.chart .c i{display:block;width:100%;max-width:26px;min-height:2px;border-radius:4px 4px 2px 2px;background:var(--border3);transition:background .12s}
.chart .c.today i{background:var(--accent)}.chart .c:hover i{background:var(--accent-strong)}
.chart .c:hover::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 4px);background:var(--active);border:1px solid var(--border2);padding:3px 7px;border-radius:5px;font-size:11.5px;white-space:nowrap;color:var(--text);z-index:2}
.axis{display:flex;gap:6px;padding:6px 16px 14px}.axis span{flex:1;text-align:center;font:500 10.5px 'Geist Mono';color:var(--text4)}
.todo{display:flex;align-items:center;gap:10px;padding:10px 16px;border-top:1px solid var(--border)}
.todo:first-child{border-top:0}
.todo .ck{width:18px;height:18px;border-radius:50%;border:1.5px dashed var(--border3);display:grid;place-items:center;flex-shrink:0}
.todo.done .ck{border:0;background:var(--accent);color:var(--accent-ink)}.todo.done .ck svg{width:12px;height:12px;stroke-width:3}
.todo .x{flex:1}.todo.done .x{color:var(--text3)}
.todo a{color:var(--text3);display:flex}.todo a:hover{color:var(--text)}
.meter{display:flex;gap:3px;margin-top:10px}.meter i{flex:1;height:4px;border-radius:2px;background:var(--border2)}.meter i.on{background:var(--accent)}
.mods{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border)}
.mod{display:flex;gap:12px;padding:14px 16px;background:var(--raised);transition:background .12s}
.mod:hover{background:var(--hover)}
.mod>svg{color:var(--text3);margin-top:2px}.mod:hover>svg{color:var(--accent)}
.mod b{font-weight:500;display:flex;align-items:center;gap:8px}.mod p{color:var(--text3);font-size:12.5px;margin-top:2px}

/* ── modal ── */
dialog{background:var(--raised);color:var(--text);border:1px solid var(--border2);border-radius:14px;padding:0;width:min(560px,calc(100vw - 32px));box-shadow:0 30px 80px -20px #000}
dialog::backdrop{background:#000000b0}
dialog[open]{animation:dlg .15s ease-out}@keyframes dlg{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
.dlg-h{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}
.dlg-b{padding:16px;max-height:calc(100vh - 200px);overflow-y:auto}
.dlg-f{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--border)}

/* ── discord mock ── */
.dc{background:#313338;border-radius:var(--r-lg);padding:14px 16px 16px;font:15px/1.375 'gg sans','Noto Sans',Geist,sans-serif;color:#dbdee1;border:1px solid #ffffff0d}
.dc .m{display:flex;gap:14px}.dc .m>img{width:40px;height:40px;border-radius:50%;flex-shrink:0;object-fit:cover;background:#1e1f22}
.dc .n{font-weight:500;color:#f2f3f5}.dc .apptag{background:#5865f2;color:#fff;font-size:10px;font-weight:600;padding:1px 4px;border-radius:3px;margin-left:5px;vertical-align:1px}
.dc .tm{font-size:12px;color:#949ba4;margin-left:6px}
.dc .emb{display:grid;grid-template-columns:1fr auto;gap:12px;max-width:432px;margin-top:4px;background:#2b2d31;border-left:4px solid;border-radius:4px;padding:10px 14px 14px}
.dc .et{font-weight:600;color:#f2f3f5;font-size:15px;margin-bottom:3px}.dc .ed{font-size:14px;white-space:pre-wrap}
.dc .ef{display:flex;align-items:center;gap:7px;margin-top:8px;font-size:12px;color:#b5bac1;font-weight:500}.dc .ef img{width:18px;height:18px;border-radius:50%}
.dc .th{width:64px;height:64px;border-radius:4px;object-fit:cover}
.dc .bt{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.dc .bt span{background:#5865f2;color:#fff;height:32px;display:inline-flex;align-items:center;padding:0 16px;border-radius:8px;font-size:14px;font-weight:500}
.dc .bt .g{background:#248046}.dc .bt .r{background:#da373c}.dc .bt .s{background:#4e5058;min-width:280px;justify-content:space-between}
.plabel{display:flex;align-items:center;gap:6px;color:var(--text4);font-size:12px;margin-bottom:8px}

.profile{border-radius:var(--r-lg);overflow:hidden;background:#232428;border:1px solid #ffffff0d}
.profile .bn{height:60px;background:linear-gradient(120deg,#38b6ff,#6cc8ff 60%,#a5e1ff)}
.profile .pb{padding:0 14px 14px}.profile .pa{width:76px;height:76px;border-radius:50%;border:6px solid #232428;margin-top:-38px;background:#1e1f22;object-fit:cover;display:block}
.profile .pn{font-size:19px;font-weight:700;color:#f2f3f5;display:flex;align-items:center;gap:6px;margin-top:4px}
.profile .ps{margin-top:10px;padding:10px;border-radius:8px;background:#111214;color:#b5bac1;font-size:13.5px}

.steps{list-style:none;margin:0;padding:0;counter-reset:s}
.steps li{counter-increment:s;display:flex;gap:10px;padding:8px 0;color:var(--text2)}
.steps li::before{content:counter(s);font:500 11px 'Geist Mono';width:20px;height:20px;border-radius:50%;border:1px solid var(--border3);display:grid;place-items:center;flex-shrink:0;color:var(--text3);margin-top:1px}
.steps a{color:var(--accent)}

.lock{padding:48px 24px;text-align:center}
.lock .ic{width:44px;height:44px;margin:0 auto 14px;display:grid;place-items:center;border-radius:12px;background:var(--accent-soft);border:1px solid var(--accent-line);color:var(--accent)}
.lock p{color:var(--text3);margin-top:4px}
.lock ul{list-style:none;padding:0;margin:18px auto 22px;display:inline-grid;gap:8px;text-align:left;color:var(--text2)}.lock li{display:flex;gap:8px;align-items:center}.lock li svg{color:var(--accent)}

.soon{padding:64px 24px;text-align:center}
.soon .ei{width:44px;height:44px;margin:0 auto 14px;display:grid;place-items:center;border-radius:12px;border:1px solid var(--border2);background:var(--panel);color:var(--text2)}
.soon p{color:var(--text3);max-width:420px;margin:6px auto 0}

.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:80;display:flex;align-items:center;gap:10px;height:40px;padding:0 8px 0 14px;border-radius:10px;background:var(--active);border:1px solid var(--border3);box-shadow:0 16px 40px -10px #000;animation:tst .25s cubic-bezier(.2,.9,.3,1.2);white-space:nowrap}
.toast.ok>svg{color:var(--ok)}.toast.err>svg{color:var(--err)}
.toast button{background:none;border:0;color:var(--text4);cursor:pointer;display:grid;padding:4px}
@keyframes tst{from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%,0)}}

/* ── public pages (landing, servers) ── */
.pub{max-width:1080px;margin:0 auto;padding:0 24px}
.ptop{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:center;gap:9px;font-weight:600;font-size:15px;letter-spacing:-.01em}
.logo{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);font:700 11px Geist;box-shadow:0 1px 0 #ffffff60 inset}
.ptop nav{display:flex;align-items:center;gap:6px}
.land{padding:96px 0 72px;text-align:center}
.pill-note{display:inline-flex;align-items:center;gap:8px;height:28px;padding:0 12px;border-radius:99px;border:1px solid var(--border2);color:var(--text2);font-size:12.5px;background:var(--raised)}
.pill-note i{width:6px;height:6px;border-radius:50%;background:var(--accent)}
.land h1{font-size:clamp(38px,6.2vw,64px);line-height:1.02;letter-spacing:-.045em;font-weight:600;margin:22px auto 0;max-width:820px}
.land h1 em{font-style:normal;color:var(--accent)}
.land p{color:var(--text3);font-size:17px;max-width:540px;margin:20px auto 30px}
.land .cta{display:flex;gap:8px;justify-content:center}
.shot{border:1px solid var(--border2);border-radius:16px;background:var(--panel);padding:10px;box-shadow:0 40px 100px -40px #6cc8ff30,0 0 0 1px #00000060;margin-bottom:96px}
.shot-in{display:grid;grid-template-columns:200px 1fr;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--canvas);min-height:360px}
.shot-sb{padding:12px 10px;border-right:1px solid var(--border)}.shot-sb div{height:26px;border-radius:5px;margin-bottom:4px;display:flex;align-items:center;gap:8px;padding:0 8px;color:var(--text4);font-size:12.5px}
.shot-sb div.on{background:var(--active);color:var(--text)}.shot-sb div.on svg{color:var(--accent)}
.shot-main{padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start;text-align:left}
.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;margin-bottom:96px}
.feat{background:var(--panel);padding:22px}.feat svg{color:var(--accent);margin-bottom:12px;width:18px;height:18px}.feat p{color:var(--text3);margin-top:4px}
.sec-h{text-align:center;margin-bottom:28px}.sec-h h2{font-size:28px;letter-spacing:-.03em}.sec-h p{color:var(--text3);margin-top:6px}
.pfoot{border-top:1px solid var(--border);padding:24px 0;color:var(--text4);font-size:12.5px;display:flex;justify-content:space-between}
.srvs{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}
.srv{display:flex;align-items:center;gap:12px;padding:12px;border-radius:var(--r-lg);background:var(--raised);border:1px solid var(--border);transition:border-color .12s}
.srv:hover{border-color:var(--border3)}
.srv .gi{width:40px;height:40px;border-radius:10px;font-size:14px}
.srv .nm{flex:1;min-width:0}.srv .nm b{display:block;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.srv .nm span{color:var(--text3);font-size:12.5px}

/* ── responsive ── */
@media (max-width:1100px){.cols{grid-template-columns:1fr}.stick{position:static}.mods{grid-template-columns:repeat(2,1fr)}}
@media (max-width:860px){
  .app{flex-direction:column}.sb{position:static;width:auto;height:auto;padding:8px}
  .nav{display:flex;overflow-x:auto;gap:2px;margin:0}.nav .grp,.sbfoot{display:none}.nav a{flex-shrink:0}.nav a .tag{display:none}
  .panel{margin:0;border-radius:0;border-width:1px 0 0}.content{padding:20px 16px 48px}
  .row{grid-template-columns:1fr;gap:10px}.stats{grid-template-columns:repeat(2,1fr)}.stat:nth-child(3){border-left:0}.stat:nth-child(n+3){border-top:1px solid var(--border)}
  .mods,.feats,.cols.even{grid-template-columns:1fr}.li .meta{display:none}
  .shot-in{grid-template-columns:1fr}.shot-sb{display:none}.shot-main{grid-template-columns:1fr}
}

/* ── module header switch ── */
.switch{position:relative;display:inline-flex;align-items:center;gap:10px;cursor:pointer;user-select:none;font-weight:500;color:var(--text2)}
.switch input{position:absolute;opacity:0;width:0;height:0}
.switch .tr{width:34px;height:20px;border-radius:99px;background:var(--border3);position:relative;transition:background .15s;flex-shrink:0}
.switch .tr::after{content:'';position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 2px #0006}
.switch input:checked+.tr{background:var(--accent)}.switch input:checked+.tr::after{transform:translateX(14px)}
.switch input:focus-visible+.tr{outline:2px solid var(--accent);outline-offset:2px}
.modbar{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 14px;border:1px solid var(--border);border-radius:10px;background:var(--raised)}
.modbar .s{font-size:12.5px;color:var(--text3);min-width:56px}
.off-note{display:flex;align-items:center;gap:10px;padding:10px 14px;margin-bottom:20px;border-radius:10px;border:1px solid #facc1530;background:#facc150d;color:#fde68a;font-size:13px}
.off-note svg{color:var(--warn)}
body.mod-off .off-note{display:flex}body:not(.mod-off) .off-note{display:none}

/* ── picker (roles / channels) ── */
.pick{border:1px solid var(--border2);border-radius:var(--r);background:var(--panel)}
.pick input.q{border:0;border-bottom:1px solid var(--border);border-radius:var(--r) var(--r) 0 0;background:transparent;box-shadow:none}
.pick .opts{display:flex;flex-wrap:wrap;gap:5px;padding:8px;max-height:168px;overflow-y:auto}
.pick label{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 9px;border-radius:6px;border:1px solid var(--border2);cursor:pointer;color:var(--text2);font-size:12.5px;user-select:none}
.pick label:hover{border-color:var(--border3)}
.pick label input{display:none}
.pick label i.dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.pick label:has(input:checked){background:var(--accent-soft);border-color:var(--accent-line);color:var(--text)}
.pick .cnt{padding:0 10px 8px;font-size:12px;color:var(--text4)}

.kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;margin-bottom:16px}
.kpis div{background:var(--raised);padding:12px 14px}.kpis small{display:block;color:var(--text3);font-size:12px}.kpis b{font:600 20px Geist;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.ctype{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:500;padding:2px 8px;border-radius:6px;border:1px solid var(--border2)}
.ctype.warn,.ctype.timeout,.ctype.automod{color:#fde68a;border-color:#facc1530;background:#facc150d}
.ctype.kick,.ctype.ban{color:#fecaca;border-color:#f8717130;background:#f871710d}
.ctype.unban,.ctype.untimeout{color:#bbf7d0;border-color:#4ade8030;background:#4ade800d}
.search{display:flex;gap:8px}.search input{max-width:300px}
.ph-tools{display:flex;align-items:center;gap:8px}
.vars{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.vars button{font:500 11.5px 'Geist Mono';color:var(--text2);background:var(--panel);border:1px solid var(--border2);border-radius:5px;padding:2px 7px;cursor:pointer}.vars button:hover{border-color:var(--accent-line);color:var(--accent)}
.rrrow{display:grid;grid-template-columns:1fr 1fr 70px 30px;gap:8px;margin-bottom:8px}
@media (max-width:860px){.kpis{grid-template-columns:repeat(3,1fr)}.rrrow{grid-template-columns:1fr 1fr}}
/* full Discord embed preview (dcpreview.js) */
.dc .emb.x{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;max-width:440px;padding:10px 16px 14px 12px}
.dc .emb.x .eb{min-width:0}
.dc .emb.x .ea{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:#f2f3f5;margin:2px 0 6px}.dc .emb.x .ea img{width:24px;height:24px;border-radius:50%;object-fit:cover}
.dc .emb.x .et{font-size:16px;font-weight:700;margin:0 0 6px}.dc .emb.x .et.link{color:#00a8fc}
.dc .emb.x .th{width:80px;height:80px;border-radius:6px;object-fit:cover}
.dc .emb.x .ei{display:block;width:100%;max-height:260px;object-fit:cover;border-radius:6px;margin-top:14px}.dc .emb.x .ei.bad{display:none}
.dc .md{white-space:normal;color:#dbdee1;font-size:14.5px;line-height:1.375}
.dc .md .gap{height:.6em}.dc .md .h1{font-size:22px;font-weight:700;margin:6px 0 2px;color:#f2f3f5}.dc .md .h2{font-size:19px;font-weight:700;margin:6px 0 2px;color:#f2f3f5}.dc .md .h3{font-size:16px;font-weight:700;margin:6px 0 2px;color:#f2f3f5}
.dc .md .sub{font-size:12px;color:#949ba4}.dc .md .li{padding-left:16px;position:relative}.dc .md .li:before{content:"•";position:absolute;left:4px}
.dc .md .q{border-left:4px solid #4e5058;padding-left:12px;margin:2px 0;border-radius:2px}
.dc .md code{background:#1e1f22;border-radius:4px;padding:1px 4px;font-size:13px}.dc .md b{color:#f2f3f5}.dc .md a{color:#00a8fc}
.dc .md .mention,.dc .md .tag{background:#5865f23d;color:#c9cdfb;border-radius:3px;padding:0 2px}.dc .md .spoil{background:#1e1f22;color:transparent;border-radius:3px}
.dc .bt .b{background:#5865f2}.dc .dd{display:flex;justify-content:space-between;align-items:center;max-width:440px;margin-top:8px;background:#1e1f22;border:1px solid #2e3035;border-radius:8px;height:42px;padding:0 14px;color:#dbdee1;font-size:14.5px}.dc .dd .ch{color:#b5bac1}
.rolepick{display:flex;flex-wrap:wrap;gap:6px;max-height:190px;overflow:auto;padding:8px;border:1px solid var(--border);border-radius:10px;background:var(--panel2, transparent)}
.rolepick label{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;border:1px solid var(--border);font-size:13px;cursor:pointer;user-select:none}
.rolepick label:has(input:checked){border-color:var(--accent);background:#6cc8ff1f;color:var(--text)}.rolepick input{display:none}.rolepick i.d{width:9px;height:9px;border-radius:50%;display:inline-block}
