.header{display:flex;flex-direction:column;border-bottom:1px solid var(--border);flex-shrink:0;overflow:hidden}.header-top{display:flex;align-items:center;justify-content:space-between;padding:10px 16px 6px}.header-brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.header-logo{font-size:18px;font-weight:700;color:var(--cyan);text-decoration:none;letter-spacing:-.02em}.header-logo:hover{opacity:.85}.header-status{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:500}.header-status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.header-status-dot.pulse{animation:pulse-dot 1.5s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.header-status-label{letter-spacing:.02em;text-transform:uppercase}.header-nav-wrap{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:0 8px 8px}.header-nav-wrap::-webkit-scrollbar{display:none}.header-nav{display:flex;gap:2px;width:max-content;overflow-x:auto;-webkit-overflow-scrolling:touch}.header-link{padding:5px 11px;border-radius:var(--radius);color:var(--text-dim);text-decoration:none;font-size:13px;font-weight:500;transition:all .15s;white-space:nowrap}.header-link:hover{color:var(--text);background:var(--card)}.header-link-active{color:var(--cyan);background:#00c8ff14}@media(max-width:599px){.header-authed .header-nav-wrap{display:none}.header-authed{border-bottom:none}}@media(min-width:600px){.header{flex-direction:row;align-items:center;justify-content:space-between;padding:10px 20px}.header-top{padding:0}.header-nav-wrap{padding:0;overflow:visible;flex-shrink:1;min-width:0}.header-nav{width:auto}}.mobile-dock{display:none;background:var(--bg);padding:8px 8px 6px;border-bottom:1px solid var(--border)}.mobile-dock-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.mobile-dock-item{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px 6px;border-radius:10px;text-decoration:none;transition:background .12s;position:relative}.mobile-dock-item:hover{background:var(--card)}.mobile-dock-item.active{background:#00c8ff14}.mobile-dock-item.active .mobile-dock-icon{filter:drop-shadow(0 0 6px rgba(0,200,255,.5))}.mobile-dock-item.active .mobile-dock-label{color:var(--cyan)}.mobile-dock-icon{font-size:1.4rem;line-height:1}.mobile-dock-label{font-size:.6rem;color:var(--text-dim);letter-spacing:.02em;font-weight:500;white-space:nowrap}@media(max-width:599px){.mobile-dock{display:block}}.chat-page{display:flex;flex-direction:column;flex:1;overflow:hidden}.chat-messages{flex:1;overflow-y:auto;padding:24px 20px;display:flex;flex-direction:column;gap:16px}.chat-landing{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:8px;opacity:.5}.chat-landing-avatar{width:120px;height:120px;border-radius:50%;object-fit:cover;border:2px solid var(--cyan);opacity:.85}.chat-landing-text{font-family:Cinzel,serif;font-size:20px;color:var(--text)}.chat-landing-sub{font-size:12px;color:var(--text-dim)}.chat-msg{max-width:720px}.chat-msg-user{align-self:flex-end}.chat-msg-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:4px}.chat-msg-content{background:var(--card);border:1px solid var(--border);border-radius:6px;padding:10px 14px;font-size:14px;line-height:1.5;color:var(--text)}.chat-msg-user .chat-msg-content{background:var(--bg2);border-color:var(--border2)}.chat-typing{display:flex;gap:4px;padding:12px 14px}.chat-typing .dot{width:6px;height:6px;border-radius:50%;background:var(--text-muted);animation:dotPulse 1.2s infinite ease-in-out}.chat-typing .dot:nth-child(2){animation-delay:.2s}.chat-typing .dot:nth-child(3){animation-delay:.4s}@keyframes dotPulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.chat-input-area{padding:12px 20px 20px;border-top:1px solid var(--border);background:var(--bg)}.chat-form{display:flex;gap:8px;align-items:flex-end}.chat-input{flex:1;background:var(--card);border:1px solid var(--border2);border-radius:6px;color:var(--text);font-family:Inter,sans-serif;font-size:14px;padding:12px 14px;resize:none;outline:none;min-height:46px;max-height:120px}.chat-input:focus{border-color:var(--cyan-dim)}.chat-input::placeholder{color:var(--text-muted)}.chat-send-btn{background:var(--cyan);color:var(--bg);border:none;border-radius:6px;padding:12px 20px;font-family:Inter,sans-serif;font-size:13px;font-weight:500;cursor:pointer;height:46px;transition:opacity .15s}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.chat-send-btn:not(:disabled):hover{opacity:.85}.home-page{max-width:820px;margin:0 auto;padding:3rem 1.5rem 4rem;display:flex;flex-direction:column;gap:2.5rem}.home-greeting{display:flex;align-items:center;gap:1.1rem}.home-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid var(--cyan, #22d3ee);opacity:.9}.home-greeting-text{display:flex;flex-direction:column;gap:.15rem}.home-name{font-family:Cinzel,serif;font-size:1.4rem;color:var(--text, #eee);line-height:1}.home-sub{font-size:.75rem;color:var(--text-muted, #888);letter-spacing:.05em;text-transform:uppercase}.home-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.home-app{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem .75rem 1.25rem;background:var(--surface, #1a1a2e);border:1px solid var(--border, #2a2a3e);border-radius:14px;cursor:pointer;transition:transform .12s ease,border-color .15s ease,background .15s ease;text-align:center;position:relative;overflow:hidden}.home-app:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--app-color, #22d3ee);opacity:.6;transition:opacity .15s}.home-app:hover{transform:translateY(-2px);border-color:var(--app-color, #22d3ee);background:color-mix(in srgb,var(--app-color, #22d3ee) 6%,var(--surface, #1a1a2e))}.home-app:hover:before{opacity:1}.home-app:active{transform:translateY(0)}.home-app-icon{font-size:2.6rem;line-height:1;color:var(--app-color, #22d3ee);filter:drop-shadow(0 0 10px color-mix(in srgb,var(--app-color, #22d3ee) 40%,transparent))}.home-app-label{font-size:.85rem;font-weight:600;color:var(--text, #eee);letter-spacing:.01em}.home-app-desc{font-size:.68rem;color:var(--text-muted, #888);line-height:1.3}@media(max-width:640px){.home-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:420px){.home-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:599px){.home-grid{display:none}.home-page{padding-top:2rem;gap:1rem}}.tx-page{display:flex;flex:1;min-height:0;max-width:1100px;width:100%;margin:0 auto;gap:1.5rem;padding:1.5rem}.tx-sidebar{width:300px;flex-shrink:0;display:flex;flex-direction:column;gap:.75rem}.tx-sidebar-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.tx-sidebar-head h1{font-family:Cinzel,serif;font-size:1.2rem;font-weight:500;color:var(--text)}.tx-count{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.tx-group{display:flex;flex-direction:column;gap:4px}.tx-group-date{font-size:.68rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;padding:6px 2px 2px}.tx-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:9px 12px;background:var(--card);border:1px solid var(--border);border-left:2px solid var(--border2);border-radius:var(--radius);color:var(--text);transition:border-color .15s,background .15s}.tx-item:hover{background:var(--card-hover);border-color:var(--cyan-dim)}.tx-item-active{border-left-color:var(--cyan);background:var(--card-hover)}.tx-item-title{font-size:.85rem;font-weight:500;text-transform:capitalize}.tx-item-meta{font-size:.68rem;color:var(--text-muted)}.tx-empty{padding:1rem;background:var(--card);border:1px dashed var(--border2);border-radius:var(--radius);color:var(--text-dim);font-size:.85rem}.tx-empty-sub{margin-top:4px;font-size:.72rem;color:var(--text-muted)}.tx-empty code{color:var(--cyan);font-size:.7rem}.tx-error{color:var(--red);font-size:.85rem;padding:.5rem 0}.tx-loading{color:var(--text-dim);padding:2rem}.tx-main{flex:1;min-width:0;display:flex;flex-direction:column}.tx-placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;opacity:.5;min-height:50vh}.tx-avatar{width:110px;height:110px;border-radius:50%;object-fit:cover;border:2px solid var(--cyan);opacity:.85}.tx-placeholder-text{font-family:Cinzel,serif;font-size:18px;color:var(--text)}.tx-placeholder-sub{font-size:12px;color:var(--text-dim)}.tx-doc{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:1.25rem 1.5rem 2rem;position:relative;overflow:hidden}.tx-doc:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--cyan);opacity:.6}.tx-doc-head{display:flex;align-items:flex-start;gap:.9rem;margin-bottom:1.25rem;padding-bottom:.9rem;border-bottom:1px solid var(--border)}.tx-back{background:none;border:1px solid var(--border2);color:var(--text-dim);border-radius:var(--radius-sm);padding:4px 10px;font-size:.75rem}.tx-back:hover{color:var(--cyan);border-color:var(--cyan-dim)}.tx-doc-title{font-family:Cinzel,serif;font-size:1.15rem;color:var(--text);text-transform:capitalize}.tx-doc-meta{font-size:.7rem;color:var(--text-muted);margin-top:3px}.tx-doc-body{font-size:.92rem;line-height:1.6;color:var(--text);display:flex;flex-direction:column;gap:.65rem}.tx-doc-body h1,.tx-doc-body h2,.tx-doc-body h3{font-family:Cinzel,serif;font-weight:500;color:var(--text);margin-top:.5rem}.tx-doc-body h1{font-size:1.2rem}.tx-doc-body h2{font-size:1.05rem}.tx-doc-body h3{font-size:.95rem;color:var(--text-dim)}.tx-doc-body code{background:var(--bg2);border:1px solid var(--border);border-radius:3px;padding:0 4px;font-size:.85em;color:var(--cyan)}.tx-doc-body pre{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem;overflow-x:auto}.tx-doc-body pre code{border:0;padding:0;background:none;color:var(--text)}.tx-doc-body ul,.tx-doc-body ol{padding-left:1.4rem}.tx-doc-body blockquote{border-left:2px solid var(--purple-dim);padding-left:.8rem;color:var(--text-dim)}.tx-doc-body hr{border:0;border-top:1px solid var(--border);margin:.5rem 0}.tx-doc-body a{color:var(--cyan)}.tx-line{padding:8px 12px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg2)}.tx-who{display:inline-block;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-right:8px}.tx-time{font-size:.65rem;color:var(--text-muted);margin-right:8px}.tx-jack{border-left:2px solid var(--purple)}.tx-jack .tx-who{color:var(--purple)}.tx-clea{border-left:2px solid var(--cyan)}.tx-clea .tx-who{color:var(--cyan)}@media(max-width:720px){.tx-page{flex-direction:column;padding:1rem}.tx-sidebar{width:100%}.tx-sidebar-collapsed{display:none}.tx-placeholder{min-height:40vh}}.app{display:flex;flex-direction:column;min-height:100dvh}.app-top{flex-shrink:0}@media(max-width:599px){.app-top{position:sticky;top:0;z-index:100;background:var(--bg)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #070710;--bg2: #0d0d1e;--card: #12122a;--card-hover: #1a1a3a;--border: #1e1e3a;--border2: #2a2a4a;--cyan: #00c8ff;--cyan-dim: #007a9e;--purple: #9933ff;--purple-dim: #5a1f99;--text: #e8e8f0;--text-dim: #7878a0;--text-muted: #444460;--red: #ff4455;--green: #00ff88;--amber: #ffaa00;--radius: 8px;--radius-sm: 4px}html,body,#root{min-height:100dvh;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,sans-serif;font-size:14px;overflow-x:hidden;overflow-y:auto}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500;letter-spacing:.02em}.badge-active{background:#00c8ff1f;color:var(--cyan)}.badge-todo{background:#7878a026;color:var(--text-dim)}.badge-queued{background:#9933ff1f;color:var(--purple)}.badge-blocked{background:#ffaa001f;color:var(--amber)}.badge-failed,.badge-rejected{background:#ff44551f;color:var(--red)}.badge-done{background:#00ff881a;color:var(--green)}.badge-big{background:#00c8ff1a;color:var(--cyan)}.badge-little{background:#9933ff1f;color:var(--purple)}.badge-priority{background:#fa03;color:var(--amber);font-weight:600}.badge-high{background:#ff44551f;color:var(--red)}.badge-low{background:#00ff881a;color:var(--green)}
