:root{--bg:#15151e;--card:#1f1f2b;--input:#0e0e14;--border:#38384a;--text:#f2f2f2;--text-dim:#a9a9b8;--red:#e10600;--papaya:#ff8700;--teal:#00d2be;--blue:#4f9cf7;--green:#4ade80;--purple:#b78af7}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.app{max-width:640px;min-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);flex-direction:column;margin:0 auto;display:flex}.header{padding:20px 16px 12px}.brand{align-items:center;gap:12px;display:flex}.brand-stripe{background:linear-gradient(180deg, var(--red) 0%, var(--red) 60%, var(--papaya) 100%);border-radius:3px;width:6px;height:40px}.brand h1{letter-spacing:2px;margin:0;font-size:26px;font-style:italic;font-weight:800;line-height:1}.tagline{color:var(--text-dim);margin:4px 0 0;font-size:13px}.tabs{border-bottom:1px solid var(--border);gap:8px;padding:0 16px 12px;display:flex}.tab{appearance:none;border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:999px;min-height:40px;padding:8px 16px;font-size:14px;font-weight:600}.tab.active{background:var(--red);border-color:var(--red);color:#fff}.main{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex}.searchbar{gap:8px;display:flex}.searchbar input{min-height:48px;color:var(--text);background:var(--input);border:1px solid var(--border);border-radius:12px;outline:none;flex:1;padding:0 16px;font-size:16px}.searchbar input:focus{border-color:var(--red)}.searchbar button{background:var(--red);color:#fff;cursor:pointer;border:none;border-radius:12px;min-width:64px;min-height:48px;font-size:16px;font-weight:700}.searchbar button:disabled{opacity:.6}.hints{flex-wrap:wrap;gap:8px;display:flex}.hint{appearance:none;border:1px solid var(--border);background:var(--card);color:var(--text-dim);cursor:pointer;border-radius:999px;min-height:36px;padding:8px 12px;font-size:13px}.hint:active{border-color:var(--papaya);color:var(--papaya)}.status{color:var(--text-dim);justify-content:space-between;align-items:center;font-size:13px;display:flex}.source{border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}.source.elasticsearch{color:var(--teal);background:#00d2be26}.source.sample-data{color:var(--papaya);background:#ff870026}.parsed{flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.parsed-label{color:var(--text-dim)}.parsed-chip{color:var(--blue);background:#4f9cf726;border-radius:999px;padding:3px 10px}.card{background:var(--card);border:1px solid var(--border);border-left:4px solid var(--border);border-radius:14px;padding:14px 16px}.card.type-driver{border-left-color:var(--red)}.card.type-team{border-left-color:var(--blue)}.card.type-circuit{border-left-color:var(--teal)}.card.type-race{border-left-color:var(--papaya)}.card.type-standings{border-left-color:var(--green)}.card.type-regulation{border-left-color:var(--purple)}.card-top{align-items:center;gap:10px;display:flex}.badge{text-transform:uppercase;letter-spacing:1px;background:var(--input);color:var(--text-dim);border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700}.badge-driver{color:var(--red)}.badge-team{color:var(--blue)}.badge-circuit{color:var(--teal)}.badge-race{color:var(--papaya)}.badge-standings{color:var(--green)}.badge-regulation{color:var(--purple)}.score{color:var(--text-dim);font-size:11px}.fav{appearance:none;color:var(--border);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:4px 6px;font-size:22px;line-height:1}.fav.on{color:var(--red)}.card-name{margin:10px 0 2px;font-size:19px;font-weight:700}.card-meta{color:var(--text-dim);margin:0 0 8px;font-size:13px}.trophies{letter-spacing:1px}.card-desc{color:var(--text);margin:0;font-size:14px;line-height:1.5}.card-tags{flex-wrap:wrap;gap:6px;margin:10px 0 0;display:flex}.tag{color:var(--text-dim);background:var(--input);border-radius:6px;padding:3px 8px;font-size:11px}mark{color:var(--papaya);background:#ff87004d;border-radius:3px;padding:0 2px}.featured{background:linear-gradient(135deg, #e106002e, #ff870014), var(--card);border:1px solid var(--border);border-radius:14px;padding:16px}.featured-label{text-transform:uppercase;letter-spacing:1.5px;color:var(--papaya);margin:0 0 6px;font-size:12px;font-weight:700}.featured h2{margin:0 0 4px;font-size:20px;font-style:italic}.debugger{border:1px dashed var(--border);color:var(--text-dim);border-radius:12px;padding:10px 14px;font-size:13px}.debugger summary{cursor:pointer;font-weight:600}.debugger pre{color:var(--teal);margin:10px 0 4px;font-size:12px;overflow-x:auto}.card-source{color:var(--text-dim);margin:8px 0 0;font-size:11px;font-style:italic}.bono{flex-direction:column;flex:1;gap:12px;display:flex}.bono-intro{flex-direction:column;gap:12px;display:flex}.bono-hello{background:var(--card);border:1px solid var(--border);border-left:4px solid var(--red);border-radius:14px;margin:0;padding:14px 16px;font-size:14px;line-height:1.55}.bono-log{flex-direction:column;gap:10px;display:flex}.bono-msg{border-radius:14px;max-width:92%;padding:10px 14px 12px}.bono-msg p{white-space:pre-wrap;margin:4px 0 0;font-size:14px;line-height:1.55}.bono-msg.from-user{background:#e1060024;border:1px solid #e1060059;align-self:flex-end}.bono-msg.from-bono{background:var(--card);border:1px solid var(--border);border-left:4px solid var(--red);align-self:flex-start}.bono-label{letter-spacing:2px;color:var(--text-dim);font-size:10px;font-weight:800}.bono-name{color:var(--red)}.bono-sources{flex-wrap:wrap;gap:6px;margin:10px 0 0;display:flex}.bono-mode{color:var(--papaya);margin:8px 0 0;font-size:11px;font-style:italic}.cursor{color:var(--red);animation:1s step-end infinite blink}@keyframes blink{50%{opacity:0}}.error{color:#f93e3e;font-size:14px}.empty{color:var(--text-dim);text-align:center;padding:24px 0}.footer{padding:14px 16px calc(14px + env(safe-area-inset-bottom));text-align:center;color:var(--text-dim);border-top:1px solid var(--border);font-size:12px}
