:root{--line:oklch(0.18 0.01 60/0.12);--forest:oklch(0.32 0.08 155);--sand:oklch(0.86 0.06 80);--warm:oklch(0.72 0.14 60)}*{margin:0;padding:0}body,html{background:var(--paper);color:var(--ink)}body{font-feature-settings:"ss01"}.mono{font-feature-settings:"tnum"}a{text-decoration:none}a,button{color:inherit}button{background:none;border:none;cursor:pointer;font-family:inherit}ul{list-style:none}img,svg{display:block;max-width:100%}input,select,textarea{font-family:inherit;font-size:14px}.wrap{max-width:1440px}.wrap-xl{max-width:1600px}.wrap-narrow,.wrap-xl{margin:0 auto;padding:0 32px}.wrap-narrow{max-width:960px}.topbar .left{gap:24px}.topbar .left,.topbar .right{align-items:center;display:flex}.topbar .right{gap:20px;opacity:.85}.topbar-marquee{display:flex;font-family:JetBrains Mono,monospace;font-size:11px;gap:24px}.topbar-marquee .dot{opacity:.4}.header{border-bottom:1px solid var(--ink);padding:18px 0;z-index:50}.logo{font-family:Inter Tight,sans-serif;font-size:20px;font-weight:800;gap:10px;letter-spacing:-.035em;white-space:nowrap}.logo-mark{background:var(--ink);flex-shrink:0;height:22px;position:relative;width:22px}.logo-mark:after{background:var(--accent);content:"";inset:4px;position:absolute}.nav{flex:1;gap:4px}.nav a{border-radius:2px;padding:8px 12px}.nav a:hover{background:var(--paper-3)}.nav a.active{background:var(--ink);color:var(--paper)}.search-wrap{align-items:center;background:var(--paper-3);border:1px solid var(--line);display:flex;gap:10px;padding:8px 14px;width:260px}.search-wrap input{background:none;border:none;flex:1;font-family:inherit;font-size:13px;outline:none}.search-wrap .kbd{background:var(--paper);border:1px solid var(--line);font-family:JetBrains Mono,monospace;font-size:10px;padding:1px 5px}.hdr-actions{display:flex;gap:8px}.icon-btn{border:1px solid var(--ink);height:40px;width:40px}.icon-btn:hover{background:var(--ink);color:var(--paper)}.icon-btn .badge{font-weight:600;height:18px;min-width:18px;right:-6px;top:-6px}.crumbs{border-bottom:1px solid var(--line);color:var(--ink-3);font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.06em;padding:14px 0;text-transform:uppercase}.crumbs .wrap,.crumbs .wrap-xl{align-items:center;display:flex;gap:12px}.crumbs a:hover{color:var(--ink)}.crumbs .sep{opacity:.4}.btn,.crumbs .now{color:var(--ink)}.btn{border:1px solid var(--ink);display:inline-flex;font-size:13px;padding:12px 20px;transition:background .15s}.btn:hover{background:var(--ink);color:var(--paper)}.btn-accent,.btn-accent:hover{color:#fff}.btn-dark{background:var(--ink);color:var(--paper)}.btn-dark:hover{background:var(--accent);border-color:var(--accent)}.btn-ghost{border-color:var(--line)}.btn-lg{font-size:14px;padding:16px 28px}.btn-block{justify-content:center;width:100%}.btn-mono{font-size:12px;letter-spacing:.06em}.btn-mono,.chip{font-family:JetBrains Mono,monospace;text-transform:uppercase}.chip{align-items:center;background:var(--paper-3);border:1px solid var(--line);color:var(--ink-2);display:inline-flex;font-size:10px;gap:6px;letter-spacing:.08em;padding:4px 8px}.chip-accent{background:var(--accent-tint);border-color:var(--accent);color:var(--accent-ink)}.chip-ok{background:var(--ok-tint);border-color:var(--ok);color:var(--ok)}.chip-dark{background:var(--ink);border-color:var(--ink);color:var(--paper)}.chip-warn{background:var(--warn-tint);border-color:var(--warn);color:oklch(.45 .14 75)}.b2b-chip{background:var(--ink);color:var(--paper);font-size:10px;letter-spacing:.08em;padding:5px 10px}.b2b-chip strong{color:var(--accent);font-weight:600}.field{display:flex;flex-direction:column;gap:6px}.field label,.label-mono{color:var(--ink-3);font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.field input,.field select,.field textarea{background:var(--paper);border:1px solid var(--line);color:var(--ink);outline:none;padding:14px 16px;transition:border .15s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ink)}.field textarea{line-height:1.5;min-height:100px;resize:vertical}.field .help{color:var(--ink-3);font-size:12px}.field .err{color:var(--err);font-size:12px}.checkrow{align-items:flex-start;cursor:pointer;display:flex;gap:10px}.checkrow input{accent-color:var(--accent);margin-top:3px}.checkrow .t{font-size:13px;line-height:1.4}.seg{border:1px solid var(--line);display:inline-flex}.seg button{border-right:1px solid var(--line);color:var(--ink-2);font-size:12px;padding:10px 16px}.seg button:last-child{border-right:none}.seg button.on{background:var(--ink);color:var(--paper)}.trust-row{background:var(--paper);border:1px solid var(--ink);grid-template-columns:repeat(4,1fr)}.trust-row>div{align-items:center;border-right:1px solid var(--line);display:flex;gap:14px;padding:18px 22px}.trust-row>div:last-child{border-right:none}.trust-row .ic{border:1px solid var(--ink);display:grid;flex-shrink:0;height:36px;place-items:center;width:36px}.trust-row .k{font-size:13px;font-weight:500}.trust-row .v{color:var(--ink-3);font-family:JetBrains Mono,monospace;font-size:11px;margin-top:2px}.pcard{background:var(--paper);border:1px solid var(--line);cursor:pointer;display:flex;flex-direction:column;position:relative;transition:border .15s}.pcard:hover{border-color:var(--ink)}.pcard:hover .pc-quick{opacity:1}.pcard .pc-thumb{aspect-ratio:1;background:var(--paper-2);border-bottom:1px solid var(--line);display:grid;overflow:hidden;place-items:center;position:relative}.pcard .pc-tags{display:flex;flex-direction:column;gap:4px;left:10px}.pcard .pc-b2b,.pcard .pc-tags{position:absolute;top:10px;z-index:2}.pcard .pc-b2b{right:10px}.pcard .pc-quick{background:var(--ink);bottom:10px;color:var(--paper);font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.06em;opacity:0;padding:6px 10px;position:absolute;right:10px;transition:opacity .2s}.pcard .pc-body{display:flex;flex:1;flex-direction:column;gap:8px;padding:14px}.pcard .pc-meta{color:var(--ink-3);font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.06em;text-transform:uppercase}.pcard .pc-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:14px;font-weight:500;letter-spacing:-.01em;line-height:1.3;overflow:hidden}.pcard .pc-rating{align-items:center;color:var(--ink-3);display:flex;font-family:JetBrains Mono,monospace;font-size:11px;gap:6px}.pcard .pc-rating .stars{color:var(--accent)}.pcard .pc-swatches{display:flex;gap:4px}.pcard .pc-swatches .sw{border:1px solid var(--line);height:14px;width:14px}.pcard .pc-swatches .more{color:var(--ink-3);font-family:JetBrains Mono,monospace;font-size:10px;margin-left:4px}.pcard .pc-bottom{align-items:flex-end;border-top:1px solid var(--line);display:flex;justify-content:space-between;margin-top:auto;padding-top:8px}.pcard .pc-price{font-size:18px;font-weight:600;letter-spacing:-.015em}.pcard .pc-price .from{color:var(--ink-3);display:block;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:400}.pcard .pc-add{background:var(--accent);border:1px solid var(--accent);color:#fff;font-size:12px;font-weight:500;padding:8px 12px}.pcard .pc-add:hover{background:var(--accent-ink)}.shape-pen{background:var(--ink);border-radius:1px;height:70%;position:relative;width:10%}.shape-pen:before{background:var(--accent);clip-path:polygon(0 100%,100% 100%,50% 0);content:"";height:14%;left:0;position:absolute;right:0;top:0}.shape-note{aspect-ratio:3/4;background:var(--royal);position:relative;width:50%}.shape-note:before{background:oklch(.28 .13 265);bottom:0;content:"";left:0;position:absolute;top:0;width:8%}.empty{align-items:center;background:var(--paper-2);border:1px dashed var(--line);display:flex;flex-direction:column;gap:16px;padding:60px 32px;text-align:center}.empty .glyph{color:var(--ink-4);font-family:Inter Tight;font-size:48px;font-weight:700}.empty h3{font-size:22px;font-weight:600;letter-spacing:-.02em}.empty p{color:var(--ink-3);font-size:14px;max-width:42ch}.pill{align-items:center;border:1px solid var(--line);cursor:pointer;display:inline-flex;font-size:12px;gap:6px;padding:6px 12px;transition:all .15s}.pill.on,.pill:hover{border-color:var(--ink)}.pill.on{background:var(--ink);color:var(--paper)}.pill.on-accent{background:var(--accent);border-color:var(--accent);color:#fff}.table{border-collapse:collapse;width:100%}.table td,.table th{border-bottom:1px solid var(--line);font-size:13px;padding:12px 14px;text-align:left}.table th{color:var(--ink-3);font-family:JetBrains Mono,monospace;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.table td.num,.table th.num{font-feature-settings:"tnum";font-family:JetBrains Mono,monospace;text-align:right}.pagination{align-items:center;display:flex;gap:4px}.pagination a,.pagination button{background:var(--paper);border:1px solid var(--line);display:grid;font-family:JetBrains Mono,monospace;font-size:13px;height:36px;place-items:center;width:36px}.pagination .on{background:var(--ink);border-color:var(--ink);color:var(--paper)}.pagination .arrow{padding:0 14px;width:auto}.pagination .ellipsis{border:none}.toast-stack{display:flex;flex-direction:column;gap:10px;position:fixed;right:20px;top:80px;z-index:200}.toast{background:var(--paper);border:1px solid var(--ink);display:flex;gap:12px;min-width:300px;padding:14px 18px}.toast.ok{border-left:4px solid var(--ok)}.toast.err{border-left:4px solid var(--err)}.toast.info{border-left:4px solid var(--royal)}.toast .t{font-size:13px;font-weight:500}.toast .d{color:var(--ink-3);font-size:12px;margin-top:2px}.footer{border-top:1px solid var(--ink);color:var(--ink);padding:60px 0 32px}.footer-top{border-bottom:1px solid var(--line);display:grid;gap:40px;grid-template-columns:1.3fr repeat(4,1fr);padding-bottom:40px}.footer-col h5{color:var(--ink-3);font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.12em;margin-bottom:16px;text-transform:uppercase}.footer-col ul{display:flex;flex-direction:column;gap:8px}.footer-col ul a{color:var(--ink-2);font-size:13px}.footer-col ul a:hover{color:var(--ink)}.footer-brand .logo{margin-bottom:20px}.footer-brand p{color:var(--ink-2);font-size:13px;line-height:1.55;max-width:30ch}.footer-bot{color:var(--ink-3);display:flex;font-family:JetBrains Mono,monospace;font-size:11px;justify-content:space-between;letter-spacing:.04em;padding-top:32px}.cookie-banner{align-items:center;background:var(--ink);border-top:4px solid var(--accent);bottom:0;color:var(--paper);display:flex;gap:32px;left:0;padding:20px 32px;position:fixed;right:0;z-index:90}.cookie-banner p{flex:1;font-size:13px;line-height:1.5;opacity:.85}.cookie-banner .actions{display:flex;gap:8px}.cookie-banner .btn{background:transparent;border-color:oklch(1 0 0/.3);color:var(--paper)}.cookie-banner .btn:hover{background:var(--paper);color:var(--ink)}.cookie-banner .btn-accent{background:var(--accent);border-color:var(--accent)}.modal-overlay{background:oklch(.18 .01 60/.6);display:grid;inset:0;place-items:center;position:fixed;z-index:100}.modal{background:var(--paper);border:1px solid var(--ink);max-height:90vh;overflow:auto;width:min(560px,92vw)}.modal-head{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:22px 24px}.modal-head h3{font-size:18px;font-weight:600;letter-spacing:-.015em}.modal-body{padding:24px}@media (max-width:980px){.footer-top,.trust-row{grid-template-columns:1fr 1fr}.trust-row>div:nth-child(2){border-right:none}.trust-row>div:first-child,.trust-row>div:nth-child(2){border-bottom:1px solid var(--line)}}@media (max-width:768px){.nav{display:none}.search-wrap{width:200px}.footer-top{grid-template-columns:1fr}.topbar .right>a:not(:last-child){display:none}}:root{--paper:oklch(0.985 0.004 75);--paper-2:oklch(0.975 0.005 75);--paper-3:oklch(0.955 0.006 75);--ink:oklch(0.18 0.01 60);--ink-2:oklch(0.38 0.008 60);--ink-3:oklch(0.55 0.006 60);--ink-4:oklch(0.72 0.005 60);--line:oklch(0.18 0.01 60/0.1);--line-2:oklch(0.18 0.01 60/0.06);--accent:oklch(0.62 0.18 25);--accent-ink:oklch(0.45 0.18 25);--accent-tint:oklch(0.95 0.03 25);--ok:oklch(0.62 0.14 145);--ok-tint:oklch(0.95 0.04 145);--warn:oklch(0.72 0.14 75);--warn-tint:oklch(0.96 0.05 75);--err:oklch(0.58 0.18 25);--royal:oklch(0.38 0.15 265);--royal-2:oklch(0.48 0.17 265)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{-webkit-font-smoothing:antialiased;font-feature-settings:"ss01","cv11";background:var(--paper);color:var(--ink);font-family:Inter Tight,-apple-system,system-ui,sans-serif;font-size:14px;line-height:1.45}.mono{font-feature-settings:normal;font-family:JetBrains Mono,ui-monospace,monospace}.topbar{background:var(--ink);color:var(--paper);font-size:12px;padding:8px 0}.topbar .wrap{align-items:center;display:flex;gap:24px;justify-content:space-between}.topbar a{color:var(--paper);opacity:.8;text-decoration:none}.topbar a:hover{opacity:1}.topbar .pill{background:oklch(1 0 0/.1);border-radius:999px;font-family:JetBrains Mono,monospace;font-size:11px;padding:2px 8px}.header{backdrop-filter:blur(8px);background:var(--paper);background:oklch(.985 .004 75/.92);border-bottom:1px solid var(--line);padding:14px 0;position:sticky;top:0;z-index:40}.header .wrap{gap:32px}.header .wrap,.logo{align-items:center;display:flex}.logo{font-size:18px;font-weight:700;gap:8px;letter-spacing:-.02em}.logo-dot{background:var(--accent);border-radius:2px;height:14px;transform:rotate(45deg);width:14px}.nav{display:flex;font-size:13px;font-weight:500;gap:24px}.nav a{color:var(--ink);text-decoration:none}.nav a:hover{color:var(--accent-ink)}.search{align-items:center;background:var(--paper-3);border:1px solid var(--line);border-radius:6px;display:flex;flex:1;gap:8px;max-width:420px;padding:6px 12px}.search input{background:none;border:none;flex:1;font-family:inherit;font-size:13px;outline:none}.header-actions,.user-chip{align-items:center;display:flex;gap:8px}.user-chip{border:1px solid var(--line);border-radius:6px;font-size:12px;padding:6px 10px 6px 6px}.user-avatar{background:var(--royal);border-radius:4px;color:var(--paper);display:grid;font-size:11px;font-weight:600;height:26px;place-items:center;width:26px}.user-chip .rate{background:var(--accent-tint);border-radius:3px;color:var(--accent-ink);font-family:JetBrains Mono,monospace;font-size:11px;padding:1px 6px}.icon-btn{background:var(--paper);border:1px solid var(--line);border-radius:6px;cursor:pointer;display:grid;height:36px;place-items:center;position:relative;width:36px}.icon-btn .badge{background:var(--accent);border-radius:999px;color:#fff;display:grid;font-family:JetBrains Mono,monospace;font-size:10px;height:16px;min-width:16px;padding:0 4px;place-items:center;position:absolute;right:-4px;top:-4px}.wrap{margin:0 auto;max-width:1360px;padding:0 32px}.breadcrumbs{align-items:center;color:var(--ink-3);display:flex;flex-wrap:wrap;font-size:12px;gap:8px;padding:16px 0}.breadcrumbs a{color:var(--ink-3);text-decoration:none}.breadcrumbs a:hover{color:var(--ink)}.breadcrumbs .sep{opacity:.4}.breadcrumbs .current{color:var(--ink)}.detail-grid-a{grid-template-columns:minmax(0,1fr) 460px}.detail-grid-a,.detail-grid-b{display:grid;gap:40px;padding-bottom:40px}.detail-grid-b{grid-template-columns:460px minmax(0,1fr)}.detail-grid-b .gallery-col{order:2}.detail-grid-b .purchase-col{order:1}.detail-grid-c{display:grid;gap:32px;grid-template-columns:1fr;padding-bottom:40px}.detail-grid-c .purchase-row{display:grid;gap:40px;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.product-head-wide{align-items:flex-end;border-bottom:1px solid var(--line);display:flex;gap:24px;justify-content:space-between;padding-bottom:20px}.product-head-wide h1{font-size:34px;font-weight:600;letter-spacing:-.02em;line-height:1.1;margin:0;max-width:700px}.gallery{position:sticky;top:84px}.gallery-c{position:relative;top:0}.gallery-stage{aspect-ratio:1/1;background:var(--paper-2);border:1px solid var(--line);border-radius:6px;cursor:grab;overflow:hidden;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.gallery-stage.dragging{cursor:grabbing}.gallery-stage-c{aspect-ratio:16/9}.stage-toolbar{background:var(--paper);border:1px solid var(--line);border-radius:6px;display:flex;gap:4px;left:12px;padding:2px;position:absolute;top:12px;z-index:3}.stage-toolbar button{align-items:center;background:none;border:none;border-radius:4px;color:var(--ink-2);cursor:pointer;display:flex;font-family:JetBrains Mono,monospace;font-size:11px;gap:6px;padding:6px 10px}.stage-toolbar button.active{background:var(--ink);color:var(--paper)}.stage-corner{display:flex;flex-direction:column;gap:6px;position:absolute;right:12px;top:12px;z-index:3}.stage-corner .chip{align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:4px;color:var(--ink-2);display:flex;font-family:JetBrains Mono,monospace;font-size:10px;gap:6px;padding:5px 8px}.stage-corner .chip .dot{background:var(--accent);border-radius:50%;height:6px;width:6px}.stage-zoom{background:var(--paper);border:1px solid var(--line);border-radius:6px;bottom:12px;display:flex;gap:4px;padding:2px;position:absolute;right:12px;z-index:3}.stage-zoom button{background:none;border:none;border-radius:4px;color:var(--ink-2);cursor:pointer;font-family:JetBrains Mono,monospace;height:28px;width:28px}.stage-zoom button:hover{background:var(--paper-3)}.stage-hint{align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:4px;bottom:12px;color:var(--ink-3);display:flex;font-family:JetBrains Mono,monospace;font-size:10px;gap:6px;left:12px;padding:5px 8px}.rotate-track,.stage-hint{position:absolute;z-index:3}.rotate-track{background:var(--line);border-radius:2px;bottom:52px;height:4px;left:50%;transform:translateX(-50%);width:60%}.rotate-track .fill{background:var(--ink);border-radius:2px;height:100%;left:0;position:absolute;top:0}.rotate-track .dots{display:flex;justify-content:space-between;left:0;position:absolute;right:0;top:-3px}.rotate-track .dots span{background:var(--line);height:10px;width:2px}.thumb-row{display:grid;gap:8px;grid-template-columns:repeat(6,1fr);margin-top:10px}.thumb{aspect-ratio:1;background:var(--paper-2);border:1px solid var(--line);border-radius:4px;cursor:pointer;display:grid;overflow:hidden;place-items:center;position:relative}.thumb.active{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.thumb-label{background:var(--paper);border:1px solid var(--line-2);border-radius:2px;bottom:3px;color:var(--ink-3);font-family:JetBrains Mono,monospace;font-size:9px;left:3px;padding:1px 4px;position:absolute}.product-shape{left:50%;position:absolute;top:50%;transition:transform .05s linear}.notebook{background:var(--royal);border-radius:6px 10px 10px 6px;box-shadow:inset 8px 0 0 oklch(.32 .13 265),inset 0 -1px 0 oklch(.25 .12 265),20px 30px 50px oklch(.18 .01 60/.15);height:420px;position:relative;transform:translate(-50%,-50%);width:320px}.notebook .spine{background:oklch(.28 .12 265);border-radius:1px;bottom:16px;left:14px;position:absolute;top:16px;width:2px}.notebook .elastic{background:oklch(.14 .02 60);bottom:0;box-shadow:inset 0 0 0 1px oklch(.3 0 0);position:absolute;right:-6px;top:0;width:4px}.notebook .ribbon{background:oklch(.72 .14 75);height:100%;position:absolute;right:40px;top:0;width:10px}.notebook .emboss{bottom:32px;color:oklch(.55 .08 265);font-family:Inter Tight,sans-serif;font-size:10px;font-weight:600;letter-spacing:.2em;position:absolute;right:26px}.notebook .corner-fold{background:oklch(.98 0 0);clip-path:polygon(0 0,100% 0,0 100%);height:24px;position:absolute;right:16px;top:30px;width:24px}.ghost-grid{background-image:linear-gradient(var(--line-2) 1px,transparent 1px),linear-gradient(90deg,var(--line-2) 1px,transparent 1px);background-size:32px 32px;inset:0;opacity:.6;pointer-events:none;position:absolute}.purchase-col{display:flex;flex-direction:column;gap:20px}.prod-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.tag{background:var(--paper-3);border:1px solid var(--line);border-radius:3px;color:var(--ink-2);font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.06em;padding:3px 7px;text-transform:uppercase}.tag.new{background:var(--accent-tint);color:var(--accent-ink)}.tag.eco,.tag.new{border-color:transparent}.tag.eco{background:var(--ok-tint);color:oklch(.38 .12 145)}h1.prod-title{font-size:26px;font-weight:600;letter-spacing:-.015em;line-height:1.15;margin:0 0 8px}.prod-sku{color:var(--ink-3);display:flex;font-family:JetBrains Mono,monospace;font-size:12px;gap:12px;margin-bottom:16px}.prod-sku span strong{color:var(--ink);font-weight:500}.rating-row{align-items:center;color:var(--ink-2);display:flex;font-size:12px;gap:12px;margin-bottom:18px}.stars{color:var(--accent);letter-spacing:2px}.short-desc{text-wrap:pretty;color:var(--ink-2);font-size:14px;line-height:1.55;margin:0 0 4px}.price-box{background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:18px}.price-main{align-items:flex-end;display:flex;gap:16px;justify-content:space-between}.price-main .big{font-size:32px;font-weight:600;letter-spacing:-.02em;line-height:1}.price-main .unit{color:var(--ink-3);font-family:JetBrains Mono,monospace;font-size:12px}.price-main .vat{color:var(--ink-3);font-size:11px;margin-top:4px}.price-meta{border-top:1px dashed var(--line);display:grid;font-size:12px;gap:4px 16px;grid-template-columns:1fr 1fr;margin-top:14px;padding-top:14px}.price-meta div{display:flex;justify-content:space-between}.price-meta .k{color:var(--ink-3)}.price-meta .v{color:var(--ink);font-family:JetBrains Mono,monospace}.price-meta .v .strike{color:var(--ink-4);margin-right:6px;text-decoration:line-through}.price-meta .v .save{border-radius:2px;margin-left:4px;padding:0 4px}.b2b-chip,.price-meta .v .save{background:var(--accent-tint);color:var(--accent-ink)}.b2b-chip{align-items:center;border-radius:3px;display:inline-flex;font-family:JetBrains Mono,monospace;font-size:11px;gap:6px;margin-bottom:12px;padding:3px 8px}.opt-row{margin-top:2px}.opt-label{display:flex;font-size:12px;justify-content:space-between;margin-bottom:8px}.opt-label .k{color:var(--ink-3);font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.06em;text-transform:uppercase}.opt-label .v{color:var(--ink);font-weight:500}.swatches{display:flex;flex-wrap:wrap;gap:8px}.swatch{border:1px solid var(--line);border-radius:6px;cursor:pointer;height:38px;position:relative;transition:transform .1s;width:38px}.swatch:hover{transform:translateY(-1px)}.swatch.active{box-shadow:0 0 0 2px var(--ink),inset 0 0 0 2px var(--paper)}.swatch.oos{cursor:not-allowed;opacity:.4}.swatch.oos:after{background:linear-gradient(-45deg,transparent 46%,var(--ink-3) 46%,var(--ink-3) 54%,transparent 54%);content:"";inset:0;position:absolute}.qty-row{display:grid;gap:10px;grid-template-columns:1fr 1fr}.qty-card{background:var(--paper);border:1px solid var(--line);border-radius:6px;cursor:pointer;padding:12px;text-align:left;transition:all .1s}.qty-card:hover{border-color:var(--ink-4)}.qty-card.active{background:var(--paper);border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.qty-card .pcs{font-size:16px;font-weight:600;letter-spacing:-.01em}.qty-card .pack{color:var(--ink-3);font-family:JetBrains Mono,monospace;font-size:11px}.qty-card .per{color:var(--ink-2);font-size:12px;margin-top:4px}.qty-card .per strong{color:var(--accent-ink)}.qty-custom{border:1px solid var(--line);border-radius:6px;display:flex;margin-top:8px;overflow:hidden}.qty-custom button{background:var(--paper-3);border:none;color:var(--ink-2);cursor:pointer;font-size:16px;width:40px}.qty-custom input{background:none;border:none;flex:1;font-family:JetBrains Mono,monospace;font-size:14px;font-weight:500;outline:none;text-align:center}.qty-custom .pcs-tag{background:var(--paper-3);color:var(--ink-3);display:grid;font-family:JetBrains Mono,monospace;font-size:11px;padding:0 14px;place-items:center}.cta-row{margin-top:18px}.btn,.cta-row{display:flex;gap:8px}.btn{align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:6px;cursor:pointer;font-family:inherit;font-size:14px;font-weight:500;justify-content:center;padding:12px 16px;transition:all .1s}.btn.primary,.btn:hover{border-color:var(--ink)}.btn.primary{background:var(--ink);color:var(--paper);flex:1}.btn.primary:hover{background:var(--accent-ink);border-color:var(--accent-ink)}.btn.accent{background:var(--accent);border-color:var(--accent);color:var(--paper);flex:1}.btn.accent:hover{background:var(--accent-ink);border-color:var(--accent-ink)}.btn.icon{padding:0;width:48px}.trust-row{border-top:1px solid var(--line);color:var(--ink-2);display:grid;font-size:11px;gap:10px;grid-template-columns:1fr 1fr;margin-top:14px;padding-top:14px}.trust-row div{align-items:center;display:flex;gap:8px}.trust-row .ic{color:var(--ink)}.section-box{background:var(--paper);border:1px solid var(--line);border-radius:6px;overflow:hidden}.section-head{align-items:center;background:var(--paper-2);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:14px 18px}.section-head h3{font-size:13px;font-weight:600;letter-spacing:-.005em;letter-spacing:.04em;margin:0;text-transform:uppercase}.section-head .meta{color:var(--ink-3);font-size:11px}.discount-table,.section-head .meta{font-family:JetBrains Mono,monospace}.discount-table{display:grid;grid-template-columns:repeat(5,1fr)}.discount-table .cell{border-right:1px solid var(--line);font-size:12px;padding:10px 14px;text-align:center}.discount-table .cell:last-child{border-right:none}.discount-table .hd{background:var(--paper-2);border-bottom:1px solid var(--line);color:var(--ink-3);font-size:10px;letter-spacing:.06em;padding:8px 14px;text-transform:uppercase}.discount-table .qty{color:var(--ink-3)}.discount-table .price{color:var(--ink);font-size:13px;font-weight:500}.discount-table .save{color:var(--accent-ink);font-size:10px}.discount-table .col.active{background:var(--accent-tint)}.discount-table .col.active .price{color:var(--accent-ink)}.print-config{gap:18px;padding:18px}.cfg-step,.print-config{display:flex;flex-direction:column}.cfg-step{gap:10px}.cfg-step-head{align-items:center;color:var(--ink-3);display:flex;font-family:JetBrains Mono,monospace;font-size:11px;gap:10px;letter-spacing:.06em;text-transform:uppercase}.cfg-step-head .n{background:var(--ink);border-radius:50%;color:var(--paper);display:grid;font-size:10px;font-weight:600;height:18px;place-items:center;width:18px}.cfg-tech{display:grid;gap:8px;grid-template-columns:repeat(4,1fr)}.tech-card{background:var(--paper);border:1px solid var(--line);border-radius:6px;cursor:pointer;padding:10px;text-align:left;transition:all .1s}.tech-card:hover{border-color:var(--ink-4)}.tech-card.active{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.tech-card .tech-icon{display:grid;height:30px;margin-bottom:4px;place-items:center}.tech-card .name{font-size:12px;font-weight:500}.tech-card .sub{color:var(--ink-3);font-family:JetBrains Mono,monospace;font-size:10px;margin-top:2px}.chrome-row{display:flex;gap:6px}.chrome-card{background:var(--paper);border:1px solid var(--line);border-radius:6px;cursor:pointer;flex:1;padding:10px 6px;text-align:center}.chrome-card.active{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.chrome-dots{display:flex;gap:2px;justify-content:center;margin-bottom:4px}.chrome-dots .d{background:var(--line);border-radius:50%;height:8px;width:8px}.chrome-dots .d.on:first-child{background:var(--royal)}.chrome-dots .d.on:nth-child(2){background:var(--accent)}.chrome-dots .d.on:nth-child(3){background:var(--ok)}.chrome-dots .d.on:nth-child(4){background:var(--warn)}.chrome-card .n{font-size:12px;font-weight:500}.chrome-card .s{color:var(--ink-3);font-family:JetBrains Mono,monospace;font-size:10px}.pos-wrap{align-items:start;display:grid;gap:16px;grid-template-columns:180px 1fr}.pos-canvas{aspect-ratio:4/5;background:var(--paper-2);border:1px solid var(--line);border-radius:6px;overflow:hidden;position:relative}.pos-canvas .mini-book{aspect-ratio:3/4;background:var(--royal);border-radius:3px 5px 5px 3px;box-shadow:inset 6px 0 0 oklch(.3 .12 265);left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:70%}.pos-canvas .area{border:2px dashed oklch(.95 0 0/.6);cursor:pointer;position:absolute}.pos-canvas .area.active{background:var(--accent-tint) oklch(.95 0 0/.1);background:oklch(.95 0 0/.1);border-color:var(--accent);border-style:solid}.pos-canvas .area .mark{background:var(--accent);border-radius:0 0 3px 0;color:#fff;font-family:JetBrains Mono,monospace;font-size:9px;left:-2px;padding:1px 4px;position:absolute;top:-2px}.pos-list{display:flex;flex-direction:column;gap:4px}.pos-item{align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;padding:10px 12px}.pos-item.active{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.pos-item .nm{font-size:12px;font-weight:500}.pos-item .sub{color:var(--ink-3);font-family:JetBrains Mono,monospace;font-size:10px}.upload-zone{background:var(--paper-2);border:1px dashed var(--line);border-radius:6px;color:var(--ink-3);font-size:12px;padding:20px;text-align:center}.upload-zone strong{color:var(--ink)}.cfg-summary{align-items:center;background:var(--ink);border-radius:6px;color:var(--paper);display:flex;justify-content:space-between;margin:0 18px 18px;padding:14px 18px}.cfg-summary .left .label{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.06em;opacity:.6;text-transform:uppercase}.cfg-summary .left .val{font-size:20px;font-weight:600;letter-spacing:-.01em}.cfg-summary .left .sub{font-family:JetBrains Mono,monospace;font-size:11px;margin-top:2px;opacity:.7}.cfg-summary .right{text-align:right}.cfg-summary .right .label{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.06em;opacity:.6;text-transform:uppercase}.cfg-summary .right .val{font-family:JetBrains Mono,monospace;font-size:13px}.tabs{border-bottom:1px solid var(--line);display:flex;gap:0;margin-top:60px}.tabs button{align-items:center;background:none;border:none;color:var(--ink-3);cursor:pointer;display:flex;font-family:inherit;font-size:14px;font-weight:500;gap:8px;margin-right:28px;padding:14px 18px 14px 0;position:relative}.tabs button.active{color:var(--ink)}.tabs button.active:after{background:var(--ink);bottom:-1px;content:"";height:2px;left:0;position:absolute;width:100%}.tabs button .ct{background:var(--paper-3);border-radius:3px;color:var(--ink-3);font-family:JetBrains Mono,monospace;font-size:10px;padding:1px 5px}.tab-body{padding:32px 0}.param-grid{border:1px solid var(--line);border-radius:6px;display:grid;gap:0;grid-template-columns:repeat(2,1fr);overflow:hidden}.param-group{border-right:1px solid var(--line)}.param-group:last-child{border-right:none}.param-group h4{background:var(--paper-2);border-bottom:1px solid var(--line);color:var(--ink-3);font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;letter-spacing:.06em;margin:0;padding:12px 18px;text-transform:uppercase}.param-row{border-bottom:1px solid var(--line-2);display:grid;font-size:13px;grid-template-columns:40% 1fr;padding:10px 18px}.param-row:last-child{border-bottom:none}.param-row .k{color:var(--ink-3)}.param-row .v{color:var(--ink);font-family:JetBrains Mono,monospace;font-size:12px}.stock-table{border-collapse:collapse;font-size:12px;width:100%}.stock-table td,.stock-table th{border-bottom:1px solid var(--line-2);padding:10px 14px;text-align:left}.stock-table thead th{background:var(--paper-2);border-bottom:1px solid var(--line);color:var(--ink-3);font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;letter-spacing:.06em;text-align:right;text-transform:uppercase}.stock-table thead th:first-child{text-align:left}.stock-table td{font-family:JetBrains Mono,monospace;text-align:right}.stock-table td:first-child{font-family:Inter Tight,sans-serif;text-align:left}.stock-table .color-cell{align-items:center;display:flex;gap:10px}.stock-table .color-dot{border:1px solid var(--line);border-radius:3px;height:16px;width:16px}.stock-table .color-name{font-size:13px;font-weight:500}.stock-table .color-code{color:var(--ink-3);font-family:JetBrains Mono,monospace;font-size:10px}.stock-table .stock-val.hi{color:var(--ok)}.stock-table .stock-val.md{color:var(--warn)}.stock-table .stock-val.low{color:var(--err)}.stock-table .stock-val.zero{color:var(--ink-4)}.stock-table .stock-val.zero:before{content:"—"}.stock-table .stock-val.zero.tag-none{display:inline}.stock-table .incoming{color:var(--ink-3);display:block;font-size:10px;margin-top:1px}.stock-table .total-col,.stock-table tfoot td{background:var(--paper-2);color:var(--ink);font-weight:500}.stock-table tfoot td{border-bottom:none;border-top:1px solid var(--line)}.related-grid{display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}.rel-card{background:var(--paper);border:1px solid var(--line);border-radius:6px;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;transition:border-color .1s}.rel-card:hover{border-color:var(--ink)}.rel-thumb{aspect-ratio:1;background:var(--paper-2);border-bottom:1px solid var(--line);display:grid;overflow:hidden;place-items:center;position:relative}.rel-body{display:flex;flex-direction:column;gap:6px;padding:14px}.rel-sku{color:var(--ink-3);font-family:JetBrains Mono,monospace;font-size:10px}.rel-name{font-size:13px;font-weight:500;line-height:1.3}.rel-colors{display:flex;gap:4px}.rel-colors .c{border:1px solid var(--line);border-radius:2px;height:12px;width:12px}.rel-more{align-self:center;color:var(--ink-3);font-family:JetBrains Mono,monospace;font-size:10px;margin-left:2px}.rel-foot{align-items:center;background:var(--paper-2);border-top:1px solid var(--line-2);display:flex;justify-content:space-between;padding:12px 14px}.rel-price{font-size:14px;font-weight:600}.rel-from{color:var(--ink-3);font-family:JetBrains Mono,monospace;font-size:10px}.tweaks-panel{background:var(--paper);border:1px solid var(--line);border-radius:8px;bottom:16px;box-shadow:0 20px 40px oklch(.18 .01 60/.12);display:none;padding:14px;position:fixed;right:16px;width:280px;z-index:100}.tweaks-panel.on{display:block}.tweaks-panel h4{color:var(--ink-3);font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.08em;margin:0 0 12px;text-transform:uppercase}.tweaks-group{margin-bottom:14px}.tweaks-group:last-child{margin-bottom:0}.tweaks-group .lab{color:var(--ink-3);font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.06em;margin-bottom:6px;text-transform:uppercase}.tweaks-group .opts{background:var(--paper-3);border-radius:6px;display:flex;gap:4px;padding:3px}.tweaks-group .opts button{background:none;border:none;border-radius:4px;color:var(--ink-2);cursor:pointer;flex:1;font-family:inherit;font-size:11px;padding:6px 8px}.tweaks-group .opts button.on{background:var(--paper);box-shadow:0 1px 2px oklch(.18 .01 60/.08);color:var(--ink)}.mute{color:var(--ink-3)}.inline-ic{align-items:center;display:inline-flex;gap:4px}hr.thin{border:none;border-top:1px solid var(--line);margin:0}h2.section-title{align-items:baseline;display:flex;font-size:22px;font-weight:600;gap:12px;letter-spacing:-.015em;margin:0 0 20px}h2.section-title .sub{color:var(--ink-3);font-family:JetBrains Mono,monospace;font-size:12px;font-weight:400}.cart-backdrop{background:rgba(0,0,0,.6);inset:0;opacity:0;position:fixed;transition:opacity .2s ease,visibility 0s linear .2s;visibility:hidden;z-index:80}.cart-backdrop.is-open{opacity:1;transition:opacity .2s ease,visibility 0s;visibility:visible}.cart-drawer{background:var(--paper);border-left:1px solid var(--line);bottom:0;box-shadow:-8px 0 32px rgba(0,0,0,.12);display:flex;flex-direction:column;max-width:100vw;position:fixed;right:0;top:0;transform:translateX(100%);transition:transform .25s cubic-bezier(.32,.72,0,1);width:460px;z-index:90}.cart-drawer.is-open{transform:translateX(0)}.cart-head{background:var(--paper-3);border-bottom:1px solid var(--line);display:flex;gap:12px;padding:18px 22px}.cart-head,.cart-head .check{align-items:center;flex-shrink:0}.cart-head .check{background:var(--ok);border-radius:999px;color:var(--paper);display:inline-flex;height:24px;justify-content:center;width:24px}.cart-head .check svg{height:14px;width:14px}.cart-head .title{flex:1;font-size:16px;font-weight:600;letter-spacing:-.01em}.cart-head .close{align-items:center;background:transparent;border:1px solid transparent;border-radius:0;color:var(--ink-2);display:inline-flex;height:32px;justify-content:center;transition:background .12s ease,color .12s ease;width:32px}.cart-head .close:hover{background:var(--ink);color:var(--paper)}.cart-head .close svg{height:14px;width:14px}.cart-added{background:var(--ok-tint);border-bottom:1px solid var(--ok);flex-shrink:0;padding:14px 22px}.cart-added-row{align-items:center;display:grid;gap:14px;grid-template-columns:56px 1fr auto}.cart-added-img{align-items:center;background:var(--paper-2);border:1px solid var(--line);color:var(--ink-4);display:flex;height:56px;justify-content:center;width:56px}.cart-added-img svg{height:28px;width:28px}.cart-added-meta{min-width:0}.cart-added-meta .ttl{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:13.5px;font-weight:600;line-height:1.3;overflow:hidden}.cart-added-meta .sku{color:var(--ink-3);font-size:10.5px;letter-spacing:.04em;margin-top:3px}.cart-added-right{align-items:flex-end;display:flex;flex-direction:column;gap:4px}.cart-added-price{font-family:JetBrains Mono;font-size:14px;font-weight:600}.cart-added-price-old{color:var(--ink-3);font-family:JetBrains Mono;font-size:11px;text-decoration:line-through}.cart-added-foot{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-top:12px}.cart-added-foot .qty{flex-shrink:0}.cart-added-foot .quick{align-items:center;border-bottom:1px solid var(--ink);color:var(--ink);display:inline-flex;font-size:12.5px;font-weight:600;gap:4px;padding-bottom:1px}.cart-added-foot .quick:hover{border-color:var(--accent);color:var(--accent)}.qty{align-items:stretch;background:var(--paper);border:1px solid var(--line);height:30px}.qty,.qty button{display:inline-flex}.qty button{align-items:center;color:var(--ink-2);font-size:16px;justify-content:center;line-height:1;transition:background .12s ease,color .12s ease;width:28px}.qty button:hover{background:var(--ink);color:var(--paper)}.qty .num{align-items:center;border-left:1px solid var(--line);border-right:1px solid var(--line);display:inline-flex;font-family:JetBrains Mono;font-size:12.5px;font-weight:600;justify-content:center;min-width:32px;padding:0 6px}.cart-list-wrap{flex:1;min-height:0;overflow-y:auto;padding:0 22px}.cart-list-wrap::-webkit-scrollbar{width:6px}.cart-list-wrap::-webkit-scrollbar-track{background:transparent}.cart-list-wrap::-webkit-scrollbar-thumb{background:var(--line)}.cart-list-head{align-items:baseline;color:var(--ink-3);display:flex;font-family:JetBrains Mono;font-size:11px;justify-content:space-between;letter-spacing:.1em;padding:18px 0 10px;text-transform:uppercase}.cart-list-head .clear{border-bottom:1px solid var(--line);color:var(--ink-3);font-family:Inter Tight;font-size:12px;letter-spacing:0;padding-bottom:1px;text-transform:none}.cart-list-head .clear:hover{border-color:var(--err);color:var(--err)}.cart-item{align-items:start;border-top:1px solid var(--line);display:grid;gap:14px;grid-template-columns:60px 1fr;padding:16px 0}.cart-item-img{align-items:center;background:var(--paper-2);border:1px solid var(--line);color:var(--ink-4);display:flex;height:60px;justify-content:center;width:60px}.cart-item-img svg{height:28px;width:28px}.cart-item-body{min-width:0}.cart-item-top{align-items:start;display:flex;gap:10px;justify-content:space-between}.cart-item-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:13.5px;font-weight:600;line-height:1.3;overflow:hidden}.cart-item-sku{color:var(--ink-3);font-size:10.5px;letter-spacing:.04em;margin-top:3px}.cart-item-trash{align-items:center;color:var(--ink-3);display:inline-flex;flex-shrink:0;height:26px;justify-content:center;transition:color .12s ease,background .12s ease;width:26px}.cart-item-trash:hover{background:var(--paper-2);color:var(--err)}.cart-item-trash svg{height:14px;width:14px}.cart-item-foot{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-top:10px}.cart-item-foot .price{font-family:JetBrains Mono;font-size:13.5px;font-weight:600;text-align:right}.cart-item-foot .price .unit{color:var(--ink-3);display:block;font-size:10.5px;font-weight:500;margin-bottom:1px}.cart-totals{background:var(--paper-2);border-top:1px solid var(--line);flex-shrink:0;padding:16px 22px}.cart-totals .row{align-items:baseline;color:var(--ink-2);display:flex;font-size:13px;justify-content:space-between;margin-bottom:6px}.cart-totals .row .v{color:var(--ink);font-family:JetBrains Mono;font-weight:500}.cart-totals .grand{align-items:baseline;border-top:1px solid var(--line);display:flex;justify-content:space-between;margin-top:8px;padding-top:10px}.cart-totals .grand .l{font-size:14px;font-weight:700}.cart-totals .grand .v{font-family:JetBrains Mono;font-size:18px;font-weight:700;letter-spacing:-.01em}.cart-totals .ship{align-items:center;color:var(--ink-3);display:flex;font-size:11.5px;gap:6px;margin-top:8px}.cart-totals .ship svg{height:12px;opacity:.7;width:12px}.cart-foot{background:var(--paper);border-top:1px solid var(--line);display:grid;flex-shrink:0;gap:10px;grid-template-columns:1fr 1.5fr;padding:14px 22px 18px}.cart-foot .btn{font-size:14px;padding:13px 16px;width:100%}.cart-empty{flex:1;flex-direction:column;gap:8px;padding:32px 32px 60px;text-align:center}.cart-empty,.cart-empty .empty-icon{align-items:center;display:flex;justify-content:center}.cart-empty .empty-icon{background:var(--paper-2);border:1px solid var(--line);color:var(--ink-4);height:96px;margin-bottom:14px;width:96px}.cart-empty .empty-icon svg{height:44px;width:44px}.cart-empty h3{font-family:Inter Tight;font-size:22px;font-weight:700;letter-spacing:-.025em;margin-top:4px}.cart-empty .sub{color:var(--ink-3);font-size:13.5px;margin-bottom:16px;max-width:260px}.cart-empty .btn{padding:13px 22px}.cart-empty .links{color:var(--ink-3);display:flex;flex-direction:column;font-family:JetBrains Mono;font-size:11px;gap:8px;letter-spacing:.08em;margin-top:22px;text-transform:uppercase}.cart-empty .links a{border-bottom:1px solid var(--line);padding-bottom:1px}.cart-empty .links a:hover{border-color:var(--ink);color:var(--ink)}@media (max-width:768px){.cart-drawer{width:92vw}.cart-foot{grid-template-columns:1fr}.cart-foot .btn:first-child{order:2}.demo-grid{grid-template-columns:1fr}}body.lock{overflow:hidden}.btn-accent{background:var(--accent);border-color:var(--accent);color:var(--paper)}.btn-accent:hover{background:var(--accent-ink);border-color:var(--accent-ink);color:var(--paper)}body{display:flex;flex-direction:column;min-height:100vh}body>footer{margin-top:auto}body>.topbar,body>footer,body>header{flex-shrink:0}
