:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--bg: #1f1f1f;--bg-deep: #171717;--panel: #252525;--panel-raised: #2f2f2f;--panel-soft: #353535;--border: #404040;--border-strong: #555555;--text: #f3f3f3;--muted: #b7b7b7;--faint: #858585;--accent: #38c6a3;--accent-strong: #68e4c5;--accent-ink: #09261f;--warning: #e0b15a;--danger: #f17676;--danger-bg: #482222;--shadow: 0 20px 70px rgb(0 0 0 / .28);--radius-sm: 6px;--radius: 8px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--sidebar-width: 292px;--admin-width: 360px;--ease: cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html,body,#app{min-height:100%}body{margin:0;background:var(--bg);color:var(--text);overflow:hidden}button,input,textarea{font:inherit}button{color:inherit}button:not(:disabled){cursor:pointer}button:disabled,input:disabled,textarea:disabled{cursor:not-allowed;opacity:.62}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.fade-enter-active,.fade-leave-active{transition:opacity .18s ease}.fade-enter-from,.fade-leave-to{opacity:0}.modal-enter-active,.modal-leave-active,.panel-enter-active,.panel-leave-active{transition:opacity .18s ease,transform .22s var(--ease)}.modal-enter-from,.modal-leave-to,.panel-enter-from,.panel-leave-to{opacity:0}.panel-enter-from,.panel-leave-to{transform:translate(20px)}.note-list-move,.note-list-enter-active,.note-list-leave-active{transition:opacity .18s ease,transform .22s var(--ease)}.note-list-enter-from{opacity:0;transform:translateY(12px)}.note-list-leave-to{opacity:0;transform:translateY(-8px)}.wake-screen,.auth-page{min-height:100dvh;display:grid;place-items:center;padding:var(--space-6);background:linear-gradient(180deg,rgb(255 255 255 / .025),transparent 40%),var(--bg)}.wake-panel,.auth-panel{width:min(420px,100%);border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in srgb,var(--panel) 92%,black);box-shadow:var(--shadow);padding:28px}.wake-mark,.auth-mark{width:42px;height:42px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 44%,var(--border));border-radius:var(--radius);color:var(--accent-strong);background:color-mix(in srgb,var(--accent) 12%,transparent);margin-bottom:var(--space-5)}.wake-mark svg{animation:spin 1.2s linear infinite}.wake-kicker,.auth-kicker,.workspace-kicker,.panel-kicker,.state-kicker{margin:0 0 var(--space-2);color:var(--accent-strong);font-size:.78rem;font-weight:700;text-transform:uppercase}.wake-panel h1,.auth-panel h1{margin:0 0 var(--space-3);font-size:1.55rem}.wake-copy,.wake-attempts,.wake-error{margin:0;color:var(--muted);line-height:1.55}.wake-attempts{margin-top:var(--space-4);color:var(--faint)}.wake-error,.form-error{color:var(--danger)}.wake-retry{width:100%;min-height:42px;border:0;border-radius:var(--radius);background:var(--accent);color:var(--accent-ink);font-weight:700;margin-top:var(--space-5)}.auth-form{display:grid;gap:var(--space-4);margin-top:var(--space-5)}.auth-form label,.admin-form label{display:grid;gap:var(--space-2);color:var(--muted);font-size:.92rem}input,textarea{width:100%;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-deep);color:var(--text);padding:11px 12px}textarea{line-height:1.5;resize:none}.base-button{min-height:42px;border:1px solid transparent;border-radius:var(--radius);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:0 14px;font-weight:700;transition:background .16s ease,border-color .16s ease,transform .16s ease}.base-button:not(:disabled):hover{transform:translateY(-1px)}.base-button.primary{background:var(--accent);color:var(--accent-ink)}.base-button.secondary{background:var(--panel-soft);border-color:var(--border)}.base-button.ghost{background:transparent;border-color:var(--border)}.base-button.danger{background:var(--danger-bg);border-color:color-mix(in srgb,var(--danger) 45%,transparent);color:#ffd7d7}.base-button.sm{min-height:34px;padding:0 10px;font-size:.9rem}.button-loader,.state-loader{width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.app-footer{display:inline-flex;align-items:center;justify-content:center;gap:6px;color:var(--faint);font-size:.82rem}.app-footer a{color:var(--muted);text-decoration:none}.app-footer a:hover{color:var(--accent-strong)}.auth-page .app-footer{position:fixed;left:50%;bottom:18px;transform:translate(-50%)}.app-shell{height:100dvh;background:var(--bg);overflow:hidden}.layout-grid{height:100%;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr) auto}.sidebar-layer{min-width:0}.app-sidebar{height:100dvh;background:var(--bg-deep);border-right:1px solid var(--border);display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:var(--space-3);padding:var(--space-3)}.sidebar-header,.workspace-header,.admin-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.sidebar-header span,.workspace-kicker{color:var(--muted);font-size:.86rem}.sidebar-brand{margin:0 0 2px;font-size:1.15rem;font-weight:800}.icon-button,.conversation-actions button,.note-actions button,.note-edit-actions button,.user-actions button{width:34px;height:34px;border:1px solid transparent;border-radius:var(--radius);display:inline-grid;place-items:center;background:transparent;color:var(--muted);transition:background .16s ease,color .16s ease,border-color .16s ease}.icon-button:hover,.conversation-actions button:hover,.note-actions button:hover,.note-edit-actions button:hover,.user-actions button:hover{background:var(--panel-soft);color:var(--text);border-color:var(--border)}.sidebar-close{display:none}.new-chat-button,.sidebar-tool,.workspace-admin-toggle{min-height:38px;border:1px solid transparent;border-radius:var(--radius);background:transparent;color:var(--text);display:flex;align-items:center;gap:var(--space-2);padding:0 10px;text-align:left;transition:background .16s ease}.new-chat-button{background:var(--panel-soft)}.new-chat-button:hover,.sidebar-tool:hover,.sidebar-tool.active,.workspace-admin-toggle:hover{background:color-mix(in srgb,var(--panel-soft) 78%,white)}.sidebar-section{min-height:0;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr)}.sidebar-label{margin:var(--space-4) var(--space-1) var(--space-2);color:var(--muted);font-size:.84rem;font-weight:800}.conversation-list{list-style:none;margin:0;padding:0;overflow-y:auto}.conversation-list li{position:relative;margin-bottom:3px}.conversation-item{width:100%;min-height:38px;border:0;border-radius:var(--radius);background:transparent;color:var(--muted);display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:var(--space-2);padding:0 76px 0 10px;text-align:left}.conversation-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-item small{color:var(--faint)}.conversation-item:hover,.conversation-item.active{color:var(--text);background:var(--panel)}.conversation-actions{position:absolute;right:3px;top:2px;display:flex;opacity:0;transition:opacity .15s ease}.conversation-list li:hover .conversation-actions,.conversation-item.active+.conversation-actions{opacity:1}.rename-form{padding-right:76px}.rename-form input{height:38px;padding:0 10px}.sidebar-loading{display:grid;gap:var(--space-2);padding:0 var(--space-1)}.sidebar-loading span{height:36px;border-radius:var(--radius);background:linear-gradient(90deg,var(--panel),var(--panel-soft),var(--panel));background-size:220% 100%;animation:shimmer 1.2s ease-in-out infinite}.empty-sidebar{color:var(--faint);margin:var(--space-3)}.sidebar-bottom{display:grid;gap:var(--space-2);border-top:1px solid var(--border);padding-top:var(--space-3)}.workspace{min-width:0;height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.workspace-header{min-height:70px;padding:0 var(--space-6);border-bottom:1px solid transparent}.workspace-header h1{margin:0;font-size:1.04rem;max-width:min(620px,60vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-admin-toggle{border-color:var(--border)}.chat-thread{min-height:0;overflow-y:auto;padding:24px max(24px,calc((100% - 820px)/2)) 18px}.thread-state{height:100%;display:grid;place-items:center;align-content:center;gap:var(--space-3);color:var(--muted);text-align:center}.hero-state{max-width:560px;margin:0 auto}.hero-state h1{margin:0;color:var(--text);font-size:1.5rem}.hero-state p{margin:0;line-height:1.55}.notes-list{display:grid;gap:var(--space-4)}.note-bubble{position:relative;max-width:780px;width:100%;margin:0 auto;border:1px solid color-mix(in srgb,var(--border) 72%,transparent);border-radius:var(--radius);background:color-mix(in srgb,var(--panel) 74%,transparent);padding:var(--space-4)}.note-meta{display:flex;gap:var(--space-2);color:var(--faint);font-size:.78rem;margin-bottom:var(--space-2)}.note-content{margin:0;color:var(--text);line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;padding-right:74px}.note-actions{position:absolute;right:var(--space-3);top:var(--space-3);display:flex;gap:2px;opacity:0;transition:opacity .15s ease}.note-bubble:hover .note-actions,.note-actions:focus-within{opacity:1}.note-edit{display:grid;gap:var(--space-3)}.note-edit textarea{min-height:110px}.note-edit-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.composer-shell{display:grid;gap:var(--space-2);padding:var(--space-3) max(16px,calc((100% - 820px)/2)) 12px;background:linear-gradient(180deg,transparent,var(--bg) 26%)}.note-composer{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:end;gap:var(--space-2);border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-raised);padding:var(--space-2);box-shadow:0 10px 32px #0000002e}.note-composer textarea{min-height:42px;max-height:180px;border:0;background:transparent;padding:10px 8px}.send-button{width:42px;height:42px;border:0;border-radius:var(--radius);background:var(--text);color:#171717;display:grid;place-items:center}.send-button:disabled{background:var(--panel-soft);color:var(--faint)}.admin-panel{width:var(--admin-width);height:100dvh;overflow-y:auto;border-left:1px solid var(--border);background:var(--bg-deep);padding:var(--space-4);box-shadow:-18px 0 60px #0003}.admin-header h2{margin:0;font-size:1.1rem}.admin-form{display:grid;gap:var(--space-3);margin:var(--space-5) 0}.checkbox-row{grid-template-columns:18px 1fr;align-items:center}.checkbox-row input{width:16px;height:16px}.credentials-box{display:grid;gap:4px;border:1px solid color-mix(in srgb,var(--accent) 36%,var(--border));border-radius:var(--radius);background:color-mix(in srgb,var(--accent) 10%,transparent);padding:var(--space-3);margin-bottom:var(--space-5)}.credentials-box p{margin:0;color:var(--muted);font-size:.86rem}.credentials-box code{color:var(--accent-strong)}.users-list{display:grid;gap:var(--space-2)}.user-row{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);padding:var(--space-3)}.user-row strong,.user-row span{display:block}.user-row span{margin-top:3px;color:var(--muted);font-size:.83rem}.user-actions{display:flex;gap:var(--space-1)}.panel-loading{color:var(--muted)}.mobile-topbar{display:none}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:var(--space-4);background:#0000008a}.confirm-dialog{width:min(390px,100%);border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);padding:var(--space-5);box-shadow:var(--shadow)}.confirm-dialog h2{margin:0 0 var(--space-2);font-size:1.12rem}.confirm-dialog p{margin:0;color:var(--muted);line-height:1.5}.confirm-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-5)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{background-position:-220% 0}}@media (max-width: 980px){body{overflow:auto}.app-shell{height:100dvh}.mobile-topbar{height:54px;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:var(--space-2);padding:0 var(--space-2);border-bottom:1px solid var(--border);background:var(--bg-deep)}.mobile-topbar strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.layout-grid{height:calc(100dvh - 54px);display:block}.sidebar-layer{position:fixed;top:54px;right:0;bottom:0;left:0;z-index:30;pointer-events:none;background:transparent;transition:background .16s ease}.sidebar-layer.open{pointer-events:auto;background:#00000085}.app-sidebar{width:min(var(--sidebar-width),86vw);transform:translate(-102%);transition:transform .22s var(--ease);box-shadow:var(--shadow)}.sidebar-layer.open .app-sidebar{transform:translate(0)}.sidebar-close{display:grid}.workspace{height:calc(100dvh - 54px)}.workspace-header{display:none}.chat-thread{padding:18px 14px 12px}.composer-shell{padding:10px 10px 8px}.admin-panel{position:fixed;inset:54px 0 0 auto;z-index:40;width:min(var(--admin-width),92vw)}.note-content{padding-right:0}.note-actions{position:static;opacity:1;margin-top:var(--space-3)}}@media (max-width: 620px){.wake-panel,.auth-panel{padding:var(--space-5)}.note-composer{grid-template-columns:minmax(0,1fr) 40px}.send-button{width:40px;height:40px}.confirm-actions{flex-direction:column-reverse}.confirm-actions .base-button{width:100%}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
