*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #111;--bg-2: #1a1a1a;--fg: #f2efe7;--fg-dim: #888;--accent: #41d9a2;--rule: rgba(242,239,231,.1);--rule-strong: rgba(242,239,231,.2);--mono: "JetBrains Mono", monospace;--sans: "Inter Tight", sans-serif}body{background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:14px;min-height:100vh}.center-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px}.spinner{width:32px;height:32px;border:2px solid var(--rule-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.gate-card{text-align:center;display:flex;flex-direction:column;align-items:center;gap:20px}.gate-label{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--accent)}.gate-title{font-size:28px;font-weight:500}.gate-sub{color:var(--fg-dim);font-size:14px}.sign-in-btn{padding:12px 24px;background:var(--fg);color:var(--bg);border:none;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border-radius:100px;transition:background .2s}.sign-in-btn:hover{background:var(--accent)}.link-btn{background:none;border:none;color:var(--accent);cursor:pointer;font-family:inherit;font-size:13px;text-decoration:underline;padding:0}.adm-header{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-bottom:1px solid var(--rule);position:sticky;top:0;background:var(--bg);z-index:10}.adm-logo{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--accent)}.adm-header-right{display:flex;align-items:center;gap:16px}.adm-user{font-family:var(--mono);font-size:11px;color:var(--fg-dim)}.adm-main{padding:20px 24px}.adm-tabs{display:flex;gap:0;border-bottom:1px solid var(--rule);margin-bottom:16px}.adm-tab{background:none;border:none;color:var(--fg-dim);font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:10px 20px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .2s,border-color .2s;display:flex;align-items:center;gap:8px}.adm-tab.active{color:var(--fg);border-bottom-color:var(--accent)}.tab-count{background:var(--bg-2);border:1px solid var(--rule-strong);border-radius:100px;padding:1px 7px;font-size:10px;color:var(--fg-dim)}.adm-grid{height:calc(100vh - 140px);width:100%}.ag-theme-quartz-dark{--ag-background-color: var(--bg);--ag-header-background-color: var(--bg-2);--ag-odd-row-background-color: var(--bg);--ag-border-color: var(--rule);--ag-font-family: "Inter Tight", sans-serif;--ag-font-size: 13px;--ag-row-hover-color: rgba(65,217,162,.06);--ag-selected-row-background-color: rgba(65,217,162,.1)}.detail-overlay{position:fixed;inset:0;background:#0009;z-index:40}.detail-drawer{position:fixed;top:0;right:0;bottom:0;width:min(620px,100vw);background:var(--bg);border-left:1px solid var(--rule-strong);z-index:50;overflow-y:auto;display:flex;flex-direction:column}.detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 24px;border-bottom:1px solid var(--rule);position:sticky;top:0;background:var(--bg);z-index:1}.detail-header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.detail-store{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--fg-dim);word-break:break-all;margin-bottom:4px;text-transform:lowercase}.detail-meta{font-size:12px;color:var(--fg-dim)}.close-btn{background:none;border:1px solid var(--rule-strong);color:var(--fg-dim);cursor:pointer;width:32px;height:32px;border-radius:50%;font-size:13px;display:flex;align-items:center;justify-content:center;transition:border-color .2s,color .2s;flex-shrink:0}.close-btn:hover{border-color:var(--fg);color:var(--fg)}.rerun-btn{padding:8px 16px;background:none;border:1px solid #f5a623;color:#f5a623;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border-radius:100px;transition:background .2s;white-space:nowrap}.rerun-btn:hover{background:#f5a6231f}.rerun-btn:disabled{opacity:.4;cursor:not-allowed}.report-link-btn{padding:8px 16px;background:var(--fg);color:var(--bg);font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border-radius:100px;text-decoration:none;white-space:nowrap;transition:background .2s;border:1px solid var(--fg)}.report-link-btn:hover{background:var(--accent);border-color:var(--accent)}.detail-body{display:flex;flex-direction:column}.d-section{border-bottom:1px solid var(--rule);padding:28px 24px}.d-label{display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--fg-dim);text-transform:uppercase;margin-bottom:20px}.d-label-live{color:var(--accent)}.d-dl{display:flex;flex-direction:column;gap:9px}.d-dl-row{display:flex;gap:16px;align-items:baseline}.d-dl-row dt{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-dim);width:88px;flex-shrink:0}.d-dl-row dd{font-size:13px;line-height:1.4;word-break:break-all}.d-score-row{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:start}.d-score-ring{width:96px;height:96px;border-radius:50%;border:2.5px solid var(--sc);display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.d-score-num{font-family:var(--mono);font-size:30px;font-weight:500;line-height:1;color:var(--sc)}.d-score-sub{font-family:var(--mono);font-size:10px;color:var(--fg-dim);margin-top:2px}.d-grade{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;margin:0 0 8px}.d-headline{font-family:"DM Serif Display",Georgia,serif;font-size:clamp(18px,2.5vw,26px);line-height:1.2;font-weight:400;letter-spacing:-.01em;margin:0 0 10px}.d-summary{font-size:13px;line-height:1.65;color:var(--fg-dim)}.d-section-row{border-bottom:1px solid var(--rule);padding:24px}.d-section-row:last-child{border-bottom:none}.d-section-row-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.d-section-title{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.d-section-score{font-family:var(--mono);font-size:24px;font-weight:500;line-height:1}.d-section-denom{font-size:12px;opacity:.45}.d-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px}.d-col-label{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--fg-dim);text-transform:uppercase;margin:0 0 8px}.d-list{margin:0;padding:0 0 0 14px;display:flex;flex-direction:column;gap:6px}.d-list li{font-size:13px;line-height:1.5;color:var(--fg)}.d-wins li::marker{color:var(--accent)}.d-fixes li::marker{color:#e63e5c}.d-qw-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.d-qw-list li{display:flex;align-items:flex-start;gap:16px;padding:16px 0;border-top:1px solid var(--rule);font-size:14px;line-height:1.55}.d-qw-list li:first-child{border-top:none;padding-top:0}.d-qw-num{font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--accent);flex-shrink:0;padding-top:3px}.d-log-box{display:flex;flex-direction:column;gap:3px;max-height:200px;overflow-y:auto}.d-log-empty{font-family:var(--mono);font-size:12px;color:var(--fg-dim)}.d-log-line{display:flex;gap:12px;font-family:var(--mono);font-size:12px;line-height:1.55}.d-log-ts{color:var(--fg-dim);flex-shrink:0}.d-log-err{color:#e63e5c}.d-error-line{font-family:var(--mono);font-size:12px;color:#e63e5c;margin-top:10px;white-space:pre-wrap;word-break:break-all}.d-link{color:var(--accent);text-decoration:none}.d-link:hover{text-decoration:underline}.lm-overlay{position:fixed;inset:0;background:#0009;z-index:40}.lm-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(520px,calc(100vw - 32px));max-height:calc(100vh - 64px);background:var(--bg);border:1px solid var(--rule-strong);z-index:50;overflow-y:auto;display:flex;flex-direction:column;border-radius:4px}.lm-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 24px;border-bottom:1px solid var(--rule);position:sticky;top:0;background:var(--bg);z-index:1}.lm-header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.lm-name{font-size:16px;font-weight:500;margin-bottom:4px}.lm-meta{font-size:12px;color:var(--fg-dim)}.lm-body{display:flex;flex-direction:column}.lm-message{font-size:14px;line-height:1.7;color:var(--fg)}
