:root{color:#e8e8ed;background:#0f1117;font-family:system-ui,sans-serif;line-height:1.5}body{margin:0}a{color:#7eb6ff}.app{max-width:720px;margin:0 auto;padding:1.5rem}.app-wide{max-width:960px}.app-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.app-header h1{margin:0}nav{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.card{background:#1a1d27;border:1px solid #2a2f3d;border-radius:8px;margin-bottom:1rem;padding:1rem 1.25rem}label{margin:.5rem 0 .25rem;font-size:.875rem;display:block}input,select,textarea{box-sizing:border-box;width:100%;color:inherit;background:#0f1117;border:1px solid #3a4050;border-radius:4px;padding:.5rem}button,.btn{color:#fff;cursor:pointer;background:#3b6fd9;border:none;border-radius:4px;margin-top:.75rem;padding:.5rem 1rem}button:disabled{opacity:.5;cursor:not-allowed}.card-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.card-header h2,.card-header h3{margin:0}.btn-inline{margin-top:0;text-decoration:none;display:inline-block}.btn-sm{margin-top:0;padding:.25rem .5rem;font-size:.75rem}.mono{word-break:break-all;font-family:ui-monospace,monospace;font-size:.8rem}.error{color:#f87171}.muted{color:#a0a8b8;font-size:.875rem}.search-form{margin-bottom:1rem}.browse-filters .filter-row{flex-wrap:wrap;gap:.75rem 1rem;margin:.65rem 0;display:flex}.browse-filters .filter-row label{color:#a0a8b8;flex-direction:column;gap:.25rem;font-size:.875rem;display:flex}.browse-filters select{color:#e8eaf0;background:#1a1d27;border:1px solid #2a2f3d;border-radius:4px;min-width:10rem;padding:.35rem .5rem}.competition-list{gap:.75rem;display:grid}.pagination{justify-content:center;align-items:center;gap:1rem;margin:1.25rem 0 .5rem;display:flex}.pagination-btn:not(:disabled){opacity:1;cursor:pointer;background:#3b6fd9}.pagination button:disabled,.pagination-btn:disabled{opacity:.45;cursor:not-allowed;color:#8b93a7;background:#2a2f3d}.competition-card h3{margin:0 0 .25rem}.competition-card-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.competition-card-badges{flex-wrap:wrap;justify-content:flex-end;gap:.35rem;display:flex}.tag-row{flex-wrap:wrap;gap:.35rem;margin:.5rem 0 0;display:flex}.tag{color:#c8cdd8;background:#2a2f3d;border-radius:4px;padding:.15rem .45rem;font-size:.75rem}.badge-status{letter-spacing:.02em;border-radius:4px;flex-shrink:0;padding:.1rem .45rem;font-size:.7rem;font-weight:600;display:inline-block}.badge-status-ongoing{color:#86efac;background:#1e3a2f}.badge-status-ending{color:#fbbf24;background:#3a2e1e}.badge-status-finished{color:#9aa3b5;background:#2a2f3d}.badge-ingest-none{color:#7a8499;background:#1a1d27;border:1px solid #2a2f3d}.badge-ingest-running{color:#93c5fd;background:#1e2a3a}.badge-ingest-succeeded{color:#86efac;background:#1e3a2f}.badge-ingest-dryrun{color:#c4b5fd;background:#2a2438}.badge-ingest-failed{color:#fca5a5;background:#3a1e1e}.description{margin-top:.75rem;line-height:1.6}.cli-hint{white-space:pre-wrap;background:#0f1117;border:1px solid #2a2f3d;border-radius:4px;margin:.75rem 0 0;padding:.75rem;font-family:ui-monospace,monospace;font-size:.75rem;overflow-x:auto}.mine-list{margin:0;padding:0;list-style:none}.mine-list li{margin-bottom:.75rem}.mine-list a{font-size:1.05rem}.chat-comp-search{margin-bottom:.75rem}.chat-comp-search .search-form{margin-bottom:.5rem}.chat-global-cta{margin:1rem 0}.chat-layout{flex-direction:column;gap:.75rem;display:flex}.chat-grid{grid-template-columns:220px 1fr;align-items:start;gap:1rem;display:grid}@media (width<=720px){.chat-grid{grid-template-columns:1fr}}.session-sidebar{margin-bottom:0}.session-list{margin:0;padding:0;list-style:none}.session-btn{text-align:left;width:100%;color:inherit;background:#0f1117;border:1px solid #2a2f3d;margin-top:.35rem;padding:.5rem}.session-active{background:#1e2a40;border-color:#3b6fd9}.session-title{font-size:.85rem;display:block}.session-preview{margin-top:.25rem;font-size:.75rem;display:block}.chat-main{flex-direction:column;min-height:420px;margin-bottom:0;display:flex}.chat-messages{flex:1;max-height:480px;margin-bottom:1rem;overflow-y:auto}.chat-bubble{border-radius:8px;margin-bottom:1rem;padding:.75rem}.chat-bubble-user{background:#1e2a40;border:1px solid #3b6fd9}.chat-bubble-assistant{background:#141820;border:1px solid #2a2f3d}.chat-role{color:#a0a8b8;margin:0 0 .35rem;font-size:.75rem}.chat-content{white-space:pre-wrap}.chat-input-row textarea{margin-bottom:.5rem}.sources{border-top:1px solid #2a2f3d;margin-top:.75rem;padding-top:.5rem}.sources-label{color:#a0a8b8;margin:0 0 .35rem;font-size:.8rem}.source-list{margin:0;padding:0;list-style:none}.source-list li{margin-bottom:.5rem}.source-snippet{margin:.25rem 0 0;font-size:.8rem}.writeup-section{margin-top:1.25rem}.writeup-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.writeup-item{border-top:1px solid #2a2f3d;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.75rem 0;display:flex}.writeup-item:first-child{border-top:none;padding-top:0}.writeup-item-main{flex:1;min-width:0}.writeup-title{margin:0 0 .25rem;font-weight:600}.writeup-excerpt{margin:.35rem 0;font-size:.85rem}.explain-panel{margin-top:1rem}.action-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.btn-secondary{color:#e8eaed;background:#2a2f3d}.writeup-actions{flex-direction:column;align-items:stretch;gap:.35rem;display:flex}.badge-explained{vertical-align:middle;color:#86efac;background:#1e3a2f;border-radius:4px;margin-left:.5rem;padding:.1rem .4rem;font-size:.7rem;font-weight:600;display:inline-block}.feedback-panel{border-top:1px solid #2a2f3d;margin-top:1.25rem;padding-top:1rem}.feedback-panel h4{margin:0 0 .35rem}.feedback-row{flex-wrap:wrap;gap:1rem;margin:.75rem 0;display:flex}.feedback-row label,.feedback-note{flex-direction:column;gap:.35rem;font-size:.85rem;display:flex}.feedback-row select,.feedback-note textarea{color:#e8eaed;font:inherit;background:#151922;border:1px solid #2a2f3d;border-radius:6px;padding:.35rem .5rem}.feedback-note{width:100%;margin-bottom:.75rem}.explanation-list{margin-top:1rem}
