@import "https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=Fraunces:opsz,wght@9..144,560;9..144,650&display=swap";:root{--bg-deep:#1a3340;--bg-panel:#10222cf0;--bg-panel-solid:#142832;--ink:#e8f1f4;--ink-muted:#9bb4bf;--accent:#3db8a0;--accent-soft:#3db8a02e;--line:#e8f1f41f;--radius:12px;--font-display:"Fraunces", Georgia, serif;--font-body:"DM Sans", system-ui, sans-serif}*,:before,:after{box-sizing:border-box}html,body,#root{width:100%;height:100%;font-family:var(--font-body);color:var(--ink);background:var(--bg-deep);margin:0;overflow:hidden}.app{grid-template-columns:1fr minmax(300px,360px);width:100%;height:100%;display:grid}.viewport{background:radial-gradient(at 30% 20%,#b4dceb59,#0000 55%),linear-gradient(#7fadc0 0%,#4e8799 55%,#2f5f6e 100%);min-width:0;min-height:0;position:relative}.scene-canvas{touch-action:none;width:100%!important;height:100%!important}.control-panel{background:linear-gradient(165deg, #24404e73, transparent 42%), var(--bg-panel);border-left:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.panel-chrome{flex-direction:column;flex-shrink:0;gap:.75rem;padding:1rem 1.05rem .75rem;display:flex}.panel-dials{scrollbar-width:thin;scrollbar-color:#3db8a059 transparent;flex-direction:column;flex:auto;gap:.45rem;min-height:0;padding:.15rem .85rem .65rem;display:flex;overflow:hidden auto}.panel-explainer{border:none;border-top:1px solid var(--line);background:#00000047;border-radius:0;flex-shrink:0;margin:0;padding:.85rem 1.05rem 1.05rem}.panel-header .brand{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:0;font-size:1.55rem;font-weight:650;line-height:1.15}.panel-header .tagline{color:var(--ink-muted);margin:.35rem 0 0;font-size:.8rem;line-height:1.4}.panel-header-row{justify-content:space-between;align-items:flex-start;gap:.6rem;display:flex}.learn-btn{background:var(--accent-soft);color:var(--accent);font:inherit;cursor:pointer;border:1px solid #3db8a073;border-radius:8px;flex-shrink:0;margin-top:.15rem;padding:.35rem .65rem;font-size:.74rem;font-weight:600}.learn-btn:hover,.learn-btn:focus-visible{background:#3db8a047;outline:none}.outcome-overlay,.goal-overlay{z-index:5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0c1a22d6;border:1px solid #e8f1f429;border-radius:12px;position:absolute;box-shadow:0 12px 28px #00000047}.outcome-overlay{pointer-events:none;width:min(340px,100% - 1.7rem);padding:.7rem .75rem .75rem;bottom:.85rem;left:.85rem}.goal-overlay{pointer-events:auto;flex-direction:column;gap:.45rem;width:min(340px,100% - 1.7rem);max-height:min(52vh,420px);padding:.65rem .7rem .7rem;display:flex;top:.85rem;right:.85rem;overflow-y:auto}.outcome-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0;font-size:.62rem;font-weight:600}.outcome-title{font-family:var(--font-display);margin:.18rem 0 0;font-size:1.05rem;font-weight:560;line-height:1.2}.outcome-plain{color:var(--ink-muted);margin:.15rem 0 .5rem;font-size:.72rem;line-height:1.3}.outcome-cols{grid-template-columns:1fr 1fr;gap:.55rem;display:grid}.outcome-col-label{color:var(--ink);margin:0 0 .25rem;font-size:.68rem;font-weight:700}.outcome-pred{color:#d5e4ea;margin:0;font-size:.72rem;line-height:1.4}.outcome-bias{border-top:1px solid var(--line);color:#c5d8e0;margin:.5rem 0 0;padding-top:.45rem;font-size:.68rem;line-height:1.35}.goal-overlay-head{flex-direction:column;gap:.1rem;display:flex}.goal-coach-title{margin:0;font-size:.78rem;font-weight:700}.goal-coach-plain{color:var(--ink-muted);margin:0;font-size:.68rem}.goal-btn-row{grid-template-columns:1fr 1fr 1fr;gap:.35rem;display:grid}.goal-btn{color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:#ffffff0a;border:1px solid #e8f1f41f;border-radius:8px;flex-direction:column;align-items:flex-start;gap:.08rem;padding:.4rem .4rem .42rem;display:flex}.goal-btn:hover,.goal-btn:focus-visible{background:#3db8a01a;border-color:#3db8a066;outline:none}.goal-btn.is-active{background:var(--accent-soft);border-color:#3db8a08c}.goal-btn-label{font-size:.72rem;font-weight:700;line-height:1.2}.goal-btn-plain{color:var(--ink-muted);font-size:.6rem;line-height:1.25}.goal-advice{border-top:1px solid var(--line);flex-direction:column;gap:.4rem;padding-top:.35rem;display:flex}.goal-advice-top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.goal-advice-title{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin:0;font-size:.7rem;font-weight:700}.goal-dismiss{color:var(--ink-muted);font:inherit;cursor:pointer;background:0 0;border:none;padding:.1rem .2rem;font-size:.68rem}.goal-dismiss:hover,.goal-dismiss:focus-visible{color:var(--ink);outline:none}.goal-advice-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.goal-advice-item{background:#ffffff0a;border-radius:8px;grid-template-columns:1fr auto;align-items:start;gap:.45rem;padding:.4rem .45rem;display:grid}.goal-advice-headline{margin:0;font-size:.76rem;font-weight:600;line-height:1.3}.goal-badge{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;vertical-align:.05em;background:#3db8a038;border-radius:4px;margin-right:.3rem;padding:.05rem .3rem;font-size:.58rem;font-weight:700;display:inline-block}.goal-advice-detail,.goal-advice-tradeoff{color:var(--ink-muted);margin:.2rem 0 0;font-size:.68rem;line-height:1.35}.goal-advice-tradeoff{color:#c9b37a}.goal-apply{background:var(--accent-soft);color:var(--accent);font:inherit;cursor:pointer;border:1px solid #3db8a073;border-radius:7px;flex-shrink:0;margin-top:.05rem;padding:.28rem .5rem;font-size:.68rem;font-weight:700}.goal-apply:hover,.goal-apply:focus-visible{background:#3db8a04d;outline:none}.performance{border:1px solid var(--line);border-radius:var(--radius);background:#0003;flex-direction:column;gap:.5rem;padding:.6rem .65rem;display:flex}.perf-row{grid-template-columns:1fr 1fr;gap:.55rem;display:grid}.meter-top{justify-content:space-between;align-items:baseline;gap:.35rem;margin-bottom:.2rem;display:flex}.meter-value{font-variant-numeric:tabular-nums;color:var(--accent);font-size:.78rem;font-weight:600}.meter-track{background:#ffffff14;border-radius:999px;height:6px;overflow:hidden}.meter-fill{border-radius:inherit;height:100%;transition:width .15s}.meter-fill-ok{background:linear-gradient(90deg,#2a9f88,#4ec4a8)}.meter-fill-warn{background:linear-gradient(90deg,#c47a3e,#e0a050)}.perf-stats{grid-template-columns:1fr 1fr;gap:.4rem .6rem;display:grid}.perf-stat{flex-direction:column;gap:.12rem;min-width:0;display:flex}.flow-pill{white-space:nowrap;text-overflow:ellipsis;border-radius:6px;width:fit-content;max-width:100%;padding:.1rem .4rem;font-size:.76rem;font-weight:600;display:inline-block;overflow:hidden}.flow-attached{color:#8fe0c8;background:#4ec4a82e}.flow-marginal{color:#e6d28a;background:#d4b85a2e}.flow-stalled{color:#f0a090;background:#e0705833}.readouts{border:1px solid var(--line);border-radius:var(--radius);background:#00000029;grid-template-columns:1fr 1fr;gap:.4rem .55rem;padding:.55rem .65rem;display:grid}.readout{flex-direction:column;gap:.12rem;min-width:0;display:flex}.readout-label{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);font-size:.66rem}.readout-value{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:.86rem;font-weight:600;overflow:hidden}.dial{cursor:pointer;border:1px solid #0000;border-radius:10px;padding:.5rem .55rem .55rem;transition:background .15s,border-color .15s;display:block}.dial:hover{background:#ffffff0a}.dial:focus-visible{outline-offset:1px;outline:2px solid #3db8a08c}.dial.is-active{background:var(--accent-soft);border-color:#3db8a073}.dial-top{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.25rem;display:flex}.dial-label-block{flex-direction:column;gap:.12rem;min-width:0;display:flex}.dial-label-row,.label-with-tip{align-items:center;gap:.25rem;min-width:0;display:inline-flex}.dial-label{font-size:.86rem;font-weight:600}.dial-plain{color:var(--ink-muted);font-size:.7rem;line-height:1.3}.dial-value{font-variant-numeric:tabular-nums;color:var(--accent);flex-shrink:0;padding-top:.1rem;font-size:.78rem}.dial-ends{color:var(--ink-muted);justify-content:space-between;margin-top:.12rem;font-size:.66rem;display:flex}.dial input[type=range]{width:100%;accent-color:var(--accent);cursor:pointer}.explainer h2{font-family:var(--font-display);margin:0 0 .2rem;font-size:1.05rem;font-weight:560}.explainer-plain{color:var(--accent);margin:0 0 .4rem;font-size:.78rem;font-weight:500;line-height:1.35}.explainer p{color:var(--ink-muted);margin:0;font-size:.82rem;line-height:1.45}.info-tip{flex-shrink:0;display:inline-flex;position:relative}.info-tip-btn{width:1.05rem;height:1.05rem;color:var(--ink-muted);cursor:help;background:#ffffff14;border:none;border-radius:999px;padding:0;font-size:.72rem;line-height:1}.info-tip-btn:hover,.info-tip-btn:focus-visible{color:var(--accent);background:var(--accent-soft);outline:none}.info-tip-pop{z-index:10000;border:1px solid var(--line);width:max-content;max-width:min(240px,100vw - 20px);color:var(--ink);font-family:var(--font-body);text-transform:none;letter-spacing:0;pointer-events:none;background:#0f1f28;border-radius:8px;padding:.5rem .6rem;font-size:.74rem;font-weight:400;line-height:1.4;position:fixed;box-shadow:0 10px 28px #0006}.modal-backdrop{z-index:40;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0610169e;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-dialog{border:1px solid var(--line);background:linear-gradient(165deg,#1c3542,#142832 55%);border-radius:14px;flex-direction:column;width:min(520px,100%);max-height:min(80vh,720px);display:flex;overflow:hidden;box-shadow:0 20px 50px #00000073}.modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.1rem .75rem;display:flex}.modal-header h2{font-family:var(--font-display);margin:0;font-size:1.35rem;font-weight:600}.modal-close{width:2rem;height:2rem;color:var(--ink);cursor:pointer;background:#ffffff0f;border:none;border-radius:8px;font-size:1.35rem;line-height:1}.modal-close:hover,.modal-close:focus-visible{background:#ffffff1f;outline:none}.modal-body{padding:.85rem 1.1rem 1.25rem;overflow-y:auto}.learn-section+.learn-section{border-top:1px solid var(--line);margin-top:1rem;padding-top:.85rem}.learn-section h3{font-family:var(--font-display);margin:0 0 .4rem;font-size:1.05rem;font-weight:560}.learn-section p{color:var(--ink-muted);margin:0 0 .45rem;font-size:.88rem;line-height:1.45}.learn-section p:last-child{margin-bottom:0}@media (width<=860px){.app{grid-template-rows:minmax(40vh,1fr) minmax(280px,48vh);grid-template-columns:1fr}.control-panel{border-left:none;border-top:1px solid var(--line);background:var(--bg-panel-solid)}.outcome-overlay{width:min(280px,100% - 1.1rem);padding:.55rem .6rem .6rem;bottom:.55rem;left:.55rem}.goal-overlay{width:auto;max-height:min(36vh,280px);top:.5rem;left:.5rem;right:.5rem}.outcome-title{font-size:.95rem}.goal-btn-plain{display:none}}
