:root{--accent: #8b5cf6;--accent-2: #4f8cff;--ease: .35s cubic-bezier(.4, 0, .2, 1);--radius: 12px;--bg: #0d1117;--panel: #161b22;--panel-2: #1c222b;--line: #2a313c;--txt: #e6edf3;--mut: #8b949e;--hover: #1f2530;--shadow: 0 10px 30px rgba(0,0,0,.45);--ok: #2ea043;--err: #f85149;--warn: #d29922}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--txt);font-family:Inter,Segoe UI,system-ui,sans-serif;font-size:14px}a{color:inherit;text-decoration:none}button{font:inherit}.loading{min-height:100vh;display:grid;place-items:center;color:var(--mut)}.echo-shell{display:flex;height:100vh;overflow:hidden}.echo-side{width:280px;flex-shrink:0;background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;height:100%}.echo-brand{font-weight:800;font-size:20px;letter-spacing:-.02em;color:var(--accent);padding:18px 18px 12px;flex-shrink:0}.echo-sidebar{flex:1;overflow-y:auto;padding:4px 10px 12px;display:flex;flex-direction:column;gap:2px}.echo-sec-title{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);padding:14px 8px 6px}.echo-sec-title button{border:0;background:transparent;color:var(--mut);cursor:pointer;font-size:14px;line-height:1;padding:2px 5px;border-radius:6px;opacity:.6;transition:opacity .15s,background-color .15s,color .15s}.echo-sec-title button:hover{opacity:1;background:var(--hover);color:var(--txt)}.echo-space{display:flex;flex-direction:column}.echo-space-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border-radius:8px;color:var(--txt);font-size:13px;font-weight:600;transition:background-color .15s}.echo-space-head:hover{background:var(--hover)}.echo-space-head button{border:0;background:transparent;color:var(--mut);cursor:pointer;font-size:14px;line-height:1;padding:2px 5px;border-radius:6px;opacity:0;transition:opacity .15s,background-color .15s,color .15s}.echo-space-head:hover button{opacity:.7}.echo-space-head button:hover{opacity:1;background:var(--panel-2);color:var(--txt)}.echo-tree{list-style:none;margin:0;padding:0 0 0 14px}.echo-tree .echo-tree{padding-left:16px}.echo-node{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:8px;color:var(--mut);font-size:13px;transition:background-color .15s,color .15s}.echo-node:hover{background:var(--hover);color:var(--txt)}.echo-node.active{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--txt)}.echo-node-title{flex:1;min-width:0;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.echo-node button{border:0;background:transparent;color:var(--mut);cursor:pointer;font-size:13px;line-height:1;padding:3px 5px;border-radius:6px;flex-shrink:0;opacity:0;transition:opacity .15s,background-color .15s,color .15s}.echo-node:hover button{opacity:.6}.echo-node button:hover{opacity:1;background:var(--panel-2);color:var(--txt)}.echo-side-foot{flex-shrink:0;display:flex;flex-direction:column;gap:4px;padding:12px 18px;border-top:1px solid var(--line);color:var(--mut);font-size:12px}.echo-side-foot a{transition:color .15s}.echo-side-foot a:hover{color:var(--txt)}.echo-main{flex:1;min-width:0;height:100%;overflow-y:auto}.echo-page{max-width:820px;margin:0 auto;padding:48px 32px 80px;display:flex;flex-direction:column;gap:10px}.echo-title{border:0;outline:none;background:transparent;color:var(--txt);font-size:32px;font-weight:800;letter-spacing:-.02em;padding:4px 0;width:100%}.echo-title::placeholder{color:var(--mut)}.echo-body{border:0;outline:none;background:transparent;color:var(--txt);width:100%;min-height:60vh;resize:vertical;font:inherit;font-size:15px;line-height:1.7;padding:8px 0}.echo-body::placeholder{color:var(--mut)}.echo-savestate{color:var(--mut);font-size:12px;padding-top:6px}.echo-empty{height:100%;min-height:60vh;display:grid;place-items:center;color:var(--mut);font-size:14px;text-align:center;padding:24px}@media (max-width: 720px){.echo-shell{flex-direction:column;height:auto;min-height:100vh;overflow:visible}.echo-side{width:100%;height:auto;max-height:40vh;border-right:0;border-bottom:1px solid var(--line)}.echo-main{height:auto;overflow-y:visible}.echo-page{padding:24px 16px 48px}.echo-title{font-size:26px}}
