:root{--font-body:"Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--font-display:var(--font-body);--font-mono:Consolas, "Cascadia Mono", ui-monospace, Menlo, monospace;--weight-display:650;--weight-ui:550;--r-sm:6px;--r-btn:7px;--r-bubble:10px;--r-card:14px;--brand-rgb:50, 108, 146;--brand:#326c92;--brand-l:#326c92;--brand-solid:#326c92;--brand-hover:#2e6285;--on-brand:#fff;--page:#f7f7f8;--surface:#fff;--surface-2:#ededef;--surface-3:#e6e6e9;--field:var(--surface);--bubble-bot:#ebebed;--bubble-user:#eef4f9;--bubble-user-bd:transparent;--text-1:#172b38;--text-2:#526774;--text-3:#72848e;--border:#d6d8dc;--border-2:#aeb6bd;--chip:#172b380a;--hover:#172b380f;--tint:#e0ecf3;--tint-hover:#cbdde7;--tint-bd:rgba(var(--brand-rgb), .36);--tint-bd-hover:var(--brand);--accent:#b64722;--accent-tint:#fbede7;--good:#346b48;--good-bg:#e7ede9;--good-bd:#b8cbbf;--warn:#94621d;--crit:#ae3f45;--crit-bg:#f7ecec;--crit-bd:#e3bcbe}body.dark{--brand-rgb:145, 190, 220;--brand:#91bedc;--brand-l:#91bedc;--brand-solid:#326c92;--brand-hover:#437b9f;--on-brand:#fff;--page:#1a1c1f;--surface:#232529;--surface-2:#141518;--surface-3:#2a2c31;--field:var(--surface);--bubble-bot:#2b2d31;--bubble-user:#20313d;--bubble-user-bd:transparent;--text-1:#edf3f6;--text-2:#a8bac6;--text-3:#808e97;--border:#33363b;--border-2:#474b51;--chip:#edf3f60d;--hover:#edf3f612;--tint:#213442;--tint-hover:#243e4f;--tint-bd:rgba(var(--brand-rgb), .4);--tint-bd-hover:var(--brand);--accent:#ffaa83;--accent-tint:#e66e4d24;--good:#6ec88a;--good-bg:#16281c;--good-bd:#2f5a3a;--warn:#d89552;--crit:#e57373;--crit-bg:#2a1a1a;--crit-bd:#5a3030}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background:var(--page);color:var(--text-1);-webkit-font-smoothing:antialiased;flex-direction:column;height:100vh;font-size:14px;display:flex;overflow:hidden}.header{background:var(--surface-2);color:var(--text-1);border-bottom:1px solid var(--border);cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;gap:12px;padding:10px 14px;display:flex}.header.dragging{cursor:grabbing}.header-logo{width:62px;height:auto;color:var(--text-1);pointer-events:none;flex:none;display:block}.header-actions{align-items:center;gap:4px;margin-left:auto;display:flex}.header-btn{color:var(--text-2);border-radius:var(--r-sm);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;display:flex}.header-btn:hover{background:var(--surface);border-color:var(--border);color:var(--text-1)}.settings{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;padding:12px 14px;display:none}.settings.open{display:block}.settings-section{margin-bottom:12px}.settings-section:last-child{margin-bottom:0}.settings-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px;font-size:10px;font-weight:700}.settings-badge{background:var(--tint);border:1px solid var(--tint-bd);color:var(--brand);letter-spacing:.03em;border-radius:4px;margin-left:4px;padding:1px 6px;font-size:9px;display:inline-block}.settings-row{gap:6px;display:flex}.tts-sublabel{margin-top:10px}.tts-key{margin-bottom:5px}.settings-hint.tts-warn{color:var(--warn)}.settings-hint.tts-key-missing{color:var(--crit);font-weight:600}.settings-option{border:1px solid var(--border-2);border-radius:var(--r-btn);cursor:pointer;color:var(--text-2);text-align:center;background:0 0;flex:1;padding:5px 12px;font-size:12px}.settings-option:hover{background:var(--tint);border-color:var(--tint-bd);color:var(--brand-l)}.settings-option.active{background:var(--tint-hover);color:var(--brand-l);border-color:var(--tint-bd-hover);font-weight:600}.settings-option[data-size=small]{font-size:11px}.settings-option[data-size=large]{font-size:15px}.settings-row-voice .settings-option{padding:5px 6px;font-size:11px}.settings-hint{color:var(--text-3);margin-top:6px;font-size:10.5px;line-height:1.4}.settings-token{border:1px solid var(--border);border-radius:var(--r-btn);width:100%;font-size:10.5px;font-family:var(--font-mono);color:var(--text-3);background:var(--surface-2);outline:none;padding:6px 9px}.settings-about{border-top:1px solid var(--border);margin-top:10px;padding-top:10px}.settings-info{color:var(--text-3);font-size:11px;line-height:1.6}.settings-info a,.settings-hint a{color:var(--brand);text-decoration:none}.settings-info a:hover,.settings-hint a:hover{text-decoration:underline}.messages{flex-direction:column;flex:1;gap:14px;padding:16px 14px 6px;display:flex;overflow-y:auto}.msg{border-radius:var(--r-bubble);word-break:break-word;-webkit-user-select:text;user-select:text;max-width:85%;padding:9px 12px;font-size:14px;line-height:1.6;position:relative}.msg.bot{background:var(--bubble-bot);color:var(--text-1);border-radius:var(--r-bubble) var(--r-bubble) var(--r-bubble) 2px;white-space:pre-wrap;font-variant-numeric:tabular-nums;border:none;align-self:flex-start}.msg.user{background:var(--bubble-user);border:1px solid var(--bubble-user-bd);color:var(--text-1);border-radius:var(--r-bubble) var(--r-bubble) 2px var(--r-bubble);align-self:flex-end}@media (prefers-reduced-motion:reduce){.thinking-dot{opacity:.9;animation:none}}.rule{color:var(--text-3);align-self:stretch;align-items:center;gap:10px;max-width:none;margin:4px 0;font-size:13px;display:flex}.rule:before,.rule:after{content:"";background:var(--border);flex:1;height:1px}.rule.start{color:var(--brand-l)}.rule.chapter{letter-spacing:.1em;text-transform:uppercase;color:var(--brand);margin:10px 0 4px;font-size:11px;font-weight:700}.rule.chapter svg{fill:var(--brand)}.rule.end{color:var(--good)}.rule.warn{color:var(--warn)}.rule .t{font-family:var(--font-mono);color:var(--text-3);font-size:11px}.rule svg{fill:currentColor;flex:none;width:11px;height:11px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);align-self:flex-start;width:100%;max-width:460px;padding:14px 16px}.card .title{font-family:var(--font-display);font-size:16px;font-weight:var(--weight-display);color:var(--text-1);margin:0 0 8px;line-height:1.3}.card .title .sub{font-family:var(--font-body);color:var(--text-2);margin-top:2px;font-size:13px;font-weight:400;display:block}.opts{flex-direction:column;gap:2px;max-height:52vh;margin:0 -6px;display:flex;overflow-y:auto}.opt{border-radius:var(--r-sm);cursor:pointer;color:var(--text-1);min-width:0;font:inherit;text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:7px 8px;display:flex}.opt:hover{background:var(--surface-2)}.opt .l{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.opt .l small{color:var(--text-2);font-size:12.5px}.opt .num{font-family:var(--font-mono);color:var(--text-2);flex:none;font-size:12px}.opt .bar{background:var(--border);border-radius:2px;flex:0 0 40px;height:2px;overflow:hidden}.opt .bar i{background:var(--brand);opacity:.7;height:100%;display:block}.opts .sep{background:var(--border);flex:none;height:1px;margin:6px 8px}.more{color:var(--brand-l);cursor:pointer;text-align:left;background:0 0;border:none;padding:6px 8px 2px;font-family:inherit;font-size:12.5px}.more:hover{text-underline-offset:3px;text-decoration:underline}.card.picked .opt{opacity:.42;cursor:default}.card.picked .opt:hover{background:0 0}.card.picked .opt.sel{opacity:1;background:var(--tint);border-left:2px solid var(--brand);border-radius:0 var(--r-sm) var(--r-sm) 0;padding-left:6px}.card.picked .opt.sel:hover{background:var(--tint)}.card.picked .opt.sel .l{font-weight:500}.card.picked .more{opacity:.42;cursor:default;text-decoration:none}.volby{flex-wrap:wrap;align-self:flex-start;gap:6px;max-width:460px;margin-top:-6px;display:flex}.volba{font:inherit;background:var(--tint);color:var(--text-1);cursor:pointer;border:1px solid #0000;border-radius:999px;padding:5px 12px;font-size:12.5px}.volba:hover{border-color:var(--brand);background:var(--tint)}.volby.done .volba{opacity:.45;cursor:default}.volby.done .volba.sel{opacity:1;border-color:var(--tint-bd);background:var(--tint);color:var(--brand-l)}.recap .sec{border-top:1px solid var(--border);margin-top:10px;padding-top:10px}.recap .sec:first-of-type{border-top:0;margin-top:4px;padding-top:0}.recap .sec h4{font-family:var(--font-display);font-weight:var(--weight-display);color:var(--text-2);margin:0 0 6px;font-size:13px}.recap .kv{grid-template-columns:minmax(118px,max-content) 1fr 50px;gap:4px 12px;font-size:13.5px;display:grid}.recap .k{color:var(--text-2);white-space:nowrap}.recap .v{color:var(--text-1);text-align:right;justify-content:flex-end;align-items:baseline;gap:8px;min-width:0;display:flex}.recap .v span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.recap .v .mono{font-family:var(--font-mono);font-size:13px}.recap .src{align-items:center;display:flex}.badge{font-family:var(--font-mono);letter-spacing:.02em;color:var(--text-3);border:1px solid var(--border-2);border-radius:999px;flex:none;padding:1px 6px;font-size:10px;line-height:1.4}.badge.ares{color:var(--brand-l);border-color:var(--tint-bd)}.card .actions{border-top:1px solid var(--border);gap:8px;margin-top:14px;padding-top:12px;display:flex}.card .actions .spacer{flex:1}.btn{font:inherit;font-size:13px;font-weight:var(--weight-display);border-radius:var(--r-btn);cursor:pointer;white-space:nowrap;border:1.5px solid #0000;padding:8px 14px}.btn.primary{background:var(--brand-solid);border-color:var(--brand-solid);color:var(--on-brand)}.btn.primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}.btn.secondary{border-color:var(--tint-bd);color:var(--brand-l);background:0 0}.btn.secondary:hover{background:var(--tint);border-color:var(--brand)}.btn:disabled{opacity:.5;cursor:default}.card .confirmed{border-top:1px solid var(--border);color:var(--text-3);font-size:12.5px;font-family:var(--font-mono);justify-content:space-between;margin-top:12px;padding-top:10px;display:flex}.card.sent{opacity:.85}.msg .value{font-weight:var(--weight-display);color:var(--text-1)}.msg .hint{color:var(--text-2)}.msg .ident{font-family:var(--font-mono);background:var(--chip);border-radius:3px;padding:.05em .35em;font-size:.92em}.msg pre{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--brand);border-radius:var(--r-sm);font-family:var(--font-mono);white-space:pre-wrap;color:var(--text-2);margin-top:8px;padding:8px 10px;font-size:12px;line-height:1.5;overflow-x:auto}.msg .md-table{border-collapse:collapse;font-variant-numeric:tabular-nums;max-width:100%;margin:7px 0;font-size:12px;display:block;overflow-x:auto}.msg .md-table th,.msg .md-table td{border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:5px 10px 5px 0}.msg .md-table th{color:var(--text-2);border-bottom:1px solid var(--border);font-size:12px;font-weight:400}.msg .md-table td:not(:first-child),.msg .md-table th:not(:first-child){text-align:right}.msg .ext-link{color:var(--brand);text-underline-offset:2px;cursor:pointer;word-break:break-word;text-decoration:underline}.msg .ext-link:hover{text-decoration-thickness:2px}.msg-actions{white-space:normal;opacity:0;background:0 0;justify-content:flex-start;gap:2px;padding-top:2px;transition:opacity .12s;display:flex;position:absolute;top:100%;left:2px;right:0}.msg:hover .msg-actions,.msg:focus-within .msg-actions{opacity:1}.msg-actions .act-btn{pointer-events:none}.msg:hover .msg-actions .act-btn,.msg:focus-within .msg-actions .act-btn{pointer-events:auto}.msg:has(.act-btn){margin-bottom:12px}.act-btn{color:var(--text-3);border-radius:var(--r-sm);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:22px;height:22px;padding:0;transition:background .15s,color .15s;display:inline-flex}.act-btn:hover,.act-btn.active{background:var(--tint);color:var(--brand)}.act-btn.done{color:var(--good)}.act-btn.speaking{color:var(--brand);animation:1.1s ease-in-out infinite act-speak-pulse}@keyframes act-speak-pulse{0%,to{opacity:1}50%{opacity:.45}}.act-btn.err{color:var(--crit)}.act-btn:disabled{opacity:.45;cursor:default}.act-btn:disabled:hover{color:var(--text-3);background:0 0}.feedback-form{background:var(--tint);border:1px solid var(--tint-bd);border-radius:var(--r-btn);flex-direction:column;gap:6px;margin-top:8px;padding:9px;display:flex}.feedback-form[hidden]{display:none}.feedback-form textarea{resize:vertical;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);width:100%;color:var(--text-1);box-sizing:border-box;padding:6px 9px;font-family:inherit;font-size:12.5px}.feedback-form textarea:focus{border-color:var(--brand);outline:none}.feedback-actions{justify-content:flex-end;gap:8px;display:flex}.feedback-actions button{border-radius:var(--r-sm);cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text-2);padding:5px 11px;font-family:inherit;font-size:12.5px;transition:background .15s,border-color .15s,color .15s}.feedback-actions button:hover{border-color:var(--brand);color:var(--brand)}.feedback-actions button:disabled{opacity:.5;cursor:not-allowed}.feedback-actions .feedback-send{background:var(--brand-solid);border-color:var(--brand-solid);color:var(--on-brand);font-weight:600}.feedback-actions .feedback-send:hover{background:var(--brand-hover);border-color:var(--brand-hover);color:var(--on-brand)}.sql-view{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--brand);border-radius:var(--r-sm);white-space:pre-wrap;color:var(--text-2);font-size:12px;line-height:1.5;font-family:var(--font-mono);margin-top:7px;padding:8px 10px;overflow-x:auto}.msg.thinking{box-shadow:none;background:0 0;border:none;padding:2px 4px}.thinking{color:var(--text-2);font-size:13px}.thinking-dot{background:var(--brand);vertical-align:1px;border-radius:50%;width:8px;height:8px;margin-right:7px;animation:1.3s ease-in-out infinite thinking-dot;display:inline-block}@keyframes thinking-dot{0%,to{opacity:.45;transform:scale(.7)}50%{opacity:1;transform:scale(1)}}.suggestions{flex-wrap:wrap;flex-shrink:0;gap:6px;padding:8px 14px 0;display:flex}.suggestion{background:var(--tint);color:var(--text-1);cursor:pointer;border:1px solid #0000;border-radius:999px;padding:5px 12px;font-family:inherit;font-size:12.5px;line-height:1.3;transition:background .15s,border-color .15s}.suggestion:hover{background:var(--tint-hover);border-color:var(--tint-bd);color:var(--text-1)}.suggestion-inline{align-self:flex-start;padding:2px 0}.suggestion-chip{background:var(--chip);border:1px dashed var(--tint-bd);color:var(--brand);cursor:pointer;border-radius:999px;padding:5px 12px;font-family:inherit;font-size:12.5px;line-height:1.3;transition:background .15s}.suggestion-chip:hover{background:var(--tint)}.input-area{flex-shrink:0;align-items:flex-end;gap:8px;padding:8px 14px 12px;display:flex}.input-area textarea{border:1px solid var(--border);border-radius:var(--r-btn);background:var(--field);color:var(--text-1);resize:none;flex:1;min-height:38px;max-height:120px;padding:8px 12px;font-family:inherit;font-size:14px;line-height:1.4;overflow-y:hidden}.input-area textarea::placeholder{color:var(--text-3)}.input-area textarea:focus{border-color:var(--brand);outline:none}.input-area .mic-btn{color:var(--brand);border:1px solid var(--tint-bd);background:0 0;gap:6px;min-width:38px;padding:0 8px}.input-area .mic-btn:hover{background:var(--tint)}.input-area .mic-btn:disabled{color:var(--text-3);border-color:var(--border);cursor:default;background:0 0}.input-area .mic-btn .mic-timer{font-variant-numeric:tabular-nums;color:var(--brand);font-size:12px}.input-area .mic-btn.recording{background:var(--brand-solid);color:var(--on-brand);border-color:var(--brand-solid);animation:1.4s ease-in-out infinite mic-pulse}.input-area .mic-btn.recording .mic-timer{color:var(--on-brand)}.input-area .mic-btn.recording:hover{background:var(--brand-hover)}.input-area .mic-btn.handsfree{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand) inset}.input-area .mic-btn.transcribing{color:var(--brand);cursor:default}.input-area .mic-btn.transcribing svg{display:none}.input-area .mic-btn.transcribing:before{content:"";border:2px solid var(--border-2);border-top-color:var(--brand);border-radius:50%;width:15px;height:15px;animation:.7s linear infinite mic-spin}@keyframes mic-pulse{0%,to{box-shadow:0 0 0 0 var(--tint-bd)}50%{box-shadow:0 0 0 5px rgba(var(--brand-rgb), 0)}}@keyframes mic-spin{to{transform:rotate(360deg)}}body.font-small .msg,body.font-small .input-area textarea{font-size:13px}body.font-large .msg,body.font-large .input-area textarea{font-size:16px}.toast-host{z-index:9999;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:24px;right:24px}.toast{background:var(--text-1);color:var(--page);border-radius:var(--r-btn);opacity:0;max-width:320px;padding:10px 14px;font-size:12.5px;transition:opacity .25s,transform .25s;transform:translateY(8px);box-shadow:0 6px 18px #00000040}.toast.show{opacity:1;transform:translateY(0)}.msg .md-table.graf-skryta{display:none}.graf{margin:8px 0 4px}.graf-prepinac{gap:4px;margin-bottom:8px;display:flex}.graf-typ{border:1px solid var(--border-2);color:var(--text-2);font:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:3px 10px;font-size:11px;transition:background .15s,color .15s,border-color .15s}.graf-typ:hover{background:var(--tint);color:var(--brand)}.graf-typ.active{background:var(--tint);border-color:var(--brand);color:var(--brand)}.graf-platno{width:100%;min-width:320px;position:relative}.graf-chyba{color:var(--text-3);margin:0;font-size:12px}.msg.stav{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--ton);border-radius:0 var(--r-bubble) var(--r-bubble) 0;max-width:85%;color:var(--text-1);white-space:normal;align-self:flex-start;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.stav-info{--ton:var(--brand)}.stav-ok{--ton:var(--good)}.stav-varovani{--ton:var(--warn)}.stav-chyba{--ton:var(--crit)}.msg.stav .hl-ikona{width:18px;height:18px;color:var(--ton);flex:none;margin-top:1px}.msg.stav p{margin:0}.msg.stav .hl-nadpis{font-weight:var(--weight-ui);line-height:1.45}.msg.stav .hl-veta{color:var(--text-2);margin-top:2px;font-size:13px;line-height:1.5}.poznamka{max-width:85%;color:var(--text-2);white-space:normal;flex-wrap:wrap;align-self:flex-start;align-items:center;gap:0 6px;padding:0 4px;font-size:13px;line-height:1.5;display:flex}.poznamka>span{min-width:0}.poznamka .hl-ikona{flex:none;width:16px;height:16px}.poznamka-hotovo,.poznamka-ok{color:var(--text-1)}.poznamka-hotovo .hl-ikona,.poznamka-ok .hl-ikona{color:var(--brand)}.hl-odkaz{font:inherit;color:var(--brand-l);cursor:pointer;text-underline-offset:2px;background:0 0;border:0;margin-left:4px;padding:0;text-decoration:underline}.hl-odkaz:hover{color:var(--brand-hover)}.export-menu{background:var(--surface);border:1px solid var(--border-2);border-radius:var(--r-btn);z-index:5;flex-direction:column;min-width:150px;margin-top:2px;padding:4px;display:flex;position:absolute;top:100%;box-shadow:0 8px 24px #00000029}.export-volba{color:var(--text-1);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 10px;font-size:12.5px}.export-volba:hover,.export-volba:focus-visible{background:var(--tint);color:var(--brand);outline:none}.input-area{flex-wrap:wrap}.prilohy-pas{flex-wrap:wrap;flex:100%;gap:6px;padding-bottom:2px;display:flex}.priloha-chip{border:1px solid var(--border-2);background:var(--surface-2);max-width:260px;color:var(--text-1);border-radius:8px;align-items:center;gap:6px;padding:3px 6px 3px 8px;font-size:12px;display:inline-flex}.priloha-nahled{object-fit:cover;border-radius:4px;width:22px;height:22px}.priloha-nazev{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.priloha-vel{color:var(--text-3);white-space:nowrap;font-size:11px}.priloha-odebrat{color:var(--text-3);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:15px;line-height:1}.priloha-odebrat:hover{color:var(--brand)}.input-area .priloha-btn{width:38px;height:38px;color:var(--brand);border-color:var(--tint-bd);background:0 0;justify-content:center;align-items:center;padding:0;display:inline-flex}.input-area .priloha-btn:hover{background:var(--tint);border-color:var(--brand)}.msg .prilohy-v-bubline{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.msg .prilohy-v-bubline .priloha-nahled{width:auto;max-width:160px;height:auto;max-height:110px}.msg .prilohy-v-bubline .priloha-chip{flex-direction:column;align-items:flex-start}.input-area button{background:var(--brand-solid);color:var(--on-brand);border:1px solid var(--brand-solid);border-radius:var(--r-btn);cursor:pointer;font-family:inherit;font-size:13px;font-weight:var(--weight-display);flex-shrink:0;justify-content:center;align-items:center;height:38px;padding:0 16px;transition:background .15s,border-color .15s;display:inline-flex}.input-area button:hover{background:var(--brand-hover);border-color:var(--brand-hover)}.input-area button:disabled{color:var(--text-3);border-color:var(--border);cursor:default;background:0 0}.input-field{flex:1;min-width:0;display:flex;position:relative}.input-field textarea{width:100%;padding-right:40px}.input-area .input-field #send{border-radius:var(--r-sm);width:28px;height:28px;color:var(--text-2);background:0 0;border:0;padding:0;position:absolute;bottom:5px;right:5px}.input-area .input-field #send:hover{background:var(--bubble-bot);color:var(--text-1);border-color:#0000}.input-area .input-field #send:disabled{color:var(--text-3);background:0 0}.input-area .input-field #send svg{display:block}
