:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0}#root{min-height:100svh}@font-face{font-family:Plex Mono Num;src:url(data:font/woff2;base64,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)format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Plex Mono Num;src:url(data:font/woff2;base64,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)format("woff2");font-weight:600;font-display:swap}:root{--ink:#22262d;--muted:#6a6e75;--axis:#93918a;--line:#d9d4ca;--hairline:#e9e5dd;--accent:#35568c;--accent-strong:#2a4571;--accent-tint:#eef1f6;--focus-ring:#35568c59;--band-outer:#d6e1ee;--band-inner:#adc4de;--goal:#b3573f;--event-accent:#c26a1f;--error:#b3261e;--bg:#f4f2ee;--card-bg:#fffefc;--median:#2c5382;--grid:#efece6;--panel-width:420px;--r-lg:16px;--r-md:12px;--r-sm:10px;--font-num:"Plex Mono Num", "Hiragino Sans", "Yu Gothic UI", "Meiryo", sans-serif}*{box-sizing:border-box}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}main{min-height:100vh;color:var(--ink);background:var(--bg);font-variant-numeric:tabular-nums;margin:0 auto;padding:0 0 48px;font-family:Hiragino Sans,Yu Gothic UI,Meiryo,sans-serif;line-height:1.6}h1{letter-spacing:-.01em;margin:0 0 4px;font-size:1.4rem}h2{letter-spacing:.02em;margin:0 0 10px;font-size:1rem;font-weight:700}.lead{color:var(--muted);margin-top:0;font-size:.9rem}.mini-note{color:var(--muted);margin:0 0 8px;font-size:.8rem}.money-input{align-items:center;gap:8px;display:flex}.money-input input{flex:1;min-width:0}.unit-suffix{color:var(--muted);flex:none;font-size:.85rem}.period-row{border:1px solid var(--hairline);border-radius:var(--r-md);margin:14px 0;padding:10px 12px}.period-row-header{color:var(--muted);align-items:center;gap:8px;font-size:.85rem;display:flex}.period-row-header .period-band{flex:1}.period-add{border:1px solid var(--line);border-radius:var(--r-md);background:var(--card-bg);width:100%;color:var(--accent);text-align:center;margin:4px 0 14px;padding:10px;transition:background .15s;display:block}.period-add:hover{background:var(--accent-tint)}.save-note{color:var(--muted);margin-left:auto;font-size:.78rem}.reset-button{border:1px solid var(--line);border-radius:var(--r-sm);color:var(--muted);cursor:pointer;background:0 0;margin-left:10px;padding:2px 8px;font-size:.78rem;transition:color .15s,background .15s}.reset-button:hover{color:var(--accent);background:var(--accent-tint)}.export-button,.import-button{border:1px solid var(--line);border-radius:var(--r-sm);color:var(--muted);cursor:pointer;background:0 0;margin-left:10px;padding:2px 8px;font-size:.78rem;transition:color .15s,background .15s}.export-button:hover,.import-button:hover{color:var(--accent);background:var(--accent-tint)}.import-error{color:var(--error);margin:6px 0 0;font-size:.8rem}a{color:var(--accent);text-decoration:none}a:visited{color:var(--accent)}a:hover{text-decoration:underline}input[type=number],input[type=text]{width:100%;min-width:0;color:var(--ink);background:var(--card-bg);border:1px solid var(--line);border-radius:var(--r-md);padding:9px 12px;font-family:inherit;font-size:.95rem;transition:border-color .15s,box-shadow .15s}input[type=number]{font-family:var(--font-num);font-weight:500}input[type=number]:focus,input[type=text]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring);outline:none}label{color:var(--muted);margin:12px 0;font-size:.85rem;display:block}button{border-radius:var(--r-sm);color:var(--ink);cursor:pointer;background:#f0ede7;border:none;padding:9px 18px;font-family:inherit;font-size:.9rem;font-weight:600;transition:background .15s,box-shadow .15s}button:hover{background:#e8e2d8}button:focus-visible{box-shadow:0 0 0 3px var(--focus-ring);outline:none}button.primary{background:var(--accent);color:#fff}button.primary:hover{background:var(--accent-strong);box-shadow:0 4px 10px #1f5fa840}.editor-actions button:not(.primary){color:var(--error)}.editor-actions button:not(.primary):hover{background:#fbeeed}#error,[role=alert]{border:1px solid var(--error);color:var(--error);white-space:pre-wrap;background:#fdeceb;border-radius:4px;margin:12px 0;padding:10px 14px;font-size:.9rem}.chart-header{flex-wrap:wrap;align-items:baseline;gap:4px 16px;margin-bottom:4px;display:flex}.chart-header h2{margin:0}#headline{flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:0;display:flex}.headline-label{letter-spacing:.02em;color:var(--muted);font-size:.75rem}.headline-value{font-family:var(--font-num);color:var(--ink);font-size:1.35rem;font-weight:600}.headline-colon{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}svg{width:100%;height:auto;display:block}.legend{color:var(--muted);flex-wrap:wrap;justify-content:flex-start;gap:12px;margin:2px 0 8px;font-size:.72rem;display:flex}#chart svg{width:100%;max-width:1000px;margin:0 auto}#chart svg text{font-family:var(--font-num)}#chart .plan-lane{cursor:pointer}#chart .plan-lane:hover rect{stroke:var(--accent)}#chart .plan-lane.excluded>rect:first-of-type,#chart .plan-lane.excluded>text,#chart .plan-lane.excluded>.plan-lane-handle{opacity:.38}#chart .plan-lane.excluded>rect:first-of-type{stroke-dasharray:4 3}#chart .event-lane.excluded>:not(.lane-inclusion):not(.lane-delete):not(title){opacity:.38}#chart .event-lane.excluded>rect:first-of-type{stroke-dasharray:4 3}#chart .event-pin.excluded{opacity:.38}#chart .plan-lane.movable{cursor:grab}#chart .plan-lane:focus-visible rect:first-of-type,#chart .plan-lane-add:focus-visible circle{stroke:var(--accent);stroke-width:2px;outline:none}#chart .plan-lane-add{cursor:pointer}#chart .plan-lane-handle{cursor:ew-resize}#chart .plan-lane-grip{opacity:0;transition:opacity .15s}#chart .plan-lane:hover .plan-lane-grip,#chart .event-lane:hover .plan-lane-grip{opacity:1}#chart .lane-delete{opacity:0;cursor:pointer;transition:opacity .15s}#chart .plan-lane:hover .lane-delete,#chart .event-lane:hover .lane-delete,#chart .lane-delete:focus-visible{opacity:1}#chart .lane-delete:focus-visible circle{stroke:var(--accent);stroke-width:2px;outline:none}.legend span:before{content:"";vertical-align:middle;width:16px;height:10px;margin-right:5px;display:inline-block}.legend .l-p90:before,.legend .l-p10:before{background:var(--band-outer);border-radius:3px}.legend .l-mid:before{background:var(--band-inner);border-radius:3px}.legend .l-median:before{background:var(--accent);height:3px}.legend .l-goal:before{border-top:2px dashed var(--goal);height:0}.disclaimer{border-radius:var(--r-md);color:#5c5f66;background:#f7f5f0;margin-top:24px;padding:12px 14px;font-size:.85rem}.footer-line{color:var(--muted);margin-top:4px;font-size:.85rem}.layout{justify-content:center;padding:28px 18px;transition:padding-right .25s;display:flex;position:relative;overflow-x:hidden}main.panel-open .layout{padding-right:calc(var(--panel-width) + 18px)}.main-card{width:100%;min-width:0;max-width:1240px}.side-panel{height:100vh;width:var(--panel-width);background:var(--card-bg);border-radius:var(--r-lg) 0 0 var(--r-lg);z-index:20;max-width:92vw;padding:16px 18px;animation:.22s slide-in;position:fixed;top:0;right:0;overflow-y:auto;box-shadow:-16px 0 40px #172a4a1a}.side-panel input[type=number],.side-panel input[type=text]{padding:7px 10px}@keyframes slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.side-panel-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.side-panel-header h2{margin:0}.side-panel-body label{margin:8px 0}#chart .lane-inclusion{cursor:pointer}#chart .lane-inclusion:focus-visible circle{stroke:var(--accent);stroke-width:2px;outline:none}.surplus-helper-card{background:var(--bg);border-radius:var(--r-md);box-shadow:inset 0 0 0 1px var(--hairline);margin-top:16px;padding:14px}.surplus-helper-card h3{margin:0 0 10px;font-size:.95rem}.surplus-helper-inputs{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.surplus-helper-inputs label{min-width:0;color:var(--muted);font-size:.76rem}.surplus-helper-inputs .money-input{margin-top:4px}.surplus-helper-inputs input[type=number]{width:100%;min-width:0}.surplus-helper-card>button{width:100%;margin-top:8px}.surplus-helper-result{border-top:1px solid var(--hairline);margin-top:12px;padding-top:12px}.surplus-helper-result>div{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px;display:flex}.surplus-helper-result>div span{color:var(--muted);font-size:.78rem}.surplus-helper-result strong{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:1rem}.surplus-helper-result p,.surplus-helper-caveat{color:var(--muted);margin:8px 0 0;font-size:.68rem;line-height:1.55}.surplus-helper-result p:last-child{color:var(--text);font-size:.74rem}@media (width<=420px){.surplus-helper-inputs{grid-template-columns:1fr}}.workspace-surface{background:var(--card-bg);border-radius:20px;margin-bottom:16px;overflow:hidden;box-shadow:0 1px 2px #172a4a0d,0 10px 30px #172a4a0f}.workspace-surface>section{border-bottom:1px solid var(--hairline);padding:18px 20px}.workspace-surface>section:last-child{border-bottom:none}.detail-settings{border-top:1px solid var(--hairline);padding:12px 0 0}.basic-plan-header{align-items:center;gap:10px;margin-bottom:16px;display:flex}.basic-plan-header h2{margin:0}.origin-badge{border-radius:999px;padding:3px 10px;font-size:.72rem;font-weight:600}.origin-badge.sample{color:#8a6d1f;box-shadow:inset 0 0 0 1px var(--hairline);background:#f7f5f0}.origin-badge.mine{background:var(--accent-tint);color:var(--accent-strong)}.stat-strip-row{align-items:center;gap:20px;display:flex}.strip-inputs{flex-wrap:wrap;flex:1;gap:16px;min-width:0;display:flex}.strip-input-item{flex-direction:column;gap:4px;margin:0;display:flex}.strip-input-item .stat-label{color:var(--muted);letter-spacing:.02em;white-space:normal;font-size:.68rem;line-height:1.3}.strip-input-item input[type=number]{width:72px}.strip-input-item .money-input input[type=number]{width:110px}.basic-plan-actions{flex:none;gap:10px;display:flex}#chart .event-band-blank{cursor:pointer}#chart .event-lane{cursor:grab}#chart .event-lane:focus-visible rect:first-of-type,#chart .event-lane:focus-visible circle:first-of-type{stroke:var(--accent);stroke-width:2px;outline:none}.age-field,.age-stepper{align-items:center;gap:8px;display:flex}.age-field input[type=range]{flex:1}.age-field input[type=number],.age-stepper input[type=number]{flex:none;width:72px}.age-stepper{border-radius:var(--r-sm);background:#f7f5f0;padding:4px}.age-stepper input[type=number]{text-align:center;background:0 0;border:none;flex:1;padding:6px 4px}.age-stepper input[type=number]:focus{box-shadow:none}.age-stepper button{border-radius:var(--r-sm);background:var(--card-bg);min-width:30px;min-height:30px;padding:4px;font-weight:700;box-shadow:0 1px 2px #172a4a14}.field-group{margin:8px 0}.field-group-label{color:var(--muted);margin-bottom:4px;font-size:.85rem;display:block}.kind-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.kind-option{background:var(--card-bg);border:1px solid var(--hairline);border-radius:var(--r-sm);flex-direction:column;align-items:center;gap:2px;padding:5px 3px;font-size:.68rem;transition:background .15s,border-color .15s;display:flex}.kind-option:hover{background:color-mix(in srgb, var(--kind,var(--axis)) 8%, white)}.kind-option.selected{border:2px solid var(--kind,var(--accent));background:var(--card-bg);padding:4px 2px}.kind-icon{color:var(--muted);justify-content:center;align-items:center;display:flex}.kind-option.selected .kind-icon{color:var(--kind,var(--accent))}.toggle-group{border-radius:var(--r-sm);background:#f0ede7;gap:0;padding:3px;display:flex}.toggle-option{color:var(--muted);border-radius:calc(var(--r-sm) - 2px);box-shadow:none;background:0 0;flex:1;padding:7px 12px}.toggle-inline{flex:none}.toggle-inline .toggle-option{white-space:nowrap;flex:none;padding:6px 10px;font-size:.8rem}.toggle-option:hover{background:#fff9}.toggle-option.selected{background:var(--card-bg);color:var(--ink);box-shadow:0 1px 3px #172a4a1f}.toggle-option.selected:hover{background:var(--card-bg)}.editor-actions{gap:8px;margin-top:10px;display:flex}.editor-actions button{flex:1}.detail-settings summary{cursor:pointer;font-weight:600}.detail-settings-body{margin-top:14px}.reference-search input{margin-top:4px}.reference-card #reference{max-height:420px;overflow:auto}.ref-card{background:var(--card-bg);border:1px solid var(--line);margin-bottom:12px;padding:12px 14px}.ref-card h3{margin:0 0 8px;font-size:.95rem}.ref-metrics{grid-template-columns:max-content 1fr;gap:4px 10px;margin:0;font-size:.85rem;display:grid}.ref-metrics dt{color:var(--muted)}.ref-metrics dd{margin:0}.ref-calc-target{line-height:1.4;display:block}.ref-calc-code{font-weight:600}.ref-calc-name-ja,.ref-calc-name-en{color:var(--muted);font-size:.8rem}.ref-copy{margin-left:8px;padding:2px 6px;font-size:.75rem}.ref-toggle{margin-top:8px;font-size:.8rem}.ref-detail{margin-top:8px}.ref-error{color:var(--error)}@media (width<=960px){.stat-strip-row{flex-direction:column;align-items:stretch;gap:14px}.basic-plan-actions{justify-content:flex-end}}@media (width<=720px){.strip-inputs{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px;display:grid}.strip-input-item input[type=number],.strip-input-item .money-input input[type=number]{width:100%}.kind-grid{grid-template-columns:repeat(3,minmax(0,1fr))}main.panel-open .layout{padding-right:18px}.side-panel{border-radius:0;width:100vw;max-width:100vw}}
