@import "https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,400&family=Geist+Mono:wght@400;500;600;700&display=swap";:root{--n-0:#fff;--n-25:#fafafb;--n-50:#f7f7f8;--n-100:#eeeef1;--n-150:#e5e5e9;--n-200:#dedee4;--n-300:#ceced6;--n-500:#aeaebc;--n-700:#60607b;--n-900:#373748;--n-1100:#212128;--n-1250:#0d0d11;--n-1350:#0a0a0f;--ink:var(--n-1350);--ink-mid:var(--n-1100);--gold:#076cdf;--gold-light:#3a8cff;--gold-pale:#eaf2fe;--cream:var(--n-25);--warm:var(--n-50);--white:var(--n-0);--text:var(--n-1250);--text-mid:var(--n-900);--text-light:var(--n-700);--border:var(--n-150);--success:#1b6b3a;--success-bg:#e3f5e9;--warn-bg:#fcefdd;--warn-bdr:#f0b15a;--err-bg:#fbe7e5;--err:#a32e22;--ai:#5b19c4;--ai-bg:#f3ecfc;--ai-border:#d9c2f2;--t1-bg:var(--success-bg);--t1:var(--success);--t1-bdr:#a9ddbb;--t2-bg:#e4effc;--t2:#0b4b9c;--t2-bdr:#b7d3f7;--t3-bg:var(--warn-bg);--t3:#8a5a16;--t3-bdr:var(--warn-bdr);--tu-bg:var(--n-100);--tu:var(--n-900);--tu-bdr:var(--n-300)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--cream);color:var(--text);flex-direction:column;min-height:100vh;font-family:Inter,sans-serif;display:flex}#root{flex-direction:column;min-height:100vh;display:flex}.gate-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#0a1628eb;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.gate-card{background:var(--white);border-radius:20px;width:100%;max-width:540px;overflow:hidden;box-shadow:0 40px 100px #00000080}.gate-hd{background:var(--ink);padding:32px 40px 28px}.gate-eyebrow{letter-spacing:.15em;text-transform:uppercase;color:var(--gold);opacity:.9;margin-bottom:10px;font-size:10px;font-weight:600}.gate-title{color:#fff;font-size:28px;font-weight:700;line-height:1.2}.gate-bd{padding:32px 40px 36px}.gate-intro{color:var(--text-mid);margin-bottom:24px;font-size:14px;line-height:1.75}.gate-rules{background:var(--cream);border:1px solid var(--border);border-radius:12px;margin-bottom:24px;padding:18px 20px}.gate-rules-title{letter-spacing:.12em;text-transform:uppercase;color:var(--text-light);margin-bottom:12px;font-size:10px;font-weight:700}.gate-rule{color:var(--text-mid);gap:10px;margin-bottom:10px;font-size:13px;line-height:1.55;display:flex}.gate-rule:last-child{margin-bottom:0}.rule-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;margin-top:1px;font-size:10px;font-weight:700;display:flex}.rule-icon.ok{color:#1b4332;background:#c8f7d4}.rule-icon.warn{color:#78350f;background:#fef3c7}.gate-confirm{cursor:pointer;align-items:flex-start;gap:10px;margin-bottom:20px;display:flex}.gate-confirm input[type=checkbox]{width:18px;height:18px;accent-color:var(--gold);cursor:pointer;flex-shrink:0;margin-top:2px}.gate-confirm label{color:var(--text-mid);cursor:pointer;font-size:13px;line-height:1.5}.gate-btn{background:var(--ink);color:#fff;cursor:pointer;opacity:.35;pointer-events:none;border:none;border-radius:11px;width:100%;padding:15px;font-size:14px;font-weight:600;transition:all .2s}.gate-btn.ready{opacity:1;pointer-events:all}.gate-btn.ready:hover{background:var(--ink-mid);transform:translateY(-1px);box-shadow:0 8px 24px #0a16284d}header{background:var(--ink);flex-shrink:0;justify-content:space-between;align-items:center;height:68px;padding:0 48px;display:flex}.logo-name{color:#fff;letter-spacing:.01em;font-size:18px;font-weight:700}.logo-sub{letter-spacing:.14em;text-transform:uppercase;color:var(--gold);opacity:.8;font-size:10px;font-weight:500}.hdr-pill{letter-spacing:.1em;text-transform:uppercase;color:#ffffffb3;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:99px;padding:5px 12px;font-size:10px;font-weight:600}.help-btn{width:28px;height:28px;color:var(--gold);cursor:pointer;background:#076cdf1a;border:1px solid #076cdf40;border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:700;transition:all .15s;display:flex}.help-btn:hover{background:#076cdf33}main{flex:1;grid-template-columns:400px minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.left-panel{background:var(--white);border-right:1px solid var(--border);flex-direction:column;display:flex;overflow-y:auto}.panel-hd{border-bottom:1px solid #ddd8ce80;padding:24px 28px 18px}.panel-step{letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:4px;font-size:10px;font-weight:700}.panel-title{color:var(--ink);font-size:19px;font-weight:700}.panel-bd{flex:1;padding:22px 28px}.drop-zone{border:2px dashed var(--border);text-align:center;cursor:pointer;background:var(--cream);border-radius:14px;margin-bottom:16px;padding:28px 16px;transition:all .2s}.drop-zone:hover,.drop-zone.over{border-color:var(--gold);background:var(--gold-pale);box-shadow:0 4px 24px #076cdf1f}.drop-zone.loaded{border-color:var(--success);background:var(--success-bg);border-style:solid}.drop-icon{background:var(--ink);border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;margin:0 auto 12px;transition:all .2s;display:flex}.drop-zone:hover .drop-icon,.drop-zone.over .drop-icon{background:var(--gold)}.drop-zone.loaded .drop-icon{background:var(--success)}.drop-icon svg{width:20px;height:20px}.drop-label{margin-bottom:4px;font-size:14px;font-weight:500}.drop-sub{color:var(--text-light);font-size:12px}.drop-sub span{color:var(--gold);cursor:pointer;font-weight:500;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.file-pill{background:var(--white);color:var(--success);border:1px solid #9ae6b4;border-radius:99px;align-items:center;gap:8px;margin-top:10px;padding:6px 12px;font-size:12px;font-weight:500;display:none}.file-pill.show{display:inline-flex}.file-dot{background:var(--success);border-radius:50%;width:7px;height:7px}.run-btn{background:var(--ink);color:#fff;cursor:pointer;border:none;border-radius:11px;justify-content:center;align-items:center;gap:9px;width:100%;margin-bottom:16px;padding:14px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.run-btn:hover:not(:disabled){background:var(--ink-mid);transform:translateY(-1px);box-shadow:0 8px 24px #0a162840}.run-btn:disabled{opacity:.35;cursor:not-allowed;box-shadow:none;transform:none}.run-btn svg{width:16px;height:16px}.status-box{border-radius:10px;margin-bottom:14px;padding:13px 15px;font-size:13px;display:block}.status-box.ok{background:var(--success-bg);color:#1b4332;border:1px solid #9ae6b4}.status-box.err{background:var(--err-bg);color:var(--err);border:1px solid #fca5a5}.status-box.warn{background:var(--warn-bg);border:1px solid var(--warn-bdr);color:#78350f}.status-title{align-items:center;gap:6px;margin-bottom:3px;font-weight:600;display:flex}.divider{border:none;border-top:1px solid var(--border);margin:16px 0}.info-hd{letter-spacing:.12em;text-transform:uppercase;color:var(--text-light);margin-bottom:9px;font-size:10px;font-weight:700}.how-step{color:var(--text-mid);gap:10px;margin-bottom:10px;font-size:12.5px;line-height:1.5;display:flex}.how-num{background:var(--ink);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:10px;font-weight:700;display:flex}.right-panel{background:var(--cream);flex-direction:column;min-width:0;display:flex;overflow:hidden}.output-hd{background:var(--white);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:15px 32px;display:flex}.output-hd-title{color:var(--text);font-size:14px;font-weight:600}.output-hd-sub{color:var(--text-light);margin-top:1px;font-size:11px}.copy-btn{background:var(--ink);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-size:12px;font-weight:500;transition:all .15s;display:none}.copy-btn.show{display:flex}.copy-btn:hover{background:var(--ink-mid)}.token-display{color:var(--text-light);letter-spacing:.02em;font-size:10px}.export-btn,.reset-btn{color:var(--text-mid);border:1.5px solid var(--border);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-size:12px;font-weight:500;transition:all .15s}.export-btn:hover,.reset-btn:hover{border-color:var(--gold);color:var(--text)}.output-bd{flex:1;min-width:0;padding:28px 36px;position:relative;overflow:hidden auto}.proc-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:5;background:#faf7f2ed;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:absolute;inset:0}.spinner{border:3px solid var(--border);border-top-color:var(--gold);border-radius:50%;width:44px;height:44px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.proc-steps{flex-direction:column;align-items:center;gap:6px;display:flex}.proc-step{color:var(--text-light);align-items:center;gap:8px;font-size:12px;transition:all .3s;display:flex}.proc-step.active{color:var(--text);font-weight:500}.proc-step.done{color:var(--success)}.step-dot{background:var(--border);border-radius:50%;flex-shrink:0;width:7px;height:7px;transition:all .3s}.proc-step.active .step-dot{background:var(--gold);box-shadow:0 0 0 3px #076cdf33}.proc-step.done .step-dot{background:var(--success)}.output-idle{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:400px;padding:40px;display:flex}.idle-icon{background:var(--ink);border-radius:18px;justify-content:center;align-items:center;width:60px;height:60px;margin-bottom:6px;display:flex}.idle-icon svg{width:28px;height:28px}.idle-title{color:var(--ink);margin-bottom:4px;font-size:22px;font-weight:700;line-height:1.2}.idle-body{color:var(--text-mid);max-width:380px;font-size:14px;line-height:1.65}.how-card{background:var(--white);border:1px solid var(--border);text-align:left;border-radius:14px;width:100%;max-width:400px;margin-top:8px;padding:20px 24px}.how-card-title{letter-spacing:.12em;text-transform:uppercase;color:var(--text-light);margin-bottom:14px;font-size:10px;font-weight:700}.how-item{color:var(--text-mid);gap:12px;margin-bottom:12px;font-size:13px;line-height:1.5;display:flex}.how-item:last-child{margin-bottom:0}.how-item-icon{background:var(--ink);width:28px;height:28px;color:var(--gold);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.profile-output{max-width:100%;display:block;overflow-x:hidden}.disclaimer{background:var(--warn-bg);border:1px solid var(--warn-bdr);color:#78350f;border-radius:11px;gap:12px;margin-bottom:28px;padding:13px 16px;font-size:12.5px;line-height:1.55;display:flex}.disclaimer svg{flex-shrink:0;margin-top:1px}.profile-section{margin-bottom:32px}.section-title{color:var(--ink);border-bottom:2px solid var(--gold);word-break:break-word;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;padding-bottom:10px;font-size:20px;font-weight:700;display:flex}.section-icon{background:var(--ink);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.section-icon svg{width:15px;height:15px}.recep-callout{background:var(--ink);border-radius:12px;margin-bottom:8px;padding:22px 28px}.recep-segs{border-bottom:1px solid #ffffff1a;margin-bottom:16px;padding-bottom:16px;display:flex}.recep-seg{text-align:center;border-right:1px solid #ffffff1a;flex:1;padding:0 16px}.recep-seg:first-child{padding-left:0}.recep-seg:last-child{border-right:none;padding-right:0}.recep-seg-label{letter-spacing:.14em;text-transform:uppercase;color:var(--gold);opacity:.85;margin-bottom:6px;font-size:9px;font-weight:700;display:block}.recep-seg-pct{color:#fff;margin-bottom:3px;font-family:Geist Mono,monospace;font-size:26px;font-weight:700;line-height:1;display:block}.recep-seg-ix{color:#ffffff80;font-family:Geist Mono,monospace;font-size:11px}.recep-narrative{color:#fffc;font-size:13px;line-height:1.65}.takeaway-list{list-style:none}.takeaway-item{background:var(--ai-bg);border:1px solid var(--ai-border);color:var(--text-mid);border-radius:10px;gap:12px;min-width:0;margin-bottom:12px;padding:14px 16px;font-size:13.5px;line-height:1.55;display:flex}.takeaway-num{color:var(--ai);flex-shrink:0;margin-top:-1px;font-family:Geist Mono,monospace;font-size:15px;font-weight:700}.demo-panel{background:var(--ink);border-radius:14px;margin-bottom:28px;padding:22px 26px}.demo-panel-title{letter-spacing:.14em;text-transform:uppercase;color:var(--gold);opacity:.8;margin-bottom:16px;font-size:10px;font-weight:700}.demo-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}@media (width<=900px){.demo-grid{grid-template-columns:repeat(2,1fr)}}.demo-cell{background:#ffffff0d;border-radius:10px;padding:12px 14px}.demo-cell-label{letter-spacing:.12em;text-transform:uppercase;color:var(--gold);opacity:.7;margin-bottom:8px;font-size:9px;font-weight:700}.demo-bar-row{align-items:flex-start;gap:8px;margin-bottom:6px;display:flex}.demo-bar-row:last-child{margin-bottom:0}.demo-bar-label{color:#ffffffb3;white-space:normal;word-break:break-word;flex-shrink:0;width:110px;font-size:11px;line-height:1.3}.demo-bar-track{background:#ffffff1a;border-radius:99px;flex:1;min-width:0;height:6px;margin-top:5px;overflow:hidden}.demo-bar-fill{background:#076cdf80;border-radius:99px;height:100%;transition:width .4s}.demo-bar-fill.over{background:var(--gold)}.demo-bar-pct{color:#fff;text-align:right;flex-shrink:0;width:34px;margin-top:2px;font-family:Geist Mono,monospace;font-size:11px;font-weight:600}.demo-bar-ix{color:#ffffff59;text-align:right;flex-shrink:0;width:44px;margin-top:3px;font-family:Geist Mono,monospace;font-size:10px}.tier-block{border:1px solid #0000;border-radius:10px;margin-bottom:8px;overflow:hidden}.tier-block.t1{background:var(--t1-bg);border-color:var(--t1-bdr)}.tier-block.t2{background:var(--t2-bg);border-color:var(--t2-bdr)}.tier-block.t3{background:var(--t3-bg);border-color:var(--t3-bdr)}.tier-block.tu{background:var(--tu-bg);border-color:var(--tu-bdr)}.tier-hd{letter-spacing:.1em;text-transform:uppercase;color:#fff;align-items:center;gap:5px;padding:5px 12px;font-size:9px;font-weight:700;display:flex}.tier-block.t1 .tier-hd{background:var(--t1)}.tier-block.t2 .tier-hd{background:var(--t2)}.tier-block.t3 .tier-hd{background:var(--t3)}.tier-block.tu .tier-hd{background:var(--tu);color:#fff}.tier-body{color:var(--text-mid);padding:10px 14px;font-size:13px;font-weight:400;line-height:1.65}.finding-label{letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:5px;margin-bottom:8px;font-size:10px;font-style:normal;font-weight:600;display:flex}.fl-obs{color:var(--text-light)}.fl-ind,.fl-why{color:var(--ai)}.narrative-block{background:var(--ai-bg);border:1px solid var(--ai-border);color:var(--text-mid);word-wrap:break-word;overflow-wrap:break-word;border-radius:10px;margin-bottom:8px;padding:14px 16px;font-size:13.5px;font-weight:400;line-height:1.65}.val-block{background:var(--ai-bg);border:1px solid var(--ai-border);color:var(--text-mid);border-radius:10px;padding:16px 18px;font-size:12.5px;line-height:1.7}.ai-tag{letter-spacing:.08em;text-transform:uppercase;color:var(--ai);background:var(--ai-bg);border:1px solid var(--ai-border);border-radius:99px;align-items:center;gap:4px;margin-bottom:10px;padding:3px 8px;font-size:9px;font-weight:700;display:inline-flex}.val-row{align-items:flex-start;gap:8px;margin-bottom:6px;display:flex}.val-row:last-child{margin-bottom:0}.val-icon{flex-shrink:0;margin-top:2px;font-size:12px}footer{background:var(--ink);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 48px;display:flex}.foot-text{color:#ffffff4d;letter-spacing:.05em;font-size:10px}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px}@media print{header,footer,.left-panel,.output-hd,.proc-overlay,.output-idle,.copy-btn,.reset-btn,.export-btn,.token-display,.disclaimer{display:none!important}body{background:#fff!important}main{display:block!important}.right-panel{display:block!important;overflow:visible!important}.output-bd{height:auto!important;padding:16px 24px!important;overflow:visible!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.profile-section,.tier-block,.recep-callout,.takeaway-item,.narrative-block,.demo-panel{break-inside:avoid}.section-title{break-after:avoid}}
