:root{--paper:#f7f5f0;--sheet:#fffefb;--ink:#22231d;--muted:#6c6a5f;--faint:#9b988c;--line:#e6e1d5;--teal:#0e8c80;--teal-deep:#0a5c55;--teal-tint:#e9f2f0;--brass:#b08d57;--serif:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic","YuGothic","Noto Sans JP",system-ui,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.8;-webkit-font-smoothing:antialiased;font-feature-settings:"palt" 1;text-rendering:optimizeLegibility}.num{font-variant-numeric:tabular-nums}.screen{display:flex;flex-direction:column;margin:0 auto;max-width:480px;min-height:100dvh}.pad{padding:0 22px}.masthead{padding:26px 22px 18px}.masthead .brand{color:var(--faint);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase}.masthead .store{font-family:var(--serif);font-size:23px;font-weight:600;letter-spacing:.02em;margin-top:6px}.masthead .rule{background:var(--brass);height:1px;margin-top:16px;opacity:.5}.steps{display:flex;gap:0;padding:14px 22px 4px}.steps .s{border-bottom:1px solid var(--line);color:var(--faint);flex:1;font-size:10.5px;letter-spacing:.12em;padding-bottom:8px;text-align:center}.steps .s.on{border-bottom-color:var(--teal);color:var(--teal-deep);font-weight:700}.steps .s.done{border-bottom-color:var(--brass);color:var(--muted)}.eyebrow{font-family:var(--serif);font-size:17px;font-weight:600;margin:22px 0 4px}.eyebrow small{color:var(--muted);display:block;font-family:var(--sans);font-size:12px;font-weight:400;letter-spacing:.02em;margin-top:2px}.menu-list{margin:8px 0 24px}.menu-row{align-items:baseline;background:none;border:none;border-top:1px solid var(--line);cursor:pointer;display:flex;gap:14px;padding:18px 2px;text-align:left;transition:background .15s;width:100%}.menu-row:last-child{border-bottom:1px solid var(--line)}.menu-row:active{background:var(--teal-tint)}.menu-row .body{flex:1}.menu-row .name{font-size:15.5px;font-weight:600;letter-spacing:.01em}.menu-row .dur{color:var(--muted);font-size:12px;margin-top:3px}.menu-row .price{font-size:16px;font-weight:700;letter-spacing:-.01em;white-space:nowrap}.menu-row .price .y{color:var(--muted);font-size:12px;font-weight:600;margin-right:1px}.menu-row .go{align-self:center;color:var(--brass);font-size:18px;line-height:1}.dates{display:flex;gap:8px;overflow-x:auto;padding:6px 0 14px;-webkit-overflow-scrolling:touch}.date-chip{background:var(--sheet);border:1px solid var(--line);border-radius:3px;cursor:pointer;flex:0 0 auto;min-width:58px;padding:10px 8px;text-align:center}.date-chip .dow{color:var(--muted);font-size:10.5px}.date-chip .d{font-size:18px;font-weight:700;margin-top:2px}.date-chip.sat .d,.date-chip.sat .dow{color:#3a6ea5}.date-chip.sun .d,.date-chip.sun .dow{color:#a5563a}.date-chip.on{background:var(--teal);border-color:var(--teal);color:#fff}.date-chip.on .d,.date-chip.on .dow{color:#fff}.slots{display:grid;gap:8px;grid-template-columns:repeat(3,1fr);padding:6px 0 24px}.slot{background:var(--sheet);border:1px solid var(--line);border-radius:3px;cursor:pointer;font-size:15px;font-weight:600;letter-spacing:.02em;padding:13px 4px;transition:all .12s}.slot:active{background:var(--teal);border-color:var(--teal);color:#fff}.slots-empty{color:var(--muted);font-size:13px;padding:24px 0;text-align:center}.recap{background:var(--sheet);border:1px solid var(--line);border-radius:4px;margin:12px 0 24px;padding:22px}.recap .who{color:var(--muted);font-size:13px}.recap .who b{color:var(--ink);font-weight:600}.recap dl{display:grid;gap:12px 16px;grid-template-columns:auto 1fr;margin:16px 0 0}.recap dt{color:var(--muted);font-size:12px;letter-spacing:.04em;white-space:nowrap}.recap dd{font-size:15px;font-weight:600;margin:0;text-align:right}.recap .total{align-items:baseline;border-top:1px solid var(--brass);display:flex;justify-content:space-between;margin-top:16px;padding-top:14px}.recap .total span{color:var(--muted);font-size:12px}.recap .total b{font-size:22px;font-weight:700}.foot{background:linear-gradient(to top,var(--paper) 70%,transparent);bottom:0;margin-top:auto;padding:16px 22px calc(16px + env(safe-area-inset-bottom));position:sticky}.cta{background:var(--teal);border:none;border-radius:4px;color:#fff;cursor:pointer;font-family:var(--sans);font-size:16px;font-weight:700;letter-spacing:.04em;padding:17px;transition:background .15s;width:100%}.cta:active{background:var(--teal-deep)}.cta[disabled]{background:var(--faint);cursor:default}.cta-note{color:var(--faint);font-size:11px;margin-top:10px;text-align:center}.back{background:none;border:none;color:var(--muted);cursor:pointer;font-size:13px;padding:8px 2px}.back:before{color:var(--brass);content:"‹ "}.done-wrap{align-items:center;display:flex;flex:1;flex-direction:column;justify-content:center;padding:40px 30px;text-align:center}.done-mark{border:1px solid var(--brass);border-radius:50%;display:grid;height:56px;margin-bottom:22px;place-items:center;width:56px}.done-mark:after{border-bottom:2px solid var(--teal);border-left:2px solid var(--teal);content:"";height:11px;transform:rotate(-45deg) translateY(-2px);width:20px}.done-wrap .t{font-family:var(--serif);font-size:22px;font-weight:600}.done-wrap .sub{color:var(--muted);font-size:13.5px;line-height:1.9;margin-top:12px}.done-recap{color:var(--ink);font-size:14px;margin-top:26px}.center{color:var(--muted);display:grid;flex:1;font-size:13px;padding:40px;place-items:center;text-align:center}.err{color:#a5563a}.spin{animation:spin .8s linear infinite;border:2px solid var(--line);border-radius:50%;border-top-color:var(--teal);height:26px;margin:0 auto 14px;width:26px}@keyframes spin{to{transform:rotate(1turn)}}
