:root{color:#17213c;background:#f3f5fa;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,select,input{font:inherit}button{cursor:pointer}.app{--bg:#f4f6fa;--surface:#fff;--surface-2:#edf2f8;--text:#18213a;--muted:#62708a;--line:#dbe2ed;--blue:#2563eb;--cyan:#0891b2;--shadow:0 10px 30px #25385a13;min-height:100vh;color:var(--text);background:var(--bg);grid-template-columns:280px 1fr;display:grid}.app.dark{--bg:#080d1a;--surface:#101827;--surface-2:#162033;--text:#e8f0ff;--muted:#9cacc5;--line:#26334b;--blue:#38bdf8;--cyan:#2dd4bf;--shadow:0 14px 40px #0007;background:radial-gradient(circle at 75% 0,#13244a 0,#0000 30%),#080d1a}.sidebar{background:var(--surface);border-right:1px solid var(--line);height:100vh;min-height:100vh;padding:24px 18px;position:sticky;top:0;overflow:auto}.brand{align-items:center;gap:10px;margin:0 0 26px;display:flex}.brand-icon{font-size:24px}.brand b{font-size:17px;display:block}.brand span{color:var(--muted);font-size:12px}.side-group{border-top:1px solid var(--line);padding:16px 0 4px}.side-group h2{letter-spacing:.08em;color:var(--muted);margin:0 0 15px;font-size:11px}.setting{margin:0 0 15px;display:block}.setting span,.select-setting{justify-content:space-between;gap:8px;font-size:12px;display:flex}.setting b,.select-setting b{font-weight:600}.setting em{color:var(--blue);font-style:normal;font-weight:700}.setting input{width:100%;accent-color:var(--blue);margin-top:8px}.select-setting{gap:7px;margin:0 0 15px;display:grid}.select-setting select{border:1px solid var(--line);background:var(--surface-2);color:var(--text);border-radius:7px;padding:8px}.workspace{min-width:0;padding:30px clamp(18px,3vw,48px) 55px}.topbar{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.topbar h1{letter-spacing:-.04em;margin:0;font-size:clamp(25px,3vw,34px)}.topbar p{color:var(--muted);margin:5px 0 0;font-size:14px}.actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.actions button,.preset{border:1px solid var(--line);background:var(--surface);color:var(--text);box-shadow:var(--shadow);border-radius:8px;align-items:center;gap:7px;padding:9px 11px;font-size:12px;font-weight:650;display:inline-flex}.actions button:hover,.actions button.active{border-color:var(--blue);color:var(--blue)}.preset{padding:0;position:relative}.preset>span,.preset>svg{pointer-events:none}.preset>span{align-items:center;gap:7px;padding:9px 0 9px 11px;display:inline-flex}.preset>svg{margin-right:9px}.preset select{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.compare-strip,.tutorial{background:color-mix(in srgb,var(--blue) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--blue) 35%,var(--line));border-radius:10px;flex-wrap:wrap;align-items:center;gap:18px;margin:0 0 18px;padding:12px 15px;font-size:13px;display:flex}.compare-strip button{color:var(--blue);background:0 0;border:0;margin-left:auto;font-weight:700}.positive{color:#16a34a}.negative{color:#ef4444}.tutorial{display:block}.tutorial>div{align-items:flex-start;gap:12px;display:flex}.tutorial svg{color:var(--blue);flex:none}.tutorial h2{margin:0;font-size:15px}.tutorial p{color:var(--muted);margin:3px 0;font-size:13px}.tutorial ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 25px;margin:13px 0 0;padding-left:18px;font-size:13px;display:grid}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px;display:grid}.metric-card,.panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px}.metric-card{min-height:125px;padding:17px}.metric-heading,.panel-title{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.metric-card.tone-blue svg{color:#38bdf8}.metric-card.tone-green svg{color:#22c55e}.metric-card.tone-purple svg{color:#a855f7}.metric-card.tone-cyan svg{color:#2dd4bf}.metric-card strong{letter-spacing:-.04em;margin:16px 0 2px;font-size:clamp(20px,2vw,27px);display:block}.metric-card small{color:var(--muted);font-size:11px}.dashboard-grid{grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);gap:14px;display:grid}.panel{padding:18px}.panel-title h2{color:var(--text);margin:0;font-size:14px}.panel-title svg{color:var(--blue)}.panel-title span{color:var(--muted);margin-left:auto;font-size:11px}.chart{height:260px;margin-top:9px}.sensitivity p{color:var(--muted);margin:5px 0 0;font-size:12px}.sensitivity p b{color:#16a34a}.missions{grid-row:span 2}.mission{border-bottom:1px solid var(--line);padding:15px 0}.mission:last-child{border:0}.mission-title{align-items:center;gap:8px;display:flex}.mission-check{color:var(--muted);font-size:18px}.complete .mission-check{color:#22c55e}.mission-title b{font-size:13px}.mission-title small{color:#b45309;background:#f59e0b22;border-radius:999px;margin-left:auto;padding:3px 6px;font-size:10px}.dark .mission-title small{color:#fcd34d}.mission p{color:var(--muted);margin:7px 0;font-size:11px}.progress{background:var(--surface-2);border-radius:5px;height:6px;overflow:hidden}.progress i{border-radius:inherit;background:linear-gradient(90deg,#2563eb,#2dd4bf);height:100%;display:block}.recommendations{min-height:255px}.recommendations h3{margin:16px 0 6px;font-size:16px}.recommendations p,.recommendations ul{color:var(--muted);font-size:13px;line-height:1.55}.recommendations b{font-size:13px}.recommendations ul{margin-bottom:0;padding-left:18px}.financial,.costs{min-height:310px}.recharts-cartesian-grid line{stroke:var(--line)}.recharts-text{font-size:11px;fill:var(--muted)!important}.recharts-default-tooltip{border-color:var(--line)!important;background:var(--surface)!important;color:var(--text)!important}.celebration{z-index:1000;pointer-events:none;position:fixed;inset:0;overflow:hidden}.confetti-field{position:absolute;inset:0}.confetti-piece{opacity:0;border-radius:2px;width:10px;height:16px;animation:2.4s cubic-bezier(.15,.8,.3,1) both confetti-fall;position:absolute;top:-20px}.celebration-toast{color:#fefce8;background:#172554;border:1px solid #facc15;border-radius:999px;align-items:center;gap:8px;max-width:calc(100vw - 28px);padding:12px 17px;font-size:14px;animation:3.8s both celebration-toast;display:flex;position:absolute;top:22px;left:50%;transform:translate(-50%);box-shadow:0 12px 35px #0007}.celebration-toast span{color:#bae6fd;font-size:12px}@keyframes confetti-fall{0%{opacity:0;transform:translateY(-20px)rotate(0)}10%{opacity:1}to{transform:translate3d(calc((var(--drift,0) + 1) * 36px),105vh,0) rotate(760deg);opacity:0}}@keyframes celebration-toast{0%,to{opacity:0;transform:translate(-50%,-15px)}10%,88%{opacity:1;transform:translate(-50%)}}@media (width<=1150px){.app{grid-template-columns:235px 1fr}.metrics-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.missions{grid-row:auto}.sidebar{padding:20px 14px}}@media (width<=760px){.app{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:0 17px;height:auto;min-height:0;padding:15px;display:grid;position:static}.brand{grid-column:1/-1;margin-bottom:8px}.side-group{padding-top:12px}.workspace{padding:20px 12px 35px}.topbar{display:block}.actions{justify-content:flex-start;margin-top:15px}.metrics-grid{grid-template-columns:1fr 1fr;gap:9px}.metric-card{min-height:105px;padding:13px}.metric-card strong{margin-top:10px;font-size:19px}.tutorial ol{grid-template-columns:1fr}.dashboard-grid{gap:10px}.panel{padding:13px}.chart{height:235px}.compare-strip{gap:8px}.compare-strip button{margin-left:0}}@media (width<=410px){.sidebar,.metrics-grid{grid-template-columns:1fr}.actions button,.preset{font-size:11px}.topbar h1{font-size:25px}}@media (prefers-reduced-motion:reduce){.confetti-piece{animation:none;display:none}.celebration-toast{opacity:1;animation:none;transform:translate(-50%)}}
