.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)}}.attention-center{flex:1;min-height:0;display:grid;grid-template-columns:minmax(280px,.82fr) minmax(420px,1.18fr);gap:1.25rem;overflow:hidden}.attention-center:not(.has-detail){grid-template-columns:minmax(0,1fr)}.attention-list-pane,.attention-detail{min-height:0;overflow-y:auto}.attention-center:not(.has-detail) .attention-list-pane{width:100%;max-width:920px;margin:0 auto}.attention-heading{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 0 1rem;margin-bottom:.25rem;background:var(--color-bg)}.attention-heading h1{font-size:1.2rem;line-height:1.3}.attention-heading p{color:var(--color-text-muted);font-size:.8rem}.attention-items{display:flex;flex-direction:column;gap:.5rem;padding-bottom:1rem}.attention-card{position:relative;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);transition:border-color .15s,background .15s,transform .15s}.attention-card:hover,.attention-card.selected{border-color:var(--color-primary);background:var(--color-surface-hover)}.attention-card.unread{border-left:3px solid var(--color-primary)}.attention-card.expired{border-color:var(--color-danger);border-left:3px solid var(--color-danger);background:color-mix(in srgb,var(--color-danger) 12%,var(--color-surface))}.attention-card.expired:hover,.attention-card.expired.selected{border-color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 17%,var(--color-surface))}.attention-card.critical{border-left-color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 7%,var(--color-surface));animation:attention-critical-nudge 1.8s ease-in-out infinite;transform-origin:center;will-change:transform,box-shadow}.attention-card.critical-repeated{animation:attention-critical-vibrate 1.25s linear infinite}.attention-card-open{width:100%;min-height:0;display:flex;flex-direction:column;align-items:stretch;gap:.4rem;padding:.9rem 1rem;border:0;border-radius:0;background:transparent;color:var(--color-text);text-align:left}.attention-card-topline,.attention-card-footer,.attention-detail-labels{display:flex;align-items:center;gap:.45rem}.attention-priority,.attention-kind,.attention-status,.attention-expired,.attention-call-count{display:inline-flex;align-items:center;width:fit-content;border-radius:4px;font-size:.65rem;font-weight:700;line-height:1;text-transform:uppercase}.attention-priority,.attention-kind,.attention-status{padding:.25rem .4rem;color:var(--color-text-muted);background:var(--color-bg)}.attention-expired{padding:.25rem .4rem;color:#fff;background:var(--color-danger)}.attention-priority.high{color:var(--color-warning)}.attention-priority.critical{color:var(--color-danger)}.attention-call-count{padding:.24rem .42rem;color:var(--color-text);border:1px solid var(--color-warning);background:color-mix(in srgb,var(--color-warning) 14%,var(--color-bg));white-space:nowrap}.attention-unread-indicator{display:inline-flex;align-items:center;gap:.35rem;margin-left:auto;color:var(--color-primary);font-size:.68rem;font-weight:700;line-height:1;white-space:nowrap}.attention-unread-dot{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 18%,transparent)}.attention-card-title{font-size:.92rem;line-height:1.35}.attention-card-summary{display:-webkit-box;overflow:hidden;color:var(--color-text-muted);font-size:.8rem;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.attention-card-footer{justify-content:space-between;gap:1rem;margin-top:.15rem;color:var(--color-text-muted);font-size:.7rem}.attention-error,.attention-action-notice{padding:.65rem .8rem;margin-bottom:.75rem;border:1px solid var(--color-danger);border-radius:var(--radius);color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 8%,transparent);font-size:.8rem}.attention-empty{min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;color:var(--color-text-muted);text-align:center}.attention-empty strong{color:var(--color-text)}.attention-empty span{font-size:.8rem}.attention-detail{padding:.75rem .25rem 1.5rem 1.25rem;border-left:1px solid var(--color-border)}.attention-back{display:inline-flex;align-items:center;gap:.35rem;min-height:0;padding:.3rem 0;margin-bottom:1rem;background:transparent;color:var(--color-text-muted);font-size:.75rem}.attention-back:hover{color:var(--color-text)}.attention-detail-header h2{margin-top:.7rem;font-size:1.25rem;line-height:1.35}.attention-detail-header p{margin-top:.4rem;color:var(--color-text-muted);font-size:.85rem}.attention-latest{margin:1.25rem 0;padding:1rem 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.attention-latest h3,.attention-history h3{margin-bottom:.6rem;color:var(--color-text-muted);font-size:.7rem;text-transform:uppercase}.attention-latest p{white-space:pre-wrap;font-size:.9rem}.attention-latest time,.attention-history time{display:block;margin-top:.4rem;color:var(--color-text-muted);font-size:.68rem}.attention-metadata{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 1.25rem}.attention-metadata div{min-width:0}.attention-metadata dt{color:var(--color-text-muted);font-size:.68rem;text-transform:uppercase}.attention-metadata dd{overflow-wrap:anywhere;font-size:.8rem}.attention-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin:1.25rem 0 .75rem}.attention-actions button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.attention-action-progress{color:var(--color-text-muted);font-size:.75rem;text-align:right}.attention-action-form{display:grid;gap:.55rem;padding:.8rem;margin-bottom:.75rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.attention-action-form label{color:var(--color-text-muted);font-size:.72rem;font-weight:700}.attention-action-form input{width:100%}.attention-action-form>div{display:flex;justify-content:flex-end;gap:.5rem}.attention-history{margin-top:1.5rem}.attention-history ol{list-style:none;border-left:1px solid var(--color-border)}.attention-history li{position:relative;padding:0 0 1rem 1rem;font-size:.8rem}.attention-history li:before{content:"";position:absolute;top:.35rem;left:-4px;width:7px;height:7px;border-radius:50%;background:var(--color-primary)}.attention-history-empty{color:var(--color-text-muted);font-size:.8rem}@keyframes attention-critical-nudge{0%,45%,to{transform:translate(0);box-shadow:inset 0 0 0 0 transparent}55%{transform:translate(-3px) rotate(-.2deg)}65%{transform:translate(3px) rotate(.2deg)}75%{transform:translate(-2px) rotate(-.15deg);box-shadow:inset 4px 0 0 0 var(--color-danger)}85%{transform:translate(2px) rotate(.15deg)}92%{transform:translate(-1px)}}@keyframes attention-critical-vibrate{0%,24%,to{transform:translateZ(0) rotate(0)}32%{transform:translate3d(-7px,0,0) rotate(-.7deg)}40%{transform:translate3d(7px,0,0) rotate(.7deg)}48%{transform:translate3d(-10px,0,0) rotate(-.9deg)}56%{transform:translate3d(10px,0,0) rotate(.9deg)}64%{transform:translate3d(-8px,0,0) rotate(-.75deg)}72%{transform:translate3d(8px,0,0) rotate(.75deg)}80%{transform:translate3d(-5px,0,0) rotate(-.45deg)}88%{transform:translate3d(5px,0,0) rotate(.45deg)}94%{transform:translate3d(-2px,0,0) rotate(-.2deg)}}@media(prefers-reduced-motion:reduce){.attention-card.critical,.attention-card.critical-repeated{animation:none;will-change:auto}}@media(max-width:768px){.attention-center,.attention-center.has-detail{display:grid;grid-template-columns:minmax(0,1fr);overflow-y:auto}.attention-list-pane,.attention-detail{overflow:visible}.attention-list-pane.detail-open{display:none}.attention-heading{padding-top:.5rem}.attention-items{gap:.65rem;padding-inline:4px}.attention-card-open{min-height:44px;padding:.85rem .8rem}.attention-card-topline,.attention-detail-labels{flex-wrap:wrap}.attention-unread-indicator{margin-left:0}.attention-card-title,.attention-card-summary{overflow-wrap:anywhere}.attention-card-footer{align-items:flex-start;flex-direction:column;gap:.15rem}.attention-card.critical-repeated{animation-name:attention-critical-vibrate-mobile}.attention-detail{min-height:100%;padding:.5rem 0 1.5rem;border-left:0}.attention-metadata{grid-template-columns:1fr}.attention-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.attention-actions button{width:100%;min-width:0;padding-inline:.55rem;font-size:.75rem}}@media(max-width:420px){.attention-actions{grid-template-columns:1fr}.attention-actions button{min-height:44px}}@keyframes attention-critical-vibrate-mobile{0%,24%,to{transform:translateZ(0) rotate(0)}32%{transform:translate3d(-4px,0,0) rotate(-.45deg)}40%{transform:translate3d(4px,0,0) rotate(.45deg)}48%{transform:translate3d(-6px,0,0) rotate(-.6deg)}56%{transform:translate3d(6px,0,0) rotate(.6deg)}64%{transform:translate3d(-5px,0,0) rotate(-.5deg)}72%{transform:translate3d(5px,0,0) rotate(.5deg)}80%{transform:translate3d(-3px,0,0) rotate(-.3deg)}88%{transform:translate3d(3px,0,0) rotate(.3deg)}94%{transform:translate3d(-1px,0,0) rotate(-.1deg)}}.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-page.attention-view{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-current-tab{font-size:.95rem;font-weight:600;color:var(--color-text)}.chat-view-tabs{display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;padding:3px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.chat-view-tab{min-width:108px;min-height:30px;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.3rem .75rem;border-radius:5px;background:transparent;color:var(--color-text-muted);font-size:.8rem;font-weight:600;transition:background .15s,color .15s,box-shadow .15s}.chat-view-tab:hover{color:var(--color-text)}.chat-view-tab.active{background:var(--color-surface-hover);color:var(--color-text);box-shadow:var(--shadow)}.chat-attention-badge{min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;border-radius:999px;background:var(--color-danger);color:var(--color-text);font-size:.62rem;font-weight:800;line-height:1}.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}.chat-welcome{text-align:center;margin:auto;padding:2rem 1rem;color:var(--color-text-muted)}.chat-welcome h3{color:var(--color-text);margin-bottom:.5rem;font-size:1.25rem}.chat-suggestions{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1.5rem}.suggestion{font-size:.8rem;padding:.5rem 1rem}.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.assistant.source-vscode .message-body{border-left:3px solid #818cf8;background:#818cf80f}.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-source-label.source-vscode{color:#a5b4fc;background:#818cf826}.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{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:2px solid var(--color-border, #ccc);border-radius:8px;background:transparent;color:var(--color-text-muted, #888);cursor:pointer;transition:all .2s}.btn-voice-toggle:hover{border-color:#39ff14;color:#39ff14}.btn-voice-toggle.active{border-color:#39ff14;background:#39ff14;color:#1a1a2e}.btn-voice-toggle.active.speaking{animation:voice-glow 1s ease-in-out infinite alternate}@keyframes voice-glow{0%{box-shadow:0 0 4px #39ff14}to{box-shadow:0 0 12px #39ff14,0 0 20px #39ff144d}}.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:0;right:0;bottom:0;left:0;z-index:1040;background:#0006}.chat-sidebar.open{position:fixed;top:0;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:wrap;gap:.5rem}.chat-header-left{width:100%}.chat-view-tabs{position:sticky;top:0;width:100%}.chat-view-tab{min-width:0;min-height:38px;font-size:.82rem}.chat-header-right{width:100%;justify-content:flex-end}.message{max-width:90%}.chat-welcome{padding:2rem 1rem}.chat-suggestions{flex-direction:column;align-items:center}.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%}}.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}.notify-toggles{display:flex;gap:.375rem}.notify-toggle{font-size:.75rem;padding:.25rem .625rem;border:1px solid var(--color-border);border-radius:var(--radius);background:none;color:var(--color-text-muted);cursor:pointer;transition:all .15s}.notify-toggle.active{border-color:var(--color-primary, #a78bfa);color:var(--color-primary, #a78bfa);background-color:#a78bfa1a}.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}.memories-page{max-width:800px}.memories-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.tab-bar{display:flex;gap:0;margin-bottom:1.5rem;border-bottom:2px solid var(--color-border)}.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}.tab:hover{color:var(--color-text)}.tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.prompt-editor{width:100%;min-height:500px;padding:.75rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:6px;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}.memory-search{position:relative;margin-bottom:.75rem}.memory-search-input{width:100%;padding:.5rem 2rem .5rem .75rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);font-size:.85rem;box-sizing:border-box}.memory-search-input:focus{outline:none;border-color:var(--color-primary)}.memory-search-clear{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--color-text-muted);font-size:1.1rem;cursor:pointer;padding:.25rem}.memory-filters{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.memory-filters-chips{display:flex;flex-wrap:wrap;gap:.5rem;flex:1}.filter-chip{padding:.25rem .75rem;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .15s}.filter-chip:hover{border-color:var(--color-primary);color:var(--color-text)}.filter-chip.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.items-list{display:flex;flex-direction:column;gap:.75rem}.item-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:.75rem 1rem;display:flex;flex-direction:column;gap:.5rem}.item-card:hover{border-color:var(--color-primary)}.memory-form-row{display:flex;gap:.5rem;align-items:center}.item-main{flex:1;min-width:0}.item-content{font-size:.875rem;line-height:1.5;margin-top:.25rem}.category-badge{display:inline-block;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.125rem .5rem;border-radius:999px;background-color:#6366f126;color:var(--color-primary)}.category-badge.fact{background-color:#22c55e26;color:var(--color-success)}.category-badge.routine{background-color:#f59e0b26;color:var(--color-warning)}.category-badge.relationship{background-color:#ef444426;color:var(--color-danger)}.routine-name{font-size:.925rem}.status-badge{font-size:.7rem;font-weight:600;padding:.125rem .5rem;border-radius:999px}.status-badge.active{background-color:#22c55e26;color:var(--color-success)}.status-badge.inactive{background-color:#94a3b826;color:var(--color-text-muted)}.item-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.375rem;flex-shrink:0}.item-source,.item-priority{font-size:.7rem;color:var(--color-text-muted)}.item-actions{display:flex;gap:.375rem}.btn-xs{padding:.25rem .5rem;font-size:.7rem}.btn-run{background:#39ff14;color:#000;border:none;font-weight:700;text-shadow:0 0 4px rgba(57,255,20,.6);box-shadow:0 0 6px #39ff1466}.btn-run:hover{background:#32e610;box-shadow:0 0 12px #39ff14b3}.item-form{background-color:var(--color-surface);border:1px solid var(--color-primary);border-radius:var(--radius);padding:1.25rem;margin-bottom:1.5rem}.item-form h3{margin-bottom:1rem;font-size:1rem}.form-error{background-color:#ef444426;color:var(--color-danger);border-radius:var(--radius);padding:.5rem .75rem;margin-bottom:1rem;font-size:.8rem}.item-form .form-group{display:flex;flex-direction:column;gap:.375rem;margin-bottom:.875rem}.item-form .form-group label{font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase}.item-form .form-row{display:flex;gap:1rem}.item-form .form-row .form-group{flex:1}.item-form .form-actions{display:flex;gap:.75rem;margin-top:1rem}.placeholder{color:var(--color-text-muted);text-align:center;padding:3rem 1rem;font-size:.9rem}.routine-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.routine-prompt{color:var(--color-text-muted);font-style:italic;max-height:3em;overflow:hidden;text-overflow:ellipsis}.routine-details{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem;font-size:.75rem;color:var(--color-text-muted)}.routine-details span{white-space:nowrap}.routine-freq{color:var(--color-primary);font-weight:500}.routine-card.paused{opacity:.6}.routine-card.paused .routine-name{text-decoration:line-through}.toggle-group{display:flex;border:1px solid var(--border-color, #333);border-radius:6px;overflow:hidden}.toggle-btn{flex:1;padding:.5rem .75rem;border:none;background:var(--bg-secondary, #1a1a2e);color:var(--color-text-muted, #888);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s ease}.toggle-btn:not(:last-child){border-right:1px solid var(--border-color, #333)}.toggle-btn.active{background:var(--color-primary, #007bff);color:#fff;font-weight:600}.toggle-btn.think.active{background:#8b5cf6}.badge-think{font-size:.7rem;padding:2px 6px;border-radius:4px;background:#8b5cf633;border:1px solid rgba(139,92,246,.4)}.routine-run-status{font-size:.78rem;font-weight:600;padding:.3rem .5rem;border-radius:4px;margin-top:.4rem}.routine-run-status.running{color:var(--color-text-muted)}.routine-run-status.success{color:#39ff14}.routine-run-status.error{color:var(--color-danger, #ef4444)}.routine-confirm-bar{display:flex;align-items:center;gap:.5rem;margin-top:.4rem;font-size:.8rem;color:var(--color-text-muted)}.day-picker{display:flex;gap:6px;flex-wrap:wrap}.day-btn{padding:6px 12px;border:1px solid var(--border-color, #e0e0e0);border-radius:6px;background:var(--bg-secondary, #f5f5f5);color:var(--text-secondary, #666);cursor:pointer;font-size:.8rem;transition:all .15s ease}.day-btn:hover{border-color:var(--primary-color, #007bff)}.day-btn.selected{background:var(--primary-color, #007bff);color:#fff;border-color:var(--primary-color, #007bff)}@media(max-width:768px){.memories-page{max-width:100%}.memories-header{flex-direction:column;align-items:flex-start;gap:.5rem}.tab-bar{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap}.tab-bar::-webkit-scrollbar{display:none}.tab{white-space:nowrap;flex-shrink:0;padding:.625rem 1rem;font-size:.8rem}.item-card{flex-direction:column;gap:.5rem}.item-meta{flex-direction:row;align-items:center;flex-wrap:wrap}.item-form .form-row{flex-direction:column}.item-form{padding:1rem}.prompt-editor{min-height:300px;font-size:.75rem}.version-item{flex-direction:column;align-items:flex-start}.memory-filters{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.day-picker{flex-wrap:wrap}.routine-details{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}.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}.vscode-status-card{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);font-size:.8rem;color:var(--color-text-secondary)}.vscode-status-indicator{display:flex;align-items:center;gap:.35rem}.vscode-status-dot{width:8px;height:8px;border-radius:50%;background:var(--color-text-muted)}.vscode-status-dot.connected{background:#22c55e}.vscode-status-dot.active{background:#eab308}.vscode-status-label{font-weight:600;color:var(--color-text)}.vscode-status-text{color:var(--color-text-secondary)}.vscode-status-since{color:var(--color-text-muted);font-size:.75rem}.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}}.happiness-page{padding:2rem;max-width:800px;margin:0 auto}.happiness-loading{text-align:center;color:var(--color-text-muted);padding:3rem}.happiness-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.happiness-header h2{margin:0}.happiness-score-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:2rem;text-align:center;margin-bottom:1.5rem}.score-emoji{font-size:3rem;margin-bottom:.5rem}.score-info{display:flex;align-items:baseline;justify-content:center;gap:.25rem;margin-bottom:1rem}.score-number{font-size:2.5rem;font-weight:700;color:var(--color-text)}.score-max{font-size:1.2rem;color:var(--color-text-muted)}.score-label{margin-left:.75rem;font-size:1.1rem;color:var(--color-text-muted);font-style:italic}.score-bar-container{height:12px;background:var(--color-surface-hover);border-radius:6px;overflow:hidden}.score-bar-fill{height:100%;border-radius:6px;transition:width .5s ease,background .5s ease}.happiness-page .tab-bar{display:flex;gap:0;border-bottom:2px solid var(--color-border);margin-bottom:1rem}.happiness-page .tab{padding:.6rem 1.2rem;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;color:var(--color-text-muted);font-weight:500;transition:color .15s,border-color .15s}.happiness-page .tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.happiness-page .tab:hover{color:var(--color-text)}.happiness-list{display:flex;flex-direction:column;gap:.75rem}.happiness-empty{text-align:center;color:var(--color-text-muted);padding:2rem;font-style:italic}.happiness-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:1rem 1.25rem;border-left:4px solid var(--color-border)}.happiness-item.positive{border-left-color:#2ecc71}.happiness-item.negative{border-left-color:#e74c3c}.happiness-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}.happiness-points{font-weight:700;font-size:1.1rem}.happiness-points.positive{color:#2ecc71}.happiness-points.negative{color:#e74c3c}.happiness-date{font-size:.8rem;color:var(--color-text-muted)}.happiness-reason{color:var(--color-text);margin-bottom:.4rem;line-height:1.4}.happiness-meta{display:flex;gap:1.5rem;font-size:.75rem;color:var(--color-text-muted)}@media(max-width:768px){.happiness-page{padding:1rem;max-width:100%}.happiness-header{flex-direction:column;align-items:flex-start;gap:.5rem}.happiness-score-card{padding:1.25rem}.score-emoji,.score-number{font-size:2rem}.score-label{font-size:.9rem}.happiness-page .tab-bar{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap}.happiness-page .tab-bar::-webkit-scrollbar{display:none}.happiness-page .tab{white-space:nowrap;flex-shrink:0}.happiness-item{padding:.75rem 1rem}.happiness-meta{flex-direction:column;gap:.25rem}}.annacore-page{max-width:900px}.annacore-page .happiness-header h2{display:none}.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}.tab-actions{display:flex;gap:.5rem;align-items:center;margin-bottom:1rem}.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, #22c55e)}.skills-list{display:flex;flex-direction:column;gap:.75rem}.skill-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;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, #22c55e)}.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, #22c55e)}.skill-status.unloaded{color:var(--color-text-muted)}.skill-actions{display:flex;gap:.5rem;align-items:center}.skill-date{font-size:.75rem;color:var(--color-text-muted);margin-left:auto}.skill-form-overlay{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.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-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}}.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-primary:disabled{opacity:.5;cursor:not-allowed}.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}.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)}.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}}.irene-memory{--memory-border: var(--color-border);--memory-ink: var(--color-text);--memory-muted: var(--color-text-muted);--memory-accent: var(--color-primary);color:var(--memory-ink)}.memory-tabs{display:flex;align-items:flex-end;gap:2px;margin-bottom:14px;border-bottom:1px solid var(--memory-border)}.memory-tabs button{position:relative;border:0;background:transparent;color:var(--memory-muted);padding:10px 16px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.memory-tabs button:hover{color:var(--color-text);background:var(--color-surface-hover)}.memory-tabs button.active{color:var(--color-text)}.memory-tabs button.active:after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:2px;background:var(--color-primary)}.memory-tabs button:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.hippocagent-settings{border:1px solid var(--memory-border);border-left:4px solid var(--color-primary);margin-bottom:14px;padding:16px 18px;background:var(--color-surface)}.hippocagent-settings-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.hippocagent-settings-header h3{margin:2px 0 0;color:var(--color-text);font-size:16px}.hippocagent-settings-actions{display:flex;gap:8px}.hippocagent-settings-grid{display:grid;grid-template-columns:minmax(160px,.7fr) minmax(280px,1.25fr) minmax(300px,1.4fr);border-top:1px solid var(--memory-border)}.hippocagent-settings-group{min-width:0;padding:14px 16px;border-left:1px solid var(--memory-border)}.hippocagent-settings-group:first-child{padding-left:0;border-left:0}.hippocagent-settings-group:last-child{padding-right:0}.hippocagent-settings-group h4{margin:0 0 10px;color:var(--color-text);font-size:13px}.hippocagent-settings-group label{color:var(--memory-muted);font-size:11px;font-weight:700}.hippocagent-settings-group.runtime label{display:block;margin-bottom:9px}.hippocagent-settings-group input[type=number],.hippocagent-settings-group input[readonly],.hippocagent-settings-group textarea{box-sizing:border-box;width:100%;border:1px solid var(--color-border);border-radius:3px;background:var(--color-bg);color:var(--color-text);padding:7px 8px;margin-top:4px;font:inherit;color-scheme:dark}.hippocagent-settings-group input[readonly]{color:var(--memory-muted);background:color-mix(in srgb,var(--color-bg) 70%,var(--color-surface))}.hippocagent-settings-group input:focus,.hippocagent-settings-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 25%,transparent)}.hippocagent-mode{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:26px;margin-bottom:11px}.hippocagent-switch{display:inline-flex;align-items:center;gap:8px;color:var(--color-text)!important;font-size:12px!important;cursor:pointer}.hippocagent-switch input{position:absolute;width:1px;height:1px;opacity:0}.hippocagent-switch-track{box-sizing:border-box;width:34px;height:18px;border:1px solid var(--color-border);border-radius:9px;padding:2px;background:var(--color-bg);transition:border-color .14s ease,background .14s ease}.hippocagent-switch-track span{display:block;width:12px;height:12px;border-radius:50%;background:var(--color-text-muted);transition:transform .14s ease,background .14s ease}.hippocagent-switch input:checked+.hippocagent-switch-track{border-color:var(--color-warning);background:color-mix(in srgb,var(--color-warning) 18%,var(--color-bg))}.hippocagent-switch input:checked+.hippocagent-switch-track span{transform:translate(16px);background:var(--color-warning)}.hippocagent-switch input:focus-visible+.hippocagent-switch-track{outline:2px solid var(--color-primary);outline-offset:2px}.hippocagent-mode>strong{padding:3px 6px;font-size:9px;letter-spacing:0}.hippocagent-mode>strong.live{color:var(--color-success);background:color-mix(in srgb,var(--color-success) 13%,var(--color-surface))}.hippocagent-mode>strong.shadow{color:var(--color-warning);background:color-mix(in srgb,var(--color-warning) 13%,var(--color-surface))}.hippocagent-number-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hippocagent-prompt{display:block;margin-top:9px}.hippocagent-prompt textarea{min-height:82px;resize:none;overflow:hidden;line-height:1.4}.hippocagent-notice{margin-top:12px;padding:9px 11px;border:1px solid color-mix(in srgb,var(--color-success) 45%,var(--color-border));background:color-mix(in srgb,var(--color-success) 10%,var(--color-surface));color:var(--color-success);font-size:12px}.backup-strip{border:1px solid var(--memory-border);border-left:4px solid var(--color-success);padding:16px 18px;margin-bottom:14px;background:var(--color-surface)}.backup-heading,.backup-heading>div,.backup-actions,.memory-section-header,.memory-detail-header,.memory-row,.memory-row-actions,.routing-test,.thread-management{display:flex;align-items:center}.backup-heading{justify-content:space-between;gap:16px}.backup-heading>div{gap:10px}.backup-heading h3{margin:0;font-size:16px;color:var(--color-text)}.backup-state{border-radius:3px;padding:3px 7px;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:0;color:var(--color-text-muted);background:var(--color-surface-hover)}.backup-state.healthy{color:var(--color-success);background:color-mix(in srgb,var(--color-success) 14%,var(--color-surface))}.backup-state.failed,.backup-state.unreachable{color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 14%,var(--color-surface))}.backup-actions{gap:8px}.backup-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}.backup-grid div,.memory-stats div{min-width:0}.backup-grid span,.memory-stats span{display:block;color:var(--memory-muted);font-size:11px;margin-bottom:4px}.backup-grid strong{display:block;color:var(--color-text);font-size:12px;overflow-wrap:anywhere}.backup-error,.memory-error{margin-top:12px;padding:9px 11px;background:color-mix(in srgb,var(--color-danger) 12%,var(--color-surface));color:#fca5a5;border:1px solid color-mix(in srgb,var(--color-danger) 45%,var(--color-border));font-size:12px}.memory-stats{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--memory-border);margin-bottom:14px;background:var(--color-surface)}.memory-stats div{padding:11px 14px;border-right:1px solid var(--memory-border)}.memory-stats div:last-child{border-right:0}.memory-stats strong{color:var(--color-text);font-size:20px}.memory-workspace{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);min-height:620px;border:1px solid var(--memory-border);background:var(--color-bg)}.memory-sidebar{border-right:1px solid var(--memory-border);background:var(--color-surface)}.memory-sidebar-tools{display:flex;gap:6px;padding:10px;border-bottom:1px solid var(--memory-border)}.memory-sidebar-tools input{min-width:0;width:100%}.memory-new-thread{width:calc(100% - 20px);margin:10px;border:1px solid var(--color-primary);border-radius:3px;background:var(--color-primary);color:#fff;padding:8px;cursor:pointer}.memory-new-thread:hover{background:var(--color-primary-hover)}.memory-thread-list{max-height:710px;overflow-y:auto}.memory-thread-list>button{display:flex;justify-content:space-between;width:100%;border:0;border-bottom:1px solid var(--color-border);padding:11px 12px;text-align:left;background:transparent;color:var(--color-text);cursor:pointer}.memory-thread-list>button:hover{background:var(--color-surface-hover)}.memory-thread-list>button.selected{background:color-mix(in srgb,var(--color-primary) 16%,var(--color-surface));box-shadow:inset 3px 0 var(--color-primary)}.memory-thread-list span{min-width:0}.memory-thread-list strong,.memory-thread-list small{display:block}.memory-thread-list small{color:var(--memory-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:175px;margin-top:3px}.memory-thread-list i,.thread-status{font-style:normal;font-size:9px;text-transform:uppercase;padding:3px 5px;align-self:flex-start;color:var(--color-text-muted);background:var(--color-surface-hover)}.memory-thread-list i.active,.thread-status.active{color:var(--color-success);background:color-mix(in srgb,var(--color-success) 12%,var(--color-surface))}.memory-thread-list i.blocked,.thread-status.blocked{color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 12%,var(--color-surface))}.memory-thread-list i.needs_details,.thread-status.needs_details{color:var(--color-warning);background:color-mix(in srgb,var(--color-warning) 12%,var(--color-surface))}.memory-thread-list i.archived,.thread-status.archived{opacity:.7}.memory-workspace main{min-width:0}.memory-detail{padding:20px}.memory-detail-header{justify-content:space-between;border-bottom:1px solid var(--memory-border);padding-bottom:14px}.memory-detail-header h2{margin:2px 0 4px;color:var(--color-text);font-size:22px}.memory-detail-header code{color:var(--memory-muted);font-size:11px}.memory-kicker{color:var(--color-primary);text-transform:uppercase;font-weight:800;font-size:10px}.memory-section{padding:18px 0;border-bottom:1px solid var(--memory-border)}.memory-section-header{justify-content:space-between;margin-bottom:10px}.memory-section-header h3{margin:0;color:var(--color-text);font-size:14px}.memory-section-header h3 span{color:var(--memory-muted);font-weight:500;margin-left:5px}.memory-form-grid{display:grid;grid-template-columns:2fr 1fr;gap:10px;margin-bottom:10px}.memory-form-grid label{color:var(--memory-muted);font-size:11px;font-weight:700}.memory-form-grid label.wide{grid-column:1 / -1}.memory-form-grid input,.memory-form-grid textarea,.memory-form-grid select,.memory-row-edit input,.memory-command-edit input,.memory-command-edit textarea,.routing-test input,.thread-management select,.memory-sidebar-tools input{box-sizing:border-box;width:100%;border:1px solid var(--color-border);border-radius:3px;background:var(--color-bg);color:var(--color-text);padding:8px 9px;font:inherit;margin-top:4px;color-scheme:dark}.memory-form-grid input::placeholder,.memory-form-grid textarea::placeholder,.memory-row-edit input::placeholder,.memory-command-edit input::placeholder,.memory-command-edit textarea::placeholder,.routing-test input::placeholder,.memory-sidebar-tools input::placeholder{color:var(--color-text-muted);opacity:.85}.memory-form-grid input:focus,.memory-form-grid textarea:focus,.memory-form-grid select:focus,.memory-row-edit input:focus,.memory-command-edit input:focus,.memory-command-edit textarea:focus,.routing-test input:focus,.thread-management select:focus,.memory-sidebar-tools input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 25%,transparent)}.memory-form-grid textarea,.memory-command-edit textarea{min-height:76px;resize:vertical}.memory-button,.memory-row-actions button,.memory-conflict button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);padding:6px 9px;border-radius:3px;cursor:pointer;font:inherit;font-size:12px}.memory-button:hover,.memory-row-actions button:hover,.memory-conflict button:hover{border-color:var(--color-primary);background:var(--color-surface-hover)}.memory-button.primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.memory-button.primary:hover{background:var(--color-primary-hover)}.memory-button.danger-solid{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.memory-button:disabled{opacity:.45;cursor:default}.memory-row{justify-content:space-between;gap:14px;padding:10px 0;border-top:1px solid var(--color-border)}.memory-row-main{min-width:0;display:grid;gap:3px;color:var(--color-text)}.memory-row-main span{overflow-wrap:anywhere}.memory-row-main small{color:var(--memory-muted)}.memory-row-main code{white-space:pre-wrap;overflow-wrap:anywhere;color:#a5b4fc}.memory-row-actions{gap:5px;flex:0 0 auto}.memory-row-actions .danger{color:#fca5a5;border-color:color-mix(in srgb,var(--color-danger) 45%,var(--color-border))}.memory-row-edit{display:grid;grid-template-columns:1fr 2fr auto auto}.memory-command-edit{width:100%;display:grid;gap:7px}.memory-command-edit div{display:flex;gap:6px}.memory-empty-row,.memory-empty{color:var(--memory-muted);padding:14px 0}.memory-conflict{display:flex;justify-content:space-between;gap:14px;border:1px solid color-mix(in srgb,var(--color-warning) 55%,var(--color-border));background:color-mix(in srgb,var(--color-warning) 10%,var(--color-surface));color:var(--color-text);padding:10px;margin-top:8px}.memory-conflict>div:first-child{display:grid;gap:3px}.memory-conflict>div:last-child{display:flex;align-items:center;gap:5px}.memory-conflict.resolved{opacity:.7;border-color:var(--memory-border);background:var(--color-surface)}.routing-test,.thread-management{gap:8px}.routing-test input,.thread-management select{margin:0}.routing-result{max-height:260px;overflow:auto;border:1px solid var(--color-border);background:#020617;color:var(--color-text);padding:12px;font-size:11px}.memory-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:18px;background:#000000a6}.memory-dialog{box-sizing:border-box;width:min(430px,100%);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);padding:18px;box-shadow:0 18px 60px #00000073}.memory-dialog h3{margin:0 0 8px;color:var(--color-text);font-size:18px}.memory-dialog p{margin:0 0 14px;color:var(--color-text-muted)}.memory-dialog label{display:grid;gap:5px;margin-top:10px;color:var(--color-text-muted);font-size:12px;font-weight:700}.memory-dialog input{box-sizing:border-box;width:100%;border:1px solid var(--color-border);border-radius:3px;padding:9px;color:var(--color-text);background:var(--color-bg);font:inherit}.memory-dialog input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 25%,transparent)}.memory-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}@media(max-width:900px){.backup-grid{grid-template-columns:repeat(3,1fr)}.memory-workspace{grid-template-columns:1fr}.memory-sidebar{border-right:0;border-bottom:1px solid var(--memory-border)}.memory-thread-list{max-height:250px}.memory-detail{padding:14px}}@media(max-width:560px){.backup-heading,.thread-management{align-items:stretch;flex-direction:column}.backup-grid,.memory-stats{grid-template-columns:repeat(2,1fr)}.memory-stats div{border-bottom:1px solid var(--memory-border)}.memory-form-grid{grid-template-columns:1fr}.memory-form-grid label.wide{grid-column:auto}.memory-row{align-items:flex-start;flex-direction:column}.memory-row-edit{display:flex}.memory-row-actions{width:100%}.memory-conflict{flex-direction:column}.memory-conflict>div:last-child{flex-wrap:wrap}.routing-test{align-items:stretch;flex-direction:column}}@media(max-width:560px){.memory-tabs{overflow-x:auto}.memory-tabs button{flex:1 0 auto;padding-inline:12px}}@media(max-width:1100px){.hippocagent-settings-grid{grid-template-columns:1fr 1fr}.hippocagent-settings-group.runtime{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.hippocagent-settings-group.runtime h4{grid-column:1 / -1}.hippocagent-settings-group{padding:14px 16px}.hippocagent-settings-group:nth-child(2){padding-left:0;border-left:0}}@media(max-width:560px){.hippocagent-settings-header{align-items:stretch;flex-direction:column}.hippocagent-settings-grid{grid-template-columns:1fr}.hippocagent-settings{padding:14px}.hippocagent-settings-actions{justify-content:flex-end;flex-wrap:wrap}.hippocagent-settings-group,.hippocagent-settings-group:first-child,.hippocagent-settings-group:last-child,.hippocagent-settings-group:nth-child(2){grid-column:auto;padding:13px 0;border-left:0;border-top:1px solid var(--memory-border)}.hippocagent-settings-group.runtime{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.hippocagent-settings-group:first-child{border-top:0}.hippocagent-settings-group.runtime h4{grid-column:1 / -1}.hippocagent-settings-group input[type=number],.hippocagent-settings-group input[readonly],.hippocagent-settings-group textarea{font-size:1rem}}.memory-thread-browser{border:1px solid var(--memory-border);background:var(--color-bg)}.memory-thread-tools{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:10px;border-bottom:1px solid var(--memory-border);background:var(--color-surface)}.memory-thread-tools input{box-sizing:border-box;width:100%;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}.memory-thread-tools input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 25%,transparent)}.memory-thread-item{border-bottom:1px solid var(--memory-border)}.memory-thread-item:last-child{border-bottom:0}.memory-thread-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}.memory-thread-trigger:hover{background:var(--color-surface-hover)}.memory-thread-trigger:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.memory-thread-item.expanded>.memory-thread-trigger{background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));box-shadow:inset 3px 0 var(--color-primary)}.memory-thread-trigger>span:first-child{min-width:0}.memory-thread-trigger strong,.memory-thread-trigger small{display:block}.memory-thread-trigger small{margin-top:4px;color:var(--memory-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.memory-thread-meta{display:flex;align-items:center;gap:10px;flex:0 0 auto}.memory-thread-meta i{font-style:normal;font-size:9px;text-transform:uppercase;padding:3px 5px;color:var(--color-text-muted);background:var(--color-surface-hover)}.memory-thread-meta i.active{color:var(--color-success);background:color-mix(in srgb,var(--color-success) 12%,var(--color-surface))}.memory-thread-meta i.blocked{color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 12%,var(--color-surface))}.memory-thread-meta b{width:18px;color:var(--color-primary);font-size:18px;line-height:1;text-align:center}.memory-thread-expanded{min-width:0;border-top:1px solid var(--memory-border);background:var(--color-bg)}.memory-thread-expanded .memory-detail{padding:20px}.memory-thread-accordion>.memory-empty-row{margin:0;padding:14px}@media(max-width:560px){.memory-thread-tools{grid-template-columns:minmax(0,1fr) auto}.memory-thread-tools .memory-button{grid-column:1 / -1}.memory-thread-trigger{align-items:flex-start;padding:12px 10px}.memory-thread-trigger small{max-width:calc(100vw - 150px)}.memory-thread-meta{gap:6px}.memory-thread-expanded .memory-detail{padding:12px 10px}}.hippocagent-settings-group.lifecycle{grid-column:1 / -1;border-left:0;border-top:1px solid var(--memory-border);padding-inline:0}.hippocagent-settings-group.lifecycle>label:first-of-type{display:block;max-width:320px}.hippocagent-settings-group.lifecycle input[type=text],.memory-row-edit select{box-sizing:border-box;width:100%;border:1px solid var(--color-border);border-radius:3px;background:var(--color-bg);color:var(--color-text);padding:7px 8px;margin-top:4px;font:inherit;color-scheme:dark}.lifecycle-switches{display:flex;flex-wrap:wrap;gap:10px 18px;margin:12px 0}.lifecycle-diagnostics{border:1px solid var(--memory-border);padding:16px 18px;background:var(--color-surface)}.lifecycle-diagnostics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.lifecycle-diagnostics-grid h4{margin:0;padding-bottom:8px;border-bottom:1px solid var(--memory-border);font-size:13px}.lifecycle-diagnostics-grid h4 span{color:var(--memory-muted);font-weight:500}.lifecycle-diagnostic-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--memory-border)}.lifecycle-diagnostic-row>div:first-child{min-width:0;display:grid;gap:3px}.lifecycle-diagnostic-row span,.lifecycle-diagnostic-row small{overflow-wrap:anywhere}.lifecycle-diagnostic-row small{color:var(--memory-muted)}.lifecycle-diagnostic-row>div:last-child{display:flex;gap:5px}.lifecycle-diagnostic-row button{border:1px solid var(--color-border);border-radius:3px;padding:5px 7px;background:var(--color-surface);color:var(--color-text);cursor:pointer}.memory-row-edit{grid-template-columns:minmax(110px,1fr) minmax(180px,2fr) repeat(3,minmax(120px,1fr)) auto auto}.memory-fact-badges{display:flex;gap:5px}.memory-fact-badges i{padding:2px 5px;background:var(--color-surface-hover);color:var(--memory-muted);font-style:normal;font-size:10px}.memory-fact-badges i.current,.memory-fact-badges i.ongoing{color:var(--color-success)}.memory-fact-badges i.expired,.memory-fact-badges i.quarantined{color:var(--color-danger)}@media(max-width:760px){.lifecycle-diagnostics-grid{grid-template-columns:1fr}.lifecycle-diagnostic-row{align-items:flex-start;flex-direction:column}.memory-row-edit{display:flex}}.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}}.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}}.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:1000}.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}.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-brand .logo-subtitle{display:none}.nav-links{gap:0}.nav-links li a{padding:.5rem;font-size:.78rem}.topbar-user .user-name{display:none}.main-content{padding:1rem}}: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}}
