:root{--ui-space-0:0;--ui-space-1:4px;--ui-space-2:8px;--ui-space-3:12px;--ui-space-4:16px;--ui-space-5:24px;--ui-space-6:32px;--ui-space-7:48px;--ui-space-8:64px;--ui-space-9:96px;--ui-text-xs:12px;--ui-text-sm:14px;--ui-text-base:16px;--ui-text-lg:18px;--ui-text-xl:20px;--ui-text-2xl:24px;--ui-text-3xl:30px;--ui-text-4xl:36px;--ui-text-5xl:48px;--ui-leading-tight:1.15;--ui-leading-snug:1.3;--ui-leading-normal:1.5;--ui-leading-relaxed:1.7;--ui-measure-narrow:28em;--ui-measure-default:34em;--ui-measure-wide:45em;--ui-weight-regular:400;--ui-weight-medium:500;--ui-weight-semibold:600;--ui-weight-bold:700;--ui-tracking-tight:-.02em;--ui-tracking-normal:0;--ui-tracking-caps:.05em;--ui-font-sans:"Nunito", system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;--ui-font-display:"Fraunces", "Iowan Old Style", Georgia, serif;--ui-font-cjk:"Noto Sans SC", "PingFang SC", "HarmonyOS Sans SC", "MiSans", "Microsoft YaHei", sans-serif;--ui-font-mono:ui-monospace, "SFMono-Regular", Consolas, monospace;--ui-container-narrow:28rem;--ui-container-default:64rem;--ui-container-wide:80rem;--ui-radius:16px;--ui-surface-page:#0b0b0c;--ui-surface-sunken:#060607;--ui-surface-raised:#141417;--ui-surface-raised-2:#1d1d21;--ui-text-primary:#f2f2f3;--ui-text-secondary:#a2a2a8;--ui-text-tertiary:#83838b;--ui-text-disabled:#56565d;--ui-border-default:#2a2a2f;--ui-border-interactive:#6a6a72;--ui-border-strong:#a2a2a8;--ui-border-focus:#e6b25e;--ui-accent:#e6b25e;--ui-accent-hover:#f0c37a;--ui-accent-active:#c9933f;--ui-accent-ink:#231807;--ui-action-primary:var(--ui-accent);--ui-action-primary-hover:var(--ui-accent-hover);--ui-action-primary-active:var(--ui-accent-active);--ui-action-disabled:#2a2a2f;--ui-text-on-action:var(--ui-accent-ink);--ui-semantic-success:#8fbf9a;--ui-semantic-warning:#d09a63;--ui-semantic-danger:#c9736a;--ui-semantic-info:#8fb8cf;--ui-elev-1:inset 0 1px 0 #ffffff14, inset 0 -1px 0 #00000073, 0 24px 48px -28px #000000d9;--ui-elev-2:inset 0 1px 0 #ffffff1a, inset 0 -1px 0 #0000008c, 0 32px 64px -20px #000000e6;--ui-edge:linear-gradient(160deg, #ffffff29, #ffffff0a 42%, #fff0 92%);--ui-sheen:radial-gradient(120% 70% at 50% 0%, #ffffff0d, #fff0 62%);--ui-selection-bg:var(--ui-accent);--ui-selection-fg:var(--ui-accent-ink);--ui-text-caret:var(--ui-accent);--ui-scrollbar-thumb:#3a3a41;--ui-scrollbar-track:var(--ui-surface-page);--ui-underline-offset:.125rem;--ui-focus-offset:2px;--ui-touch-min:44px}
*{box-sizing:border-box}html{background:var(--ui-surface-sunken);color:var(--ui-text-primary);font-family:var(--ui-font-sans);font-size:var(--ui-text-base);line-height:var(--ui-leading-normal);-webkit-font-smoothing:antialiased}body{background:var(--ui-surface-page);min-height:100vh;margin:0}::selection{background:var(--ui-selection-bg);color:var(--ui-selection-fg)}:focus-visible{outline:2px solid var(--ui-border-focus);outline-offset:var(--ui-focus-offset)}.stage{gap:var(--ui-space-6);padding:var(--ui-space-7) var(--ui-space-5);background:var(--ui-surface-sunken);flex-wrap:wrap;justify-content:center;align-items:flex-start;display:flex}.frame{border:1px solid var(--ui-border-default);background:var(--ui-surface-page);width:375px;min-height:812px;box-shadow:var(--ui-elev-1);border-radius:28px;flex-direction:column;display:flex;position:relative;overflow:hidden}.frame>.cap{padding:var(--ui-space-2) 0 0;text-align:center;font-size:var(--ui-text-xs);letter-spacing:var(--ui-tracking-caps);color:var(--ui-text-tertiary);text-transform:uppercase}.screen{gap:var(--ui-space-4);padding:var(--ui-space-5) var(--ui-space-4);flex-direction:column;flex:1;display:flex;overflow-y:auto}.eyebrow{font-size:var(--ui-text-xs);letter-spacing:var(--ui-tracking-caps);text-transform:uppercase;color:var(--ui-text-tertiary);margin:0}.h-display{font-family:var(--ui-font-display);font-weight:var(--ui-weight-medium);font-size:var(--ui-text-4xl);line-height:var(--ui-leading-tight);letter-spacing:0;color:var(--ui-text-primary);margin:0}.accent{color:var(--ui-accent);font-family:var(--ui-font-cjk)}.h-screen{font-family:var(--ui-font-display);font-weight:var(--ui-weight-medium);font-size:var(--ui-text-2xl);line-height:var(--ui-leading-tight);color:var(--ui-text-primary);margin:0}.lede{max-width:var(--ui-measure-narrow);color:var(--ui-text-secondary);font-size:var(--ui-text-sm);line-height:var(--ui-leading-relaxed);margin:0}.btn{justify-content:center;align-items:center;gap:var(--ui-space-2);min-height:var(--ui-touch-min);padding:0 var(--ui-space-5);border-radius:var(--ui-radius);border:1px solid var(--ui-border-interactive);background:var(--ui-surface-raised);color:var(--ui-text-primary);font:inherit;font-size:var(--ui-text-base);font-weight:var(--ui-weight-medium);cursor:pointer;display:inline-flex}.btn-primary{background:var(--ui-action-primary);border-color:var(--ui-action-primary);color:var(--ui-text-on-action);box-shadow:var(--ui-elev-1)}.btn-primary:hover{background:var(--ui-action-primary-hover)}.btn-primary:active{background:var(--ui-action-primary-active)}.btn-secondary:hover{background:var(--ui-surface-raised-2)}.btn-secondary:active{background:var(--ui-surface-sunken)}.btn-ghost{color:var(--ui-text-secondary);background:0 0;border-color:#0000}.btn-ghost:hover{color:var(--ui-text-primary)}.card{background:var(--ui-surface-raised);border-radius:var(--ui-radius);box-shadow:var(--ui-elev-1);padding:var(--ui-space-4);gap:var(--ui-space-2);display:grid;position:relative}.card:before{content:"";border-radius:inherit;background:var(--ui-edge);-webkit-mask-composite:xor;pointer-events:none;padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.card:after{content:"";border-radius:inherit;background:var(--ui-sheen);pointer-events:none;position:absolute;inset:0}.welcome-hero{justify-content:center;gap:var(--ui-space-4);flex-direction:column;flex:1;display:flex}.guest-chip{align-items:center;gap:var(--ui-space-2);padding:var(--ui-space-2) var(--ui-space-3);border-radius:var(--ui-radius);background:var(--ui-surface-raised);box-shadow:var(--ui-elev-1);font-size:var(--ui-text-sm);color:var(--ui-text-secondary);align-self:flex-start;display:inline-flex}.guest-chip b{color:var(--ui-text-primary);font-weight:var(--ui-weight-semibold);font-family:var(--ui-font-cjk)}.welcome-meta{gap:var(--ui-space-1);font-size:var(--ui-text-sm);color:var(--ui-text-tertiary);flex-direction:column;display:flex}.welcome-foot{gap:var(--ui-space-3);display:grid}.welcome-hint{text-align:center;font-size:var(--ui-text-xs);color:var(--ui-text-tertiary);line-height:var(--ui-leading-relaxed);margin:0}.menu-head{justify-content:space-between;align-items:baseline;gap:var(--ui-space-3);display:flex}.menu-count{font-size:var(--ui-text-xs);color:var(--ui-text-tertiary)}.rec-banner{border:1px solid var(--ui-border-interactive);border-radius:var(--ui-radius);padding:var(--ui-space-4);gap:var(--ui-space-2);background:radial-gradient(140% 120% at 85% -20%, #e6b25e2e, #e6b25e00 60%), var(--ui-surface-raised);box-shadow:var(--ui-elev-1);display:grid;position:relative}.rec-banner h2{font-family:var(--ui-font-display);font-weight:var(--ui-weight-medium);font-size:var(--ui-text-xl);line-height:var(--ui-leading-snug);margin:0}.rec-banner p{font-size:var(--ui-text-sm);color:var(--ui-text-secondary);margin:0}.tabs{gap:var(--ui-space-2);padding:var(--ui-space-1);border-radius:var(--ui-radius);background:var(--ui-surface-sunken);grid-template-columns:repeat(3,1fr);display:grid}.tab{border-radius:var(--ui-radius);color:var(--ui-text-secondary);min-height:36px;font:inherit;font-size:var(--ui-text-sm);font-weight:var(--ui-weight-medium);cursor:pointer;background:0 0;border:1px solid #0000}.tab.is-active{background:var(--ui-surface-raised-2);color:var(--ui-text-primary);box-shadow:var(--ui-elev-1)}.drink-list{gap:var(--ui-space-3);margin:0;padding:0;list-style:none;display:grid}.drink{background:var(--ui-surface-raised);border-radius:var(--ui-radius);box-shadow:var(--ui-elev-1);text-align:left;width:100%;padding:var(--ui-space-4);gap:var(--ui-space-2);cursor:pointer;font:inherit;color:inherit;border:none;grid-template-columns:1fr auto;display:grid;position:relative}.drink:hover{background:var(--ui-surface-raised-2)}.drink:before{content:"";border-radius:inherit;background:var(--ui-edge);-webkit-mask-composite:xor;pointer-events:none;padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.drink-name{font-family:var(--ui-font-display);font-weight:var(--ui-weight-medium);font-size:var(--ui-text-xl);line-height:var(--ui-leading-snug);color:var(--ui-text-primary);margin:0}.drink-meta{align-items:center;gap:var(--ui-space-2);font-size:var(--ui-text-xs);color:var(--ui-text-tertiary);flex-wrap:wrap;display:flex}.tag{padding:var(--ui-space-1) var(--ui-space-2);border-radius:var(--ui-radius);border:1px solid var(--ui-border-default);color:var(--ui-text-secondary);font-size:var(--ui-text-xs);align-items:center;display:inline-flex}.stats{text-align:right;font-variant-numeric:tabular-nums;color:var(--ui-text-secondary);font-size:var(--ui-text-sm);align-self:center}.status{align-items:center;gap:var(--ui-space-1);font-size:var(--ui-text-xs);color:var(--ui-semantic-success);display:inline-flex}.status:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.status.is-missing{color:var(--ui-semantic-warning)}.status.is-missing:before{box-shadow:none}.status.is-off{color:var(--ui-text-tertiary)}.menu-foot{gap:var(--ui-space-3);padding:var(--ui-space-4) 0;background:linear-gradient(180deg, #0b0b0c00, var(--ui-surface-page) 40%);grid-template-columns:1fr auto;display:grid;position:sticky;bottom:0}.empty{justify-items:center;gap:var(--ui-space-3);text-align:center;padding:var(--ui-space-6) var(--ui-space-4);margin:auto 0;display:grid}.empty-icon{border-radius:var(--ui-radius);border:1px solid var(--ui-border-interactive);width:48px;height:48px;color:var(--ui-text-tertiary);background:var(--ui-surface-raised);box-shadow:var(--ui-elev-1);place-items:center;display:grid}.empty h3{font-family:var(--ui-font-display);font-weight:var(--ui-weight-medium);font-size:var(--ui-text-lg);margin:0}.empty p{font-size:var(--ui-text-sm);color:var(--ui-text-secondary);line-height:var(--ui-leading-relaxed);max-width:var(--ui-measure-narrow);margin:0}.skeleton{border-radius:var(--ui-radius);background:linear-gradient(100deg, var(--ui-surface-raised) 40%, var(--ui-surface-raised-2) 50%, var(--ui-surface-raised) 60%);background-size:200% 100%;animation:1.6s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.sk-line{height:14px}.sk-name{height:20px}.sk-card{height:88px}.detail-head{gap:var(--ui-space-2);display:grid}.back{align-self:flex-start;align-items:center;gap:var(--ui-space-1);color:var(--ui-text-secondary);font:inherit;font-size:var(--ui-text-sm);cursor:pointer;background:0 0;border:none;padding:0;display:inline-flex}.back:hover{color:var(--ui-text-primary)}.detail-title{font-family:var(--ui-font-display);font-weight:var(--ui-weight-medium);font-size:var(--ui-text-3xl);line-height:var(--ui-leading-tight);margin:0}.ratio-group{gap:var(--ui-space-2);display:grid}.ratio-label{font-size:var(--ui-text-sm);color:var(--ui-text-secondary);justify-content:space-between;align-items:baseline;display:flex}.ratio-label .hint{font-size:var(--ui-text-xs);color:var(--ui-text-tertiary)}.segments{gap:var(--ui-space-2);grid-template-columns:repeat(3,1fr);display:grid}.seg{border:1px solid var(--ui-border-interactive);border-radius:var(--ui-radius);background:var(--ui-surface-raised);min-height:36px;color:var(--ui-text-secondary);font:inherit;font-size:var(--ui-text-sm);cursor:pointer}.seg:hover{background:var(--ui-surface-raised-2)}.seg.is-active{background:var(--ui-surface-raised-2);color:var(--ui-text-primary);border-color:var(--ui-accent);box-shadow:var(--ui-elev-1)}.seg.is-off{opacity:.5;cursor:not-allowed;border-color:var(--ui-border-default)}.live{justify-content:space-between;align-items:center;gap:var(--ui-space-3);padding:var(--ui-space-4);border-radius:var(--ui-radius);background:var(--ui-surface-raised);box-shadow:var(--ui-elev-1);display:flex;position:relative}.live:before{content:"";border-radius:inherit;background:var(--ui-edge);-webkit-mask-composite:xor;pointer-events:none;padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.live-label{font-size:var(--ui-text-sm);color:var(--ui-text-secondary)}.live-nums{text-align:right;font-variant-numeric:tabular-nums}.live-nums b{font-family:var(--ui-font-display);font-weight:var(--ui-weight-medium);font-size:var(--ui-text-xl);color:var(--ui-accent)}.live-nums span{font-size:var(--ui-text-xs);color:var(--ui-text-tertiary);display:block}.field{gap:var(--ui-space-2);display:grid}.field label{font-size:var(--ui-text-sm);color:var(--ui-text-secondary)}.field input{min-height:var(--ui-touch-min);padding:0 var(--ui-space-3);border-radius:var(--ui-radius);border:1px solid var(--ui-border-interactive);background:var(--ui-surface-sunken);color:var(--ui-text-primary);font:inherit;font-size:var(--ui-text-base)}.field input::placeholder{color:var(--ui-text-tertiary)}.field input:focus-visible{border-color:var(--ui-border-focus)}.chips{gap:var(--ui-space-2);flex-wrap:wrap;display:flex}.chip{border:1px solid var(--ui-border-interactive);border-radius:var(--ui-radius);background:var(--ui-surface-raised);min-height:36px;color:var(--ui-text-secondary);padding:0 var(--ui-space-4);font:inherit;font-size:var(--ui-text-sm);cursor:pointer}.chip:hover{background:var(--ui-surface-raised-2)}.chip.is-active{background:var(--ui-surface-raised-2);color:var(--ui-text-primary);border-color:var(--ui-accent);box-shadow:var(--ui-elev-1)}.slot{gap:var(--ui-space-2);display:grid}.slot-head{font-size:var(--ui-text-sm);color:var(--ui-text-secondary);justify-content:space-between;align-items:baseline;display:flex}.slot-head .req{font-size:var(--ui-text-xs);color:var(--ui-text-tertiary)}.pick{justify-content:space-between;align-items:center;gap:var(--ui-space-3);min-height:var(--ui-touch-min);padding:0 var(--ui-space-4);border:1px solid var(--ui-border-interactive);border-radius:var(--ui-radius);background:var(--ui-surface-raised);color:var(--ui-text-primary);font:inherit;cursor:pointer;display:flex}.pick:hover{background:var(--ui-surface-raised-2)}.pick .chev{color:var(--ui-text-tertiary)}.slot-error{align-items:center;gap:var(--ui-space-2);font-size:var(--ui-text-xs);color:var(--ui-semantic-warning);display:flex}.roll-stage{align-content:center;place-items:center;gap:var(--ui-space-5);padding:var(--ui-space-6) 0;flex:1;display:grid}.roll-ball{border-radius:var(--ui-radius);background:var(--ui-surface-raised);width:96px;height:96px;box-shadow:var(--ui-elev-1);font-size:var(--ui-text-3xl);place-items:center;animation:.6s ease-in-out infinite shake;display:grid}@keyframes shake{0%,to{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}.roll-name{font-family:var(--ui-font-display);font-weight:var(--ui-weight-medium);font-size:var(--ui-text-3xl);line-height:var(--ui-leading-tight);margin:0}.roll-stats{text-align:center;font-variant-numeric:tabular-nums;color:var(--ui-text-secondary);font-size:var(--ui-text-base)}.roll-note{text-align:center;font-size:var(--ui-text-sm);color:var(--ui-text-tertiary);margin:0}.order-list{gap:var(--ui-space-3);margin:0;padding:0;list-style:none;display:grid}.order{background:var(--ui-surface-raised);border-radius:var(--ui-radius);box-shadow:var(--ui-elev-1);padding:var(--ui-space-4);gap:var(--ui-space-2);display:grid;position:relative}.order:before{content:"";border-radius:inherit;background:var(--ui-edge);-webkit-mask-composite:xor;pointer-events:none;padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.order-row{justify-content:space-between;align-items:baseline;gap:var(--ui-space-3);display:flex}.order-code{font-family:var(--ui-font-mono);font-size:var(--ui-text-xs);letter-spacing:var(--ui-tracking-caps);color:var(--ui-text-tertiary)}.order-name{font-family:var(--ui-font-display);font-weight:var(--ui-weight-medium);font-size:var(--ui-text-lg);margin:0}.status.is-preparing{color:var(--ui-semantic-info)}.status.is-served{color:var(--ui-semantic-success)}.status.is-cancelled{color:var(--ui-text-tertiary)}.btn-danger{border-color:var(--ui-semantic-danger);color:var(--ui-semantic-danger);background:0 0}.btn-danger:hover{background:var(--ui-surface-raised-2)}.story{font-family:var(--ui-font-cjk);font-size:var(--ui-text-sm);line-height:var(--ui-leading-relaxed);color:var(--ui-text-secondary);max-width:var(--ui-measure-default);margin:0}.admin-shell{background:var(--ui-surface-page);grid-template-columns:240px minmax(0,1fr);min-height:100vh;display:grid}.sidenav{gap:var(--ui-space-5);padding:var(--ui-space-6) var(--ui-space-4);border-right:1px solid var(--ui-border-default);background:var(--ui-surface-sunken);flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.brand{gap:var(--ui-space-1);display:grid}.brand b{font-family:var(--ui-font-display);font-weight:var(--ui-weight-medium);font-size:var(--ui-text-xl);color:var(--ui-text-primary)}.brand span{font-size:var(--ui-text-xs);letter-spacing:var(--ui-tracking-caps);text-transform:uppercase;color:var(--ui-text-tertiary)}.nav-list{gap:var(--ui-space-1);margin:0;padding:0;list-style:none;display:grid}.nav-item{justify-content:space-between;align-items:center;gap:var(--ui-space-2);min-height:var(--ui-touch-min);padding:0 var(--ui-space-3);border-radius:var(--ui-radius);color:var(--ui-text-secondary);font:inherit;font-size:var(--ui-text-sm);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;display:flex}.nav-item:hover{color:var(--ui-text-primary);background:var(--ui-surface-raised)}.nav-item.is-active{color:var(--ui-text-primary);background:var(--ui-surface-raised);border-color:var(--ui-border-interactive);box-shadow:var(--ui-elev-1)}.nav-item .n{font-family:var(--ui-font-mono);font-size:var(--ui-text-xs);color:var(--ui-text-tertiary)}.sidenav .foot{gap:var(--ui-space-2);padding-top:var(--ui-space-4);border-top:1px solid var(--ui-border-default);font-size:var(--ui-text-xs);color:var(--ui-text-tertiary);margin-top:auto;display:grid}.admin-main{padding:var(--ui-space-6) var(--ui-space-7);gap:var(--ui-space-5);max-width:var(--ui-container-wide);align-content:start;display:grid}.toolbar{justify-content:space-between;align-items:center;gap:var(--ui-space-4);flex-wrap:wrap;display:flex}.toolbar h1{font-family:var(--ui-font-display);font-weight:var(--ui-weight-medium);font-size:var(--ui-text-3xl);line-height:var(--ui-leading-tight);margin:0}.toolbar .event-chip{align-items:center;gap:var(--ui-space-2);padding:var(--ui-space-2) var(--ui-space-3);border-radius:var(--ui-radius);border:1px solid var(--ui-border-interactive);background:var(--ui-surface-raised);font-size:var(--ui-text-sm);color:var(--ui-text-secondary);display:inline-flex}.toolbar .event-chip b{color:var(--ui-text-primary);font-weight:var(--ui-weight-semibold)}.toolbar .actions{gap:var(--ui-space-2);display:flex}.panel{background:var(--ui-surface-raised);border-radius:var(--ui-radius);box-shadow:var(--ui-elev-1);padding:var(--ui-space-4);position:relative;overflow:hidden}.panel:before{content:"";border-radius:inherit;background:var(--ui-edge);-webkit-mask-composite:xor;pointer-events:none;padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.panel h2{margin:0 0 var(--ui-space-3);font-family:var(--ui-font-display);font-weight:var(--ui-weight-medium);font-size:var(--ui-text-lg)}.tbl{border-collapse:collapse;width:100%;font-size:var(--ui-text-sm)}.tbl th{text-align:left;font-size:var(--ui-text-xs);letter-spacing:var(--ui-tracking-caps);text-transform:uppercase;color:var(--ui-text-tertiary);font-weight:var(--ui-weight-medium);padding:var(--ui-space-2) var(--ui-space-3);border-bottom:1px solid var(--ui-border-default)}.tbl td{padding:var(--ui-space-3);border-bottom:1px solid var(--ui-border-default);color:var(--ui-text-primary)}.tbl tr:last-child td{border-bottom:0}.tbl .num{text-align:right;font-variant-numeric:tabular-nums;color:var(--ui-text-secondary)}.tbl .mono{font-family:var(--ui-font-mono);font-size:var(--ui-text-xs);letter-spacing:var(--ui-tracking-caps);color:var(--ui-text-tertiary)}.badge{align-items:center;gap:var(--ui-space-1);font-size:var(--ui-text-xs);color:var(--ui-text-secondary);display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge.is-ok{color:var(--ui-semantic-success)}.badge.is-warn{color:var(--ui-semantic-warning)}.badge.is-info{color:var(--ui-semantic-info)}.badge.is-err{color:var(--ui-semantic-danger)}.kv{margin:0;padding:0;list-style:none;display:grid}.kv li{justify-content:space-between;gap:var(--ui-space-3);padding:var(--ui-space-2) 0;border-bottom:1px solid var(--ui-border-default);font-size:var(--ui-text-sm);color:var(--ui-text-secondary);display:flex}.kv li:last-child{border-bottom:0}.kv .num{font-variant-numeric:tabular-nums;color:var(--ui-text-primary)}.kv .total{font-size:var(--ui-text-lg);color:var(--ui-accent);font-variant-numeric:tabular-nums}.invite-link{align-items:center;gap:var(--ui-space-2);padding:var(--ui-space-2) var(--ui-space-3);border-radius:var(--ui-radius);border:1px solid var(--ui-border-interactive);background:var(--ui-surface-sunken);font-family:var(--ui-font-mono);font-size:var(--ui-text-xs);color:var(--ui-text-secondary);white-space:nowrap;text-overflow:ellipsis;display:flex;overflow:hidden}.btn:disabled{background:var(--ui-action-disabled);border-color:var(--ui-border-default);color:var(--ui-text-disabled);cursor:not-allowed}.notice-error{align-items:center;gap:var(--ui-space-2);padding:var(--ui-space-3) var(--ui-space-4);border:1px solid var(--ui-semantic-danger);border-radius:var(--ui-radius);background:var(--ui-surface-raised);color:var(--ui-semantic-danger);font-size:var(--ui-text-sm);display:flex}.lang-toggle{min-height:36px;padding:0 var(--ui-space-4);border:1px solid var(--ui-border-interactive);border-radius:var(--ui-radius);background:var(--ui-surface-raised);box-shadow:var(--ui-elev-1);color:var(--ui-text-primary);font:inherit;font-size:var(--ui-text-sm);cursor:pointer}.lang-toggle:hover{background:var(--ui-surface-raised-2)}html.zh .h-display,html.zh .h-screen,html.zh .detail-title,html.zh .drink-name,html.zh .roll-name,html.zh .order-name,html.zh .rec-banner h2,html.zh .empty h3,html.zh .accent{font-family:var(--ui-font-cjk);font-weight:700}html.zh .lede,html.zh .welcome-hint,html.zh .drink-meta,html.zh .roll-note,html.zh .roll-stats,html.zh .ratio-label,html.zh .slot-head,html.zh .field label,html.zh .live-label,html.zh .guest-chip,html.zh .guest-chip b,html.zh .welcome-meta,html.zh .menu-count,html.zh .status,html.zh .slot-error,html.zh .story,html.zh .btn,html.zh .tab,html.zh .seg,html.zh .chip,html.zh .pick,html.zh .back,html.zh .empty p{font-family:var(--ui-font-cjk);font-weight:500}html.zh .eyebrow,html.zh .order-code{letter-spacing:0}.app-page{background:var(--ui-surface-page);max-width:430px;min-height:100vh;margin:0 auto}.form-grid{gap:var(--ui-space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.field select{min-height:var(--ui-touch-min);padding:0 var(--ui-space-3);border-radius:var(--ui-radius);border:1px solid var(--ui-border-interactive);background:var(--ui-surface-sunken);color:var(--ui-text-primary);font:inherit;font-size:var(--ui-text-base)}.field select:focus-visible{border-color:var(--ui-border-focus)}.kv .actions{align-items:center;gap:var(--ui-space-2);flex-wrap:wrap;display:flex}.kv .actions input{min-height:32px;padding:0 var(--ui-space-2);border-radius:var(--ui-radius);border:1px solid var(--ui-border-interactive);background:var(--ui-surface-sunken);color:var(--ui-text-primary);font:inherit;font-size:var(--ui-text-sm)}.panel-title{font-family:var(--ui-font-display);font-weight:var(--ui-weight-medium);font-size:var(--ui-text-2xl);margin:0}.topbar{padding:var(--ui-space-3) var(--ui-space-4) 0;z-index:5;background:var(--ui-surface-page);justify-content:flex-end;display:flex;position:sticky;top:0}.topbar .lang-toggle{box-shadow:none}.recipe-rows{margin:var(--ui-space-3) 0 0;padding:var(--ui-space-3) var(--ui-space-4);border:1px solid var(--ui-border-interactive);border-radius:var(--ui-radius);background:var(--ui-surface-raised);gap:var(--ui-space-2);list-style:none;display:grid}.recipe-rows li{justify-content:space-between;gap:var(--ui-space-3);font-size:var(--ui-text-sm);color:var(--ui-text-secondary);display:flex}.recipe-rows .role{color:var(--ui-text-tertiary);font-size:var(--ui-text-xs);letter-spacing:var(--ui-tracking-caps);text-transform:uppercase}.recipe-rows .num{font-variant-numeric:tabular-nums;color:var(--ui-text-primary)}
