:root{font-family:Inter,Segoe UI,Noto Sans SC,system-ui,sans-serif;color:#eaf2ef;background:#07110f;font-synthesis:none;text-rendering:optimizeLegibility;--bg:#07110f;--surface:#0b1714;--surface-2:#0f1e1a;--line:#1b2c27;--line-2:#2a3d37;--muted:#82918c;--green:#43d7a0;--green-dim:#184d3c;--amber:#ffb454;--red:#ff6b6b;--blue:#65a7ff}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 50% -20%,#10231e 0,var(--bg) 38%)}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--green);outline-offset:2px}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:#091512;border-right:1px solid var(--line);padding:22px 16px;z-index:20;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;padding:2px 6px 27px;border-bottom:1px solid var(--line)}.brand-mark{width:39px;height:39px;border:1px solid #397d66;display:grid;place-items:center;color:var(--green);font:600 16px JetBrains Mono;background:#0d211b;border-radius:8px}.brand strong,.brand span{display:block}.brand strong{font-size:15px;letter-spacing:.01em}.brand span{color:var(--muted);font-size:10px;margin-top:3px;text-transform:uppercase;letter-spacing:.09em}.mobile-close{display:none;margin-left:auto;background:none;border:0;color:#fff}.sidebar nav{display:flex;flex-direction:column;gap:5px;margin-top:22px}.sidebar nav button{display:flex;align-items:center;gap:11px;height:44px;border:1px solid transparent;background:none;color:#8f9d98;border-radius:7px;padding:0 12px;text-align:left;font-size:14px}.sidebar nav button:hover{background:#0f1e1a;color:#d9e4e0}.sidebar nav button.active{background:#10271f;border-color:#23493d;color:var(--green)}.sidebar-foot{margin-top:auto;border-top:1px solid var(--line);padding:18px 8px 0;color:#9aaba5;font-size:12px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px}.sidebar-foot small{color:#52635d;grid-column:2}.live-pulse{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px #43d7a01a}main{margin-left:248px;min-height:100vh}.content{width:min(1480px,100%);margin:0 auto;padding:38px 38px 70px}.mobile-top,.bottom-nav{display:none}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:25px}.eyebrow{color:var(--green);text-transform:uppercase;letter-spacing:.14em;font:600 10px JetBrains Mono}.page-header h1{margin:7px 0 8px;font-size:27px;line-height:1.2;letter-spacing:-.02em}.page-header p{margin:0;color:var(--muted);font-size:14px;max-width:720px;line-height:1.65}.header-actions{display:flex;gap:8px;flex-shrink:0}.button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 15px;border:1px solid var(--line-2);border-radius:6px;background:#101e1a;color:#dce7e3;font-size:13px;font-weight:600}.button:hover{border-color:#3e5d53;background:#14251f}.button.primary{background:var(--green);color:#052018;border-color:var(--green);margin-top:18px}.button.primary:hover{background:#58e6b2}.button:disabled{opacity:.55;cursor:not-allowed}.text-button{background:none;color:var(--green);border:0;font-size:12px}.icon-button{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);border-radius:6px;background:#0d1916;color:#aab8b3}.icon-button.danger:hover{color:var(--red);border-color:#6b3030}.metrics-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}.metric-card{background:var(--surface);border:1px solid var(--line);padding:16px;min-height:118px;border-radius:8px;position:relative;overflow:hidden}.metric-card:after{content:"";position:absolute;inset:auto 0 0;height:2px;background:#263832}.metric-card.tone-positive:after{background:var(--green)}.metric-card.tone-warning:after{background:var(--amber)}.metric-head{display:flex;justify-content:space-between;align-items:center;color:#80918b;font:500 10px JetBrains Mono;text-transform:uppercase;letter-spacing:.04em}.metric-card strong{display:block;font:600 21px JetBrains Mono;margin-top:18px;letter-spacing:-.04em}.metric-card small{display:block;color:#63736e;font-size:10px;margin-top:7px}.panel{background:#0b1714f0;border:1px solid var(--line);border-radius:8px;padding:20px;min-width:0}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.panel-heading h2{font-size:16px;margin:5px 0 0;font-weight:600}.status-dot,.badge{color:#8da29a;background:#10211c;border:1px solid #203a32;padding:5px 8px;border-radius:99px;font:500 9px JetBrains Mono;text-transform:uppercase}.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:14px}.span-2{grid-column:span 2}.warning-list{display:flex;flex-direction:column;gap:9px}.warning-item{display:flex;align-items:flex-start;gap:10px;padding:11px;border:1px solid #4a3923;background:#211b12;color:#e4c697;border-radius:6px;font-size:12px;line-height:1.5}.warning-item svg{flex:none;margin-top:1px;color:var(--amber)}.rank-list{display:flex;flex-direction:column}.rank-row{display:grid;grid-template-columns:25px 1fr auto;align-items:center;gap:8px;padding:11px 0;border-bottom:1px solid var(--line)}.rank-row:last-child{border-bottom:0}.rank-row>b{color:#586963;font:600 12px JetBrains Mono}.rank-row span{font-size:13px}.rank-row small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.rank-row strong{font:600 12px JetBrains Mono}.positive{color:var(--green)!important}.negative{color:var(--red)!important}.muted,.form-note{color:var(--muted);font-size:12px;line-height:1.6}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;white-space:nowrap}th{color:#6f807a;text-transform:uppercase;font:500 9px JetBrains Mono;letter-spacing:.05em;text-align:left;padding:10px;border-bottom:1px solid var(--line-2)}td{color:#aebcb7;padding:11px 10px;border-bottom:1px solid #13221e;font-size:12px}td b{color:#dce7e3}.align-right{text-align:right}.workspace-grid{display:grid;grid-template-columns:minmax(290px,.8fr) minmax(0,1fr) minmax(0,1fr);gap:14px;margin-bottom:14px;align-items:start}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.field{display:flex;flex-direction:column;gap:7px;color:#92a19c;font-size:11px}.field input,.field select{width:100%;height:44px;border:1px solid var(--line-2);border-radius:5px;background:#07120f;color:#e4eeea;padding:0 11px;font:500 12px JetBrains Mono}.field input::placeholder{color:#3e504a}.field input:hover,.field select:hover{border-color:#3a5149}.field input:focus,.field select:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 2px #43d7a01a}.field small{color:#55655f;font-size:9px;line-height:1.4}.result-box{margin-top:18px;border-top:1px solid var(--line);padding-top:17px}.result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.result-item{display:flex;flex-direction:column;min-height:66px;padding:11px;background:#08130f;border:1px solid #172621;border-radius:5px}.result-item span{color:#6f807a;font-size:9px;text-transform:uppercase;line-height:1.4}.result-item strong{color:#dfe9e5;font:600 13px JetBrains Mono;margin-top:auto;padding-top:8px;word-break:break-word}.result-item.emphasis{border-color:#28634f;background:#0c2019}.result-item.emphasis strong{color:var(--green)}.decision-banner{display:flex;align-items:flex-start;gap:9px;padding:11px 12px;margin-bottom:13px;border-radius:5px;font-size:12px;line-height:1.5}.decision-banner.warn{background:#211b12;border:1px solid #4a3923;color:#e4c697}.decision-banner.stop{background:#251313;border:1px solid #5e2828;color:#f0a4a4}.decision-banner.go{background:#0e251d;border:1px solid #235945;color:#83ddb9}.hero-result{display:flex;flex-direction:column;align-items:flex-start;padding:16px;margin-bottom:10px;border:1px solid #28634f;background:#0b1e18}.hero-result span{color:#8ca099;font-size:10px;text-transform:uppercase}.hero-result strong{color:var(--green);font:600 30px JetBrains Mono;margin:8px 0 3px}.hero-result small{color:#779087}.alert{padding:12px 14px;border-radius:6px;margin-bottom:14px;font-size:12px;line-height:1.5}.alert.error{background:#251313;border:1px solid #5e2828;color:#f0a4a4}.alert.success{background:#0d241c;border:1px solid #245d47;color:#80d9b6}.stat-strip{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));border:1px solid var(--line);border-radius:8px;background:var(--surface);margin-bottom:14px;overflow:hidden}.stat-strip>div{padding:13px;border-right:1px solid var(--line)}.stat-strip>div:last-child{border-right:0}.stat-strip span,.stat-strip strong{display:block}.stat-strip span{color:#71817b;font-size:9px;text-transform:uppercase}.stat-strip strong{margin-top:8px;font:600 13px JetBrains Mono}.simulation-controls{margin-bottom:14px}.simulation-ready{min-height:280px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#61726c}.simulation-ready h2{color:#a7b5b0;font-size:16px;margin:12px 0 5px}.simulation-ready p{max-width:580px;line-height:1.7;font-size:12px}.strategy-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.strategy-card{padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:7px}.strategy-card.recommended{border-color:#2d6e58;box-shadow:inset 0 2px var(--green)}.strategy-card>span{color:#879892;font-size:11px}.strategy-card em{color:var(--green);font-style:normal;font-size:9px;padding-left:5px}.strategy-card>strong{display:block;font:600 21px JetBrains Mono;margin:15px 0 6px}.strategy-card>small{color:#687872;font-size:10px}.strategy-card>div{display:flex;justify-content:space-between;margin-top:15px;padding-top:10px;border-top:1px solid var(--line);color:#7e8e88;font-size:10px}.strategy-card>div b{color:#d6e0dc}.risk-summary{grid-column:span 1}.heatmap-panel{padding:8px}.settings-panel{max-width:800px}.settings-icon{width:50px;height:50px;display:grid;place-items:center;color:var(--green);background:#0d241c;border:1px solid #235743;margin-bottom:22px;border-radius:8px}.policy-note{display:flex;flex-direction:column;gap:6px;margin-top:22px;padding:13px;background:#08130f;border-left:2px solid var(--green);font-size:11px;color:#70817b}.policy-note b{color:#becbc6}.policy-note span{font-family:JetBrains Mono;font-size:10px}.empty-state{min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}.empty-mark{width:36px;height:36px;display:grid;place-items:center;border:1px solid #2d5b4c;color:var(--green);font:600 14px JetBrains Mono;border-radius:7px}.empty-state h3{font-size:14px;margin:12px 0 5px}.empty-state p{color:var(--muted);font-size:11px;max-width:440px;line-height:1.6}.skeleton{border-radius:8px;background:linear-gradient(90deg,#0b1714 25%,#11221d,#0b1714 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border:1px solid var(--line)}.spin{animation:spin 1s linear infinite}@keyframes shimmer{to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1180px){.metrics-grid{grid-template-columns:repeat(3,1fr)}.workspace-grid{grid-template-columns:1fr 1fr}.workspace-grid>.span-2{grid-column:span 1}.form-grid.three,.form-grid.four{grid-template-columns:repeat(2,1fr)}.stat-strip{grid-template-columns:repeat(4,1fr)}.stat-strip>div:nth-child(4){border-right:0}.strategy-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:780px){body{background:var(--bg)}.sidebar{transform:translate(-100%);transition:transform .2s ease;width:min(286px,86vw);box-shadow:12px 0 40px #000}.sidebar.open{transform:translate(0)}.mobile-close{display:block}.scrim{position:fixed;inset:0;z-index:15;background:#000000a3;border:0}main{margin-left:0}.content{padding:20px 14px calc(88px + env(safe-area-inset-bottom))}.mobile-top{height:56px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 14px;position:sticky;top:0;z-index:10;background:#07110ff0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-brand{display:flex;align-items:center;gap:8px;font-size:13px}.mobile-brand b{font-family:JetBrains Mono;color:var(--green)}.bottom-nav{display:flex;position:fixed;z-index:12;inset:auto 0 0;height:calc(61px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#081310f7;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.bottom-nav button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#71817b;background:none;border:0;font-size:9px}.bottom-nav button.active{color:var(--green)}.page-header{align-items:flex-start;flex-direction:column;margin-bottom:18px;gap:14px}.page-header h1{font-size:23px}.page-header p{font-size:12px}.header-actions{width:100%}.header-actions .button{flex:1}.metrics-grid{grid-template-columns:repeat(2,1fr);gap:8px}.metric-card{min-height:105px;padding:13px}.metric-card strong{font-size:17px;margin-top:16px}.metric-card:last-child{grid-column:span 2}.dashboard-grid,.workspace-grid{grid-template-columns:1fr;gap:10px}.span-2,.workspace-grid>.span-2,.risk-summary{grid-column:span 1}.panel{padding:15px}.form-grid,.form-grid.three,.form-grid.four{grid-template-columns:1fr 1fr;gap:11px 9px}.result-grid{grid-template-columns:repeat(2,1fr)}.result-item{min-height:64px}.hero-result strong{font-size:25px}.stat-strip{grid-template-columns:repeat(2,1fr)}.stat-strip>div{border-bottom:1px solid var(--line)}.stat-strip>div:nth-child(2n){border-right:0}.strategy-cards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:5px}.strategy-card{min-width:78vw;scroll-snap-align:start}.heatmap-panel{margin:0 -8px;border-left:0;border-right:0}.risk-panel{order:-1}}@media(max-width:430px){.form-grid,.form-grid.three,.form-grid.four{grid-template-columns:1fr}.metrics-grid,.result-grid{grid-template-columns:1fr 1fr}.panel-heading h2{font-size:15px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
