:root{--color-background: #F4F5F4;--color-surface: #FFFFFF;--color-surface-2: #E6E8E6;--color-ink: #161A17;--color-muted: #5A615C;--color-primary: #0F3D2A;--color-primary-hover: #0A2E20;--color-on-primary: #F4F5F4;--color-secondary: #2C322F;--color-accent: #7A4E0E;--color-border: #D2D5D2;--color-danger: #B42318;--color-on-danger: #FFFFFF;--color-success: #0F3D2A;--color-warning: #8A6416;--color-on-warning: #FFFFFF;--font-display: "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;--font-body: "Figtree", ui-sans-serif, system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--max: 1120px;--nav-h: 68px}[data-theme=dark]{--color-background: #121614;--color-surface: #1A1F1C;--color-surface-2: #2A312D;--color-ink: #E8EEF0;--color-muted: #A4ADA8;--color-primary: #6BB890;--color-primary-hover: #7BC4A0;--color-on-primary: #121614;--color-secondary: #C9D1CC;--color-accent: #D7A84A;--color-border: #3A433E;--color-danger: #F07167;--color-on-danger: #121614;--color-success: #6BB890;--color-warning: #D4A017;--color-on-warning: #121614}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-body);color:var(--color-ink);background:var(--color-background);line-height:1.5;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}h1,h2,h3{font-family:var(--font-display);text-wrap:balance;letter-spacing:-.03em;margin:0 0 .4em}h1{font-size:clamp(2.25rem,4vw,3.75rem);font-weight:700}h2{font-size:1.75rem;font-weight:600}h3{font-size:1.25rem;font-weight:600}p{text-wrap:pretty}a{color:var(--color-primary);text-decoration:none}a:hover:not(.btn){color:var(--color-primary-hover);text-decoration:underline}.wrap{width:min(var(--max),calc(100% - 32px));margin-inline:auto}.brand-word{font-family:var(--font-display);font-weight:700;font-size:1.25rem;margin:0 0 8px;color:var(--color-primary)}.lede{color:var(--color-muted);max-width:62ch}.muted{color:var(--color-muted)}.code{font-family:var(--font-mono);font-size:1.1rem}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:var(--radius-md);border:1px solid transparent;font:inherit;font-weight:600;cursor:pointer;transition:background .18s cubic-bezier(.22,1,.36,1),color .18s cubic-bezier(.22,1,.36,1)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:var(--color-on-primary)}.btn-primary:hover:not(:disabled),.btn-primary:focus-visible,.btn-primary:active{background:var(--color-primary-hover);color:var(--color-on-primary)}.btn-secondary{background:var(--color-surface);color:var(--color-ink);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled),.btn-secondary:focus-visible,.btn-secondary:active{background:var(--color-surface-2);color:var(--color-ink)}.btn-ghost{background:transparent;color:var(--color-ink)}.btn-ghost:hover:not(:disabled),.btn-ghost:focus-visible,.btn-ghost:active{background:var(--color-surface-2);color:var(--color-ink)}.btn-danger{background:var(--color-danger);color:var(--color-on-danger)}.btn-danger:hover:not(:disabled),.btn-danger:focus-visible,.btn-danger:active{background:var(--color-danger);color:var(--color-on-danger);filter:brightness(.92)}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.site-header{position:sticky;top:0;z-index:20;background:var(--color-background);border-bottom:1px solid var(--color-border);min-height:var(--nav-h)}.header-inner{display:flex;align-items:center;gap:16px;min-height:var(--nav-h)}.brand{font-family:var(--font-display);font-weight:700;font-size:1.35rem;color:var(--color-ink)}.brand:hover{text-decoration:none;color:var(--color-ink)}.nav{display:flex;gap:16px;flex:1;flex-wrap:wrap}.nav a{color:var(--color-ink);font-weight:600;min-height:44px;display:inline-flex;align-items:center}.nav a.active{color:var(--color-primary)}.header-actions{display:flex;align-items:center;gap:10px}.theme-toggle{width:44px;height:44px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-ink);cursor:pointer}.theme-toggle:hover,.theme-toggle:focus-visible{background:var(--color-surface-2);color:var(--color-ink)}.nav-toggle{display:none;width:44px;height:44px;background:transparent;border:0;color:var(--color-ink)}.nav-toggle span{display:block;height:2px;background:var(--color-ink);margin:6px 0}.who{font-size:.875rem;color:var(--color-muted)}.badge{min-width:20px;padding:0 6px;border-radius:999px;background:var(--color-primary);color:var(--color-on-primary);font-size:.75rem}.site-main{min-height:calc(100vh - 140px);padding:32px 0 64px}.site-footer{border-top:1px solid var(--color-border);padding:24px 0;color:var(--color-muted)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;color:inherit;transition:transform .18s cubic-bezier(.22,1,.36,1),border-color .18s,background .18s}a.card:hover{text-decoration:none;color:inherit;transform:translateY(-3px);border-color:var(--color-ink);background:var(--color-surface-2)}.card-body{padding:16px}.card img{width:100%;height:160px;object-fit:cover;background:var(--color-surface-2)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.chip{min-height:44px;padding:0 14px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-ink);cursor:pointer;font:inherit}.chip.active{background:var(--color-secondary);color:var(--color-on-primary);border-color:var(--color-secondary)}[data-theme=dark] .chip.active{color:#121614}.search{width:min(420px,100%);min-height:44px;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-ink);font:inherit}.skeleton{min-height:180px;background:var(--color-surface-2);border-radius:var(--radius-md)}.stock-ok{font-weight:600}.stock-out{color:var(--color-muted);font-weight:600}.auth-card-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;position:relative}.auth-card{width:min(420px,100%);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:32px 28px}.auth-card input{width:100%;min-height:44px;margin-bottom:14px;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-background);color:var(--color-ink);font:inherit}.auth-demo{margin-top:24px;padding:12px;border:1px dashed var(--color-border);color:var(--color-muted);font-size:.9rem}.auth-demo code{font-family:var(--font-mono);color:var(--color-ink)}.auth-theme{position:absolute;top:16px;right:16px}.form-error{color:var(--color-danger)}.hold-error{margin:12px 0;font-weight:600;color:var(--color-danger)}.state-screen{max-width:36rem;padding:24px 0 48px}.state-screen .lede{margin-bottom:20px}.checkout{display:grid;grid-template-columns:1.4fr .8fr;gap:32px;align-items:start}.summary{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:16px}.summary li{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--color-border);list-style:none}.summary ul{margin:0;padding:0}.qr svg{width:180px;height:180px;background:#fff}.list{display:grid;gap:12px}.qty{width:72px;min-height:44px}.chart{width:100%;height:220px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:32px;align-items:center;margin-bottom:40px}.hero-visual{border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;background:var(--color-surface)}.hero-visual img{width:100%;height:280px;object-fit:cover}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}@media(max-width:768px){.nav-toggle{display:block}.nav{display:none;position:absolute;left:0;right:0;top:var(--nav-h);background:var(--color-background);border-bottom:1px solid var(--color-border);flex-direction:column;padding:12px 16px}.nav.open{display:flex}.checkout,.hero{grid-template-columns:1fr}.who{display:none}}
