:root{--font-sans: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--color-bg: #f4f6f9;--color-surface: #ffffff;--color-surface-muted: #f8fafc;--color-border: #e2e8f0;--color-text: #0f172a;--color-text-muted: #64748b;--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-soft: #dbeafe;--color-danger: #dc2626;--color-danger-soft: #fef2f2;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--shadow-sm: 0 1px 2px rgb(15 23 42 / 6%);--shadow-md: 0 8px 24px rgb(15 23 42 / 8%);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--max-width: 1100px}@media(prefers-color-scheme:dark){:root{--color-bg: #0b1220;--color-surface: #111827;--color-surface-muted: #1f2937;--color-border: #334155;--color-text: #f8fafc;--color-text-muted: #94a3b8;--color-primary: #60a5fa;--color-primary-hover: #93c5fd;--color-primary-soft: #1e3a5f;--color-danger: #f87171;--color-danger-soft: #450a0a;--shadow-sm: 0 1px 2px rgb(0 0 0 / 30%);--shadow-md: 0 8px 24px rgb(0 0 0 / 35%)}}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;font-family:var(--font-sans);color:var(--color-text);background:radial-gradient(circle at top right,var(--color-primary-soft),transparent 45%),var(--color-bg);line-height:1.5}#root{min-height:100vh}h1,h2,h3,p{margin:0}button,input{font:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.app{max-width:var(--max-width);margin:0 auto;padding:var(--space-lg) var(--space-md) var(--space-xl)}.app__header{margin-bottom:var(--space-xl);text-align:center}.app__eyebrow{display:inline-block;margin-bottom:var(--space-sm);padding:.2rem .65rem;border-radius:999px;background:var(--color-primary-soft);color:var(--color-primary);font-size:.8rem;font-weight:600;letter-spacing:.02em}.app__title{font-size:clamp(1.75rem,4vw,2.35rem);font-weight:700;letter-spacing:-.02em}.app__subtitle{margin-top:var(--space-sm);color:var(--color-text-muted);max-width:42rem;margin-inline:auto}.app__layout{display:grid;gap:var(--space-lg)}.settings{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm)}.settings__header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-lg)}.settings__title{font-size:1.15rem;font-weight:600}.settings__description{margin-top:var(--space-xs);color:var(--color-text-muted);font-size:.95rem}.settings__grid{display:grid;gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.settings__active{margin-top:var(--space-md);padding:var(--space-md);border-radius:var(--radius-md);background:var(--color-surface-muted);color:var(--color-text-muted);font-size:.9rem}.tabs{display:grid;gap:var(--space-sm)}@media(min-width:720px){.tabs{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}.tabs__tab{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);text-align:left;transition:border-color .15s,box-shadow .15s,background .15s}.tabs__tab:hover{border-color:var(--color-primary)}.tabs__tab--active{border-color:var(--color-primary);background:var(--color-primary-soft);box-shadow:var(--shadow-sm)}.tabs__label{font-weight:600;font-size:.95rem}.tabs__hint{font-size:.8rem;color:var(--color-text-muted);line-height:1.35}.calculator-panel{margin-top:var(--space-md)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-md)}.card__header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-md)}.card__title{font-size:1.25rem;font-weight:600}.card__description{margin-top:var(--space-xs);color:var(--color-text-muted);max-width:52rem}.card__formula{margin-bottom:var(--space-lg);padding:var(--space-md);border-radius:var(--radius-md);background:var(--color-surface-muted);color:var(--color-text-muted);font-size:.92rem}.card__formula-label{font-weight:600;color:var(--color-text)}.card__body{display:block;margin-top:var(--space-lg)}.excel-guide{margin-bottom:var(--space-lg);padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.excel-guide__title{margin:0 0 var(--space-sm);font-size:.95rem;font-weight:600}.excel-guide__intro{margin:0 0 var(--space-md);color:var(--color-text-muted);font-size:.88rem}.excel-guide__grid-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.excel-guide__grid{width:100%;min-width:520px;border-collapse:collapse;font-size:.84rem}.excel-guide__grid th,.excel-guide__grid td{border:1px solid var(--color-border);padding:.45rem .55rem;vertical-align:top}.excel-guide__grid thead th{background:var(--color-surface);font-weight:600;text-align:center}.excel-guide__corner{width:2rem;background:#e8ecf1}.excel-guide__row-num{width:2rem;text-align:center;background:#e8ecf1;font-weight:600;color:var(--color-text-muted)}.excel-guide__cell{min-width:7rem}.excel-guide__cell--label{background:var(--color-surface);font-weight:500}.excel-guide__cell--formula{background:#ecfdf5}.excel-guide__cell--result{background:var(--color-primary-soft);font-weight:600}.excel-guide__ref{display:block;font-size:.7rem;font-weight:700;color:var(--color-primary);margin-bottom:.2rem}.excel-guide__content,.excel-guide__formula{display:block;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.82rem;word-break:break-all}.excel-guide__formula{color:#15803d;font-weight:600}.excel-guide__tip,.excel-guide__hint{margin:var(--space-md) 0 0;font-size:.85rem;color:var(--color-text-muted);line-height:1.45}.excel-guide__hint code{font-size:.8rem}@media(prefers-color-scheme:dark){.excel-guide__corner,.excel-guide__row-num{background:#1e293b}.excel-guide__cell--formula{background:#14532d33}}.calculator-grid{display:grid;gap:var(--space-xl)}@media(min-width:768px){.calculator-grid{grid-template-columns:1fr 1fr;align-items:start}}.calculator-grid__inputs,.calculator-grid__results{display:grid;gap:var(--space-md)}.field__label{display:block;font-weight:600;margin-bottom:var(--space-xs)}.field__description{margin-bottom:var(--space-sm);color:var(--color-text-muted);font-size:.88rem}.field__input{width:100%;padding:.7rem .85rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text)}.field__input:focus{border-color:var(--color-primary)}.field__input--error{border-color:var(--color-danger);background:var(--color-danger-soft)}.field__error{margin-top:var(--space-xs);color:var(--color-danger);font-size:.85rem}.result{display:grid;gap:.15rem;padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.result--highlight{border-color:var(--color-primary);background:var(--color-primary-soft)}.result__label{font-size:.85rem;color:var(--color-text-muted);font-weight:600}.result__value{font-size:1.35rem;font-weight:700;letter-spacing:-.01em}.result__hint{font-size:.8rem;color:var(--color-text-muted)}.btn{border:none;border-radius:var(--radius-sm);padding:.55rem .9rem;font-weight:600;transition:background .15s,color .15s}.btn--ghost{background:transparent;color:var(--color-primary);border:1px solid var(--color-border)}.btn--ghost:hover{background:var(--color-primary-soft);border-color:var(--color-primary)}.app__footer{margin-top:var(--space-xl);text-align:center;color:var(--color-text-muted);font-size:.85rem}.app-error{max-width:36rem;margin:2rem auto;padding:1.5rem;font-family:var(--font-sans);color:var(--color-text, #0f172a);background:var(--color-surface, #fff);border:1px solid var(--color-danger, #dc2626);border-radius:var(--radius-md, 12px)}.app-error pre{margin-top:1rem;padding:.75rem;overflow:auto;font-size:.85rem;background:var(--color-surface-muted, #f8fafc);border-radius:var(--radius-sm, 8px)}
