:root{--bg: #f7f2ec;--surface: #fffdfa;--surface-2: #f2e9e1;--border: #e3d7cb;--text: #2b2420;--muted: #6b5f58;--accent: #a84e5e;--accent-strong: #8e3f4d;--accent-soft: #f6e4e7;--ok: #2f6b3a;--ok-soft: #e3f0e5;--ok-border: #b9d8be;--warn: #8a4f00;--warn-soft: #fff1d6;--warn-border: #e8c98f;--danger: #a3302f;--danger-soft: #fbe3e2;--danger-border: #e3a3a2;--info: #2f5c8f;--info-soft: #e3ecf7;--info-border: #b9cbe3;--focus: #2f5c8f;--radius: 10px;--tap: 44px;--gutter: 16px;--sticky-h: 150px}:root[data-theme-accent]{--accent-strong: var(--accent)}@supports (color: color-mix(in srgb,#000 50%,#fff)){:root[data-theme-accent]{--accent-strong: color-mix(in srgb, var(--accent) 82%, #000);--accent-soft: color-mix(in srgb, var(--accent) 12%, #fff)}}*,*:before,*:after{box-sizing:border-box}html{scroll-padding-bottom:var(--sticky-h);-webkit-text-size-adjust:100%}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,sans-serif;font-size:16px;line-height:1.55;min-width:320px;overflow-wrap:break-word}img,svg,video{max-width:100%;height:auto}a{color:var(--info)}h1,h2,h3{line-height:1.3;overflow-wrap:anywhere}p{margin:6px 0}ul,ol{padding-left:1.3em;margin:6px 0}dl{margin:0}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.muted{color:var(--muted)}.block{display:block}.pre{white-space:pre-wrap;overflow-wrap:anywhere}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.app{min-height:100vh;display:flex;flex-direction:column}.container{width:100%;max-width:960px;margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}.mode-badge{padding:8px var(--gutter);font-size:.85rem;line-height:1.4;text-align:center;border-bottom:1px solid var(--border);overflow-wrap:anywhere}.mode-mock{background:var(--warn-soft);color:var(--warn);border-color:var(--warn-border);font-weight:600}.mode-test{background:var(--info-soft);color:var(--info);border-color:var(--info-border)}.mode-live{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-border)}.mode-unknown{background:var(--surface-2);color:var(--muted)}.site-header{background:var(--surface);border-bottom:1px solid var(--border)}.header-inner{display:flex;flex-wrap:wrap;align-items:center;gap:0 12px;padding-top:6px;padding-bottom:6px}.brand{display:inline-flex;align-items:center;gap:8px;min-height:var(--tap);min-width:0;font-weight:700;font-size:1.05rem;color:var(--accent-strong);text-decoration:none;overflow-wrap:anywhere}.logo-mark{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:2em;height:2em;padding:0 .45em;border-radius:999px;background:var(--accent);color:#fff;font-size:.85rem;letter-spacing:.02em;white-space:nowrap}.nav{display:flex;flex-wrap:wrap;gap:0 2px;margin-left:auto}.nav a,.nav .link-button{display:inline-flex;align-items:center;min-height:var(--tap);padding:6px 10px;border-radius:8px;color:var(--text);text-decoration:none;font-size:.95rem}.nav a:hover,.nav .link-button:hover{background:var(--surface-2)}.nav a.active{background:var(--accent-soft);color:var(--accent-strong);font-weight:600}.main{flex:1;padding-top:16px;padding-bottom:32px;outline:none;min-width:0}.site-footer{background:var(--surface);border-top:1px solid var(--border);padding:12px 0 16px;font-size:.9rem}.site-footer a{display:inline-flex;align-items:center;min-height:var(--tap)}.narrow{max-width:600px}.page-title{font-size:1.45rem;margin:0 0 12px}.section-title{font-size:1.1rem;margin:20px 0 8px}.stack{display:flex;flex-direction:column;gap:12px}.prose h2{font-size:1.1rem;margin:22px 0 6px}.prose h2:first-of-type{margin-top:10px}.detail-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-bottom:8px}.detail-head .page-title{margin:0}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;margin:12px 0;min-width:0}.panel .section-title{margin-top:0}.panel h3{font-size:1rem;margin:14px 0 6px}@media(min-width:768px){.main{padding-top:24px}.page-title{font-size:1.7rem}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--tap);padding:10px 16px;max-width:100%;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-weight:600;line-height:1.3;text-align:center;text-decoration:none;cursor:pointer;overflow-wrap:anywhere}.btn:hover{background:var(--surface-2)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.btn-secondary{background:var(--surface);border-color:var(--accent);color:var(--accent-strong)}.btn-secondary:hover{background:var(--accent-soft)}.btn-danger{background:var(--surface);border-color:var(--danger);color:var(--danger)}.btn-danger:hover{background:var(--danger-soft)}.btn-block{display:flex;width:100%}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.btn:disabled:hover{background:var(--surface)}.btn-primary:disabled:hover{background:var(--accent);border-color:var(--accent)}.btn[aria-busy=true]{cursor:progress}.btn-row{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.link-button{display:inline-flex;align-items:center;min-height:var(--tap);padding:6px 4px;background:none;border:none;color:var(--info);text-decoration:underline;font:inherit;cursor:pointer;text-align:left}.link-button:disabled{opacity:.55;cursor:not-allowed}.card-list{list-style:none;margin:12px 0;padding:0;display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}@media(min-width:768px){.card-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;min-width:0}.menu-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.card-title{font-size:1.1rem;margin:0}.card>.btn{margin-top:8px}.kv,.summary{display:grid;grid-template-columns:minmax(0,6.5em) minmax(0,1fr);gap:4px 10px;margin:8px 0}.kv dt,.summary dt{color:var(--muted);font-size:.9rem;padding-top:2px}.kv dd,.summary dd{margin:0;overflow-wrap:anywhere}.summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}.price{font-weight:700;font-size:1.1rem}.chip{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.85rem;font-weight:600;border:1px solid var(--border);background:var(--surface-2);color:var(--text);max-width:100%;overflow-wrap:anywhere}.chip-ok{background:var(--ok-soft);color:var(--ok);border-color:var(--ok-border)}.chip-warn{background:var(--warn-soft);color:var(--warn);border-color:var(--warn-border)}.chip-danger{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-border)}.chip-muted{background:var(--surface-2);color:var(--muted);font-weight:500}.notice{background:var(--info-soft);border:1px solid var(--info-border);border-radius:var(--radius);padding:10px 14px;margin:10px 0;min-width:0}.notice-ok{background:var(--ok-soft);border-color:var(--ok-border)}.notice-warn{background:var(--warn-soft);border-color:var(--warn-border)}.notice-error{background:var(--danger-soft);border-color:var(--danger-border)}.notice .btn{margin-top:6px}.status{border-radius:var(--radius);padding:12px 14px;margin:10px 0;min-width:0}.status-loading{display:flex;align-items:center;gap:10px;color:var(--muted)}.status-empty{background:var(--surface-2);color:var(--muted)}.status-error{background:var(--danger-soft);border:1px solid var(--danger-border)}.status-error .status-title{font-weight:600;margin-top:0}.status-error .btn{margin-top:8px}.trace{font-size:.8rem;color:var(--muted);overflow-wrap:anywhere}.spinner{width:18px;height:18px;flex:none;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.form-error{color:var(--danger);font-weight:600}.result-confirmed{color:var(--ok)}.result-confirming{color:var(--info)}.result-unpaid,.result-reselect{color:var(--warn)}.result-attention{color:var(--danger)}.field{margin:12px 0;min-width:0;border:none;padding:0}fieldset.field{margin-left:0;margin-right:0}.label,legend.label,.field>label{display:block;font-weight:600;margin:0 0 6px;padding:0}input[type=text],input[type=search],input[type=password]{width:100%;min-height:var(--tap);padding:10px 12px;font:inherit;font-size:16px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text)}.field-check{display:grid;grid-template-columns:28px minmax(0,1fr);gap:0 10px;align-items:start}.field-check input[type=checkbox]{width:24px;height:24px;margin:10px 2px;accent-color:var(--accent);cursor:pointer}.field-check label{display:block;min-height:var(--tap);padding:10px 0;font-weight:500;cursor:pointer}.mock-box{border:2px dashed var(--warn-border);background:var(--warn-soft);border-radius:var(--radius);padding:4px 12px}.policy{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;max-height:16em;overflow-y:auto}.terms-details summary{display:flex;align-items:center;min-height:var(--tap);font-weight:600;cursor:pointer;color:var(--info);text-decoration:underline;overflow-wrap:anywhere}.terms-details .policy{margin-top:4px}.turnstile-host{min-height:65px}.picker{display:flex;flex-direction:column;gap:4px;min-width:0}.choice-row{display:flex;flex-wrap:wrap;gap:8px}.choice{min-height:var(--tap);padding:8px 16px;border-radius:999px;max-width:100%;border:1px solid var(--accent);background:var(--surface);color:var(--accent-strong);font:inherit;font-weight:600;cursor:pointer;white-space:normal;overflow-wrap:anywhere;text-align:center}.choice.is-selected{background:var(--accent);color:#fff}.day-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:56px;padding:6px 4px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer}.day-label{font-weight:600}.day-count{font-size:.8rem;color:var(--muted)}.day.is-empty{background:var(--surface-2);color:var(--muted);cursor:not-allowed}.day.is-selected{border-color:var(--accent);background:var(--accent-soft)}.day.is-selected .day-label{color:var(--accent-strong)}.time-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px}.time{min-height:var(--tap);border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer}.time.is-selected{background:var(--accent);border-color:var(--accent);color:#fff}.steps ol{list-style:none;margin:0 0 12px;padding:0;display:flex;gap:6px;counter-reset:step}.steps li{flex:1 1 0;min-width:0;counter-increment:step;font-size:.8rem;color:var(--muted);padding:6px 2px;border-top:4px solid var(--border);text-align:center;overflow-wrap:anywhere}.steps li:before{content:counter(step) ". "}.steps li.is-current{color:var(--accent-strong);font-weight:700;border-top-color:var(--accent)}.steps li.is-done{border-top-color:var(--ok);color:var(--ok)}.sticky-actions{position:sticky;bottom:0;z-index:5;display:flex;flex-direction:column;gap:6px;margin-top:12px;padding:10px 12px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 -4px 16px #2b242014}.sticky-actions p{margin:0}.receipt{white-space:nowrap}.status-error+.sticky-actions{position:static}.key-box{background:var(--surface);border:2px solid var(--accent);border-radius:var(--radius);padding:12px 14px;margin:12px 0;min-width:0}.key{display:block;margin:4px 0 8px;padding:10px 12px;font-size:1.05rem;line-height:1.5;letter-spacing:.02em;background:var(--surface-2);border-radius:8px;overflow-wrap:anywhere;word-break:break-all;-webkit-user-select:all;user-select:all}.dialog{width:min(92vw,480px);max-width:92vw;border:1px solid var(--border);border-radius:var(--radius);padding:18px;background:var(--surface);color:var(--text)}.dialog::backdrop{background:#2b242080}.dialog-title{font-size:1.15rem;margin:0 0 8px}.dialog-body{margin-bottom:14px}.dialog-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.dialog-actions .btn{flex:1 1 140px}
