.app[data-v-127bc2ec]{min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--text)}.sidebar[data-v-127bc2ec]{position:fixed;left:0;top:0;bottom:0;width:260px;background:var(--sidebar-bg);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:100}.sidebar-header[data-v-127bc2ec]{padding:12px 16px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--border)}.logo[data-v-127bc2ec]{font-size:14px;font-weight:600;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.icon-btn[data-v-127bc2ec]{width:36px;height:36px;border:none;background:var(--btn-bg);color:var(--text);border-radius:8px;cursor:pointer;font-size:14px}.icon-btn[data-v-127bc2ec]:hover{background:var(--hover)}.search-wrap[data-v-127bc2ec]{padding:8px}.search-input[data-v-127bc2ec]{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--input-bg);color:var(--text);font-size:14px}.search-input[data-v-127bc2ec]::placeholder{color:var(--muted)}.nav[data-v-127bc2ec]{flex:1;overflow-y:auto;padding:8px 0}.nav-group[data-v-127bc2ec]{padding:0 12px 12px}.nav-group-title[data-v-127bc2ec]{font-size:11px;text-transform:uppercase;color:var(--muted);padding:8px 4px 4px;display:block}.nav-link[data-v-127bc2ec]{display:block;padding:8px 12px;color:var(--text);text-decoration:none;border-radius:6px;font-size:14px;margin-bottom:2px}.nav-link-wrap[data-v-127bc2ec]{display:flex;align-items:center;margin-bottom:2px;border-radius:6px}.nav-link-wrap[data-v-127bc2ec]:hover{background:var(--hover)}.nav-link-wrap .nav-link.active[data-v-127bc2ec]{background:var(--accent-bg);color:var(--accent)}.nav-link[data-v-127bc2ec]{flex:1;padding:8px 12px;color:var(--text);text-decoration:none;border-radius:6px;font-size:14px;text-align:left;border:none;background:none}.nav-link[data-v-127bc2ec]:hover{background:transparent}.star-btn[data-v-127bc2ec]{padding:4px 8px;border:none;background:none;color:var(--muted);cursor:pointer;font-size:14px}.star-btn[data-v-127bc2ec]:hover,.star-btn.starred[data-v-127bc2ec]{color:#f59e0b}.nav-link-wrap .nav-link.active+.star-btn[data-v-127bc2ec]{color:var(--accent)}.nav-link-wrap .nav-link.active+.star-btn.starred[data-v-127bc2ec]{color:#f59e0b}.main[data-v-127bc2ec]{flex:1;margin-left:260px;padding:24px;min-height:calc(100vh - 120px)}.footer[data-v-127bc2ec]{margin-left:260px;padding:16px 24px;border-top:1px solid var(--border);background:var(--footer-bg);text-align:center;font-size:12px;color:var(--muted)}.footer a[data-v-127bc2ec]{color:var(--accent);margin-left:8px}.no-cloud[data-v-127bc2ec]{margin-bottom:4px}.fade-enter-active[data-v-127bc2ec],.fade-leave-active[data-v-127bc2ec]{transition:opacity .15s ease}.fade-enter-from[data-v-127bc2ec],.fade-leave-to[data-v-127bc2ec]{opacity:0}:root,[data-theme=light]{--bg: #f8fafc;--sidebar-bg: #f1f5f9;--footer-bg: #e2e8f0;--text: #0f172a;--muted: #64748b;--border: #e2e8f0;--input-bg: #fff;--btn-bg: #e2e8f0;--hover: #e2e8f0;--accent: #0ea5e9;--accent-bg: #e0f2fe;--code-bg: #f1f5f9;--success: #22c55e;--error: #ef4444}[data-theme=dark]{--bg: #0f172a;--sidebar-bg: #1e293b;--footer-bg: #1e293b;--text: #f1f5f9;--muted: #94a3b8;--border: #334155;--input-bg: #1e293b;--btn-bg: #334155;--hover: #334155;--accent: #38bdf8;--accent-bg: #0c4a6e;--code-bg: #1e293b;--success: #4ade80;--error: #f87171}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}#app{min-height:100vh}.tool-page{max-width:1200px;margin:0 auto}.tool-title{font-size:24px;font-weight:600;margin-bottom:20px}.tool-actions{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.btn{padding:8px 16px;border:1px solid var(--border);border-radius:8px;background:var(--btn-bg);color:var(--text);cursor:pointer;font-size:14px}.btn:hover{background:var(--hover)}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{opacity:.9}.textarea-wrap{display:flex;gap:16px;flex-wrap:wrap}.textarea-box{flex:1;min-width:280px}.textarea-box label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}.textarea-box textarea{width:100%;min-height:200px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--input-bg);color:var(--text);font-family:JetBrains Mono,Fira Code,monospace;font-size:13px;resize:vertical}.textarea-box textarea:focus{outline:none;border-color:var(--accent)}.tool-bar{display:flex;gap:8px;margin-top:8px}
