:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#edf4ff;background:#08111f;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{min-height:100vh;margin:0}.shell{background:radial-gradient(circle at top,#15365d,#08111f 55%);place-items:center;min-height:100vh;padding:24px;display:grid}.panel{background:#08111fe6;border:1px solid #345474;border-radius:20px;width:min(100%,540px);padding:clamp(24px,5vw,48px);box-shadow:0 24px 70px #00000047}.eyebrow{color:#79c8ff;text-transform:uppercase;letter-spacing:.08em;margin:0 0 10px;font-size:.85rem;font-weight:700}h1,h2{margin:0}h1{font-size:clamp(2rem,7vw,3rem)}.intro,.user-email{color:#b8c9dc}.access-form{gap:10px;margin-top:28px;display:grid}label{font-weight:700}input,button{min-height:46px;font:inherit;border-radius:9px}input{color:inherit;background:#0d1d31;border:1px solid #4e6d8d;padding:0 12px}button{color:#06130e;cursor:pointer;background:#42b883;border:0;padding:0 16px;font-weight:800}button:disabled{cursor:wait;opacity:.65}.text-button{color:#79c8ff;text-align:left;background:0 0;min-height:36px;margin-top:14px;padding:0;font-weight:600;text-decoration:underline;display:block}.text-button:disabled{cursor:wait}.empty-state{background:#10243b;border-radius:12px;margin-top:28px;padding:20px}.empty-state p{color:#b8c9dc;margin-bottom:0;line-height:1.5}.analysis-shell{gap:22px;width:min(1440px,100%);margin:0 auto;padding:clamp(20px,4vw,48px);display:grid}.analysis-head{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.analysis-head h1{font-size:clamp(2rem,5vw,3rem)}.analysis-head p:not(.eyebrow),.analysis-panel p{color:#b8c9dc;line-height:1.5}.analysis-state{white-space:nowrap;color:#79c8ff;border:1px solid #345474;border-radius:999px;padding:9px 13px;display:inline-block}.analysis-panel{background:#10243b;border:1px solid #345474;border-radius:16px;min-width:0;padding:22px}.analysis-panel h2{font-size:1.15rem}.analysis-panel p{margin:8px 0 0}.analysis-panel small{color:#92a9c1;margin-top:8px;display:block}.analysis-import{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.analysis-import>div{max-width:720px}.file-picker{color:#06130e;cursor:pointer;background:#42b883;border-radius:9px;align-items:center;min-height:46px;padding:0 16px;display:inline-flex;position:relative}.file-picker input{opacity:0;width:1px;height:1px;position:absolute}.file-picker:focus-within{outline-offset:3px;outline:2px solid #edf4ff}.analysis-import .file-name,.analysis-import .analysis-error{flex-basis:100%;margin:0}.analysis-import .analysis-error{color:#ffb9b9}.analysis-controls{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-top:16px;display:grid}.analysis-controls label,.analysis-table-head label{color:#d9e8f7;gap:7px;font-size:.9rem;display:grid}.analysis-controls input,.analysis-table-head input{width:100%}.target-result{padding-top:12px}.target-result strong{color:#87e8b7}.ranking-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.ranking-card ol{margin:18px 0 0;padding-left:26px;line-height:1.75}.ranking-empty{min-height:72px}.analysis-table-head{justify-content:space-between;align-items:end;gap:18px;display:flex}.analysis-table-head label{min-width:180px}.analysis-table-wrap{margin-top:18px;overflow-x:auto}.analysis-table-wrap table{border-collapse:collapse;width:100%;min-width:1060px;font-size:.9rem}.analysis-table-wrap th,.analysis-table-wrap td{text-align:left;white-space:nowrap;border-bottom:1px solid #29445f;padding:11px 12px}.analysis-table-wrap th{color:#a5cbe9;font-weight:700}.signal-positive{color:#87e8b7;font-weight:700}.analysis-empty{text-align:center;padding:36px 22px}.expiration-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:18px;display:grid}.expiration-list>div{border:1px solid #29445f;border-radius:10px;gap:5px;padding:12px;display:grid}.expiration-list span{color:#a5cbe9}.expiration-list small{margin:0}@media (max-width:800px){.ranking-grid{grid-template-columns:1fr}.analysis-head,.analysis-table-head{flex-direction:column;align-items:stretch}.analysis-state{align-self:flex-start}}
