@font-face{font-family:Lora;src:url('/static/fonts/lora-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Lora;src:url('/static/fonts/lora-latin-600-normal.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Plex;src:url('/static/fonts/ibm-plex-mono-latin-400-normal.woff2') format('woff2');font-display:swap}
:root{color-scheme:light;--bg:#f5f8fa;--surface:#e8f0f4;--elevated:#dce9ef;--blue:#287fae;--accent:#72b6d3;--text:#172a35;--muted:#526c79;--border:#c8d8e0;--serif:Lora,Georgia,serif;--mono:Plex,monospace}
:root[data-theme=dark]{color-scheme:dark;--bg:#06131d;--surface:#0b2231;--elevated:#103047;--blue:#4aa8d8;--accent:#87ceeb;--text:#eaf2f5;--muted:#91aab7;--border:#1b3b4d}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.7 var(--serif)}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}a:hover{color:var(--blue)}button,input,textarea,select{font:inherit;font-size:16px}button,a,input,textarea,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button,.button{min-height:44px;padding:10px 18px;border:1px solid var(--border);background:var(--surface);color:var(--text);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:10px}button:hover,.button:hover{border-color:var(--blue)}button.primary,.button.primary{background:var(--blue);color:var(--bg);border-color:var(--blue)}.quiet{background:none;border:0;font:12px var(--mono);padding:10px}.full{width:100%;margin-top:24px}input,textarea,select{width:100%;min-width:0;background:var(--bg);color:var(--text);border:1px solid var(--border);padding:12px;min-height:48px;border-radius:0}textarea{resize:vertical;min-height:120px}label{display:block;font:12px/1.6 var(--mono);margin:20px 0 7px}h1,h2,h3{font-weight:400;line-height:1.25}h1{font-size:clamp(32px,5vw,64px);letter-spacing:-.04em;margin:18px 0 28px}h2{font-size:28px}h3{font-size:21px}p{margin:0 0 18px}.page{max-width:1240px;margin:auto;padding:env(safe-area-inset-top) 5% env(safe-area-inset-bottom)}header{display:flex;align-items:center;justify-content:space-between;min-height:92px;border-bottom:1px solid var(--border);gap:12px}.wordmark{font:26px var(--mono);letter-spacing:-2px;text-decoration:none}.wordmark span{color:var(--blue)}.wordmark small{font:10px var(--mono);letter-spacing:.08em}nav{display:flex;gap:30px;border-bottom:1px solid var(--border);font:13px var(--mono)}nav a{padding:16px 0;min-height:48px;text-decoration:none}nav a[aria-current]{color:var(--blue);border-bottom:2px solid var(--blue)}main{padding:44px 0 64px;min-height:70dvh;min-width:0}footer{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--border);padding:22px 0;font-size:12px}.mono,.eyebrow,.fine,.coordinate{font-family:var(--mono)}.eyebrow{font-size:11px;letter-spacing:.12em;color:var(--blue)}.muted,.fine{color:var(--muted)}.fine{font-size:11px;line-height:1.8;margin-top:28px}.lead{font-size:23px}.login-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:12%;padding:32px 0}.login-panel{border-left:1px solid var(--border);padding-left:40px}.coordinate{font-size:12px;white-space:pre-wrap;color:var(--muted);margin-top:64px}.notice{padding:16px;background:var(--surface);border-left:3px solid var(--blue);overflow-wrap:anywhere}.skip{position:absolute;top:-100px}.skip:focus{top:4px;background:var(--bg);z-index:10}:focus-visible{outline:2px solid var(--blue);outline-offset:4px}[hidden]{display:none!important}.split{display:grid;grid-template-columns:1.5fr 1fr;gap:56px}.stack>*+*{margin-top:22px}.rule{border-top:1px solid var(--border);padding:22px 0}.row{display:flex;align-items:center;justify-content:space-between;gap:18px}.actions{display:flex;flex-wrap:wrap;gap:12px}.metric{font-size:42px;line-height:1.2;color:var(--blue)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:32px 0}.stats>div{border-top:1px solid var(--border);padding-top:16px}.reading{max-width:760px}.answer{white-space:pre-wrap;overflow-wrap:anywhere}.review-card{padding:32px;background:var(--surface);border-top:2px solid var(--blue);min-height:260px}.ratings{display:grid;gap:10px;margin-top:24px}.ratings button{width:100%;justify-content:space-between;min-height:52px}.table-scroll{max-width:100%;overflow:auto;max-height:400px;border:1px solid var(--border);margin:20px 0}table{border-collapse:collapse;font:13px var(--mono);min-width:100%}td,th{text-align:left;padding:12px;border-bottom:1px solid var(--border);white-space:nowrap}th{background:var(--surface);position:sticky;top:0}pre,code{font-family:var(--mono)}pre{overflow:auto;max-width:100%;padding:16px;background:var(--surface)}.sql-editor{font:16px/1.65 var(--mono);min-height:180px}.chat{max-width:850px}.message{padding:20px 0;border-bottom:1px solid var(--border);white-space:pre-wrap;overflow-wrap:anywhere}.message.user{padding-left:22px;border-left:2px solid var(--blue)}.composer{position:sticky;bottom:0;background:var(--bg);padding:12px 0 max(12px,env(safe-area-inset-bottom))}.composer textarea{min-height:90px}.topic{font:11px var(--mono);color:var(--muted);overflow-wrap:anywhere}.list{list-style:none;padding:0}.list li{padding:18px 0;border-bottom:1px solid var(--border)}details{padding:12px 0}summary{cursor:pointer;min-height:44px}svg{max-width:100%;height:auto}.diagram{border:1px solid var(--border);padding:18px}.diagram text{fill:var(--text)}.diagram rect,.diagram path,.diagram line{stroke:var(--blue);fill:none}
@media(max-width:700px){.page{padding-left:20px;padding-right:20px}header{min-height:74px}.wordmark{font-size:23px}.wordmark small{font-size:8px;letter-spacing:0}header .quiet{font-size:10px;padding:8px 0}nav{gap:0;justify-content:space-between;font-size:11px}nav a{padding:14px 2px}main{padding:28px 0 38px}.login-grid,.split{grid-template-columns:1fr;gap:28px;padding:0}.login-panel{border-left:0;border-top:1px solid var(--border);padding:20px 0 0}.coordinate{display:none}.login-grid h1{font-size:38px}.login-grid .lead{font-size:21px}footer{align-items:flex-start;font-size:10px}footer .mono{max-width:180px}.review-card{padding:22px}.stats{gap:12px}.metric{font-size:32px}.stats p{font-size:13px}.row{align-items:flex-start;flex-wrap:wrap}.actions>*{flex:1}.ratings{position:sticky;bottom:0;background:var(--bg);padding-bottom:env(safe-area-inset-bottom)}.topic{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.diagram .filled{fill:var(--blue)}.list a,h2,h3{overflow-wrap:anywhere}.split>*{min-width:0}input[type=file]{font-size:16px;overflow:hidden}input::file-selector-button{max-width:100%;padding:8px;border:0;background:var(--surface);color:var(--text)}
.filter-actions select{flex:1 1 260px}.filter-actions button{flex:0 0 auto}.reading.stack{margin-top:22px}.keyboard-open .composer{position:static}.list a{display:inline-block;min-height:44px;padding:8px 0}footer>a{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:700px){.login-grid h1{font-size:32px;margin:12px 0 20px}.login-grid{gap:16px}.login-grid section>p{margin-bottom:14px}.login-panel{padding-top:8px}.login-panel h2{margin:16px 0}.filter-actions{gap:8px}.filter-actions select{flex:1 1 100%}.filter-actions button{width:100%}.composer{position:static}}
