:root{--bg-app: #ffffff;--bg-pane: #f8fafc;--bg-header: #ffffff;--bg-editor: #ffffff;--bg-preview: #f8fafc;--diagram-canvas: #ffffff;--text-primary: #111827;--text-secondary: #4b5563;--text-muted: #9ca3af;--brand-color: #3b82f6;--border: #e2e8f0;--btn-primary: #111827;--btn-primary-text: #ffffff;--panel-shadow: 0 10px 30px rgba(15, 23, 42, .05);--canvas-shadow: 0 16px 40px rgba(15, 23, 42, .08);--header-h: 80px;--footer-h: 150px;--sidebar-w: 140px;--font-sans: "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", monospace}.theme-dark{--bg-app: #030712;--bg-pane: #111827;--bg-header: #030712;--bg-editor: #020617;--bg-preview: #08101b;--diagram-canvas: #ffffff;--text-primary: #f9fafb;--text-secondary: #d1d5db;--text-muted: #6b7280;--border: #1f2937;--brand-color: #60a5fa;--btn-primary: #f9fafb;--btn-primary-text: #030712;--panel-shadow: 0 10px 30px rgba(0, 0, 0, .2);--canvas-shadow: 0 18px 42px rgba(2, 6, 23, .3)}*{box-sizing:border-box}body{font-family:var(--font-sans);background-color:var(--bg-app);color:var(--text-primary);margin:0;height:100vh;height:100dvh;overflow:hidden;transition:background-color 0s,color 0s;line-height:1.5}#app-wrapper{display:flex;flex-direction:column;height:100vh;height:100dvh}.header{height:var(--header-h);background-color:var(--bg-header);border-bottom:1px solid var(--border);display:grid;grid-template-columns:260px minmax(0,1fr) auto;align-items:center;padding:0 18px;flex-shrink:0}.brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:1.25rem;letter-spacing:-.02em}.brand-logo{width:24px;height:24px;object-fit:contain;border-radius:4px}.brand-name{font-size:1.1rem;letter-spacing:-.02em}.brand-name span{color:var(--text-muted);font-weight:400}.header-center{display:flex;justify-content:center;align-items:center}.ad-banner-top{width:min(640px,100%);height:60px;background:var(--bg-pane);border-radius:6px;display:flex;align-items:center;justify-content:center;opacity:.72;overflow:hidden}.header-right{display:flex;justify-content:flex-end}.toolbar{display:flex;align-items:flex-end;gap:12px}.control{display:flex;flex-direction:column;gap:4px}.control label{font-size:10px;font-weight:600;text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em}select,input{background:var(--bg-pane);border:1px solid var(--border);color:var(--text-primary);padding:8px 12px;border-radius:6px;font-family:var(--font-sans);font-size:13px;outline:none;height:36px;cursor:pointer;transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease}select:hover,input:hover{border-color:var(--text-muted)}select:focus-visible,input:focus-visible,button:focus-visible,textarea:focus-visible{outline:none;border-color:#3b82f673;box-shadow:0 0 0 4px #3b82f624}.input-row{display:flex;gap:8px}#custom-dpi{width:70px}button{height:36px;padding:0 16px;border-radius:6px;font-family:var(--font-sans);font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;border:none;transition:opacity .14s ease,transform .08s ease,background-color .14s ease,box-shadow .14s ease,color .14s ease}button:active{transform:translateY(1px)}.btn-primary{background:var(--btn-primary);color:var(--btn-primary-text)}.btn-primary:disabled{opacity:.7;cursor:wait}.btn-ghost{background:transparent;color:var(--text-primary);padding:0 8px}.btn-ghost:hover{background:var(--border)}.content-container{flex:1;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-w);background:var(--bg-app);border-right:1px solid var(--border);padding:16px;display:flex;flex-direction:column;align-items:center}.sidebar-right{border-right:none;border-left:1px solid var(--border)}.ad-vertical{width:100%;max-width:108px;height:420px;background:var(--bg-pane);border-radius:8px;display:flex;align-items:center;justify-content:center;opacity:.72;overflow:hidden}.ad-placeholder{font-size:10px;color:var(--text-muted);font-weight:600;letter-spacing:.1em}.pane{flex:1;display:flex;flex-direction:column;position:relative;min-width:0}.pane-editor{flex:0 1 42%;border-right:1px solid var(--border);background:var(--bg-editor)}.pane-preview{flex:1.35 1 58%}.pane-bar{height:44px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:var(--bg-header)}.pane-label{font-size:13px;font-weight:700;letter-spacing:.01em;color:var(--text-secondary)}.pane-bar-right{display:flex;align-items:center;gap:16px}.preview-actions{display:flex;align-items:center}.select-subtle{background:transparent;border:1px solid var(--border);color:var(--text-secondary);font-weight:500;height:28px;padding:0 8px;font-size:12px}.select-subtle:hover{background:var(--bg-pane);border-color:var(--text-muted)}.editor-wrap{flex:1;position:relative;overflow:hidden;background:var(--bg-editor)}textarea{width:100%;height:100%;border:none;resize:none;padding:24px 26px 28px;font-family:var(--font-mono);font-size:15px;line-height:1.75;letter-spacing:-.01em;background:transparent;color:var(--text-primary);outline:none;caret-color:var(--brand-color);tab-size:2}textarea::selection{background:#3b82f62e}.pane-preview{background:var(--bg-preview)}.preview-wrap{flex:1;overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative;cursor:grab;padding:16px}.preview-wrap:active{cursor:grabbing}#render-target{transform-origin:center center;-webkit-user-select:none;user-select:none;pointer-events:none;will-change:transform}#render-target:not(:empty){display:inline-flex;align-items:center;justify-content:center;padding:16px;border-radius:16px;border:1px solid rgba(148,163,184,.16);background:var(--diagram-canvas);box-shadow:var(--canvas-shadow)}#render-target svg{display:block;overflow:visible}.preview-wrap:hover #render-target:not(:empty){box-shadow:0 18px 44px #0f172a1a}.zoom-toolbar{display:flex;align-items:center;background:#ffffffeb;border:1px solid var(--border);border-radius:12px;padding:4px;gap:4px;box-shadow:0 8px 20px #0f172a0f}.theme-dark .zoom-toolbar{background:#0f172ae6}.zoom-toolbar button{background:transparent;border:1px solid transparent;color:var(--text-primary);width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:10px;cursor:pointer;transition:transform .08s ease,background-color .12s ease,border-color .12s ease,box-shadow .12s ease}.theme-dark .zoom-toolbar button{background:transparent}.zoom-toolbar button:hover{background:#3b82f614;border-color:#3b82f624;box-shadow:none;transform:translateY(-1px)}.zoom-toolbar button:active{transform:translateY(0);box-shadow:none}.zoom-toolbar button svg{width:16px;height:16px;min-width:16px}#zoom-val{font-size:12px;font-weight:700;min-width:52px;text-align:center;color:var(--text-secondary);font-variant-numeric:tabular-nums}.zoom-divider{width:1px;height:20px;background:var(--border);margin:0 4px}.status-indicator{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:800;color:var(--text-muted);letter-spacing:.08em}.dot{width:7px;height:7px;border-radius:50%;background:#10b981}.status-indicator.syncing .dot{background:#f59e0b;animation:pulse 1s infinite}.status-indicator.error .dot{background:#ef4444}@keyframes pulse{0%{opacity:1}50%{opacity:.3}to{opacity:1}}.error-display{color:#ef4444;font-family:var(--font-mono);background:#fffffffa;border:1px solid rgba(239,68,68,.2);border-radius:18px;padding:24px;max-width:80%;text-align:left;box-shadow:0 24px 60px #ef44441f}.error-title{font-weight:700;font-size:14px;margin-bottom:8px;text-transform:uppercase}.error-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.error-copy-btn{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3);padding:4px 12px;font-size:11px;font-weight:600;font-family:var(--font-sans);border-radius:4px;cursor:pointer;height:auto;transition:background .2s,border-color .2s}.error-copy-btn:hover{background:#ef444440;border-color:#ef444480}.error-message{font-size:12px;white-space:pre-wrap;line-height:1.5;-webkit-user-select:text;user-select:text;cursor:text}.footer{min-height:var(--footer-h);height:auto;background-color:var(--bg-header);border-top:1px solid var(--border);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px;flex-shrink:0}.footer-ad{width:min(728px,100%);height:90px;background:var(--bg-pane);border-radius:8px;display:flex;align-items:center;justify-content:center;opacity:.72;overflow:hidden}.footer-info{font-size:12px;font-weight:500;color:var(--text-muted)}.footer-sister{font-size:12px;color:var(--text-secondary);display:flex;align-items:center;gap:6px;margin-top:-2px}.footer-sister a{color:var(--brand-color);text-decoration:none;font-weight:600;position:relative;transition:color .2s ease}.footer-sister a:after{content:"";position:absolute;width:100%;transform:scaleX(0);height:1.5px;bottom:-1px;left:0;background-color:var(--brand-color);transform-origin:bottom right;transition:transform .25s ease-out}.footer-sister a:hover:after{transform:scaleX(1);transform-origin:bottom left}.footer-sister .sister-icon{color:var(--brand-color);opacity:.85;display:inline-flex;align-items:center}.hidden{display:none!important}.sun,.moon{width:20px;height:20px}.sun{display:none}.moon,html.theme-dark .sun{display:block}html.theme-dark .moon{display:none}@media(max-width:1400px){.sidebar{display:none}.header{grid-template-columns:1fr auto}.header-center{display:none}.pane-editor{flex-basis:44%}.pane-preview{flex-basis:56%}}@media(max-width:900px){.header{display:flex;flex-direction:column;height:auto;padding:16px;gap:16px}.toolbar{flex-wrap:wrap;justify-content:center;width:100%}.header-right{width:100%;justify-content:center}.content-container{flex-direction:column;overflow-y:auto}.pane{min-height:50vh;border-right:none;border-bottom:1px solid var(--border)}.pane-editor,.pane-preview{flex:1 1 auto}.pane-bar{height:auto;min-height:52px;padding:12px 14px;gap:12px;flex-wrap:wrap}.pane-bar-right,.preview-actions{width:100%;justify-content:space-between}.preview-wrap{padding:14px}textarea{padding:22px 20px 26px;font-size:14px}.pane:last-child{border-bottom:none}}@media(max-width:600px){.brand-name{font-size:1rem}.toolbar{gap:12px}.pane-label{font-size:12px}.zoom-toolbar{width:100%;justify-content:center}#render-target:not(:empty){padding:12px;border-radius:18px}.control label{display:none}select,button{font-size:12px;height:32px}.input-row{width:100%}#dpi-select,#format-select{flex:1}}.faq-floating-container{position:fixed;bottom:20px;left:20px;z-index:10000;font-family:var(--font-sans)}.faq-floating-btn{padding:10px 14px;background-color:var(--bg-pane);border:1px solid var(--border);border-radius:30px;display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.8rem;font-weight:600;color:var(--text-secondary);box-shadow:0 4px 12px #00000014;transition:all .2s ease}.faq-floating-btn:hover{background-color:var(--border);color:var(--text-primary);transform:translateY(-1px);box-shadow:0 6px 16px #0000001f}.faq-floating-btn svg{flex-shrink:0}.faq-popover{position:absolute;bottom:50px;left:0;width:380px;max-height:480px;background-color:var(--bg-pane);border:1px solid var(--border);border-radius:12px;box-shadow:var(--canvas-shadow);overflow-y:auto;padding:20px;text-align:left}.faq-popover.hidden{display:none}.faq-content h3{font-size:.85rem;font-weight:700;margin:0 0 6px;color:var(--text-primary)}.faq-content h3:not(:first-of-type){margin-top:18px}.faq-content p{font-size:.8rem;line-height:1.45;color:var(--text-secondary);margin:0}@media(max-width:480px){.faq-popover{width:calc(100vw - 40px);max-height:60vh}}
