:root{--bg-main:#0d1117;--bg-panel:#161b22;--bg-elevated:#1c2128;--bg-editor:#1e1e1e;--text-primary:#e6edf3;--text-secondary:#8b949e;--text-muted:#6e7681;--accent-green:#39ff14;--accent-green-subtle:#238636;--accent-error:#e24b4a;--accent-warning:#ef9f27;--accent-open:#2ea043;--border-subtle:#30363d;--border-divider:#555;--font-primary:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--shadow-panel:0 4px 12px #0006;--shadow-card:0 2px 8px #0000004d}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-primary);background:var(--bg-main);color:var(--text-primary);overflow:hidden}.app-header{min-height:64px;padding:10px var(--space-lg);background:var(--bg-panel);border-bottom:1px solid var(--border-subtle);z-index:100;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex;position:sticky;top:0}.header-left{align-items:center;gap:var(--space-md);display:flex}.app-logo{width:auto;height:40px;display:block}.app-title{letter-spacing:-.02em;color:var(--text-primary);font-size:1.33rem;font-weight:800}.header-center{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.header-right{justify-content:flex-end;align-items:center;min-width:140px;display:flex}.github-link{background:var(--bg-main);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.github-link:hover{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--text-muted)}.github-link svg{width:16px;height:16px}.mode-selector{background:var(--bg-main);border-radius:var(--radius-lg);gap:3px;padding:3px;display:flex}.mode-btn{font-family:var(--font-primary);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;font-size:.875rem;font-weight:500;transition:all .15s}.mode-btn:hover{color:var(--text-primary);background:var(--bg-elevated)}.mode-btn.active{background:var(--accent-green);color:var(--bg-main);font-weight:600;box-shadow:0 0 12px #39ff144d}.header-right{align-items:center;display:flex}.status-badge{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-lg);align-items:center;font-size:.875rem;font-weight:600;transition:all .2s;display:inline-flex}.status-badge.badge-ok{background:var(--accent-green);color:var(--bg-main)}.status-badge.badge-err{background:var(--accent-error);color:#fff;animation:.3s pulse}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.sample-selector{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);font-family:var(--font-primary);margin-left:var(--space-md);cursor:pointer;appearance:none;background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%238b949e%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E);background-position:right .7rem top 50%;background-repeat:no-repeat;background-size:.65rem;outline:none;padding-right:2rem;font-size:.85rem;transition:all .15s}.sample-selector:hover{border-color:var(--text-muted)}.sample-selector:focus{border-color:var(--accent-green)}.sample-selector optgroup{background:var(--bg-panel);color:var(--text-muted);font-weight:600}.sample-selector option{background:var(--bg-editor);color:var(--text-primary)}.sample-selector option:checked,.sample-selector option:hover{color:#fff;background-color:var(--accent-green-subtle)!important}.app-main{height:calc(100vh - 112px);display:flex;overflow:hidden}.editor-panel{background:var(--bg-editor);flex:0 0 60%;height:100%;position:relative;overflow:hidden}.error-panel{background:var(--bg-panel);border-left:2px solid var(--border-divider);flex:0 0 40%;min-width:0;height:100%;overflow:hidden auto}.error-panel::-webkit-scrollbar{width:8px}.error-panel::-webkit-scrollbar-track{background:var(--bg-main)}.error-panel::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:4px}.error-panel::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}#editor-pane{width:100%;height:100%}#editor-pane .cm-editor{height:100%;font-family:var(--font-mono);font-size:14px}#editor-pane .cm-scroller{width:100%;height:100%;overflow:auto}.welcome-screen{background:var(--bg-main);z-index:50;text-align:center;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;transition:opacity .3s,visibility .3s;display:flex;position:absolute;inset:0}.welcome-screen.hidden{opacity:0;visibility:hidden}.welcome-logo{width:120px;margin-bottom:var(--space-lg);animation:3s ease-in-out infinite float}.welcome-screen h2{margin-bottom:var(--space-sm);color:var(--text-primary);font-size:2rem}.welcome-screen p{color:var(--text-secondary);font-size:1.1rem}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.app-main.html-mode .editor-panel{display:none}.app-main.html-mode .error-panel{border-left:none;flex:100%}#error-pane{padding:var(--space-md)}.no-errors{height:100%;color:var(--accent-green);text-align:center;justify-content:center;align-items:center;gap:var(--space-md);flex-direction:column;font-size:1.1rem;font-weight:600;display:flex}.no-errors:before{content:"✓";background:#39ff1426;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;font-size:2rem;display:flex}.coming-soon{text-align:center;height:100%;color:var(--text-secondary);justify-content:center;align-items:center;gap:var(--space-md);flex-direction:column;display:flex}.coming-soon-icon{font-size:3rem}.coming-soon h2{color:var(--text-primary);font-size:1.25rem;font-weight:600}.coming-soon p{font-size:.95rem}.error-item{gap:var(--space-md);background:var(--bg-elevated);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-md);box-shadow:var(--shadow-card);cursor:pointer;border-left:4px solid;transition:all .15s;display:flex}.error-item:hover{filter:brightness(1.15);border-color:var(--accent-green);box-shadow:0 0 16px #39ff1426}.error-item.active{box-shadow:0 0 12px #39ff1440;border-color:var(--accent-green)!important}.error-item.mismatch{border-left-color:var(--accent-error)}.error-item.unclosed,.error-item.unexpected{border-left-color:var(--accent-warning)}.error-item.syntax{background:#5846c026;border-left:3px solid #8a7bf2}.error-item.syntax .err-icon,.error-item.syntax .err-msg strong{color:#a69cf8;background:#8a7bf233}.err-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.2rem;font-weight:700;display:flex}.error-item.mismatch .err-icon{color:var(--accent-error);background:#e24b4a26}.error-item.unclosed .err-icon,.error-item.unexpected .err-icon{color:var(--accent-warning);background:#ef9f2726}.err-body{flex:1;min-width:0}.err-title{color:var(--text-primary);margin-bottom:var(--space-xs);font-size:.95rem;font-weight:600}.err-msg{color:var(--text-secondary);font-size:.875rem;line-height:1.5}.err-msg strong{font-family:var(--font-mono);border-radius:4px;padding:2px 6px;font-size:.85em}.error-item.mismatch .err-msg strong{color:var(--accent-error);background:#e24b4a33}.error-item.unclosed .err-msg strong,.error-item.unexpected .err-msg strong{color:var(--accent-warning);background:#ef9f2733}.err-stack{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border-subtle);align-items:center;gap:var(--space-sm);display:flex}.stack-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:600}.stack-pill{border-radius:var(--radius-sm);font-family:var(--font-mono);background:var(--bg-main);color:var(--text-secondary);border:1px solid var(--border-subtle);align-items:center;gap:4px;padding:4px 10px;font-size:.8rem;display:inline-flex}.stack-pill.top{border-color:var(--accent-open);color:var(--accent-open);background:#2ea04326;font-weight:600}.stack-empty{color:var(--text-muted);font-size:.85rem;font-style:italic}.app-footer{background:var(--bg-panel);border-top:1px solid var(--border-subtle);justify-content:center;align-items:center;height:48px;display:flex;position:sticky;bottom:0}.footer-text{color:var(--text-secondary);font-size:.85rem}.cm-editor{background:var(--bg-editor)!important}.cm-gutters{background:var(--bg-main)!important;border-right:1px solid var(--border-subtle)!important}.cm-lineNumbers .cm-gutterElement{color:var(--text-muted)!important}.cm-activeLine{background:#ffffff08!important}.cm-selectionBackground{background:#39ff1426!important}.cm-cursor{border-left-color:var(--accent-green)!important}.cm-mismatch{cursor:pointer;border-bottom:2px wavy var(--accent-error)!important;background:#e24b4a1a!important}.cm-unclosed,.cm-unexpected{cursor:pointer;border-bottom:2px wavy var(--accent-warning)!important;background:#ef9f271a!important}.cm-open-pair{cursor:pointer;border:1px solid var(--accent-open)!important;background:#2ea04333!important}.cm-syntax-error{text-decoration-thickness:1.5px;border-bottom:1.5px wavy #8a7bf2!important;background:#8a7bf226!important}@media (width<=950px){.header-left .app-title{font-size:1.1rem}}@media (width<=650px){body{flex-direction:column;display:flex}.app-header{flex-flow:wrap;justify-content:space-between;gap:12px;height:auto;padding:12px}.header-left{order:1;gap:8px}.header-left .app-title{font-size:1rem;display:block}.header-right{order:2;min-width:auto;display:flex}.github-link{padding:4px 8px;font-size:.75rem}.header-center{flex-direction:column;order:3;gap:10px;width:100%}.mode-selector{flex-wrap:wrap;justify-content:center;width:100%}.sample-selector{width:100%;margin-left:0}.app-main{flex-direction:column;flex:1;height:auto}.editor-panel{flex:none;width:100%;height:45%}.error-panel{border-left:none;border-top:2px solid var(--border-divider);flex:none;width:100%;height:55%;max-height:none;position:relative;display:block!important}}[data-arc-overlay]{z-index:10;pointer-events:none}@keyframes drawArc{0%{stroke-dashoffset:200px}to{stroke-dashoffset:0}}.arc-animated{animation:.35s ease-out forwards drawArc}
