:root{--bg:#f6f5f2;--surface:#fff;--surface-2:#f1efea;--border:#e0ddd5;--border-strong:#c9c4b8;--text:#1e1c19;--text-muted:#6b665d;--accent:#7a4a1f;--accent-text:#fff;--accent-soft:#f5e9dc;--short:#a8402f;--short-soft:#fbece8;--ok:#2f6f3f;--ok-soft:#e6f1e7;--warn-soft:#fbf3e2;--radius:14px;--radius-sm:9px;--shadow:0 1px 2px #0000000d, 0 4px 14px #0000000a;--font:"Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", "Yu Gothic UI", system-ui, sans-serif;--tabbar-h:62px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#151412;--surface:#1f1d1a;--surface-2:#282622;--border:#353229;--border-strong:#4a463c;--text:#eeebe4;--text-muted:#a7a196;--accent:#e3a866;--accent-text:#23170b;--accent-soft:#3a2b1b;--short:#f08b78;--short-soft:#3a211c;--ok:#82c992;--ok-soft:#1c3121;--warn-soft:#352c1a;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;margin:0;font-size:15px;line-height:1.6}a{color:var(--accent)}.num{font-variant-numeric:tabular-nums}.page{max-width:640px;padding:calc(env(safe-area-inset-top) + 18px) 16px calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 28px);margin:0 auto}.page-header{margin-bottom:14px}.page-header h1{margin:0;font-size:1.45rem;font-weight:700}.page-header .sub{color:var(--text-muted);margin:2px 0 0;font-size:.88rem}.section{margin-top:22px}.section>h2,.section-head h2{margin:0 0 8px;font-size:.95rem;font-weight:700}.section-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.section-head .total{color:var(--text-muted);font-size:.88rem}.hint{color:var(--text-muted);margin:-2px 0 10px;font-size:.82rem}.hint.flush{margin:0 0 12px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);color:inherit;padding:14px;text-decoration:none;display:block}.card.list{padding:4px 0}.card.cta{background:var(--accent-soft);border-color:#0000;flex-direction:column;gap:2px;display:flex}.card.cta strong{color:var(--accent)}.card.cta span{color:var(--text-muted);font-size:.84rem}.empty{color:var(--text-muted);margin:10px 14px;font-size:.88rem}.row,.field-row{border-bottom:1px solid var(--border);color:inherit;align-items:center;gap:10px;min-height:48px;padding:11px 14px;text-decoration:none;display:flex}.card.list>:last-child{border-bottom:0}a.row:active{background:var(--surface-2)}.grow{flex:1;min-width:0}.secondary{color:var(--text-muted);font-size:.78rem;font-weight:400;display:block}.right{text-align:right}.total-row{background:var(--surface-2);font-weight:700}.badge{background:var(--surface-2);color:var(--text-muted);white-space:nowrap;border-radius:999px;padding:1px 7px;font-size:.7rem}.hero{margin-top:12px;padding:18px 16px}.hero.short{background:var(--short-soft);border-color:#0000}.hero.ok{background:var(--ok-soft);border-color:#0000}.hero-label{color:var(--text-muted);margin:0;font-size:.9rem}.hero-value{letter-spacing:-.01em;margin:2px 0 6px;font-size:2.3rem;font-weight:750;line-height:1.2}.hero.short .hero-value{color:var(--short)}.hero.ok .hero-value{color:var(--ok)}.hero-sub{margin:4px 0 0;font-size:.9rem}.empty-hero p{margin:0 0 12px}.meter,.progress{background:color-mix(in srgb, var(--text) 10%, transparent);border-radius:999px;height:8px;margin-top:14px;overflow:hidden}.meter span,.progress span{background:var(--ok);border-radius:inherit;height:100%;transition:width .3s;display:block}.progress{height:6px;margin:0 0 6px}.progress span{background:var(--accent)}.month-tabs{scrollbar-width:none;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.month-tabs button{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;flex:none;align-items:baseline;gap:4px;min-height:36px;padding:6px 14px;font-size:.88rem;display:flex}.month-tabs button small{color:var(--text-muted);font-size:.68rem}.month-tabs button[aria-selected=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.month-tabs button[aria-selected=true] small{color:inherit}input[type=text],input[type=url]{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;min-height:42px;padding:8px 10px;font-size:16px}input:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.field{flex-direction:column;gap:4px;margin-bottom:12px;font-size:.86rem;font-weight:600;display:flex}.yen-input{flex:none;align-items:center;gap:4px;display:inline-flex}.yen-input input{text-align:right;width:7.5em}.yen-input .suffix{color:var(--text-muted);font-size:.85rem}.card:not(.list)>.yen-input{display:flex}.card:not(.list)>.yen-input input{flex:1;width:auto;font-size:1.3rem}.cost-row{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px 8px 14px;display:flex}.cost-row .name{flex:100%;min-width:0}.cost-row .yen-input{margin-left:auto}.cost-row .yen-input input{width:6.6em}.per-month{text-align:right;color:var(--text-muted);flex-basis:100%;margin-top:-4px;padding-right:4px;font-size:.76rem}.chip{font:inherit;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:999px;min-height:32px;padding:0 10px;font-size:.78rem}.chip.kind{min-width:4.4em}.chip.kind.fixed{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.field-row .yen-input input{width:6.6em}.icon-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;width:36px;height:36px;font-size:1.3rem}.icon-btn:active{background:var(--surface-2)}.switch input{width:22px;height:22px;accent-color:var(--accent)}.btn{font:inherit;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);min-height:44px;color:var(--text);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-size:.92rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn.ghost{color:var(--accent);background:0 0;border-color:#0000}.btn.ghost.danger{color:var(--short)}.btn.sm{min-height:34px;padding:0 12px;font-size:.84rem}.btn.add{border-radius:0 0 var(--radius) var(--radius);width:100%}.btn-row{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.btn-row.stack{flex-direction:column}.btn-row.stack .btn{width:100%}.wizard-nav{margin-top:22px}.wizard-nav .btn{flex:1}.question-title{font-size:1.15rem!important}.choices{gap:8px;display:grid}.choice{text-align:left;font:inherit;color:var(--text);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);cursor:pointer;flex-direction:column;align-items:flex-start;gap:1px;min-height:52px;padding:12px 14px;display:flex}.choice[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.choice-label{font-weight:600}.choice-hint{color:var(--text-muted);font-size:.8rem}.sum-line{text-align:right;margin:16px 0 12px}.callout{border-radius:var(--radius-sm);background:var(--warn-soft);margin-top:12px;padding:10px 12px;font-size:.86rem}.callout p{margin:0 0 6px}.callout p:last-child{margin:0}.callout.danger{background:var(--short-soft)}.banner{border-radius:var(--radius-sm);background:var(--accent-soft);justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding:8px 12px;font-size:.86rem;display:flex}.banner.subtle{background:var(--surface-2)}.banner.danger{background:var(--short-soft)}.toast{left:50%;bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 12px);background:var(--text);max-width:calc(100% - 32px);color:var(--bg);z-index:20;border-radius:999px;padding:10px 16px;font-size:.86rem;position:fixed;transform:translate(-50%);box-shadow:0 6px 20px #0000002e}.toast.error{background:var(--short);color:#fff}.tabbar{background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);z-index:10;justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar a{max-width:160px;height:var(--tabbar-h);color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:.7rem;text-decoration:none;display:flex}.tabbar a[aria-current=page]{color:var(--accent);font-weight:700}.choice.detail{border-style:dashed}.sum-line.small{margin:8px 0 0;font-size:.86rem}.catalog-title{margin:22px 0 4px;font-size:.95rem}.catalog{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:8px;overflow:hidden}.catalog summary{cursor:pointer;min-height:44px;padding:12px 14px;font-weight:600}.catalog-items{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;padding:0 10px 10px;display:grid}.catalog-item{text-align:left;font:inherit;color:var(--text);background:var(--surface-2);border-radius:var(--radius-sm);cursor:pointer;border:1.5px solid #0000;flex-direction:column;align-items:flex-start;gap:2px;min-height:52px;padding:8px 10px;display:flex}.catalog-item[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.catalog-name{font-size:.86rem;font-weight:600;line-height:1.3}.catalog-price{color:var(--accent);font-size:.8rem}.catalog-note{color:var(--text-muted);font-size:.7rem}.catalog-price .caret{margin-left:4px;font-size:.62rem}.catalog-item[aria-expanded=true]{border-color:var(--accent)}.plan-picker{border:1.5px solid var(--accent);border-radius:var(--radius-sm);background:var(--surface);flex-direction:column;grid-column:1/-1;display:flex;overflow:hidden}.plan-option{text-align:left;font:inherit;color:var(--text);border:0;border-bottom:1px solid var(--border);cursor:pointer;background:0 0;align-items:center;gap:10px;min-height:48px;padding:10px 12px;font-size:.88rem;display:flex}.plan-option:last-child{border-bottom:0}.plan-option[aria-pressed=true]{background:var(--accent-soft)}.plan-add{text-align:center;width:1.6em;color:var(--accent);font-weight:700}.catalog-name small{color:var(--text-muted);font-size:.74rem;font-weight:400;display:block}.catalog-added{color:var(--accent);font-size:.74rem;font-weight:600}
