:root{--ink: #17181a;--ink-soft: #5f6167;--line: #e4e4e0;--line-strong: #c9cac6;--paper: #ffffff;--paper-soft: #f8f8f5;--accent: #20487d;--accent-strong: #17365f;--accent-soft: #eaf0f8;--ok: #1a7a4c;--danger: #b02a24;--danger-soft: #fceceb;--warn: #7a5200;--warn-soft: #fdf5e6;--font-sans: system-ui, -apple-system, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", "Yu Gothic Medium", "Yu Gothic", Meiryo, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Roboto Mono", monospace;--radius: 10px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:16px;line-height:1.6}h1,h2,p,ul{margin:0}ul{padding:0;list-style:none}input,button,textarea{font-family:inherit;color:inherit}:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.visuallyHidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.page{max-width:560px;margin:0 auto;padding:0 16px;padding-bottom:max(40px,env(safe-area-inset-bottom))}.section{padding:14px 0;border-top:1px solid var(--line)}.section--tight{padding:12px 0}.section--result{border-top:none;padding-top:4px}.sectionHead{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.sectionHead__meta{color:var(--ink-soft);font-size:13px;font-variant-numeric:tabular-nums}.section__title{margin-bottom:8px;font-size:17px;font-weight:700;letter-spacing:.01em}.section__title--sub{font-size:14px;color:var(--ink-soft)}.section__hint{color:var(--ink-soft);font-size:13px}.hero{padding:14px 0 10px}.hero__title{font-size:17px;font-weight:700;color:var(--accent);letter-spacing:.02em}.hero__catch{margin-top:2px;font-size:20px;font-weight:700;line-height:1.35;letter-spacing:-.01em}.hero__lead{margin-top:4px;color:var(--ink-soft);font-size:13px}.amount__field{display:flex;align-items:baseline;gap:6px;padding:4px 14px 8px;border:2px solid var(--line-strong);border-radius:var(--radius)}.amount__field:focus-within{border-color:var(--accent)}.amount__input{flex:1 1 auto;width:100%;min-width:0;border:none;padding:0;background:transparent;font-family:var(--font-mono);font-size:30px;font-weight:700;font-variant-numeric:tabular-nums;text-align:right}.amount__input:focus{outline:none}.amount__suffix{font-size:18px;font-weight:700}.counters__list{border-top:1px solid var(--line)}.counter{border-bottom:1px solid var(--line)}.counter__main{display:flex;align-items:center;gap:8px;min-height:46px}.counter__expand{flex:0 0 auto;width:28px;height:28px;border:1px solid var(--line-strong);border-radius:6px;background:var(--paper-soft);color:var(--ink-soft);font-size:13px;line-height:1;cursor:pointer}.counter__expand[aria-expanded=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.counter__label{flex:1 1 auto;min-width:0;font-size:15px;font-weight:500}.counter__controls{display:flex;align-items:center;gap:2px;flex:0 0 auto}.counter__step{width:44px;height:40px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--paper);color:var(--accent);font-size:20px;font-weight:700;line-height:1;cursor:pointer}.counter__step:disabled{border-color:var(--line);color:#b7b8bc;cursor:not-allowed}.counter__value{min-width:44px;font-family:var(--font-mono);font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;text-align:center}.counter__unit{margin-left:1px;font-family:var(--font-sans);font-size:12px;font-weight:500;color:var(--ink-soft)}.counters__note{margin-top:8px;color:var(--ink-soft);font-size:12px}.levelPanel{display:grid;gap:14px;margin:0 0 14px 36px;padding:12px 14px;border-radius:var(--radius);background:var(--paper-soft)}.levelPanel__block{display:grid;gap:6px}.levelPanel__label{display:flex;align-items:baseline;justify-content:space-between;gap:8px;color:var(--ink-soft);font-size:13px;font-weight:700}.levelPanel__value{font-family:var(--font-mono);font-size:17px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink)}.levelPanel__slider{width:100%;height:32px;margin:0;accent-color:var(--accent)}.levelPanel__memo{width:100%;height:42px;padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--paper);font-size:16px}.levelPanel__memo::placeholder{color:#9a9b9f}.levelPanel__hint{color:var(--ink-soft);font-size:12px;line-height:1.6}.segment{display:flex;gap:6px}.segment__item{flex:1 1 0;min-height:44px;padding:8px 4px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--paper);font-size:15px;font-weight:500;line-height:1.4;cursor:pointer}.segment--sm .segment__item{min-height:40px;padding:6px 4px;font-size:13px}.segment__item.is-selected{border-color:var(--accent);background:var(--accent);color:var(--paper);font-weight:700}.disclosure{padding:4px 0 0}.disclosure__toggle{width:100%;min-height:44px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--paper);color:var(--accent);font-size:14px;font-weight:700;cursor:pointer}.disclosure__panel{margin-top:12px;padding:14px;border-radius:var(--radius);background:var(--paper-soft)}.disclosure__lead{color:var(--ink-soft);font-size:13px;line-height:1.6}.fixedRow{display:flex;align-items:center;gap:8px;padding:12px 0;border-bottom:1px solid var(--line)}.fixedRow__name{flex:1 1 auto;min-width:0;height:42px;padding:0 10px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--paper);font-size:16px}.fixedRow__name::placeholder{color:#9a9b9f}.fixedField{display:flex;align-items:baseline;gap:4px;flex:0 0 auto;width:112px;padding:4px 10px 6px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--paper)}.fixedField:focus-within{border-color:var(--accent)}.fixedField__input{width:100%;min-width:0;border:none;padding:0;background:transparent;font-family:var(--font-mono);font-size:17px;font-weight:700;font-variant-numeric:tabular-nums;text-align:right}.fixedField__input:focus{outline:none}.fixedField__suffix{font-size:13px;font-weight:700}.button{min-height:48px;padding:10px 18px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--paper);font-size:15px;font-weight:700;cursor:pointer}.button--primary{border-color:var(--accent);background:var(--accent);color:var(--paper)}.button--quiet{border-color:transparent;color:var(--ink-soft);font-weight:500}.button--large{width:100%;min-height:54px;font-size:17px}.button:disabled{border-color:var(--line);background:var(--line);color:#83858a;cursor:not-allowed}.addButton{width:100%;min-height:46px;margin-top:14px;border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--paper);color:var(--accent);font-size:15px;font-weight:700;cursor:pointer}.addButton:disabled{color:var(--ink-soft);cursor:not-allowed}.linkButton{min-height:36px;padding:4px 2px;border:none;background:none;color:var(--accent);font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer;white-space:nowrap}.linkButton--danger{color:var(--danger)}.linkButton:disabled{color:var(--ink-soft);text-decoration:none;font-weight:500;cursor:not-allowed}.cta{padding:14px 0 4px}.cta__hint{margin-top:6px;color:var(--ink-soft);font-size:13px;text-align:center}.result{display:grid;gap:14px}.receipt{padding:16px 16px 18px;border:1px solid var(--line-strong);border-radius:6px;background:var(--paper-soft)}.receipt__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px dashed var(--line-strong)}.receipt__headLabel{color:var(--ink-soft);font-size:14px;font-weight:700}.receipt__headAmount{font-family:var(--font-mono);font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}.receipt__row{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;align-items:baseline;padding:12px 0;border-bottom:1px dotted var(--line-strong)}.receipt__name{grid-column:1;grid-row:1;font-size:16px;font-weight:700;overflow-wrap:anywhere}.receipt__amounts{grid-column:2;grid-row:1;display:grid;justify-items:end;gap:2px}.receipt__amount{font-family:var(--font-mono);font-size:19px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.receipt__each{margin-left:2px;font-family:var(--font-sans);font-size:13px;font-weight:500;color:var(--ink-soft)}.receipt__tags{grid-column:1 / -1;grid-row:2;display:flex;flex-wrap:wrap;gap:8px;color:var(--ink-soft);font-size:13px;line-height:1.5}.receipt__adjust{color:var(--warn)}.receipt__total{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;align-items:baseline;margin-top:14px;padding-top:12px;border-top:3px double var(--ink)}.receipt__totalLabel{font-size:16px;font-weight:700}.receipt__totalAmount{font-family:var(--font-mono);font-size:24px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.receipt__match{grid-column:1 / -1;margin-top:6px;color:var(--ok);font-size:14px;font-weight:700;text-align:right}.result__actions{display:flex;flex-wrap:wrap;gap:8px}.result__actions .button{flex:1 1 140px}.checkbox{display:flex;align-items:flex-start;gap:8px;color:var(--ink-soft);font-size:13px;line-height:1.5;cursor:pointer}.checkbox input{width:20px;height:20px;margin:0;flex:0 0 auto;accent-color:var(--accent)}.result__status{min-height:20px;color:var(--ok);font-size:14px;font-weight:700}.result__fallback{width:100%;padding:12px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--paper);font-size:14px;line-height:1.7}.notice{padding:12px 14px;border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--paper-soft)}.notice--error{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.notice--warn{border-color:var(--warn);background:var(--warn-soft);color:var(--warn)}.notice__text{font-size:14px;font-weight:700;line-height:1.7}.footer{margin-top:28px;padding:18px 0 8px;border-top:1px solid var(--line);color:var(--ink-soft)}.footer__privacy{font-size:13px;font-weight:700}.footer__note{margin-top:4px;font-size:12px}.footer__brand{margin-top:12px;font-size:12px}@media (min-width: 600px){.hero__catch{font-size:24px}.amount__input{font-size:34px}}@media (max-height: 700px){.hero{padding:10px 0 6px}.hero__catch{font-size:18px}.section{padding:10px 0}.counter{min-height:42px}.amount__input{font-size:26px}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
