*{box-sizing:border-box}html,body{margin:0;padding:0}body{min-height:100vh;font-family:var(--body-font);background:#121212}#root{min-height:100vh}:root{--surface:#121212;--surface-alt:#1a1a1a;--surface-card:#1e1e1e;--ink:#e8e8e8;--ink-muted:#999;--accent:#3b82f6;--accent-strong:#60a5fa;--danger:#f87171;--border:#333;--body-font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--heading-font:var(--body-font);--texture:none}.app{background:var(--surface);min-height:100vh;color:var(--ink);transition:background-color .4s,color .4s;position:relative}.texture-overlay{pointer-events:none;background-image:var(--texture);z-index:0;position:fixed;inset:0}.site-header,.page-content,.site-footer{z-index:1;max-width:1100px;margin:0 auto;padding-left:1.5rem;padding-right:1.5rem;position:relative}.site-notice{z-index:1;border-bottom:1px dashed var(--border);background:color-mix(in srgb, var(--accent) 8%, var(--surface-alt));position:relative}.site-notice p{max-width:1100px;color:var(--ink-muted);margin:0 auto;padding:.6rem 1.5rem;font-size:.85rem;line-height:1.5}.site-notice strong{color:var(--ink)}.site-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-top:1.75rem;padding-bottom:1.25rem;display:flex}.brand{align-items:center;gap:.75rem;display:flex}.skull-icon{flex-shrink:0;width:1em;height:1em;display:inline-block}.brand-mark{color:var(--accent);font-size:2rem}.brand h1{font-family:var(--heading-font);letter-spacing:.02em;color:var(--ink);margin:0;font-size:1.4rem}.brand-tagline{color:var(--ink-muted);margin:.15rem 0 0;font-size:.8rem}.site-nav{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.nav-link{letter-spacing:.02em;color:var(--ink-muted);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:.85rem;text-decoration:none}.nav-link:hover{color:var(--ink)}.nav-link.active{color:var(--accent-strong);font-weight:600}.nav-link-button{font-size:.85rem}.hero{max-width:700px;margin:0 auto;padding-top:3rem;padding-bottom:2.5rem}.hero h2{font-family:var(--heading-font);color:var(--accent-strong);text-align:center;margin:0 0 1.5rem;font-size:clamp(1.6rem,4vw,2.4rem)}.hero p{color:var(--ink);margin:0 0 1.25rem;line-height:1.7}.hero .hero-lead{font-size:1.15rem;font-weight:600}.hero-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1.75rem;display:flex}.btn{cursor:pointer;border-radius:8px;padding:.7rem 1.4rem;font-family:inherit;font-size:.9rem;text-decoration:none;transition:all .15s}.btn-primary{background:var(--accent);color:var(--surface);border:1px solid var(--accent);font-weight:600}.btn-primary:hover{background:var(--accent-strong)}.btn-ghost{color:var(--ink);border:1px solid var(--border);background:0 0}.btn-ghost:hover{border-color:var(--accent);color:var(--accent-strong)}.home-new{padding-top:1rem;padding-bottom:3rem}.home-new h3{font-family:var(--heading-font);text-align:center;color:var(--ink);margin:0 0 1.25rem}.home-new-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;display:grid}.home-new-card{background:var(--surface-card);border:1px solid var(--border);color:var(--ink);border-radius:10px;justify-content:space-between;align-items:center;padding:.9rem 1.1rem;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.home-new-card:hover{border-color:var(--accent);transform:translateY(-2px)}.home-new-name{font-size:.9rem}.home-new-price{color:var(--accent-strong);font-weight:600}.about-page{max-width:700px;margin:0 auto;padding-top:3rem;padding-bottom:3rem}.about-page h2{font-family:var(--heading-font);color:var(--accent-strong);text-align:center;margin:0 0 1.5rem;font-size:clamp(1.6rem,4vw,2.4rem)}.about-page p{color:var(--ink);margin:0 0 1.25rem;line-height:1.7}.events-page{max-width:700px;margin:0 auto;padding-top:3rem;padding-bottom:3rem}.events-page h2{font-family:var(--heading-font);color:var(--accent-strong);text-align:center;margin:0 0 1.5rem;font-size:clamp(1.6rem,4vw,2.4rem)}.events-intro{margin:0 0 1.5rem}.events-intro p,.events-empty p{color:var(--ink);margin:0 0 1.25rem;line-height:1.7}.events-error{color:var(--danger);text-align:center}.events-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.event-row{background:var(--surface-card);border:1px solid var(--border);border-radius:10px;align-items:baseline;gap:1.25rem;padding:1rem 1.25rem;display:flex}.event-date{font-family:var(--heading-font);color:var(--accent-strong);flex-shrink:0;min-width:6.5rem;font-weight:600}.event-details{color:var(--ink);flex-wrap:wrap;gap:.4rem .9rem;display:flex}.event-location{font-weight:600}.event-time,.event-notes{color:var(--ink-muted)}.controls{flex-direction:column;gap:1rem;padding-bottom:1.5rem;display:flex}.search-input{border:1px solid var(--border);background:var(--surface-card);width:100%;color:var(--ink);border-radius:8px;padding:.85rem 1.1rem;font-size:1rem}.search-input::placeholder{color:var(--ink-muted)}.search-input:focus{border-color:var(--accent);outline:none}.category-tabs{flex-wrap:wrap;gap:.5rem;display:flex}.tab{border:1px solid var(--border);color:var(--ink-muted);cursor:pointer;background:0 0;border-radius:6px;padding:.5rem .9rem;font-family:inherit;font-size:.85rem}.tab.active{background:var(--surface-card);color:var(--accent-strong);border-color:var(--accent)}.filters{flex-wrap:wrap;align-items:flex-end;gap:.75rem 1rem;display:flex}.filter{flex-direction:column;flex:9.5rem;gap:.25rem;min-width:9.5rem;max-width:14rem;display:flex}.filter>span{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-muted);font-size:.68rem}.filter select{font:inherit;border:1px solid var(--border);background:var(--surface-card);color:var(--ink);cursor:pointer;border-radius:6px;padding:.5rem .6rem;font-size:.85rem}.filter select:focus{border-color:var(--accent);outline:none}.filter-clear{font:inherit;border:1px solid var(--border);color:var(--ink-muted);cursor:pointer;background:0 0;border-radius:6px;padding:.5rem .8rem;font-size:.8rem;font-weight:600}.filter-clear:hover{border-color:var(--danger);color:var(--danger)}.facet{flex-direction:column;gap:.35rem;display:flex}.facet>span{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-muted);font-size:.68rem}.chip:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}.results-count{color:var(--ink-muted);margin:0;font-size:.8rem}.grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;padding-top:.5rem;display:grid}.empty-state{text-align:center;color:var(--ink-muted);grid-column:1/-1;padding:3rem 0;font-style:italic}.human-notice{text-align:center;max-width:560px;color:var(--ink-muted);margin:0 auto;padding:2.5rem 1rem;line-height:1.6}.human-notice p{margin:0 0 .75rem}.human-notice .human-notice-rule{color:var(--ink);font-family:var(--heading-font);letter-spacing:.04em;text-transform:uppercase;margin:1rem 0 1.25rem;font-size:1.4rem;font-weight:700}.contact-picker .human-notice{padding:1rem .5rem;font-size:.85rem}.contact-picker .human-notice .human-notice-rule{font-size:1.05rem}.card{text-align:left;background:var(--surface-card);border:1px solid var(--border);cursor:pointer;color:var(--ink);border-radius:10px;flex-direction:column;gap:.5rem;padding:1rem;font-family:inherit;transition:transform .15s,border-color .15s;display:flex;position:relative}.card:hover{border-color:var(--accent);transform:translateY(-2px)}.card-sticker{z-index:3;background:var(--accent);color:var(--surface);border:2px solid var(--surface-card);text-transform:uppercase;letter-spacing:.08em;border-radius:999px;align-items:center;gap:.25em;padding:.3rem .55rem;font-size:.6rem;font-weight:800;display:inline-flex;position:absolute;top:-10px;right:-10px;transform:rotate(6deg);box-shadow:0 3px 10px #00000059}.card-footer{justify-content:space-between;align-items:center;gap:.5rem;margin-top:auto;display:flex;position:relative}.card-caffeine{color:var(--ink-muted);align-items:center;gap:.3em;font-size:.7rem;display:inline-flex}.chili-rating{flex-shrink:0;align-items:center;gap:2px;line-height:1;display:inline-flex}.chili-slot{width:1em;height:1em;font-size:1rem;position:relative}.chili-slot svg{width:1em;height:1em;display:block;position:absolute;top:0;left:0}.chili-ghost{color:color-mix(in srgb, var(--danger) 22%, var(--border))}.chili-fill{height:100%;position:absolute;top:0;left:0;overflow:hidden}.chili-full{color:var(--danger)}.badge-heat .chili-rating{font-size:.85em}.badge-heat{align-items:center;gap:.4em;display:inline-flex}.pairing-list{flex-wrap:wrap;gap:.6rem 1.1rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.pairing-list li{color:var(--ink-muted);align-items:center;gap:.45em;font-size:.8rem;display:inline-flex}.pair-icon{flex-shrink:0;width:1em;height:1em;display:inline-block}.pairing-list .pair-icon{color:var(--ink);font-size:1.5em}.pairing-row{color:var(--ink-muted);gap:.5rem;margin-top:.6rem;display:flex}.pairing-row .pair-icon{font-size:1.15em}.pill{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;align-items:center;gap:.28em;padding:.15rem .5rem;font-size:.65rem;display:inline-flex}.pill-icon{flex-shrink:0;font-size:1.15em}.badge{align-items:center;gap:.35em;display:inline-flex}.card-title{font-family:var(--heading-font);color:var(--ink);margin:0;padding-right:2.5rem;font-size:1.05rem}.card-ingredients{color:var(--ink-muted);flex:1;margin:0;font-size:.82rem;line-height:1.4}.card-price{color:var(--accent-strong);margin:0;font-weight:600}.site-footer{text-align:center;color:var(--ink-muted);padding-top:3rem;font-size:.8rem}.site-credit{padding-bottom:1.5rem;font-size:.75rem}.site-credit a:hover span:last-child,.site-credit a:focus-visible span:last-child{text-decoration:underline}.modal-backdrop{z-index:10;background:#000000a6;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal{background:var(--surface-card);border:1px solid var(--border);width:100%;max-width:560px;max-height:85vh;color:var(--ink);border-radius:12px;padding:2rem;position:relative;overflow-y:auto}.modal-close{color:var(--ink-muted);cursor:pointer;background:0 0;border:none;font-size:1.5rem;line-height:1;position:absolute;top:.75rem;right:.9rem}.modal-close:hover{color:var(--accent)}.modal-badges{flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem;display:flex}.badge{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:.2rem .6rem;font-size:.7rem}.badge-new{background:color-mix(in srgb, var(--accent) 25%, transparent);color:var(--accent-strong)}.badge-heat{background:color-mix(in srgb, var(--danger) 25%, transparent);color:var(--danger)}.badge-caffeine{background:color-mix(in srgb, var(--ink) 12%, transparent);color:var(--ink-muted)}.modal h2{font-family:var(--heading-font);color:var(--ink);margin:0 0 .25rem}.modal-price{color:var(--accent-strong);margin:0 0 1.25rem;font-weight:600}.modal h3{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);margin:1.25rem 0 .5rem;font-size:.85rem}.ingredient-list{color:var(--ink);margin:0;padding-left:1.1rem;line-height:1.6}.contact-intro{color:var(--ink-muted);margin:0 0 1.5rem;line-height:1.6}.contact-intro p{margin:0 0 .5rem}.contact-intro a{color:var(--accent-strong)}.contact-details{border-bottom:1px solid var(--border);grid-template-columns:1fr;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.5rem;display:grid}.contact-details h3{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);margin:0 0 .35rem;font-size:.75rem}.contact-details p{color:var(--ink);margin:0;font-size:.9rem;line-height:1.4}.contact-form{flex-direction:column;gap:1rem;display:flex}.contact-form label{color:var(--ink-muted);flex-direction:column;gap:.4rem;font-size:.8rem;display:flex}.contact-form input,.contact-form textarea{border:1px solid var(--border);background:var(--surface-alt);color:var(--ink);resize:vertical;border-radius:6px;padding:.65rem .85rem;font-family:inherit;font-size:.95rem}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent);outline:none}.contact-submit{border:1px solid var(--accent);background:var(--accent);color:var(--surface);cursor:pointer;border-radius:8px;align-self:flex-start;padding:.65rem 1.4rem;font-family:inherit;font-size:.9rem;font-weight:600}.contact-submit:hover{background:var(--accent-strong)}.contact-success{color:var(--accent-strong);font-weight:600}.card--cat{border-top:3px solid var(--cat-line);background:color-mix(in srgb, var(--cat) 14%, var(--surface-card))}.card--cat:hover{border-color:var(--cat-line)}.modal--cat{border-top:3px solid var(--cat-line);background:color-mix(in srgb, var(--cat) 11%, var(--surface-card))}.card-family{text-transform:uppercase;letter-spacing:.09em;color:var(--cat-line);margin-bottom:-.25rem;font-size:.6rem;font-weight:800}.badge-family{color:var(--cat-line);background:color-mix(in srgb, var(--cat-line) 14%, transparent);border:1px solid color-mix(in srgb, var(--cat-line) 45%, transparent);font-weight:800}.modal-uses{color:var(--ink-muted);margin:0;line-height:1.55}.products-editlink{text-align:center;margin:2rem 0 0;font-size:.85rem}.products-editlink a{color:var(--accent)}.editor{flex-direction:column;gap:2rem;display:flex}.editor-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.editor-head h2{font-family:var(--heading-font);color:var(--ink);margin:0}.editor-note{color:var(--ink-muted);max-width:40rem;margin:0;font-size:.85rem}.editor-toolbar{flex-wrap:wrap;gap:.5rem;display:flex}.editor-section{border:1px solid var(--border);background:var(--surface-alt);border-radius:12px;padding:1.25rem}.editor-section>h3{font-family:var(--heading-font);color:var(--accent-strong);margin:0 0 1rem}.btn-sm{font:inherit;border:1px solid var(--border);background:var(--surface-card);color:var(--ink);cursor:pointer;border-radius:7px;padding:.4rem .8rem;font-size:.8rem;font-weight:600}.btn-sm:hover{border-color:var(--accent);color:var(--accent-strong)}.btn-sm[disabled]{opacity:.4;cursor:not-allowed}.btn-danger:hover{border-color:var(--danger);color:var(--danger)}.field-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem 1rem;display:grid}.field{flex-direction:column;gap:.25rem;display:flex}.field>span{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);font-size:.7rem}.field input[type=text],.field input[type=number],.field select,.field textarea,.editor input[type=text],.editor textarea{font:inherit;border:1px solid var(--border);background:var(--surface-card);color:var(--ink);border-radius:7px;padding:.45rem .6rem;font-size:.9rem}.field textarea{resize:vertical;min-height:4rem}.chip-row{flex-wrap:wrap;gap:.4rem;display:flex}.chip{border:1px solid var(--border);background:var(--surface-card);color:var(--ink-muted);cursor:pointer;border-radius:999px;align-items:center;gap:.35em;padding:.3rem .55rem;font-size:.78rem;display:inline-flex}.chip svg{font-size:1.15em}.chip.on{border-color:var(--accent);color:var(--accent-strong);background:color-mix(in srgb, var(--accent) 14%, transparent)}.ingredient-editor{flex-direction:column;gap:.4rem;display:flex}.ingredient-editor .row{gap:.4rem;display:flex}.ingredient-editor .row input{flex:1}.editor-tabs-wrap{flex-direction:column;display:flex}.editor-tabs{z-index:1;align-items:flex-end;margin:0 0 -1px 1.5rem;display:flex;position:relative;overflow-x:auto}.editor-tab{font:inherit;white-space:nowrap;border:1px solid var(--border);background:var(--surface-card);color:var(--ink-muted);cursor:pointer;border-radius:6px 6px 0 0;padding:.5rem .9rem;font-size:.85rem}.editor-tab+.editor-tab{margin-left:-1px}.editor-tab:hover:not(.active){color:var(--ink)}.editor-tab.active{background:var(--surface-alt);border-bottom-color:var(--surface-alt);color:var(--ink);font-weight:700}.editor-tab:focus-visible,.icon-btn:focus-visible{outline:2px solid var(--accent-strong);outline-offset:-3px}.editor-tab-panel{flex-direction:column;gap:.75rem;display:flex}@media (width<=480px){.editor-tabs{margin-left:.75rem}.editor-tab{padding:.5rem .65rem}}.item-search{padding-left:.75rem}.item-search .search-icon{color:var(--ink-muted);flex-shrink:0}.item-search input[type=search]{min-width:0;font:inherit;color:var(--ink);background:0 0;border:none;flex:1;padding:.45rem .25rem;font-size:.9rem}.item-search input[type=search]:focus{outline:none}.item-search:focus-within{border-color:var(--accent)}.item-search .meta{color:var(--ink-muted);white-space:nowrap;font-size:.75rem}.icon-btn--add{color:var(--accent-strong);border-color:var(--accent)}.icon-btn--add:hover{background:color-mix(in srgb, var(--accent) 15%, transparent)}.item-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.item-row{border:1px solid var(--border);background:var(--surface-card);border-radius:10px;align-items:center;gap:.7rem;min-height:3rem;padding:.55rem .6rem .55rem .9rem;display:flex}.item-main{flex-wrap:wrap;flex:1;align-items:baseline;gap:.1rem .75rem;min-width:0;display:flex}.item-main .name{color:var(--ink);overflow-wrap:anywhere;font-weight:600}.item-main .meta{color:var(--ink-muted);font-size:.75rem}.prod-swatch{background:var(--sw,transparent);outline:1px solid var(--border);border-radius:3px;flex-shrink:0;width:.7rem;height:.7rem}.color-swatch{outline:1px solid var(--border);border-radius:6px;flex-shrink:0;width:1.4rem;height:1.4rem}.row-count{color:var(--ink-muted);white-space:nowrap;font-size:.75rem}.row-actions{flex-shrink:0;gap:.35rem;display:inline-flex}.icon-btn{border:1px solid var(--border);width:2.25rem;height:2.25rem;color:var(--ink-muted);cursor:pointer;background:0 0;border-radius:8px;place-items:center;padding:0;display:inline-grid}.icon-btn:hover{border-color:var(--accent);color:var(--accent-strong)}.icon-btn--danger:hover{border-color:var(--danger);color:var(--danger)}.icon-btn[disabled]{opacity:.35;cursor:not-allowed;border-color:var(--border);color:var(--ink-muted)}.action-icon{width:1.05rem;height:1.05rem}.item-row:has(.row-editing){border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--surface-card));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 25%, transparent)}.row-editing{flex-wrap:wrap;align-items:center;gap:.5rem;width:100%;display:flex}.row-editing-badge{letter-spacing:.07em;text-transform:uppercase;color:var(--surface);background:var(--accent-strong);border-radius:999px;padding:.15rem .5rem;font-size:.65rem;font-weight:700}.row-editing input[type=text]{min-width:10rem;font:inherit;border:1px solid var(--accent);background:var(--surface);color:var(--ink);border-radius:7px;flex:1;padding:.45rem .6rem}.row-editing input[type=color]{border:1px solid var(--accent);cursor:pointer;background:0 0;border-radius:7px;width:2.2rem;height:2.2rem;padding:0}.row-editing-hint{flex-basis:100%;margin:0}.editor-io textarea{width:100%;min-height:8rem;font-family:ui-monospace,monospace;font-size:.8rem}.editor-error{color:var(--danger);margin:.5rem 0 0;font-size:.85rem}.btn-sm.btn-primary{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--surface)}.btn-sm.btn-primary:hover:not([disabled]){background:var(--accent);border-color:var(--accent);color:var(--surface)}.btn-sm.btn-danger-solid{background:var(--danger);border-color:var(--danger);color:var(--surface)}.btn-sm.btn-danger-solid:hover:not([disabled]){color:var(--surface);filter:brightness(1.1)}.form-modal{padding:2.75rem 1.75rem 1.5rem}.human-flow{z-index:20;background:#000c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.human-flow--trace{background:#000000eb}.human-flow-card{border:1px solid var(--danger,#f87171);background:var(--surface-card,#1e1e1e);width:100%;max-width:460px;color:var(--ink,#e8e8e8);border-radius:12px;padding:1.75rem;line-height:1.55}.human-flow-card p{margin:0 0 .75rem}.human-flow-title{color:var(--danger,#f87171);font-family:var(--heading-font);letter-spacing:.04em;margin:0 0 1rem;font-size:1.6rem}.human-flow-title--ok{color:var(--accent-strong,#60a5fa)}.human-trace{max-width:520px;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.85rem}.human-trace-log{margin:1rem 0 0;padding:0;list-style:none}.human-trace-log li{color:var(--ink-muted,#999);padding:.2rem 0}.human-trace-log li:before{content:"> ";color:var(--danger,#f87171)}.human-trace-log li.current{color:var(--danger,#f87171);animation:.8s steps(2,start) infinite human-trace-blink}.human-trace-spinner{border:3px solid var(--border,#333);border-top-color:var(--danger,#f87171);border-radius:50%;width:2rem;height:2rem;margin:0 auto;animation:.8s linear infinite human-trace-spin}@keyframes human-trace-spin{to{transform:rotate(360deg)}}@keyframes human-trace-blink{50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.human-trace-spinner,.human-trace-log li.current{animation:none}}.form-modal--wide{max-width:760px}.modal-close--left{left:.9rem;right:auto}.form-modal-title{font-family:var(--heading-font);color:var(--ink);margin:0 0 1rem;font-size:1.25rem}.confirm-modal{max-width:440px;padding:1.5rem}.form-modal-body{border:0;flex-direction:column;gap:.9rem;min-width:0;margin:0;padding:0;display:flex}.form-modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:1.25rem;display:flex}.form-modal-note{max-width:none}.form-modal-hint{color:var(--danger);margin:0;font-size:.8rem}.req-mark{color:var(--danger);text-decoration:none}.discard-confirm{border-top:1px solid var(--danger);background:color-mix(in srgb, var(--danger) 12%, var(--surface-card));margin:1rem -1.75rem -1.5rem;padding:1rem 1.75rem;position:sticky;bottom:-1.5rem}.discard-confirm p{margin:0}.discard-confirm .form-modal-actions{margin-top:.75rem}.resolve-options{flex-direction:column;gap:.5rem;display:flex}.resolve-option{border:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:flex-start;gap:.6rem;padding:.7rem .8rem;display:flex}.resolve-option.on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent)}.resolve-option>span{flex-direction:column;flex:1;gap:.45rem;display:flex}.resolve-option input[type=radio]{margin-top:.2rem}.resolve-inline{flex-wrap:wrap;gap:.5rem;display:flex}.resolve-inline input[type=text],.resolve-inline select{min-width:10rem;font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:6px;flex:1;padding:.4rem .55rem}.resolve-inline input[type=color]{border:1px solid var(--border);background:0 0;border-radius:6px;width:2.2rem;height:2.1rem;padding:0}.resolve-help{color:var(--ink-muted);font-size:.8rem}.editor-io{flex-direction:column;gap:.6rem;display:flex}.editor-io>h3{margin-bottom:0}.editor-io h4{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-muted);margin:.75rem 0 0;font-size:.8rem}.io-actions{align-items:center}.file-pick{position:relative;overflow:hidden}.file-pick input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.file-pick:focus-within{outline:2px solid var(--accent-strong);outline-offset:2px}.import-review{border:1px solid var(--border);background:var(--surface-card);border-radius:8px;padding:.75rem .9rem;font-size:.85rem}.import-review>p{margin:0 0 .5rem}.import-list{color:var(--ink-muted);margin:0 0 .75rem;padding-left:1.1rem}.import-list.bad,.import-review .bad{color:var(--danger)}.manual-list{padding:0;list-style:none}.manual-list li{border-bottom:1px solid var(--border);color:var(--ink);justify-content:space-between;align-items:center;gap:.75rem;padding:.35rem 0;display:flex}.schema-view{border:1px solid var(--border);background:var(--surface-card);border-radius:8px;padding:.6rem .9rem}.schema-view>summary{cursor:pointer;color:var(--accent-strong);font-size:.85rem;font-weight:600}.schema-view[open]>summary{margin-bottom:.6rem}.schema-table-wrap{margin:.6rem 0;overflow-x:auto}.schema-table{border-collapse:collapse;width:100%;font-size:.8rem}.schema-table th,.schema-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:.4rem .5rem}.schema-table th{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);font-size:.7rem}.schema-table td:nth-child(2){white-space:nowrap;color:var(--ink-muted)}.schema-table tr.req td{background:color-mix(in srgb, var(--accent) 12%, transparent)}.schema-table tr.req td:first-child{box-shadow:inset 3px 0 0 var(--accent-strong)}.req-badge{color:var(--surface);background:var(--accent-strong);white-space:nowrap;border-radius:999px;padding:.1rem .45rem;font-size:.7rem;font-weight:700}.schema-example{background:var(--surface);border-radius:6px;margin:0;padding:.75rem;font-size:.75rem;overflow-x:auto}.multiselect{display:inline-block;position:relative}.multiselect-btn{border:1px solid var(--border,#3a3a44);background:var(--surface-alt,#16161a);color:var(--ink,#e8e8ea);cursor:pointer;border-radius:6px;align-items:center;gap:.4rem;padding:.4rem .7rem;font-size:.85rem;display:inline-flex}.multiselect-btn.has-value{border-color:var(--accent,#d67b39)}.multiselect-count{background:var(--accent,#d67b39);color:#16161a;border-radius:999px;padding:0 .4rem;font-size:.75rem;font-weight:700}.multiselect-caret{opacity:.7;font-size:.7rem}.multiselect-pop{z-index:60;background:var(--surface-card,#1f1f25);border:1px solid var(--border,#3a3a44);border-radius:8px;min-width:210px;max-height:260px;padding:.35rem;position:absolute;top:calc(100% + 4px);left:0;overflow:auto;box-shadow:0 8px 24px #0006}.multiselect-row{cursor:pointer;color:var(--ink,#e8e8ea);border-radius:6px;align-items:center;gap:.5rem;padding:.4rem .5rem;font-size:.85rem;display:flex}.multiselect-row:hover{background:var(--surface-alt,#2c2c33)}.multiselect-clear{border:0;border-top:1px solid var(--border,#2c2c33);width:100%;color:var(--ink-muted,#b7b7bd);cursor:pointer;background:0 0;margin-top:.25rem;padding:.35rem;font-size:.8rem}.dot{border-radius:3px;flex:none;width:12px;height:12px;display:inline-block}.level-badge{white-space:nowrap;align-items:center;gap:.3rem;font-size:.8rem;display:inline-flex}.level-badge .pill-icon{width:1.1em;height:1.1em}.heat-1{color:#e0a92a}.heat-2{color:#e5843d}.heat-3{color:#cf3b2f}.heat-4{color:#b02fc0}.heat-5{color:currentColor}.bean-row{gap:1px;display:inline-flex}.bean-row .bean{opacity:.25;width:.85em;height:.85em}.bean-row .bean.on{opacity:1;color:#a9814f}.level-picker{flex-wrap:wrap;gap:.4rem;display:flex}.level-opt{border:1px solid var(--border,#3a3a44);background:var(--surface-alt,#16161a);color:var(--ink,#e8e8ea);cursor:pointer;border-radius:6px;padding:.4rem .6rem;font-size:.8rem}.level-opt.on{border-color:var(--accent,#d67b39);background:var(--surface-card,#2c2c33)}.filter-pills{flex-wrap:wrap;gap:.4rem;margin:.5rem 0;display:flex}.filter-pill{border:1px solid var(--border,#3a3a44);background:var(--surface-alt,#2c2c33);color:var(--ink,#e8e8ea);cursor:pointer;border-radius:999px;align-items:center;gap:.3rem;padding:.25rem .6rem;font-size:.8rem;display:inline-flex}.contact-picker{border:1px solid var(--border,#3a3a44);border-radius:8px;padding:.75rem}.contact-picker .filters{gap:.4rem}.cp-picked-label{color:var(--ink-muted,#9a9aa2);align-self:center;font-size:.8rem}.sf{flex-direction:column;gap:.5rem;display:flex}.sf-bar{align-items:stretch;gap:.5rem;display:flex}.sf-filter-btn{border:1px solid var(--border,#3a3a44);background:var(--surface-card,#1f1f25);color:var(--ink,#e8e8ea);cursor:pointer;border-radius:8px;flex:none;align-items:center;gap:.35rem;padding:0 .8rem;display:inline-flex}.sf-filter-btn.has-value,.sf-filter-btn[aria-expanded=true]{border-color:var(--accent,#d67b39)}.sf-filter-btn:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}.sf .sf-input{flex:1;width:auto;min-width:0}.sf .filter-pills{align-items:center;margin:0}.sf .filter-clear{padding:.25rem .6rem}.sf-pane{border:1px solid var(--border,#3a3a44);background:var(--surface-card,#1f1f25);border-radius:8px;flex-direction:column;gap:.75rem;padding:.75rem;display:flex}.sf-dropdowns{flex-wrap:wrap;gap:.5rem;display:flex}.contact-product-list{flex-direction:column;gap:.3rem;max-height:240px;margin-top:.6rem;display:flex;overflow:auto}.contact-product-row{border:1px solid var(--border,#3a3a44);background:var(--surface,transparent);color:var(--ink,inherit);text-align:left;cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;gap:.6rem;padding:.45rem .6rem;font-size:.85rem;display:flex}.contact-product-row.picked{border-color:var(--accent,#d67b39);background:var(--surface-card,#2c2c33)}.cp-meta{color:var(--ink-muted,#9a9aa2);align-items:center;gap:.4rem;font-size:.78rem;display:inline-flex}.cp-hint{color:var(--ink-muted,#9a9aa2);margin:.3rem 0 0;font-size:.8rem}html,body{overflow-x:hidden}img{max-width:100%}@media (width<=720px){.site-header{flex-wrap:wrap;gap:.6rem}.site-nav{flex-wrap:wrap}.filters{gap:.4rem}.filter{min-width:0;max-width:none}.modal{max-width:calc(100vw - 1.5rem)}.contact-modal{max-width:calc(100vw - 1rem)}}.pk-skip-link:focus{z-index:1000;background:var(--accent-strong);color:var(--surface);outline:2px solid var(--ink);outline-offset:2px;border-radius:6px;padding:.5rem 1rem;font-weight:600;text-decoration:none;position:fixed;top:.75rem;left:.75rem}.ke-icon{height:25px}
