:root{color-scheme:light;--c-bg:#FFFFFF;--c-bg-warm:#FBF8F2;--c-surface:#FFFFFF;--c-text:#242424;--c-heading:#111111;--c-muted:#676767;--c-border:#E9E6E1;--c-border-strong:#CFCAC1;--c-red:#D41018;--c-red-hover:#B30C13;--c-gold:#C79A39;--c-gold-pale:#E7D5AD;--c-line:#06C755;--c-line-hover:#05B14C;--c-line-bg:#F0FAF3;--c-ok:#2F7A4F;--c-ok-bg:#EAF4EE;--c-warn:#B7791F;--c-warn-bg:#FFF6E5;--c-alert:#B3261E;--c-alert-bg:#FBEBEA;--c-focus:#1F5FBF;--f-heading:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;--f-body:"Noto Sans JP","Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;--fs-xs:11px;--fs-sm:12.5px;--fs-base:14px;--fs-md:15px;--fs-lg:16px;--fs-xl:20px;--fs-2xl:24px;--lh-base:1.6;--lh-tight:1.35;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--layout-max-width:1280px;--layout-content-max:480px;--layout-padding:16px;--layout-padding-desktop:clamp(24px,5vw,80px);--radius-card:14px;--radius-button:10px;--radius-input:10px;--radius-pill:999px;--shadow-card:0 1px 2px rgba(40,30,10,0.06);--shadow-float:0 10px 30px rgba(40,30,10,0.08);--tap-min:44px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--c-bg:#1B1917;--c-bg-warm:#23201D;--c-surface:#262321;--c-text:#E8E4DC;--c-heading:#F6F2EA;--c-muted:#A8A197;--c-border:#3B3733;--c-border-strong:#4E4943;--c-red:#F0666B;--c-red-hover:#F4888C;--c-gold:#D9B45E;--c-gold-pale:#6A5730;--c-line:#06C755;--c-line-hover:#29D96F;--c-line-bg:#1C2A21;--c-ok:#7FC79B;--c-ok-bg:#1E2C24;--c-warn:#E0B057;--c-warn-bg:#2E2519;--c-alert:#F08680;--c-alert-bg:#2E1D1B;--c-focus:#8AB4F8;--shadow-card:0 1px 2px rgba(0,0,0,0.35);--shadow-float:0 10px 30px rgba(0,0,0,0.35)}}:root[data-theme=dark]{color-scheme:dark;--c-bg:#1B1917;--c-bg-warm:#23201D;--c-surface:#262321;--c-text:#E8E4DC;--c-heading:#F6F2EA;--c-muted:#A8A197;--c-border:#3B3733;--c-border-strong:#4E4943;--c-red:#F0666B;--c-red-hover:#F4888C;--c-gold:#D9B45E;--c-gold-pale:#6A5730;--c-line:#06C755;--c-line-hover:#29D96F;--c-line-bg:#1C2A21;--c-ok:#7FC79B;--c-ok-bg:#1E2C24;--c-warn:#E0B057;--c-warn-bg:#2E2519;--c-alert:#F08680;--c-alert-bg:#2E1D1B;--c-focus:#8AB4F8;--shadow-card:0 1px 2px rgba(0,0,0,0.35);--shadow-float:0 10px 30px rgba(0,0,0,0.35)}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--c-bg);color:var(--c-text);font-family:var(--f-body);font-size:var(--fs-base);line-height:var(--lh-base);-webkit-font-smoothing:antialiased;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}h1,h2,h3,h4{font-family:var(--f-heading);font-weight:600;color:var(--c-heading);line-height:var(--lh-tight);letter-spacing:.02em;margin:0}h1{font-size:var(--fs-2xl)}h2{font-size:var(--fs-xl)}h3{font-size:var(--fs-lg)}h4{font-size:var(--fs-md)}ol,p,ul{margin:0}ol,ul{padding:0;list-style:none}img,svg,video{max-width:100%;height:auto;display:block}a{color:var(--c-red);text-underline-offset:2px}button,input,select,textarea{font:inherit;color:inherit}table{border-collapse:collapse;width:100%}:focus-visible{outline:3px solid var(--c-focus);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important;animation:none!important;scroll-behavior:auto!important}}.page{max-width:var(--layout-content-max);margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;background:var(--c-bg)}.page-body{flex:1 1;padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-3)}.page-header{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--c-border);background:var(--c-bg)}.page-header .header-title{font-family:var(--f-heading);font-weight:600;color:var(--c-heading);font-size:var(--fs-md);flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-footer{position:-webkit-sticky;position:sticky;bottom:0;padding:var(--sp-3) var(--sp-4) var(--sp-4);border-top:1px solid var(--c-border);background:var(--c-bg);gap:var(--sp-2)}.page-footer,.stack{display:flex;flex-direction:column}.stack{gap:var(--sp-3)}.row{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-2)}.grid-2{grid-template-columns:1fr 1fr;grid-gap:var(--sp-2)}.grid-2,.grid-3{display:grid;gap:var(--sp-2)}.grid-3{grid-template-columns:repeat(3,1fr);grid-gap:var(--sp-2)}.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}.text-muted{color:var(--c-muted)}.text-sm{font-size:var(--fs-sm)}.text-xs{font-size:var(--fs-xs)}.text-heading{font-family:var(--f-heading);color:var(--c-heading);font-weight:600}.price{font-size:var(--fs-base);color:var(--c-text)}.price strong{font-size:18px;font-weight:700;color:var(--c-heading)}.price .tax{font-size:var(--fs-sm)}.note,.price .tax{color:var(--c-muted)}.note{font-size:var(--fs-xs)}.card{border:1px solid var(--c-border);border-radius:var(--radius-card);padding:var(--sp-3);background:var(--c-surface);display:flex;flex-direction:column;gap:var(--sp-2)}.card.is-selected{border:2px solid var(--c-red);padding:calc(var(--sp-3) - 1px)}.card.is-warm{background:var(--c-bg-warm);border-color:transparent}.card.is-next{border-left:4px solid var(--c-gold)}.kv{display:grid;grid-template-columns:auto 1fr;grid-gap:var(--sp-1) var(--sp-3);gap:var(--sp-1) var(--sp-3);font-size:13px;margin:0}.kv dt{color:var(--c-muted);white-space:nowrap}.kv dd{margin:0;color:var(--c-text)}.kv dd strong{color:var(--c-heading);font-weight:500}.btn{display:flex;align-items:center;justify-content:center;gap:var(--sp-1);min-height:var(--tap-min);padding:var(--sp-3) var(--sp-4);border:1px solid transparent;border-radius:var(--radius-button);font-weight:700;font-size:var(--fs-base);line-height:1.2;text-align:center;text-decoration:none;cursor:pointer;background:none;overflow-wrap:anywhere}.btn-primary{background:var(--c-red);color:#FFFFFF}.btn-primary:hover:not(:disabled){background:var(--c-red-hover)}.btn-line{background:var(--c-line);color:#FFFFFF}.btn-line:hover:not(:disabled){background:var(--c-line-hover)}.btn-outline{background:var(--c-surface);color:var(--c-heading);border-color:var(--c-border-strong);font-weight:500}.btn-ghost{background:transparent;color:var(--c-muted);font-weight:500}.btn-danger{background:var(--c-surface);color:var(--c-alert);border-color:var(--c-alert);font-weight:500}.btn-sm{min-height:36px;padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);border-radius:8px}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.btn-entry{padding:18px var(--sp-4);font-size:19px;letter-spacing:.03em;border-radius:12px}.btn-group{display:flex;gap:var(--sp-2)}.btn-group .btn{flex:1 1}.field{flex-direction:column}.field,.field>label{display:flex;gap:var(--sp-1)}.field>label{font-size:var(--fs-sm);color:var(--c-muted);align-items:center}.badge-required{color:#FFFFFF;background:var(--c-red);border-radius:4px}.badge-optional,.badge-required{font-size:10px;padding:1px 4px;line-height:1.3}.badge-optional{color:var(--c-muted);border:1px solid var(--c-border);border-radius:4px}.input,.select,.textarea{width:100%;min-height:var(--tap-min);padding:10px 12px;border:1px solid var(--c-border-strong);border-radius:var(--radius-input);background:var(--c-surface);color:var(--c-heading);font-size:16px}.textarea{min-height:88px;resize:vertical;line-height:1.5}.input::placeholder,.textarea::placeholder{color:var(--c-muted)}.input:disabled,.textarea:disabled{background:var(--c-bg-warm);color:var(--c-muted)}.field-error{font-size:var(--fs-sm);color:var(--c-alert)}.checkbox{display:flex;gap:var(--sp-2);align-items:flex-start;font-size:var(--fs-sm);min-height:var(--tap-min);cursor:pointer}.checkbox input[type=checkbox]{flex:none;width:20px;height:20px;margin-top:2px;accent-color:var(--c-red)}.radio-list{display:flex;flex-direction:column;gap:var(--sp-2)}.radio-list label{display:flex;align-items:center;gap:var(--sp-2);font-size:13px;min-height:var(--tap-min);cursor:pointer}.radio-list input[type=radio]{width:18px;height:18px;accent-color:var(--c-red)}.pill{display:inline-block;font-size:var(--fs-xs);line-height:1;padding:4px 8px;border-radius:var(--radius-pill);font-weight:500;white-space:nowrap}.pill-red{background:var(--c-red);color:#FFFFFF}.pill-gold{background:var(--c-gold);color:#FFFFFF}.pill-line{background:var(--c-line);color:#FFFFFF}.pill-ok{background:var(--c-ok-bg);color:var(--c-ok)}.pill-warn{background:var(--c-warn-bg);color:var(--c-warn)}.pill-alert{background:var(--c-alert-bg);color:var(--c-alert)}.pill-muted{background:var(--c-bg-warm);color:var(--c-muted)}.alert{border-radius:12px;padding:10px 12px;font-size:var(--fs-sm);display:flex;flex-direction:column;gap:var(--sp-1)}.alert-ok{background:var(--c-ok-bg);color:var(--c-ok)}.alert-warn{background:var(--c-warn-bg);color:var(--c-warn)}.alert-danger{background:var(--c-alert-bg);color:var(--c-alert)}.alert-info{background:var(--c-bg-warm);color:var(--c-text)}.divider{height:1px;background:var(--c-border);border:0;margin:0}.eyebrow{font-size:var(--fs-sm);color:var(--c-muted);letter-spacing:.04em}.eyebrow strong{color:var(--c-gold);font-weight:700}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}.setup{min-height:100dvh;padding:32px 16px 64px;background:var(--c-bg)}.setup-inner{max-width:720px;margin:0 auto}.setup-tag{display:inline-block;padding:2px 10px;border-radius:999px;background:var(--c-accent-weak,rgba(0,0,0,.06));color:var(--c-accent,var(--c-text));font-size:var(--fs-sm);letter-spacing:.08em}.setup-title{margin:12px 0 0;font-size:var(--fs-xl)}.setup-lead{margin:12px 0 0;color:var(--c-text-muted,var(--c-text))}.setup-steps{margin:24px 0 0;padding:0;list-style:none;display:grid;grid-gap:16px;gap:16px}.setup-steps>li{padding:16px;border:1px solid var(--c-border,rgba(0,0,0,.12));border-radius:var(--radius-md,8px);background:var(--c-surface,#fff)}.setup-step-title{margin:0;font-size:var(--fs-md)}.setup-step-body{margin:6px 0 0;color:var(--c-text-muted,var(--c-text));font-size:var(--fs-sm)}.setup-code{margin:10px 0 0;padding:10px 12px;overflow-x:auto;border-radius:var(--radius-sm,6px);background:rgba(0,0,0,.06);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.6;white-space:pre}.setup-foot{margin:24px 0 0;color:var(--c-text-muted,var(--c-text));font-size:var(--fs-sm)}.setup code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}@media (prefers-color-scheme:dark){.setup-code{background:rgba(255,255,255,.08)}}