*{margin:0;padding:0;box-sizing:border-box}button{background:none;border:none;color:inherit;font:inherit;cursor:pointer;-webkit-appearance:none;appearance:none}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden;-webkit-user-select:none;user-select:none;width:100vw;height:100vh}#root{width:100vw;height:100vh}@keyframes loading{0%{transform:translate(-100%)}50%{transform:translate(150%)}to{transform:translate(400%)}}@keyframes typingBounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-5px);opacity:1}}.typing-dots span{display:inline-block;width:6px;height:6px;background:currentColor;border-radius:50%;animation:typingBounce 1.2s infinite}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}.terminal-content{padding:14px 16px;font-family:SF Mono,Fira Code,Menlo,monospace;font-size:12px;line-height:1.8;color:#f0f0f599;height:100%;overflow:auto;background:#0a0c1866;word-break:break-all;overflow-wrap:break-word}.terminal-content .terminal-line{opacity:0;animation:terminalType .3s forwards}.terminal-content .terminal-line:nth-child(1){animation-delay:.2s}.terminal-content .terminal-line:nth-child(2){animation-delay:.6s}.terminal-content .terminal-line:nth-child(3){animation-delay:1s}.terminal-content .terminal-line:nth-child(4){animation-delay:1.4s}.terminal-content .terminal-line:nth-child(5){animation-delay:1.8s}@keyframes terminalType{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.terminal-content .t-prompt{color:#00d4aa}.terminal-content .t-cmd{color:#f0f0f5}.terminal-content .t-output{color:#f0f0f559}.terminal-content .t-success{color:#28c840}.terminal-content .cursor-blink{display:inline-block;width:7px;height:14px;background:#00d4aa;margin-left:2px;animation:blink 1s step-end infinite;vertical-align:middle}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.terminal-content .terminal-input-line{opacity:1;animation:none;display:flex;align-items:center}.terminal-content .terminal-input{flex:1;background:transparent;border:none;outline:none;color:#f0f0f5;font:inherit;padding:0;caret-color:#00d4aa}.services-list{padding:12px;display:flex;flex-direction:column;gap:4px;height:100%;overflow:auto}.services-list .service-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:8px;cursor:pointer;transition:all .2s;border:1px solid transparent}.services-list .service-item:hover{background:#ffffff0f}.services-list .service-item.active{background:#00d4aa1a;border-color:#00d4aa26}.services-list .service-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.services-list .service-g1{background:linear-gradient(135deg,#00d4aa,#08c)}.services-list .service-g2{background:linear-gradient(135deg,#667eea,#764ba2)}.services-list .service-g3{background:linear-gradient(135deg,#f093fb,#f5576c)}.services-list .service-g7{background:linear-gradient(135deg,#fccb90,#d57eeb)}.services-list .service-info h4{font-size:13px;font-weight:600;margin-bottom:2px;color:#f0f0f5}.services-list .service-info{flex:1;min-width:0}.services-list .service-info p{font-size:11px;color:#f0f0f559;font-weight:300;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.services-list .status-active,.services-list .status-idle,.services-list .status-dim{font-size:10px;padding:3px 8px;border-radius:10px;font-weight:500;flex-shrink:0}.services-list .status-active{color:#00d4aa;background:#00d4aa26}.services-list .status-idle{color:#f0f0f580;background:#ffffff0f}.services-list .status-dim{color:#f0f0f54d;background:#ffffff0a}.services-empty .empty-msg{color:#f0f0f559;font-size:12px;text-align:center;padding:24px 12px}.stats-grid{padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:12px;height:100%;overflow:hidden}.stats-grid .stat-card{padding:14px;background:#ffffff08;border-radius:8px;border:1px solid rgba(255,255,255,.04)}.stats-grid .stat-value{font-size:22px;font-weight:700;color:#00d4aa;margin-bottom:4px}.stats-grid .stat-label{font-size:10px;color:#f0f0f559;text-transform:uppercase;letter-spacing:1px;font-weight:500}.stats-grid .stat-bar{margin-top:8px;height:3px;background:#ffffff0f;border-radius:2px;overflow:hidden}.stats-grid .stat-bar-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,#00d4aa,#00a5ff);transform-origin:left;transform:scaleX(0);animation:statBarFill 1.5s .8s cubic-bezier(.16,1,.3,1) forwards}@keyframes statBarFill{to{transform:scaleX(1)}}.mac-notification{position:fixed;top:52px;left:16px;width:320px;background:#1e1e32d9;backdrop-filter:blur(30px) saturate(1.5);-webkit-backdrop-filter:blur(30px) saturate(1.5);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:14px 16px;display:flex;align-items:flex-start;gap:12px;z-index:2000;box-shadow:0 12px 40px #0006;animation:notifSlide .4s .8s cubic-bezier(.16,1,.3,1) both;font-family:Outfit,Noto Sans KR,-apple-system,sans-serif}@keyframes notifSlide{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.mac-notification .notif-icon{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#00d4aa,#08c);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.mac-notification .notif-content{flex:1;min-width:0}.mac-notification .notif-content h5{font-size:13px;font-weight:600;margin:0 0 3px;color:#f0f0f5}.mac-notification .notif-content p{font-size:12px;color:#f0f0f599;font-weight:300;line-height:1.4;margin:0}.mac-notification .notif-time{font-size:10px;color:#f0f0f559;flex-shrink:0}.mac-notification .notif-close{position:absolute;top:6px;right:8px;width:18px;height:18px;border-radius:50%;border:none;background:#ffffff14;color:#f0f0f5b3;font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;opacity:0;transition:opacity .15s,background .15s}.mac-notification:hover .notif-close{opacity:1}.mac-notification .notif-close:hover{background:#ff5f57cc;color:#fff}
