:root{--bg:#12100e;--panel:#1e1b18;--panel-2:#2a2622;--line:#3a352f;--text:#f6f2ec;--muted:#b3a89b;--accent:#d8442c;--accent-ink:#fff;--ok:#3f9d5a;--warn:#d9a03a;--touch:64px;--radius:14px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-user-select:none;user-select:none;overscroll-behavior:none;font-family:Hiragino Sans,Noto Sans JP,Yu Gothic,system-ui,sans-serif;font-size:18px;line-height:1.5}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}.kiosk{grid-template-rows:auto 1fr auto;height:100%;display:grid}.topbar{background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:16px;padding:12px 20px;display:flex}.topbar .store{font-size:22px;font-weight:700}.topbar .table{background:var(--panel-2);border-radius:999px;margin-left:auto;padding:8px 18px;font-size:20px;font-weight:700}.offline-badge{background:var(--warn);color:#1a1408;border-radius:999px;padding:6px 14px;font-size:15px;font-weight:700}.body{grid-template-columns:200px 1fr;min-height:0;display:grid}.categories{background:var(--panel);border-right:1px solid var(--line);padding:10px;overflow-y:auto}.categories button{width:100%;min-height:var(--touch);border-radius:var(--radius);background:var(--panel-2);text-align:left;margin-bottom:8px;padding:12px 14px;font-size:19px;font-weight:600;display:block}.categories button[aria-current=true]{background:var(--accent);color:var(--accent-ink)}.products{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));align-content:start;gap:16px;padding:16px;display:grid;overflow-y:auto}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);text-align:left;flex-direction:column;min-height:240px;padding:0;display:flex;position:relative;overflow:hidden}.card:active{transform:scale(.985)}.card .thumb{background:var(--panel-2) center / cover no-repeat;height:132px;color:var(--muted);place-items:center;font-size:15px;display:grid}.card .info{flex-direction:column;flex:1;gap:4px;padding:12px 14px 14px;display:flex}.card .name{font-size:20px;font-weight:700}.card .desc{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:15px;display:-webkit-box;overflow:hidden}.card .price{margin-top:auto;font-size:24px;font-weight:800}.card .price small{color:var(--muted);margin-left:6px;font-size:14px;font-weight:500}.badge{border-radius:999px;padding:5px 12px;font-size:14px;font-weight:700;position:absolute;top:10px;left:10px}.badge.rec{background:var(--warn);color:#1a1408}.card.soldout{opacity:.55}.card.soldout .soldout-mark{letter-spacing:2px;background:#0000008c;place-items:center;font-size:28px;font-weight:800;display:grid;position:absolute;inset:0}.bottombar{background:var(--panel);border-top:1px solid var(--line);grid-template-columns:1fr 1fr 1.4fr;gap:12px;padding:12px 16px;display:grid}.bottombar button{border-radius:var(--radius);background:var(--panel-2);min-height:76px;font-size:21px;font-weight:700}.bottombar button.primary{background:var(--accent);color:var(--accent-ink)}.bottombar .count{background:#00000059;border-radius:999px;place-items:center;min-width:34px;height:34px;margin-left:10px;padding:0 8px;font-size:18px;display:inline-grid}.overlay{z-index:10;background:var(--bg);grid-template-rows:auto 1fr auto;display:grid;position:fixed;inset:0}.overlay .head{background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:16px;padding:14px 20px;display:flex}.overlay .head h2{margin:0;font-size:24px}.overlay .head .close{min-width:var(--touch);min-height:var(--touch);border-radius:var(--radius);background:var(--panel-2);margin-left:auto;padding:0 20px;font-size:19px;font-weight:700}.overlay .scroll{padding:20px;overflow-y:auto}.overlay .foot{background:var(--panel);border-top:1px solid var(--line);gap:12px;padding:14px 20px;display:flex}.overlay .foot button{border-radius:var(--radius);background:var(--panel-2);flex:1;min-height:78px;font-size:22px;font-weight:700}.overlay .foot button.primary{background:var(--accent);color:var(--accent-ink);flex:2}.overlay .foot button:disabled{opacity:.45}.detail{grid-template-columns:minmax(280px,380px) 1fr;align-items:start;gap:24px;display:grid}.detail .hero{border-radius:var(--radius);background:var(--panel-2) center / cover no-repeat;height:280px;color:var(--muted);place-items:center;display:grid}.detail h3{margin:0 0 6px;font-size:30px}.detail .meta{color:var(--muted);margin:10px 0;font-size:16px}.detail .big-price{margin:8px 0 16px;font-size:32px;font-weight:800}.optgroup{margin-bottom:22px}.optgroup .label{align-items:center;gap:10px;margin-bottom:10px;font-size:21px;font-weight:700;display:flex}.optgroup .req{background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:4px 10px;font-size:14px}.optgroup .opt{background:var(--panel-2);color:var(--muted);border-radius:999px;padding:4px 10px;font-size:14px}.optvalues{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;display:grid}.optvalue{min-height:var(--touch);border:2px solid var(--line);border-radius:var(--radius);background:var(--panel);justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;font-size:18px;font-weight:600;display:flex}.optvalue[aria-pressed=true]{border-color:var(--accent);background:#d8442c29}.optvalue:disabled{opacity:.45}.optvalue .delta{color:var(--muted);font-size:16px}.stepper{align-items:center;gap:14px;display:flex}.stepper button{border-radius:var(--radius);background:var(--panel-2);width:72px;height:72px;font-size:32px;font-weight:800}.stepper button:disabled{opacity:.35}.stepper .value{text-align:center;min-width:64px;font-size:30px;font-weight:800}.lines{flex-direction:column;gap:12px;display:flex}.line{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:1fr auto;gap:12px;padding:16px;display:grid}.line .name{font-size:21px;font-weight:700}.line .opts{color:var(--muted);margin-top:4px;font-size:16px}.line .amount{text-align:right;white-space:nowrap;font-size:22px;font-weight:800}.line .controls{align-items:center;gap:10px;margin-top:10px;display:flex}.line .controls button{background:var(--panel-2);border-radius:12px;min-width:56px;min-height:56px;font-size:24px;font-weight:800}.line .controls .remove{min-width:auto;color:var(--muted);padding:0 18px;font-size:17px;font-weight:700}.totals{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin-top:20px;padding:18px}.totals .row{color:var(--muted);justify-content:space-between;padding:6px 0;font-size:19px;display:flex}.totals .row.grand{border-top:1px solid var(--line);color:var(--text);margin-top:10px;padding-top:14px;font-size:28px;font-weight:800}.empty{min-height:320px;color:var(--muted);text-align:center;place-items:center;gap:10px;display:grid}.empty strong{color:var(--text);font-size:24px}.notice{text-align:center;align-content:center;place-items:center;gap:16px;height:100%;padding:40px;display:grid}.notice .big{font-size:34px;font-weight:800}.notice .sub{color:var(--muted);font-size:22px}.error{border:1px solid var(--accent);border-radius:var(--radius);background:#d8442c2e;margin:0 0 16px;padding:16px 18px;font-size:18px}.status-chip{background:var(--panel-2);border-radius:999px;padding:6px 14px;font-size:16px;font-weight:700;display:inline-block}.status-chip.READY{background:var(--ok);color:#04240d}.status-chip.COOKING{background:var(--warn);color:#1a1408}.status-chip.CANCELLED{color:var(--muted)}.order-block{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:18px;padding:16px 18px}.order-block .head{color:var(--muted);align-items:center;gap:12px;margin-bottom:12px;font-size:18px;display:flex}.order-block .item{border-top:1px solid var(--line);align-items:center;gap:12px;padding:10px 0;font-size:20px;display:flex}.order-block .item .chip-wrap{margin-left:auto}.call-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.call-grid button{border-radius:var(--radius);background:var(--panel);border:2px solid var(--line);min-height:120px;padding:20px;font-size:24px;font-weight:700}.call-grid button[aria-pressed=true]{border-color:var(--accent);background:#d8442c29}.toast{z-index:20;background:var(--ok);color:#04240d;border-radius:999px;padding:18px 28px;font-size:21px;font-weight:700;position:fixed;bottom:120px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0006}.pair{align-content:center;place-items:center;gap:20px;height:100%;padding:40px;display:grid}.pair h1{margin:0;font-size:34px}.pair p{color:var(--muted);margin:0;font-size:20px}.pair input{border:2px solid var(--line);border-radius:var(--radius);background:var(--panel);width:320px;color:var(--text);letter-spacing:8px;text-align:center;padding:18px;font-size:34px;font-weight:800}.pair button{border-radius:var(--radius);background:var(--accent);min-width:320px;min-height:78px;color:var(--accent-ink);font-size:24px;font-weight:800}.pair button:disabled{opacity:.45}.note-input{width:100%;min-height:var(--touch);border:2px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--text);font:inherit;padding:14px 16px}
