:root{--bg:#e8ece5;--paper-rule:#1d5a4412;--surface:#f9fbf6;--ink:#16201b;--muted:#5a6a61;--line:#c9d3c6;--accent:#1d5a44;--accent-soft:#d8e6dc;--plus:#1d5a44;--minus:#c23b22;--cliff:#d0442b;--slope:#a87b12;--warn-bg:#f5e2d6;--dock-bg:#16201b;--dock-ink:#edf2ea;--dock-muted:#93a398;--dock-line:#33433a;--dock-field:#0f1713;--dock-accent:#7fd3ad;--dock-minus:#ff8a6e;--radius:3px;--num:"IBM Plex Mono", "SF Mono", "Menlo", "Consolas", ui-monospace, monospace;--serif:"Shippori Mincho B1", "Hiragino Mincho ProN", "Yu Mincho", serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0e1411;--paper-rule:#7fd3ad0b;--surface:#141c18;--ink:#e2e9e0;--muted:#8e9f95;--line:#28352e;--accent:#7fd3ad;--accent-soft:#1a2c23;--plus:#7fd3ad;--minus:#ff7a5c;--cliff:#ff6a4d;--slope:#e0b64a;--warn-bg:#2c1c16;--dock-bg:#1a2520;--dock-line:#33453b;--dock-field:#0e1411;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0e1411;--paper-rule:#7fd3ad0b;--surface:#141c18;--ink:#e2e9e0;--muted:#8e9f95;--line:#28352e;--accent:#7fd3ad;--accent-soft:#1a2c23;--plus:#7fd3ad;--minus:#ff7a5c;--cliff:#ff6a4d;--slope:#e0b64a;--warn-bg:#2c1c16;--dock-bg:#1a2520;--dock-line:#33453b;--dock-field:#0e1411;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{color:var(--ink);background-color:var(--bg);background-image:repeating-linear-gradient(to bottom, transparent 0 31px, var(--paper-rule) 31px 32px);padding-bottom:var(--dock-h,240px);margin:0;font:15px/1.65 system-ui,-apple-system,Hiragino Sans,Yu Gothic UI,Meiryo,sans-serif}[hidden]{display:none!important}.top{justify-content:space-between;align-items:center;gap:12px;max-width:1120px;margin:0 auto;padding:18px 24px 12px;display:flex}.brand{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.brand .mark{width:30px;height:30px;font-family:var(--serif);color:var(--cliff);border:2px solid var(--cliff);border-radius:4px;flex:none;place-items:center;font-size:18px;line-height:1;display:grid;transform:rotate(-4deg)}.brand .name{font-family:var(--serif);letter-spacing:.06em;font-size:21px;font-weight:700}.brand .sub{color:var(--muted);letter-spacing:.04em;font-size:12.5px}.yr{font-family:var(--num);color:var(--muted);border:1px solid var(--line);border-radius:var(--radius);white-space:nowrap;padding:2px 8px;font-size:12px}.layout{flex-direction:column;gap:22px;max-width:1120px;margin:0 auto;padding-block:4px 24px;padding-inline:24px;display:flex}.panel{background:var(--surface);border:1px solid var(--line);border-top:2px solid var(--ink)}.panel>summary{cursor:pointer;background:var(--surface);align-items:center;gap:14px;padding:10px 14px;list-style:none;display:flex}.panel[open]>summary{top:env(safe-area-inset-top,0px);z-index:10;box-shadow:0 1px 0 var(--line);position:sticky}.panel>summary::-webkit-details-marker{display:none}.panel .ph{letter-spacing:.2em;background:var(--ink);color:var(--surface);white-space:nowrap;padding:2px 6px 2px 8px;font-size:12px;font-weight:700}.panel .ps{flex:1;min-width:0;font-size:13.5px}.panel .pt{white-space:nowrap;color:var(--accent);border-bottom:1px solid;font-size:12.5px}.panel .pt:after{content:"変更する"}.panel[open] .pt:after{content:"閉じる ▲"}.panel[open]>summary{border-bottom:1px solid var(--line)}.inputs{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));align-items:start;gap:14px;padding:16px 14px;display:grid}.panel-foot{border-top:1px dashed var(--line);flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;padding-top:12px;display:flex}fieldset{border:0;border-top:1px solid var(--ink);background:0 0;flex-direction:column;gap:10px;min-width:0;margin:0;padding:10px 0 0;display:flex}legend{font-family:var(--serif);letter-spacing:.08em;padding:0 8px 0 0;font-size:14px;font-weight:700}label{color:var(--muted);flex-direction:column;gap:4px;font-size:12.5px;display:flex}input,select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:100%;min-width:0;padding:6px 9px;font-size:14px}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px}.yenin{align-items:center;gap:6px;display:flex}.yenin input{text-align:right;font-family:var(--num)}.yenin em{color:var(--muted);white-space:nowrap;font-style:normal}.hint{color:var(--muted);margin:0;font-size:12px}.ghost{font:inherit;border:1px dashed var(--accent);border-radius:var(--radius);color:var(--accent);cursor:pointer;background:0 0;padding:5px 10px;font-size:12.5px}.ghost:hover{background:var(--accent-soft)}.kid{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"b a x""e e e";align-items:center;gap:4px 6px;display:grid}.kid input{grid-area:b}.kid .age{font-family:var(--num);color:var(--muted);white-space:nowrap;grid-area:a;font-size:12px}.kid button{color:var(--muted);cursor:pointer;background:0 0;border:0;grid-area:x;padding:4px 6px;font-size:16px}.kid select{grid-area:e;font-size:13px}.kid+.kid{border-top:1px dashed var(--line);padding-top:6px}.disclaimer{color:var(--muted);margin:0;font-size:12px}.trio{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.trio .trio-h{color:var(--muted);grid-column:1/-1;font-size:12.5px}.trio label{font-size:12px}body.busy .result{opacity:.6;transition:opacity .15s .1s}.result{flex-direction:column;gap:22px;min-width:0;display:flex}.hero{background:var(--surface);border:1px solid var(--line);border-top:2px solid var(--ink);padding:18px 22px 16px}.k{color:var(--muted);letter-spacing:.04em;font-size:12px}.hero-main .k{font-family:var(--serif);color:var(--ink);letter-spacing:.1em;font-size:14px}.hero .v{font-family:var(--num);letter-spacing:-.03em;font-variant-numeric:tabular-nums;border-bottom:4px double var(--ink);margin-top:2px;padding-bottom:4px;font-size:52px;font-weight:600;line-height:1.1;display:inline-block}.hero .v small{color:var(--muted);letter-spacing:0;margin-left:6px;font-family:system-ui,sans-serif;font-size:16px;font-weight:400}.hero-sub{border:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-top:18px;display:grid}.hero-sub>div{min-width:0;padding:8px 12px 10px}.hero-sub>div+div{border-left:1px solid var(--line)}.v2{font-family:var(--num);font-variant-numeric:tabular-nums;text-align:right;letter-spacing:-.02em;font-size:24px;font-weight:600}.v2.plus{color:var(--plus)}.v2.minus{color:var(--minus)}.v2 .of{color:var(--muted);margin-left:4px;font-size:12px;font-weight:400}.sentence{margin:14px 0 0;font-size:15px}.sentence b{font-family:var(--num);background:linear-gradient(transparent 62%, var(--accent-soft) 62%);font-weight:600}.hero .charts{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.charts{grid-template-columns:1fr 1fr;gap:22px;display:grid}.charts figure{min-width:0;margin:0}figcaption{font-family:var(--serif);letter-spacing:.06em;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px;font-size:14px;font-weight:700;display:flex}figcaption .unit{color:var(--muted);letter-spacing:0;font-family:system-ui,sans-serif;font-size:11px;font-weight:400}.chart-box{height:240px;position:relative}.legend{color:var(--muted);grid-column:1/-1;margin:-8px 0 0;font-size:12px}.lg{vertical-align:middle;border-top:2px dashed;width:16px;height:0;margin-right:4px;display:inline-block}.lg.cliff{border-color:var(--cliff)}.lg.slope{border-color:var(--slope);border-top-style:dotted}.warnings{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.warnings li{background:var(--warn-bg);border-left:3px solid var(--cliff);padding:8px 12px;font-size:13px}.warnings:empty{display:none}.table-wrap,.tips{background:var(--surface);border:1px solid var(--line);border-top:2px solid var(--ink);padding:14px 20px 16px}.table-head{justify-content:space-between;align-items:center;gap:12px;display:flex}h2{font-family:var(--serif);letter-spacing:.08em;margin:0 0 8px;font-size:17px}.tgroup{margin-top:10px}.tgroup h3{color:var(--muted);letter-spacing:.06em;border-bottom:1px solid var(--ink);margin:16px 0 2px;padding-bottom:4px;font-size:12px;font-weight:700}.row{border-top:1px solid var(--line)}.tgroup h3+.row{border-top:0}.row summary{cursor:pointer;grid-template-columns:minmax(0,1fr) 130px 170px 18px;align-items:baseline;gap:8px;padding:7px 0;list-style:none;display:grid}.row summary:hover{background:linear-gradient(to right, transparent, var(--accent-soft) 50%, transparent)}.row summary::-webkit-details-marker{display:none}.row summary:after{content:"＋";color:var(--muted);text-align:center;font-size:11px}.row[open] summary:after{content:"－"}.row .amt,.row .d{font-family:var(--num);text-align:right;font-variant-numeric:tabular-nums}.row .d{color:var(--muted);white-space:nowrap;font-size:12px}.row .d.up{color:var(--minus)}.row .d.good{color:var(--plus)}.row.total{border-top:1px solid var(--ink)}.row.total summary{cursor:default;font-weight:700}.row.total .amt{text-underline-offset:4px;-webkit-text-decoration:underline double;text-decoration:underline double}.row.total summary:after{content:""}.row.total summary:hover{background:0 0}.notes{background:var(--bg);border-left:2px solid var(--line);margin:0 0 10px;padding:8px 12px;font-size:12.5px}.note{border-bottom:1px dotted var(--line);padding:5px 0}.note:last-child{border-bottom:0}.note .nl{font-weight:700}.note .nf{color:var(--muted)}.note .ns{font-family:var(--num);word-break:break-all}.note .nr{color:var(--muted);font-size:11.5px}.tag{border:1px solid var(--accent);color:var(--accent);white-space:nowrap;border-radius:2px;margin-left:6px;padding:0 6px;font-size:10.5px}.tag.later{border-style:dashed}.tips ul{counter-reset:tip;margin:0;padding:0;font-size:13.5px;list-style:none}.tips li{counter-increment:tip;border-top:1px dashed var(--line);grid-template-columns:2em minmax(0,1fr);padding:6px 0;display:grid}.tips li:first-child{border-top:0}.tips li:before{content:counter(tip, decimal-leading-zero);font-family:var(--num);color:var(--cliff);padding-top:3px;font-size:11px}.slider-card{z-index:20;background:var(--dock-bg);color:var(--dock-ink);border-top:3px solid var(--cliff);padding:10px 24px calc(10px + env(safe-area-inset-bottom,0px));position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 30px #0a140f38}.dock{max-width:1072px;margin:0 auto}@media (width>=900px){.dock{grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:20px;display:grid}.dock>:not(.type-row):not(.slider-head){grid-column:1/-1}.dock .type-row{max-width:540px;margin-bottom:0}}.type-row{gap:6px;margin-bottom:8px;display:flex}.side-type{border:1px solid var(--dock-line);border-radius:var(--radius);flex:auto;min-width:0;display:flex;overflow:hidden}.max-set{width:auto;font-family:var(--num);background:var(--dock-field);color:var(--dock-muted);border-color:var(--dock-line);cursor:pointer;flex:none;padding:3px 6px;font-size:12px}.max-set:hover{color:var(--dock-ink)}.side-type button{min-width:0;font:inherit;letter-spacing:.06em;color:var(--dock-muted);cursor:pointer;background:0 0;border:0;flex:1 1 0;padding:4px 6px;font-size:13px}.side-type button+button{border-left:1px solid var(--dock-line)}.side-type button:hover{color:var(--dock-ink)}.side-type button.on{background:var(--dock-ink);color:var(--dock-bg);font-weight:700}.slider-head{color:var(--dock-muted);align-items:center;gap:8px;font-size:12.5px;display:flex}.slider-head label{min-width:0;color:var(--dock-muted);white-space:nowrap;text-overflow:ellipsis;flex:auto;font-size:12.5px;display:block;overflow:hidden}.slider-head .side-blue{background:var(--dock-field);width:auto;color:var(--dock-ink);border-color:var(--dock-line);flex:none;padding:3px 4px;font-size:12px}.direct{flex:none;align-items:baseline;gap:4px;display:flex}.direct input{width:10.5ch;font-family:var(--num);color:var(--dock-accent);text-align:right;background:var(--dock-field);border-color:var(--dock-line);padding:1px 8px;font-size:20px;font-weight:600}.direct input:focus{outline-color:var(--dock-accent)}.direct em{color:var(--dock-muted);font-style:normal}.rule{margin-top:6px;position:relative}input[type=range]{appearance:none;cursor:pointer;background:linear-gradient(var(--dock-line), var(--dock-line)) center / 100% 2px no-repeat, repeating-linear-gradient(to right, var(--dock-muted) 0 1px, transparent 1px calc(10% - .1px)) 4px 5px / calc(100% - 8px) 6px no-repeat;border:0;outline:none;width:100%;height:26px;margin:0;padding:0;display:block}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--dock-accent);border:0;border-radius:1px;width:8px;height:24px;box-shadow:0 0 0 3px #7fd3ad38}input[type=range]::-moz-range-thumb{background:var(--dock-accent);border:0;border-radius:1px;width:8px;height:24px;box-shadow:0 0 0 3px #7fd3ad38}input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px #7fd3ad80}.ticks{pointer-events:none;position:absolute;inset:0}.ticks i{background:var(--dock-minus);width:2px;height:12px;margin:-6px 0 0 -1px;position:absolute;top:50%}.ticks i.s{opacity:.8;background:#e0b64a;width:1px;height:8px;margin-top:-4px}.slider-scale{color:var(--dock-muted);font-size:10px;line-height:1;font-family:var(--num);justify-content:space-between;margin:1px 0 8px;display:flex}.steps{grid-template-columns:repeat(4,1fr) .8fr repeat(4,1fr);gap:4px;display:grid}.steps button,.wall{font:inherit;font-family:var(--num);font-variant-numeric:tabular-nums;border:1px solid var(--dock-line);color:var(--dock-ink);border-radius:var(--radius);cursor:pointer;background:0 0;padding:4px 0;font-size:13px}.steps button:nth-child(-n+4){color:var(--dock-minus)}.steps button:nth-child(n+6){color:var(--dock-accent)}.steps .reset{color:var(--dock-ink);background:var(--dock-field);font-weight:600}.steps button:hover,.wall:hover:not(:disabled){border-color:var(--dock-ink);background:#ffffff0a}.steps button:active,.wall:active{transform:translateY(1px)}.walls{grid-template-columns:1fr 1fr;gap:4px;margin-top:4px;display:grid}.wall{text-align:left;color:var(--dock-minus);white-space:nowrap;text-overflow:ellipsis;border-style:dashed;padding:4px 10px;font-family:inherit;font-size:12.5px;line-height:1.3;overflow:hidden}.wall:last-child{text-align:right}.wall:disabled{color:var(--dock-muted);cursor:default;opacity:.5}.wall small{color:var(--dock-muted);font-size:11.5px;font-family:var(--num)}.cliff-warn{white-space:nowrap;text-overflow:ellipsis;border-left:3px solid var(--dock-minus);height:calc(1.45em + 10px);color:var(--dock-ink);background:#ff6a4d1f;margin:6px 0 0;padding:5px 10px;font-size:13px;line-height:1.45;overflow:hidden}.cliff-warn.danger{background:#ff6a4d38}.cliff-warn.calm{border-left-color:var(--dock-line);color:var(--dock-muted);background:0 0}@media (width<=1000px){.layout,.top{padding-inline:16px}.charts{grid-template-columns:1fr}}@media (width<=640px){.top{flex-wrap:wrap;row-gap:4px;padding-top:14px}.brand{flex:100%;gap:0 8px}.brand .name{font-size:18px}.brand .sub{flex-basis:100%;padding-left:38px}.yr{margin-left:38px}.hero{padding:14px 14px 12px}.hero .v{font-size:38px}.hero-sub{grid-template-columns:1fr 1fr}.hero-sub>div:nth-child(3){border-left:0;border-top:1px solid var(--line);grid-column:1/-1}.v2{font-size:19px}.table-wrap,.tips{padding:12px 14px 14px}.row summary{grid-template-columns:minmax(0,1fr) 96px 18px}.row .d{display:none}.chart-box{height:200px}.slider-card{padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px))}.steps{grid-template-columns:repeat(4,1fr) .7fr repeat(4,1fr);gap:2px}.steps button{letter-spacing:-.06em;white-space:nowrap;min-width:0;padding:8px 0;font-size:10.5px}.direct input{font-size:18px}.slider-card .cliff-warn{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;height:calc(2.9em + 10px);font-size:12px;display:-webkit-box}}@media print{:root{--bg:#fff;--surface:#fff;--ink:#000;--muted:#444;--line:#bbb;--dock-bg:#fff;--dock-ink:#000;--dock-muted:#444;--dock-line:#bbb}body{background:#fff;padding-bottom:0;font-size:11px}.top{padding:0 0 6px}.layout{padding:0;display:block}.panel{border:0;margin-bottom:6px}.panel>summary{padding:0;border:0!important}.max-set,.inputs,.panel .pt,.ghost,#toggleNotes,.rule,.slider-scale,.cliff-warn,.steps,.walls,.slider-head .side-blue,.side-type button:not(.on){display:none!important}.side-type{border:0}.side-type button.on{color:#000;background:0 0}.slider-card{box-shadow:none;border:1px solid #bbb;padding:6px 10px;position:static}.hero,.slider-card,.charts figure,.table-wrap,.tips{break-inside:avoid;border-color:#bbb}.result{gap:8px}.charts{grid-template-columns:1fr 1fr}.chart-box{height:170px}.row .notes{display:block!important}details.row>.notes{display:block}.row summary:after{content:""}}
