@import "https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,450;0,9..144,600;1,9..144,450;1,9..144,600&family=Work+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--ink:#1b1815;--ink-soft:#2a2521;--paper:#f2e9dc;--paper-dim:#e8dcc8;--chili:#b3271f;--chili-soft:#d4483d;--gold:#c7a24c;--jade:#52603f;--ash:#8a8078;--ash-dark:#514a44;--font-display:"Fraunces", serif;--font-body:"Work Sans", sans-serif;--font-mono:"IBM Plex Mono", monospace;--sidebar-w:248px;--radius:3px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--ink);color:var(--paper);font-family:var(--font-body);-webkit-font-smoothing:antialiased}#root{min-height:100vh}a{color:inherit}button{font-family:inherit}::selection{background:var(--chili);color:var(--paper)}.peppercorn{background:var(--gold);border-radius:50%;flex:none;width:5px;height:5px;display:inline-block}.eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ash);font-size:11px}.hairline{border:none;border-top:1px solid #f2e9dc1f;margin:0}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important}}.btn{font-family:var(--font-mono);letter-spacing:.04em;border-radius:var(--radius);cursor:pointer;border:1px solid #0000;align-items:center;gap:8px;padding:11px 20px;font-size:12.5px;font-weight:500;transition:transform .12s,background .15s,border-color .15s,color .15s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn--primary{background:var(--chili);color:var(--paper)}.btn--primary:hover{background:var(--chili-soft)}.btn--secondary{border-color:var(--gold);color:var(--gold);background:0 0}.btn--secondary:hover{background:#c7a24c1f}.btn--ghost{color:var(--paper);background:0 0;border-color:#f2e9dc33}.btn--ghost:hover{border-color:#f2e9dc80}.btn--sm{padding:7px 14px;font-size:11px}.btn--lg{padding:14px 26px;font-size:13.5px}.btn:disabled{opacity:.35;cursor:not-allowed;transform:none}.btn-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.field{flex-direction:column;gap:7px;display:flex}.field__label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ash);font-size:11px}.field__control{border-radius:var(--radius);color:var(--paper);font-family:var(--font-body);background:#f2e9dc0a;border:1px solid #f2e9dc2e;padding:11px 13px;font-size:14px;transition:border-color .15s,background .15s}.field__control::placeholder{color:var(--ash-dark)}.field__control:hover{border-color:#f2e9dc52}.field__control:focus{border-color:var(--gold);background:#f2e9dc0f;outline:none}.field__hint{color:var(--ash-dark);font-size:11.5px}.field-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.field-grid>.field--full{grid-column:1/-1}@media (width<=560px){.field-grid{grid-template-columns:1fr}}.gate{background:var(--ink);background-image:radial-gradient(circle at 50% 0,#b3271f24,#0000 50%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.gate__card{background:var(--ink-soft);border:1px solid #f2e9dc1f;border-radius:8px;width:100%;max-width:360px;padding:36px 32px}.gate__mark{align-items:center;gap:8px;margin-bottom:22px;display:flex}.gate__brand{font-family:var(--font-display);color:var(--paper);font-size:24px;font-style:italic;font-weight:600}.gate__title{font-family:var(--font-display);color:var(--paper);margin:0 0 8px;font-size:20px;font-weight:600}.gate__lede{color:var(--ash);margin:0 0 24px;font-size:13px;line-height:1.6}.gate__form{flex-direction:column;gap:14px;display:flex}.gate__error{font-family:var(--font-mono);color:var(--chili-soft);min-height:14px;margin:0;font-size:11.5px}.gate__submit{justify-content:center;width:100%;margin-top:4px}.gate__footer{font-family:var(--font-mono);color:var(--ash-dark);border-top:1px solid #f2e9dc1a;margin-top:22px;padding-top:16px;font-size:10.5px;line-height:1.6}.sidebar{width:var(--sidebar-w);background:var(--ink-soft);border-right:1px solid #f2e9dc1a;flex-direction:column;padding:28px 22px;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.sidebar__brand{flex-direction:column;gap:2px;margin-bottom:6px;text-decoration:none;display:flex}.sidebar__brand-mark{font-family:var(--font-display);color:var(--paper);font-size:26px;font-style:italic;font-weight:600;line-height:1}.sidebar__brand-sub{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gold);text-align:center;font-size:10.5px}.sidebar__group-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ash);margin:22px 0 8px;font-size:10.5px}.sidebar__nav{flex-direction:column;gap:2px;display:flex}.sidebar__link{color:var(--ash);border-radius:var(--radius);align-items:center;gap:10px;padding:7px 8px;font-size:13.5px;font-weight:500;text-decoration:none;transition:color .15s,background .15s;display:flex}.sidebar__link:hover{color:var(--paper);background:#f2e9dc0d}.sidebar__link .peppercorn{background:var(--ash-dark);transition:background .15s}.sidebar__link--active{color:var(--paper);background:#c7a24c1a}.sidebar__link--active .peppercorn{background:var(--chili-soft)}.sidebar__footer{font-family:var(--font-mono);color:var(--ash-dark);border-top:1px solid #f2e9dc1a;margin-top:auto;padding-top:18px;font-size:10.5px;line-height:1.6}.sidebar__logout{font-family:var(--font-mono);color:var(--gold);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;margin-top:10px;padding:0;font-size:10.5px;text-decoration:underline}.sidebar__logout:hover{color:var(--paper)}.page{margin-left:var(--sidebar-w);background:var(--ink);background-image:radial-gradient(circle at 85% -10%,#b3271f29,#0000 45%);min-height:100vh}.page__inner{max-width:880px;padding:64px 56px 120px}.page-header__eyebrow{align-items:center;gap:8px;margin-bottom:18px;display:flex}.page-header__title{font-family:var(--font-display);color:var(--paper);margin:0 0 14px;font-size:44px;font-weight:600;line-height:1.08}.page-header__title em{color:var(--chili-soft);font-style:italic}.page-header__lede{color:var(--ash);max-width:56ch;margin:0;font-size:16px;line-height:1.6}.section{margin-top:56px}.section__head{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:20px;display:flex}.section__title{font-family:var(--font-display);color:var(--paper);margin:0;font-size:22px;font-weight:600}.section__note{font-family:var(--font-mono);color:var(--ash-dark);font-size:11px}.section__body{background:#f2e9dc05;border:1px solid #f2e9dc1a;border-radius:6px;padding:32px}.section__prose{color:var(--ash);max-width:62ch;font-size:14px;line-height:1.7}@media (width<=760px){.page{margin-left:0}.page__inner{padding:32px 20px 90px}.page-header__title{font-size:32px}.section__body{padding:20px}}.pillars{background:#f2e9dc1a;border:1px solid #f2e9dc1a;border-radius:6px;grid-template-columns:repeat(3,1fr);gap:1px;display:grid;overflow:hidden}.pillar{background:var(--ink);padding:26px 22px}.pillar__index{font-family:var(--font-mono);color:var(--gold);margin-bottom:10px;font-size:11px;display:block}.pillar__title{font-family:var(--font-display);color:var(--paper);margin:0 0 8px;font-size:18px;font-weight:600}.pillar__copy{color:var(--ash);margin:0;font-size:13px;line-height:1.6}.map-list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.map-list li{grid-template-columns:140px 1fr;align-items:baseline;gap:18px;font-size:13.5px;display:grid}.map-list .map-list__name{font-family:var(--font-mono);color:var(--gold);font-size:12px}.map-list .map-list__desc{color:var(--ash);line-height:1.6}@media (width<=760px){.pillars{grid-template-columns:1fr}.map-list li{grid-template-columns:1fr;gap:4px}}.swatches{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.swatch{border:1px solid #f2e9dc1a;border-radius:6px;overflow:hidden}.swatch__fill{height:76px}.swatch__meta{background:var(--ink-soft);padding:10px 12px}.swatch__name{color:var(--paper);font-size:13px;font-weight:600;display:block}.swatch__hex{font-family:var(--font-mono);color:var(--ash);margin-top:2px;font-size:11px;display:block}.type-row{border-bottom:1px solid #f2e9dc14;padding:20px 0}.type-row:last-child{border-bottom:none;padding-bottom:0}.type-row:first-child{padding-top:0}.type-row__meta{align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.type-row__label{font-family:var(--font-mono);color:var(--gold);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.type-row__spec{font-family:var(--font-mono);color:var(--ash-dark);font-size:11px}.type-row__sample--display{font-family:var(--font-display);color:var(--paper);font-weight:600}.type-row__sample--body{font-family:var(--font-body);color:var(--paper)}.type-row__sample--mono{font-family:var(--font-mono);color:var(--paper)}@media (width<=760px){.swatches{grid-template-columns:repeat(2,1fr)}}.signup{flex-direction:column;gap:20px;display:flex}.signup__submit{align-self:flex-start}.heat-dots{align-items:center;gap:10px;display:inline-flex}.heat-dots__group{align-items:center;gap:3px;display:inline-flex}.heat-dots__label{font-family:var(--font-mono);color:var(--ash-dark);text-transform:uppercase;letter-spacing:.06em;margin-right:3px;font-size:9.5px}.heat-dots__dot{background:#f2e9dc1f;border-radius:50%;width:7px;height:7px}.heat-dots__dot--heat.is-filled{background:var(--chili-soft)}.heat-dots__dot--numbing.is-filled{background:var(--gold)}.menu-card{background:#f2e9dc05;border:1px solid #f2e9dc1a;border-radius:6px;padding:20px;transition:border-color .15s,background .15s}.menu-card:hover{background:#f2e9dc09;border-color:#c7a24c66}.menu-card__top{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.menu-card__name{font-family:var(--font-display);color:var(--paper);margin:0;font-size:18px;font-weight:600}.menu-card__pinyin{font-family:var(--font-mono);color:var(--ash-dark);margin-top:2px;font-size:11px;display:block}.menu-card__price{font-family:var(--font-mono);color:var(--gold);flex:none;font-size:15px}.menu-card__desc{color:var(--ash);margin:10px 0 14px;font-size:13.5px;line-height:1.6}.menu-card__meta{justify-content:space-between;align-items:center;gap:12px;display:flex}.menu-card__tags{flex-wrap:wrap;gap:6px;display:flex}.tag{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ash);border:1px solid #f2e9dc29;border-radius:999px;padding:3px 9px;font-size:10px}.menu-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}@media (width<=700px){.menu-grid{grid-template-columns:1fr}}.scale-demo{grid-template-columns:1fr 1fr;gap:32px;display:grid}.scale-control{flex-direction:column;gap:10px;display:flex}.scale-control__label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ash);font-size:11px}.scale-control__row{gap:8px;display:flex}.scale-btn{width:36px;height:36px;color:var(--ash);font-family:var(--font-mono);cursor:pointer;background:0 0;border:1px solid #f2e9dc2e;border-radius:50%;font-size:13px;transition:all .15s}.scale-btn:hover{border-color:var(--gold);color:var(--paper)}.scale-btn.is-active.scale-btn--heat{background:var(--chili-soft);border-color:var(--chili-soft);color:var(--ink)}.scale-btn.is-active.scale-btn--numbing{background:var(--gold);border-color:var(--gold);color:var(--ink)}.scale-preview{border-left:1px solid #f2e9dc1a;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding-left:32px;display:flex}.scale-preview__label{font-family:var(--font-display);color:var(--paper);text-align:center;font-size:20px;font-style:italic}@media (width<=700px){.scale-demo{grid-template-columns:1fr}.scale-preview{border-top:1px solid #f2e9dc1a;border-left:none;padding-top:24px;padding-left:0}}.toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;display:inline-flex}.toggle__track{background:#f2e9dc24;border:1px solid #f2e9dc2e;border-radius:999px;flex:none;width:38px;height:22px;transition:background .15s,border-color .15s;position:relative}.toggle__thumb{background:var(--paper);border-radius:50%;width:16px;height:16px;transition:transform .18s;position:absolute;top:2px;left:2px}.toggle.is-on .toggle__track{background:var(--jade);border-color:var(--jade)}.toggle.is-on .toggle__thumb{transform:translate(16px)}.toggle__label{color:var(--paper);font-size:13.5px}.toggle__label-sub{color:var(--ash-dark);margin-top:1px;font-size:11.5px;display:block}.toggle-list{flex-direction:column;gap:16px;display:flex}.toggle:focus-visible .toggle__track{outline:2px solid var(--gold);outline-offset:2px}.modal-overlay{z-index:100;background:#0a0807b3;justify-content:center;align-items:center;padding:24px;animation:.15s overlay-in;display:flex;position:fixed;inset:0}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--ink-soft);border:1px solid #f2e9dc24;border-radius:8px;width:100%;max-width:420px;padding:28px;animation:.18s modal-in}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal__head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.modal__title{font-family:var(--font-display);color:var(--paper);margin:0;font-size:21px;font-weight:600}.modal__close{color:var(--ash);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:18px;line-height:1}.modal__close:hover{color:var(--paper)}.modal__body{color:var(--ash);margin-bottom:22px;font-size:14px;line-height:1.65}.modal__actions{justify-content:flex-end;gap:10px;display:flex}.modal-demo-stage{justify-content:center;align-items:center;padding:40px 0;display:flex}.site-header{background:var(--ink-soft);border:1px solid #f2e9dc1a;border-radius:8px;justify-content:space-between;align-items:center;padding:18px 28px;display:flex}.site-header__brand{font-family:var(--font-display);color:var(--paper);font-size:22px;font-style:italic;font-weight:600}.site-header__nav{gap:28px;margin:0;padding:0;list-style:none;display:flex}.site-header__nav a{color:var(--ash);font-size:13.5px;text-decoration:none;transition:color .15s}.site-header__nav a:hover{color:var(--paper)}.site-header__right{align-items:center;gap:18px;display:flex}.site-header__locations{font-family:var(--font-mono);color:var(--ash-dark);font-size:11px}@media (width<=700px){.site-header__nav{display:none}}
