:root{--ink:#0a0a0a;--paper:#ffffff;--accent:#d4ff26;--soft:#f3f3f0;--line:#dcdcd8;--muted:#62625e;--danger:#c4161c;--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--header-height:56px}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:var(--header-height)}body{margin:0;min-height:100dvh;display:flex;flex-direction:column;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}fieldset,h1,h2,h3,legend,ol,p,ul{margin:0;padding:0}ol,ul{list-style:none}fieldset{border:0;min-width:0}img{display:block;max-width:100%}a{color:inherit;text-underline-offset:3px}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed}:focus-visible{outline:3px solid var(--ink);outline-offset:2px}code{font-family:var(--mono);font-size:.9em;background:var(--soft);padding:1px 5px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 20px;border:2px solid var(--ink);border-radius:0;background:var(--ink);color:var(--paper);font-weight:800;font-size:.875rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;transition:transform .08s ease,background .15s ease,color .15s ease}.btn:active:not(:disabled){transform:translateY(2px)}.btn--accent{background:var(--accent);color:var(--ink)}.btn--ghost{background:var(--paper);color:var(--ink)}.btn--block{width:100%}.btn--small{min-height:40px;padding:0 14px;font-size:.75rem}.btn:disabled{background:var(--soft);border-color:var(--line);color:var(--muted)}@media (hover:hover){.btn--accent:hover:not(:disabled),.btn--ghost:hover:not(:disabled){background:var(--ink);color:var(--paper)}}.header{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;height:var(--header-height);padding:0 16px;background:var(--ink);color:var(--paper)}.header__name{overflow:hidden;font-size:1.125rem;font-weight:900;letter-spacing:.06em;text-decoration:none;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.header__bag{display:inline-flex;flex:none;align-items:center;gap:8px;min-height:40px;padding:0 6px 0 14px;border:2px solid var(--paper);border-radius:999px;background:transparent;color:var(--paper);font-size:.8125rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.header__count{display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 6px;border-radius:999px;background:var(--paper);color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.header__count[data-filled=true]{background:var(--accent);animation:pop .3s ease}.header :focus-visible{outline-color:var(--accent)}@keyframes pop{50%{transform:scale(1.3)}}.banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 16px;min-height:76px;padding:10px 16px;background:var(--accent);border-bottom:2px solid var(--ink);text-align:center}.banner__text{font-size:.8125rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.countdown{display:inline-flex;gap:6px;min-height:32px;align-items:center;font-family:var(--mono);font-size:.75rem;font-weight:700;text-transform:uppercase}.countdown--loading{min-width:212px}.countdown--over{font-family:var(--font);font-size:.8125rem;letter-spacing:.1em}.countdown__part{display:inline-flex;align-items:baseline;gap:2px;padding:4px 7px;background:var(--ink);color:var(--paper)}.countdown__part b{color:var(--accent);font-size:1rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.main{flex:1 1;width:100%}.hero{max-width:1200px;margin:0 auto;padding:32px 16px 20px}.hero__title{max-width:16ch;font-size:clamp(2.25rem,10.5vw,4.75rem);font-weight:900;letter-spacing:-.03em;line-height:.95;text-transform:uppercase;text-wrap:balance}.hero__sub{margin-top:14px;color:var(--muted);font-size:.9375rem}.strip{max-width:1168px;margin:0 16px 16px;padding:10px 14px;border:2px solid var(--ink);font-size:.875rem;font-weight:600}.strip--demo{border-style:dashed;background:var(--soft)}@media (min-width:1200px){.strip{margin-inline:auto}}.empty{padding:48px 16px 72px;color:var(--muted);text-align:center}.grid{display:grid;grid-template-columns:1fr;grid-gap:36px 20px;gap:36px 20px;max-width:1200px;margin:0 auto;padding:8px 16px 64px}@media (min-width:620px){.grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:980px){.grid{grid-template-columns:repeat(3,1fr);gap:48px 28px}}.card{display:flex;flex-direction:column;height:100%}.card__photo{position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--soft);border:2px solid var(--ink)}.card__photo img{width:100%;height:100%;object-fit:cover}.card__nophoto{display:grid;place-items:center;height:100%;color:var(--line);font-size:6rem;font-weight:900;text-transform:uppercase}.card--soldout .card__photo img{filter:grayscale(1);opacity:.45}.card__flag{position:absolute;top:12px;left:12px;padding:6px 10px;background:var(--ink);color:var(--paper);font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.card__body{display:flex;flex:1 1;flex-direction:column;padding-top:14px}.card__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.card__name{font-size:1.125rem;font-weight:900;letter-spacing:-.01em;line-height:1.2;text-transform:uppercase}.card__price{flex:none;font-size:1.125rem;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.card__desc{flex:1 1;margin-top:6px;color:var(--muted);font-size:.9375rem}.sizes{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:6px;gap:6px;margin-top:14px}.size{position:relative;min-height:46px;padding:0;border:2px solid var(--ink);border-radius:0;background:var(--paper);font-size:.875rem;font-weight:800;letter-spacing:.04em}.size[aria-pressed=true]{background:var(--ink);color:var(--paper)}.size:disabled{border-color:var(--line);background:linear-gradient(to top right,transparent calc(50% - 1px),var(--line) 50%,transparent calc(50% + 1px)),var(--paper);color:#a3a39e}.size[data-low=true]:after{content:"";position:absolute;top:4px;right:4px;width:8px;height:8px;border:1.5px solid var(--ink);border-radius:50%;background:var(--accent)}.size[data-low=true][aria-pressed=true]:after{border-color:var(--accent)}.card__note{min-height:1.5rem;margin:8px 0;font-size:.8125rem;font-weight:700;letter-spacing:.02em}.card__hint{display:inline-block;padding:0 6px;background:var(--ink);color:var(--paper)}.card__actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.card__actions .btn{padding:0 8px}.drawer{position:fixed;inset:0;z-index:50;visibility:hidden;pointer-events:none;transition:visibility 0s linear .25s}.drawer[data-open=true]{visibility:visible;pointer-events:auto;transition-delay:0s}.drawer__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.6);opacity:0;transition:opacity .25s ease}.drawer[data-open=true] .drawer__backdrop{opacity:1}.drawer__panel{position:absolute;top:0;right:0;display:flex;flex-direction:column;width:min(440px,100%);height:100%;background:var(--paper);border-left:2px solid var(--ink);transform:translateX(100%);transition:transform .25s ease}.drawer[data-open=true] .drawer__panel{transform:none}.drawer__top{display:flex;flex:none;align-items:center;justify-content:space-between;height:var(--header-height);padding:0 8px 0 16px;border-bottom:2px solid var(--ink)}.drawer__back,.drawer__title{font-size:1rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.drawer__back{min-height:44px;padding:0;border:0;background:none}.drawer__close{width:44px;height:44px;border:0;background:none;font-size:2rem;line-height:1}.drawer__scroll{flex:1 1;overflow-y:auto;overscroll-behavior:contain;padding:16px}.drawer__foot{flex:none;padding:14px 16px calc(14px + env(safe-area-inset-bottom));border-top:2px solid var(--ink);background:var(--paper)}.drawer__empty{display:grid;grid-gap:16px;gap:16px;justify-items:start;padding:24px 16px}.drawer__small{margin-top:10px;color:var(--muted);font-size:.75rem;text-align:center}.lines{display:grid;grid-gap:16px;gap:16px}.line{display:grid;grid-template-columns:72px 1fr auto;grid-gap:12px;gap:12px}.line__photo{width:72px;height:72px;overflow:hidden;background:var(--soft);border:2px solid var(--ink)}.line__photo img{width:100%;height:100%;object-fit:cover}.line__name{font-size:.9375rem;font-weight:800;line-height:1.25;text-transform:uppercase}.line__meta{color:var(--muted);font-size:.875rem}.line__price{font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.line__controls{display:flex;align-items:center;gap:14px;margin-top:8px}.line__remove{min-height:36px;padding:0;border:0;background:none;color:var(--muted);font-size:.8125rem;text-decoration:underline;text-underline-offset:3px}.qty{display:inline-flex;align-items:center;border:2px solid var(--ink)}.qty button{width:36px;height:34px;border:0;background:none;font-size:1.125rem;font-weight:700}.qty button:disabled{color:var(--line)}.qty span{min-width:28px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:center}.lines--compact{gap:10px;padding-bottom:16px;border-bottom:2px solid var(--ink)}.lines--compact .line{grid-template-columns:48px 1fr auto;align-items:center}.lines--compact .line__photo{width:48px;height:48px}.choice{display:grid;grid-gap:8px;gap:8px;margin-top:18px}.choice legend,.editor legend,.field>span{margin-bottom:8px;font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.choice__option{display:grid;grid-template-columns:auto 1fr auto;align-items:start;grid-gap:10px;gap:10px;padding:12px;border:2px solid var(--line);cursor:pointer}.choice__option:has(input:checked){border-color:var(--ink);background:var(--soft)}.agree input,.check input,.choice__option input{width:22px;height:22px;margin:1px 0 0;accent-color:var(--ink)}.choice__option b{display:block;font-size:.9375rem;line-height:1.3}.choice__option small{display:block;margin-top:2px;color:var(--muted);font-size:.8125rem}.choice__option em{font-style:normal;font-weight:800}.agree{display:grid;grid-template-columns:auto 1fr;grid-gap:10px;gap:10px;margin-top:16px;padding:12px;border:2px solid var(--ink);background:var(--accent);font-size:.875rem;font-weight:600;line-height:1.4;cursor:pointer}.agree[data-missing=true]{outline:3px solid var(--danger);outline-offset:2px}.totals{display:grid;grid-gap:4px;gap:4px;margin-bottom:12px}.totals__row{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:.9375rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.totals__row--big{color:var(--ink);font-size:1.125rem;font-weight:900;text-transform:uppercase}.note{margin:0 0 12px;padding:10px 12px;border-left:4px solid var(--ink);background:var(--soft);font-size:.875rem;font-weight:600}.note--error{border-color:var(--danger);background:#fdecec;color:#7d0f13}.note--demo{border:2px dashed var(--ink);background:var(--paper)}.muted{color:var(--muted);font-size:.9375rem}.footer{display:grid;grid-gap:6px;gap:6px;padding:32px 16px calc(32px + env(safe-area-inset-bottom));background:var(--ink);color:#c9c9c4;font-size:.875rem;text-align:center}.footer__name{color:var(--paper);font-size:1rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.footer :focus-visible{outline-color:var(--accent)}.page{display:grid;grid-gap:14px;gap:14px;max-width:680px;margin:0 auto;padding:36px 16px 64px}.page__kicker{justify-self:start;padding:4px 10px;background:var(--accent);border:2px solid var(--ink);font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.page__title{font-size:clamp(2rem,9vw,3.5rem);font-weight:900;letter-spacing:-.03em;line-height:1;text-transform:uppercase;overflow-wrap:anywhere}.page__lead{font-size:1.125rem}.page h2{margin-top:14px;padding-top:14px;border-top:2px solid var(--ink);font-size:.875rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.page section{display:grid;grid-gap:10px;gap:10px}.page__contact{font-weight:700}.summary{margin-top:8px;padding:16px;border:2px solid var(--ink)}.summary h2{margin-top:0;padding-top:0;border-top:0}.summary__items{display:grid;grid-gap:8px;gap:8px}.summary__items li,.summary__total{display:flex;justify-content:space-between;gap:16px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.summary__total{padding-top:10px;border-top:2px solid var(--ink);font-size:1.125rem;font-weight:900;text-transform:uppercase}.summary__ref{color:var(--muted);font-family:var(--mono);font-size:.8125rem}.adminwrap{width:100%;max-width:480px;margin:0 auto;padding:32px 16px 64px}.adminwrap--wide{max-width:860px;padding-top:16px}.editor,.login,.setup{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:16px;gap:16px}.editor h2,.login h1,.setup h1{font-size:1.75rem;font-weight:900;letter-spacing:-.02em;line-height:1.1;text-transform:uppercase}.setup__steps{display:grid;grid-gap:10px;gap:10px}.setup__steps li{padding:12px;border:2px solid var(--ink)}.setup__steps li[data-done=true]{border-color:var(--line);color:var(--muted)}.setup__steps b{display:flex;justify-content:space-between;gap:12px}.setup__steps b span{flex:none;padding:0 8px;background:var(--ink);color:var(--paper);font-size:.75rem;letter-spacing:.08em;line-height:1.8;text-transform:uppercase}.setup__steps li[data-done=true] b span{background:var(--accent);color:var(--ink)}.setup__steps p{margin-top:4px;font-size:.875rem;overflow-wrap:anywhere}.field{display:grid}.field--narrow{max-width:220px}.field input:not([type=file]),.field textarea,.stockgrid input{width:100%;min-height:48px;padding:10px 12px;border:2px solid var(--ink);border-radius:0;background:var(--paper);font-size:16px}.field textarea{resize:vertical}.check{display:flex;align-items:center;gap:10px;font-weight:700;cursor:pointer}.admin{display:grid;grid-gap:16px;gap:16px}.admin__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}.admin__name{font-size:1.125rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.admin__name span{margin-left:4px;padding:2px 8px;background:var(--accent);border:2px solid var(--ink);font-size:.75rem;letter-spacing:.1em;vertical-align:middle}.admin__links{display:flex;gap:16px;font-size:.875rem;font-weight:700}.admin__links button,.product__actions button{min-height:36px;padding:0;border:0;background:none;font-weight:700;text-decoration:underline;text-underline-offset:3px}.admin__links a{display:inline-flex;align-items:center}.tabs{display:grid;grid-template-columns:1fr 1fr;border:2px solid var(--ink)}.tabs button{min-height:48px;border:0;border-radius:0;background:var(--paper);font-size:.875rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.tabs button[aria-selected=true]{background:var(--ink);color:var(--paper)}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.filters{display:inline-flex;border:2px solid var(--ink)}.filters button{min-height:36px;padding:0 14px;border:0;border-radius:0;background:var(--paper);font-size:.8125rem;font-weight:800}.filters button+button{border-left:2px solid var(--ink)}.filters button[aria-pressed=true]{background:var(--accent)}.badge{display:inline-block;padding:2px 8px;background:var(--soft);border:1.5px solid var(--ink);font-size:.6875rem;font-weight:800;letter-spacing:.08em;line-height:1.6;text-transform:uppercase;white-space:nowrap}.badge[data-status=paid]{background:var(--accent)}.badge[data-status=needs_attention]{background:var(--danger);border-color:var(--danger);color:var(--paper)}.orders,.products{display:grid;grid-gap:12px;gap:12px}.order{display:grid;grid-gap:10px;gap:10px;padding:14px;border:2px solid var(--ink)}.order[data-status=fulfilled]{border-color:var(--line)}.order[data-status=needs_attention]{border-color:var(--danger)}.order__foot,.order__top{display:flex;align-items:center;justify-content:space-between;gap:12px}.order__date{color:var(--muted);font-size:.8125rem;font-weight:700}.order__customer{grid-gap:2px;gap:2px;overflow-wrap:anywhere}.order__customer,.order__items{display:grid;font-size:.9375rem}.order__items{grid-gap:4px;gap:4px;padding:10px 12px;background:var(--soft)}.order__short{display:block;color:var(--danger);font-size:.8125rem;font-weight:700}.order__how{font-size:.9375rem;overflow-wrap:anywhere}.order__total{font-size:1.125rem;font-weight:900;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.order__total small{display:block;color:var(--muted);font-family:var(--mono);font-size:.6875rem;font-weight:400}.product{display:grid;grid-template-columns:72px 1fr;grid-gap:12px;gap:12px;padding:12px;border:2px solid var(--ink)}.product[data-hidden=true]{border-color:var(--line)}.product[data-hidden=true] .product__photo{opacity:.4}.product__photo{width:72px;height:72px;overflow:hidden;background:var(--soft)}.photo__preview img,.product__photo img{width:100%;height:100%;object-fit:cover}.product__name{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-weight:900;line-height:1.25;text-transform:uppercase}.product__meta{font-size:.9375rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.product__stock{display:flex;flex-wrap:wrap;gap:2px 12px;margin-top:4px;color:var(--muted);font-size:.8125rem}.product__stock b{color:var(--ink)}.product__stock [data-empty=true] b{color:var(--danger)}.product__actions{display:flex;gap:18px;margin-top:4px;font-size:.875rem}.product__actions .danger{color:var(--danger)}.photo{display:grid;grid-template-columns:96px minmax(0,1fr);grid-gap:12px;gap:12px;align-items:start}.photo__preview{display:grid;place-items:center;width:96px;height:96px;overflow:hidden;background:var(--soft);border:2px solid var(--ink);color:var(--muted)}.photo__inputs{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:8px;gap:8px;min-width:0}.photo__inputs input[type=file]{width:100%;max-width:100%;font-size:.875rem}.stockgrid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:6px;gap:6px}.stockgrid label{display:grid;grid-gap:4px;gap:4px;font-size:.8125rem;font-weight:800;text-align:center}.stockgrid input{padding:10px 4px;text-align:center}.editor__actions{display:flex;gap:10px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}