:root{color:#26352b;font-synthesis:none;text-rendering:optimizelegibility;background:#f6f7f2;font-family:Inter,Hiragino Sans,Yu Gothic,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 8% 0,#fffdf7 0,#f7f8f2 34%,#f0f4ed 72%,#edf2eb 100%);min-width:320px;min-height:100vh;margin:0}button,input,table{font:inherit}.page-shell{width:min(1440px,100% - 40px);margin:0 auto;padding:48px 0 32px}.page-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:26px;display:flex}.page-header h1{letter-spacing:-.055em;margin:7px 0;font-size:clamp(2rem,4vw,3.2rem)}.page-header p{color:#718076;margin:0}.brand{color:#55725e;letter-spacing:.08em;align-items:center;gap:7px;font-size:.82rem;font-weight:750;display:inline-flex}.brand-mark{background:#e8f1e6;border-radius:50%;place-items:center;width:27px;height:27px;display:inline-grid}.eyebrow{color:#718077;letter-spacing:.1em;font-size:.71rem;font-weight:700}.panel{background:#fffffce6;border:1px solid #e2e8de;border-radius:26px;box-shadow:0 12px 36px #3a4c3e0b}.hero-card{background:linear-gradient(145deg,#fffffcf5,#f6faf3eb);padding:30px}.section-heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px;display:flex}.section-heading--hero{margin-bottom:26px}.section-heading--outside{margin:36px 2px 16px}.section-heading h2{letter-spacing:-.03em;margin:5px 0 0;font-size:1.35rem}.section-note{color:#849087;font-size:.8rem}.status,.signal{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:7px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.status--on_track,.signal--normal{color:#426a4e;background:#edf6eb}.status--watch,.signal--frequency_up,.signal--unit_price_up{color:#806b3f;background:#fbf5e7}.status--off_track{color:#8a5c51;background:#f9eeea}.signal--insufficient_data{color:#6e7c72;background:#f0f2ee}.annual-main{justify-content:space-between;align-items:end;gap:20px;display:flex}.hero-label{color:#7b887f;font-size:.84rem}.hero-number{letter-spacing:-.065em;margin-top:7px;font-size:clamp(2.25rem,6vw,4.5rem);font-weight:750;line-height:1}.annual-progress-copy{color:#718077;flex-direction:column;align-items:flex-end;display:flex}.annual-progress-copy strong{color:#34473a;font-size:1.55rem}.progress{background:#edf0e9;border-radius:999px;height:10px;margin:23px 0 25px;overflow:hidden}.progress span{background:linear-gradient(90deg,#9dbb9d,#668e70);height:100%;display:block}.progress--small{height:7px;margin:16px 0 11px}.metrics-grid{gap:12px;display:grid}.metrics-grid--annual,.metrics-grid--month{grid-template-columns:repeat(4,minmax(0,1fr))}.metric{background:#f8faf5;border:1px solid #e8ece4;border-radius:19px;flex-direction:column;gap:5px;padding:16px;display:flex}.metric__label{color:#7a877e;font-size:.78rem}.metric__value{font-size:1.14rem}.metric__hint{color:#879188;font-size:.74rem}.track-grid{grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;display:grid}.track-card{padding:22px}.section-panel{margin-top:16px}.track-grid .section-panel{margin-top:0}.track-total{align-items:baseline;gap:8px;display:flex}.track-total strong{font-size:1.9rem}.track-total span,.track-meta{color:#748078}.track-meta{justify-content:space-between;font-size:.81rem;display:flex}.special-summary{margin-bottom:18px}.current-panel,.table-panel{margin-top:16px;padding:24px}.table-scroll{border:1px solid #e6ebe2;border-radius:17px;overflow-x:auto}table{border-collapse:separate;border-spacing:0;background:#fffefa;width:100%;min-width:900px}.special-table{min-width:560px}th,td{text-align:right;white-space:nowrap;border-bottom:1px solid #edf0ea;padding:14px 13px;font-size:.84rem}th{color:#748078;background:#f7f9f4;font-size:.74rem}th:first-child,td:first-child{text-align:left;min-width:136px}.category-name{font-weight:700}.category-cell{align-items:center;gap:7px;display:flex}.focus-badge{color:#4f7058;letter-spacing:.01em;background:#edf6eb;border-radius:999px;align-items:center;padding:4px 7px;font-size:.66rem;font-weight:750;display:inline-flex}.category-table th:first-child,.category-table td:first-child,.special-table th:first-child,.special-table td:first-child,.history-table th:first-child,.history-table td:first-child{z-index:2;background:#fffefa;position:sticky;left:0;box-shadow:8px 0 14px -14px #2b3b2fcc}.category-table thead th:first-child,.special-table thead th:first-child,.history-table thead th:first-child{z-index:3;background:#f7f9f4}.variance--over{color:#9a675d}.behavior-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.behavior-card{padding:20px}.behavior-card__header,.behavior-current{justify-content:space-between;align-items:center;display:flex}.behavior-current{margin-top:20px}.behavior-current strong{font-size:2rem}.month-nav{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:18px;gap:6px;margin-bottom:16px;padding:8px;display:flex;position:sticky;top:8px;overflow-x:auto}.month-nav button{color:#718077;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:12px;padding:9px 13px}.month-nav button:hover{background:#f0f4ed}.month-nav button.active{color:#3e6549;background:#e5efe3;font-weight:750}.monthly-chart-panel{margin-top:16px;padding:24px}.chart-legend{color:#77847b;gap:14px;font-size:.76rem;display:flex}.chart-legend span{align-items:center;gap:6px;display:inline-flex}.legend-swatch{border-radius:3px;width:10px;height:10px;display:inline-block}.legend-swatch--budget{background:#dfe7dc}.legend-swatch--actual{background:#78997e}.monthly-chart-scroll{padding:8px 0 2px;overflow-x:auto}.monthly-chart{background:linear-gradient(0deg,#e7ede48c 1px,#0000 1px) 0 0/100% 25%;grid-auto-columns:minmax(64px,1fr);grid-auto-flow:column;align-items:end;gap:6px;height:255px;padding:28px 4px 14px;display:grid}.monthly-bar-group{color:inherit;cursor:pointer;background:0 0;border:0;grid-template-rows:178px auto auto;gap:6px;min-width:0;padding:0 4px;display:grid}.monthly-bar-group:focus-visible{outline-offset:3px;border-radius:10px;outline:2px solid #6f9277}.monthly-bars{justify-content:center;align-items:end;gap:5px;height:178px;display:flex;position:relative}.monthly-bar{border-radius:7px 7px 2px 2px;width:16px;min-height:0;transition:transform .15s;display:block;position:relative}.monthly-bar--budget{background:#dfe7dc}.monthly-bar--actual{background:#78997e}.monthly-bar--over{background:#b8897b}.monthly-bar-group:hover .monthly-bar{transform:translateY(-2px)}.mimori-cry{white-space:nowrap;font-size:.9rem;position:absolute;bottom:calc(100% + 5px);left:50%;transform:translate(-50%)}.monthly-bar-label{color:#59685e;font-size:.75rem;font-weight:750}.monthly-bar-current,.monthly-bar-variance{color:#8b958e;white-space:nowrap;font-size:.65rem;line-height:1.35}.monthly-bar-variance{padding-bottom:9px}.monthly-bar-current{color:#69806f;padding-bottom:9px;font-weight:700}.monthly-chart-note{border-top:1px solid #e6ebe2;margin:0;padding-top:13px}.history-summary{margin-top:0}.history-table table{min-width:560px}.history-table th:first-child,.history-table td:first-child{min-width:150px}.state-page{place-items:center;min-height:100vh;padding:24px;display:grid}.state-card{padding:32px}.loader{border:4px solid #dbe3da;border-top-color:#719078;border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}footer{color:#929b94;text-align:center;padding:30px 4px 0;font-size:.7rem}@media (width<=980px){.metrics-grid--annual,.metrics-grid--month,.behavior-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.page-shell{width:min(100% - 24px,1440px);padding-top:25px}.page-header{flex-direction:column;align-items:flex-start}.page-header h1{font-size:2.15rem}.hero-card,.table-panel,.current-panel,.monthly-chart-panel{padding:18px}.annual-main{flex-direction:column;align-items:flex-start}.annual-progress-copy{align-items:flex-start}.metrics-grid--annual,.metrics-grid--month,.track-grid,.behavior-grid{grid-template-columns:1fr}.section-heading{align-items:flex-start}.table-panel .section-heading{flex-direction:column;margin-bottom:14px}table{min-width:720px}.special-table{min-width:520px}.history-table table{min-width:500px}th,td{padding:11px 8px;font-size:.78rem}.category-table th:first-child,.category-table td:first-child{min-width:150px;max-width:150px}.special-table th:first-child,.special-table td:first-child{min-width:144px;max-width:144px}.history-table th:first-child,.history-table td:first-child{min-width:150px;max-width:150px}.category-cell{flex-direction:column;align-items:flex-start;gap:4px}.focus-badge{padding:3px 6px;font-size:.6rem}.month-nav{margin-left:-4px;margin-right:-4px}.monthly-chart-panel .section-heading{flex-direction:column;align-items:flex-start;margin-bottom:12px}.monthly-chart-scroll{margin-right:-4px}.monthly-chart{height:238px;padding-bottom:12px}.monthly-bar-group{grid-template-rows:160px auto auto}.monthly-bars{height:160px}.monthly-bar-variance,.monthly-bar-current{padding-bottom:8px}}.monthly-bar-future{color:#8b958e;white-space:nowrap;padding-bottom:9px;font-size:.65rem;font-weight:700;line-height:1.35}.monthly-bar-group--future{cursor:default}.monthly-bar-group--future:hover .monthly-bar{transform:none}@media (width>=768px){.monthly-chart-scroll{overflow-x:hidden}.monthly-chart{grid-auto-flow:row;grid-auto-columns:unset;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;width:100%;min-width:0!important}.monthly-bar-group{padding-inline:1px}.monthly-bars{gap:3px}.monthly-bar{width:14px}}@media (width<=767px){.monthly-bar-future{padding-bottom:8px}}.lt-shell{max-width:1120px;margin:0 auto;padding:28px 18px 64px}.lt-header{margin-bottom:24px}.lt-header h1{margin:.2rem 0 .5rem;font-size:clamp(2rem,5vw,3.2rem)}.lt-header p{max-width:780px;color:var(--muted,#64748b)}.lt-back{color:inherit;margin-bottom:18px;text-decoration:none;display:inline-block}.lt-summary-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px;display:grid}.lt-card{flex-direction:column;gap:7px;padding:22px;display:flex}.lt-card strong{font-size:clamp(1.8rem,4vw,2.7rem)}.lt-card small,.lt-note{color:var(--muted,#64748b);line-height:1.55}.lt-section{margin-bottom:16px;padding:22px}.lt-section h2{margin:.25rem 0 1rem}.lt-section-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.lt-period{color:var(--muted,#64748b);white-space:nowrap;font-size:.9rem}.lt-two{grid-template-columns:1fr 1fr;gap:16px;display:grid}.lt-dl{margin:0}.lt-dl div{border-bottom:1px solid #80808026;justify-content:space-between;gap:18px;padding:12px 0;display:flex}.lt-dl dt{color:var(--muted,#64748b)}.lt-dl dd{text-align:right;margin:0;font-weight:700}.lt-allocation{gap:14px;display:grid}.lt-allocation-row{gap:7px;display:grid}.lt-allocation-label{justify-content:space-between;gap:12px;font-size:.95rem;display:flex}.lt-allocation-label strong{font-variant-numeric:tabular-nums}.lt-allocation-track{background:#80808026;border-radius:999px;height:9px;overflow:hidden}.lt-allocation-track span{border-radius:inherit;height:100%;display:block}.lt-target-section{background:linear-gradient(#3182ce0d,#3182ce04)}.lt-status{white-space:nowrap;border-radius:999px;align-items:center;padding:7px 12px;font-size:.85rem;font-weight:700;display:inline-flex}.lt-status--ahead{color:#276749;background:#2f855a21}.lt-status--on_track{color:#2b6cb0;background:#3182ce1f}.lt-status--behind{color:#975a16;background:#d69e2e29}.lt-target-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:stretch;gap:16px;display:grid}.lt-target-hero,.lt-target-list>div,.lt-target-education{background:#ffffff08;border:1px solid #80808029;border-radius:12px}.lt-target-hero{flex-direction:column;gap:6px;padding:18px;display:flex}.lt-target-hero>strong{font-size:clamp(2rem,5vw,3rem)}.lt-target-hero small{color:var(--muted,#64748b);line-height:1.5}.lt-target-list{grid-template-columns:1fr 1fr;gap:12px;display:grid}.lt-target-list>div{flex-direction:column;gap:6px;padding:18px;display:flex}.lt-target-list strong{font-size:1.45rem}.lt-target-list small{color:var(--muted,#64748b);line-height:1.45}.lt-target-education{flex-wrap:wrap;align-items:baseline;gap:12px;margin-top:12px;padding:14px 18px;display:flex}.lt-target-education strong{font-size:1.2rem}.lt-target-education small{color:var(--muted,#64748b)}.lt-target-meta{margin:12px 0 0}.lt-stacked-wrap{margin:12px 0 6px;overflow-x:auto}.lt-stacked-chart{border-bottom:1px solid #80808033;align-items:flex-end;gap:4px;min-width:720px;height:310px;padding:12px 4px 34px;display:flex}.lt-bar-column{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;min-width:10px;height:100%;display:flex;position:relative}.lt-bar{border-radius:3px 3px 0 0;flex-direction:column-reverse;width:100%;max-width:24px;min-height:2px;display:flex;overflow:hidden}.lt-segment{width:100%;display:block}.lt-bar-label{white-space:nowrap;color:var(--muted,#64748b);font-size:10px;position:absolute;top:calc(100% + 7px)}.lt-legend{flex-wrap:wrap;justify-content:center;gap:14px;margin:12px 0;display:flex}.lt-legend span{align-items:center;gap:6px;font-size:.85rem;display:flex}.lt-dot{border-radius:2px;width:9px;height:9px;display:inline-block}.lt-segment--education,.lt-dot--education,.lt-fill--education{background:#3182ce!important}.lt-segment--cashAndDeposits,.lt-dot--cashAndDeposits,.lt-fill--cashAndDeposits{background:#68d391!important}.lt-segment--regularEquities,.lt-dot--regularEquities,.lt-fill--regularEquities{background:#805ad5!important}.lt-segment--stockOptions,.lt-dot--stockOptions,.lt-fill--stockOptions{background:#d69e2e!important}.lt-segment--crypto,.lt-dot--crypto,.lt-fill--crypto{background:#dd6b20!important}.lt-segment--other,.lt-dot--other,.lt-fill--other{background:#a0aec0!important}.lt-segment--historical,.lt-dot--historical{background:#cbd5e0!important}.lt-annotation{border-left:4px solid #d69e2e}.lt-annotation p,.lt-source-note p{margin-bottom:0;line-height:1.7}.lt-source-note{background:#2f855a0a}@media (width<=760px){.lt-summary-grid,.lt-two,.lt-target-grid,.lt-target-list{grid-template-columns:1fr}.lt-shell{padding-top:20px}.lt-card strong{font-size:2rem}.lt-section-heading{display:block}.lt-status{margin-top:6px}.lt-period{margin-top:4px;display:block}.lt-stacked-chart{min-width:680px}}.lt-stacked-chart{height:380px;padding-top:84px}.lt-bar-column{cursor:pointer;outline:none}.lt-bar-column .lt-bar{transition:transform .18s,filter .18s,opacity .18s}.lt-bar-column:hover .lt-bar,.lt-bar-column:focus-visible .lt-bar,.lt-bar-column--active .lt-bar{filter:saturate(1.08)brightness(1.03);transform:scaleX(1.18)}.lt-bar-column:not(.lt-bar-column--active):hover~.lt-bar-column .lt-bar{opacity:.94}.lt-bar-column:focus-visible{border-radius:6px;box-shadow:0 0 0 2px #3182ce38}.lt-chart-tooltip{z-index:12;pointer-events:none;-webkit-backdrop-filter:blur(8px);background:#fffffff7;border:1px solid #80808033;border-radius:12px;flex-direction:column;gap:4px;min-width:190px;max-width:230px;padding:11px 13px;animation:.16s ease-out both lt-tooltip-in;display:flex;position:absolute;top:-72px;left:50%;transform:translate(-50%);box-shadow:0 12px 28px #0f172a29}.lt-chart-tooltip>span{color:var(--muted,#64748b);font-size:.78rem}.lt-chart-tooltip>strong{white-space:nowrap;font-size:.96rem}.lt-chart-tooltip>small{color:var(--muted,#64748b);white-space:nowrap;font-size:.78rem}.lt-chart-tooltip--start{left:0;transform:none}.lt-chart-tooltip--end{left:auto;right:0;transform:none}.lt-chart-help{text-align:center;color:var(--muted,#64748b);margin:2px 0 0;font-size:.78rem}@keyframes lt-tooltip-in{0%{opacity:0;transform:translate(-50%)translateY(5px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.lt-chart-tooltip--start,.lt-chart-tooltip--end{animation-name:lt-tooltip-in-edge}@keyframes lt-tooltip-in-edge{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.lt-bar-column .lt-bar,.lt-chart-tooltip{transition:none;animation:none}}@media (width<=760px){.lt-stacked-chart{height:370px;padding-top:80px}.lt-chart-tooltip{min-width:176px;padding:10px 12px}.lt-chart-help{text-align:left}}.lt-stacked-chart{gap:0;position:relative}.lt-stacked-chart>.lt-bar-column{box-sizing:border-box;padding-inline:2px}.lt-expectation-overlay{z-index:6;pointer-events:none;width:calc(100% - 8px);height:calc(100% - 118px);position:absolute;inset:84px 4px 34px;overflow:visible}.lt-expectation-line{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.lt-expectation-line--historical{stroke:#718096;stroke-width:2px}.lt-expectation-line--future{stroke:#63b3ed;stroke-width:2px;stroke-dasharray:7 7;opacity:.62}.lt-bar-column{z-index:2}.lt-bar-column:hover,.lt-bar-column:focus-visible,.lt-bar-column--active{z-index:8}.lt-bar-column--future{pointer-events:none}.lt-future-space{width:100%;height:2px;display:block}.lt-bar-column--future .lt-bar-label--future{color:#718096;display:none}.lt-bar-column--future:last-child .lt-bar-label--future{display:block}.lt-line-key{border-top:2px solid;width:22px;height:0;display:inline-block}.lt-line-key--historical{border-color:#718096}.lt-line-key--future{opacity:.72;border-color:#63b3ed;border-top-style:dashed}@media (width<=760px){.lt-expectation-overlay{height:calc(100% - 114px);top:80px}.lt-stacked-chart>.lt-bar-column{padding-inline:1.5px}}.assets-entry{z-index:20;background:color-mix(in srgb,var(--panel,#fff) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:176px;color:inherit;border:1px solid #2f855a38;border-radius:16px;gap:2px;padding:12px 15px;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid;position:fixed;top:22px;right:max(18px,50vw - 542px);box-shadow:0 8px 24px #0f172a14}.assets-entry:hover{border-color:#2f855a66;transform:translateY(-1px);box-shadow:0 12px 28px #0f172a1f}.assets-entry__eyebrow{letter-spacing:.12em;text-transform:uppercase;color:#2f855a;font-size:.68rem;font-weight:800}.assets-entry strong{font-size:.98rem}.assets-entry>span:last-child{color:var(--muted,#64748b);font-size:.78rem}@media (width<=760px){.assets-entry{min-width:0;margin:0 18px 16px;padding:13px 15px;position:static}.assets-entry__eyebrow{font-size:.66rem}}.category-cell:has(.focus-badge) .category-name{color:#355942;font-weight:800}.category-cell:has(.focus-badge) .category-name:before{content:"🌿";margin-right:4px;font-size:.82em}.focus-badge{display:none}@media (width<=680px){.category-table{width:max-content;min-width:590px;display:block}.category-table thead,.category-table tbody{display:block}.category-table thead tr,.category-table tbody tr{grid-template-columns:118px 118px 118px 118px 118px;width:max-content;display:grid}.category-table th,.category-table td{width:auto;min-width:0;display:block}.category-table th:first-child,.category-table td:first-child{grid-column:1;min-width:118px;max-width:118px}.category-table th:nth-child(2),.category-table td:nth-child(2){grid-column:2}.category-table th:nth-child(3),.category-table td:nth-child(3),.category-table th:nth-child(4),.category-table td:nth-child(4){display:none}.category-table th:nth-child(5),.category-table td:nth-child(5){grid-column:3}.category-table td:nth-child(5){flex-direction:column;justify-content:flex-start;align-items:flex-end;gap:8px;min-height:70px;display:flex}.category-table td:nth-child(5):after{white-space:normal;border-radius:999px;align-items:center;max-width:104px;padding:5px 7px;font-size:.64rem;font-weight:700;line-height:1.2;display:inline-flex}.category-table tr:has(td:nth-child(4) .status--on_track) td:nth-child(5):after{content:"✓ いいペース";color:#426a4e;background:#edf6eb}.category-table tr:has(td:nth-child(4) .status--watch) td:nth-child(5):after{content:"△ 少し気にかけたい";color:#806b3f;background:#fbf5e7}.category-table tr:has(td:nth-child(4) .status--off_track) td:nth-child(5):after{content:"↗ 見直しどき";color:#8a5c51;background:#f9eeea}.category-table th:nth-child(6),.category-table td:nth-child(6){grid-column:4}.category-table th:nth-child(7),.category-table td:nth-child(7){grid-column:5}.category-table th:nth-child(2),.category-table th:nth-child(5){font-size:0}.category-table th:nth-child(2):after,.category-table th:nth-child(5):after{font-size:.84rem;font-weight:700}.category-table th:nth-child(2):after{content:"今月目標"}.category-table th:nth-child(5):after{content:"今月実績"}.history-table table{width:max-content;min-width:448px;display:block}.history-table thead,.history-table tbody{display:block}.history-table thead tr,.history-table tbody tr{grid-template-columns:118px 110px 110px 110px;width:max-content;display:grid}.history-table th,.history-table td{width:auto;min-width:0;display:block}.history-table th:first-child,.history-table td:first-child{min-width:118px;max-width:118px}.history-table th:not(:first-child),.history-table td:not(:first-child){min-width:110px;max-width:110px}}
