:root{--brand:#bf1e2e;--brand-deep:#9e1826;--brand-ink:#8e1723;--brand-wash:#fbeaeb;--brand-glow:#bf1e2e2e;--charcoal:#1f1f1f;--ground:#f2f2ef;--surface:#fff;--surface-2:#f8f8f6;--sunk:#e9e9e4;--ink:#1b1b1a;--ink-2:#4c4c49;--ink-3:#7d7d78;--line:#e0e0db;--line-2:#cbcbc5;--ok:#1c7a45;--ok-wash:#e3f1e9;--warn:#8a6209;--warn-wash:#f8eeda;--bad:#b3341f;--bad-wash:#fae7e3;--shadow-1:0 1px 2px #1f1f1f0d, 0 2px 8px -4px #1f1f1f1a;--shadow-2:0 2px 4px #1f1f1f0f, 0 12px 32px -14px #1f1f1f38;--shadow-3:0 8px 16px -8px #1f1f1f2e, 0 32px 64px -24px #1f1f1f52;--r-sm:7px;--r:11px;--r-lg:16px;--maxw:1200px;--ease:cubic-bezier(.2,.7,.2,1)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--brand:#e0505e;--brand-deep:#c93f4d;--brand-ink:#f08a94;--brand-wash:#2e1618;--brand-glow:#e0505e38;--ground:#121211;--surface:#1b1b1a;--surface-2:#222221;--sunk:#161615;--ink:#ecece8;--ink-2:#b5b5af;--ink-3:#86867f;--line:#2d2d2c;--line-2:#3e3e3c;--ok:#5cbf86;--ok-wash:#13291d;--warn:#d6a54a;--warn-wash:#2a2113;--bad:#e8836e;--bad-wash:#2e1712;--shadow-1:0 1px 2px #0006, 0 2px 8px -4px #00000080;--shadow-2:0 2px 4px #00000080, 0 12px 32px -14px #000c;--shadow-3:0 8px 16px -8px #0009, 0 32px 64px -24px #000000e6}}:root[data-theme=dark]{--brand:#e0505e;--brand-deep:#c93f4d;--brand-ink:#f08a94;--brand-wash:#2e1618;--brand-glow:#e0505e38;--ground:#121211;--surface:#1b1b1a;--surface-2:#222221;--sunk:#161615;--ink:#ecece8;--ink-2:#b5b5af;--ink-3:#86867f;--line:#2d2d2c;--line-2:#3e3e3c;--ok:#5cbf86;--ok-wash:#13291d;--warn:#d6a54a;--warn-wash:#2a2113;--bad:#e8836e;--bad-wash:#2e1712;--shadow-1:0 1px 2px #0006, 0 2px 8px -4px #00000080;--shadow-2:0 2px 4px #00000080, 0 12px 32px -14px #000c;--shadow-3:0 8px 16px -8px #0009, 0 32px 64px -24px #000000e6}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--ground);color:var(--ink);-webkit-font-smoothing:antialiased;direction:rtl;font-family:IBM Plex Sans Arabic,system-ui,Segoe UI,sans-serif;font-size:15px;line-height:1.55}body.lock{overflow:hidden}.mono{font-variant-numeric:tabular-nums;font-family:IBM Plex Mono,IBM Plex Sans Arabic,ui-monospace,monospace}a{color:var(--brand-ink)}button{font:inherit;color:inherit}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}.hide{display:none!important}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}.logo{background:url(/logo.png) 50%/contain no-repeat;flex:none;width:62px;height:62px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .logo{background-image:url(/logo-dark.png)}}:root[data-theme=dark] .logo{background-image:url(/logo-dark.png)}.brand{align-items:center;gap:14px;display:flex}.brand .bn{letter-spacing:-.01em;font-size:17px;font-weight:700;line-height:1.2}.brand .bs{color:var(--ink-3);letter-spacing:.18em;text-transform:uppercase;margin-top:3px;font-family:IBM Plex Mono,monospace;font-size:10.5px}.btn{border:1px solid var(--line-2);background:var(--surface);color:var(--ink);border-radius:var(--r-sm);cursor:pointer;transition:border-color .15s, background .15s, color .15s, transform .15s var(--ease), box-shadow .15s;white-space:nowrap;justify-content:center;align-items:center;gap:7px;padding:8px 14px;font-size:13px;font-weight:500;line-height:1.3;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--brand);color:var(--brand-ink)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.solid{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 1px 2px var(--brand-glow);font-weight:600}.btn.solid:hover:not(:disabled){background:var(--brand-deep);border-color:var(--brand-deep);color:#fff;box-shadow:0 4px 12px -2px var(--brand-glow)}.btn.soft{background:var(--brand-wash);color:var(--brand-ink);border-color:#0000}.btn.soft:hover:not(:disabled){background:var(--brand-wash);border-color:var(--brand)}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover:not(:disabled){background:var(--sunk);color:var(--ink);border-color:#0000}.btn.danger{color:var(--bad)}.btn.danger:hover:not(:disabled){border-color:var(--bad);background:var(--bad-wash);color:var(--bad)}.btn.danger.solid{background:var(--bad);border-color:var(--bad);color:#fff}.btn.sm{padding:5px 10px;font-size:12px}.btn.lg{padding:11px 20px;font-size:14.5px}.btn.icon{width:32px;height:32px;padding:6px}.btn.icon.sm{width:26px;height:26px;padding:4px}.btn svg{flex:none}.chips{flex-wrap:wrap;gap:5px;display:flex}.chip{border:1px solid var(--line-2);background:var(--surface);color:var(--ink-2);cursor:pointer;white-space:nowrap;border-radius:99px;align-items:center;gap:6px;padding:6px 13px;font-size:12.5px;transition:all .14s;display:inline-flex}.chip:hover{border-color:var(--brand);color:var(--ink)}.chip[aria-pressed=true]{background:var(--ink);color:var(--ground);border-color:var(--ink)}.chip .n{opacity:.7;font-family:IBM Plex Mono,monospace;font-size:11px}.tag{white-space:nowrap;border-radius:99px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:500;line-height:1.5;display:inline-flex}.tag.count{background:var(--sunk);color:var(--ink-2)}.tag.req{background:var(--brand-wash);color:var(--brand-ink);font-family:IBM Plex Mono,monospace}.tag.ok{background:var(--ok-wash);color:var(--ok)}.tag.warn{background:var(--warn-wash);color:var(--warn)}.tag.bad{background:var(--bad-wash);color:var(--bad)}.dot{background:currentColor;border-radius:50%;width:7px;height:7px;display:inline-block}.field{display:block}.field>span{color:var(--ink-2);margin-bottom:5px;font-size:12px;font-weight:500;display:block}.field>span em{color:var(--ink-3);margin-inline-start:5px;font-style:normal;font-weight:400}.input,.field input:not([type=checkbox]):not([type=radio]),.field textarea,.field select{border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--surface);width:100%;color:var(--ink);font:inherit;padding:9px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.input:focus,.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow);outline:none}.field textarea{resize:vertical;min-height:84px;line-height:1.6}.field .help{color:var(--ink-3);margin-top:5px;font-size:11.5px}.fgrid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.fgrid .span2{grid-column:1/-1}.switch{cursor:pointer;align-items:center;gap:10px;padding:9px 0;font-size:13.5px;display:flex}.switch input{appearance:none;background:var(--line-2);cursor:pointer;border-radius:99px;flex:none;width:36px;height:20px;margin:0;transition:all .2s;position:relative}.switch input:after{content:"";top:2px;width:16px;height:16px;transition:.2s var(--ease);background:#fff;border-radius:50%;position:absolute;inset-inline-start:2px;box-shadow:0 1px 2px #0000004d}.switch input:checked{background:var(--ok)}.switch input:checked:after{transform:translate(-16px)}.switch small{color:var(--ink-3);font-size:11.5px;font-weight:400;display:block}.check{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.check input{width:16px;height:16px;accent-color:var(--brand);margin:0}.search{position:relative}.search input{border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--surface);width:100%;color:var(--ink);font:inherit;padding:9px 36px 9px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.search input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow);outline:none}.search svg{inset-inline-start:12px;opacity:.45;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-1)}.card-h{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:14px 18px;display:flex}.card-h h2{margin:0;font-size:15px;font-weight:600}.card-h p{color:var(--ink-3);margin:2px 0 0;font-size:12px}.card-b{padding:18px}.empty{color:var(--ink-3);text-align:center;background:var(--surface-2);border:1px dashed var(--line-2);border-radius:var(--r);padding:22px 18px;font-size:13px}.empty b{color:var(--ink-2);margin-bottom:3px;font-weight:600;display:block}.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-1);padding:14px 16px;position:relative;overflow:hidden}.stat:before{content:"";inset-inline-start:0;background:var(--line-2);width:3px;position:absolute;top:0;bottom:0}.stat.brand:before{background:var(--brand)}.stat.ok:before{background:var(--ok)}.stat.bad:before{background:var(--bad)}.stat.warn:before{background:var(--warn)}.stat b{letter-spacing:-.02em;font-family:IBM Plex Mono,monospace;font-size:24px;font-weight:600;line-height:1.1;display:block}.stat span{color:var(--ink-3);margin-top:4px;font-size:12px;display:block}.toast{bottom:28px;z-index:120;background:var(--charcoal);color:#fff;box-shadow:var(--shadow-3);opacity:0;pointer-events:none;transition:.25s var(--ease);border-radius:99px;align-items:center;gap:8px;max-width:calc(100vw - 40px);padding:11px 20px;font-size:13.5px;display:flex;position:fixed;inset-inline-start:50%;transform:translate(50%,14px)}.toast.show{opacity:1;transform:translate(50%)}.toast.ok:before{content:"✓";color:#7ed8a3;font-weight:700}.toast.bad:before{content:"!";color:#ff9a86;font-weight:700}.scrim{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;animation:fade .18s var(--ease);background:#10100f80;place-items:center;padding:18px;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(14px)scale(.985)}to{opacity:1;transform:none}}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:none}}.modal{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-3);width:min(560px,100%);max-height:min(92vh,900px);animation:rise .22s var(--ease);flex-direction:column;display:flex;overflow:hidden}.modal.wide{width:min(920px,100%)}.modal.xl{width:min(1080px,100%)}.modal-h{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;padding:18px 22px 14px;display:flex}.modal-h h2{margin:0;font-size:18px;font-weight:600}.modal-h p{color:var(--ink-3);margin:3px 0 0;font-size:13px}.modal-h .x{margin-inline-start:auto}.modal-b{flex:1;padding:20px 22px;overflow:auto}.modal-f{border-top:1px solid var(--line);background:var(--surface-2);align-items:center;gap:8px;padding:14px 22px;display:flex}.modal-f .sp{flex:1}.tabs{background:var(--sunk);border-radius:var(--r-sm);gap:2px;padding:3px;display:flex}.tabs button{color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:5px;flex:1;padding:7px 12px;font-size:13px;font-weight:500;transition:all .15s}.tabs button[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1);font-weight:600}.alert{border-radius:var(--r-sm);align-items:flex-start;gap:9px;padding:10px 13px;font-size:13px;line-height:1.5;display:flex}.alert.bad{background:var(--bad-wash);color:var(--bad)}.alert.ok{background:var(--ok-wash);color:var(--ok)}.alert.warn{background:var(--warn-wash);color:var(--warn)}.alert.info{background:var(--brand-wash);color:var(--brand-ink)}.top{background:var(--surface);border-bottom:1px solid var(--line);position:relative}.top:after{content:"";inset-inline:0;background:linear-gradient(90deg, var(--brand), var(--brand) 35%, transparent);height:3px;position:absolute;bottom:-1px}.mast{max-width:var(--maxw);margin:0 auto;padding:22px 20px 18px}.mast-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--brand);margin:0 0 6px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600}h1{letter-spacing:-.015em;text-wrap:balance;margin:0;font-size:26px;font-weight:600;line-height:1.25}.sub{color:var(--ink-2);max-width:64ch;margin:8px 0 0;font-size:13.5px}.meta{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.meta div{color:var(--ink-3);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:6px 11px;font-size:11.5px}.meta b{color:var(--ink);margin-inline-start:7px;font-size:13px;font-weight:600}.steps{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px;display:grid}.steps div{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--ink-2);align-items:flex-start;gap:10px;padding:10px 12px;font-size:12.5px;line-height:1.45;display:flex}.steps i{background:var(--brand);color:#fff;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-family:IBM Plex Mono,monospace;font-size:11.5px;font-style:normal;font-weight:600;display:grid}.bar{z-index:30;background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);position:sticky;top:0}.bar-in{max-width:var(--maxw);flex-wrap:wrap;align-items:center;gap:10px;margin:0 auto;padding:10px 20px;display:flex}.bar-in .search{flex:230px;min-width:180px}.list{flex-direction:column;gap:10px;margin-top:18px;display:flex}.line{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-1);scroll-margin-top:70px;transition:border-color .2s,box-shadow .2s;overflow:hidden}.line:hover{box-shadow:var(--shadow-2)}.line.done{border-color:var(--ok)}.line.none{background:var(--surface-2);box-shadow:none}.head{cursor:pointer;-webkit-user-select:none;user-select:none;grid-template-columns:36px 1fr auto;align-items:center;gap:13px;padding:12px 14px;list-style:none;display:grid}.head::-webkit-details-marker{display:none}.line.none .head{cursor:default}.idx{color:var(--ink-3);text-align:center;background:var(--sunk);border-radius:6px;padding:5px 0;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:500}.line.done .idx{background:var(--ok);color:#fff}.ttl{min-width:0}.ttl h3{margin:0;font-size:15.5px;font-weight:600;line-height:1.35}.pick{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:8px;margin:3px 0 0;font-size:12.5px;display:flex}.pick .sel{color:var(--ok);font-weight:600}.right{align-items:center;gap:9px;display:flex}.lineTotal{color:var(--brand-ink);text-align:end;min-width:66px;font-family:IBM Plex Mono,monospace;font-size:13.5px;font-weight:600}.caret{color:var(--ink-3);transition:transform .2s var(--ease);flex:none}.line[open] .caret{transform:rotate(180deg)}.note{color:var(--brand-ink);background:var(--brand-wash);border-radius:6px;padding:2px 8px;font-size:12px}.opts{border-top:1px dashed var(--line);background:var(--surface-2);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:11px;padding:14px;display:grid}.opt{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);cursor:pointer;transition:border-color .18s, transform .18s var(--ease), box-shadow .18s;text-align:start;flex-direction:column;gap:8px;padding:10px;display:flex;position:relative}.opt:hover{border-color:var(--brand);box-shadow:var(--shadow-2);transform:translateY(-2px)}.opt[aria-pressed=true]{border-color:var(--ok);box-shadow:0 0 0 1px var(--ok), var(--shadow-1);background:var(--ok-wash)}.opt.off{opacity:.8}.thumb{aspect-ratio:1;border-radius:var(--r-sm);border:1px solid var(--line);background:#fff;place-items:center;display:grid;position:relative;overflow:hidden}.thumb img{object-fit:contain;width:100%;height:100%;transition:transform .3s var(--ease)}.opt:hover .thumb img{transform:scale(1.04)}.thumb .zoom{bottom:6px;color:#fff;opacity:0;cursor:zoom-in;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1f1f1fb8;border:0;border-radius:6px;place-items:center;width:26px;height:26px;transition:all .15s;display:grid;position:absolute;inset-inline-start:6px}.opt:hover .thumb .zoom,.thumb .zoom:focus-visible{opacity:1}.noimg{color:var(--ink-3);font-size:10.5px}.oname{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.8em;font-size:12.5px;font-weight:500;line-height:1.4;display:-webkit-box;overflow:hidden}.ometa{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:5px;font-size:10.5px;display:flex}.size{background:var(--brand-wash);color:var(--brand-ink);border-radius:99px;padding:2px 8px;font-family:IBM Plex Mono,monospace;font-weight:600}.orow{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:6px;margin-top:auto;padding-top:8px;display:flex}.price{letter-spacing:-.01em;font-family:IBM Plex Mono,monospace;font-size:15.5px;font-weight:600}.price small{color:var(--ink-3);margin-inline-start:3px;font-size:10px;font-weight:400}.stk{border-radius:99px;align-items:center;gap:4px;padding:2px 8px;font-size:10px;font-weight:500;display:inline-flex}.stk.y{background:var(--ok-wash);color:var(--ok)}.stk.n{background:var(--warn-wash);color:var(--warn)}.checkmark{top:8px;background:var(--ok);color:#fff;width:22px;height:22px;animation:pop .22s var(--ease);z-index:2;border-radius:50%;place-items:center;font-size:12px;font-weight:700;display:none;position:absolute;inset-inline-end:8px;box-shadow:0 2px 6px #0003}@keyframes pop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:none}}.opt[aria-pressed=true] .checkmark{display:grid}.step{background:var(--surface);border:1px solid var(--ok);border-radius:var(--r-sm);justify-content:space-between;align-items:center;gap:6px;padding:3px 5px;display:none}.opt[aria-pressed=true] .step{animation:rise .2s var(--ease);display:flex}.step button{border:1px solid var(--line-2);background:var(--surface-2);width:26px;height:26px;color:var(--ink);cursor:pointer;border-radius:5px;place-items:center;padding:0;font-size:16px;line-height:1;transition:all .12s;display:grid}.step button:hover{border-color:var(--brand);color:var(--brand-ink);background:var(--brand-wash)}.step input{width:48px;color:var(--ink);text-align:center;font-variant-numeric:tabular-nums;background:0 0;border:0;padding:2px 0;font-family:IBM Plex Mono,monospace;font-size:14px;font-weight:600}.step input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.step input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.step input[type=number]{-moz-appearance:textfield}.emptyline{color:var(--ink-3);background:var(--surface-2);border-top:1px dashed var(--line);padding:16px;font-size:13px;font-style:italic}.dock{inset-inline:0;z-index:40;background:color-mix(in srgb, var(--surface) 96%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line-2);position:fixed;bottom:0;box-shadow:0 -8px 28px -16px #00000073}.dock-in{max-width:var(--maxw);flex-wrap:wrap;align-items:center;gap:18px;margin:0 auto;padding:12px 20px;display:flex}.prog{flex:220px;align-items:center;gap:12px;display:flex}.ring{flex:none;width:44px;height:44px}.ring circle{fill:none;stroke-width:4px}.ring .bg{stroke:var(--sunk)}.ring .fg{stroke:var(--ok);stroke-linecap:round;transition:stroke-dashoffset .4s var(--ease);transform-origin:50%;transform:rotate(-90deg)}.prog .lab{color:var(--ink-3);font-size:12px;line-height:1.45}.prog .lab b{color:var(--ink);font-size:13.5px;font-weight:600;display:block}.tally{gap:18px;display:flex}.tally div{color:var(--ink-3);font-size:11.5px}.tally b{color:var(--ink);font-family:IBM Plex Mono,monospace;font-size:17px;font-weight:600;line-height:1.2;display:block}.grand{color:var(--brand-ink);letter-spacing:-.02em;font-family:IBM Plex Mono,monospace;font-size:24px;font-weight:600;line-height:1}.grand small{color:var(--ink-3);letter-spacing:0;margin-inline-start:5px;font-size:11px;font-weight:400}.dock .acts{gap:8px;margin-inline-start:auto;display:flex}.foot{border-top:1px solid var(--line);color:var(--ink-3);margin-top:28px;padding:18px 0 0;font-size:12px;line-height:1.9}.foot ul{margin:0;padding-inline-start:18px}.drawer{background:var(--surface);z-index:110;width:min(520px,100%);box-shadow:var(--shadow-3);animation:slideIn .28s var(--ease);border-inline-end:1px solid var(--line);flex-direction:column;display:flex;position:fixed;inset-block:0;inset-inline-start:0}.drawer-h{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:18px 20px 14px;display:flex}.drawer-h h2{margin:0;font-size:18px}.drawer-h p{color:var(--ink-3);margin:2px 0 0;font-size:12.5px}.drawer-b{flex:1;padding:14px 20px;overflow:auto}.drawer-f{border-top:1px solid var(--line);background:var(--surface-2);padding:14px 20px}.rgroup{margin-bottom:16px}.rgroup h4{color:var(--ink-3);align-items:center;gap:8px;margin:0 0 8px;font-size:12px;font-weight:500;display:flex}.rgroup h4 .idx{padding:2px 7px;font-size:11px}.ritem{border-bottom:1px solid var(--line);grid-template-columns:46px 1fr auto;align-items:center;gap:11px;padding:9px 0;display:grid}.ritem:last-child{border-bottom:0}.ritem .thumb{aspect-ratio:auto;width:46px;height:46px}.ritem .nm{font-size:13px;font-weight:500;line-height:1.35}.ritem .sm{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px;font-size:11.5px;display:flex}.ritem .ctl{align-items:center;gap:6px;display:flex}.ritem .ctl .step{border-color:var(--line-2);display:flex}.ritem .sum{text-align:end;min-width:70px;font-family:IBM Plex Mono,monospace;font-size:13.5px;font-weight:600}.rtotal{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.rtotal span{color:var(--ink-2);font-size:13px}.lightbox{z-index:130;cursor:zoom-out;background:#0a0a0ae0;place-items:center;padding:24px;animation:.2s fade;display:grid;position:fixed;inset:0}.lightbox img{object-fit:contain;border-radius:var(--r);max-width:min(900px,100%);max-height:82vh;box-shadow:var(--shadow-3);animation:rise .25s var(--ease);background:#fff}.lightbox .cap{bottom:22px;text-align:center;color:#fff;font-size:14px;position:absolute;inset-inline:0}.lightbox .cap small{opacity:.6;margin-top:2px;font-size:12px;display:block}.adm{grid-template-columns:248px 1fr;min-height:100vh;display:grid}.side{background:var(--surface);border-inline-end:1px solid var(--line);flex-direction:column;gap:18px;height:100vh;padding:18px 14px;display:flex;position:sticky;top:0}.side .brand .logo{width:44px;height:44px}.side .brand .bn{font-size:14px}.nav{flex-direction:column;gap:2px;display:flex}.nav button{border-radius:var(--r-sm);width:100%;color:var(--ink-2);cursor:pointer;text-align:start;background:0 0;border:0;align-items:center;gap:10px;padding:9px 11px;font-size:13.5px;font-weight:500;transition:all .14s;display:flex}.nav button:hover{background:var(--sunk);color:var(--ink)}.nav button[aria-current=page]{background:var(--brand-wash);color:var(--brand-ink);font-weight:600}.nav button svg{opacity:.75;flex:none}.nav button .n{background:var(--sunk);color:var(--ink-3);border-radius:99px;margin-inline-start:auto;padding:1px 7px;font-family:IBM Plex Mono,monospace;font-size:11px}.nav button[aria-current=page] .n{background:var(--surface)}.side .grow{flex:1}.side .storage{border-radius:var(--r-sm);align-items:center;gap:8px;padding:9px 11px;font-size:11.5px;line-height:1.4;display:flex}.side .storage.kv{background:var(--ok-wash);color:var(--ok)}.side .storage.file{background:var(--sunk);color:var(--ink-2)}.side .storage.memory{background:var(--bad-wash);color:var(--bad)}.adm-main{min-width:0}.adm-top{z-index:30;background:color-mix(in srgb, var(--ground) 90%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 26px;display:flex;position:sticky;top:0}.adm-top h2{margin:0;font-size:17px;font-weight:600}.adm-top .sp{flex:1}.adm-body{gap:18px;padding:22px 26px 60px;display:grid}.unsaved{color:var(--warn);align-items:center;gap:6px;font-size:12px;display:inline-flex}.unsaved .dot{animation:1.4s infinite blink}@keyframes blink{50%{opacity:.3}}@media (max-width:900px){.adm{grid-template-columns:1fr}.side{border-inline-end:0;border-bottom:1px solid var(--line);flex-flow:wrap;align-items:center;height:auto;position:static}.nav{flex-flow:wrap}.side .grow,.side .storage{display:none}.adm-top,.adm-body{padding-inline:16px}}.aline{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-1);overflow:hidden}.aline.empty-line{background:var(--surface-2);box-shadow:none;border-style:dashed}.aline-h{grid-template-columns:36px 1fr auto;align-items:center;gap:13px;padding:12px 14px;display:grid}.aline-h .ttl h3{cursor:pointer;align-items:center;gap:8px;margin:0;font-size:15px;font-weight:600;display:inline-flex}.aline-h .ttl h3:hover{color:var(--brand-ink)}.aline-h .ttl h3 svg{opacity:0;transition:all .15s}.aline-h .ttl h3:hover svg{opacity:.7}.aline-h .ttl .pick{margin-top:2px}.aline-b{border-top:1px solid var(--line);background:var(--surface-2);scrollbar-width:thin;gap:10px;padding:12px 14px;display:flex;overflow-x:auto}.aline.empty-line .aline-b{border-top-style:dashed}.pcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer;width:136px;transition:.16s var(--ease);text-align:start;flex-direction:column;flex:none;gap:5px;padding:7px;display:flex;position:relative}.pcard:hover{border-color:var(--brand);box-shadow:var(--shadow-2);transform:translateY(-2px)}.pcard.off{opacity:.6}.pcard .thumb{border-radius:5px}.pcard .nm{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.7em;font-size:11.5px;font-weight:500;line-height:1.35;display:-webkit-box;overflow:hidden}.pcard .pr{justify-content:space-between;align-items:center;font-size:11px;display:flex}.pcard .pr b{font-family:IBM Plex Mono,monospace;font-size:13px}.pcard .size{padding:1px 6px;font-size:10px}.pcard .tools{top:5px;opacity:0;gap:3px;transition:all .15s;display:flex;position:absolute;inset-inline-start:5px}.pcard:hover .tools,.pcard:focus-within .tools{opacity:1}.pcard .tools button{border:1px solid var(--line-2);background:var(--surface);width:22px;height:22px;color:var(--ink-2);cursor:pointer;box-shadow:var(--shadow-1);border-radius:5px;place-items:center;padding:0;font-size:12px;display:grid}.pcard .tools button:hover{border-color:var(--brand);color:var(--brand-ink)}.pcard .tools button.del:hover{border-color:var(--bad);color:var(--bad);background:var(--bad-wash)}.pcard .badge{top:5px;padding:1px 6px;font-size:9.5px;position:absolute;inset-inline-end:5px}.padd{border:1.5px dashed var(--line-2);border-radius:var(--r-sm);width:136px;min-height:196px;color:var(--ink-3);cursor:pointer;background:0 0;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:8px;font-size:12.5px;transition:all .16s;display:flex}.padd:hover{border-color:var(--brand);color:var(--brand-ink);background:var(--brand-wash)}.padd .plus{border:1.5px solid;border-radius:50%;place-items:center;width:34px;height:34px;font-size:20px;line-height:1;display:grid}.pm{grid-template-columns:1fr 280px;gap:0;min-height:0;display:grid}.pm-form{align-content:start;gap:14px;padding:20px 22px;display:grid;overflow:auto}.pm-prev{background:var(--surface-2);border-inline-start:1px solid var(--line);flex-direction:column;gap:12px;padding:20px;display:flex;overflow:auto}.pm-prev .lab{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600}.pm-prev .opt{cursor:default}.pm-prev .opt:hover{box-shadow:none;border-color:var(--line);transform:none}.imgbox{border:1.5px dashed var(--line-2);border-radius:var(--r-sm);background:var(--surface-2);grid-template-columns:84px 1fr;align-items:center;gap:12px;padding:12px;transition:all .15s;display:grid}.imgbox.drag{border-color:var(--brand);background:var(--brand-wash)}.imgbox .thumb{aspect-ratio:auto;width:84px;height:84px}.imgbox .acts{flex-wrap:wrap;gap:6px;display:flex}.imgbox .hint{color:var(--ink-3);margin-top:6px;font-size:11.5px}.catres{gap:6px;max-height:380px;padding:2px;display:grid;overflow:auto}.catrow{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);cursor:pointer;text-align:start;grid-template-columns:44px 1fr auto;align-items:center;gap:11px;padding:8px 10px;transition:all .14s;display:grid}.catrow:hover{border-color:var(--brand);background:var(--brand-wash)}.catrow .thumb{aspect-ratio:auto;width:44px;height:44px}.catrow .nm{font-size:13px;font-weight:500}.catrow .sub{color:var(--ink-3);margin-top:1px;font-size:11px}.catrow .pr{font-family:IBM Plex Mono,monospace;font-size:14px;font-weight:600}.sizerow{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);cursor:pointer;align-items:center;gap:10px;padding:9px 12px;transition:all .14s;display:flex}.sizerow:hover{border-color:var(--brand)}.sizerow.on{border-color:var(--ok);background:var(--ok-wash)}.sizerow .nm{flex:1;font-size:13.5px;font-weight:500}@media (max-width:760px){.pm{grid-template-columns:1fr}.pm-prev{border-inline-start:0;border-top:1px solid var(--line)}}.order{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-1);overflow:hidden}.order-h{cursor:pointer;grid-template-columns:44px 1fr auto;align-items:center;gap:13px;padding:13px 16px;list-style:none;display:grid}.order-h::-webkit-details-marker{display:none}.order-h .av{background:var(--brand-wash);width:44px;height:44px;color:var(--brand-ink);border-radius:50%;place-items:center;font-size:16px;font-weight:700;display:grid}.order-h h3{margin:0;font-size:15px;font-weight:600}.order-h .sub{color:var(--ink-3);flex-wrap:wrap;gap:10px;margin:2px 0 0;font-size:12px;display:flex}.order-b{border-top:1px solid var(--line);background:var(--surface-2);padding:14px 16px}.tbl{border-collapse:collapse;width:100%;font-size:13px}.tbl th{text-align:start;border-bottom:1px solid var(--line-2);color:var(--ink-3);letter-spacing:.02em;padding:7px 9px;font-size:11.5px;font-weight:500}.tbl td{border-bottom:1px solid var(--line);vertical-align:middle;padding:8px 9px}.tbl tr:last-child td{border-bottom:0}.tbl .r{text-align:end}.tbl tfoot td{border-top:2px solid var(--line-2);border-bottom:0;font-weight:600}.quote-note{background:var(--surface);border-inline-start:3px solid var(--brand);border-radius:0 var(--r-sm) var(--r-sm) 0;color:var(--ink-2);margin-bottom:12px;padding:10px 13px;font-size:13px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row .sp{flex:1}.kbd{background:var(--sunk);border:1px solid var(--line-2);color:var(--ink-2);border-bottom-width:2px;border-radius:4px;padding:0 5px;font-family:IBM Plex Mono,monospace;font-size:11px}.skeleton{background:linear-gradient(90deg, var(--sunk) 25%, var(--surface-2) 50%, var(--sunk) 75%);border-radius:var(--r-sm);background-size:200% 100%;animation:1.2s infinite sk}@keyframes sk{to{background-position:-200% 0}}@media (max-width:640px){.head{grid-template-columns:30px 1fr;row-gap:8px}.right{grid-column:1/-1;justify-content:space-between}.opts{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}h1{font-size:21px}.steps{grid-template-columns:1fr 1fr}.logo{width:48px;height:48px}.tally{display:none}.dock .acts{width:100%;margin:0}.dock .acts .btn{flex:1}}@media print{.bar,.dock,.caret,.chips,.btn,.steps,.toast,.scrim,.drawer,.lightbox,.step button,.thumb .zoom{display:none!important}.line{break-inside:avoid;box-shadow:none;border-color:#999}.opt:not([aria-pressed=true]),.line:not(.done){display:none}body{background:#fff}.wrap{padding-bottom:0!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
