.app{flex:1;display:flex;flex-direction:column;padding:24px 20px 40px;gap:24px}.header h1{font-size:24px;font-weight:700;letter-spacing:-.02em}.header .subtitle{margin-top:4px;color:var(--color-text-sub);font-size:14px}.form{display:flex;flex-direction:column;gap:14px;background:var(--color-surface);border-radius:var(--radius-l);padding:20px;border:1px solid var(--color-border)}.field{display:flex;flex-direction:column;gap:6px}.field .label{font-size:13px;color:var(--color-text-sub);font-weight:500}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-m);padding:4px}.seg{height:40px;border-radius:calc(var(--radius-m) - 4px);font-size:14px;font-weight:500;color:var(--color-text-sub);transition:all .15s}.seg.active{background:var(--color-accent);color:#fff}.seg-stack{height:auto;padding:8px;display:flex;flex-direction:column;gap:2px;line-height:1.3}.seg-stack strong{font-size:14px;font-weight:600}.seg-stack small{font-size:10px;opacity:.8;font-weight:400}.field input,.field select{height:48px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-m);padding:0 14px;font-size:16px;outline:none;transition:border-color .15s}.field input:focus,.field select:focus{border-color:var(--color-accent)}.field input.input-error{border-color:var(--color-danger)}.field-error{font-size:12px;color:var(--color-danger);margin-top:2px}.result{display:flex;flex-direction:column;gap:14px}.result-main{background:var(--color-surface);border-radius:var(--radius-l);padding:24px 20px;display:flex;flex-direction:column;gap:6px;border:1px solid var(--color-border)}.result-label{font-size:13px;color:var(--color-text-sub)}.result-value{font-size:32px;font-weight:700;letter-spacing:-.02em}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cell{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-m);padding:14px;display:flex;flex-direction:column;gap:4px}.cell.highlight{border-color:var(--color-accent);background:#3b82f614}.cell-label{font-size:12px;color:var(--color-text-sub)}.cell-value{font-size:17px;font-weight:600}.cell-sub{font-size:12px;color:var(--color-success);margin-top:2px}.age-chart{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-m);padding:14px 18px}.age-chart summary{cursor:pointer;font-size:14px;color:var(--color-text-sub);-webkit-user-select:none;user-select:none;outline:none}.age-chart[open] summary{margin-bottom:16px;color:var(--color-text);font-weight:500}.chart-wrap{display:flex;align-items:flex-end;gap:4px;height:100px}.chart-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%}.chart-val{font-size:8px;color:var(--color-text-muted);line-height:1}.chart-bar-wrap{flex:1;width:100%;display:flex;align-items:flex-end}.chart-bar{width:100%;background:var(--color-surface-2);border-radius:3px 3px 0 0;transition:height .3s ease;min-height:4px}.chart-bar.active{background:var(--color-accent)}.chart-label{font-size:8px;color:var(--color-text-muted);white-space:nowrap}.chart-note{margin-top:10px;font-size:11px;color:var(--color-text-muted)}.breakdown{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-m);padding:14px 18px;font-size:14px}.breakdown summary{cursor:pointer;color:var(--color-text-sub);-webkit-user-select:none;user-select:none;outline:none}.breakdown[open] summary{margin-bottom:12px;color:var(--color-text);font-weight:500}.breakdown ul{list-style:none;display:flex;flex-direction:column;gap:8px}.breakdown li{display:flex;justify-content:space-between;font-size:14px}.breakdown li.reduction{color:var(--color-success)}.footer{margin-top:auto;font-size:11px;color:var(--color-text-muted);line-height:1.5}.footer p+p{margin-top:4px}.footer-link{display:inline-block;margin-top:10px;color:var(--color-accent);text-decoration:none;font-size:12px;font-weight:500}.note{font-size:12px;color:var(--color-text-sub);background:var(--color-surface-2);padding:10px 12px;border-radius:var(--radius-s);line-height:1.5}.advanced{background:var(--color-surface-2);border-radius:var(--radius-m);padding:12px 14px}.advanced summary{cursor:pointer;font-size:14px;color:var(--color-text-sub);-webkit-user-select:none;user-select:none;outline:none}.advanced[open] summary{margin-bottom:12px;color:var(--color-text);font-weight:500}.advanced-body{display:flex;flex-direction:column;gap:10px}.radio{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:var(--radius-s);cursor:pointer;background:var(--color-surface);transition:background .15s}.radio:hover{background:var(--color-border)}.radio input{margin-top:3px;accent-color:var(--color-accent)}.radio span{display:flex;flex-direction:column;gap:2px;font-size:13px}.radio span strong{font-weight:500}.radio span small{color:var(--color-text-muted);font-size:11px;line-height:1.4}.advanced-hint{font-size:11px;color:var(--color-text-muted);padding-left:4px}.section-title{font-size:12px;color:var(--color-text-sub);font-weight:500;margin-top:4px;margin-bottom:-4px;padding-left:4px}.annual-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.result-badge{display:inline-block;margin-top:6px;padding:4px 10px;border-radius:var(--radius-s);font-size:11px;font-weight:500;align-self:flex-start}.result-badge.ok{background:#10b98126;color:var(--color-success)}.result-badge.warn{background:#f59e0b26;color:var(--color-warning)}.warning{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);color:var(--color-warning);padding:12px 14px;border-radius:var(--radius-m);font-size:13px;line-height:1.5}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #0f1115;--color-surface: #1a1d24;--color-surface-2: #242830;--color-text: #f5f5f7;--color-text-sub: #9ca3af;--color-text-muted: #6b7280;--color-border: #2d323c;--color-accent: #3b82f6;--color-success: #10b981;--color-warning: #f59e0b;--color-danger: #ef4444;--radius-s: 8px;--radius-m: 12px;--radius-l: 16px;--shadow-1: 0 1px 2px rgba(0, 0, 0, .3);font-family:Pretendard,-apple-system,Apple SD Gothic Neo,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}body{min-height:100dvh;max-width:430px;margin:0 auto;background:var(--color-bg)}#root{min-height:100dvh;display:flex;flex-direction:column}button{cursor:pointer;border:none;background:none;font:inherit;color:inherit}input,select{font:inherit;color:inherit}
