.app{max-width:1920px;padding:var(--space-5) clamp(var(--space-4), 4vw, 48px) calc(var(--space-6) * 2);flex-direction:column;min-height:100%;margin:0 auto;display:flex}.app__header{justify-content:space-between;align-items:center;gap:var(--space-3);margin:0 0 var(--space-5);flex-wrap:wrap;display:flex}.app__header h1{margin:0;font-size:1.5rem}.app__header-title{align-items:baseline;gap:var(--space-3);flex-wrap:wrap;display:flex}.preferences-switcher{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.preferences-switcher__languages,.preferences-switcher__themes{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;gap:2px;padding:2px;display:flex}.preferences-switcher__language,.preferences-switcher__theme{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 10px;font-size:.85rem;line-height:1.3}.preferences-switcher__language--active,.preferences-switcher__theme--active{background:var(--color-primary);color:var(--color-primary-text)}.preferences-switcher__language:focus-visible,.preferences-switcher__theme:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.preferences-switcher__currency select{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit;cursor:pointer;border-radius:8px;padding:5px 8px;font-size:.85rem}.preferences-switcher__currency select:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.mode-toggle{z-index:10;gap:var(--space-2);margin:0 0 var(--space-5);padding:var(--space-2) 0;background:var(--color-bg);display:flex;position:sticky;top:0}.mode-toggle__button{padding:var(--space-3);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;line-height:1.3;display:inline-flex}.mode-toggle__button--active{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-primary-text)}.mode-toggle__button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (width<=480px){.mode-toggle__button{padding:var(--space-2);font-size:.85rem}}.app__main{gap:var(--space-4);flex-direction:column;flex:1;display:flex}.app__status{padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:10px}.app__status--error{background:var(--color-error-bg);border-color:var(--color-error);color:var(--color-error)}.form-grid{justify-content:center;gap:var(--space-4);width:100%;padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;grid-template-columns:repeat(auto-fit,minmax(200px,260px));display:grid}.phase-list{width:100%;padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);--phase-row-gap:var(--space-3);--remove-button-inset:var(--space-5);border-radius:10px;position:relative}.phase-list__header{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin:0 0 var(--space-4);flex-wrap:wrap;padding-right:40px;display:flex}.phase-list__heading{color:var(--color-text-muted);margin:0;font-size:.95rem;font-weight:600}.phase-list__header-right{align-items:center;gap:var(--space-3);flex-wrap:nowrap;flex:none;display:flex}.phase-list__clear{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;border-radius:6px;font-size:.85rem;font-weight:600}.phase-list__clear:hover{border-color:var(--color-error);color:var(--color-error)}.phase-list__clear:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.phase-list__initial{width:calc(110px + (100% - 286px - 3 * var(--phase-row-gap)) * 3 / 7);min-width:110px;padding-bottom:var(--space-3);margin-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.phase-row{column-gap:var(--phase-row-gap);row-gap:var(--space-1);grid-template-rows:auto auto auto;grid-template-columns:minmax(110px,1.5fr) minmax(70px,1fr) minmax(70px,1fr) 36px;grid-auto-flow:column;display:grid}.phase-row>*{grid-row:span 3}.phase-row+.phase-row{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.phase-row .form-field{grid-template-rows:subgrid;grid-template-columns:minmax(0,1fr);min-width:0;display:grid}@media (width<=480px){.phase-list{padding:var(--space-3);--phase-row-gap:var(--space-2);--remove-button-inset:var(--space-3)}.preferences-switcher{gap:var(--space-2)}.preferences-switcher__languages,.preferences-switcher__themes{gap:4px}.preferences-switcher__language,.preferences-switcher__theme,.preferences-switcher__currency select{padding:12px 14px}.phase-row__remove{position:relative}.phase-row__remove:before,.phase-list__remove:before{content:"";position:absolute;inset:-4px}.stacked-chart__legend-item{position:relative}.stacked-chart__legend-item:before{content:"";position:absolute;inset:-8px}}.phase-row__remove{border:1px solid var(--color-error);background:var(--color-error-bg);width:36px;height:36px;color:var(--color-error);cursor:pointer;border-radius:6px;align-self:center;font-size:1.1rem;line-height:1}.phase-row__remove:hover{background:var(--color-error);color:var(--color-primary-text)}.phase-row__remove:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.phase-row__remove--placeholder{visibility:hidden;pointer-events:none}.phase-list__error{margin:var(--space-3) 0 0;padding:var(--space-3) var(--space-4);background:var(--color-error-bg);color:var(--color-error);border-radius:6px;font-size:.9rem}.phase-list__footer{margin-top:var(--space-4)}.phase-list__hint{margin:var(--space-2) 0 0;color:var(--color-text-muted);text-align:center;font-size:.85rem}.phase-list__add{width:100%;padding:var(--space-3) var(--space-4);border:1px dashed var(--color-border);background:var(--color-bg);color:var(--color-primary);cursor:pointer;border-radius:8px}.phase-list__add:disabled{color:var(--color-text-muted);cursor:not-allowed;opacity:.6}.phase-list__add:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.phase-list__total{color:var(--color-text-muted);white-space:nowrap;margin:0;font-size:.9rem}.phase-list__total strong{color:var(--color-text);font-size:1rem}.form-field{gap:var(--space-1);flex-direction:column;display:flex}.form-field label{color:var(--color-text-muted);font-size:.85rem}.form-field__input-wrap{border:1px solid var(--color-border);background:var(--color-bg);padding:0 var(--space-3);border-radius:6px;align-items:center;display:flex}@media (width<=480px){.form-field__input-wrap{padding:0 var(--space-2)}}.form-field__input-wrap:focus-within{outline:2px solid var(--color-primary);outline-offset:1px}.form-field input{min-width:0;padding:var(--space-3) 0;color:var(--color-text);background:0 0;border:none;flex:1;font-size:1rem}.form-field input:focus{outline:none}.form-field__suffix{color:var(--color-text-muted);padding-left:var(--space-2);font-size:.85rem}.form-field[aria-invalid=true] .form-field__input-wrap{border-color:var(--color-error)}.form-field__input-wrap:has(input[aria-invalid=true]){border-color:var(--color-error)}.form-field__error{color:var(--color-error);margin:0;font-size:.8rem}.result-summary{width:100%;padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px}.result-summary h2{margin:0 0 var(--space-3);font-size:1.1rem}.result-summary__error{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-error-bg);color:var(--color-error);border-radius:6px;font-size:.9rem}.result-summary__cards{gap:var(--space-3);flex-wrap:wrap;display:flex}.result-summary__card{align-items:center;gap:var(--space-1);padding:var(--space-4);background:var(--color-bg);text-align:center;border-radius:8px;flex-direction:column;flex:160px;display:flex}.result-summary__card span{color:var(--color-text-muted);font-size:.85rem}.result-summary__card strong{font-size:1.4rem}.stacked-chart{padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px}.stacked-chart__toggle{margin:0 0 var(--space-4);background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;gap:2px;padding:3px;display:inline-flex}.stacked-chart__toggle-button{padding:var(--space-1) var(--space-3);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;font-size:.85rem}.stacked-chart__toggle-button--active{background:var(--color-surface);color:var(--color-text);box-shadow:0 1px 2px #00000014}.stacked-chart__toggle-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (width<=480px){.stacked-chart__toggle-button{padding:10px 14px}}.stacked-chart__plot{aspect-ratio:2;width:100%}@media (width>=1000px){.stacked-chart__plot{aspect-ratio:3.5}}.stacked-chart__tooltip{min-width:140px;padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;font-size:.8rem;box-shadow:0 4px 16px #0003}.stacked-chart__tooltip strong{margin-bottom:6px;display:block}.stacked-chart__tooltip dl{grid-template-columns:auto auto;gap:2px 12px;margin:0;display:grid}.stacked-chart__tooltip dt{color:var(--color-text-muted)}.stacked-chart__tooltip dd{text-align:right;margin:0;font-weight:600}.stacked-chart__legend{gap:var(--space-4);margin:var(--space-2) 0 var(--space-4);color:var(--color-text-muted);font-size:.8rem;display:flex}.stacked-chart__legend-item{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0;display:inline-flex}.stacked-chart__legend-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.stacked-chart__legend-item--hidden{color:var(--color-text-muted);opacity:.5;text-decoration:line-through}.stacked-chart__swatch{border-radius:2px;width:10px;height:10px;display:inline-block}.stacked-chart__swatch--principal{background:var(--chart-principal)}.stacked-chart__swatch--profit{background:var(--chart-profit)}.stacked-chart__swatch--profit-year{background:var(--chart-profit-year)}.stacked-chart__table-wrap{border-top:1px solid var(--color-border);background:linear-gradient(to right, var(--color-surface), var(--color-surface)) left, linear-gradient(to right, var(--color-surface), var(--color-surface)) right, linear-gradient(to right, #0000001f, #0000) left, linear-gradient(to left, #0000001f, #0000) right;background-repeat:no-repeat;background-size:24px 100%,24px 100%,12px 100%,12px 100%;background-attachment:local,local,scroll,scroll;overflow-x:auto}.stacked-chart__table{border-collapse:collapse;width:100%;font-size:.85rem}.stacked-chart__table caption{text-align:left;color:var(--color-text-muted);padding:8px 0 4px;font-size:.8rem}.stacked-chart__table th,.stacked-chart__table td{text-align:right;border-bottom:1px solid var(--color-border);padding:6px 8px}.stacked-chart__table th[scope=row]{text-align:left;color:var(--color-text-muted)}.stacked-chart__table thead th{text-align:right;color:var(--color-text-muted);font-weight:500}.stacked-chart__table thead th:first-child{text-align:left}.scenario-row{gap:var(--space-4);flex-wrap:wrap;display:flex}.scenario-item{flex:300px}.scenario-item .phase-list{width:100%;height:100%}.scenario-row__add{border:1px dashed var(--color-border);background:var(--color-bg);width:40px;min-height:40px;color:var(--color-primary);cursor:pointer;border-radius:8px;flex-direction:column;flex:none;justify-content:center;align-self:stretch;align-items:center;gap:4px;font-size:1.3rem;line-height:1;display:inline-flex}.scenario-row__add-label{writing-mode:vertical-rl;text-orientation:mixed;font-size:.65rem;font-weight:500;line-height:1.1}.scenario-row__add:disabled{color:var(--color-text-muted);cursor:not-allowed;opacity:.6}.scenario-row__add:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (width<=800px){.scenario-row,.comparison-summary{flex-direction:column}.scenario-row__add{flex-direction:row;align-self:stretch;gap:8px;width:auto}.scenario-row__add-label{writing-mode:horizontal-tb;font-size:.85rem}.comparison-summary__spacer{display:none}}.phase-list__name{flex:0 130px;min-width:0}.phase-list__name input{width:100%;padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);color:var(--color-text);font:inherit;background:0 0;border-radius:6px;font-size:.95rem;font-weight:600}.phase-list__name input:hover{border-color:var(--color-primary)}.phase-list__name input:focus{border-color:var(--color-primary);outline:2px solid var(--color-primary);outline-offset:1px;background:var(--color-bg)}.phase-list__remove{top:var(--remove-button-inset);right:var(--remove-button-inset);border:1px solid var(--color-error);background:var(--color-error-bg);width:32px;height:32px;color:var(--color-error);cursor:pointer;border-radius:6px;font-size:1rem;line-height:1;position:absolute}.phase-list__remove:hover{background:var(--color-error);color:var(--color-primary-text)}.phase-list__remove:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.comparison-chart{aspect-ratio:2;width:100%;margin-bottom:var(--space-4);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px}@media (width>=1000px){.comparison-chart{aspect-ratio:3.5}}.comparison-summary{gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.comparison-summary__card{padding:var(--space-4);background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;flex:300px}.comparison-summary__spacer{flex:none;width:40px}.comparison-summary__card h3{margin:0 0 var(--space-2);color:var(--color-text-muted);font-size:.9rem}.comparison-summary__card dl{gap:var(--space-1);flex-direction:column;margin:0;display:flex}.comparison-summary__card dl>div{justify-content:space-between;gap:var(--space-2);display:flex}.comparison-summary__card dt{color:var(--color-text-muted);font-size:.8rem}.comparison-summary__card dd{margin:0;font-size:1.05rem;font-weight:600}.comparison-mode-toggle-row{margin-bottom:var(--space-3);justify-content:flex-end;display:flex}.comparison-mode-toggle{align-items:center;gap:var(--space-2);cursor:pointer;color:var(--color-text);font-size:.9rem;display:inline-flex}.comparison-mode-toggle input{opacity:0;width:1px;height:1px;position:absolute}.comparison-mode-toggle__track{background:var(--color-border);pointer-events:none;border-radius:10px;flex:none;width:36px;height:20px;transition:background-color .15s;position:relative}.comparison-mode-toggle__track:after{content:"";background:var(--color-surface);border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px}.comparison-mode-toggle input:checked+.comparison-mode-toggle__track{background:var(--color-primary)}.comparison-mode-toggle input:checked+.comparison-mode-toggle__track:after{transform:translate(16px)}.comparison-mode-toggle input:focus-visible+.comparison-mode-toggle__track{outline:2px solid var(--color-primary);outline-offset:2px}.about-section{gap:var(--space-4);margin-top:var(--space-5);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;flex-direction:column;display:flex}.about-section>h2{margin:0;font-size:1.2rem}.about-section__block h3{margin:0 0 var(--space-2);font-size:1rem}.about-section__block p{margin:0 0 var(--space-2);color:var(--color-text);line-height:1.7}.about-section__block p:last-child{margin-bottom:0}.footer{gap:var(--space-4);margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.app__guide-link,.footer__link{color:var(--color-text-muted);font-size:.85rem;text-decoration:none}.app__guide-link:hover,.app__guide-link:focus-visible,.footer__link:hover,.footer__link:focus-visible{color:var(--color-primary);text-decoration:underline}.app__guide-link:focus-visible,.footer__link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.legal-page{gap:var(--space-5);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;flex-direction:column;display:flex}.legal-page__updated-at{margin:calc(-1 * var(--space-3)) 0 0;color:var(--color-text-muted);font-size:.85rem}.legal-page__section h2{margin:0 0 var(--space-2);font-size:1.05rem}.legal-page__section p{margin:0 0 var(--space-2);color:var(--color-text);line-height:1.7}.legal-page__section p:last-child{margin-bottom:0}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f7f8fa;--color-surface:#fff;--color-text:#1a1d23;--color-text-muted:#5b6270;--color-border:#e1e4e9;--color-primary:#2d68e2;--color-primary-text:#fff;--color-error:#c53838;--color-error-bg:#fdeceb;--chart-grid:#e1e4e9;--chart-axis-text:#5b6270;--chart-principal:#2f6fed;--chart-profit:#38b06b;--chart-profit-year:#f2a93c;--chart-loss:#d13c3c;--chart-compare-base:#2f6fed;--chart-compare-1:#a855f7;--chart-compare-2:#d97706;--chart-compare-3:#db2777;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;font-family:Hiragino Sans,Hiragino Kaku Gothic ProN,Yu Gothic UI,Yu Gothic,Noto Sans JP,Noto Sans CJK JP,Meiryo,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#14161a;--color-surface:#1d2026;--color-text:#eef0f3;--color-text-muted:#a2a8b4;--color-border:#2b2f37;--color-primary:#5b8dff;--color-primary-text:#0c1220;--color-error:#ff7a7a;--color-error-bg:#3a1f22;--chart-grid:#2b2f37;--chart-axis-text:#a2a8b4;--chart-principal:#5b8dff;--chart-profit:#4fd68c;--chart-profit-year:#ffc169;--chart-loss:#ff7a7a;--chart-compare-base:#5b8dff;--chart-compare-1:#c084fc;--chart-compare-2:#fbbf24;--chart-compare-3:#f472b6}*{box-sizing:border-box}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html,body,#root{height:100%}#root:empty{height:auto}body{background:var(--color-bg);color:var(--color-text);font-variant-numeric:tabular-nums;margin:0}button{font:inherit}
