.emoji-picker{position:relative;flex-shrink:0}.emoji-picker-toggle{width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--color-border);border-radius:8px;background:transparent;color:var(--color-text-muted);cursor:pointer;font:inherit;font-size:1.35rem;line-height:1}.emoji-picker-toggle:hover:not(:disabled),.emoji-picker-toggle.active{border-color:var(--color-primary);color:var(--color-text);background:var(--color-surface)}.emoji-picker-toggle:disabled{opacity:.4;cursor:not-allowed}.emoji-picker.compact .emoji-picker-toggle{width:30px;height:30px;border:none;border-radius:50%;font-size:1.15rem}.emoji-picker-popover{position:absolute;right:0;bottom:calc(100% + 8px);z-index:30;width:min(320px,calc(100vw - 2rem));max-height:min(300px,45vh);overflow-y:auto;padding:.65rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-raised, var(--color-surface));box-shadow:0 14px 36px #00000073}.emoji-picker-grid{display:grid;grid-template-columns:repeat(8,minmax(32px,1fr));gap:.2rem}.emoji-picker-option{width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:6px;background:transparent;cursor:pointer;font-size:1.35rem;line-height:1}.emoji-picker-option:hover,.emoji-picker-option:focus-visible{background:var(--color-bg-secondary);outline:none}@media(max-width:480px){.emoji-picker-popover{width:min(288px,calc(100vw - 1.5rem))}.emoji-picker-grid{grid-template-columns:repeat(7,minmax(32px,1fr))}.emoji-picker-option{font-size:1.25rem}}.action-note{margin:2px 0}.action-note-line{display:flex;align-items:center;gap:8px;width:100%;padding:2px 4px;background:none;border:none;cursor:pointer;font:inherit;font-size:.72rem;color:var(--color-text-muted, #8b8fa3);opacity:.7;transition:opacity .15s ease}.action-note-line:hover{opacity:1}.action-note-line:before{content:"";flex:0 0 12px;height:1px;background:var(--color-border, rgba(128, 128, 128, .35))}.action-note-line:after{content:"";flex:1;height:1px;background:var(--color-border, rgba(128, 128, 128, .35))}.action-note-caret{display:inline-block;font-size:.7rem;line-height:1;transition:transform .15s ease}.action-note.open .action-note-caret{transform:rotate(90deg)}.action-note-label{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.02em}.action-note-status.ok{color:var(--color-success, #22c55e)}.action-note-status.fail{color:var(--color-danger, #ef4444)}.action-note-detail{margin:2px 16px 6px;padding:6px 10px;border-left:2px solid var(--color-border, rgba(128, 128, 128, .35));font-size:.75rem;color:var(--color-text-muted, #8b8fa3);white-space:pre-wrap;word-break:break-word}.action-note-list{margin:2px 16px 6px;padding:4px 10px;border-left:2px solid var(--color-border, rgba(128, 128, 128, .35));display:flex;flex-direction:column;gap:3px}.action-note-item{display:flex;align-items:baseline;gap:7px;font-size:.73rem;color:var(--color-text-muted, #8b8fa3);min-width:0}.action-note-item-name{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap}.action-note-item-detail{opacity:.75;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-note-images{margin:6px 16px 10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,220px));gap:8px}.action-note-images a{display:block;min-width:0}.action-note-images img{display:block;width:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:8px;border:1px solid var(--color-border, rgba(128, 128, 128, .35));background:var(--color-surface-muted, rgba(128, 128, 128, .08))}.detached-note{margin:6px 0;padding:6px 10px;text-align:center;font-size:.75rem;font-style:italic;color:var(--color-text-muted, #8b8fa3);opacity:.8}.chat-page{height:100%;display:grid;grid-template-columns:240px 1fr;grid-template-rows:minmax(0,1fr);gap:1rem;min-height:0}.chat-page:not(:has(.chat-sidebar.open)){grid-template-columns:1fr}.chat-sidebar{display:flex;flex-direction:column;gap:.75rem;border-right:1px solid var(--color-border);padding-right:1rem;overflow:hidden;min-height:0}.chat-newchat-btn{width:100%}.chat-sessions{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.4rem}.chat-empty{color:var(--color-text-muted);font-style:italic;padding:.5rem;font-size:.85rem}.chat-session{position:relative;padding:.6rem .75rem;border-radius:8px;cursor:pointer;background:var(--color-surface);border:1px solid transparent;transition:background .15s,border-color .15s}.chat-session:hover{background:var(--color-surface-hover, var(--color-surface));border-color:var(--color-border)}.chat-session.active{border-color:var(--color-primary, #6366f1);background:var(--color-surface-hover, var(--color-surface))}.chat-session-title{font-size:.9rem;color:var(--color-text);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:1.25rem;display:flex;align-items:center;gap:6px}.chat-session-meta{font-size:.72rem;color:var(--color-text-muted);margin-top:.2rem}.chat-session-delete{position:absolute;top:.4rem;right:.4rem;width:1.4rem;height:1.4rem;border-radius:4px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:1.1rem;line-height:1;opacity:0;transition:opacity .15s}.chat-session:hover .chat-session-delete{opacity:1}.chat-session-delete:hover{background:var(--color-danger, #ef4444);color:#fff}.session-delete-confirm{position:absolute;top:.3rem;right:.3rem;display:flex;gap:2px}.chat-main{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;position:relative}.chat-sidebar-toggle{position:absolute;top:.25rem;left:-.75rem;z-index:5;width:22px;height:38px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);border-radius:6px;cursor:pointer;font-size:1rem;line-height:1;padding:0;display:flex;align-items:center;justify-content:center}.chat-sidebar-toggle:hover{background:var(--color-surface-hover);color:var(--color-text)}.chat-page:not(:has(.chat-sidebar.open)) .chat-sidebar-toggle{left:.25rem}.session-source-badge{font-size:.6rem;font-weight:700;padding:1px 5px;border-radius:4px;flex-shrink:0;text-transform:uppercase}.session-source-badge.telegram{background-color:#2aabee;color:#fff}.session-source-badge.routine{background-color:#f59e0b;color:#fff}.confirm-yes{color:#39ff14;padding:2px}.confirm-yes:hover{color:#2ecc40}.confirm-no{color:var(--color-text-muted);padding:2px}.confirm-no:hover{color:#ef4444}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:0 0 .5rem;flex-shrink:0}.chat-header-left{display:flex;align-items:center;gap:.5rem}.chat-profile-heading{display:flex;align-items:center;gap:.5rem;min-height:38px;color:var(--color-text);font-size:1rem;font-weight:700}.chat-configuration-error{margin-bottom:.75rem;padding:.65rem .85rem;border:1px solid var(--color-warning);border-radius:var(--radius);background:var(--color-surface);color:var(--color-warning);font-size:.8rem}.chat-current-tab{font-size:.95rem;font-weight:600;color:var(--color-text)}.chat-header-right{display:flex;align-items:center;gap:.75rem}.btn-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:none;color:var(--color-text-muted);border-radius:var(--radius);cursor:pointer;transition:background-color .15s,color .15s}.btn-icon:hover{background-color:var(--color-surface-hover);color:var(--color-text)}.status{font-size:.75rem;padding:.25rem .75rem;border-radius:999px;font-weight:500}.status.connected{background-color:#22c55e26;color:var(--color-success)}.status.disconnected,.status.error{background-color:#ef444426;color:var(--color-danger)}.chat-messages{flex:1;overflow-y:auto;background-color:transparent;border:none;border-radius:0;padding:.5rem .5rem 1rem;display:flex;flex-direction:column;gap:1rem}.loading-more{text-align:center;padding:.5rem;font-size:.8rem;color:var(--color-text-muted)}.loading-more.faded{opacity:.5}.main-content:has(.chat-messages-empty){min-height:0;overflow:clip}.chat-messages.chat-messages-empty{min-height:0;container-type:size;overflow:clip;scrollbar-width:none}.chat-welcome{text-align:center;margin:auto;width:min(400px,100%,100cqh);aspect-ratio:1;flex-shrink:0;padding:0;color:var(--color-text-muted);animation:chat-identity-enter .7s ease-out both}.anna-identity{position:relative;display:grid;place-items:center;width:100%;height:100%;isolation:isolate}.anna-identity-scene{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.anna-identity-scene canvas{display:block;width:100%;height:100%}.anna-identity-copy{position:relative;max-width:100%;color:var(--color-text)}.chat-welcome h3{color:inherit;margin:0;font-size:5rem;font-weight:600;line-height:1.2}.chat-welcome p{margin:.6rem 0 0;font-size:1.75rem;line-height:1.5}@supports (background-clip: text) or (-webkit-background-clip: text){.anna-identity[data-scene-ready=true][data-reduced-motion=false] .anna-identity-copy{background-image:radial-gradient(ellipse 65% 130% at var(--identity-flow-x, 50%) var(--identity-flow-y, 50%),var(--color-text) 0%,color-mix(in srgb,var(--color-primary) 20%,var(--color-text)) 18%,color-mix(in srgb,var(--color-text) 18%,transparent) 65%);background-clip:text;-webkit-background-clip:text;color:transparent}}@keyframes chat-identity-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.chat-welcome,.chat-welcome h3,.chat-welcome p{animation:none}}.message{display:flex;flex-direction:column;gap:.25rem;max-width:80%;line-height:1.5;font-size:.875rem;position:relative;padding:0;background:none;border-radius:0;color:var(--color-text)}.message.user{align-self:flex-end;align-items:flex-end}.message.assistant{align-self:flex-start;align-items:flex-start}.message.system{align-self:center;background-color:transparent;color:var(--color-text-muted);font-size:.75rem;font-style:italic;padding:.25rem .5rem;max-width:90%}.message-role{font-size:.7rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.message-body{padding:.7rem 1rem;border-radius:14px;background:var(--color-surface);color:var(--color-text);overflow-wrap:anywhere;word-break:break-word;max-width:100%}.message.user .message-body{background:var(--color-primary);color:#fff}.message.assistant .message-body{background:var(--color-surface-hover, var(--color-surface))}.message.system .message-body{background:transparent;padding:0;border-radius:0}.message-content{word-break:break-word}.message.user .message-content{white-space:pre-wrap}.message.assistant .message-content p{margin:0 0 .5em}.message.assistant .message-content p:last-child{margin-bottom:0}.message.assistant .message-content ul,.message.assistant .message-content ol{margin:.4em 0;padding-left:1.5em}.message.assistant .message-content li{margin:.15em 0}.message.assistant .message-content li::marker{color:var(--color-primary, #6366f1)}.message.assistant .message-content strong{color:#e2e8f0}.message.assistant .message-content code{background:#6366f126;color:#a5b4fc;padding:.15em .4em;border-radius:4px;font-family:var(--font-mono, monospace);font-size:.82em}.message.assistant .message-content pre{background:#0f172a;border:1px solid rgba(99,102,241,.2);padding:.85em 1em;border-radius:8px;overflow-x:auto;margin:.6em 0}.message.assistant .message-content pre code{background:none;color:#e2e8f0;padding:0;font-size:.82em;line-height:1.6}.message.assistant .message-content table{border-collapse:separate;border-spacing:0;width:100%;margin:.6em 0;font-size:.8em;border-radius:8px;overflow:hidden;border:1px solid rgba(99,102,241,.2)}.message.assistant .message-content th{background:#6366f126;color:#a5b4fc;font-weight:600;padding:.55em .75em;text-align:left;text-transform:uppercase;font-size:.85em;letter-spacing:.03em}.message.assistant .message-content td{padding:.5em .75em;text-align:left;border-top:1px solid rgba(255,255,255,.06)}.message.assistant .message-content tr:nth-child(2n) td{background:#ffffff08}.message.assistant .message-content tr:hover td{background:#6366f114}.message.assistant .message-content blockquote{border-left:3px solid var(--color-primary, #6366f1);background:#6366f10f;margin:.5em 0;padding:.4em .85em;border-radius:0 6px 6px 0}.message.assistant .message-content h1,.message.assistant .message-content h2,.message.assistant .message-content h3{margin:.6em 0 .3em;line-height:1.3;color:#e2e8f0}.message.assistant .message-content h1{font-size:1.15em}.message.assistant .message-content h2{font-size:1.05em}.message.assistant .message-content h3{font-size:.95em}.message.assistant .message-content hr{border:none;height:1px;background:linear-gradient(90deg,transparent,var(--color-border, rgba(255,255,255,.15)),transparent);margin:.75em 0}.message.assistant .message-content a{color:#818cf8;text-decoration:underline;text-decoration-color:#818cf84d;text-underline-offset:2px}.message.assistant .message-content a:hover{text-decoration-color:#818cf8}.message.assistant.source-gmail .message-body{border-left:3px solid #ef4444;background:#ef44440f}.message.assistant.source-routine .message-body{border-left:3px solid #f59e0b;background:#f59e0b0f}.message.assistant.source-notification .message-body{border-left:3px solid #f97316;background:#f973160f}.message.assistant.source-speaker .message-body{border-left:3px solid #22d3ee;background:#22d3ee0f}.message.assistant.source-telegram .message-body{border-left:3px solid #2aabee;background:#2aabee0f}.message.assistant.source-device .message-body{border-left:3px solid #a78bfa;background:#a78bfa0f}.message.assistant.source-singularity .message-body{border-left:3px solid #10b981;background:#10b9810f}.message.assistant.source-lupulus .message-body{border-left:3px solid #84cc16;background:#84cc160f}.message.user.source-speaker .message-body{border-right:3px solid #22d3ee}.message.user.source-telegram .message-body{border-right:3px solid #2aabee}.message.user.source-device .message-body{border-right:3px solid #a78bfa}.message-source-label{font-size:.6rem;padding:1px 6px;border-radius:4px;margin-left:6px;font-weight:600;letter-spacing:.02em;vertical-align:middle}.message-source-label.source-gmail{color:#fca5a5;background:#ef444426}.message-source-label.source-routine{color:#fcd34d;background:#f59e0b26}.message-source-label.source-notification{color:#fdba74;background:#f9731626}.message-source-label.source-speaker{color:#67e8f9;background:#22d3ee26}.message-source-label.source-telegram{color:#7dd3fc;background:#2aabee26}.message-source-label.source-device{color:#c4b5fd;background:#a78bfa26}.message-source-label.source-singularity{color:#6ee7b7;background:#10b98126}.message-source-label.source-lupulus{color:#bef264;background:#84cc1626}.message-time{display:block;font-size:.6rem;opacity:.6;margin-top:.25rem}.cursor-blink{animation:blink .8s infinite;margin-left:2px}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.message.thinking .message-body{display:flex;align-items:center;gap:.5rem}.thinking-indicator{display:flex;gap:4px;align-items:center}.thinking-dot{width:6px;height:6px;border-radius:50%;background-color:var(--color-primary);animation:thinking-bounce 1.4s infinite ease-in-out both}.thinking-dot:nth-child(1){animation-delay:-.32s}.thinking-dot:nth-child(2){animation-delay:-.16s}.thinking-dot:nth-child(3){animation-delay:0s}@keyframes thinking-bounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.thinking-text{font-size:.8rem;color:var(--color-text-muted);font-style:italic}.checking-indicator{display:flex;align-items:center;gap:6px;margin-top:6px;padding:4px 0}.checking-spinner{width:14px;height:14px;border:2px solid var(--color-primary, #7c5cbf);border-top-color:transparent;border-radius:50%;animation:checking-spin .8s linear infinite}@keyframes checking-spin{to{transform:rotate(360deg)}}.checking-text{font-size:.82rem;color:var(--color-primary, #7c5cbf);font-style:italic}.btn-voice-toggle,.chat-new-chat{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;padding:0;border:1px solid transparent;background:transparent;color:var(--color-text-muted);cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}.btn-voice-toggle{border-radius:50%}.btn-voice-toggle:hover{background:var(--color-surface-hover);color:var(--color-text)}.btn-voice-toggle.active{background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));color:var(--color-primary);border-color:color-mix(in srgb,var(--color-primary) 35%,transparent)}.chat-new-chat{border-radius:8px;border-color:var(--color-border);background:var(--color-surface);color:var(--color-text);box-shadow:0 1px 2px #00000014}.chat-new-chat:hover{background:var(--color-surface-hover);border-color:var(--color-primary);color:var(--color-primary)}.btn-voice-toggle:focus-visible,.chat-new-chat:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.btn-voice-toggle.active.speaking{animation:voice-glow 1s ease-in-out infinite alternate}@keyframes voice-glow{0%{box-shadow:0 0 color-mix(in srgb,var(--color-primary) 25%,transparent)}to{box-shadow:0 0 0 5px transparent}}@media(prefers-reduced-motion:reduce){.btn-voice-toggle.active.speaking{animation:none}}.btn-provider-toggle{display:inline-flex;align-items:center;height:34px;padding:0 .7rem;border:2px solid var(--color-border, #ccc);border-radius:8px;background:transparent;color:var(--color-text-muted, #888);font-size:.78rem;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:all .18s}.btn-provider-toggle.openai{border-color:#f7b500;color:#f7b500}.btn-provider-toggle.gemma{border-color:#58a6ff;color:#58a6ff;background:#58a6ff14}.btn-provider-toggle:hover{filter:brightness(1.2)}.btn-think-toggle{display:inline-flex;align-items:center;height:34px;padding:0 .6rem;border:2px solid var(--color-border, #ccc);border-radius:8px;background:transparent;color:var(--color-text-muted, #888);font-size:.78rem;font-weight:600;cursor:pointer;transition:all .18s;opacity:.6}.btn-think-toggle.active{border-color:#a78bfa;color:#a78bfa;background:#a78bfa14;opacity:1}.btn-think-toggle:hover{filter:brightness(1.2);opacity:1}.chat-input{display:flex;flex-direction:column;gap:0;margin-top:1rem;padding:.4rem .5rem;border:1px solid var(--color-border, #3a3a4e);border-radius:12px;background:var(--color-surface, #2a2a3e);transition:border-color .15s;position:relative}.chat-input:focus-within{border-color:var(--color-primary, #39ff14)}.chat-input-row{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center;gap:.4rem;width:100%}.chat-input textarea{flex:1 1 0%;min-width:0;resize:none;min-height:40px;max-height:12rem;line-height:1.4;padding:.5rem;font-family:inherit;font-size:inherit;border:none;border-radius:8px;overflow-y:auto;background:transparent;color:var(--color-text);outline:none}.chat-input textarea:disabled{opacity:.6}.chat-input button:disabled{opacity:.5;cursor:not-allowed}.chat-input button{white-space:nowrap}.chat-input-tools{display:flex!important;flex-direction:column!important;align-items:center;justify-content:center;gap:2px;flex-shrink:0;flex-grow:0}.btn-stop{display:flex!important;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;flex-shrink:0;flex-grow:0;border:none;border-radius:50%;background:var(--color-error, #e74c3c);color:#fff;cursor:pointer;padding:0;transition:background .15s,transform .15s}.btn-stop svg{fill:currentColor}.btn-stop:hover{background:#c0392b;transform:scale(1.06)}.btn-send{display:flex!important;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;flex-shrink:0;flex-grow:0;border:none;border-radius:50%;background:var(--color-primary, #6366f1);color:#fff;cursor:pointer;padding:0;transition:background .2s,transform .15s,opacity .2s}.btn-send svg{stroke:currentColor}.btn-send:hover:not(:disabled){background:var(--color-primary-hover, #32e010);transform:scale(1.08)}.btn-send:disabled{opacity:.4;cursor:not-allowed}.btn-attach{display:flex!important;align-items:center;justify-content:center;width:30px;height:30px;min-width:30px;border:none;border-radius:50%;background:transparent;color:#cbd5e1;cursor:pointer;padding:0;transition:background .2s,color .2s,transform .15s}.btn-attach svg{width:18px;height:18px;stroke:currentColor}.btn-attach:hover:not(:disabled){background:var(--color-border, #3a3a4e);color:var(--color-text);transform:scale(1.08)}.btn-attach:disabled{opacity:.4;cursor:not-allowed}.drag-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#39ff1414;border:2px dashed var(--color-primary, #39ff14);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;z-index:10;color:var(--color-primary, #39ff14);font-weight:600;pointer-events:none}.attachment-preview-strip{display:flex;flex-wrap:wrap;gap:.4rem;padding:.4rem .5rem .5rem;margin-bottom:.25rem;border-bottom:1px solid var(--color-border);width:100%;max-height:72px;overflow-y:auto}.attachment-chip{display:flex;align-items:center;gap:.3rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;padding:.15rem .4rem;font-size:.7rem;max-width:150px;height:26px}.attachment-chip-thumb{width:20px;height:20px;border-radius:3px;object-fit:cover}.attachment-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-chip-remove{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:1rem;line-height:1;padding:0 .15rem}.attachment-chip-remove:hover{color:var(--color-error, #e74c3c)}.message-attachments{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.message-attachment{font-size:.75rem}.attachment-thumb,.attachment-file-badge{display:flex;align-items:center;gap:.3rem;background:#ffffff0f;border-radius:6px;padding:.2rem .5rem}.attachment-thumb svg,.attachment-file-badge svg{flex-shrink:0;opacity:.7}.message-artifacts{display:flex;flex-direction:column;gap:.4rem;margin-top:.6rem}.message-artifact{display:flex;align-items:center;gap:.6rem;padding:.55rem .7rem;border:1px solid var(--color-border, #3a3a4e);border-radius:8px;background:#6366f114;text-decoration:none;color:inherit;transition:background .15s,border-color .15s,transform .05s;max-width:100%}.message-artifact:hover{background:#6366f129;border-color:var(--color-primary, #6366f1)}.message-artifact:active{transform:translateY(1px)}.artifact-icon{flex-shrink:0;color:var(--color-primary, #6366f1)}.artifact-meta{min-width:0;flex:1}.artifact-title{font-size:.85rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.artifact-sub{font-size:.72rem;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:.1rem}.btn-mic{display:flex!important;align-items:center;justify-content:center;width:30px;height:30px;min-width:30px;border:none;border-radius:50%;background:transparent;color:#cbd5e1;cursor:pointer;padding:0;transition:background .2s,color .2s,box-shadow .2s}.btn-mic svg{width:18px;height:18px;stroke:currentColor}.btn-mic:hover:not(:disabled){background:var(--color-border, #3a3a4e);color:var(--color-text)}.btn-mic:disabled{opacity:.4;cursor:not-allowed}.btn-mic.recording{background:#ff003c;color:#fff;animation:mic-pulse 1.2s ease-in-out infinite}.btn-mic.transcribing{background:#39ff14;color:#1a1a2e}.btn-mic.transcribing svg{animation:mic-spin 1s linear infinite}@keyframes mic-pulse{0%,to{box-shadow:0 0 #ff003c80}50%{box-shadow:0 0 0 10px #ff003c00}}@keyframes mic-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.chat-sidebar-fab,.chat-sidebar-backdrop,.chat-sidebar-close{display:none}@media(max-width:768px){.chat-page{grid-template-columns:1fr!important;height:100%}.chat-sidebar-fab{display:flex;align-items:center;justify-content:center;position:fixed;left:6px;top:50%;transform:translateY(-50%);z-index:1100;width:40px;height:40px;border-radius:50%;border:none;background:var(--color-primary, #6c5ce7);color:#fff;box-shadow:0 2px 10px #0000004d;cursor:pointer;opacity:.7;transition:opacity .2s}.chat-sidebar-fab:active{opacity:1}.chat-sidebar-fab.fab-active{left:286px;opacity:1}.chat-sidebar-backdrop{display:block;position:fixed;top:52px;right:0;bottom:0;left:0;z-index:1040;background:#0006}.chat-sidebar.open{position:fixed;top:52px;left:0;bottom:0;z-index:1050;width:280px;padding:1rem;background:var(--color-bg);box-shadow:4px 0 24px #0006;border-right:1px solid var(--color-border)}.chat-sidebar-toggle{display:none}.chat-main{width:100%}.chat-header{flex-wrap:nowrap;gap:.5rem}.chat-header-left{min-width:0}.chat-header-right{flex-shrink:0;justify-content:flex-end}.message{max-width:90%}.chat-welcome{padding:0}.chat-input textarea{min-height:44px}.chat-input{gap:.35rem;padding:.35rem .4rem}.btn-send,.btn-stop{width:34px;height:34px;min-width:34px}.btn-attach,.btn-mic{width:26px;height:26px;min-width:26px}.btn-attach svg,.btn-mic svg{width:14px;height:14px}}.confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:9999;padding:16px;-webkit-tap-highlight-color:transparent}.confirm-dialog{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:24px;max-width:360px;width:100%;box-shadow:0 8px 32px #0006}.confirm-message{font-size:.95rem;color:var(--color-text);margin-bottom:20px;line-height:1.5}.confirm-actions{display:flex;gap:12px;justify-content:flex-end}.confirm-actions .btn-secondary{background:var(--color-surface-hover);color:var(--color-text);border:1px solid var(--color-border);padding:8px 16px;border-radius:var(--radius);cursor:pointer;font-size:.875rem}.confirm-actions .btn-danger{background:var(--color-danger);color:#fff;border:none;padding:8px 16px;border-radius:var(--radius);cursor:pointer;font-size:.875rem}.confirm-actions .btn-danger:hover{opacity:.9}.confirm-actions .btn-secondary:hover{background:var(--color-border)}.schedule-editor{max-width:640px}.schedule-editor h2{margin-bottom:1.5rem}.editor-error{background-color:#ef444426;color:var(--color-danger);border:1px solid rgba(239,68,68,.3);border-radius:var(--radius);padding:.75rem 1rem;margin-bottom:1rem;font-size:.875rem}.form-group{display:flex;flex-direction:column;gap:.375rem;margin-bottom:1rem}.form-group label{font-size:.8rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.form-group input,.form-group textarea,.form-group select{width:100%}.form-row{display:flex;gap:1rem}.form-row .form-group{flex:1}.form-actions{display:flex;gap:.75rem;margin-top:1.5rem}.form-actions button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.schedule-editor{max-width:100%}.form-row,.form-actions{flex-direction:column}.form-actions button{width:100%}}.refresh-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;transition:color .15s ease,background .15s ease,border-color .15s ease}.refresh-btn:hover:not(:disabled){color:var(--color-text);background:var(--color-surface-hover);border-color:var(--color-primary)}.refresh-btn:disabled{cursor:not-allowed;opacity:.6}.refresh-btn.spinning svg{animation:refresh-spin .8s linear infinite}@keyframes refresh-spin{to{transform:rotate(360deg)}}.notebook-page{display:flex;flex-direction:column;gap:1rem;height:100%;overflow-y:auto;padding:0 .5rem 2rem}.notebook-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;padding:.5rem .25rem;position:sticky;top:0;z-index:10;background:var(--color-bg-primary, #121212)}.notebook-toolbar-left{display:flex;align-items:center;gap:.5rem}.notebook-title{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-text)}.notebook-actions{display:flex;gap:.5rem;align-items:center}.notebook-empty,.notebook-empty-state{text-align:center;padding:4rem 1rem;color:var(--color-text-muted)}.notebook-empty-state .empty-book{font-size:5rem;margin-bottom:1rem;filter:drop-shadow(0 6px 14px rgba(0,0,0,.3))}.notebook-empty-state h3{margin:.5rem 0;color:var(--color-text)}.notebook-empty-state p{max-width:520px;margin:0 auto 1.5rem;line-height:1.6}.notebook-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem;padding:.25rem}.notebook-card{background:var(--color-bg-secondary, #1e1e1e);border:1px solid var(--color-border);border-radius:10px;padding:1.25rem;border-left:4px solid var(--color-accent, #6c5ce7);transition:transform .15s ease,box-shadow .15s ease}.notebook-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000040}.notebook-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.notebook-card-identity{display:flex;align-items:center;gap:.5rem}.notebook-card-icon{font-size:1.4rem}.notebook-card-name{font-size:1.05rem;font-weight:600;color:var(--color-text)}.notebook-card-actions{display:flex;gap:.25rem;opacity:0;transition:opacity .15s}.notebook-card:hover .notebook-card-actions{opacity:1}.icon-btn-sm{background:transparent;border:1px solid transparent;border-radius:5px;padding:3px 7px;cursor:pointer;font-size:.85rem;color:var(--color-text-muted);transition:background .15s,color .15s,border-color .15s}.icon-btn-sm:hover{background:var(--color-surface-hover, rgba(255,255,255,.06));color:var(--color-text);border-color:var(--color-border)}.icon-btn-sm.danger:hover{color:#e74c3c;border-color:#e74c3c4d}.notebook-card-pages{display:flex;flex-direction:column;gap:2px;max-height:240px;overflow-y:auto}.notebook-card-empty{color:var(--color-text-muted);font-size:.85rem;font-style:italic;margin:.5rem 0}.page-item-btn{display:flex;align-items:center;justify-content:space-between;width:100%;background:transparent;border:none;border-radius:6px;padding:.45rem .6rem;cursor:pointer;text-align:left;color:var(--color-text);font-size:.9rem;transition:background .12s}.page-item-btn:hover{background:var(--color-surface-hover, rgba(255,255,255,.06))}.page-item-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-item-meta{display:flex;gap:.4rem;align-items:center;font-size:.75rem}.page-att-badge{background:#ffffff14;padding:1px 5px;border-radius:4px;font-size:.7rem}.notebook-card-footer{margin-top:.75rem;padding-top:.5rem;border-top:1px solid var(--color-border)}.notebook-card-count{font-size:.8rem;color:var(--color-text-muted)}.page-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1.5rem}.page-modal{background:var(--color-bg-secondary, #1e1e1e);border:1px solid var(--color-border);border-radius:14px;width:100%;max-width:680px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 24px 60px #00000080;animation:modal-in .2s ease-out}@keyframes modal-in{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.page-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border)}.page-modal-header h3{margin:0;font-size:1.15rem;font-weight:600;color:var(--color-text)}.page-modal-header-actions{display:flex;gap:.4rem;align-items:center}.page-modal-close{background:transparent;border:none;font-size:1.4rem;cursor:pointer;color:var(--color-text-muted);padding:0 6px;border-radius:4px;line-height:1}.page-modal-close:hover{color:var(--color-text);background:#ffffff0f}.btn-sm{background:var(--color-surface, #2a2a2a);border:1px solid var(--color-border);border-radius:6px;padding:.3rem .65rem;font-size:.82rem;color:var(--color-text);cursor:pointer;transition:background .12s,border-color .12s}.btn-sm:hover{background:var(--color-surface-hover, rgba(255,255,255,.08));border-color:var(--color-text-muted)}.btn-sm.btn-save{background:var(--color-accent, #6c5ce7);border-color:var(--color-accent, #6c5ce7);color:#fff}.btn-sm.btn-save:hover{filter:brightness(1.1)}.page-modal-body{flex:1;overflow-y:auto;padding:1.25rem;min-height:200px}.page-modal-content{line-height:1.7;color:var(--color-text)}.page-modal-empty{color:var(--color-text-muted);font-style:italic;text-align:center;padding:2rem 0}.page-modal-intro{font-style:italic;color:var(--color-text-muted);margin-bottom:.75rem}.page-modal-section .section-heading{margin:0 0 .5rem;font-size:1.05rem;font-weight:600;color:var(--color-accent, #6c5ce7)}.page-modal-section .section-notes{margin:0 0 .5rem;color:var(--color-text-muted);font-size:.9rem}.page-modal-section .section-items{margin:0;padding:0 0 0 1.2rem;list-style:disc outside}.page-modal-section .section-item{margin:.3rem 0;line-height:1.5}.page-modal-section .attachment-item{list-style:none;margin-left:-1.2rem}.page-modal-section .att-icon{margin-right:.3em}.page-modal-section .attachment-item a{color:var(--color-link, #3b82f6);text-decoration:none}.page-modal-section .attachment-item a:hover{text-decoration:underline}.page-modal-editor{width:100%;height:100%;min-height:300px;resize:vertical;background:var(--color-bg-primary, #121212);border:1px solid var(--color-border);border-radius:8px;padding:1rem;font-family:JetBrains Mono,Fira Code,monospace;font-size:.88rem;line-height:1.6;color:var(--color-text)}.page-modal-editor:focus{outline:none;border-color:var(--color-accent, #6c5ce7)}.page-modal-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;padding:.75rem 1.25rem;border-top:1px solid var(--color-border)}.page-nav-btn{background:var(--color-surface, #2a2a2a);border:1px solid var(--color-border);border-radius:10px;padding:.6rem 1.4rem;font-size:1rem;font-weight:600;cursor:pointer;color:var(--color-text);transition:background .12s,transform .1s}.page-nav-btn:hover:not(:disabled){background:var(--color-surface-hover, rgba(255,255,255,.08));transform:scale(1.03)}.page-nav-btn:disabled{opacity:.35;cursor:default}.page-nav-indicator{font-size:.85rem;color:var(--color-text-muted);min-width:4rem;text-align:center}.page-modal-attachments{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.25rem;border-top:1px solid var(--color-border);flex-wrap:wrap}.att-label{font-size:.8rem;color:var(--color-text-muted);font-weight:500}.att-chip{background:#ffffff0f;border-radius:5px;padding:2px 8px;font-size:.78rem}.att-chip a{color:var(--color-link, #3b82f6);text-decoration:none}.att-chip a:hover{text-decoration:underline}.btn-primary{background:var(--color-accent, #6c5ce7);border:none;border-radius:8px;padding:.5rem 1rem;font-size:.9rem;font-weight:500;color:#fff;cursor:pointer;transition:filter .12s,transform .1s}.btn-primary:hover{filter:brightness(1.15);transform:translateY(-1px)}.btn-primary:disabled{opacity:.45;cursor:default;transform:none}.btn-secondary{background:var(--color-surface, #2a2a2a);border:1px solid var(--color-border);border-radius:8px;padding:.5rem 1rem;font-size:.9rem;color:var(--color-text);cursor:pointer;transition:background .12s}.btn-secondary:hover{background:var(--color-surface-hover, rgba(255,255,255,.08))}@media(max-width:600px){.notebook-grid{grid-template-columns:1fr}.page-modal{max-width:100%;max-height:90vh;border-radius:10px}.page-modal-overlay{padding:.75rem}}.calendar-page{height:100%;display:flex;flex-direction:column}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.75rem}.calendar-nav{display:flex;align-items:center;gap:.5rem}.calendar-nav h2{margin-left:.5rem;font-size:1.25rem;white-space:nowrap}.calendar-controls{display:flex;gap:1rem;align-items:center}.view-switcher{display:flex;gap:.25rem}.view-switcher button,.btn-sm{padding:.375rem .75rem;font-size:.8rem}.btn-icon{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.loading-dot{color:var(--color-primary);animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:.3}50%{opacity:1}}.calendar-filters{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap}.calendar-type-filters{display:flex;gap:.375rem}.filter-chip{display:flex;align-items:center;gap:.375rem;padding:.25rem .625rem;border-radius:999px;font-size:.75rem;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;transition:all .15s;opacity:.5}.filter-chip.active{opacity:1;border-color:var(--chip-color);color:var(--color-text)}.chip-dot{width:8px;height:8px;border-radius:50%;background:var(--chip-color)}.tag-filter-select{padding:.25rem .5rem;border-radius:6px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:.75rem}.week-event.priority-critical,.day-event.priority-critical{box-shadow:inset 0 0 0 2px #ef4444}.week-event.priority-high,.day-event.priority-high{box-shadow:inset 0 0 0 2px #f59e0b}.calendar-body{flex:1;background-color:var(--color-surface);border-radius:var(--radius);border:1px solid var(--color-border);overflow:auto;min-height:0}.month-grid{display:flex;flex-direction:column;min-height:100%;height:auto}.weekday-header{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--color-border)}.weekday-label{text-align:center;padding:.5rem;font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase}.month-cells{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(calc((100vw - 280px) / 7 * .65),auto);flex:1;min-height:0}.month-cell{position:relative;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding:.25rem 0;padding-bottom:0;min-height:0;transition:background-color .1s;overflow:hidden;display:flex;flex-direction:column}.month-cell:hover{background-color:var(--color-surface-hover)}.month-cell:nth-child(7n){border-right:none}.month-cell.other-month{opacity:.4}.month-cell.today .day-number{background-color:var(--color-primary);color:#fff;border-radius:50%;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center}.day-number{font-size:.8rem;font-weight:500;margin-bottom:.125rem;display:inline-block;padding:0 .375rem}.cell-events{display:grid;grid-template-columns:1fr;grid-auto-rows:18px;gap:1px;min-height:0;overflow:hidden;position:relative}.event-chip{font-size:.65rem;line-height:14px;height:18px;box-sizing:border-box;padding:0 4px;border-radius:3px;background-color:#6366f126;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.event-chip:hover{background-color:#6366f14d}.event-bar{background-color:#6366f11f;border-radius:0;margin:0;padding:1px 4px;border-top:2px solid transparent;border-bottom:2px solid transparent}.event-bar.bar-start{border-top-left-radius:3px;border-bottom-left-radius:3px;margin-left:2px;border-left:2px solid transparent}.event-bar.bar-end{border-top-right-radius:3px;border-bottom-right-radius:3px;margin-right:2px;border-right:2px solid transparent}.event-bar.bar-mid{color:transparent}.event-lane-spacer{height:18px;visibility:hidden}.more-events-btn{position:absolute;bottom:2px;right:2px;z-index:3;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;color:var(--color-primary);font-size:.6rem;font-weight:600;cursor:pointer;padding:1px 6px;line-height:1.4;box-shadow:0 1px 3px #00000026;-webkit-user-select:none;user-select:none}.more-events-btn:hover{background:var(--color-surface-hover)}.more-events-btn:active{background:#6366f126}.expanded-day-header{display:flex;justify-content:space-between;align-items:center;padding:0 4px 4px;margin-bottom:2px;border-bottom:1px solid var(--color-border);font-size:.8rem;font-weight:600}.popover-close{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:.85rem;padding:0 2px;line-height:1}.popover-close:hover{color:var(--color-text)}.month-cell.expanded{overflow:visible;z-index:10;position:relative}.month-cell.expanded .cell-events{overflow:visible;position:absolute;top:0;min-width:260px;max-width:340px;max-height:320px;overflow-y:auto;background:var(--color-surface);border:1px solid var(--color-primary);border-radius:8px;padding:8px 6px;box-shadow:0 8px 24px #0000004d;z-index:20;gap:3px}.month-cell.expanded.align-center .cell-events{left:50%;transform:translate(-50%)}.month-cell.expanded.align-left .cell-events{left:0}.month-cell.expanded.align-right .cell-events{right:0}.month-cell.expanded .cell-events .event-chip{white-space:normal;word-break:break-word;padding:3px 6px;font-size:.72rem}.month-cell.expanded .cell-events .event-bar{margin:0}.week-grid{display:flex;flex-direction:column;height:100%}.week-header{display:flex;border-bottom:1px solid var(--color-border);position:sticky;top:0;background-color:var(--color-surface);z-index:2}.time-gutter-header{width:60px;flex-shrink:0}.week-day-header{flex:1;text-align:center;padding:.5rem 0;cursor:pointer;transition:background-color .1s}.week-day-header:hover{background-color:var(--color-surface-hover)}.week-day-header.today{background-color:#6366f11a}.week-day-name{font-size:.7rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;display:block}.week-day-num{font-size:1.1rem;font-weight:600}.week-day-header.today .week-day-num{color:var(--color-primary)}.week-body{display:flex;flex:1;overflow-y:auto}.time-gutter{width:60px;flex-shrink:0;border-right:1px solid var(--color-border)}.time-slot-label{height:48px;font-size:.65rem;color:var(--color-text-muted);text-align:right;padding-right:8px;padding-top:2px}.week-day-col,.day-col{flex:1;position:relative;border-right:1px solid var(--color-border)}.week-day-col:last-child,.day-col:last-child{border-right:none}.time-slot{height:48px;border-bottom:1px solid var(--color-border)}.time-slot:nth-child(odd){border-bottom-style:dashed;border-bottom-color:#33415580}.week-event,.day-event{position:absolute;left:2px;right:2px;border-radius:4px;padding:2px 6px;font-size:.7rem;color:#fff;cursor:pointer;overflow:hidden;z-index:1}.week-event:hover,.day-event:hover{opacity:.85}.week-event-title{font-weight:500}.day-event{display:flex;flex-direction:column;gap:2px}.day-event strong{font-size:.8rem}.day-event span{font-size:.65rem;opacity:.9}.day-grid{height:100%}.day-body{display:flex;height:100%;overflow-y:auto}.placeholder{color:var(--color-text-muted);text-align:center;padding:4rem 0}@media(max-width:768px){.calendar-header{flex-direction:column;align-items:flex-start}.calendar-controls{width:100%;flex-wrap:wrap}.view-switcher{flex-wrap:wrap}.calendar-filters{flex-direction:column;align-items:flex-start}.weekday-label{font-size:.6rem;padding:.25rem .125rem}.month-cells{grid-auto-rows:minmax(60px,auto)}.day-number{font-size:.7rem}.event-chip{font-size:.55rem;height:16px;line-height:12px}.cell-events{grid-auto-rows:16px}.time-gutter,.time-gutter-header{width:40px}.time-slot-label{font-size:.55rem;padding-right:4px}.week-day-name{font-size:.6rem}.week-day-num{font-size:.9rem}.week-event,.day-event{font-size:.6rem;padding:1px 4px}}.reminders-page{height:100%;display:flex;flex-direction:column}.reminders-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.75rem}.reminders-header h2{margin:0}.reminders-actions{display:flex;gap:1rem;align-items:center}.filter-group{display:flex;gap:.25rem}.filter-group button{font-size:.75rem}.reminder-form{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem;margin-bottom:1rem;display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap}.reminder-form .form-group{flex:1;min-width:200px}.reminder-form label{display:block;font-size:.75rem;font-weight:600;color:var(--color-text-muted);margin-bottom:.25rem}.reminder-form input{width:100%}.reminders-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}.section-label{font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin:.75rem 0 .25rem}.section-label:first-child{margin-top:0}.reminder-card{display:flex;flex-direction:column;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);transition:background-color .15s}.reminder-card:hover{background-color:var(--color-surface-hover)}.reminder-card-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;cursor:pointer}.reminder-card.overdue{border-left:3px solid var(--color-danger)}.reminder-card.past{opacity:.6}.reminder-card.done{opacity:.7;border-left:3px solid var(--color-success, #22c55e)}.reminder-card.sent{border-left:3px solid var(--color-primary, #a78bfa)}.reminder-icon{font-size:1.25rem;flex-shrink:0}.reminder-body{flex:1;min-width:0}.reminder-message{font-weight:500;margin-bottom:.125rem;display:flex;align-items:center;gap:.375rem}.reminder-meta{display:flex;gap:.625rem;font-size:.75rem;color:var(--color-text-muted);align-items:center;flex-wrap:wrap}.reminder-deadline{font-weight:500}.reminder-days{font-weight:600}.reminder-days.overdue{color:var(--color-danger)}.reminder-priority{text-transform:uppercase;font-size:.65rem;font-weight:700;letter-spacing:.05em;opacity:.7}.notify-count{font-size:.65rem;opacity:.6}.escalation-badge{font-size:.85rem}.reminder-card.urgency-overdue{border-left:3px solid var(--color-danger);background-color:#ef44440d}.reminder-card.urgency-critical{border-left:3px solid #f59e0b;background-color:#f59e0b0d}.reminder-card.urgency-high{border-left:3px solid #f59e0b}.reminder-card.urgency-medium{border-left:3px solid var(--color-primary, #a78bfa)}.form-row{display:flex;gap:1rem;width:100%}.form-row .form-group{flex:1;min-width:150px}.reminder-form select{width:100%;padding:.5rem;border:1px solid var(--color-border);border-radius:var(--radius);background-color:var(--color-bg);color:var(--color-text);font-size:.875rem}.reminder-actions{display:flex;gap:.375rem;flex-shrink:0}.reminders-loading,.reminders-empty{text-align:center;padding:4rem 2rem;color:var(--color-text-muted)}.reminders-empty p:first-child{font-size:1.5rem;margin-bottom:.5rem}.text-muted{color:var(--color-text-muted);font-size:.85rem}.btn-sm{font-size:.75rem;padding:.25rem .625rem}.btn-danger{background:none;border:1px solid var(--color-danger);color:var(--color-danger);border-radius:var(--radius);cursor:pointer;transition:background-color .15s}.btn-danger:hover{background-color:#ef44441a}.btn-success{background:none;border:1px solid var(--color-success, #22c55e);color:var(--color-success, #22c55e);border-radius:var(--radius);cursor:pointer;font-weight:600;transition:background-color .15s}.btn-success:hover{background-color:#22c55e1a}.sent-label{color:var(--color-primary, #a78bfa);font-weight:600}.reminder-detail{padding:.75rem 1rem 1rem;border-top:1px solid var(--color-border);animation:slideDown .15s ease-out}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:500px}}.detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.5rem 1.5rem;margin-bottom:.75rem}.detail-item{display:flex;flex-direction:column;gap:.125rem}.detail-label{font-size:.65rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.detail-value{font-size:.85rem}.detail-actions{display:flex;gap:.5rem}.reminder-edit{padding:.75rem 1rem 1rem;border-top:1px solid var(--color-border);animation:slideDown .15s ease-out}.edit-form{display:flex;flex-direction:column;gap:.75rem}.edit-form .form-group{flex:1;min-width:150px}.edit-form label{display:block;font-size:.7rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;margin-bottom:.25rem}.edit-form input,.edit-form select{width:100%;padding:.4rem .5rem;border:1px solid var(--color-border);border-radius:var(--radius);background-color:var(--color-bg);color:var(--color-text);font-size:.85rem}.edit-form .form-row{display:flex;gap:.75rem}.edit-actions{display:flex;gap:.5rem}@media(max-width:768px){.reminders-header{flex-direction:column;align-items:flex-start}.reminders-actions{width:100%;flex-wrap:wrap}.reminder-form{flex-direction:column;padding:.75rem}.reminder-form .form-group{min-width:0;width:100%}.form-row{flex-direction:column}.form-row .form-group{min-width:0;width:100%}.reminder-card{align-items:stretch}.reminder-card-header{flex-direction:column;align-items:flex-start;gap:.5rem}.reminder-actions{align-self:flex-end}.reminder-meta{flex-direction:column;gap:.25rem}.detail-grid{grid-template-columns:1fr}.edit-form .form-row{flex-direction:column}}.ideas-page{max-width:800px}.ideas-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.ideas-filters{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.ideas-filters select{padding:.4rem .75rem;border-radius:6px;border:1px solid var(--color-border);background:var(--color-bg-secondary);color:var(--color-text);font-size:.825rem}.btn-toggle{padding:.4rem .75rem;border-radius:6px;border:1px solid var(--color-border);background:var(--color-bg-secondary);color:var(--color-text-muted);font-size:.825rem;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.btn-toggle:hover{border-color:var(--color-text-muted)}.btn-toggle.active{background:var(--color-accent, #4a9eff);color:#fff;border-color:var(--color-accent, #4a9eff)}.ideas-list{display:flex;flex-direction:column;gap:.75rem}.idea-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;padding:1rem 1.25rem;transition:border-color .15s}.idea-card:hover{border-color:var(--color-primary)}.idea-card.done,.idea-card.archived{opacity:.5}.idea-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.4rem}.idea-title{font-weight:600;font-size:.95rem;color:var(--color-text)}.idea-badges{display:flex;gap:.4rem;flex-shrink:0}.idea-badge{padding:.15rem .5rem;border-radius:4px;font-size:.7rem;font-weight:500;text-transform:uppercase}.idea-badge.status-open{background:#dbeafe;color:#1d4ed8}.idea-badge.status-in_progress{background:#fef3c7;color:#92400e}.idea-badge.status-done{background:#d1fae5;color:#065f46}.idea-badge.status-archived{background:#e5e7eb;color:#6b7280}.idea-badge.priority-high{background:#fee2e2;color:#991b1b}.idea-badge.priority-low{background:#f3f4f6;color:#6b7280}.idea-description{font-size:.85rem;color:var(--color-text-muted);margin-bottom:.5rem;line-height:1.5;white-space:pre-wrap}.idea-meta{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;font-size:.78rem;color:var(--color-text-muted)}.idea-project{background:var(--color-bg);padding:.15rem .5rem;border-radius:4px;border:1px solid var(--color-border);font-weight:500}.idea-tag{background:var(--color-bg);padding:.1rem .4rem;border-radius:3px;font-size:.72rem}.idea-source{font-style:italic}.idea-actions{display:flex;gap:.4rem;margin-left:auto}.idea-form{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;padding:1.25rem;margin-bottom:1.5rem}.idea-form h3{margin-bottom:1rem}.idea-form .form-group{margin-bottom:.75rem}.idea-form label{display:block;font-size:.825rem;font-weight:500;margin-bottom:.3rem;color:var(--color-text-muted)}.idea-form input,.idea-form textarea,.idea-form select{width:100%;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text);font-size:.875rem}.idea-form textarea{resize:vertical}.idea-form .form-row{display:flex;gap:.75rem}.idea-form .form-row .form-group{flex:1}.idea-form .form-actions{display:flex;gap:.5rem;margin-top:1rem}.idea-form .form-error{color:#dc2626;font-size:.825rem;margin-bottom:.75rem}.tag-input-wrapper{display:flex;gap:.4rem}.tag-input-wrapper input{flex:1}.tag-input-wrapper button{flex-shrink:0}.tags-list{display:flex;gap:.3rem;flex-wrap:wrap;margin-top:.4rem}.tag-chip{display:inline-flex;align-items:center;gap:.25rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;padding:.15rem .5rem;font-size:.75rem}.tag-chip button{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:.85rem;padding:0;line-height:1}.placeholder{text-align:center;padding:3rem 1rem;color:var(--color-text-muted);font-size:.9rem}@media(max-width:768px){.ideas-page{max-width:100%}.ideas-header{flex-direction:column;align-items:flex-start;gap:.5rem}.ideas-filters{width:100%}.idea-top{flex-direction:column;gap:.25rem}.idea-badges{flex-wrap:wrap}.idea-meta{flex-direction:column;gap:.25rem}.idea-actions{margin-left:0}.idea-form{padding:1rem}.idea-form .form-row{flex-direction:column}}.researches-page{max-width:800px}.researches-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.researches-filters{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap;align-items:center}.researches-count{font-size:.825rem;color:var(--color-text-muted)}.researches-list{display:flex;flex-direction:column;gap:.75rem}.research-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;padding:1rem 1.25rem;cursor:pointer;transition:border-color .15s}.research-card:hover{border-color:var(--color-primary)}.research-card.completed,.research-card.archived{opacity:.5}.research-card.has-results{border-left:3px solid var(--color-accent, #4a9eff);opacity:1}.research-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.4rem}.research-title{font-weight:600;font-size:1rem}.research-badges{display:flex;gap:.4rem;flex-shrink:0}.research-badge{font-size:.7rem;padding:.15rem .5rem;border-radius:10px;text-transform:uppercase;font-weight:600;letter-spacing:.03em}.research-badge.status-briefing{background:#3a3a3a;color:#ccc}.research-badge.status-in_progress{background:#1a3a5c;color:#5bafff}.research-badge.status-review{background:#3a2a1a;color:#ffb347}.research-badge.status-completed{background:#1a3a1a;color:#5bff7a}.research-badge.status-archived{background:#2a2a2a;color:#888}.research-goal{font-size:.875rem;color:var(--color-text-muted);margin:.25rem 0;line-height:1.4}.research-meta{display:flex;gap:.75rem;align-items:center;margin-top:.5rem;font-size:.8rem;color:var(--color-text-muted)}.research-version,.research-iterations{background:var(--color-bg-tertiary, #2a2a2a);padding:.1rem .4rem;border-radius:4px;font-size:.75rem}.research-date{margin-left:auto}.research-actions{display:flex;gap:.4rem}.research-detail{max-width:800px}.btn-back{margin-bottom:1rem}.detail-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.detail-header h2{margin:0}.detail-brief{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;padding:1.25rem;margin-bottom:1.5rem}.detail-brief h3{margin:0 0 .75rem;font-size:.95rem}.brief-grid{display:flex;flex-direction:column;gap:.5rem}.brief-field{font-size:.875rem;line-height:1.5}.brief-field strong{color:var(--color-text)}.detail-results{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;padding:1.25rem;margin-bottom:1.5rem}.detail-results h3{margin:0 0 1rem;font-size:.95rem}.result-section{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.result-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.result-section h4{margin:0 0 .5rem;font-size:.9rem}.result-content{font-size:.875rem;line-height:1.6;white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word;color:var(--color-text-muted)}.result-content pre{white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word;max-width:100%;overflow-x:auto}.result-sources{margin-top:.5rem;font-size:.8rem}.result-sources ul{margin:.25rem 0 0;padding-left:1.25rem}.result-sources li{color:var(--color-text-muted);word-break:break-all}.detail-status-info{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;padding:1.25rem;margin-bottom:1.5rem;text-align:center;color:var(--color-text-muted)}.detail-meta{display:flex;gap:1.5rem;font-size:.8rem;color:var(--color-text-muted);margin-bottom:1rem}.detail-actions{display:flex;gap:.75rem}.research-form{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;padding:1.25rem;margin-bottom:1.5rem}.research-form h3{margin:0 0 1rem}.status-indicator{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.status-indicator.working{position:relative}.orbit-ring,.working-orbit{position:absolute;width:20px;height:20px;border:1.5px solid transparent;border-top-color:#5bafff;border-radius:50%;animation:orbit-spin 1.5s linear infinite}.orbit-dot,.working-dot{position:absolute;top:-2px;left:50%;transform:translate(-50%);width:4px;height:4px;background:#5bafff;border-radius:50%}.pulse-core,.working-core{width:6px;height:6px;background:#5bafff;border-radius:50%;animation:pulse-dot 1.5s ease-in-out infinite}.status-indicator.error{background:#f44;color:#fff;border-radius:50%;font-size:.7rem;font-weight:800}.badge-glow{animation:badge-glow 2s ease-in-out infinite}.badge-pulse{animation:pulse-badge 2s ease-in-out infinite}.badge-error{background:#5c1a1a!important;color:#ff6b6b!important}.progress-sweep{height:2px;background:linear-gradient(90deg,transparent,#5bafff 50%,transparent);background-size:200% 100%;animation:progress-sweep 2s ease-in-out infinite;border-radius:2px;margin-top:.5rem}.error-banner{display:flex;align-items:center;gap:1rem;background:#2a1515;border:1px solid #5c2a2a;border-left:3px solid #ff4444;border-radius:8px;padding:1rem 1.25rem;margin-bottom:1.5rem}.error-banner-icon{font-size:1.5rem;flex-shrink:0}.error-banner-content{flex:1}.error-banner-content strong{display:block;color:#ff6b6b;margin-bottom:.25rem}.error-banner-content p{margin:0;font-size:.825rem;color:#ccc;word-break:break-word}.briefing-banner{display:flex;align-items:center;gap:1rem;background:#1a1a2a;border:1px solid #2a2a4a;border-left:3px solid #7c7cff;border-radius:8px;padding:1rem 1.25rem;margin-bottom:1.5rem}.briefing-banner-icon{font-size:1.5rem;flex-shrink:0}.briefing-banner-content{flex:1}.briefing-banner-content strong{display:block;color:#9e9eff;margin-bottom:.25rem}.briefing-banner-content p{margin:0;font-size:.825rem;color:var(--color-text-muted)}.working-banner{position:relative;display:flex;align-items:center;gap:1rem;background:#0f1f33;border:1px solid #1a3a5c;border-radius:8px;padding:1.25rem;margin-bottom:1.5rem;overflow:hidden}.working-banner .progress-sweep{position:absolute;bottom:0;left:0;right:0;margin:0;border-radius:0 0 8px 8px}.working-animation{position:relative;width:36px;height:36px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.working-animation .working-orbit{width:36px;height:36px}.working-animation .working-core{width:10px;height:10px}.working-text strong{display:block;color:#5bafff;margin-bottom:.25rem}.working-text p{margin:0;font-size:.825rem;color:var(--color-text-muted)}.research-card.has-error{border-left:3px solid #ff4444;opacity:1}.research-title-row{display:flex;align-items:center;gap:.5rem}.detail-header .status-indicator{flex-shrink:0}@keyframes orbit-spin{to{transform:rotate(360deg)}}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.7)}}@keyframes badge-glow{0%,to{box-shadow:0 0 4px #5bafff4d}50%{box-shadow:0 0 12px #5bafff99}}@keyframes pulse-badge{0%,to{opacity:1}50%{opacity:.6}}@keyframes progress-sweep{0%{background-position:200% 0}to{background-position:-200% 0}}.collapsible-section{border-bottom:1px solid var(--color-border)}.collapsible-section:last-child{border-bottom:none}.collapsible-header{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 0;background:none;border:none;color:var(--color-text);font-size:.9rem;font-weight:600;cursor:pointer;text-align:left}.collapsible-header:hover{color:var(--color-primary)}.collapsible-chevron{font-size:.65rem;width:1rem;flex-shrink:0;transition:transform .15s}.collapsible-count{font-size:.7rem;font-weight:500;background:var(--color-bg-tertiary, #2a2a2a);color:var(--color-text-muted);padding:.1rem .4rem;border-radius:8px}.collapsible-body{padding:0 0 .75rem}.findings-list,.recommendations-list,.evidence-list{display:flex;flex-direction:column;gap:.75rem}.finding-item,.recommendation-item,.evidence-item{padding:.75rem;background:var(--color-bg-tertiary, #1a1a1a);border-radius:6px;font-size:.85rem;line-height:1.5;overflow-wrap:break-word;word-break:break-word}.finding-text,.recommendation-text,.evidence-claim{color:var(--color-text);margin-bottom:.35rem}.finding-source,.recommendation-reasoning,.evidence-source{font-size:.8rem;color:var(--color-text-muted);font-style:italic}.evidence-url{display:inline-block;font-size:.75rem;color:var(--color-primary);word-break:break-all;margin-top:.25rem}.confidence-badge{display:inline-block;font-size:.65rem;padding:.1rem .4rem;border-radius:8px;text-transform:uppercase;font-weight:600;margin-top:.35rem;margin-right:.3rem}.conf-high{background:#1a3a1a;color:#5bff7a}.conf-medium{background:#3a2a1a;color:#ffb347}.conf-low{background:#3a1a1a;color:#ff6b6b}.priority-badge{display:inline-block;font-size:.65rem;padding:.1rem .4rem;border-radius:8px;text-transform:uppercase;font-weight:600;margin-top:.35rem;margin-right:.3rem}.priority-high{background:#3a1a1a;color:#ff6b6b}.priority-medium{background:#3a2a1a;color:#ffb347}.priority-low{background:#1a2a3a;color:#7ab8ff}.risks-list,.unknowns-list{margin:0;padding-left:1.25rem;font-size:.85rem;line-height:1.6;color:var(--color-text-muted)}.risks-list li,.unknowns-list li{margin-bottom:.4rem;overflow-wrap:break-word;word-break:break-word}.passes-list{display:flex;flex-direction:column;gap:.25rem}.pass-findings{margin:.5rem 0;padding-left:1.25rem;font-size:.825rem;line-height:1.5;color:var(--color-text-muted)}.pass-meta{font-size:.75rem;color:var(--color-text-muted);opacity:.6}.annas-review{margin-top:1.25rem;padding:1rem 1.25rem;background:var(--color-surface-elevated, rgba(255, 255, 255, .03));border-left:3px solid var(--color-accent, #6c63ff);border-radius:0 8px 8px 0}.annas-review-title{margin:0 0 .75rem;font-size:.9rem;font-weight:600;color:var(--color-accent, #6c63ff)}.annas-review-content{font-size:.85rem;line-height:1.7;color:var(--color-text-primary, #e0e0e0);overflow-wrap:break-word;word-break:break-word}.annas-review-content p{margin:.3rem 0}.devices-page{max-width:800px}.devices-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.devices-filters{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap;align-items:center}.devices-filters select{padding:.4rem .75rem;border-radius:6px;border:1px solid var(--color-border);background:var(--color-bg-secondary);color:var(--color-text);font-size:.825rem}.devices-count{font-size:.825rem;color:var(--color-text-muted)}.devices-list{display:flex;flex-direction:column;gap:.75rem}.device-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;padding:1rem 1.25rem;transition:border-color .15s}.device-card:hover{border-color:var(--color-primary)}.device-top{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}.device-icon{font-size:1.2rem}.device-name{font-weight:600;font-size:.95rem;color:var(--color-text);flex:1}.device-badges{display:flex;gap:.4rem;flex-shrink:0}.device-badge{padding:.15rem .5rem;border-radius:4px;font-size:.7rem;font-weight:500;text-transform:uppercase}.type-badge{background:#e0e7ff;color:#4338ca}.online-badge{background:#dcfce7;color:#166534}.offline-badge{background:#fee2e2;color:#991b1b}.device-meta{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;font-size:.8rem;color:var(--color-text-muted)}.device-room{font-weight:500}.device-mac{font-family:monospace;font-size:.75rem;opacity:.7}.device-model{font-size:.75rem;opacity:.6}.device-actions{margin-left:auto;display:flex;gap:.4rem}.device-form{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;padding:1.25rem;margin-bottom:1.5rem}.device-form h3{margin-bottom:1rem;font-size:1rem}.device-form .form-group{margin-bottom:.75rem}.device-form label{display:block;font-size:.8rem;font-weight:500;margin-bottom:.25rem;color:var(--color-text-muted)}.device-form input,.device-form select{width:100%;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text);font-size:.875rem}.device-form input:disabled{opacity:.5}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.form-buttons{display:flex;gap:.5rem;margin-top:1rem}.form-error{background:#fee2e2;color:#991b1b;padding:.5rem .75rem;border-radius:6px;font-size:.825rem;margin-bottom:.75rem}@media(max-width:768px){.devices-page{max-width:100%}.devices-header{flex-direction:column;align-items:flex-start;gap:.5rem}.form-row{grid-template-columns:1fr}.device-form{padding:1rem}.device-top{flex-wrap:wrap}.device-meta{flex-direction:column;gap:.25rem}.device-badges{flex-wrap:wrap}}.workspace-page{min-height:100%;display:flex;flex-direction:column}.workspace-page>.tab-bar{position:sticky;top:0;z-index:10;background:var(--color-bg);padding-top:.25rem}.workspace-header{margin-bottom:1rem}.workspace-header h2{margin:0}.workspace-page .reminders-header h2,.workspace-page .ideas-header h2{display:none}.tkadlec-snu{max-width:1000px;margin:0 auto}.tkadlec-header{margin-bottom:1.5rem}.tkadlec-header h2{font-size:1.5rem;color:var(--color-text);margin:0}.tkadlec-subtitle{color:var(--color-text-muted);font-size:.875rem;margin-top:.25rem}.tkadlec-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--color-border);padding-bottom:.5rem}.tab-btn{padding:.5rem 1rem;border:none;background:none;color:var(--color-text-muted);cursor:pointer;border-radius:6px 6px 0 0;font-size:.85rem;transition:all .15s}.tab-btn:hover{color:var(--color-text);background:var(--color-surface)}.tab-btn.active{color:var(--color-primary);background:#6366f11a;font-weight:500}.tkadlec-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:1.5rem}.tkadlec-panel h3{margin:0 0 1rem;font-size:1.1rem;color:var(--color-text)}.analyze-input textarea{width:100%;padding:.75rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg);color:var(--color-text);font-family:inherit;font-size:.9rem;resize:none;min-height:80px;max-height:70vh;overflow-y:auto}.analyze-input textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #6366f133}.analyze-actions{display:flex;gap:.5rem;margin-top:.75rem;flex-wrap:wrap}.btn-primary{padding:.5rem 1rem;background:var(--color-primary);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500}.btn-primary:hover:not(:disabled){opacity:.9}.btn-secondary{padding:.5rem 1rem;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:6px;cursor:pointer;font-size:.85rem}.btn-secondary:hover:not(:disabled){background:var(--color-bg)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.tkadlec-loading{text-align:center;padding:2rem;color:var(--color-text-muted)}.tkadlec-loading .loading-spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 1rem}.tkadlec-error{background:#ef44441a;color:#ef4444;padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:.85rem}.tkadlec-info{background:#6366f11a;color:var(--color-primary);padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:.85rem}.tkadlec-success{background:#22c55e1a;color:#16a34a;padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:.85rem}.analysis-result{margin-top:1.5rem;position:relative}.applied-stamp-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:10}.applied-stamp{font-family:Impact,Arial Black,sans-serif;font-size:5rem;font-weight:900;color:#dc262659;border:6px solid rgba(220,38,38,.35);border-radius:12px;padding:.25rem 1.5rem;transform:rotate(-18deg);text-transform:uppercase;letter-spacing:.15em;white-space:nowrap;-webkit-user-select:none;user-select:none}.applied-stamp.dismissed{color:#6b728059;border-color:#6b728059}.applied-badge{display:inline-block;background:#dc262626;color:#dc2626;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:.1rem .4rem;border-radius:3px;border:1px solid rgba(220,38,38,.3);margin-right:.5rem;vertical-align:middle}.dismissed-badge{display:inline-block;background:#6b728026;color:#6b7280;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:.1rem .4rem;border-radius:3px;border:1px solid rgba(107,114,128,.3);margin-right:.5rem;vertical-align:middle}.analysis-item.applied,.analysis-item.dismissed{opacity:.7}.analysis-result.read-only .diff-panel{opacity:.85}.btn-dismiss{background:var(--color-bg);color:var(--color-text-muted);border:1px solid var(--color-border);padding:.35rem .75rem;border-radius:6px;font-size:.8rem;cursor:pointer}.btn-dismiss:hover{background:var(--color-border)}.result-summary{font-size:.95rem;color:var(--color-text);padding:1rem;background:var(--color-bg);border-radius:6px;margin-bottom:1rem;line-height:1.5}.result-section{margin-bottom:1rem}.result-section h4{font-size:.9rem;color:var(--color-text);margin:0 0 .5rem}.result-section p{color:var(--color-text-muted);font-size:.85rem;line-height:1.5}.result-section ul{padding-left:1.25rem;color:var(--color-text-muted);font-size:.85rem}.diff-panel{margin-top:1rem}.diff-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.diff-panel-header h4{margin:0;font-size:.95rem}.btn-apply{font-size:.8rem}.diff-hunk{border:1px solid var(--color-border);border-radius:8px;margin-bottom:1rem;overflow:hidden}.diff-hunk.accepted{border-color:#22c55e}.diff-hunk.rejected{border-color:#ef4444;opacity:.6}.diff-hunk.delete{border-color:#f97316}.diff-hunk.delete .diff-content{grid-template-columns:1fr}.diff-hunk-header{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--color-bg);border-bottom:1px solid var(--color-border);font-size:.8rem}.diff-section{font-weight:500;color:var(--color-text)}.diff-priority{padding:.15rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase}.priority-high{background:#ef444426;color:#ef4444}.priority-medium{background:#f59e0b26;color:#f59e0b}.priority-low{background:#22c55e26;color:#22c55e}.diff-status{margin-left:auto;font-weight:600;font-size:.75rem}.diff-status.accepted{color:#22c55e}.diff-status.rejected{color:#ef4444}.diff-status.delete{color:#f97316}.diff-actions{margin-left:auto;display:flex;gap:.25rem}.btn-accept,.btn-reject,.btn-delete{width:28px;height:28px;border:1px solid var(--color-border);border-radius:4px;cursor:pointer;font-size:.85rem;display:flex;align-items:center;justify-content:center;background:var(--color-surface);color:var(--color-text);transition:all .15s}.btn-accept:hover{background:#22c55e26;border-color:#22c55e;color:#22c55e}.btn-reject:hover{background:#ef444426;border-color:#ef4444;color:#ef4444}.btn-delete:hover{background:#f9731626;border-color:#f97316;color:#f97316}.diff-reasoning{padding:.5rem .75rem;font-size:.8rem;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);line-height:1.4}.diff-content{display:grid;grid-template-columns:1fr 1fr;min-height:0}.diff-side{overflow-x:auto}.diff-side-label{padding:.35rem .5rem;font-size:.7rem;font-weight:600;text-transform:uppercase;color:var(--color-text-muted);background:var(--color-bg);border-bottom:1px solid var(--color-border)}.diff-remove{border-right:1px solid var(--color-border)}.diff-line{padding:.25rem .75rem;font-family:SF Mono,Fira Code,monospace;font-size:.8rem;white-space:pre-wrap;word-break:break-word;line-height:1.6;color:#e2e8f0}.diff-line.remove{background:#ef444426;color:#fca5a5}.diff-line.add{background:#22c55e26;color:#86efac}.diff-line.strikethrough{text-decoration:line-through;opacity:.7}.analysis-list{display:flex;flex-direction:column;gap:.5rem}.analysis-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;cursor:pointer;transition:border-color .15s}.analysis-item:hover{border-color:var(--color-primary)}.analysis-desc{font-size:.85rem;color:var(--color-text)}.analysis-date{font-size:.75rem;color:var(--color-text-muted);white-space:nowrap;margin-left:1rem}.context-description{color:var(--color-text-muted);font-size:.85rem;margin-bottom:1rem}.context-content pre{background:var(--color-bg);padding:1rem;border-radius:6px;font-size:.8rem;line-height:1.5;white-space:pre-wrap;color:var(--color-text);border:1px solid var(--color-border)}.context-meta{display:flex;gap:1.5rem;margin-top:.75rem;font-size:.75rem;color:var(--color-text-muted)}.memory-toolbar,.memory-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.memory-toolbar h3,.memory-detail-header h3{margin-bottom:.25rem}.shadow-label{color:#d97706;font-size:.7rem;font-weight:700;letter-spacing:.04em}.memory-toolbar label{color:var(--color-text-muted);font-size:.75rem}.memory-toolbar select{display:block;min-width:130px;margin-top:.25rem;padding:.45rem .6rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text)}.memory-usage{margin-bottom:1.25rem;padding:1rem 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.memory-usage-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.memory-usage-heading h3,.memory-usage-heading p,.memory-usage-note,.memory-usage-omissions,.memory-usage-state{margin:0}.memory-usage-heading p,.memory-usage-note,.memory-usage-omissions,.memory-usage-state{color:var(--color-text-muted);font-size:.75rem;line-height:1.5}.memory-counts,.memory-limits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-bottom:1rem;background:var(--color-border);border:1px solid var(--color-border)}.memory-counts>div,.memory-limits>div{min-width:0;padding:.75rem;background:var(--color-bg)}.memory-counts strong,.memory-counts span,.memory-limits strong,.memory-limits span{display:block}.memory-counts strong{color:var(--color-text);font-size:1.25rem}.memory-counts span,.memory-limits span{color:var(--color-text-muted);font-size:.7rem}.memory-limits{grid-template-columns:repeat(3,minmax(0,1fr))}.memory-limits strong{margin:.3rem 0 .45rem;color:var(--color-text);font-size:.8rem;overflow-wrap:anywhere}.memory-limits progress{width:100%;height:6px;accent-color:var(--color-primary)}.memory-usage-note code{color:var(--color-text)}.memory-usage-omissions{margin-top:.5rem;color:#d97706}.memory-table-wrap{overflow:hidden;border:1px solid var(--color-border);border-radius:6px}.memory-table{width:100%;border-collapse:collapse;table-layout:fixed}.memory-table th,.memory-table td{padding:.7rem;border-bottom:1px solid var(--color-border);color:var(--color-text-muted);font-size:.78rem;text-align:left;overflow-wrap:anywhere}.memory-table th:first-child,.memory-table td:first-child{width:31%;color:var(--color-text)}.memory-table th:nth-child(2){width:10%}.memory-table th:nth-child(3){width:11%}.memory-table th:nth-child(4),.memory-table th:nth-child(5){width:12%}.memory-table th:nth-child(6){width:10%}.memory-table th:nth-child(7){width:14%}.memory-semantic-search{margin-bottom:.75rem}.memory-semantic-search label{display:block;margin-bottom:.25rem;color:var(--color-text-muted);font-size:.72rem;font-weight:600}.memory-semantic-search-control{position:relative}.memory-semantic-search input{width:100%;padding:.65rem 2.5rem .65rem .75rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text);font:inherit;font-size:.85rem}.memory-semantic-search input:focus{outline:none;border-color:var(--color-primary)}.memory-search-clear{position:absolute;top:50%;right:.4rem;width:30px;height:30px;display:flex;align-items:center;justify-content:center;padding:0;background:transparent;color:var(--color-text-muted);transform:translateY(-50%)}.memory-search-clear:hover{background:var(--color-surface-hover);color:var(--color-text)}.memory-results-state{min-height:1.2rem;margin-bottom:.35rem;color:var(--color-text-muted);font-size:.72rem}.memory-table tbody tr{cursor:pointer}.memory-table tbody tr:hover{background:var(--color-bg)}.memory-table tbody tr.selected{background:color-mix(in srgb,var(--color-primary) 8%,var(--color-bg))}.memory-table tbody tr.memory-detail-row{cursor:default;background:var(--color-bg)}.memory-table td.memory-detail-cell{width:auto;padding:0;color:var(--color-text)}.retention-badge,.job-status{display:inline-block;padding:.15rem .4rem;border-radius:4px;background:var(--color-bg);font-size:.68rem;font-weight:600}.retention-badge.permanent,.job-status.completed{color:#16a34a}.retention-badge.temporary,.job-status.processing{color:#d97706}.job-status.failed{color:#dc2626}.memory-pagination{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;margin-top:.75rem}.memory-pagination span{color:var(--color-text-muted);font-size:.75rem}.memory-jobs{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--color-border)}.memory-detail{padding:1rem 1.25rem 1.25rem;border-left:3px solid var(--color-primary)}.memory-detail-actions,.memory-edit-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.btn-danger{padding:.5rem 1rem;background:#dc2626;color:#fff;border:1px solid #dc2626;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500}.btn-danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.memory-edit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem 1rem}.memory-edit-form label{color:var(--color-text-muted);font-size:.75rem;font-weight:600}.memory-edit-form input,.memory-edit-form select,.memory-edit-form textarea{width:100%;margin-top:.25rem;padding:.6rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text);font:inherit;box-sizing:border-box}.memory-edit-form textarea{min-height:110px;resize:vertical}.memory-edit-form input:focus,.memory-edit-form select:focus,.memory-edit-form textarea:focus{outline:none;border-color:var(--color-primary)}.memory-edit-content,.memory-edit-actions{grid-column:1 / -1}.memory-delete-confirmation{margin-top:1rem;padding:1rem;border:1px solid #dc2626;border-radius:6px;background:#dc262614}.memory-delete-confirmation p{margin:.4rem 0 .85rem;font-size:.8rem}.memory-detail-loading{padding:1rem 1.25rem;border-left:3px solid var(--color-primary);color:var(--color-text-muted);font-size:.78rem}.memory-detail p{color:var(--color-text);line-height:1.5}.memory-detail dl{display:grid;grid-template-columns:110px minmax(0,1fr);gap:.5rem 1rem;font-size:.78rem}.memory-detail dt{color:var(--color-text-muted)}.memory-detail dd{margin:0;color:var(--color-text);overflow-wrap:anywhere}.memory-job{display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:.75rem;align-items:center;padding:.55rem 0;border-bottom:1px solid var(--color-border);color:var(--color-text-muted);font-size:.75rem}@media(max-width:640px){.tkadlec-tabs{overflow-x:auto}.memory-toolbar,.memory-usage-heading{align-items:stretch;flex-direction:column}.memory-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.memory-limits{grid-template-columns:1fr}.memory-semantic-search input{font-size:1rem}.memory-table-wrap{border:0;overflow:visible}.memory-table,.memory-table tbody,.memory-table tr,.memory-table td{display:block;width:100%}.memory-table thead{display:none}.memory-table tbody tr{margin-bottom:.75rem;padding:.65rem;border:1px solid var(--color-border);border-radius:6px}.memory-table tbody tr.memory-detail-row{margin-top:-.75rem;padding:0;border-top:0;border-color:var(--color-primary)}.memory-table td,.memory-table td:first-child{display:grid;grid-template-columns:90px minmax(0,1fr);gap:.5rem;width:auto;padding:.3rem 0;border:0}.memory-table td:before{content:attr(data-label);color:var(--color-text-muted);font-weight:600}.memory-table td.memory-detail-cell{display:block;padding:0}.memory-table td.memory-detail-cell:before{content:none}.memory-detail{padding:.85rem;border-left:0}.memory-detail-header{align-items:center}.memory-detail dl{grid-template-columns:1fr;gap:.15rem}.memory-edit-form{grid-template-columns:1fr}.memory-detail dd{margin-bottom:.5rem}.memory-job{grid-template-columns:80px minmax(0,1fr)}.memory-job time{grid-column:2}.memory-pagination{justify-content:space-between}}.setting-group{margin-bottom:1.25rem}.prompt-group{margin-bottom:.5rem;border:1px solid var(--color-border);border-radius:6px;overflow:hidden}.prompt-group.expanded{margin-bottom:1rem}.prompt-header{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--color-bg);transition:background .15s}.prompt-header:hover{background:var(--color-surface)}.prompt-collapse-icon{font-size:.7rem;color:var(--color-text-muted);width:1rem;text-align:center;flex-shrink:0}.prompt-label{font-size:.9rem;font-weight:600;color:var(--color-text);margin:0;cursor:pointer}.prompt-desc{display:block;font-size:.75rem;color:var(--color-text-muted);padding:0 .75rem;margin-bottom:.5rem}.prompt-textarea{width:100%;padding:.65rem .75rem;border:none;border-top:1px solid var(--color-border);border-radius:0;background:var(--color-bg);color:var(--color-text);font-family:SF Mono,Fira Code,monospace;font-size:.8rem;line-height:1.5;resize:vertical;min-height:120px;max-height:60vh;overflow-y:auto}.prompt-textarea:focus{outline:none;border-color:var(--color-accent, #6366f1);box-shadow:0 0 0 2px #6366f126}.context-sliders{margin-top:1rem;padding:1rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px}.setting-group label{display:block;font-size:.85rem;font-weight:500;color:var(--color-text);margin-bottom:.35rem}.setting-group input[type=password],.setting-group input[type=text]{width:100%;max-width:400px;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text);font-size:.85rem}.setting-group input[type=range]{width:100%;max-width:400px}.setting-help{display:block;margin-top:.25rem;font-size:.75rem;color:var(--color-text-muted)}.setting-actions{display:flex;align-items:center;gap:.75rem;margin-top:1.5rem}.save-indicator{color:#22c55e;font-size:.85rem;font-weight:500}.empty-state{color:var(--color-text-muted);text-align:center;padding:2rem;font-size:.9rem}.archive-suggestion{padding:.75rem;background:var(--color-bg);border-radius:6px;margin-bottom:.5rem}.archive-text{font-size:.85rem;color:var(--color-text);margin-bottom:.25rem}.archive-reason{font-size:.8rem;color:var(--color-text-muted);font-style:italic}.empty-result{text-align:center;padding:2rem;color:var(--color-text-muted)}.empty-result p{font-size:1rem}@media(max-width:768px){.diff-content{grid-template-columns:1fr}.diff-remove{border-right:none;border-bottom:1px solid var(--color-border)}.analyze-actions{flex-direction:column}.context-meta{flex-direction:column;gap:.25rem}}.settings{max-width:720px}.settings-header h2{font-size:1.5rem;font-weight:700;color:var(--color-text)}.settings-subtitle{color:var(--color-text-muted);font-size:.875rem;margin-top:.25rem}.settings-loading{color:var(--color-text-muted);padding:2rem 0}.settings-message{padding:.75rem 1rem;border-radius:6px;font-size:.875rem;margin:1rem 0}.settings-message.success{background-color:#22c55e1a;color:#22c55e;border:1px solid rgba(34,197,94,.2)}.settings-message.error{background-color:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2)}.settings-sections{margin-top:1.5rem;display:flex;flex-direction:column;gap:2rem}.settings-section{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:1.5rem}.settings-section h3{font-size:1rem;font-weight:600;color:var(--color-text);margin-bottom:.25rem}.section-description{color:var(--color-text-muted);font-size:.8rem;margin-bottom:1.25rem}.setting-field{margin-bottom:1.25rem}.setting-field:last-child{margin-bottom:0}.setting-field-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.setting-field-header label{font-size:.875rem;font-weight:500;color:var(--color-text)}.setting-status{font-size:.75rem;font-weight:500;padding:.125rem .5rem;border-radius:9999px}.setting-status.set{background-color:#22c55e1a;color:#22c55e}.setting-status.unset{background-color:#ef44441a;color:#ef4444}.setting-description{color:var(--color-text-muted);font-size:.75rem;margin-bottom:.5rem}.setting-input-wrapper{display:flex;gap:.5rem}.setting-input{flex:1;padding:.5rem .75rem;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);font-size:.875rem;font-family:SF Mono,Fira Code,monospace}.setting-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #6366f126}.setting-input::placeholder{color:var(--color-text-muted);opacity:.5}.setting-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2rem;cursor:pointer;font-family:inherit}.btn-toggle-visibility{padding:.5rem .75rem;background-color:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-muted);font-size:.75rem;cursor:pointer;white-space:nowrap;transition:all .15s ease}.btn-toggle-visibility:hover{color:var(--color-text);background-color:var(--color-border)}.settings-actions{margin-top:1.5rem;display:flex;justify-content:flex-end}.dim0-launch-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.dim0-launch-copy{min-width:0}.dim0-launch-label{color:var(--color-text-muted);font-size:.75rem;margin-bottom:.25rem}.dim0-launch-url{color:var(--color-text);font-family:SF Mono,Fira Code,monospace;font-size:.8rem;overflow-wrap:anywhere}.btn{padding:.625rem 1.25rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease;border:none}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.settings-tabs{display:flex;gap:.5rem;margin-top:1rem;border-bottom:1px solid var(--color-border);padding-bottom:0}.settings-tab{padding:.625rem 1.25rem;background:none;border:none;border-bottom:2px solid transparent;color:var(--color-text-muted);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.settings-tab:hover{color:var(--color-text)}.settings-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.users-list{display:flex;flex-direction:column;gap:.75rem}.user-card{display:flex;align-items:center;justify-content:space-between;padding:.875rem;border-radius:8px;border:1px solid var(--color-border);background-color:var(--color-bg)}.user-card.pending{border-left:3px solid #f59e0b}.user-card.approved{border-left:3px solid #22c55e}.user-card.blocked{border-left:3px solid #ef4444;opacity:.7}.user-info{display:flex;align-items:center;gap:.75rem}.user-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover}.user-name{font-size:.875rem;font-weight:500;color:var(--color-text);display:flex;align-items:center;gap:.5rem}.user-email{font-size:.75rem;color:var(--color-text-muted)}.user-date{font-size:.7rem;color:var(--color-text-muted);opacity:.7}.user-badge{font-size:.65rem;font-weight:600;padding:.125rem .5rem;border-radius:9999px;text-transform:uppercase;letter-spacing:.5px}.user-badge.admin{background-color:#6366f126;color:#818cf8}.user-actions{display:flex;gap:.5rem}.btn-approve{background-color:#22c55e1a;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.btn-approve:hover{background-color:#22c55e33}.btn-reject{background-color:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.btn-reject:hover{background-color:#ef444433}.btn-block{background-color:#ef44440d;color:var(--color-text-muted);border:1px solid var(--color-border);font-size:.75rem}.btn-block:hover{background-color:#ef44441a;color:#ef4444}.spotify-connect-section{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--color-border)}.spotify-status{display:flex;align-items:center;justify-content:space-between;gap:1rem}.spotify-connected{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.spotify-badge{font-size:.75rem;font-weight:500;padding:.25rem .625rem;border-radius:9999px}.spotify-badge.connected{background-color:#1ed7601f;color:#1ed760}.spotify-badge.disconnected{background-color:#ef44441a;color:#ef4444}.spotify-user{font-size:.875rem;color:var(--color-text);font-weight:500}.spotify-product{font-size:.7rem;color:var(--color-text-muted);text-transform:capitalize}.btn-spotify{background-color:#1ed760;color:#000;font-weight:600;padding:.625rem 1.25rem;border-radius:6px;border:none;font-size:.875rem;cursor:pointer;transition:all .15s ease}.btn-spotify:hover{background-color:#1db954}.btn-spotify:disabled{opacity:.5;cursor:not-allowed}.btn-danger-outline{background:none;color:#ef4444;border:1px solid rgba(239,68,68,.3);padding:.5rem 1rem;border-radius:6px;font-size:.8rem;cursor:pointer;transition:all .15s ease}.btn-danger-outline:hover{background-color:#ef44441a}@media(max-width:768px){.settings{max-width:100%}.settings-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap}.settings-tabs::-webkit-scrollbar{display:none}.settings-tab{white-space:nowrap;flex-shrink:0;font-size:.8rem;padding:.5rem 1rem}.settings-section{padding:1rem}.setting-input-wrapper{flex-direction:column}.user-card{flex-direction:column;gap:.75rem;align-items:flex-start}.user-actions{width:100%;justify-content:flex-end}.spotify-status{flex-direction:column;align-items:flex-start}}.admin-page{max-width:900px}.admin-header{display:flex;justify-content:space-between;align-items:center}.admin-header h2{margin:0 0 1rem}.admin-page .tab-bar{display:flex;gap:0;margin-bottom:1.5rem;border-bottom:2px solid var(--color-border)}.admin-page .tab{padding:.75rem 1.25rem;background:none;color:var(--color-text-muted);border:none;border-bottom:2px solid transparent;margin-bottom:-2px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s}.admin-page .tab:hover{color:var(--color-text)}.admin-page .tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.prompt-analysis-description{color:var(--color-text-secondary);font-size:.85rem;margin-bottom:1rem}.prompt-logs-list{display:flex;flex-direction:column;gap:.5rem}.prompt-log-item{border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);overflow:hidden;transition:border-color .15s}.prompt-log-item.expanded{border-color:var(--color-primary)}.prompt-log-header{padding:.75rem 1rem;cursor:pointer;display:flex;flex-direction:column;gap:.4rem}.prompt-log-header:hover{background:color-mix(in srgb,var(--color-primary) 3%,var(--color-surface))}.prompt-log-meta{display:flex;align-items:center;gap:.75rem;font-size:.8rem}.prompt-log-source{padding:.1rem .4rem;background:var(--color-primary);color:#fff;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase}.prompt-log-time{color:var(--color-text-secondary)}.prompt-log-session{color:var(--color-text-muted);font-family:monospace;font-size:.75rem}.prompt-log-preview{color:var(--color-text);font-size:.9rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prompt-log-tokens{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.token-badge{padding:.15rem .5rem;border-radius:10px;font-size:.7rem;font-weight:600}.token-badge.total{background:var(--color-primary);color:#fff}.token-badge.system{background:color-mix(in srgb,#9b59b6 15%,var(--color-surface));color:#9b59b6}.token-badge.chat{background:color-mix(in srgb,#3498db 15%,var(--color-surface));color:#3498db}.token-badge.skills{background:color-mix(in srgb,#9b59b6 15%,var(--color-surface));color:#9b59b6}.token-badge.user{background:color-mix(in srgb,#27ae60 15%,var(--color-surface));color:#27ae60}.char-count{color:var(--color-text-muted);font-size:.7rem;margin-left:.25rem}.prompt-log-detail{border-top:1px solid var(--color-border);padding:.75rem 1rem}.section-tabs{display:flex;gap:0;border-bottom:1px solid var(--color-border);margin-bottom:.75rem}.section-tab{padding:.5rem 1rem;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;color:var(--color-text-muted);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s}.section-tab:hover{color:var(--color-text)}.section-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.section-content{max-height:600px;overflow-y:auto}.prompt-section{display:flex;flex-direction:column;gap:.5rem}.section-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.section-header h4{margin:0;font-size:.9rem;color:var(--color-text)}.section-stat{color:var(--color-text-muted);font-size:.75rem;font-family:monospace;white-space:nowrap}.prompt-content{background:var(--color-background);border:1px solid var(--color-border);border-radius:6px;padding:.75rem;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.8rem;line-height:1.5;white-space:pre-wrap;word-break:break-word;overflow-y:auto;max-height:500px;color:var(--color-text);margin:0}.variables-grid{display:flex;flex-direction:column;gap:.75rem}.variable-item{border:1px solid var(--color-border);border-radius:6px;overflow:hidden}.variable-name{padding:.4rem .75rem;background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface));font-size:.85rem;color:var(--color-text);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;gap:.5rem}.variable-label{font-weight:600}.variable-key{font-family:SF Mono,Fira Code,monospace;font-size:.75rem;color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 10%,var(--color-background));padding:.1rem .4rem;border-radius:4px}.variable-item.empty{opacity:.6}.variable-stats{padding:.25rem .75rem;font-size:.7rem;color:var(--color-text-muted);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.variable-value{padding:.5rem .75rem;font-family:SF Mono,Fira Code,monospace;font-size:.78rem;line-height:1.4;white-space:pre-wrap;word-break:break-word;max-height:300px;overflow-y:auto;background:var(--color-background);margin:0;color:var(--color-text)}.chat-messages-log{display:flex;flex-direction:column;gap:.4rem}.chat-log-msg{border-radius:6px;border:1px solid var(--color-border);overflow:hidden}.chat-log-role{display:block;padding:.3rem .75rem;font-size:.7rem;font-weight:600;text-transform:uppercase;border-bottom:1px solid var(--color-border)}.chat-log-msg.user .chat-log-role{background:color-mix(in srgb,#27ae60 10%,var(--color-surface));color:#27ae60}.chat-log-msg.assistant .chat-log-role{background:color-mix(in srgb,#9b59b6 10%,var(--color-surface));color:#9b59b6}.chat-log-content{padding:.5rem .75rem;font-family:SF Mono,Fira Code,monospace;font-size:.78rem;line-height:1.4;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto;background:var(--color-background);margin:0;color:var(--color-text)}.empty-section{color:var(--color-text-muted);font-size:.85rem;font-style:italic}@media(max-width:768px){.admin-page{max-width:100%}.admin-page .tab-bar{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap}.admin-page .tab-bar::-webkit-scrollbar{display:none}.admin-page .tab{white-space:nowrap;flex-shrink:0;font-size:.8rem;padding:.625rem 1rem}.section-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap}.section-tabs::-webkit-scrollbar{display:none}.section-tab{white-space:nowrap;flex-shrink:0;font-size:.75rem}.prompt-log-meta,.prompt-log-tokens{flex-wrap:wrap}.prompt-content{font-size:.7rem;max-height:300px}.variable-value{font-size:.7rem;max-height:200px}}.scheduled-tasks{padding:1rem 0}.scheduled-tasks-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.scheduled-tasks-header h3{margin:0;font-size:1.1rem}.scheduled-tasks-list{display:flex;flex-direction:column;gap:.75rem}.scheduled-task-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.task-card-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary, rgba(0,0,0,.02))}.task-name{font-weight:600;font-size:.95rem;font-family:monospace}.task-state{font-size:.75rem;font-weight:600;padding:.2rem .6rem;border-radius:12px;text-transform:uppercase}.task-state.enabled{background:#27ae6026;color:#27ae60}.task-state.disabled{background:#e74c3c26;color:#e74c3c}.task-card-body{padding:.75rem 1rem;display:flex;flex-direction:column;gap:.5rem}.task-detail{display:flex;gap:.75rem;align-items:baseline}.task-label{font-size:.8rem;color:var(--color-text-muted);min-width:80px;flex-shrink:0}.task-value{font-size:.85rem;word-break:break-all}.anna-settings{display:flex;flex-direction:column;gap:1rem}.anna-settings-header h3{margin:0 0 .25rem;font-size:1.1rem}.anna-settings-description{color:var(--color-text-secondary);font-size:.85rem;margin:0}.anna-settings-error{background:#e74c3c1a;color:#e74c3c;padding:.75rem 1rem;border-radius:8px;font-size:.85rem}.anna-settings-list{display:flex;flex-direction:column;gap:.75rem}.anna-setting-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:1rem}.setting-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.setting-label{font-weight:600;font-size:.95rem}.setting-value-badge{font-size:.85rem;font-weight:700;font-family:SF Mono,Fira Code,monospace;color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface));padding:.2rem .6rem;border-radius:6px}.setting-description{color:var(--color-text-muted);font-size:.8rem;margin:0 0 .75rem}.setting-slider-row{display:flex;align-items:center;gap:.75rem}.slider-bound{font-size:.75rem;color:var(--color-text-muted);font-family:monospace;min-width:24px;text-align:center}.setting-slider{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:6px;border-radius:3px;background:var(--color-border);outline:none;cursor:pointer}.setting-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--color-primary);cursor:pointer;border:2px solid var(--color-surface);box-shadow:0 1px 4px #0003}.setting-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--color-primary);cursor:pointer;border:2px solid var(--color-surface);box-shadow:0 1px 4px #0003}.anna-settings-actions{display:flex;align-items:center;gap:1rem;margin-top:.5rem}.anna-settings-actions .save-btn{padding:.6rem 1.5rem;background:var(--color-primary);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:opacity .15s}.anna-settings-actions .save-btn:hover{opacity:.9}.anna-settings-actions .save-btn:disabled{opacity:.5;cursor:not-allowed}.save-success{color:#27ae60;font-size:.85rem;font-weight:600}.tab-group-label{display:flex;align-items:center;padding:0 .5rem 0 .75rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);border-left:1px solid var(--color-border);margin-left:.25rem;opacity:.7}.files-loading,.files-empty,.files-error{text-align:center;padding:3rem 1rem;color:var(--color-text-muted)}.files-error p{margin-bottom:1rem;color:var(--color-error, #e74c3c)}.files-browser{padding:1rem}.files-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.files-count{font-size:.85rem;color:var(--color-text-muted)}.files-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.file-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}.file-preview{height:120px;display:flex;align-items:center;justify-content:center;background:#0000001a;overflow:hidden}.file-preview img{width:100%;height:100%;object-fit:cover}.file-icon{color:var(--color-text-muted);opacity:.5}.file-info{padding:.6rem .75rem;flex:1}.file-name{font-size:.8rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-meta{display:flex;gap:.75rem;font-size:.7rem;color:var(--color-text-muted);margin-top:.25rem}.file-actions{display:flex;gap:.25rem;padding:0 .5rem .5rem}.btn-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:var(--color-text-muted);cursor:pointer;transition:background .15s,color .15s;text-decoration:none}.btn-icon:hover{background:var(--color-bg);color:var(--color-text)}.btn-icon.btn-danger:hover{color:var(--color-error, #e74c3c)}.btn-icon:disabled{opacity:.4;cursor:not-allowed}.btn-sm{font-size:.75rem;padding:.3rem .75rem}.rubric-editor .prompt-grid{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.rubric-editor .prompt-group{margin-bottom:0;border:1px solid var(--color-border);border-radius:6px;overflow:hidden;display:flex;flex-direction:column}.rubric-editor .prompt-header{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--color-bg);transition:background .15s}.rubric-editor .prompt-header:hover{background:var(--color-surface)}.rubric-editor .prompt-collapse-icon{font-size:.7rem;color:var(--color-text-muted);width:1rem;text-align:center;flex-shrink:0}.rubric-editor .prompt-label{font-size:.9rem;font-weight:600;color:var(--color-text);margin:0;cursor:pointer}.rubric-editor .prompt-desc{display:block;font-size:.75rem;color:var(--color-text-muted);padding:0 .75rem;margin-bottom:.5rem}.rubric-editor .prompt-textarea{width:100%;padding:.65rem .75rem;border:none;border-top:1px solid var(--color-border);border-radius:0;background:var(--color-bg);color:var(--color-text);font-family:SF Mono,Fira Code,monospace;font-size:.8rem;line-height:1.5;resize:vertical;min-height:120px;max-height:60vh;overflow-y:auto}.rubric-editor .prompt-textarea:focus{outline:none;border-color:var(--color-accent, #6366f1);box-shadow:0 0 0 2px #6366f126}.rubric-editor .prompt-char-count{font-size:.75rem;color:var(--color-text-muted);padding:.35rem .75rem;text-align:right;border-top:1px solid var(--color-border);background:var(--color-bg)}.rubric-editor .setting-actions{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.rubric-editor .btn-primary{padding:.5rem 1.25rem;border:none;border-radius:6px;background:var(--color-accent, #6366f1);color:#fff;font-size:.85rem;font-weight:500;cursor:pointer;transition:opacity .15s}.rubric-editor .btn-primary:hover{opacity:.9}.rubric-editor .btn-primary:disabled{opacity:.5;cursor:not-allowed}.rubric-editor .save-indicator{color:#22c55e;font-size:.85rem;font-weight:500}.rubric-editor .diff-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:768px){.rubric-editor .diff-grid{grid-template-columns:1fr}}.routines-section{width:100%}.routines-intro{margin-bottom:.75rem}.routines-intro h3{margin:0;font-size:1rem}.routines-intro p{margin:.2rem 0 0;color:var(--color-text-muted);font-size:.85rem}.routines-stats{display:flex;align-items:center;gap:.5rem;min-height:32px;margin-bottom:1rem;color:var(--color-text-muted);font-size:.825rem}.routines-stat-separator{opacity:.4}.routines-active-count{color:var(--color-success)}.routines-stats-actions{display:flex;align-items:center;gap:.5rem;margin-left:auto}.routines-error,.routine-form-card .form-error{margin-bottom:1rem;padding:.6rem .75rem;border:1px solid var(--color-danger);border-radius:var(--radius);background:color-mix(in srgb,var(--color-danger) 10%,transparent);color:var(--color-danger);font-size:.8rem}.routines-list{display:flex;flex-direction:column;gap:.75rem}.routine-card,.routine-form-card{width:100%;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.routine-card{padding:1rem 1.25rem;transition:border-color .15s ease}.routine-card:hover{border-color:var(--color-primary)}.routine-card.paused{opacity:.72}.routine-card-header,.routine-title-group,.routine-skills,.routine-card-footer,.routine-actions,.routine-confirm-bar,.routine-delete-bar{display:flex;align-items:center}.routine-card-header{justify-content:space-between;gap:1rem}.routine-title-group{min-width:0;gap:.5rem}.routine-title-group h4{overflow:hidden;margin:0;color:var(--color-text);font-size:.95rem;text-overflow:ellipsis;white-space:nowrap}.routine-think-badge,.routine-status,.routine-skill-chip{display:inline-flex;align-items:center;flex-shrink:0;border-radius:999px;font-size:.7rem;font-weight:600}.routine-think-badge{padding:.1rem .45rem;background:color-mix(in srgb,var(--color-primary) 14%,transparent);color:var(--color-primary)}.routine-status{padding:.15rem .55rem}.routine-status.active{background:color-mix(in srgb,var(--color-success) 14%,transparent);color:var(--color-success)}.routine-status.inactive{background:color-mix(in srgb,var(--color-text-muted) 14%,transparent);color:var(--color-text-muted)}.routine-schedule{margin-top:.55rem;color:var(--color-primary);font-size:.85rem;font-weight:600}.routine-metadata{display:flex;flex-wrap:wrap;gap:.35rem 1rem;margin-top:.4rem;color:var(--color-text-muted);font-size:.75rem}.routine-skills{flex-wrap:wrap;gap:.35rem;margin-top:.65rem;color:var(--color-text-muted);font-size:.72rem}.routine-skill-chip{padding:.12rem .45rem;border:1px solid var(--color-border);color:var(--color-text-muted)}.routine-run-status{margin-top:.65rem;font-size:.78rem;font-weight:600}.routine-run-status.running{color:var(--color-text-muted)}.routine-run-status.success{color:var(--color-success)}.routine-run-status.error{color:var(--color-danger)}.routine-confirm-bar,.routine-delete-bar{width:fit-content;flex-wrap:wrap;gap:.5rem;margin-top:.75rem;padding:.45rem .6rem;border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-muted);font-size:.8rem}.routine-delete-bar{border-color:var(--color-danger);color:var(--color-danger)}.routine-card-footer{justify-content:flex-end;gap:.75rem;margin-top:.85rem;padding-top:.75rem;border-top:1px solid var(--color-border)}.routine-date{margin-right:auto;color:var(--color-text-muted);font-size:.72rem}.routine-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.routine-run-action{border-color:var(--color-success);color:var(--color-success)}.routine-run-action:hover{background:color-mix(in srgb,var(--color-success) 12%,transparent);border-color:var(--color-success);color:var(--color-success)}.routine-form-card{margin-bottom:1rem;padding:1.25rem;border-color:var(--color-primary)}.routine-form-card h3{margin:0 0 1rem;font-size:1rem}.routine-form-card .form-group{display:flex;flex:1;flex-direction:column;gap:.35rem;min-width:0;margin-bottom:.9rem}.routine-form-card .form-group label{color:var(--color-text-muted);font-size:.75rem;font-weight:600}.routine-form-card .form-row{display:flex;gap:1rem}.routine-form-card input,.routine-form-card select,.routine-form-card textarea{width:100%;padding:.6rem .75rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text);font:inherit;font-size:.9rem}.routine-form-card input:focus,.routine-form-card select:focus,.routine-form-card textarea:focus{outline:none;border-color:var(--color-primary)}.routine-auto-textarea{min-height:3rem;overflow:hidden;resize:none;line-height:1.5}.routine-form-card .cadence-input{display:flex;align-items:center;gap:.6rem}.routine-form-card .cadence-input input{width:7rem}.routine-form-card .cadence-input span,.routine-form-help{color:var(--color-text-muted);font-size:.78rem}.routine-form-help{margin-top:.25rem}.routine-form-card .day-picker,.routine-option-picker{display:flex;flex-wrap:wrap;gap:.4rem}.routine-form-card .day-btn{padding:.4rem .65rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text-muted);font-size:.78rem}.routine-form-card .day-btn:hover{border-color:var(--color-primary);color:var(--color-text)}.routine-form-card .day-btn.selected{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 18%,var(--color-bg));color:var(--color-text)}.routine-form-card .toggle-group{display:flex;overflow:hidden;border:1px solid var(--color-border);border-radius:6px}.routine-form-card .toggle-btn{flex:1;border-radius:0;background:var(--color-bg);color:var(--color-text-muted);font-size:.8rem}.routine-form-card .toggle-btn+.toggle-btn{border-left:1px solid var(--color-border)}.routine-form-card .toggle-btn.active{background:var(--color-primary);color:var(--color-text)}.routine-form-card .form-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}@media(max-width:768px){.routine-card,.routine-form-card{padding:1rem}.routine-card-header{align-items:flex-start}.routine-form-card .form-row{flex-direction:column;gap:0}.routine-form-card input,.routine-form-card select,.routine-form-card textarea{font-size:1rem}.routine-card-footer{align-items:flex-end;flex-direction:column}.routine-date{margin-right:0}.routine-actions{width:100%}}.annacore-page{max-width:900px}.annacore-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.annacore-header h2{margin:0}.annacore-subtitle{color:var(--color-text-muted);font-size:.85rem;margin-top:.25rem}.annacore-header-actions{display:flex;gap:.5rem;align-items:center;flex-shrink:0}.annacore-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin-bottom:1.25rem;padding:.35rem;border:1px solid var(--color-border);border-radius:8px;background:color-mix(in srgb,var(--color-surface) 72%,var(--color-bg));box-shadow:var(--shadow)}.annacore-tab{--tab-accent: var(--color-primary);position:relative;min-width:0;min-height:78px;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:.55rem;padding:.75rem;border:0;border-radius:4px;background:transparent;color:var(--color-text-muted);cursor:pointer;font:inherit;isolation:isolate;transition:background .18s ease,color .18s ease}.annacore-tab:nth-child(2){--tab-accent: var(--color-success)}.annacore-tab:nth-child(3){--tab-accent: var(--color-warning)}.annacore-tab:nth-child(4){--tab-accent: var(--color-primary-hover)}.annacore-tab:nth-child(5){--tab-accent: var(--color-danger)}.annacore-tab+.annacore-tab:before{content:"";position:absolute;left:0;top:20%;width:1px;height:60%;background:var(--color-border);transition:opacity .18s ease}.annacore-tab:after{content:"";position:absolute;z-index:-1;left:.7rem;right:.7rem;bottom:0;height:3px;border-radius:3px 3px 0 0;background:var(--tab-accent);opacity:0;transform:scaleX(.45);transition:opacity .18s ease,transform .18s ease}.annacore-tab:hover{background:color-mix(in srgb,var(--tab-accent) 8%,transparent);color:var(--color-text)}.annacore-tab.active{background:color-mix(in srgb,var(--tab-accent) 12%,var(--color-surface));color:var(--color-text)}.annacore-tab.active:before,.annacore-tab.active+.annacore-tab:before{opacity:0}.annacore-tab.active:after{opacity:1;transform:scaleX(1)}.annacore-tab-icon{width:36px;height:36px;flex:0 0 36px;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:50%;background:var(--color-bg);filter:grayscale(1);font-size:1rem;line-height:1;transition:border-color .18s ease,background .18s ease,filter .18s ease,transform .18s ease}.annacore-tab:hover .annacore-tab-icon{filter:grayscale(.35);transform:translateY(-1px)}.annacore-tab.active .annacore-tab-icon{border-color:var(--tab-accent);background:color-mix(in srgb,var(--tab-accent) 16%,var(--color-bg));filter:grayscale(0)}.annacore-tab-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:650}.annacore-tab-count{position:absolute;top:.45rem;right:.45rem;min-width:19px;height:19px;display:inline-flex;align-items:center;justify-content:center;padding:0 .3rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-bg);color:var(--color-text-muted);font-size:.62rem;font-weight:700}.annacore-tab.active .annacore-tab-count{border-color:var(--tab-accent);background:var(--tab-accent);color:var(--color-bg)}.skills-section{width:100%}.skills-intro{margin-bottom:.75rem}.skills-intro h3{margin:0;font-size:1rem}.skills-intro p{margin:.2rem 0 0;color:var(--color-text-muted);font-size:.85rem}.skills-stats{font-size:.825rem;color:var(--color-text-muted);margin-bottom:1rem;display:flex;gap:.5rem;align-items:center}.skills-stats-actions{display:flex;gap:.5rem;align-items:center;margin-left:auto}.skills-stat-sep{opacity:.4}.skills-active-count{color:var(--color-success)}.skills-error,.skill-form-error{margin-bottom:1rem;padding:.6rem .75rem;border:1px solid var(--color-danger);border-radius:var(--radius);background:color-mix(in srgb,var(--color-danger) 10%,transparent);color:var(--color-danger);font-size:.8rem}.skills-list{display:flex;flex-direction:column;gap:.75rem}.skill-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem 1.25rem;transition:border-color .15s}.skill-card:hover{border-color:var(--color-primary)}.skill-card.skill-active{border-left:3px solid var(--color-success)}.skill-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem}.skill-info{display:flex;flex-direction:column;gap:.2rem;min-width:0}.skill-name{font-weight:600;font-size:1rem}.skill-desc{color:var(--color-text-muted);font-size:.825rem}.skill-toggle-wrap{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.skill-toggle{position:relative;display:inline-block;width:40px;height:22px}.skill-toggle input{opacity:0;width:0;height:0}.skill-toggle-slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background:var(--color-border);transition:.2s;border-radius:22px}.skill-toggle-slider:before{content:"";position:absolute;height:16px;width:16px;left:3px;bottom:3px;background:#fff;transition:.2s;border-radius:50%}.skill-toggle input:checked+.skill-toggle-slider{background:var(--color-success, #22c55e)}.skill-toggle input:checked+.skill-toggle-slider:before{transform:translate(18px)}.skill-status{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.03em}.skill-status.loaded{color:var(--color-success)}.skill-status.unloaded{color:var(--color-text-muted)}.skill-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;align-items:center;margin-top:.85rem;padding-top:.75rem;border-top:1px solid var(--color-border)}.skill-date{font-size:.75rem;color:var(--color-text-muted);margin-right:auto}.skill-form-overlay{background:var(--color-surface);border:1px solid var(--color-primary);border-radius:var(--radius);padding:1.25rem;margin-bottom:1rem}.skill-form h3{margin:0 0 1rem}.skill-form label{display:flex;flex-direction:column;gap:.3rem;margin-bottom:1rem;font-size:.85rem;font-weight:500;color:var(--color-text-muted)}.skill-form input[type=text],.skill-form textarea{padding:.6rem .75rem;border-radius:6px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-size:.9rem;font-family:inherit}.skill-form textarea{font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.825rem;line-height:1.5}.skill-form textarea.auto-textarea{resize:none;overflow:hidden;min-height:3rem}.skill-form input:focus,.skill-form textarea:focus{outline:none;border-color:var(--color-primary)}.skill-form-toggle{flex-direction:row!important;align-items:center!important;gap:.5rem!important;cursor:pointer}.skill-form-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary)}.skill-form-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}.core-prompt-section{display:flex;flex-direction:column;gap:.75rem}.prompt-description{color:var(--color-text-secondary);font-size:.85rem;margin:0}.prompt-token-bar{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--color-text-secondary);font-family:monospace;padding:.4rem .75rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-bottom:none;border-radius:6px 6px 0 0}.prompt-token-sep{color:var(--color-text-muted)}.prompt-editor{width:100%;min-height:500px;border-radius:0 0 6px 6px;padding:.75rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);color:var(--color-text);font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.8rem;line-height:1.5;resize:vertical;box-sizing:border-box}.prompt-editor:focus{outline:none;border-color:var(--color-primary)}.prompt-actions{display:flex;align-items:center;gap:1rem}.save-confirm{color:#10b981;font-size:.85rem;font-weight:500}.prompt-updated{color:var(--color-text-secondary);font-size:.8rem}.prompt-version-badge{display:inline-block;margin-left:.5rem;padding:.15rem .5rem;background:var(--color-primary);color:#fff;border-radius:10px;font-size:.75rem;font-weight:600}.prompt-versions{margin-top:1.5rem;border-top:1px solid var(--color-border);padding-top:1rem}.prompt-versions h3{margin:0 0 .75rem;font-size:1rem;color:var(--color-text)}.versions-list{display:flex;flex-direction:column;gap:.5rem}.version-item{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;transition:border-color .15s}.version-item.active{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 5%,var(--color-surface))}.version-info{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.version-number{font-weight:700;font-size:.85rem;font-family:monospace}.version-active-tag{padding:.1rem .4rem;background:var(--color-primary);color:#fff;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase}.version-date{color:var(--color-text-secondary);font-size:.8rem}.version-chars{color:var(--color-text-muted);font-size:.75rem}.version-preview{width:100%;color:var(--color-text-secondary);font-size:.8rem;font-family:monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-restore{padding:.35rem .75rem;background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-primary);border-radius:6px;font-size:.8rem;cursor:pointer;transition:all .15s;flex-shrink:0}.btn-restore:hover{background:var(--color-primary);color:#fff}.btn-restore:disabled{opacity:.5;cursor:not-allowed}.instruction-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem}.instruction-header-actions{display:flex;gap:.5rem;align-items:center;flex-shrink:0}.instruction-category-input{width:100%;padding:.4rem .6rem;margin-top:.5rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text);font-size:.85rem}.instruction-form-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem}.instruction-actions{display:flex;gap:.4rem;margin-top:.4rem}.instruction-confirm-bar{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;width:fit-content;padding:.4rem .6rem;background:color-mix(in srgb,#ff3b3b 10%,var(--color-surface));border:1px solid #ff3b3b;border-radius:6px;font-size:.8rem;color:#ff3b3b}.auto-textarea{resize:none;overflow:hidden;min-height:3rem;width:100%}@media(max-width:768px){.annacore-page{max-width:100%}.annacore-tabs{position:sticky;top:0;z-index:20;grid-template-columns:repeat(6,minmax(0,1fr));gap:.35rem;margin-inline:-.5rem;padding:.45rem .5rem;border-right:0;border-left:0;border-radius:0}.annacore-tab{min-height:58px;grid-column:span 2;justify-content:center;gap:.4rem;padding:.4rem;border:1px solid transparent}.annacore-tab:nth-child(4){grid-column:2 / span 2}.annacore-tab:nth-child(5){grid-column:4 / span 2}.annacore-tab+.annacore-tab:before{display:none}.annacore-tab.active{border-color:color-mix(in srgb,var(--tab-accent) 45%,var(--color-border))}.annacore-tab-icon{width:28px;height:28px;flex-basis:28px;font-size:.82rem}.annacore-tab-label{font-size:.7rem}.annacore-tab-count{top:.25rem;right:.25rem}.annacore-header,.skill-top{flex-direction:column;gap:.5rem}.skill-toggle-wrap{align-self:flex-end}.skill-form-overlay{padding:1rem}.prompt-editor{min-height:300px;font-size:.75rem}.version-item{flex-direction:column;align-items:flex-start}.instruction-header{flex-direction:column}.instruction-category-input,.auto-textarea{font-size:1rem}.instruction-confirm-bar{flex-wrap:wrap}}.singularity-page{padding:1.5rem;max-width:1200px;margin:0 auto}.singularity-header{margin-bottom:1.25rem}.singularity-header h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--color-text)}.singularity-subtitle{font-size:.8rem;color:var(--color-text-muted);letter-spacing:.05em;text-transform:uppercase}.status-banner{border-radius:10px;padding:.875rem 1.25rem;margin-bottom:1.5rem;border:1px solid var(--color-border);transition:all .3s ease}.status-banner.all-online{background:linear-gradient(135deg,#22c55e14,#22c55e05);border-color:#22c55e40}.status-banner.has-offline{background:linear-gradient(135deg,#ef444414,#ef444405);border-color:#ef44444d;animation:banner-pulse 3s ease-in-out infinite}@keyframes banner-pulse{0%,to{border-color:#ef44444d}50%{border-color:#ef444499;box-shadow:0 0 20px #ef44441a}}.status-banner-content{display:flex;align-items:center;justify-content:space-between}.status-banner-left{display:flex;align-items:center;gap:.75rem}.status-banner-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.status-banner-dot.online{background:var(--color-success);box-shadow:0 0 8px #22c55e80;animation:pulse-dot 2s ease-in-out infinite}.status-banner-dot.offline{background:var(--color-danger);box-shadow:0 0 8px #ef444480;animation:pulse-alert 1.5s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.85)}}@keyframes pulse-alert{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 8px #ef444480}50%{opacity:.8;transform:scale(1.1);box-shadow:0 0 16px #ef4444cc}}.status-banner-text{font-size:.925rem;font-weight:500;color:var(--color-text)}.status-banner-right{display:flex;align-items:center;gap:.75rem}.refresh-btn{background:none;border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-muted);font-size:1.1rem;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.refresh-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.refresh-btn.spinning{animation:spin .8s linear infinite;color:var(--color-primary)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.countdown-ring{position:relative;width:32px;height:32px}.countdown-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.countdown-track{fill:none;stroke:var(--color-border);stroke-width:2}.countdown-progress{fill:none;stroke:var(--color-primary);stroke-width:2;stroke-dasharray:88;transition:stroke-dashoffset 1s linear;stroke-linecap:round}.countdown-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.6rem;font-family:JetBrains Mono,Fira Code,monospace;color:var(--color-text-muted)}.device-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:1rem;margin-bottom:2rem}.device-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:10px;padding:1.25rem;border-left:4px solid var(--color-border);transition:all .3s ease,transform .3s ease;position:relative}.device-card:hover{transform:scale(1.02);z-index:10}.device-card.online{border-left-color:var(--color-success)}.device-card.offline{border-left-color:var(--color-danger)}.device-card.online:hover{border-color:#22c55e4d;box-shadow:0 0 20px #22c55e0d}.device-card.offline:hover{border-color:#ef44444d;box-shadow:0 0 20px #ef44440d}.device-card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1rem}.device-identity{display:flex;align-items:center;gap:.75rem}.device-status-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.device-status-dot.online{background:var(--color-success);box-shadow:0 0 6px #22c55e80;animation:pulse-dot 2s ease-in-out infinite}.device-status-dot.offline{background:var(--color-danger);box-shadow:0 0 6px #ef444480;animation:pulse-alert 1.5s ease-in-out infinite}.device-name-group{display:flex;flex-direction:column}.device-name{font-size:1.05rem;font-weight:600;color:var(--color-text)}.device-role{font-size:.75rem;color:var(--color-text-muted);margin-top:2px}.device-status-badge{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.25rem .6rem;border-radius:4px}.device-status-badge.online{background:#22c55e1f;color:var(--color-success)}.device-status-badge.offline{background:#ef44441f;color:var(--color-danger)}.device-card-metrics{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.metric{display:flex;flex-direction:column;gap:.2rem}.metric-label{font-size:.7rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.metric-value{font-size:.9rem;font-family:JetBrains Mono,Fira Code,monospace;color:var(--color-text)}.device-card-details{max-height:0;opacity:0;overflow:hidden;transition:max-height .3s ease,opacity .3s ease,margin-top .3s ease;margin-top:0;border-top:1px solid transparent}.device-card:hover .device-card-details{max-height:300px;opacity:1;margin-top:.75rem;padding-top:.75rem;border-top-color:var(--color-border)}.device-card-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.uptime-container{display:flex;align-items:center;gap:.5rem}.uptime-bar{flex:1;height:4px;background:var(--color-border);border-radius:2px;overflow:hidden}.uptime-fill{height:100%;background:linear-gradient(90deg,var(--color-success),#4ade80);border-radius:2px;transition:width .5s ease}.uptime-text{font-size:.75rem;font-family:JetBrains Mono,Fira Code,monospace;color:var(--color-success);min-width:36px;text-align:right}.device-alert-bar{margin-top:.75rem;padding:.5rem .75rem;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:6px;display:flex;align-items:center;gap:.5rem;font-size:.8rem}.alert-icon{flex-shrink:0}.alert-text{color:var(--color-danger);font-weight:500}.alert-error{color:var(--color-text-muted);font-size:.7rem;font-family:JetBrains Mono,Fira Code,monospace;margin-left:auto;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-section{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:10px;padding:1.25rem}.timeline-title{font-size:.85rem;font-weight:600;color:var(--color-text);margin:0 0 1rem}.timeline-row{margin-bottom:1rem}.timeline-row:last-child{margin-bottom:0}.timeline-device-name{font-size:.75rem;font-weight:500;color:var(--color-text-muted);display:block;margin-bottom:.35rem}.timeline-bar{display:flex;height:20px;border-radius:4px;overflow:hidden;background:var(--color-border)}.timeline-bar.empty{align-items:center;justify-content:center}.timeline-empty-text{font-size:.7rem;color:var(--color-text-muted)}.timeline-slot{flex:1;transition:opacity .15s}.timeline-slot:hover{opacity:.7}.timeline-slot.online{background:var(--color-success)}.timeline-slot.offline{background:var(--color-danger)}.timeline-slot.unknown{background:var(--color-border)}.timeline-labels{display:flex;justify-content:space-between;margin-top:.25rem;font-size:.65rem;color:var(--color-text-muted)}.hardware-loading{padding:0}.hardware-skeleton{display:flex;flex-direction:column;gap:1rem}.skeleton-banner{height:52px;border-radius:10px;background:linear-gradient(90deg,var(--color-bg-secondary) 25%,var(--color-border) 50%,var(--color-bg-secondary) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite}.skeleton-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:1rem}.skeleton-card{height:180px;border-radius:10px;background:linear-gradient(90deg,var(--color-bg-secondary) 25%,var(--color-border) 50%,var(--color-bg-secondary) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:768px){.singularity-page{padding:1rem}.device-grid,.skeleton-cards{grid-template-columns:1fr}.device-card-metrics{grid-template-columns:1fr 1fr}.status-banner-content{flex-direction:column;gap:.5rem;align-items:flex-start}.status-banner-right{align-self:flex-end}}.weather-page{padding:1.5rem;max-width:1200px;margin:0 auto}.weather-page h1{font-size:1.5rem;margin-bottom:1.5rem}.weather-offline-banner{background:#2a1a00;border:1px solid #f59e0b;color:#fbbf24;padding:.75rem 1rem;border-radius:8px;margin-bottom:1.5rem;font-size:.9rem;display:flex;align-items:center;gap:.5rem}.weather-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.weather-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem;border-left:4px solid;transition:transform .2s,box-shadow .2s}.weather-card:hover{transform:translateY(-2px)}.weather-card--temperature{border-left-color:#f59e0b}.weather-card--temperature:hover{box-shadow:0 4px 12px #f59e0b33}.weather-card--humidity{border-left-color:#3b82f6}.weather-card--humidity:hover{box-shadow:0 4px 12px #3b82f633}.weather-card--pressure{border-left-color:#8b5cf6}.weather-card--pressure:hover{box-shadow:0 4px 12px #8b5cf633}.weather-card-value{font-family:var(--font-mono);font-size:2rem;font-weight:700;color:var(--color-text);line-height:1.2}.weather-card-unit{font-size:1rem;color:var(--color-text-muted);margin-left:.25rem}.weather-card-label{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:.5rem}.weather-card-timestamp{font-size:.7rem;color:var(--color-text-muted);margin-top:.25rem;opacity:.7}.weather-graphs{display:flex;flex-direction:column;gap:2rem}.weather-graph-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem}.weather-graph-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.weather-graph-title{font-size:.9rem;font-weight:600;color:var(--color-text)}.weather-graph-dates{display:flex;align-items:center;gap:.5rem}.weather-graph-dates label{font-size:.75rem;color:var(--color-text-muted)}.weather-graph-dates input[type=date]{background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text);padding:.25rem .5rem;font-size:.8rem;font-family:var(--font-sans)}.weather-graph-dates input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.8)}.weather-empty{text-align:center;padding:3rem 1rem;color:var(--color-text-muted)}.weather-empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.weather-loading{text-align:center;padding:3rem;color:var(--color-text-muted)}.weather-graph-section .recharts-cartesian-grid line{stroke:var(--color-border);opacity:.4}.weather-graph-section .recharts-text{fill:var(--color-text-muted);font-size:.7rem}.weather-tooltip{background:var(--color-surface)!important;border:1px solid var(--color-border)!important;border-radius:6px;padding:.5rem .75rem}.weather-tooltip-label{font-size:.7rem;color:var(--color-text-muted);margin-bottom:.25rem}.weather-tooltip-value{font-family:var(--font-mono);font-size:.9rem;font-weight:600;color:var(--color-text)}@media(max-width:768px){.weather-page{padding:1rem}.weather-cards{grid-template-columns:1fr;gap:1rem}.weather-card-value{font-size:1.5rem}.weather-graph-header{flex-direction:column;align-items:flex-start}.weather-graph-dates{flex-wrap:wrap}.weather-graph-dates input[type=date]{font-size:1rem}}.topicmem{color:var(--color-text)}.topicmem-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:12px}.topicmem-toolbar input{box-sizing:border-box;flex:1;min-width:0;border:1px solid var(--color-border);border-radius:3px;background:var(--color-bg);color:var(--color-text);padding:8px 9px;font:inherit;color-scheme:dark}.topicmem-toolbar input::placeholder{color:var(--color-text-muted);opacity:.85}.topicmem-toolbar input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 25%,transparent)}.topicmem-counts{flex:0 0 auto;color:var(--color-text-muted);font-size:12px;white-space:nowrap}.topicmem-activity{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:9px 11px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);font-size:11px}.topicmem-activity>span{display:flex;align-items:center;gap:8px}.topicmem-activity strong{color:var(--color-text)}.topicmem-activity b{color:var(--color-text);font-weight:600}.topicmem-activity.failed{border-color:color-mix(in srgb,var(--color-danger) 45%,var(--color-border))}.topicmem-error{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--color-danger) 45%,var(--color-border));background:color-mix(in srgb,var(--color-danger) 12%,var(--color-surface));color:#fca5a5;font-size:12px}.topicmem-list,.topicmem-orphans{border:1px solid var(--color-border);background:var(--color-bg)}.topicmem-orphans{margin-top:14px;padding-bottom:4px}.topicmem-orphans>h5{margin:0;padding:12px 14px;color:var(--color-warning);font-size:12px;border-bottom:1px solid var(--color-border)}.topicmem-item{border-bottom:1px solid var(--color-border)}.topicmem-item:last-child{border-bottom:0}.topicmem-trigger{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;border:0;padding:13px 14px;text-align:left;background:var(--color-surface);color:var(--color-text);cursor:pointer;font:inherit}.topicmem-trigger:hover{background:var(--color-surface-hover)}.topicmem-trigger:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.topicmem-item.expanded>.topicmem-trigger{background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));box-shadow:inset 3px 0 var(--color-primary)}.topicmem-trigger>span:first-child{min-width:0}.topicmem-trigger strong,.topicmem-trigger small{display:block}.topicmem-trigger small{margin-top:4px;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topicmem-meta,.topicmem-leaf-meta{display:flex;align-items:center;gap:10px;flex:0 0 auto}.topicmem-meta b,.topicmem-leaf-meta b{width:18px;color:var(--color-primary);font-size:18px;line-height:1;text-align:center}.topicmem-leafcount{color:var(--color-text-muted);font-size:11px;white-space:nowrap}.topicmem-status,.topicmem-type,.topicmem-validity,.topicmem-tags i{font-style:normal;font-size:9px;text-transform:uppercase;padding:3px 5px;color:var(--color-text-muted);background:var(--color-surface-hover)}.topicmem-status.active,.topicmem-status.current{color:var(--color-success);background:color-mix(in srgb,var(--color-success) 12%,var(--color-surface))}.topicmem-status.archived,.topicmem-status.superseded{color:var(--color-warning);background:color-mix(in srgb,var(--color-warning) 12%,var(--color-surface))}.topicmem-validity.durable{color:var(--color-success);background:color-mix(in srgb,var(--color-success) 12%,var(--color-surface))}.topicmem-validity.temporary{color:var(--color-warning);background:color-mix(in srgb,var(--color-warning) 12%,var(--color-surface))}.topicmem-body{padding:14px;border-top:1px solid var(--color-border);background:var(--color-bg)}.topicmem-summary{margin:0 0 10px;color:var(--color-text);line-height:1.5;overflow-wrap:anywhere}.topicmem-tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px}.topicmem-leaf-facts{display:flex;flex-wrap:wrap;gap:6px 14px;color:var(--color-text-muted);font-size:11px}.topicmem-leaf-facts code{color:#a5b4fc;overflow-wrap:anywhere}.topicmem-links{margin-top:12px}.topicmem-links h5,.topicmem-leaves h5{margin:0 0 8px;color:var(--color-text);font-size:12px}.topicmem-link{display:grid;gap:2px;padding:8px 0;border-top:1px solid var(--color-border)}.topicmem-relationship{color:var(--color-primary);text-transform:uppercase;font-weight:800;font-size:10px}.topicmem-link small{color:var(--color-text-muted);overflow-wrap:anywhere}.topicmem-leaves{margin-top:12px}.topicmem-empty-row{color:var(--color-text-muted);font-size:12px;padding:8px 0}.topicmem-leaf{border:1px solid var(--color-border);margin-bottom:6px;background:var(--color-surface)}.topicmem-orphans .topicmem-leaf{border-inline:0;margin:0 0 1px}.topicmem-leaf-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:0;padding:10px 12px;text-align:left;background:transparent;color:var(--color-text);cursor:pointer;font:inherit}.topicmem-leaf-trigger:hover{background:var(--color-surface-hover)}.topicmem-leaf-trigger:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.topicmem-leaf-trigger>span:first-child{min-width:0}.topicmem-leaf-trigger strong,.topicmem-leaf-trigger small{display:block}.topicmem-leaf-trigger strong{font-size:13px}.topicmem-leaf-trigger small{margin-top:3px;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topicmem-leaf.expanded{border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border))}.topicmem-leaf-body{padding:0 12px 12px}.topicmem-leaf-body p{margin:0 0 10px;color:var(--color-text);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.topicmem-edit{display:inline-flex;align-items:center;gap:5px;margin-bottom:10px}.topicmem-editor{display:grid;gap:10px;margin-bottom:12px}.topicmem-editor label{display:grid;gap:4px;color:var(--color-text-muted);font-size:12px}.topicmem-editor input,.topicmem-editor textarea,.topicmem-editor select{box-sizing:border-box;width:100%;min-width:0;border:1px solid var(--color-border);border-radius:3px;padding:7px 8px;background:var(--color-surface);color:var(--color-text);font:inherit}.topicmem-editor textarea{resize:vertical}.topicmem-editor input:focus,.topicmem-editor select:focus,.topicmem-editor textarea:focus{outline:2px solid var(--color-primary);outline-offset:1px}.topicmem-editor-links{display:grid;gap:7px}.topicmem-editor-links>strong{font-size:12px}.topicmem-editor-link{display:grid;grid-template-columns:minmax(110px,1fr) minmax(100px,1fr) minmax(150px,2fr) auto;gap:6px;align-items:center}.topicmem-editor-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.topicmem-editor-actions button{display:inline-flex;align-items:center;gap:5px}.topicmem-delete{margin-left:auto;color:var(--color-danger)}.topicmem-edit-error{margin:0;color:var(--color-danger);font-size:12px}@media(max-width:560px){.topicmem-toolbar{flex-wrap:wrap}.topicmem-toolbar input{flex-basis:100%}.topicmem-activity{align-items:flex-start}.topicmem-activity>span:last-child{flex-direction:column;align-items:flex-end}.topicmem-trigger,.topicmem-leaf-trigger{align-items:flex-start;padding-inline:10px}.topicmem-meta,.topicmem-leaf-meta{flex-direction:column;align-items:flex-end;gap:5px}.topicmem-body{padding:12px 10px}.topicmem-editor-link{grid-template-columns:minmax(0,1fr) auto}.topicmem-editor-link input{grid-column:1 / -1}}.irene-page .tab-bar{display:flex;gap:0;margin-bottom:1.5rem;border-bottom:2px solid var(--color-border)}.irene-page .tab{flex:0 0 auto;padding:.75rem 1.25rem;background:none;color:var(--color-text-muted);border:none;border-bottom:2px solid transparent;border-radius:0;margin-bottom:-2px;font-size:.875rem;font-weight:500;white-space:nowrap;cursor:pointer;transition:color .15s,border-color .15s}.irene-page .tab:hover{color:var(--color-text)}.irene-page .tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.irene-page .tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px;border-radius:4px 4px 0 0}.irene-page .prompt-actions{flex-wrap:wrap}.irene-page .prompt-actions .btn-primary{display:inline-flex;align-items:center;gap:.5rem;flex-shrink:0;white-space:nowrap}@media(max-width:640px){.irene-page .tab-bar{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap}.irene-page .tab-bar::-webkit-scrollbar{display:none}.irene-page .tab{flex-shrink:0;font-size:.8rem;padding:.625rem 1rem;min-height:44px}}.irene-live{margin:0 0 16px;border:1px solid color-mix(in srgb,var(--color-primary) 55%,var(--color-border));border-left:4px solid var(--color-primary);padding:14px 16px;background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface))}.irene-live-heading,.irene-live-heading>div,.irene-live-status,.irene-live-status>div{display:flex;align-items:center}.irene-live-heading,.irene-live-status{justify-content:space-between;gap:16px}.irene-live-heading>div,.irene-live-status>div{gap:10px}.irene-live-heading>span,.irene-live-status span{color:var(--color-text-muted);font-size:11px}.irene-live-dot{width:8px;height:8px;border-radius:50%;background:var(--color-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-primary) 18%,transparent);animation:irene-live-pulse 1.5s ease-in-out infinite}.irene-live-track{height:3px;margin:12px 0;overflow:hidden;background:var(--color-border)}.irene-live-track span{display:block;width:32%;height:100%;background:var(--color-primary);animation:irene-live-progress 1.8s ease-in-out infinite}.irene-live-task{margin:0 0 12px;color:var(--color-text);font-size:13px;line-height:1.45;overflow-wrap:anywhere}.irene-live-status strong{color:var(--color-text);font-size:12px}.irene-live-error{margin-bottom:12px;color:var(--color-warning);font-size:12px}@keyframes irene-live-progress{0%{transform:translate(-110%)}to{transform:translate(320%)}}@keyframes irene-live-pulse{50%{opacity:.45}}@media(prefers-reduced-motion:reduce){.irene-live-dot,.irene-live-track span{animation:none}}@media(max-width:560px){.irene-live-heading,.irene-live-status{align-items:flex-start;flex-direction:column;gap:8px}.irene-live-status>div{flex-wrap:wrap}}.house-map-page{padding:1.5rem;height:100%;display:flex;flex-direction:column;overflow:hidden}.house-map-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-shrink:0}.house-map-header h2{margin:0;color:var(--color-text)}.house-map-toolbar{display:flex;align-items:center;gap:.75rem}.map-edit-toggle{min-height:36px;padding:.4rem .85rem;border:1px solid var(--color-border);border-radius:6px;background:transparent;color:var(--color-text);font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap}.map-edit-toggle.locked:hover{border-color:var(--color-primary)}.map-edit-toggle.editing{border-color:#4abda5;background:#4abda524;color:#6ed8c1}.sync-status{font-size:.8rem;padding:.2rem .6rem;border-radius:999px;border:1px solid var(--color-border);color:var(--color-text-muted);white-space:nowrap}.sync-status.sync-saving{color:#d9a14a;border-color:#d9a14a55}.sync-status.sync-saved{color:#4abda5;border-color:#4abda555}.sync-status.sync-error{color:#d9534f;border-color:#d9534f55}.toolbar-toggle{display:flex;align-items:center;gap:.4rem;color:var(--color-text-muted);font-size:.85rem;cursor:pointer}.toolbar-toggle input{cursor:pointer}.toolbar-sep{width:1px;align-self:stretch;background:var(--color-border, #ffffff22);margin:0 .2rem}.layer-toggle{display:inline-flex;align-items:center;gap:.25rem;font-size:.78rem;padding:.2rem .5rem;border-radius:999px;border:1px solid transparent;cursor:pointer;white-space:nowrap;background:transparent;transition:opacity .12s,border-color .12s}.layer-toggle.on{color:var(--color-text, #e8e8e8);border-color:var(--color-border, #ffffff33);background:#ffffff10}.layer-toggle.off{color:var(--color-text-muted, #888);opacity:.55}.layer-toggle:hover{border-color:#fff4}.coverage-score{font-size:.8rem;font-weight:600;padding:.2rem .6rem;border-radius:999px;border:1px solid currentColor;white-space:nowrap}.map-toolbar{position:absolute;top:12px;left:12px;z-index:6}.map-add-btn{padding:.45rem .8rem;border:1px solid var(--color-border);border-radius:6px;background:#0f0f1aeb;color:var(--color-text);font-size:.85rem;font-weight:600;cursor:pointer;box-shadow:0 2px 8px #0006}.map-add-btn:hover{border-color:var(--color-primary)}.map-add-menu{margin-top:6px;display:flex;flex-direction:column;min-width:180px;background:#0f0f1af7;border:1px solid var(--color-border);border-radius:8px;box-shadow:0 6px 18px #0000008c;overflow:hidden;padding:4px}.map-add-menu button{padding:.5rem .7rem;text-align:left;border:none;border-radius:5px;background:transparent;color:var(--color-text);font-size:.85rem;cursor:pointer}.map-add-menu button:hover{background:#ffffff14}.map-add-sub-toggle{font-weight:600}.map-add-sub-item{padding-left:1.4rem!important;font-size:.8rem!important;color:var(--color-text-muted)!important}.map-add-sub-item:hover{color:var(--color-text)!important;background:#2ec7b826!important}.map-add-sep{height:1px;margin:4px 2px;background:var(--color-border)}.map-add-danger{color:#e74c3c!important}.map-add-danger:hover{background:#e74c3c1f!important}.map-toolbar-drawing{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;background:#0f0f1aeb;border:1px solid var(--color-border);border-radius:6px;box-shadow:0 2px 8px #0006}.map-toolbar-drawing .btn-secondary{padding:.3rem .6rem;font-size:.8rem}.map-drawing-hint{font-size:.78rem;color:var(--color-text-muted);white-space:nowrap}.house-map-content{display:flex;gap:1rem;flex:1;min-height:0}.house-map-canvas-container{flex:1;min-width:0;border-radius:8px;border:1px solid var(--color-border);background:#0d0d1a;overflow:hidden;position:relative}.toolbar-toggles{display:flex;align-items:center;gap:.75rem;margin-left:auto}.floor-plan-canvas{width:100%;height:100%;position:relative}.room-tooltip{position:absolute;z-index:5;pointer-events:none;display:flex;flex-direction:column;gap:1px;padding:4px 8px;border-radius:5px;background:#0f0f1af2;border:1px solid var(--color-border);box-shadow:0 2px 8px #0006;white-space:nowrap}.room-tooltip-name{font-size:.8rem;font-weight:600;color:#fff}.room-tooltip-area{font-size:.7rem;color:#ffffffa6}.house-map-sidebar{width:260px;flex-shrink:0;background:var(--color-surface);border-radius:8px;border:1px solid var(--color-border);padding:1rem;overflow-y:auto}.sidebar-placeholder p{color:var(--color-text-muted);font-size:.85rem;margin-bottom:1rem}.room-list h4{color:var(--color-text);margin:0 0 .5rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.room-list-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .6rem;border:none;background:transparent;color:var(--color-text);font-size:.85rem;border-radius:4px;cursor:pointer;text-align:left}.room-list-item:hover{background:#ffffff0d}.room-color-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.room-editor{display:flex;flex-direction:column;gap:1rem}.room-editor-header{display:flex;align-items:center;justify-content:space-between}.room-editor-header h3{margin:0;color:var(--color-text);font-size:.95rem}.btn-icon{border:none;background:transparent;color:var(--color-text-muted);font-size:1.1rem;cursor:pointer;padding:.25rem .5rem;border-radius:4px}.btn-icon:hover{background:#ffffff14;color:var(--color-text)}.room-editor-field label{display:block;color:var(--color-text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.3rem}.room-editor-field input[type=text]{width:100%;padding:.5rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg);color:var(--color-text);font-size:.9rem}.room-editor-field input[type=text]:focus{outline:none;border-color:var(--color-primary)}.color-row{display:flex;align-items:center;gap:.5rem}.color-row input[type=color]{width:32px;height:32px;border:1px solid var(--color-border);border-radius:4px;cursor:pointer;background:none;padding:2px}.color-value{color:var(--color-text-muted);font-size:.8rem;font-family:monospace}.door-type-group{display:flex;flex-direction:column;gap:.35rem}.door-type-btn{width:100%;padding:.45rem .6rem;text-align:left;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg);color:var(--color-text);font-size:.85rem;cursor:pointer;transition:border-color .15s,background .15s}.door-type-btn:hover{border-color:var(--color-primary)}.door-type-btn.active{border-color:var(--color-primary);background:#4a9bd926;color:var(--color-text)}.door-rotate-row{display:flex;gap:.5rem;margin-top:.6rem}.door-rotate-row .btn-secondary{flex:1}.container-editor{margin-bottom:1.2rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.container-editor h4{color:var(--color-text);margin:0 0 .3rem;font-size:.85rem}.editor-hint{color:var(--color-text-muted);font-size:.75rem;margin:0 0 .75rem;line-height:1.4}.container-dims,.room-editor-dimensions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.dim-field{display:flex;flex-direction:column;gap:.2rem}.dim-field label{color:var(--color-text-muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em}.dim-field input[type=number]{width:100%;padding:.4rem .5rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg);color:var(--color-text);font-size:.9rem;font-family:monospace}.dim-field input[type=number]:focus{outline:none;border-color:var(--color-primary)}.dim-readonly{justify-content:center}.dim-value{color:var(--color-text);font-size:.9rem;font-weight:500;font-family:monospace;padding:.4rem 0}.room-editor-stats{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.stat{background:#ffffff08;border-radius:4px;padding:.5rem}.stat-label{display:block;color:var(--color-text-muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em}.stat-value{color:var(--color-text);font-size:.9rem;font-weight:500}.room-editor-vertices h4{color:var(--color-text);margin:0 0 .4rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.vertex-list{display:flex;flex-direction:column;gap:.2rem}.vertex-row{display:flex;align-items:center;gap:.5rem;padding:.25rem .4rem;border-radius:3px;font-size:.8rem}.vertex-index{color:var(--color-text-muted);width:1.2rem}.vertex-coord{color:var(--color-text);font-family:monospace;font-size:.8rem}.room-editor-actions{margin-top:.5rem;padding-top:.75rem;border-top:1px solid var(--color-border)}.btn-danger{background-color:transparent!important;color:#e74c3c!important;border-color:#e74c3c!important}.btn-danger:hover{background:#e74c3c1a!important}.node-menu-wrap{position:relative}.readonly-field{padding:.45rem .5rem;border:1px solid var(--color-border);border-radius:4px;background:#ffffff08;color:var(--color-text-muted);font-size:.85rem}.node-section{border-top:1px solid var(--color-border);padding-top:.75rem;display:flex;flex-direction:column;gap:.6rem}.node-section-head{display:flex;align-items:center;justify-content:space-between;color:var(--color-text);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.btn-mini{padding:.25rem .55rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg);color:var(--color-text);font-size:.75rem;cursor:pointer}.btn-mini:hover:not(:disabled){border-color:var(--color-primary)}.btn-mini:disabled{opacity:.4;cursor:not-allowed}.btn-danger{border-color:#ff6e6e80;color:#ff8e8e}.btn-danger:hover:not(:disabled){border-color:#ff6e6e;background:#ff6e6e1a}.hw-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:#6a6a6a}.hw-dot.on{background:#2ec77a;box-shadow:0 0 5px #2ec77ab3}.hw-dot.off{background:#6a6a6a}.hw-linked{display:flex;align-items:center;gap:.5rem;font-size:.8rem}.hw-mac{font-family:var(--font-mono, monospace);font-size:.75rem;color:var(--color-text)}.hw-alias{color:var(--color-text-muted, #9aa);flex:1}.hw-missing{color:#ffb454;font-size:.7rem}.hw-select{width:100%;padding:.4rem .5rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg);color:var(--color-text);font-size:.8rem}.unlinked-nodes{border:1px solid rgba(255,180,84,.35);border-radius:6px;padding:.6rem;margin-bottom:1rem;background:#ffb4540d;display:flex;flex-direction:column;gap:.4rem}.unlinked-nodes-head{display:flex;align-items:center;justify-content:space-between}.unlinked-nodes-head h4{margin:0;font-size:.8rem}.unlinked-node-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.4rem .5rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg);color:var(--color-text);font-size:.8rem;cursor:pointer;text-align:left}.unlinked-node-item:hover{border-color:#ffb454}.unlinked-node-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unlinked-node-mac{font-family:var(--font-mono, monospace);font-size:.7rem;color:var(--color-text-muted, #9aa)}.unlinked-node-add{color:#ffb454;font-size:.7rem;flex-shrink:0}.sensor-card{border:1px solid var(--color-border);border-radius:6px;padding:.6rem;display:flex;flex-direction:column;gap:.5rem;background:#2ec7b80a}.sensor-card-head{display:flex;align-items:center;justify-content:space-between;color:var(--color-text);font-size:.8rem;font-weight:600}.sensor-card .dim-field input[type=number]{font-size:.8rem}.suggest-btn{width:100%}.bulb-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.4rem .5rem;border:1px solid var(--color-border);border-radius:4px;background:#f5d0000d}.bulb-info{display:flex;flex-direction:column;min-width:0}.bulb-name{color:var(--color-text);font-size:.82rem}.bulb-mac{color:var(--color-text-muted);font-size:.7rem;font-family:monospace}.add-bulb-row,.add-bulb-manual{display:flex;gap:.4rem;align-items:center}.add-bulb-manual{flex-wrap:wrap}.add-bulb-row select,.add-bulb-manual input[type=text]{flex:1;min-width:0;padding:.4rem .5rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg);color:var(--color-text);font-size:.8rem}.list-sub{display:block;color:var(--color-text-muted);font-size:.7rem;margin-left:auto;text-align:right}.wiz-import{border:1px solid var(--color-border);border-radius:6px;padding:.5rem;display:flex;flex-direction:column;gap:.4rem;background:#4abda50d}.wiz-import-head{display:flex;align-items:center;justify-content:space-between;color:var(--color-text-muted);font-size:.75rem}.form-error{color:#e74c3c;font-size:.78rem;margin:0}.dim-row{display:flex;gap:.5rem}.dim-row .dim-field{flex:1}.dwell-status{font-size:.8rem;padding:.4rem .5rem;border-radius:4px}.dwell-ok{color:#2ecc71;background:#2ecc7114}.dwell-bad{color:#e0884a;background:#e0884a14}.path-toggle{margin:.25rem 0}.lead-in-row{display:flex;align-items:center;justify-content:space-between;font-size:.8rem}.lead-in-dir{color:var(--color-text-muted)}.lead-in-val{color:#2ecc71}.lead-in-val.lead-in-warn{color:#f0a030}.legend-swatch{display:inline-block;width:10px;height:10px;border-radius:2px;vertical-align:middle;margin-right:3px}@media(max-width:768px){.house-map-page{padding:.75rem}.house-map-header{align-items:flex-start;gap:.75rem}.house-map-toolbar{flex-wrap:wrap;justify-content:flex-end}.map-edit-toggle{min-height:44px}.house-map-content{flex-direction:column}.house-map-sidebar{width:100%;max-height:200px}.house-map-canvas-container{min-height:400px}}.ota-page{max-width:1280px;margin:0 auto}.ota-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.ota-header h2{font-size:1.5rem}.ota-header span{color:var(--color-text-muted);font-size:.8rem;text-transform:uppercase}.ota-page .tab-bar{position:sticky;top:0;z-index:20;display:flex;overflow-x:auto;border-bottom:2px solid var(--color-border);background:var(--color-bg);margin-bottom:1rem}.ota-page .tab{flex:0 0 auto;min-height:44px;padding:.7rem 1rem;background:transparent;color:var(--color-text-muted);border:0;border-bottom:2px solid transparent;border-radius:0;margin-bottom:-2px}.ota-page .tab:hover{color:var(--color-text)}.ota-page .tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.ota-message{padding:.65rem .8rem;margin-bottom:1rem;border:1px solid var(--color-border);border-radius:var(--radius);font-size:.85rem}.ota-message.error{color:var(--color-danger);border-color:var(--color-danger)}.ota-message.success{color:var(--color-success);border-color:var(--color-success)}.ota-health{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid var(--color-border);border-left:4px solid var(--color-success);background:var(--color-surface);margin-bottom:.75rem}.ota-health.attention{border-left-color:var(--color-danger)}.ota-health>div{display:flex;flex-direction:column}.ota-health strong{font-size:1rem}.ota-section-label,.ota-health-rate{color:var(--color-text-muted);font-size:.75rem}.ota-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--color-border);background:var(--color-surface)}.ota-stat-grid section{min-width:0;padding:1rem;border-right:1px solid var(--color-border)}.ota-stat-grid section:last-child{border-right:0}.ota-stat-grid span,.ota-stat-grid small{display:block;color:var(--color-text-muted);font-size:.75rem}.ota-stat-grid strong{display:block;font-size:1.6rem;line-height:1.3}.ota-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius)}.ota-table{width:100%;min-width:1080px;border-collapse:collapse;background:var(--color-surface);font-size:.8rem}.ota-table th{padding:.65rem .75rem;text-align:left;color:var(--color-text-muted);font-size:.7rem;text-transform:uppercase;border-bottom:1px solid var(--color-border)}.ota-table td{padding:.75rem;vertical-align:top;border-bottom:1px solid var(--color-border)}.ota-table tr:last-child td{border-bottom:0}.ota-table td>span,.ota-table td>code{display:block;max-width:250px;overflow-wrap:anywhere;color:var(--color-text-muted)}.ota-table td>strong{display:block}.ota-device-status{min-width:220px}.ota-device-status dl{display:grid;gap:.3rem;margin:0 0 .5rem}.ota-device-status dl>div{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:.4rem}.ota-device-status dt{color:var(--color-text-muted);font-size:.68rem}.ota-device-status dd{margin:0}.ota-table code,.ota-release code{font-family:var(--font-mono);font-size:.72rem}.ota-actions{min-width:160px}.ota-actions button{margin:0 .35rem .35rem 0}.ota-action-state{margin-top:.35rem;font-size:.7rem}.ota-action-state.accepted{color:var(--color-success)}.ota-action-state.error{color:var(--color-danger)}.ota-action-state.pending{color:var(--color-warning)}.ota-badge{display:inline-block;width:fit-content;padding:.12rem .4rem;border:1px solid var(--color-border);border-radius:4px;color:var(--color-text-muted);font-size:.68rem;text-transform:uppercase}.ota-badge-healthy,.ota-badge-current,.ota-badge-validated,.ota-badge-configured,.ota-badge-stable,.ota-badge-verified{color:var(--color-success);border-color:var(--color-success)}.ota-badge-failed,.ota-badge-offline,.ota-badge-incompatible,.ota-badge-incomplete,.ota-badge-rolled-back,.ota-badge-revoked{color:var(--color-danger);border-color:var(--color-danger)}.ota-badge-degraded,.ota-badge-stale,.ota-badge-update-available,.ota-badge-unmapped,.ota-badge-in-progress,.ota-badge-canary,.ota-badge-boot-pending,.ota-badge-download-started{color:var(--color-warning);border-color:var(--color-warning)}.ota-badge-online{color:var(--color-primary);border-color:var(--color-primary)}.ota-release-list{display:flex;flex-direction:column;gap:.5rem}.ota-release{padding:1rem;background:var(--color-surface)}.ota-release-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.ota-release-heading h3{font-size:1rem}.ota-release-heading code{display:block;color:var(--color-text-muted);overflow-wrap:anywhere}.ota-release-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem 1rem}.ota-release-details dt{color:var(--color-text-muted);font-size:.7rem;text-transform:uppercase}.ota-release-details dd{margin:0;font-size:.82rem;overflow-wrap:anywhere}.ota-release-actions{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.ota-release-actions select{min-width:220px}.ota-confirm{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--color-danger);color:var(--color-danger);font-size:.8rem}.ota-confirm span{margin-right:auto}.ota-filters{display:grid;grid-template-columns:1fr 1fr 180px auto;align-items:end;gap:.75rem;margin-bottom:1rem}.ota-filters label{color:var(--color-text-muted);font-size:.75rem}.ota-filters input,.ota-filters select{display:block;width:100%;margin-top:.25rem}.ota-log-table{min-width:900px}@media(max-width:768px){.ota-page .tab-bar{top:0}.ota-health{align-items:flex-start;flex-direction:column}.ota-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ota-stat-grid section:nth-child(2){border-right:0}.ota-stat-grid section:nth-child(-n+2){border-bottom:1px solid var(--color-border)}.ota-release-details{grid-template-columns:1fr}.ota-release-actions{align-items:stretch;flex-direction:column}.ota-release-actions select{min-width:0;width:100%}.ota-filters{grid-template-columns:1fr}}.usporadatel-page{max-width:1180px;margin:0 auto;padding:1.25rem;font-size:.85rem}.uspo-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.uspo-header h1{font-size:1.6rem;line-height:1.2}.uspo-eyebrow{color:var(--color-text-muted);font-size:.72rem;font-weight:700;text-transform:uppercase}.uspo-shadow-notice{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;margin-bottom:1rem;border:1px solid var(--color-warning);border-radius:var(--radius);background:color-mix(in srgb,var(--color-warning) 8%,var(--color-surface))}.uspo-badge{display:inline-flex;align-items:center;width:fit-content;padding:.1rem .45rem;border:1px solid var(--color-border);border-radius:4px;color:var(--color-text-muted);font-size:.7rem;font-weight:700;text-transform:uppercase;white-space:nowrap}.uspo-badge.shadow{color:var(--color-warning);border-color:var(--color-warning)}.uspo-badge.unread{color:var(--color-primary);border-color:var(--color-primary)}.uspo-badge.critical{color:var(--color-danger);border-color:var(--color-danger)}.uspo-tabs{position:sticky;top:0;z-index:5;display:flex;background:var(--color-bg);border-bottom:1px solid var(--color-border);margin-bottom:1rem;overflow-x:auto}.uspo-tabs .tab{border-radius:0;border-bottom:2px solid transparent;background:transparent;color:var(--color-text-muted);white-space:nowrap}.uspo-tabs .tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.uspo-topic-filters{display:flex;gap:.35rem;margin-bottom:.75rem;overflow-x:auto}.uspo-topic-filters button{display:inline-flex;align-items:center;gap:.4rem;min-height:34px;padding:.4rem .65rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface);color:var(--color-text-muted);font-size:.75rem;white-space:nowrap}.uspo-topic-filters button:hover{border-color:var(--color-primary);color:var(--color-text)}.uspo-topic-filters button.active{border-color:var(--color-primary);background:var(--color-surface-hover);color:var(--color-primary)}.uspo-topic-filters button span{min-width:1.25rem;padding:.05rem .3rem;border-radius:3px;background:var(--color-bg);color:inherit;font-size:.68rem;text-align:center}.uspo-split{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.4fr);gap:1rem;align-items:start}.uspo-list,.uspo-ops-list{display:grid;gap:.5rem}.uspo-topic-card,.uspo-run{width:100%;min-width:0;padding:1rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);text-align:left}.uspo-topic-card:hover,.uspo-topic-card.selected,.uspo-run:hover,.uspo-run.selected{border-color:var(--color-primary);background:var(--color-surface-hover)}.uspo-topic-card.unread{border-left:3px solid var(--color-primary)}.uspo-topic-card.critical{border-left-color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 7%,var(--color-surface))}.uspo-topic-card.overdue{border-color:var(--color-danger);border-left:3px solid var(--color-danger);background:color-mix(in srgb,var(--color-danger) 12%,var(--color-surface))}.uspo-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.uspo-card-heading strong{overflow-wrap:anywhere}.uspo-topic-card p,.uspo-job p{margin:.5rem 0;color:var(--color-text-muted);line-height:1.45}.uspo-badges{display:flex;flex-wrap:wrap;gap:.35rem;margin:.65rem 0}.uspo-card-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.35rem .75rem;color:var(--color-text-muted);font-size:.72rem}.uspo-detail{min-width:0;padding:1rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.uspo-detail-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.uspo-detail h2{font-size:1.15rem;overflow-wrap:anywhere}.uspo-summary{margin:.75rem 0 1rem;color:var(--color-text-muted);white-space:pre-wrap}.uspo-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.uspo-facts div{min-width:0;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.uspo-facts dt{color:var(--color-text-muted);font-size:.72rem}.uspo-facts dd{overflow-wrap:anywhere}.uspo-history{margin-top:1.25rem}.uspo-history h3{margin-bottom:.5rem;font-size:.9rem}.uspo-revision{padding:.75rem 0;border-top:1px solid var(--color-border)}.uspo-revision>div{display:flex;justify-content:space-between;gap:.75rem}.uspo-revision p{margin:.25rem 0;color:var(--color-text)}.uspo-revision span{color:var(--color-text-muted);font-size:.72rem;overflow-wrap:anywhere}.uspo-empty{padding:2rem 1rem;color:var(--color-text-muted);text-align:center;border:1px dashed var(--color-border);border-radius:var(--radius)}.uspo-empty.compact{padding:1rem}.uspo-error,.uspo-error-detail{padding:.75rem;margin-bottom:1rem;border:1px solid var(--color-danger);border-radius:var(--radius);color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 8%,var(--color-surface));overflow-wrap:anywhere}.uspo-job{background:var(--color-surface)}.uspo-error-detail{margin:.5rem 0;font-family:var(--font-mono);font-size:.72rem}.uspo-prompt{display:flex;flex-direction:column;gap:.75rem;min-width:0}.uspo-prompt-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.uspo-prompt-intro h2{font-size:1.15rem}.uspo-prompt-intro p{color:var(--color-text-muted)}.uspo-prompt-version,.uspo-version-active{flex:0 0 auto;padding:.12rem .45rem;border-radius:4px;background:var(--color-primary);color:var(--color-text);font-size:.7rem;font-weight:700;text-transform:uppercase}.uspo-operational-note{padding:.75rem 1rem;border-left:3px solid var(--color-warning);background:color-mix(in srgb,var(--color-warning) 8%,var(--color-surface));color:var(--color-text-muted);overflow-wrap:anywhere}.uspo-prompt-counts{display:flex;align-items:center;gap:.4rem;padding:.4rem .75rem;border:1px solid var(--color-border);border-bottom:0;border-radius:var(--radius) var(--radius) 0 0;background:var(--color-surface);color:var(--color-text-muted);font-family:var(--font-mono);font-size:.8rem}.uspo-prompt-editor{display:block;width:100%;min-height:500px;margin-top:-.75rem;padding:.75rem;resize:vertical;border:1px solid var(--color-border);border-radius:0 0 var(--radius) var(--radius);background:var(--color-surface);color:var(--color-text);font-family:var(--font-mono);font-size:.8rem;line-height:1.5}.uspo-prompt-editor:focus{outline:none;border-color:var(--color-primary)}.uspo-prompt-editor:disabled{opacity:.7;cursor:wait}.uspo-prompt-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1rem}.uspo-prompt-actions button{max-width:100%;white-space:normal}.uspo-save-confirm{color:var(--color-success);font-weight:600}.uspo-prompt-updated{color:var(--color-text-muted);font-size:.8rem;overflow-wrap:anywhere}.uspo-prompt-history{margin-top:.75rem;padding-top:1rem;border-top:1px solid var(--color-border)}.uspo-prompt-history h3{margin-bottom:.75rem;font-size:1rem}.uspo-version-list{display:grid;gap:.5rem}.uspo-version{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem 1rem;align-items:center;min-width:0;padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.uspo-version.active{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 5%,var(--color-surface))}.uspo-version-info{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem .5rem;min-width:0;color:var(--color-text-muted);font-size:.75rem}.uspo-version-number{color:var(--color-text);font-family:var(--font-mono);font-size:.85rem;font-weight:700}.uspo-version-preview{grid-column:1 / -1;min-width:0;overflow:hidden;color:var(--color-text-muted);font-family:var(--font-mono);font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.uspo-restore-button{padding:.35rem .75rem;border:1px solid var(--color-primary);background:var(--color-surface);color:var(--color-primary);font-size:.8rem;white-space:nowrap}.uspo-restore-button:hover{background:var(--color-primary);color:var(--color-text)}.uspo-restore-button:disabled{opacity:.5;cursor:not-allowed}.uspo-restore-confirm{grid-column:1 / -1;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.5rem;padding-top:.5rem;border-top:1px solid var(--color-border);color:var(--color-text)}.uspo-restore-confirm span{margin-right:auto;overflow-wrap:anywhere}@media(max-width:768px){.usporadatel-page{padding:.75rem}.uspo-shadow-notice{align-items:flex-start;flex-direction:column}.uspo-split,.uspo-facts{grid-template-columns:1fr}.uspo-detail{order:-1}.uspo-topic-card,.uspo-run{font-size:1rem}.uspo-prompt-editor{min-height:420px;font-size:1rem}.uspo-version{grid-template-columns:minmax(0,1fr);padding:.75rem}.uspo-restore-button{width:100%;min-height:40px}.uspo-restore-confirm{justify-content:stretch}.uspo-restore-confirm span{flex-basis:100%}.uspo-restore-confirm button{flex:1 1 auto;min-height:40px}}.auth-page{position:relative;height:100%;width:100%;overflow:hidden;background-color:#0a0e14}.auth-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-image:url(/icons/anna-login-desktop.jpg);background-size:cover;background-repeat:no-repeat;background-position:center;background-color:#03060a}@media(max-aspect-ratio:1/1){.auth-bg{background-image:url(/icons/anna-login-mobile.jpg)}}.auth-bottom{position:absolute;left:0;right:0;bottom:8vh;display:flex;justify-content:center;z-index:1}.auth-btn{width:44px;height:44px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:#0a0e14d9;border:1px solid rgba(0,180,255,.6);color:#fff;border-radius:50%;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 0 24px #0096ff66;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.auth-btn:hover{transform:translateY(-1px);box-shadow:0 0 32px #00b4ffb3}.google-icon{flex-shrink:0}.anna-widget-fab{position:fixed;bottom:1.5rem;right:1.5rem;width:56px;height:56px;border-radius:50%;background:var(--color-accent, #6366f1);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 24px #00000059,0 0 #6366f18c,0 0 18px 2px #818cf88c;z-index:9999;transition:transform .15s ease,box-shadow .15s ease;animation:anna-widget-glow 2.4s ease-in-out infinite}.anna-widget-fab:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%;background:radial-gradient(circle,#818cf873,#6366f100 70%);pointer-events:none;animation:anna-widget-pulse-ring 2.4s ease-in-out infinite}.anna-widget-fab:hover{transform:translateY(-2px);animation-play-state:paused;box-shadow:0 12px 32px #00000080,0 0 24px 6px #818cf8bf}@keyframes anna-widget-glow{0%,to{box-shadow:0 6px 24px #00000059,0 0 14px 2px #818cf873,0 0 #6366f166}50%{box-shadow:0 6px 24px #00000059,0 0 28px 6px #818cf8d9,0 0 0 8px #6366f100}}@keyframes anna-widget-pulse-ring{0%{transform:scale(.95);opacity:.7}70%{transform:scale(1.35);opacity:0}to{transform:scale(1.35);opacity:0}}.anna-widget-panel{position:fixed;bottom:1.5rem;right:1.5rem;width:420px;height:600px;display:flex;background:var(--color-surface, #18181b);border:1px solid var(--color-border, #3f3f46);border-radius:12px;box-shadow:0 20px 60px #0000008c;overflow:hidden;z-index:9999;color:var(--color-text, #e4e4e7);font-family:Inter,system-ui,-apple-system,sans-serif;animation:anna-widget-fade-in .2s ease-out}.anna-widget-panel.fullscreen{top:1rem;left:1rem;width:auto;height:auto;bottom:1rem;right:1rem}@keyframes anna-widget-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.anna-widget-history{width:0;background:var(--color-surface-raised, #1f1f23);border-right:1px solid var(--color-border, #3f3f46);overflow:hidden;display:flex;flex-direction:column;transition:width .2s ease}.anna-widget-history.open{width:220px}.anna-widget-history-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--color-border, #3f3f46);font-size:.85rem;font-weight:600;color:var(--color-text-muted, #a1a1aa)}.anna-widget-history-list{flex:1;overflow-y:auto;padding:.5rem}.anna-widget-history-empty{text-align:center;color:var(--color-text-muted, #71717a);font-size:.8rem;padding:1rem}.anna-widget-history-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:6px;cursor:pointer;font-size:.8rem;color:var(--color-text, #e4e4e7);transition:background .1s ease}.anna-widget-history-item:hover{background:#ffffff0d}.anna-widget-history-item.active{background:#6366f12e}.anna-widget-history-meta{flex:1;min-width:0}.anna-widget-history-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.anna-widget-history-time{font-size:.7rem;color:var(--color-text-muted, #71717a);margin-top:.1rem}.anna-widget-main{flex:1;display:flex;flex-direction:column;min-width:0}.anna-widget-header{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;border-bottom:1px solid var(--color-border, #3f3f46);background:var(--color-surface-raised, #1f1f23)}.anna-widget-title{flex:1;font-size:.9rem;font-weight:600;margin-left:.25rem}.anna-widget-status{width:8px;height:8px;border-radius:50%;background:#71717a}.anna-widget-status.connected{background:#22c55e}.anna-widget-status.error{background:#ef4444}.anna-widget-iconbtn{background:transparent;border:none;color:var(--color-text-muted, #a1a1aa);width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;cursor:pointer;font-size:.75rem;padding:0 .4rem}.anna-widget-iconbtn:hover{background:#ffffff0f;color:var(--color-text, #fafafa)}.anna-widget-iconbtn.danger{width:auto;background:#ef4444;color:#fff;font-weight:600}.anna-widget-provider{font-size:.7rem;font-weight:600;padding:.2rem .55rem;border-radius:999px;border:1px solid transparent;cursor:pointer;background:#ffffff0d}.anna-widget-provider.openai{color:#f7b500;border-color:#f7b50059}.anna-widget-provider.gemma{color:#58a6ff;border-color:#58a6ff59}.anna-widget-think{font-size:.7rem;padding:.2rem .4rem;border-radius:999px;border:1px solid transparent;cursor:pointer;background:#ffffff0d;color:var(--color-text-muted, #888);opacity:.5;transition:all .18s}.anna-widget-think.active{color:#a78bfa;border-color:#a78bfa59;opacity:1}.anna-widget-messages{flex:1;overflow-y:auto;padding:.75rem;display:flex;flex-direction:column;gap:.5rem}.anna-widget-msg{display:flex;gap:.5rem;align-items:flex-start}.anna-widget-msg.user{flex-direction:row-reverse}.anna-widget-avatar{width:28px;height:28px;border-radius:50%;background:var(--color-surface-raised, #2a2a2f);color:var(--color-text-muted, #a1a1aa);display:flex;align-items:center;justify-content:center;flex-shrink:0}.anna-widget-msg.user .anna-widget-avatar{background:var(--color-accent, #6366f1);color:#fff}.anna-widget-bubble{max-width:85%;padding:.55rem .75rem;border-radius:12px;background:var(--color-surface-raised, #27272a);font-size:.85rem;line-height:1.45;word-wrap:break-word}.anna-widget-msg.assistant .anna-widget-bubble{border-top-left-radius:4px}.anna-widget-msg.user .anna-widget-bubble{background:var(--color-accent, #6366f1);color:#fff;border-top-right-radius:4px}.anna-widget-msg.system .anna-widget-bubble{background:#ef444426;color:#fca5a5;font-size:.78rem}.anna-widget-text{white-space:pre-wrap}.anna-widget-md{font-size:.85rem}.anna-widget-md p{margin:.25em 0}.anna-widget-md p:first-child{margin-top:0}.anna-widget-md p:last-child{margin-bottom:0}.anna-widget-md h1,.anna-widget-md h2,.anna-widget-md h3{margin:.6em 0 .3em;font-weight:600}.anna-widget-md ul,.anna-widget-md ol{margin:.3em 0;padding-left:1.25em}.anna-widget-md li{margin:.1em 0}.anna-widget-md pre{background:#09090b;border-radius:6px;padding:.55rem .75rem;overflow-x:auto;font-size:.78rem}.anna-widget-md code:not(pre code){background:#6366f12e;padding:.05em .35em;border-radius:4px;font-size:.85em}.anna-widget-md a{color:#818cf8;text-decoration:underline}.anna-widget-md img{display:block;max-width:360px;max-height:360px;width:auto;height:auto;margin:.4em 0;border-radius:8px;cursor:zoom-in;object-fit:cover}.anna-widget-artifacts{display:flex;flex-direction:column;gap:.35rem;margin-top:.5rem}.anna-widget-artifact{display:flex;align-items:center;gap:.55rem;padding:.45rem .6rem;border:1px solid rgba(129,140,248,.35);border-radius:8px;background:#6366f11f;color:inherit;text-decoration:none;transition:background .15s,border-color .15s,transform .05s;max-width:100%;min-width:0}.anna-widget-artifact:hover{background:#6366f138;border-color:#818cf8}.anna-widget-artifact:active{transform:translateY(1px)}.anna-widget-artifact-icon{flex-shrink:0;color:#a5b4fc}.anna-widget-artifact-meta{display:flex;flex-direction:column;flex:1 1 auto;min-width:0}.anna-widget-artifact-title{font-size:.82rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.anna-widget-artifact-sub{font-size:.7rem;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.anna-widget-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--color-text-muted, #a1a1aa);padding:2rem 1rem;gap:.75rem}.anna-widget-empty h3{margin:0;font-size:1rem;color:var(--color-text, #fafafa)}.anna-widget-suggestions{display:flex;flex-direction:column;gap:.4rem;width:100%;max-width:280px;margin-top:.5rem}.anna-widget-suggestion{background:var(--color-surface-raised, #27272a);border:1px solid var(--color-border, #3f3f46);color:var(--color-text, #e4e4e7);padding:.5rem .75rem;border-radius:8px;cursor:pointer;font-size:.8rem;text-align:left;transition:border-color .1s ease}.anna-widget-suggestion:hover{border-color:var(--color-accent, #6366f1)}.anna-widget-dots{display:inline-flex;align-items:center;margin-left:4px}.anna-widget-dots span{display:inline-block;width:6px;height:6px;margin:0 2px;background:#818cf8;border-radius:50%;animation:anna-widget-pulse 1.4s infinite ease-in-out both}.anna-widget-dots span:nth-child(1){animation-delay:-.32s}.anna-widget-dots span:nth-child(2){animation-delay:-.16s}@keyframes anna-widget-pulse{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.anna-widget-input{display:flex;flex-direction:column;gap:.5rem;padding:.6rem .75rem;border-top:1px solid var(--color-border, #3f3f46);background:var(--color-surface-raised, #1f1f23)}.anna-widget-attachment-strip{display:flex;flex-wrap:wrap;gap:.35rem;max-height:72px;overflow-y:auto}.anna-widget-input-row{display:flex;gap:.5rem;align-items:flex-end}.anna-widget-input textarea{flex:1;resize:none;background:var(--color-surface, #18181b);border:1px solid var(--color-border, #3f3f46);color:var(--color-text, #e4e4e7);border-radius:8px;padding:.5rem .6rem;font-size:.85rem;font-family:inherit;line-height:1.4;max-height:160px;outline:none}.anna-widget-input textarea:focus{border-color:var(--color-accent, #6366f1)}.anna-widget-input textarea:disabled{opacity:.6;cursor:not-allowed}.anna-widget-toolbtn{background:transparent;color:var(--color-text-muted, #a1a1aa);border:1px solid var(--color-border, #3f3f46);border-radius:8px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.anna-widget-toolbtn:hover:not(:disabled){border-color:var(--color-accent, #6366f1);color:var(--color-text, #e4e4e7)}.anna-widget-toolbtn:disabled{opacity:.4;cursor:not-allowed}.anna-widget-send{background:var(--color-accent, #6366f1);color:#fff;border:none;border-radius:8px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.anna-widget-send:disabled{opacity:.4;cursor:not-allowed}.anna-widget-stop{background:#ef4444}.anna-widget-stop:hover{background:#dc2626}@media(max-width:640px){.anna-widget-panel{width:calc(100vw - 1rem);height:calc(100dvh - 1rem);bottom:.5rem;right:.5rem;top:.5rem;max-height:calc(100dvh - 1rem)}.anna-widget-history.open{width:180px}}.notification-bell{position:relative;flex-shrink:0}.notification-bell-button{position:relative;display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--color-text-muted);cursor:pointer}.notification-bell-button:hover,.notification-bell-button[aria-expanded=true]{background:var(--color-surface-hover);color:var(--color-text)}.notification-count{position:absolute;top:0;right:-2px;min-width:15px;height:15px;padding:0 3px;display:grid;place-items:center;border-radius:8px;background:#dc3545;color:#fff;font-size:9px;font-weight:700;line-height:1}.notification-popover{position:absolute;top:calc(100% + 12px);right:0;width:350px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 80px);overflow-y:auto;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);box-shadow:0 12px 32px #00000059;z-index:1100}.notification-popover-heading{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--color-border);font-size:13px}.notification-refresh{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;background:transparent;color:var(--color-text-muted);cursor:pointer}.notification-item{display:flex;gap:10px;padding:12px 14px;text-decoration:none;color:var(--color-text);border-bottom:1px solid var(--color-border)}.notification-item:hover{background:var(--color-surface-hover)}.notification-item>span:last-child{min-width:0}.notification-item strong{display:block;font-size:13px;font-weight:500;overflow-wrap:anywhere}.notification-summary{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:4px;font-size:12px;line-height:1.5;color:var(--color-text-muted);overflow-wrap:anywhere}.notification-dot{width:6px;height:6px;border-radius:50%;background:var(--color-primary);margin-top:6px;flex-shrink:0}.notification-dot.critical{background:#dc3545}.notification-status{padding:20px 14px;margin:0;color:var(--color-text-muted);font-size:13px}.notification-pagination{display:flex;justify-content:flex-end;gap:12px;padding:8px 14px;border-bottom:1px solid var(--color-border)}.notification-pagination button{display:flex;align-items:center;gap:4px;padding:4px 0;border:0;background:transparent;color:var(--color-primary);font-size:12px;cursor:pointer}.notification-footer{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;color:var(--color-primary);font-size:12px;text-decoration:none}.notification-footer:hover{background:var(--color-surface-hover)}.notification-bell :focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}@media(max-width:600px){.notification-popover{position:fixed;top:60px;left:12px;right:12px;width:auto}}.layout{display:flex;flex-direction:column;height:100%}.layout-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:1rem;color:var(--color-text-muted)}.loading-spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.topbar{display:flex;align-items:center;gap:.5rem;background-color:var(--color-surface);border-bottom:1px solid var(--color-border);padding:0 1rem;height:52px;flex-shrink:0;z-index:1200}.hamburger-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border-radius:10px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;flex-shrink:0;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease}.hamburger-btn:hover{background:var(--color-surface-hover);transform:translateY(-1px);box-shadow:0 4px 12px #0096ff40}.hamburger-icon{width:100%;height:100%;object-fit:contain;display:block}.topbar-brand{display:flex;align-items:center;margin-right:.75rem}.brand-wordmark{height:40px;width:auto;display:block;mix-blend-mode:screen;filter:drop-shadow(0 0 6px rgba(0,180,255,.6))}.logo{font-size:1.15rem;font-weight:700;color:var(--color-primary);white-space:nowrap}.logo-subtitle{font-size:.7rem;color:var(--color-text-muted);white-space:nowrap}.nav-links{list-style:none;display:flex;align-items:center;gap:.125rem;flex:1;padding:0;margin:0}.nav-links li a{display:flex;align-items:center;gap:.4rem;padding:.5rem .75rem;color:var(--color-text-muted);font-size:.825rem;font-weight:500;border-radius:6px;white-space:nowrap;transition:all .15s ease;text-decoration:none}.nav-icon{width:18px;height:18px;object-fit:contain;flex-shrink:0}.nav-links li a:hover{color:var(--color-text);background-color:var(--color-surface-hover)}.nav-links li a.active{color:var(--color-primary);background-color:#6366f11a}.topbar-user{display:flex;align-items:center;gap:.625rem;margin-left:auto}.user-avatar{width:28px;height:28px;border-radius:50%;flex-shrink:0}.user-name{font-size:.775rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px;color:var(--color-text-muted)}.logout-btn{font-size:.75rem;padding:.3rem .75rem;white-space:nowrap}.main-content{flex:1;overflow-y:auto;padding:2rem}.menu-wrapper{position:relative}.menu-popover{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 8px 24px #0006;padding:.4rem;z-index:1100}.menu-popover ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.125rem}.menu-popover li a{display:flex;align-items:center;gap:.4rem;padding:.5rem .625rem;color:var(--color-text-muted);font-size:.825rem;font-weight:500;border-radius:6px;text-decoration:none;white-space:nowrap;transition:all .15s ease}.menu-popover li a:hover{background:var(--color-surface-hover);color:var(--color-text)}.menu-popover li a.active{color:var(--color-primary);background-color:#6366f11a}.submenu-wrapper{position:relative}.submenu-trigger{width:100%;min-height:0;display:flex;align-items:center;justify-content:space-between;padding:.5rem .625rem;background:transparent;color:var(--color-text-muted);border:0;border-radius:6px;font-size:.825rem;font-weight:500}.submenu-trigger>span:first-child{display:flex;align-items:center;gap:.4rem}.submenu-trigger:hover,.submenu-trigger:focus-visible{background:var(--color-surface-hover);color:var(--color-text)}.submenu-trigger.active{color:var(--color-primary)}.submenu-arrow{font-size:1.1rem;line-height:1}.submenu-popover{top:-.4rem;right:calc(100% + .5rem);min-width:170px}.submenu-popover:after{content:"";position:absolute;top:0;bottom:0;left:100%;width:calc(.5rem + 1px)}.menu-section{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--color-border)}.menu-section-title{display:block;padding:0 .625rem .375rem;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}@media(max-width:768px){.topbar{padding:0 .5rem;gap:.25rem}.topbar-brand{margin-right:.25rem}.brand-wordmark{height:30px;max-width:95px;object-fit:contain}.topbar-user{gap:.25rem}.hamburger-btn{width:36px;height:36px;border-radius:6px}.topbar-brand .logo-subtitle{display:none}.nav-links{gap:0}.nav-links li a{padding:.5rem;font-size:.78rem}.topbar-user .user-name{display:none}.topbar-user .user-avatar{width:24px;height:24px}.logout-btn{padding:.3rem .45rem}.main-content{padding:1rem}.menu-popover{max-height:calc(100vh - 68px);overflow-y:auto}.submenu-popover{position:static;min-width:0;margin:.25rem 0 .25rem 1.25rem;box-shadow:none;border-left:2px solid var(--color-primary)}.submenu-popover:after{display:none}.submenu-arrow{transform:rotate(90deg)}}:root{--color-primary: #6366f1;--color-primary-hover: #4f46e5;--color-bg: #0f172a;--color-surface: #1e293b;--color-surface-hover: #334155;--color-text: #f1f5f9;--color-text-muted: #94a3b8;--color-border: #334155;--color-success: #22c55e;--color-warning: #f59e0b;--color-danger: #ef4444;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--radius: 8px;--shadow: 0 1px 3px rgba(0, 0, 0, .3)}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);line-height:1.6}#root{height:100%;display:flex;flex-direction:column}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-hover)}button{cursor:pointer;font-family:var(--font-sans);border:none;border-radius:var(--radius);padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s ease}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-hover)}.btn-secondary{background-color:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background-color:var(--color-surface-hover)}.btn-danger{background-color:var(--color-danger);color:#fff}.btn-xs{padding:.25rem .5rem;font-size:.75rem;min-height:auto}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);font-size:1.2rem;font-weight:600;cursor:pointer;transition:color .15s,background .15s,border-color .15s}.icon-btn:hover{color:var(--color-text);background:var(--color-surface-hover);border-color:var(--color-primary)}.icon-btn-add{color:var(--color-primary);border-color:var(--color-primary)}.icon-btn-add:hover{color:#fff;background:var(--color-primary);border-color:var(--color-primary)}.btn-card-action{padding:.3rem .6rem;background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:4px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .15s;min-height:auto}.btn-card-action:hover{color:var(--color-text);border-color:var(--color-primary);background:var(--color-surface-hover)}.btn-card-action.btn-card-danger{color:#ff3b3b;border-color:#ff3b3b40}.btn-card-action.btn-card-danger:hover{color:#ff1744;border-color:#ff1744;background:color-mix(in srgb,#ff1744 12%,transparent)}input,textarea,select{font-family:var(--font-sans);background-color:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius);padding:.5rem .75rem;font-size:.875rem;outline:none;transition:border-color .15s ease}input:focus,textarea:focus,select:focus{border-color:var(--color-primary)}@media(max-width:768px){button{min-height:44px}input,textarea,select{min-height:44px;font-size:1rem}}
