:root{--bg:#1a1a2e;--surface:#16213e;--surface2:#0f3460;--accent:#e94560;--accent-dim:#d63050;--accent2:#6c5ce7;--success:#4ecca3;--danger:#ff6b6b;--text:#eee;--muted:#999;--user-bg:#0f3460;--assistant-bg:#1a1a3e;--radius:12px;--panel:var(--surface);--border:#ffffff14;--border-strong:#ffffff1f}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Hiragino Sans,Noto Sans JP,sans-serif}a{color:var(--accent)}.center-screen{place-items:center;min-height:100dvh;padding:24px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:380px;padding:28px}.card h1{margin:0 0 4px;font-size:22px}.card p.sub{color:var(--muted);margin:0 0 20px;font-size:13px}label{color:var(--muted);margin-bottom:6px;font-size:12px;display:block}input[type=text],input[type=password]{background:var(--bg);border:1px solid var(--border-strong);width:100%;color:var(--text);border-radius:8px;margin-bottom:14px;padding:10px 12px;font-size:14px}input:focus{border-color:var(--accent);outline:none}button.primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;padding:11px;font-size:14px;font-weight:700;transition:opacity .2s}button.primary:hover{opacity:.85}button.primary:disabled{opacity:.4;cursor:default}.error{color:var(--danger);background:#ff6b6b1f;border:1px solid #ff6b6b4d;border-radius:8px;margin:0 0 14px;padding:9px 11px;font-size:13px}.shell{max-width:960px;margin:0 auto;padding:32px 24px}.shell header{align-items:baseline;gap:12px;margin-bottom:24px;display:flex}.shell header h1{margin:0;font-size:20px}.shell header .who{color:var(--muted);font-size:13px}.app-shell{flex-direction:column;height:100dvh;display:flex}.app-header{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;align-items:center;gap:12px;padding:12px 24px;display:flex;position:relative}.logo-area{align-items:center;gap:10px;display:flex}.logo{background:linear-gradient(135deg,#ff6b9d,#e94560,#ff9a76);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:18px;font-weight:700;display:flex;position:relative;overflow:hidden;box-shadow:0 0 12px #e9456066}.logo img{object-fit:cover;border-radius:50%;width:100%;height:100%}.logo:after{content:"";background:linear-gradient(45deg,#0000 40%,#ffffff26 50%,#0000 60%);width:200%;height:200%;animation:3s ease-in-out infinite logo-shine;position:absolute;top:-50%;left:-50%}@keyframes logo-shine{0%,to{transform:translate(-100%)rotate(25deg)}50%{transform:translate(100%)rotate(25deg)}}.app-header h1{letter-spacing:1px;background:linear-gradient(135deg,#ff9a9e,#ffd1e8,#ff6b9d);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:20px;font-weight:700}.app-header .who{color:var(--muted);font-size:12px}button.ghost{border:1px solid var(--border-strong);color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;padding:6px 12px;font-size:12px;transition:all .2s}button.ghost:hover{border-color:var(--accent);color:var(--text)}.sidebar-toggle-btn{background:var(--surface2);color:var(--text);cursor:pointer;border:1px solid #ffffff1a;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:background .2s,transform .25s;display:flex}.sidebar-toggle-btn:hover{background:var(--accent)}.sidebar-toggle-btn.collapsed{transform:rotate(180deg)}.header-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.header-actions .settings-btn,.header-actions .new-chat{background:var(--surface2);color:var(--text);cursor:pointer;white-space:nowrap;border:1px solid #ffffff1a;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;text-decoration:none;transition:background .2s;display:flex}.header-actions .settings-btn:hover,.header-actions .new-chat:hover{background:var(--accent);color:#fff}.header-actions .logout-btn{background:#e9456033;border-color:#e945604d}.header-actions .logout-btn:hover{background:var(--accent)}.header-actions form{display:flex}.btn-icon{flex-shrink:0;width:16px;height:16px}.hamburger-btn{background:var(--surface2);color:var(--text);cursor:pointer;border:1px solid #ffffff1a;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;margin-left:auto;transition:background .2s;display:none}.hamburger-btn svg{width:20px;height:20px}.dropdown-menu{background:var(--surface);border:1px solid var(--border-strong);z-index:200;border-radius:12px;min-width:190px;max-height:70vh;margin-top:4px;padding:6px 0;animation:.15s menuFadeIn;display:none;position:absolute;top:100%;right:10px;overflow-y:auto;box-shadow:0 8px 32px #00000080}.dropdown-menu.active{display:block}@keyframes menuFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dropdown-menu .menu-item{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:12px 16px;font-size:14px;text-decoration:none;transition:background .15s;display:flex}.dropdown-menu .menu-item:hover,.dropdown-menu .menu-item:active{background:#ffffff14}.dropdown-menu .menu-item.memo-item{color:var(--success)}.dropdown-menu .menu-item.logout-item{color:var(--accent)}.dropdown-menu .menu-divider{background:var(--border);height:1px;margin:4px 0}.dropdown-menu form{display:block}.talks-sidebar-header{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;margin-bottom:8px;padding:4px 8px 10px;display:flex}.talks-sidebar-header span{letter-spacing:1px;color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:600}.talks-edit-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:11px;transition:all .2s}.talks-edit-btn:hover{color:var(--text);background:#ffffff0f}.talks-edit-btn.active{color:var(--accent)}.talk-actions{gap:4px;display:flex;position:absolute;bottom:6px;right:6px}.talk-actions button{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:12px}.talk-actions button:hover{color:var(--accent);background:#ffffff14}.status-bar{background:var(--surface);color:var(--muted);border-bottom:1px solid #ffffff0d;flex-shrink:0;justify-content:center;align-items:center;gap:20px;padding:4px 24px;font-size:13px;display:flex}.status-item{align-items:center;gap:6px;transition:all .3s;display:flex}.status-item .status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;transition:background .3s}.status-item .status-label{opacity:.7;font-size:11px;font-weight:600}.status-item.gal .status-label{color:var(--accent)}.status-item.mera .status-label{color:var(--accent2)}.status-item .status-text{font-weight:500}.status-item.idle .status-dot{background:var(--success);box-shadow:0 0 6px #4ecca380}.status-item.idle .status-text{color:var(--success)}.status-item.thinking .status-dot{background:#ffd93d;animation:1.2s ease-in-out infinite pulse-dot;box-shadow:0 0 6px #ffd93d80}.status-item.thinking .status-text{color:#ffd93d}.status-item.offline .status-dot{background:var(--accent);box-shadow:0 0 6px #e9456080}.status-item.offline .status-text{color:var(--accent)}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.kill-pty-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;margin-left:8px;padding:4px 10px;font-size:11px}.chat-wrap{flex:1;min-height:0;display:flex}.chat-side{border-right:1px solid var(--border);background:var(--surface);flex-shrink:0;width:320px;padding:12px 6px;transition:width .25s,padding .25s,border-right-color .25s;overflow-y:auto}.sidebar-collapsed .chat-side{border-right-color:#0000;width:0;padding-left:0;padding-right:0;overflow:hidden}.chat-side::-webkit-scrollbar{width:4px}.chat-side::-webkit-scrollbar-track{background:0 0}.chat-side::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.chat-side ul{margin:10px 0 0;padding:0;list-style:none}.chat-side li{margin-bottom:2px;position:relative}.talk-item{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;gap:2px;margin:0 6px;padding:10px 12px;transition:background .15s;display:flex;position:relative}.talk-item:hover{background:#ffffff0f}.talk-item.active{background:#e945601f;border-color:#e9456040}.talk-item .talk-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;padding-right:40px;font-size:13px;font-weight:500;overflow:hidden}.talk-item.active .talk-title{color:var(--accent)}.talk-item .talk-preview{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.talk-item .talk-time{color:#ffffff40;font-size:10px;position:absolute;top:10px;right:10px}.talk-item:disabled{opacity:.45;cursor:default}button.new-talk{width:calc(100% - 12px);color:var(--accent);cursor:pointer;background:#e9456026;border:1px solid #e945604d;border-radius:8px;margin:0 6px;padding:9px;font-size:13px;transition:all .2s}button.new-talk:hover{background:var(--accent);color:#fff}button.new-talk:disabled{opacity:.45;cursor:default}.chat-main{flex-direction:column;flex:1;min-width:0;display:flex}.chat-log{flex:1;padding:20px;overflow-y:auto}.chat-log .empty{color:var(--muted);text-align:center;margin-top:40px}.bubble{gap:12px;width:100%;max-width:780px;margin:0 auto 18px;animation:.3s fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.bubble .avatar{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:600;display:flex;overflow:hidden}.bubble .avatar img{object-fit:cover;width:100%;height:100%}.bubble.user .avatar{background:var(--surface2)}.bubble.mera .avatar{background:linear-gradient(135deg,#6c5ce7,#a29bfe)}.bubble .body{white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;border-radius:var(--radius);background:var(--assistant-bg);border-left:3px solid var(--accent);flex:1;min-width:0;padding:12px 16px;font-size:15px;line-height:1.7}.bubble.user .body{background:var(--user-bg);border-left:3px solid var(--success)}.bubble.mera .body{background:var(--assistant-bg);border-left:3px solid var(--accent2)}.tool-hint{max-width:780px;color:var(--muted);margin:0 auto;padding:6px 20px;font-size:12px;font-style:italic;animation:1.2s ease-in-out infinite toolPulse}@keyframes toolPulse{0%,to{opacity:.5}50%{opacity:1}}.chat-input{border-top:1px solid var(--border);background:var(--surface);gap:12px;padding:16px 24px;display:flex}.chat-input form,.chat-input .composer{align-items:flex-end;gap:12px;width:100%;max-width:780px;margin:0 auto;display:flex}.chat-input textarea{resize:none;background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text);flex:1;min-height:48px;max-height:150px;padding:12px 16px;font-family:inherit;font-size:15px;line-height:1.5;transition:border-color .2s}.chat-input textarea:focus{border-color:var(--accent);outline:none}.send-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;transition:opacity .2s,transform .1s;display:flex}.send-btn:hover{opacity:.85}.send-btn:active{transform:scale(.95)}.send-btn:disabled{opacity:.4;cursor:not-allowed}.app-nav{flex-wrap:wrap;gap:14px;margin-left:auto;display:flex}.app-nav a{color:var(--muted);font-size:13px;text-decoration:none}.app-nav a:hover{color:var(--text)}.page{flex:1;padding:24px 28px;overflow-y:auto}.page h2{margin:0 0 20px;font-size:18px;font-weight:600}.page h2 a{text-decoration:none}.page .empty{color:var(--muted)}.card-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.dept-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);flex-direction:column;gap:4px;padding:18px;text-decoration:none;transition:all .2s;display:flex}.dept-card:hover{border-color:var(--accent);background:var(--surface2)}.dept-card .icon{font-size:26px}.dept-card .name{font-weight:600}.dept-card .desc{color:var(--muted);font-size:12px}.sys-list{flex-direction:column;gap:8px;max-width:900px;display:flex}.sys-row{background:var(--surface);border:1px solid var(--border);border-radius:10px;align-items:center;gap:12px;padding:12px 14px;display:flex}.sys-row .dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.sys-row .dot.on{background:var(--success)}.sys-row .dot.off{background:#666}.sys-row .sys-name{min-width:180px;font-size:14px}.sys-row .sys-procs{color:var(--muted);margin-right:auto;font-size:11px}.sys-row button{cursor:pointer;border-radius:8px;width:auto;padding:6px 16px;font-size:12px}.badge{color:var(--muted);border:1px solid var(--border);border-radius:6px;padding:4px 8px;font-size:11px}.modal-backdrop{z-index:50;background:#0009;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border-strong);border-radius:14px;width:100%;max-width:400px;padding:22px}.modal h3{margin:0 0 8px;font-size:16px}.modal p{color:var(--muted);margin:0 0 20px;font-size:13px;line-height:1.6}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.modal-actions button{width:auto;padding:8px 18px;font-size:13px}button.primary.danger{background:var(--accent);color:#fff}button.primary.danger:hover{background:var(--accent-dim);opacity:1}table.data{border-collapse:collapse;width:100%;font-size:13px}table.data th,table.data td{text-align:left;border-bottom:1px solid var(--border);padding:9px 10px}table.data th{color:var(--muted);font-size:12px;font-weight:500}table.data tr:hover td{background:#ffffff0a}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.toolbar select,.toolbar input[type=text],.toolbar input[type=search]{background:var(--bg);border:1px solid var(--border-strong);color:var(--text);border-radius:8px;margin:0;padding:7px 10px;font-size:13px}.toolbar button{width:auto;padding:7px 14px;font-size:13px}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:22px;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px}.stat .label{color:var(--muted);font-size:11px}.stat .value{margin-top:4px;font-size:20px;font-weight:600}@media (max-width:768px){.app-header{padding:10px 14px}.header-actions{display:none}.hamburger-btn{display:flex}.sidebar-toggle-btn{display:none}.app-header h1{font-size:17px}.chat-wrap{position:relative}.chat-side{z-index:100;width:80%;max-width:280px;height:100%;transition:transform .3s;position:absolute;top:0;left:0;transform:translate(-100%);box-shadow:4px 0 20px #0006}.sidebar-open .chat-side{transform:translate(0)}.sidebar-collapsed .chat-side{width:80%;padding:12px 6px}.chat-log{padding:12px 8px}.chat-input{padding:12px 10px}.bubble{gap:8px}.status-bar{gap:12px;padding:4px 12px;font-size:12px}}
