@font-face{font-family:Yorucho Serif;src:url(/assets/NotoSerifJP-subset-BoR7fK6R.woff2)format("woff2");font-weight:400 700;font-display:swap}:root{--bg:#121110;--bg2:#1a1815;--bg3:#25221e;--line:#3a352b;--rule:#2b2823;--text:#ece7dc;--muted:#9d9686;--accent:#cfa63f;--accent-text:#1a1508;--danger:#e0715a;--ok:#7da97c;--warn:#d99c3c;--nav-h:64px;--r-sm:6px;--r-md:10px;--fs-xs:.75rem;--fs-sm:.875rem;--fs-md:1rem;--fs-lg:1.125rem;--fs-xl:1.375rem;--fs-2xl:2rem;--serif:"Yorucho Serif", "Hiragino Mincho ProN", serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}[hidden]{display:none!important}html{accent-color:var(--accent);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-size:16px}body{background:var(--bg);color:var(--text);min-height:100dvh;caret-color:var(--accent);font-family:Hiragino Kaku Gothic ProN,Noto Sans JP,system-ui,sans-serif;line-height:1.5}::selection{color:var(--text);background:#cfa63f59}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#app{max-width:640px;padding:12px 16px calc(var(--nav-h) + env(safe-area-inset-bottom) + 20px);margin:0 auto}h1{font-size:var(--fs-xl);align-items:center;gap:8px;padding:8px 0 16px;font-weight:700;line-height:1.3;display:flex}h1 .sub{font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-weight:400}h1 .logout-link{font-size:var(--fs-xs);color:var(--muted);text-underline-offset:3px;background:0 0;border:none;min-height:44px;padding:6px 2px;font-weight:400;text-decoration:underline}body.with-demo-banner h1 .logout-link,body.with-demo-banner .logout-btn{display:none}h1>button.small:first-child{font-size:var(--fs-lg);border-color:#0000;margin-left:-10px;padding:8px 10px}h2{font-size:var(--fs-sm);color:var(--muted);margin:24px 0 8px;font-weight:700}.card>h2:first-child,.card>:first-child>h2:first-child{margin-top:0}.card>button.primary.wide{margin-top:12px}.card{background:var(--bg2);border-radius:var(--r-md);margin-bottom:12px;padding:16px}.card .card{background:0 0;padding:0}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.grow{flex:1}.muted{color:var(--muted);font-size:var(--fs-sm)}.big{font-size:var(--fs-xl);font-weight:700}.amount-hero{font-family:var(--serif);color:var(--accent);font-size:var(--fs-2xl);line-height:1.2}.amount{font-variant-numeric:tabular-nums}.danger-text{color:var(--danger)}.warn-text{color:var(--warn)}.ok-text{color:var(--ok)}button{font:inherit;border:1px solid var(--line);color:var(--text);border-radius:var(--r-md);cursor:pointer;background:0 0;min-height:48px;padding:12px 16px;transition:background-color .12s ease-out,transform .12s ease-out}button:active:not(:disabled){background-color:var(--bg3);transform:scale(.98)}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:700}button.primary:active:not(:disabled){background:#b8912f}button.ghost{color:var(--accent);border-color:#0000}button.danger{color:var(--danger);background:0 0;border-color:#0000}button.small{min-height:44px;font-size:var(--fs-sm);padding:8px 12px}button:disabled{opacity:.4}button.wide{width:100%}input,select,textarea{font:inherit;background:var(--bg3);color:var(--text);border-radius:var(--r-sm);border:1px solid #0000;width:100%;min-height:48px;padding:12px}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none}input::placeholder{color:var(--muted)}select{appearance:none;text-overflow:ellipsis;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%239d9686' stroke-width='1.5'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:36px}label.field{margin-bottom:12px;display:block}label.field>span{font-size:var(--fs-xs);color:var(--muted);margin-bottom:4px;display:block}.menu-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.menu-grid button{background:var(--bg3);text-align:left;border-color:#0000;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;min-height:64px;display:flex}.menu-grid .price{color:var(--muted);font-size:var(--fs-xs);font-variant-numeric:tabular-nums}.cast-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.cast-grid button{background:var(--bg3);border-color:#0000;min-height:56px}.cast-grid button.selected{background:var(--accent);color:var(--accent-text);font-weight:700}.table-card{text-align:left;background:var(--bg2);border-color:#0000;width:100%;margin-bottom:8px;padding:14px 16px;display:block}.table-card .big{font-size:var(--fs-lg)}.table-card .amount{font-size:var(--fs-lg);font-weight:700}.table-card .row+.row{margin-top:4px}.table-card .warn-badge,.table-card .over-badge{border-radius:var(--r-sm);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;background:0 0;border:1px solid;padding:0 6px;font-weight:700}.table-card .warn-badge{color:var(--warn)}.table-card .over-badge{color:var(--danger)}.table-card.closed{border-bottom:1px solid var(--rule);min-height:44px;color:var(--muted);background:0 0;border-radius:0;margin-bottom:0;padding:10px 16px}.order-line{border-bottom:1px solid var(--rule);align-items:center;gap:8px;padding:12px 0;display:flex}.order-line:last-child{border-bottom:none}.order-line .amount{font-size:var(--fs-md)}.order-line.voided{opacity:.4;text-decoration:line-through}.order-line button.danger{font-size:var(--fs-xs);text-underline-offset:3px;margin-left:4px;padding:8px 6px;text-decoration:underline}.total-row{padding-top:8px}.total-row+.total-row{padding-top:2px}table.list{border-collapse:collapse;width:100%;font-size:var(--fs-sm);font-variant-numeric:tabular-nums}table.list th,table.list td{text-align:right;border-bottom:1px solid var(--rule);padding:10px 6px}table.list tr:last-child td{border-bottom:none}table.list th:first-child,table.list td:first-child{text-align:left;padding-left:0}table.list th:last-child,table.list td:last-child{padding-right:0}table.list th{color:var(--muted);font-weight:400;font-size:var(--fs-xs)}nav.bottom{border-top:1px solid var(--rule);padding-bottom:env(safe-area-inset-bottom);z-index:10;background:#121110f5;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}nav.bottom[hidden]{display:none}nav.bottom a{color:var(--muted);font-size:var(--fs-xs);min-height:var(--nav-h);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;text-decoration:none;display:flex;position:relative}.nav-icon{width:24px;height:24px;display:block}nav.bottom a.active{color:var(--accent);font-weight:700}nav.bottom a.active:before{content:"";background:var(--accent);height:2px;position:absolute;top:-1px;left:30%;right:30%}.toast{left:50%;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 16px);background:var(--bg3);color:var(--text);border-radius:var(--r-md);z-index:100;max-width:calc(100vw - 32px);padding:12px 18px;position:fixed;transform:translate(-50%);box-shadow:0 8px 24px #00000080}.toast.error{color:var(--danger)}#splash{touch-action:manipulation;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:flex}.splash-logo{position:relative}.splash-kanji{gap:14px;display:flex}.splash-kanji svg{width:min(30vw,140px);height:auto}.splash-kanji path{fill:none;stroke:#ece7dc;stroke-width:5px;stroke-linecap:round;stroke-linejoin:round}.splash-stamp{writing-mode:vertical-rl;border:2px solid var(--danger);color:var(--danger);font-family:var(--serif);letter-spacing:.2em;opacity:0;border-radius:4px;padding:6px 4px;font-size:1.05rem;position:absolute;bottom:-48px;right:-18px}.receipt{color:#26221a;border-radius:var(--r-md);background:#f5f0e4;padding:20px 18px;font-size:.9rem;position:relative}.receipt h3{font-family:var(--serif);text-align:center;margin:0 auto 10px}.receipt .stamp{color:#b3452e;font-family:var(--serif);letter-spacing:.15em;border:2px solid #b3452e;padding:3px 12px;display:inline-block}.receipt .reissue{color:#b3452e;border:1px solid #b3452e;padding:0 6px;font-size:.75rem;position:absolute;top:10px;right:12px}.receipt .addressee{font-family:var(--serif);border-bottom:1px solid #26221a;margin-bottom:8px;padding:2px 4px 4px}.receipt table{border-collapse:collapse;width:100%}.receipt table td{padding:3px 0}.receipt table td:last-child{text-align:right;font-variant-numeric:tabular-nums}.receipt .total-line td{font-family:var(--serif);border-top:1px solid #26221a;padding-top:6px;font-weight:700}@media print{body{background:#fff}#view>:not(.receipt),nav.bottom,.toast,#receipt-addressee,#pane-tables,button{display:none}.receipt{border-radius:0}}.login-wrap{flex-direction:column;justify-content:center;max-width:360px;min-height:82dvh;margin:0 auto;display:flex}.brand{text-align:center;margin-bottom:40px}.brand .logo{font-family:var(--serif);letter-spacing:.06em;color:var(--accent);font-size:2.75rem;font-weight:700;line-height:1.1}.brand .tag{color:var(--muted);font-size:var(--fs-sm);margin-top:12px}.tabs{border-bottom:1px solid var(--rule);scrollbar-width:none;gap:4px;margin-bottom:16px;display:flex;overflow-x:auto}.tabs button{white-space:nowrap;min-height:44px;color:var(--muted);border:none;border-radius:0;padding:8px 12px;box-shadow:inset 0 -2px #0000}.tabs button.active{color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent);font-weight:700}.segmented{background:var(--bg3);border-radius:var(--r-md);gap:4px;margin-bottom:12px;padding:4px;display:flex}.segmented button{border-radius:var(--r-sm);min-height:44px;color:var(--muted);border:none;flex:1}.segmented button[aria-pressed=true]{background:var(--accent);color:var(--accent-text);font-weight:700}@media (width>=960px){.settings-layout{grid-template-columns:180px minmax(0,1fr);align-items:start;gap:16px;display:grid}.settings-layout .tabs{border-bottom:none;flex-direction:column;position:sticky;top:12px;overflow-x:visible}.settings-layout .tabs button{text-align:left;box-shadow:inset 2px 0 #0000}.settings-layout .tabs button.active{box-shadow:inset 2px 0 0 var(--accent)}}.center-text{text-align:center}.table-scroll{margin:0 -16px;padding:0 16px;overflow-x:auto}.table-scroll table{white-space:nowrap;min-width:100%}.table-scroll table.list th:first-child,.table-scroll table.list td:first-child{background:var(--bg2);padding-left:16px;padding-right:12px;position:sticky;left:-16px}.scroll-hint{font-size:var(--fs-xs);color:var(--muted);text-align:right;margin-bottom:4px}.audit-detail{font-size:var(--fs-xs);white-space:pre-wrap;word-break:break-all;background:var(--bg);border-radius:var(--r-sm);color:var(--muted);margin:4px 0 10px;padding:8px}.audit-row{text-align:left;border:none;border-bottom:1px solid var(--rule);border-radius:0;width:100%;padding:12px 0}.audit-row .who{color:var(--muted);font-size:var(--fs-xs)}.h1-link{font-size:var(--fs-sm);color:var(--accent);text-underline-offset:3px;font-weight:400}h1 .store-switcher select{width:auto;max-width:11em;min-height:36px;padding:4px 8px;font-family:inherit;font-size:.85rem}.closing-hero{grid-template-columns:1fr auto;align-items:baseline;row-gap:4px;display:grid}.closing-hero>:nth-child(2n){justify-self:end}.closing-hero .label{color:var(--muted);font-size:var(--fs-sm)}.closing-hero .amount-hero{font-size:2.5rem}.closing-hero .sub-total{font-size:var(--fs-lg);font-weight:700}details.breakdown{border-top:1px solid var(--rule);margin-top:16px}details.breakdown>summary{cursor:pointer;min-height:44px;color:var(--muted);font-size:var(--fs-sm);align-items:center;list-style:none;display:flex}details.breakdown>summary::-webkit-details-marker{display:none}details.breakdown>summary:after{content:"";border-bottom:1.5px solid;border-right:1.5px solid;width:8px;height:8px;margin-left:auto;transition:transform .16s ease-out;transform:rotate(45deg)}details.breakdown[open]>summary:after{transform:rotate(-135deg)}table.list td.zero{color:var(--muted)}.pay-remain{border-top:1px solid var(--rule);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;padding:10px 0;display:flex}.sticky-action{bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 8px);z-index:5;background:linear-gradient(to bottom, transparent, var(--bg2) 12px);padding-top:8px;position:sticky}.open-form[hidden]{display:none}.guest-set-row{grid-template-columns:96px minmax(0,1fr);gap:8px;display:grid}.card>.order-line:first-child{padding-top:0}.demo-banner{z-index:20;background:var(--bg2);border-bottom:1px solid var(--danger);color:var(--muted);font-size:var(--fs-xs);justify-content:center;align-items:center;gap:12px;min-height:32px;padding:0 12px;display:flex;position:fixed;top:0;left:0;right:0}.demo-banner .tag{color:var(--danger);margin-right:6px;font-weight:700}.demo-banner button{font-size:var(--fs-xs);color:var(--text);text-underline-offset:3px;background:0 0;border:none;min-height:32px;padding:0 4px;text-decoration:underline}body.with-demo-banner #app{padding-top:44px}.demo-entry .muted{margin-bottom:12px}.demo-entry button{width:100%;margin-bottom:8px}.split-2{display:block}@media (width>=960px){.split-2{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));align-items:start;gap:12px;display:grid}#pane-tables{background:var(--bg2);border-radius:var(--r-md);max-height:calc(100dvh - var(--nav-h) - 24px);flex-direction:column;padding:16px;display:flex;overflow-y:auto}#pane-tables .pane-title{order:-1;margin:0 0 12px}#pane-tables .pane-stale{font-size:var(--fs-xs);margin-bottom:8px}#pane-tables .table-card{background:var(--bg3)}#app.two-pane{grid-template-columns:360px minmax(0,1fr);align-items:start;gap:16px;max-width:1280px;display:grid}#app.two-pane>#pane-tables{position:sticky;top:12px}body.with-demo-banner #app.two-pane>#pane-tables{top:44px}#app.two-pane #view .order-line>.grow{align-items:baseline;gap:14px;min-width:0;display:flex}#app.two-pane #view table.list{font-size:var(--fs-md)}nav.bottom{justify-content:center;gap:8px}nav.bottom a{font-size:var(--fs-sm);flex:0 0 110px}#app.two-pane #view>h1{padding-top:12px}.sticky-action{background:0 0;position:static}}@media (prefers-reduced-motion:reduce){button,details.breakdown>summary:after{transition:none}}details.new-entry{border-top:none;margin-top:0;padding-top:4px;padding-bottom:4px}details.new-entry>summary{color:var(--accent);font-size:var(--fs-md)}details.new-entry[open]{padding-bottom:16px}button.wide+button.wide{margin-top:8px}.receipt,.month-nav{margin-bottom:12px}#split-pay{margin-right:-12px}
