/* Power-ups board · brand-006 RJ Laravel Admin · styled in the locked 4b·R direction (2026-10-18):
   white header + white RJ HQ corner, 76px labelled navy rail (exact DTC navy), 2b ultra density, light tape motif.
   Tokens: phase-1 src/directions.py (2b) + r2 SHELL_2B + final_def.py (DTC sidebar accents, rail 76px).
   Motion: brand-005 kit v3 tokens.css "crisp set". */
:root{
  --bg:#EDF0F4;--surface:#FFFFFF;--muted:#F5F6F9;--border:#E2E6EC;--fg:#0F1626;--muted-fg:#505A70;
  --accent:#E9EEF8;--selected-row:#E9EEF8;--ring:#2C4B86;--steel:#2C4B86;
  --primary:#0E1729;--primary-hover:#1A2540;--primary-fg:#FAFAF8;--input:#8892A5;--secondary-border:#C2C7D1;
  --success:#21654C;--warning:#83550F;--info:#335794;--neutral:#575F72;--destructive:#A2323F;
  --success-bg:#E7F2EC;--warning-bg:#FBF1E0;--info-bg:#E9EEF8;--destructive-bg:#F8E8EA;
  --sb-top:#131D33;--sb-mid:#0E1729;--sb-bot:#0C1425;--sb-bloom:rgba(130,160,220,.11);--sb-on-bg:rgba(255,255,255,.07);
  --sb-line:rgba(201,206,218,.12);--sidebar-fg:#C9CEDA;--sidebar-rail:#9FB4E2;--sidebar-item-on-icon:#B7C7EA;
  --rail-w:76px;--topbar-h:48px;--radius:6px;--r-card:8px;--r-chip:4px;--e-card:0 1px 2px rgba(14,23,41,.04);
  --row:30px;--th:30px;--control-h:30px;--control-h-sm:26px;
  --text-body:12.5px;--text-small:11.5px;--text-micro:11px;--text-code:11.5px;
  --cjk:"PingFang SC","Noto Sans SC","Microsoft YaHei";
  --font-title:'Archivo',var(--cjk),system-ui,sans-serif;--font-ui:'IBM Plex Sans',var(--cjk),system-ui,sans-serif;
  --font-code:'IBM Plex Mono',ui-monospace,monospace;
  --ease-standard:cubic-bezier(.2,0,0,1);--ease-in:cubic-bezier(.22,1,.36,1);--ease-out:cubic-bezier(.4,0,1,1);
  --motion-hover:120ms var(--ease-standard);--motion-press:80ms var(--ease-standard);--motion-focus:140ms var(--ease-standard);
  --motion-pop-in:160ms var(--ease-in);--motion-pop-out:110ms var(--ease-out);
  --motion-sheet-in:260ms var(--ease-in);--motion-sheet-out:180ms var(--ease-out);
  --motion-toast-in:200ms var(--ease-in);--motion-toast-out:140ms var(--ease-out);
  --motion-flash:900ms;--motion-spin:.8s;--motion-indeterminate:1.5s;
  --tape:repeating-linear-gradient(90deg,color-mix(in srgb,var(--steel) 55%,transparent) 0 1px,transparent 1px 8px) bottom/100% 3px no-repeat,
         repeating-linear-gradient(90deg,var(--steel) 0 1px,transparent 1px 80px) bottom/100% 6px no-repeat;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--bg)}
body{font-family:var(--font-ui);font-size:var(--text-body);line-height:1.45;color:var(--fg);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
button,input,textarea,select{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
.mono{font-family:var(--font-code);font-size:var(--text-code)}
.num{font-variant-numeric:tabular-nums;text-align:right}
.ex{text-decoration:underline dotted color-mix(in srgb,var(--muted-fg) 45%,transparent);text-underline-offset:3px}
svg.i{width:16px;height:16px;flex:none;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
svg.i.s{width:14px;height:14px}
kbd{font-family:var(--font-code);font-size:10.5px;line-height:1;border:1px solid var(--border);border-bottom-width:2px;border-radius:4px;padding:2px 5px;background:var(--surface);color:var(--muted-fg)}
:focus-visible{outline:2px solid var(--ring);outline-offset:1px}

/* ---------- shell: 76px labelled navy rail + white HQ corner + white header ---------- */
.shell{display:grid;grid-template-columns:var(--rail-w) 1fr;grid-template-rows:var(--topbar-h) 1fr;min-height:100vh}
.corner{grid-column:1;grid-row:1;background:#FFFFFF;display:flex;align-items:center;justify-content:center;gap:6px;position:sticky;top:0;z-index:30;
  border-bottom:1px solid color-mix(in srgb,var(--steel) 35%,var(--border));box-shadow:inset -1px 0 0 var(--border)}
.bm{width:24px;height:24px;border-radius:var(--radius);display:grid;place-items:center;background:var(--primary);color:var(--primary-fg);
  font-family:var(--font-title);font-weight:700;font-size:10.5px;flex:none}
.corner b{font-family:var(--font-title);font-weight:700;font-size:15px;letter-spacing:-.02em;color:var(--primary)}
.top{grid-column:2;grid-row:1;position:sticky;top:0;z-index:30;background:#FFFFFF;display:flex;align-items:center;gap:10px;padding:0 16px 0 10px;
  border-bottom:1px solid color-mix(in srgb,var(--steel) 35%,var(--border))}
.top::after,.corner::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:6px;pointer-events:none;opacity:.55;background:var(--tape)}
.tog{width:28px;height:28px;display:grid;place-items:center;border-radius:var(--radius);color:var(--muted-fg);border:1px solid var(--border);background:var(--surface)}
.tsep{width:1px;height:18px;background:var(--border)}
.top h1{font-family:var(--font-title);font-weight:600;font-size:15px;letter-spacing:-.01em;white-space:nowrap}
.top h1 small{font-family:var(--font-ui);font-weight:400;font-size:var(--text-small);color:var(--muted-fg);margin-left:8px}
.find{position:relative;margin-left:auto;width:300px}
.find input{width:100%;height:var(--control-h);border:1px solid var(--border);border-radius:var(--radius);background:var(--muted);padding:0 64px 0 30px;font-size:var(--text-body)}
.find input:focus{outline:none;border-color:var(--ring);background:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--ring) 14%,transparent)}
.find>svg{position:absolute;left:9px;top:8px;color:var(--muted-fg)}
.find kbd{position:absolute;right:7px;top:7px}
.ibtn{position:relative;width:30px;height:30px;display:grid;place-items:center;border-radius:var(--radius);color:var(--muted-fg);transition:background var(--motion-hover),color var(--motion-hover)}
.ibtn:hover{background:var(--muted);color:var(--fg)}
.dot{position:absolute;top:4px;right:4px;min-width:14px;height:14px;padding:0 3px;border-radius:7px;background:var(--steel);color:#fff;font-size:9.5px;font-weight:600;display:grid;place-items:center;line-height:1}
.btn{height:var(--control-h);display:inline-flex;align-items:center;gap:6px;padding:0 12px;border-radius:var(--radius);font-family:var(--font-title);font-weight:500;font-size:12.5px;
  border:1px solid var(--secondary-border);background:var(--surface);color:var(--fg);white-space:nowrap;transition:background var(--motion-hover),border-color var(--motion-hover)}
.btn:hover{background:var(--muted)}
.btn:active{transform:none;filter:brightness(.97)}
.btn.pri{background:var(--primary);border-color:var(--primary);color:var(--primary-fg)}
.btn.pri:hover{background:var(--primary-hover)}
.btn.sm{height:var(--control-h-sm);padding:0 9px;font-size:12px}
.btn.ghost{border-color:transparent;background:transparent}
.btn.ghost:hover{background:var(--muted)}
.btn.danger{color:var(--destructive)}
.btn.dfill{background:var(--destructive);border-color:var(--destructive);color:#fff}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.judged{font-size:var(--text-small);color:var(--muted-fg);white-space:nowrap}

.rail{grid-column:1;grid-row:2;position:sticky;top:var(--topbar-h);height:calc(100vh - var(--topbar-h));overflow:hidden;
  background:linear-gradient(180deg,var(--sb-top) 0%,var(--sb-mid) 52%,var(--sb-bot) 100%);color:var(--sidebar-fg);
  display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 0 12px;box-shadow:inset -1px 0 0 rgba(201,206,218,.07)}
.rail::before{content:"";position:absolute;left:-40px;top:-60px;width:220px;height:240px;border-radius:50%;background:radial-gradient(closest-side,var(--sb-bloom),transparent);pointer-events:none}
.rl{position:relative;width:66px;min-height:48px;padding:7px 2px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:var(--radius);
  color:var(--sidebar-fg);font-family:var(--font-title);font-size:10px;font-weight:500;line-height:1.15;text-align:center;transition:background var(--motion-hover),color var(--motion-hover)}
.rl:hover{background:rgba(255,255,255,.05);color:#FAFAF8}
.rl.on{background:var(--sb-on-bg);color:#FAFAF8;font-weight:600;box-shadow:inset 0 0 0 1px rgba(201,206,218,.09)}
.rl.on svg{color:var(--sidebar-item-on-icon)}
.rl.on::before{content:"";position:absolute;left:-5px;top:12px;bottom:12px;width:3px;border-radius:0 2px 2px 0;background:var(--sidebar-rail)}
.rl .n{font-family:var(--font-ui);font-size:9.5px;opacity:.6;font-weight:400}
.rsep{width:24px;height:1px;background:var(--sb-line);margin:6px 0}
.rail .av{margin-top:auto;width:28px;height:28px;border-radius:999px;display:grid;place-items:center;font-family:var(--font-title);font-weight:600;font-size:11px;background:#2A3553;color:#E6EAF3}

main{grid-column:2;grid-row:2;padding:18px 20px 120px;min-width:0}
.intro{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;margin-bottom:6px;flex-wrap:wrap}
.intro p{color:var(--muted-fg);max-width:820px}
.legend{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.seg{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:2px;gap:2px}
.seg button{height:24px;padding:0 9px;border-radius:4px;font-size:12px;color:var(--muted-fg);font-family:var(--font-title);font-weight:500;transition:background var(--motion-hover),color var(--motion-hover)}
.seg button.on{background:var(--accent);color:var(--steel)}

.grp{margin-top:22px;scroll-margin-top:calc(var(--topbar-h) + 12px)}
.grp>h2{font-family:var(--font-title);font-weight:600;font-size:14px;display:flex;align-items:baseline;gap:8px;margin-bottom:10px}
.grp>h2 small{font-family:var(--font-ui);font-weight:400;font-size:var(--text-small);color:var(--muted-fg)}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:12px}

/* ---------- card ---------- */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--e-card);display:flex;flex-direction:column;min-width:0}
.card.hide{display:none}
.ch{display:flex;align-items:flex-start;gap:8px;padding:10px 12px 8px}
.ch h3{font-family:var(--font-title);font-weight:600;font-size:13.5px;letter-spacing:-.005em;line-height:1.25}
.ch p{color:var(--muted-fg);font-size:var(--text-small);margin-top:2px}
.ch .no{font-family:var(--font-code);font-size:10.5px;color:var(--muted-fg);padding-top:2px;min-width:18px}
.star{color:var(--steel);font-size:13px;line-height:1.2}
.tag{margin-left:auto;flex:none;height:20px;display:inline-flex;align-items:center;gap:4px;padding:0 7px;border-radius:var(--r-chip);font-family:var(--font-title);font-size:10.5px;font-weight:600;white-space:nowrap}
.tag.ui{background:var(--muted);color:var(--neutral);border:1px solid var(--border)}
.tag.exists{background:var(--success-bg);color:var(--success)}
.tag.backend{background:var(--warning-bg);color:var(--warning)}
.demo{margin:0 12px;height:200px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);position:relative;overflow:hidden;font-size:12px}
.meta{padding:9px 12px 0;display:flex;flex-direction:column;gap:5px;font-size:var(--text-small)}
.meta .k{font-family:var(--font-title);font-weight:600;color:var(--fg);margin-right:4px}
.meta div{color:var(--muted-fg)}
.meta .cite{font-family:var(--font-code);font-size:10.5px;color:var(--muted-fg);background:var(--muted);border-radius:4px;padding:4px 6px;line-height:1.5}
.vote{margin-top:auto;padding:10px 12px 12px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.vote button.v{height:26px;padding:0 9px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);font-size:12px;font-family:var(--font-title);font-weight:500;color:var(--muted-fg);
  transition:background var(--motion-hover),border-color var(--motion-hover),color var(--motion-hover)}
.vote button.v:hover{border-color:var(--secondary-border);color:var(--fg)}
.vote button.v.on[data-v=yes]{background:var(--success-bg);border-color:color-mix(in srgb,var(--success) 40%,transparent);color:var(--success)}
.vote button.v.on[data-v=no]{background:var(--destructive-bg);border-color:color-mix(in srgb,var(--destructive) 35%,transparent);color:var(--destructive)}
.vote button.v.on[data-v=later]{background:var(--accent);border-color:color-mix(in srgb,var(--steel) 35%,transparent);color:var(--steel)}
.vote input{flex:1;min-width:120px;height:26px;border:1px solid var(--border);border-radius:var(--radius);padding:0 8px;font-size:12px;background:var(--surface)}
.vote input:focus{outline:none;border-color:var(--ring)}

/* ---------- shared demo atoms ---------- */
.mini{position:absolute;inset:10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.pill{display:inline-flex;align-items:center;height:18px;padding:0 6px;border-radius:var(--r-chip);font-size:10.5px;font-weight:500;white-space:nowrap;background:var(--muted);color:var(--neutral)}
.pill.manufacturing,.pill.quality_check{background:var(--info-bg);color:var(--info)}
.pill.on_hold{background:var(--warning-bg);color:var(--warning)}
.pill.cancelled{background:var(--destructive-bg);color:var(--destructive)}
.pill.shipped,.pill.delivered,.pill.ok{background:var(--success-bg);color:var(--success)}
.pill.exp{background:transparent;border:1px solid var(--secondary-border);color:var(--fg)}
.tbl{width:100%;border-collapse:collapse;table-layout:fixed}
.tbl th{height:26px;text-align:left;font-weight:500;font-size:11px;color:var(--muted-fg);background:var(--muted);padding:0 8px;border-bottom:1px solid var(--border);white-space:nowrap}
.tbl td{height:var(--row);padding:0 8px;border-bottom:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:height var(--motion-sheet-in),background var(--motion-hover)}
.tbl tr.sel td{background:var(--selected-row)}
.tbl tr.foc td{box-shadow:inset 0 1px 0 var(--ring),inset 0 -1px 0 var(--ring)}
.tbl tr.foc td:first-child{box-shadow:inset 2px 0 0 var(--ring),inset 0 1px 0 var(--ring),inset 0 -1px 0 var(--ring)}
.tbl .id{font-family:var(--font-code);font-size:11px}
.cb{width:13px;height:13px;border:1px solid var(--input);border-radius:3px;display:inline-grid;place-items:center;vertical-align:middle;background:#fff}
.cb.on{background:var(--steel);border-color:var(--steel)}
.cb.on::after{content:"";width:6px;height:3px;border:solid #fff;border-width:0 0 1.5px 1.5px;transform:rotate(-45deg) translate(1px,-1px)}
.bar{height:6px;border-radius:3px;background:var(--muted);overflow:hidden;position:relative;border:1px solid var(--border)}
.bar i{position:absolute;left:0;top:0;bottom:0;background:var(--steel);border-radius:3px;transition:width 600ms var(--ease-standard)}
.bar::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.55) 0 1px,transparent 1px 10%);pointer-events:none}
.bar.fail i{background:var(--destructive)}
.bar.done i{background:var(--success)}
.toast{position:absolute;left:50%;bottom:12px;transform:translate(-50%,12px);opacity:0;background:var(--primary);color:var(--primary-fg);border-radius:var(--radius);
  padding:7px 10px;display:flex;align-items:center;gap:10px;font-size:12px;white-space:nowrap;box-shadow:0 8px 24px -10px rgba(14,23,41,.5);
  transition:opacity var(--motion-toast-out),transform var(--motion-toast-out);overflow:hidden}
.toast.in{opacity:1;transform:translate(-50%,0);transition:opacity var(--motion-toast-in),transform var(--motion-toast-in)}
.toast b{font-weight:600;color:#B7C7EA;cursor:pointer}
.toast .tm{position:absolute;left:0;bottom:0;height:2px;background:#9FB4E2;width:100%}
.keycap{position:absolute;right:10px;top:10px;display:flex;gap:4px;z-index:3}
.keycap kbd{font-size:12px;padding:4px 7px;opacity:0;transform:translateY(-3px);transition:opacity var(--motion-pop-in),transform var(--motion-pop-in);background:#fff;color:var(--fg)}
.keycap kbd.in{opacity:1;transform:none}
.spin{width:12px;height:12px;border-radius:50%;border:2px solid color-mix(in srgb,currentColor 25%,transparent);border-top-color:currentColor;animation:sp var(--motion-spin) linear infinite;flex:none}
@keyframes sp{to{transform:rotate(360deg)}}
.flash{animation:fl var(--motion-flash) var(--ease-standard)}
@keyframes fl{0%{background:color-mix(in srgb,var(--success) 18%,transparent)}100%{background:transparent}}
.caret{display:inline-block;width:1px;height:13px;background:var(--fg);vertical-align:-2px;animation:bl 1.1s steps(1) infinite}
@keyframes bl{50%{opacity:0}}
.live{width:7px;height:7px;border-radius:50%;background:var(--success);display:inline-block;flex:none}
.live.pulse{animation:pu 1.6s var(--ease-standard) infinite}
@keyframes pu{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--success) 45%,transparent)}100%{box-shadow:0 0 0 7px transparent}}

/* palette (page-level, real) */
.scrim{position:fixed;inset:0;background:rgba(14,23,41,.32);z-index:80;opacity:0;pointer-events:none;transition:opacity var(--motion-pop-out)}
.scrim.in{opacity:1;pointer-events:auto;transition:opacity var(--motion-pop-in)}
.pal{position:fixed;left:50%;top:12vh;width:min(600px,calc(100vw - 32px));transform:translate(-50%,-6px) scale(.985);opacity:0;pointer-events:none;z-index:81;background:#fff;border:1px solid var(--border);border-radius:10px;
  box-shadow:0 24px 60px -20px rgba(14,23,41,.45);overflow:hidden;transition:opacity var(--motion-pop-out),transform var(--motion-pop-out)}
.pal.in{opacity:1;transform:translate(-50%,0) scale(1);pointer-events:auto;transition:opacity var(--motion-pop-in),transform var(--motion-pop-in)}
.pal .pin{display:flex;align-items:center;gap:8px;padding:0 12px;height:44px;border-bottom:1px solid var(--border);position:relative}
.pal .pin::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:6px;opacity:.4;background:var(--tape)}
.pal .pin input{flex:1;border:0;outline:none;font-size:14px;background:transparent}
.pal .res{max-height:min(420px,60vh);overflow:auto;padding:6px}
.pal .gh{font-family:var(--font-title);font-size:11px;font-weight:500;color:var(--muted-fg);padding:8px 8px 4px}
.pal .ri{display:flex;align-items:center;gap:8px;height:32px;padding:0 8px;border-radius:var(--radius);cursor:pointer;white-space:nowrap;overflow:hidden}
.pal .ri .sub{color:var(--muted-fg);overflow:hidden;text-overflow:ellipsis}
.pal .ri.on{background:var(--accent)}
.pal .ri .r{margin-left:auto;display:flex;gap:6px;align-items:center}
.pal .ft{display:flex;gap:12px;padding:8px 12px;border-top:1px solid var(--border);color:var(--muted-fg);font-size:11px}
/* tray (page-level, real) */
.pop{position:fixed;top:calc(var(--topbar-h) + 6px);right:16px;width:340px;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 18px 48px -18px rgba(14,23,41,.4);
  z-index:70;opacity:0;transform:translateY(-4px);pointer-events:none;transition:opacity var(--motion-pop-out),transform var(--motion-pop-out)}
.pop.in{opacity:1;transform:none;pointer-events:auto;transition:opacity var(--motion-pop-in),transform var(--motion-pop-in)}
.pop h4{font-family:var(--font-title);font-weight:600;font-size:12.5px;padding:10px 12px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px}
.pop h4 small{margin-left:auto;font-family:var(--font-ui);font-weight:400;color:var(--muted-fg);font-size:11px;display:flex;align-items:center;gap:5px}
.job{padding:9px 12px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:5px}
.job:last-child{border-bottom:0}
.job .jt{display:flex;align-items:center;gap:6px;font-weight:500;font-size:12px}
.job .js{margin-left:auto;font-size:11px;color:var(--muted-fg);display:flex;align-items:center;gap:5px;font-weight:400}
.job .js.ok{color:var(--success)} .job .js.bad{color:var(--destructive)}
.job .jx{display:flex;gap:8px;align-items:center;font-size:11px;color:var(--muted-fg)}
.job .jx a{color:var(--steel);font-weight:500;cursor:pointer;text-decoration:none}
/* export modal */
.modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-48%);opacity:0;pointer-events:none;width:min(560px,calc(100vw - 32px));background:#fff;border-radius:10px;border:1px solid var(--border);
  box-shadow:0 24px 60px -20px rgba(14,23,41,.45);z-index:91;transition:opacity var(--motion-pop-out),transform var(--motion-pop-out)}
.modal.in{opacity:1;transform:translate(-50%,-50%);pointer-events:auto;transition:opacity var(--motion-pop-in),transform var(--motion-pop-in)}
.modal h4{font-family:var(--font-title);font-weight:600;font-size:14px;padding:12px 14px;border-bottom:1px solid var(--border)}
.modal textarea{display:block;width:calc(100% - 28px);margin:12px 14px;height:220px;font-family:var(--font-code);font-size:11px;border:1px solid var(--border);border-radius:var(--radius);padding:8px;background:var(--muted);resize:vertical}
.modal .mf{display:flex;gap:8px;justify-content:flex-end;padding:0 14px 14px;align-items:center}
.modal .mf span{margin-right:auto;color:var(--muted-fg);font-size:var(--text-small)}
.gtoast{position:fixed;left:50%;bottom:20px;z-index:95}

/* ---------- phone ---------- */
.is-m{--rail-w:0px}
.is-m .pbar{position:sticky;top:0;z-index:30;background:#fff;height:52px;display:flex;align-items:center;gap:10px;padding:0 12px;border-bottom:1px solid color-mix(in srgb,var(--steel) 35%,var(--border))}
.is-m .pbar::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:6px;pointer-events:none;opacity:.55;background:var(--tape)}
.is-m .pm{height:26px;min-width:26px;padding:0 6px;border-radius:var(--radius);display:grid;place-items:center;background:var(--primary);color:var(--primary-fg);font-family:var(--font-title);font-weight:700;font-size:10.5px}
.is-m .pmw{display:flex;flex-direction:column;line-height:1.15;flex:1;min-width:0}
.is-m .pmw b{font-family:var(--font-title);font-weight:600;font-size:15px}
.is-m .pmw small{font-family:var(--font-title);font-size:10.5px;font-weight:500;color:var(--muted-fg)}
.is-m .chips{position:sticky;top:52px;z-index:29;background:var(--bg);display:flex;gap:6px;overflow-x:auto;padding:10px 12px;scrollbar-width:none;border-bottom:1px solid var(--border)}
.is-m .chips button{flex:none;height:28px;padding:0 11px;border-radius:999px;border:1px solid var(--border);background:#fff;font-family:var(--font-title);font-weight:500;font-size:12px;color:var(--muted-fg)}
.is-m .chips button.on{background:var(--primary);border-color:var(--primary);color:var(--primary-fg)}
.is-m main{padding:12px 12px 110px}
.is-m .cards{grid-template-columns:1fr}
.is-m .grp{scroll-margin-top:100px}
.is-m .demo{height:210px}
.is-m .pfoot{position:fixed;left:0;right:0;bottom:0;z-index:40;background:#fff;border-top:1px solid var(--border);padding:10px 12px calc(10px + env(safe-area-inset-bottom));display:flex;gap:10px;align-items:center}
.is-m .pfoot .btn{flex:1;justify-content:center;height:40px}
.is-m .pop{right:12px;left:12px;width:auto;top:58px}
.is-m .vote button.v{height:32px;padding:0 12px}
.is-m .vote input{height:32px;flex-basis:100%}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.is-m .grp>h2{flex-direction:column;align-items:flex-start;gap:2px}
