body{background:var(--calc-bg-page,#0d1117);min-height:100vh;color:var(--calc-text-primary,#f8fafc);font-family:var(--calc-font-body,"Inter", system-ui, sans-serif);margin:0;line-height:1.6}.ltv-app{--ltv-accent:var(--calc-cyan,#22d3ee);--ltv-accent-soft:#22d3ee1a;--ltv-nested:#ffffff08;--ltv-nested-border:var(--calc-border-subtle,#f0f6fc0f);--ltv-good:var(--calc-emerald,#34d399);--ltv-bad:var(--calc-rose,#fb7185);--ltv-warn:var(--calc-amber,#f59e0b);--ltv-info:var(--calc-sky,#60a5fa)}[data-theme=light] .ltv-app{--ltv-accent:#0891b2;--ltv-accent-soft:#0891b21a;--ltv-nested:#f0f4f9;--ltv-nested-border:#0000001a}.ltv-app .hidden,.ltv-app [hidden]{display:none}.main-container{max-width:1400px;margin:0 auto;padding:24px 20px 40px}.ltv-header{text-align:center;max-width:760px;margin:0 auto 24px}.page-title{font-family:var(--calc-font-headline,"Plus Jakarta Sans", sans-serif);letter-spacing:-.02em;color:var(--calc-text-primary,#f8fafc);margin:0 0 10px;font-size:clamp(1.9rem,4vw,2.5rem);font-weight:800;line-height:1.15}.page-subtitle{color:var(--calc-text-muted,#a8b8cc);margin:0;font-size:.98rem;line-height:1.6}.ltv-layout{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:18px;display:grid}.ltv-card,.ltv-dashboard{background:var(--calc-bg-card,#161b22);border:1px solid var(--calc-border-default,#f0f6fc1a);border-radius:var(--calc-radius-lg,16px);min-width:0;box-shadow:var(--calc-shadow-card,none);padding:20px}.ltv-dashboard{flex-direction:column;gap:16px;display:flex}.ltv-card__title{font-family:var(--calc-font-mono,monospace);letter-spacing:.12em;text-transform:uppercase;color:var(--calc-text-muted,#a8b8cc);margin:0 0 12px;font-size:.72rem;font-weight:700}.ltv-dashboard .ltv-card__title{margin:0}.ltv-segment{background:var(--ltv-nested);border:1px solid var(--ltv-nested-border);border-radius:999px;gap:4px;padding:4px;display:flex}.preset-btn{color:var(--calc-text-muted,#a8b8cc);cursor:pointer;background:0 0;border:none;border-radius:999px;flex:1;padding:8px 10px;font-family:inherit;font-size:.82rem;font-weight:600;transition:background-color .2s,color .2s}.preset-btn:hover{color:var(--calc-text-primary,#f8fafc)}.preset-btn[data-active=true]{background:var(--ltv-accent);color:#0d1117}[data-theme=light] .preset-btn[data-active=true]{color:#fff}.model-desc{text-align:center;min-height:18px;color:var(--calc-text-dim,#7b90a8);margin:8px 0 0;font-size:.8rem;line-height:1.4}.scenario-bar{flex-wrap:wrap;align-items:center;gap:6px;margin:12px 0 18px;display:flex}.scenario-label{letter-spacing:.06em;text-transform:uppercase;color:var(--calc-text-dim,#7b90a8);margin-right:2px;font-size:.7rem;font-weight:700}.scenario-btn{border:1px solid var(--calc-border-default,#f0f6fc1a);background:var(--ltv-nested);color:var(--calc-text-muted,#a8b8cc);cursor:pointer;border-radius:999px;padding:4px 12px;font-family:inherit;font-size:.76rem;font-weight:600;transition:border-color .2s,color .2s,background-color .2s}.scenario-btn:hover{border-color:var(--ltv-accent);color:var(--ltv-accent)}.scenario-btn.active{border-color:var(--ltv-accent);background:var(--ltv-accent-soft);color:var(--ltv-accent)}.ltv-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 14px;display:grid}.ltv-field{flex-direction:column;gap:6px;min-width:0;margin:0;display:flex}.ltv-label{color:var(--calc-text-muted,#a8b8cc);font-size:.8rem;font-weight:600}.ltv-app .input-with-unit>input{font-family:var(--calc-font-mono,monospace)}.ltv-app .input-with-unit>.glass-input{box-shadow:none;background:0 0;border:none}.ltv-app input[type=number]::-webkit-outer-spin-button,.ltv-app input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ltv-app input[type=number]{-moz-appearance:textfield;appearance:textfield}.input-prefix,.input-unit{cursor:text}.ltv-info{color:var(--calc-text-dim,#7b90a8);margin-left:4px;font-weight:400}.chip-row{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.chip-label{color:var(--calc-text-dim,#7b90a8);font-size:.7rem}.chip{border:1px solid var(--calc-border-default,#f0f6fc1a);background:var(--ltv-nested);color:var(--calc-text-muted,#a8b8cc);font-family:var(--calc-font-mono,monospace);cursor:pointer;white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:.72rem;transition:border-color .2s,color .2s,background-color .2s}.chip:hover,.chip:focus-visible{border-color:var(--ltv-accent);color:var(--ltv-accent)}.chip.active{border-color:var(--ltv-accent);background:var(--ltv-accent-soft);color:var(--ltv-accent);font-weight:700}.formula-strip{background:var(--ltv-nested);border:1px solid var(--ltv-nested-border);border-left:3px solid var(--ltv-accent);border-radius:var(--calc-radius-sm,8px);font-family:var(--calc-font-mono,monospace);color:var(--calc-text-primary,#f8fafc);overflow-wrap:anywhere;margin-top:18px;padding:10px 14px;font-size:.8rem;line-height:1.6}.formula-strip .formula-dim{color:var(--calc-text-dim,#7b90a8)}.formula-strip .formula-sub{color:var(--calc-text-muted,#a8b8cc)}.formula-strip .formula-result{color:var(--ltv-accent);font-weight:700}.ltv-dashboard__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.ltv-viral{background:var(--ltv-nested);border:1px solid var(--ltv-nested-border);border-radius:999px;align-items:center;gap:12px;padding:6px 12px;display:flex}.ltv-viral__k{align-items:center;gap:6px;display:flex}.ltv-viral__label{font-family:var(--calc-font-mono,monospace);color:var(--calc-text-muted,#a8b8cc);font-size:.8rem;font-weight:700}#input-viral{width:64px;font-family:var(--calc-font-mono,monospace);text-align:center;padding:3px 6px;font-size:.82rem}.ltv-switch{cursor:pointer;user-select:none;align-items:center;gap:8px;display:inline-flex}.ltv-switch__input{opacity:0;width:1px;height:1px;position:absolute}.ltv-switch__track{background:var(--calc-border-strong,#f0f6fc33);border-radius:999px;flex-shrink:0;width:34px;height:18px;transition:background-color .2s;position:relative}.ltv-switch__track:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0000004d}.ltv-switch__input:checked+.ltv-switch__track{background:var(--ltv-accent)}.ltv-switch__input:checked+.ltv-switch__track:after{transform:translate(16px)}.ltv-switch__input:focus-visible+.ltv-switch__track{outline:2px solid var(--ltv-accent);outline-offset:2px}.ltv-switch__text{color:var(--calc-text-muted,#a8b8cc);font-size:.8rem;font-weight:700}.ltv-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.ltv-kpi{background:var(--ltv-nested);border:1px solid var(--ltv-nested-border);border-top:3px solid var(--kpi-accent,var(--ltv-accent));border-radius:var(--calc-radius-md,12px);flex-direction:column;gap:4px;min-width:0;padding:14px 16px;display:flex}.ltv-kpi--ltv{--kpi-accent:var(--ltv-accent)}.ltv-kpi--profit{--kpi-accent:var(--ltv-good)}.ltv-kpi--ratio{--kpi-accent:var(--ltv-info)}.ltv-kpi__label{font-family:var(--calc-font-mono,monospace);letter-spacing:.08em;text-transform:uppercase;color:var(--calc-text-muted,#a8b8cc);font-size:.68rem;font-weight:700}.ltv-kpi__hint{text-transform:none;letter-spacing:0;color:var(--calc-text-dim,#7b90a8);font-weight:400}.ltv-kpi__value{font-family:var(--calc-font-mono,monospace);color:var(--calc-text-primary,#f8fafc);overflow-wrap:anywhere;font-size:clamp(1.45rem,2.4vw,1.85rem);font-weight:700;line-height:1.15}.ltv-kpi__value.is-pos{color:var(--ltv-good)}.ltv-kpi__value.is-neg{color:var(--ltv-bad)}.ltv-kpi__sub{color:var(--calc-text-dim,#7b90a8);font-size:.74rem}.ltv-kpi__badge{min-height:22px}.ratio-badge{border:1px solid;border-radius:6px;align-items:center;padding:2px 9px;font-size:.72rem;font-weight:700;display:inline-flex}.ratio-badge--organic,.ratio-badge--caution{color:#fde68a;background:#f59e0b1f;border-color:#f59e0b4d}.ratio-badge--bad{color:#fecdd3;background:#fb71851f;border-color:#fb71854d}.ratio-badge--good{color:#bfdbfe;background:#60a5fa1f;border-color:#60a5fa4d}.ratio-badge--great{color:#a7f3d0;background:#34d3991f;border-color:#34d3994d}[data-theme=light] .ratio-badge--organic,[data-theme=light] .ratio-badge--caution{color:#92400e;background:#fffbeb;border-color:#d977064d}[data-theme=light] .ratio-badge--bad{color:#9f1239;background:#fff1f2;border-color:#e11d484d}[data-theme=light] .ratio-badge--good{color:#1e3a8a;background:#eff6ff;border-color:#2563eb4d}[data-theme=light] .ratio-badge--great{color:#14532d;background:#f0fdf4;border-color:#16a34a4d}.ratio-track{background:var(--calc-bg-card,#161b22);border:1px solid var(--ltv-nested-border);border-radius:999px;height:6px;margin-top:2px;overflow:hidden}.ratio-bar{background:var(--ltv-info);border-radius:999px;width:0;height:100%;transition:width .8s,background-color .3s}.ratio-bar--bad{background:var(--ltv-bad)}.ratio-bar--warn{background:var(--ltv-warn)}.ratio-bar--good{background:var(--ltv-good)}.ltv-minis{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.kpi-mini{background:var(--ltv-nested);border:1px solid var(--ltv-nested-border);border-radius:var(--calc-radius-sm,8px);min-width:0;padding:10px 12px}.kpi-mini__label{letter-spacing:.05em;text-transform:uppercase;color:var(--calc-text-dim,#7b90a8);font-size:.66rem;font-weight:600}.kpi-mini__value{font-family:var(--calc-font-mono,monospace);color:var(--calc-text-primary,#f8fafc);margin-top:3px;font-size:1rem;font-weight:700}.kpi-mini__value.highlight{color:var(--ltv-accent)}.kpi-mini__value.good{color:var(--ltv-good)}.kpi-mini__value.warn{color:var(--ltv-warn)}.kpi-mini__value.bad{color:var(--ltv-bad)}[data-theme=light] .kpi-mini__value.warn{color:#b45309}.viral-lift-card-container{display:none}.viral-lift-card-container.expanded{display:block}.viral-lift-card{background:var(--ltv-nested);border-radius:var(--calc-radius-md,12px);border:1px solid #60a5fa4d;padding:14px 16px}.viral-lift-card__cols{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.viral-lift-card__right{text-align:right}.viral-lift-card__label{letter-spacing:.06em;text-transform:uppercase;width:fit-content;color:var(--calc-text-muted,#a8b8cc);font-size:.7rem;font-weight:700}.viral-lift-card__right .viral-lift-card__label{margin-left:auto}.viral-lift-card__value{font-family:var(--calc-font-mono,monospace);color:var(--ltv-info);font-size:1.4rem;font-weight:700}.viral-lift-card__note{color:var(--calc-text-dim,#7b90a8);margin:8px 0 0;font-size:.74rem}.ltv-chart-card{background:var(--ltv-nested);border:1px solid var(--ltv-nested-border);border-radius:var(--calc-radius-md,12px);padding:14px}.ltv-chart-card__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.ltv-chart-card__title{color:var(--calc-text-primary,#f8fafc);margin:0;font-size:.9rem;font-weight:700}.ltv-legend{color:var(--calc-text-dim,#7b90a8);flex-wrap:wrap;gap:12px;font-size:.74rem;display:flex}.ltv-legend span{align-items:center;gap:5px;display:inline-flex}.ltv-legend__dot{border-radius:50%;width:8px;height:8px}.ltv-legend__dot--value{background:var(--ltv-info)}.ltv-legend__dot--cac{background:var(--ltv-bad)}.ltv-legend__dot--profit{border:1px solid var(--ltv-good);background:#34d39959}#chart-container{width:100%;height:280px;position:relative}#chart-container svg{overflow:visible}.chart-error{text-align:center;height:100%;color:var(--calc-text-dim,#7b90a8);justify-content:center;align-items:center;padding:20px;font-size:.82rem;display:flex}.ltv-tooltip{z-index:50;background:var(--calc-bg-card-elevated,#1c2128);border:1px solid var(--calc-border-default,#f0f6fc1a);min-width:170px;color:var(--calc-text-primary,#f8fafc);font-family:var(--calc-font-mono,monospace);pointer-events:none;border-radius:8px;padding:10px 12px;font-size:.74rem;transition:opacity .12s;position:fixed;box-shadow:0 8px 20px #00000040}.ltv-tooltip .flex{display:flex}.ltv-tooltip .justify-between{justify-content:space-between}.ltv-tooltip .gap-4{gap:1rem}.ltv-tooltip .mb-1{margin-bottom:.25rem}.ltv-tooltip .mb-2{margin-bottom:.5rem}.ltv-tooltip .mt-1{margin-top:.25rem}.ltv-tooltip .mt-2{margin-top:.5rem}.ltv-tooltip .pt-1{padding-top:.25rem}.ltv-tooltip .border-t{border-top:1px solid var(--calc-border-default,#f0f6fc1a)}.ltv-tooltip .font-bold{font-weight:700}.ltv-tooltip .text-slate-400,.ltv-tooltip .text-slate-500{color:var(--calc-text-dim,#7b90a8)}.ltv-tooltip .text-purple-400{color:var(--ltv-accent)}.ltv-tooltip .text-emerald-400{color:var(--ltv-good)}.ltv-tooltip .text-rose-400{color:var(--ltv-bad)}.alert-stack{flex-direction:column;gap:6px;margin-top:12px;display:flex}.alert-stack:empty{display:none}.alert-item{border-radius:8px;align-items:flex-start;gap:8px;padding:9px 12px;font-size:.8rem;line-height:1.45;display:flex}.alert-icon{flex-shrink:0}.alert-error{color:#fecdd3;background:#fb71851a;border:1px solid #fb71854d}.alert-warning{color:#fde68a;background:#f59e0b1a;border:1px solid #f59e0b4d}.alert-success{color:#a7f3d0;background:#34d3991a;border:1px solid #34d3994d}.alert-info{color:#bfdbfe;background:#60a5fa1a;border:1px solid #60a5fa4d}[data-theme=light] .alert-error{color:#7f1d1d;background:#fff1f2;border-color:#ef444459}[data-theme=light] .alert-warning{color:#78350f;background:#fffbeb;border-color:#d9770659}[data-theme=light] .alert-success{color:#14532d;background:#f0fdf4;border-color:#16a34a59}[data-theme=light] .alert-info{color:#1e3a5f;background:#eff6ff;border-color:#3b82f659}.sensitivity-panel{border:1px solid var(--ltv-nested-border);border-radius:var(--calc-radius-md,12px);background:var(--ltv-nested)}.sensitivity-panel>summary{cursor:pointer;color:var(--calc-text-primary,#f8fafc);justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;font-size:.88rem;font-weight:700;list-style:none;display:flex}.sensitivity-panel>summary::-webkit-details-marker{display:none}.sensitivity-panel>summary:hover{color:var(--ltv-accent)}.sens-badge{border:1px solid var(--ltv-nested-border);color:var(--calc-text-dim,#7b90a8);border-radius:999px;padding:2px 8px;font-size:.68rem;font-weight:600}.sensitivity-table{padding:0 14px 12px}.sens-header,.sens-line{grid-template-columns:minmax(0,1.2fr) 84px 84px minmax(0,1fr);align-items:center;gap:8px;display:grid}.sens-header{border-bottom:1px solid var(--ltv-nested-border);letter-spacing:.06em;text-transform:uppercase;color:var(--calc-text-dim,#7b90a8);padding-bottom:6px;font-size:.66rem;font-weight:700}.sens-num{text-align:right}.sens-line{border-bottom:1px solid var(--ltv-nested-border);padding:7px 0}.sens-line:last-child{border-bottom:none}.sens-line.top-lever{background:var(--ltv-accent-soft);border-radius:6px;padding-left:6px;padding-right:6px}.sens-var-name{color:var(--calc-text-muted,#a8b8cc);font-size:.8rem;font-weight:600}.sens-val{font-family:var(--calc-font-mono,monospace);text-align:right;font-size:.8rem}.sens-val-down{color:var(--ltv-bad)}.sens-val-up{color:var(--ltv-good)}.sens-bar-wrap{align-items:center;gap:6px;display:flex}.sens-bar-bg{background:var(--calc-bg-card,#161b22);border-radius:3px;flex:1;height:5px;overflow:hidden}.sens-bar{background:var(--ltv-accent);border-radius:3px;height:100%;transition:width .4s}.sens-pct{text-align:right;min-width:30px;color:var(--calc-text-dim,#7b90a8);font-size:.72rem}.ltv-app [data-tooltip]{cursor:help;position:relative}.ltv-app [data-tooltip]:hover:after{content:attr(data-tooltip);z-index:50;background:var(--calc-bg-card-elevated,#1c2128);border:1px solid var(--calc-border-default,#f0f6fc1a);width:max-content;max-width:220px;color:var(--calc-text-primary,#f8fafc);letter-spacing:0;text-align:center;text-transform:none;white-space:normal;pointer-events:none;border-radius:6px;margin-bottom:6px;padding:6px 10px;font-size:.72rem;font-weight:500;line-height:1.4;position:absolute;bottom:100%;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0003}.ltv-app>.action-bar{margin-top:18px}@keyframes metricFlash{0%{opacity:.35}to{opacity:1}}.metric-value.flash{animation:.38s ease-out metricFlash}@media (prefers-reduced-motion:reduce){.metric-value.flash{animation:none}}@media (width<=1024px){.ltv-layout{grid-template-columns:minmax(0,1fr)}}@media (width<=768px){.ltv-kpis{grid-template-columns:minmax(0,1fr)}.ltv-minis{grid-template-columns:repeat(2,minmax(0,1fr))}#chart-container{height:240px}}@media (width<=480px){.main-container{padding:16px 16px 32px}.ltv-card,.ltv-dashboard{padding:16px}.ltv-fields{grid-template-columns:minmax(0,1fr)}.sens-header,.sens-line{grid-template-columns:minmax(0,1fr) 66px 66px 36px;gap:6px}.sens-bar-bg{display:none}}