.scope-decoration-setup,.scope-decoration-plain,.scope-decoration-extern,.scope-decoration-vue,.scope-decoration-client,.scope-decoration-server,.scope-decoration-universal,.scope-decoration-vFor,.scope-decoration-vSlot,.scope-decoration-function,.scope-decoration-closure,.scope-decoration-block,.scope-decoration-event,.scope-decoration-callback,.scope-decoration-computed,.scope-decoration-watch,.scope-decoration-mod,.scope-decoration-default{background:color-mix(in srgb, var(--scope-accent) var(--scope-bg-strength,14%), transparent);box-shadow:inset 0 -1px 0 color-mix(in srgb, var(--scope-accent) 72%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--scope-accent) 14%, transparent);border-radius:3px}.scope-decoration-setup{--scope-accent:#2d6a35;--scope-bg-strength:16%}.scope-decoration-plain{--scope-accent:#8b7040}.scope-decoration-extern{--scope-accent:#4a6b8a}.scope-decoration-vue{--scope-accent:#3a7a70;--scope-bg-strength:17%}.scope-decoration-client{--scope-accent:#b85c38;--scope-bg-strength:15%}.scope-decoration-server{--scope-accent:#3f6fae;--scope-bg-strength:15%}.scope-decoration-universal{--scope-accent:#6b5090}.scope-decoration-vFor{--scope-accent:#7c5fb2}.scope-decoration-vSlot{--scope-accent:#a6537f}.scope-decoration-function{--scope-accent:#287d87}.scope-decoration-closure{--scope-accent:#9a6a22}.scope-decoration-block{--scope-accent:#6b7280;--scope-bg-strength:10%}.scope-decoration-event{--scope-accent:#a6537f}.scope-decoration-callback,.scope-decoration-computed{--scope-accent:#b85c38}.scope-decoration-watch{--scope-accent:#5d6cc1}.scope-decoration-mod,.scope-decoration-default{--scope-accent:#6b7280;--scope-bg-strength:10%}body[data-theme=dark] .scope-decoration-setup{--scope-accent:#a8b5a0}body[data-theme=dark] .scope-decoration-plain,body[data-theme=dark] .scope-decoration-closure{--scope-accent:#d4ba92}body[data-theme=dark] .scope-decoration-extern,body[data-theme=dark] .scope-decoration-server{--scope-accent:#8aabca}body[data-theme=dark] .scope-decoration-vue,body[data-theme=dark] .scope-decoration-function{--scope-accent:#80bdb0}body[data-theme=dark] .scope-decoration-client,body[data-theme=dark] .scope-decoration-callback,body[data-theme=dark] .scope-decoration-computed{--scope-accent:#d8a082}body[data-theme=dark] .scope-decoration-universal,body[data-theme=dark] .scope-decoration-vFor,body[data-theme=dark] .scope-decoration-watch{--scope-accent:#b8a0d0}body[data-theme=dark] .scope-decoration-vSlot,body[data-theme=dark] .scope-decoration-event{--scope-accent:#d79abd}:root{--editor-hover-bg:#f8f6ef;--editor-hover-border:#4a6b8a52;--editor-hover-shadow:#1212122e;--editor-hover-soft-shadow:#4a6b8a1a;--editor-hover-code-bg:#eeebe2;--editor-hover-rule:#1212121f;--editor-hover-chip-bg:#e7f0ed;--editor-hover-chip-border:#b6d0ca;--editor-hover-chip-text:#245f57;--editor-hover-link:#315f82}body[data-theme=dark]{--editor-hover-bg:#18191c;--editor-hover-border:#8aabca57;--editor-hover-shadow:#0000006b;--editor-hover-soft-shadow:#80bdb014;--editor-hover-code-bg:#22252a;--editor-hover-rule:#e6e2d624;--editor-hover-chip-bg:#1f3432;--editor-hover-chip-border:#426760;--editor-hover-chip-text:#b8ded5;--editor-hover-link:#a5c8e3}.monaco-hover{border:1px solid var(--editor-hover-border)!important;background:var(--editor-hover-bg)!important;width:min(440px,100vw - 32px)!important;max-width:min(440px,100vw - 32px)!important;box-shadow:0 18px 46px var(--editor-hover-shadow), 0 0 0 1px var(--editor-hover-soft-shadow)!important;border-radius:8px!important;overflow:hidden!important}.monaco-hover:before{content:"";background:linear-gradient(90deg, color-mix(in srgb, var(--color-info) 86%, transparent), color-mix(in srgb, var(--color-teal) 82%, transparent), color-mix(in srgb, var(--color-notice) 76%, transparent));height:2px;display:block}.monaco-hover .monaco-hover-content,.monaco-hover .hover-contents{font-family:var(--font-sans);color:var(--text-primary)!important;max-width:100%!important;font-size:12px!important;line-height:1.55!important}.monaco-hover .monaco-hover-content{width:auto!important;padding:10px 12px 12px!important}.monaco-hover .markdown-hover{overflow-wrap:anywhere;white-space:normal;font-size:12px!important}.monaco-hover .markdown-hover .hover-contents:not(:first-child){border-top:1px solid var(--editor-hover-rule);margin-top:10px;padding-top:10px}.monaco-hover .markdown-hover p,.monaco-hover .markdown-hover .rendered-markdown p{margin:0 0 8px}.monaco-hover .markdown-hover p:last-child,.monaco-hover .markdown-hover .rendered-markdown p:last-child{margin-bottom:0}.monaco-hover .markdown-hover hr{background:var(--editor-hover-rule);border:0;height:1px;margin:10px -2px}.monaco-hover .markdown-hover strong{color:var(--text-primary);font-weight:700}.monaco-hover .markdown-hover em{color:var(--text-secondary);font-style:normal}.monaco-hover .markdown-hover ul{margin:7px 0 0 16px;padding:0}.monaco-hover .markdown-hover li{margin:3px 0}.monaco-hover .markdown-hover code{border:1px solid var(--editor-hover-chip-border);background:var(--editor-hover-chip-bg);color:var(--editor-hover-chip-text);font-family:var(--font-mono);border-radius:5px;padding:1px 5px;font-size:11px}.monaco-hover .markdown-hover pre,.monaco-hover .markdown-hover .rendered-markdown div[data-code]{border:1px solid color-mix(in srgb, var(--color-info) 24%, transparent);background:var(--editor-hover-code-bg);border-radius:7px;margin:8px 0 10px;padding:9px 10px}.monaco-hover .markdown-hover pre code{color:var(--text-primary);background:0 0;border:0;border-radius:0;padding:0;font-size:11.5px;line-height:1.5}.monaco-hover .markdown-hover .monaco-tokenized-source{font-size:11.5px!important;line-height:1.45!important}.monaco-hover .markdown-hover .monaco-tokenized-source span{color:var(--text-primary)!important}.monaco-hover .markdown-hover a{color:var(--editor-hover-link);font-weight:600;text-decoration:none}.monaco-hover .markdown-hover a:hover{text-decoration:underline}.musea-playground{background:var(--bg-primary);grid-column:1/-1;grid-template-columns:1fr 1fr;gap:0;height:100%;min-height:0;display:grid}.btn-examples{background:var(--bg-tertiary);border:1px solid var(--border-primary);color:var(--text-secondary);cursor:pointer;border-radius:4px;align-items:center;gap:.375rem;padding:.25rem .5rem;font-size:.75rem;text-decoration:none;transition:all .15s;display:inline-flex}.btn-examples:hover{background:var(--bg-tertiary);border-color:var(--accent-rust)}.file-badges{gap:.375rem;display:flex}.file-badge{background:var(--bg-tertiary);border:1px solid var(--border-primary);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-radius:2px;padding:.125rem .375rem;font-size:.5625rem}.metadata-section{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:4px;margin-bottom:1rem;padding:1rem}.metadata-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;display:grid}.metadata-item{flex-direction:column;gap:.25rem;display:flex}.metadata-item.span-full{grid-column:1/-1}.meta-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.5625rem}.meta-value{color:var(--text-primary);font-size:.8125rem}.meta-code{color:var(--color-info);background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:3px;padding:.125rem .375rem;font-family:JetBrains Mono,monospace;font-size:.75rem}.category-value{color:var(--color-purple)}.tags-list{flex-wrap:wrap;gap:.25rem;display:flex}.tag-item{background:var(--bg-tertiary);color:var(--text-secondary);border-radius:3px;padding:.125rem .375rem;font-size:.6875rem}.status-badge{--status-color:var(--text-secondary);--status-bg:var(--bg-tertiary);--status-border:var(--border-primary);border:1px solid var(--status-border);background:var(--status-bg);color:var(--status-color);text-transform:capitalize;border-radius:999px;align-items:center;gap:.375rem;padding:.25rem .5rem;font-size:.6875rem;font-weight:600;line-height:1;display:inline-flex}.status-badge:before{content:"";width:.375rem;height:.375rem;box-shadow:0 0 0 2px var(--status-bg);background:currentColor;border-radius:999px;flex-shrink:0}.status-badge.ready{--status-bg:var(--color-success-bg);--status-border:var(--color-success-border);--status-color:var(--color-success)}.status-badge.draft{--status-bg:var(--color-warning-bg);--status-border:var(--color-warning-border);--status-color:var(--color-warning)}.status-badge.deprecated{--status-bg:var(--color-error-bg);--status-border:var(--color-error-border);--status-color:var(--color-error)}.section-header{border-bottom:1px solid var(--border-primary);align-items:center;gap:.5rem;margin-bottom:.75rem;padding-bottom:.5rem;display:flex}.section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.75rem;font-weight:600}.section-count{background:var(--bg-tertiary);color:var(--text-muted);border-radius:8px;padding:.0625rem .375rem;font-family:JetBrains Mono,monospace;font-size:.625rem}.token-section{margin-bottom:1rem}.token-category{color:var(--text-muted);margin-bottom:.5rem;font-size:.6875rem;font-weight:500}.color-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.5rem;display:grid}.color-token{background:var(--bg-secondary);border:1px solid var(--border-primary);cursor:pointer;border-radius:4px;align-items:center;gap:.625rem;padding:.5rem;transition:all .15s;display:flex}.color-token:hover{border-color:var(--accent-rust)}.color-swatch{border:1px solid #0000001a;border-radius:4px;flex-shrink:0;width:32px;height:32px;box-shadow:inset 0 0 0 1px #ffffff1a}.token-info{flex-direction:column;gap:1px;min-width:0;display:flex}.token-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-family:JetBrains Mono,monospace;font-size:.6875rem;overflow:hidden}.token-value{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-family:JetBrains Mono,monospace;font-size:.5625rem;overflow:hidden}.token-list{flex-direction:column;gap:.375rem;display:flex}.size-token,.other-token{background:var(--bg-secondary);border:1px solid var(--border-primary);cursor:pointer;border-radius:4px;align-items:center;gap:.75rem;padding:.5rem .625rem;transition:all .15s;display:flex}.size-token:hover,.other-token:hover{border-color:var(--accent-rust)}.size-token .token-name,.other-token .token-name{flex:1;font-size:.75rem}.size-token .token-value,.other-token .token-value{color:var(--accent-rust);text-align:right;min-width:50px;font-size:.6875rem}.size-preview{background:var(--accent-rust);border-radius:3px;min-width:4px;max-width:150px;height:6px}.variants-output{flex-direction:column;height:100%;display:flex}.variant-count{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.625rem}.variants-list{flex-direction:column;gap:.75rem;display:flex}.variant-item{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:4px;overflow:hidden}.variant-header{background:var(--bg-tertiary);border-bottom:1px solid var(--border-primary);justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.variant-name{color:var(--text-primary);align-items:center;gap:.5rem;font-size:.8125rem;font-weight:500;display:flex}.default-badge{color:var(--accent-rust);text-transform:uppercase;letter-spacing:.05em;background:#a3482833;border-radius:2px;padding:.0625rem .375rem;font-size:.5625rem}.skip-badge{background:var(--color-warning-bg);color:var(--color-warning);border:1px solid var(--color-warning-border);text-transform:uppercase;letter-spacing:.05em;border-radius:2px;padding:.0625rem .375rem;font-size:.5625rem}.btn-copy{border:1px solid var(--border-primary);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:3px;padding:.125rem .375rem;font-size:.625rem;transition:all .15s}.btn-copy:hover{background:var(--bg-secondary);color:var(--text-primary)}.variant-template{padding:.5rem}.csf-output{flex-direction:column;height:100%;display:flex}.csf-actions{align-items:center;gap:.5rem;display:flex}.filename-badge{color:var(--text-muted);background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:3px;padding:.125rem .375rem;font-family:JetBrains Mono,monospace;font-size:.625rem}@media (width<=768px){.musea-playground{grid-template-rows:minmax(300px,1fr) minmax(300px,1fr);grid-template-columns:1fr;height:auto;min-height:100%}.panel{min-height:300px}.input-panel{border-right:none;border-bottom:1px solid var(--border-primary)}.panel-header{flex-wrap:wrap;gap:.5rem}.tabs{flex-wrap:wrap;width:100%}.metadata-grid,.color-grid{grid-template-columns:1fr}}.patina-playground{background:var(--bg-primary);grid-column:1/-1;grid-template-columns:1fr 1fr;gap:0;height:100%;min-height:0;display:grid}.count-badge.errors{background:var(--bg-tertiary);color:var(--text-primary);font-weight:600}.tab-badge{background:var(--bg-tertiary);color:var(--text-primary);text-align:center;border-radius:8px;min-width:1rem;padding:.0625rem .3125rem;font-size:.625rem;font-weight:600}.tab-count{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.625rem}.error-header{background:var(--bg-tertiary);color:var(--text-primary);border-bottom:1px solid var(--border-primary);padding:.5rem .75rem;font-size:.75rem;font-weight:600}.error-content{color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;margin:0;padding:.75rem;font-family:JetBrains Mono,monospace;font-size:.75rem}.output-header-bar{border-bottom:1px solid var(--border-primary);justify-content:space-between;align-items:center;margin-bottom:.75rem;padding:.5rem 0;display:flex}.locale-selector select{background:var(--bg-tertiary);border:1px solid var(--border-primary);color:var(--text-primary);cursor:pointer;border-radius:3px;padding:.25rem .5rem;font-size:.625rem}.diagnostic-item{background:var(--bg-secondary);border-left:2px solid var(--text-muted);border-radius:0;padding:.75rem}.diagnostic-item.severity-error{border-left-color:var(--color-error)}.diagnostic-item.severity-warning{border-left-color:var(--color-warning)}.rule-id{color:var(--text-muted);background:var(--bg-tertiary);border-radius:3px;padding:.125rem .375rem;font-family:JetBrains Mono,monospace;font-size:.6875rem}.diagnostic-help{background:var(--bg-tertiary);border-left:2px solid var(--text-muted);border-radius:0;margin-top:.75rem;padding:.75rem;font-size:.85rem}.help-label{color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;font-size:.8125rem;font-weight:600}.rules-output{flex-direction:column;height:100%;display:flex}.rules-toolbar{gap:.5rem;margin-bottom:.75rem;display:flex}.rules-actions{flex-wrap:wrap;gap:.375rem;display:flex}.preset-actions{gap:.375rem;margin-right:.5rem;display:flex}.btn-action{background:var(--bg-tertiary);border:1px solid var(--border-primary);color:var(--text-secondary);cursor:pointer;border-radius:3px;padding:.25rem .5rem;font-size:.625rem;transition:all .15s}.btn-action:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--accent-rust)}.btn-preset.active{background:color-mix(in srgb, var(--accent-rust) 12%, var(--bg-tertiary));color:var(--text-primary);border-color:var(--accent-rust)}.search-input{background:var(--bg-tertiary);border:1px solid var(--border-primary);color:var(--text-primary);border-radius:4px;flex:1;padding:.375rem .625rem;font-size:.75rem}.search-input::placeholder{color:var(--text-muted)}.search-input:focus{border-color:var(--accent-rust);outline:none}.category-select{background:var(--bg-tertiary);border:1px solid var(--border-primary);color:var(--text-primary);cursor:pointer;border-radius:4px;padding:.375rem .625rem;font-size:.75rem}.category-select:focus{border-color:var(--accent-rust);outline:none}.category-toggle{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:4px;margin-bottom:.75rem;padding:.625rem .75rem}.toggle-label{cursor:pointer;align-items:center;gap:.5rem;display:flex}.category-label{color:var(--text-primary);font-size:.8125rem;font-weight:600}.category-count{color:var(--text-muted);font-size:.6875rem}.rules-list{flex-direction:column;flex:1;gap:.375rem;display:flex;overflow-y:auto}.rule-item{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:4px;padding:.625rem .75rem;transition:all .15s}.rule-item:hover{border-color:var(--border-secondary)}.rule-item.disabled{opacity:.5}.rule-main{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.rule-toggle{cursor:pointer;align-items:center;gap:.5rem;display:flex}.rule-checkbox{width:14px;height:14px;accent-color:var(--accent-rust);cursor:pointer}.rules-output .rule-id{color:var(--text-primary);background:0 0;padding:0;font-size:.75rem;font-weight:500}.rule-item.disabled .rule-id{text-decoration:line-through}.rule-badges{flex-wrap:wrap;gap:.375rem;display:flex}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:2px;padding:.0625rem .375rem;font-size:.5625rem;display:inline-block}.category-badge{background:var(--bg-tertiary);color:var(--text-muted)}.severity-badge{background:var(--bg-tertiary)}.severity-badge.error{background:var(--bg-tertiary);color:var(--text-primary);font-weight:600}.severity-badge.warning,.fixable-badge{background:var(--bg-tertiary);color:var(--text-muted)}.rule-description{color:var(--text-muted);padding-left:1.375rem;font-size:.6875rem;line-height:1.4}@media (width<=768px){.patina-playground{grid-template-rows:minmax(300px,1fr) minmax(300px,1fr);grid-template-columns:1fr;height:auto;min-height:100%}.panel{min-height:300px}.input-panel{border-right:none;border-bottom:1px solid var(--border-primary)}.panel-header{flex-wrap:wrap;gap:.5rem}.tabs{flex-wrap:wrap;width:100%}.rules-toolbar{flex-direction:column}.preset-actions{width:100%;margin-right:0}.rule-main{flex-direction:column;align-items:flex-start;gap:.375rem}.rule-description{padding-left:0}}.glyph-playground{background:var(--bg-primary);grid-column:1/-1;grid-template-columns:1fr 1fr;gap:0;height:100%;min-height:0;display:grid}.status-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:3px;padding:.125rem .5rem;font-size:.625rem}.status-badge.changed{background:var(--color-warning-bg);color:var(--color-warning)}.status-badge.unchanged{background:var(--color-success-bg);color:var(--color-success)}.tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.375rem .625rem;font-size:.75rem;transition:all .15s}.output-header-bar{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-bottom:none;border-radius:4px 4px 0 0;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.output-actions{gap:.5rem;display:flex}.formatted-output{flex-direction:column;height:100%;display:flex}.code-container{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:0 0 4px 4px;flex:1;overflow:auto}.diff-output{flex-direction:column;height:100%;display:flex}.diff-stats{gap:.5rem;display:flex}.diff-stats .stat{border-radius:3px;padding:.125rem .375rem;font-family:JetBrains Mono,monospace;font-size:.625rem}.diff-stats .additions{background:var(--color-success-bg);color:var(--color-success)}.diff-stats .deletions{background:var(--color-error-bg);color:var(--color-error)}.diff-view{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:0 0 4px 4px;flex:1;font-family:JetBrains Mono,monospace;font-size:.8125rem;line-height:1.6;display:flex;overflow:auto}.diff-line-numbers{border-right:1px solid var(--border-primary);-webkit-user-select:none;user-select:none;background:#00000026;flex-direction:column;flex-shrink:0;padding:.75rem 0;display:flex}.diff-ln{text-align:right;color:var(--text-muted);opacity:.6;min-width:2.5rem;padding:0 .75rem;font-size:.6875rem}.diff-code{flex:1;padding:.75rem 0;overflow-x:auto}.diff-line{white-space:pre;min-height:1.3em;padding:0 1rem;display:flex}.diff-same{color:var(--text-secondary)}.diff-removed{background:var(--color-error-bg);color:var(--color-error)}.diff-added{background:var(--color-success-bg);color:var(--color-success)}.line-prefix{-webkit-user-select:none;user-select:none;width:1.5rem;color:var(--text-muted);flex-shrink:0}.diff-removed .line-prefix{color:var(--color-error)}.diff-added .line-prefix{color:var(--color-success)}.line-content{flex:1}.options-output{flex-direction:column;height:100%;display:flex}.options-content{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:0 0 4px 4px;flex:1;padding:1rem;overflow-y:auto}.options-section{margin-bottom:1.5rem}.options-section:last-child{margin-bottom:0}.options-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;display:grid}.option-card{background:var(--bg-tertiary);border:1px solid var(--border-primary);cursor:pointer;border-radius:6px;padding:.75rem;transition:all .15s}.option-card:hover{border-color:var(--accent-rust)}.option-header{justify-content:space-between;align-items:center;margin-bottom:.25rem;display:flex}.option-name{color:var(--text-primary);font-size:.8125rem;font-weight:500}.option-input{background:var(--bg-primary);border:1px solid var(--border-primary);width:60px;color:var(--text-primary);border-radius:4px;padding:.25rem .5rem;font-family:JetBrains Mono,monospace;font-size:.75rem}.option-input:focus{border-color:var(--accent-rust);outline:none}.option-select{background:var(--bg-primary);border:1px solid var(--border-primary);color:var(--text-primary);cursor:pointer;border-radius:4px;padding:.25rem .5rem;font-family:JetBrains Mono,monospace;font-size:.75rem}.option-select:focus{border-color:var(--accent-rust);outline:none}.option-desc{color:var(--text-muted);font-size:.6875rem}.toggle-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.5rem;display:grid}.toggle-card{background:var(--bg-tertiary);border:1px solid var(--border-primary);cursor:pointer;border-radius:6px;flex-direction:column;gap:.25rem;padding:.625rem .75rem;transition:all .15s;display:flex}.toggle-card:hover{border-color:var(--accent-rust)}.toggle-main{align-items:center;gap:.5rem;display:flex}.toggle-checkbox{width:16px;height:16px;accent-color:var(--accent-rust);cursor:pointer}.toggle-name{color:var(--text-primary);font-size:.8125rem;font-weight:500}.toggle-desc{color:var(--text-muted);padding-left:1.5rem;font-size:.6875rem}.loading-state{color:var(--text-muted);justify-content:center;align-items:center;padding:2rem;font-size:.875rem;display:flex}@media (width<=768px){.glyph-playground{grid-template-rows:minmax(300px,1fr) minmax(300px,1fr);grid-template-columns:1fr;height:auto;min-height:100%}.panel{min-height:300px}.input-panel{border-right:none;border-bottom:1px solid var(--border-primary)}.panel-header{flex-wrap:wrap;gap:.5rem}.tabs{flex-wrap:wrap;width:100%}.options-grid,.toggle-grid{grid-template-columns:1fr}}.croquis-playground{background:var(--bg-primary);grid-column:1/-1;grid-template-columns:1fr 1fr;gap:0;height:100%;min-height:0;display:grid}.toggle-label{color:var(--text-secondary);cursor:pointer;border:1px solid var(--border-primary);border-radius:4px;align-items:center;gap:.375rem;padding:.25rem .5rem;font-size:.75rem;transition:all .15s;display:flex}.toggle-label:hover{background:var(--bg-tertiary);color:var(--text-primary)}.toggle-label input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent-primary)}.toggle-label span{white-space:nowrap}.output-content{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.error-panel{background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:6px;margin:1rem;overflow:hidden}.error-header{background:var(--color-error-bg);color:var(--color-error);padding:.5rem .75rem;font-size:.75rem;font-weight:600}.empty-state,.loading-state{color:var(--text-muted);justify-content:center;align-items:center;margin:1rem;padding:2rem;font-size:.875rem;display:flex}.stats-output,.bindings-output,.scopes-output,.diagnostics-output{flex:1;min-height:0;padding:1rem;overflow-y:auto}.stats-grid{grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1.5rem;display:grid}.stat-box{background:var(--bg-secondary);border:1px solid var(--border-primary);text-align:center;border-radius:6px;padding:1rem}.stat-number{color:var(--accent-rust);font-family:JetBrains Mono,monospace;font-size:1.5rem;font-weight:700}.stat-label{color:var(--text-muted);margin-top:.25rem;font-size:.75rem}.section{margin-bottom:1.5rem}.section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border-primary);margin-bottom:.75rem;padding-bottom:.5rem;font-size:.75rem;font-weight:600}.macro-list{flex-direction:column;gap:.5rem;display:flex}.macro-item{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:4px;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.macro-name{color:var(--accent-rust);font-family:JetBrains Mono,monospace;font-weight:600}.macro-type{color:var(--color-info);background:var(--color-info-bg);border-radius:3px;padding:.125rem .375rem;font-size:.75rem}.macro-binding{color:var(--text-muted);font-size:.75rem}.css-info{align-items:center;gap:.75rem;display:flex}.css-stat{color:var(--text-secondary);font-size:.875rem}.css-badge{border-radius:3px;padding:.125rem .5rem;font-size:.625rem}.css-badge.scoped{background:var(--color-purple-bg);color:var(--color-purple)}.css-badge.vbind{background:var(--color-teal-bg);color:var(--color-teal)}.export-list{flex-direction:column;gap:.5rem;display:flex}.export-item{border-radius:6px;align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.export-item.valid{background:var(--color-success-bg)}.export-item.invalid{background:var(--color-error-bg)}.export-kind{text-transform:uppercase;background:var(--surface-elevated);color:var(--text-muted);border-radius:3px;padding:.125rem .375rem;font-size:.7rem;font-weight:600}.export-name{font-family:var(--font-mono);color:var(--text-primary);font-size:.875rem;font-weight:500}.export-badge{border-radius:3px;margin-left:auto;padding:.125rem .5rem;font-size:.625rem}.export-badge.hoisted{background:var(--color-success-bg);color:var(--color-success)}.export-badge.error{background:var(--color-error-bg);color:var(--color-error)}.badge{vertical-align:middle;border-radius:3px;margin-left:.5rem;padding:.125rem .375rem;font-size:.625rem}.badge.hoisted{background:var(--color-success-bg);color:var(--color-success)}.badge.error{background:var(--color-error-bg);color:var(--color-error)}.source-group{margin-bottom:1.25rem}.source-header{border-bottom:1px solid var(--border-primary);align-items:center;gap:.5rem;margin-bottom:.5rem;padding-bottom:.375rem;display:flex}.source-indicator{border-radius:2px;width:10px;height:10px}.src-props{background:#a78bfa}.src-emits{background:#f472b6}.src-model{background:#fb923c}.src-slots{background:#34d399}.src-ref{background:#4ade80}.src-reactive{background:#f87171}.src-computed{background:#2dd4bf}.src-import{background:#60a5fa}.src-local{background:#94a3b8}.src-function{background:#fbbf24}.src-class{background:#818cf8}.src-default{background:#6b7280}.source-name{color:var(--text-primary);font-size:.75rem;font-weight:600}.source-count{background:var(--bg-tertiary);color:var(--text-muted);border-radius:8px;padding:.0625rem .375rem;font-size:.625rem}.binding-grid{flex-direction:column;gap:.375rem;display:flex}.binding-item{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:4px;grid-template-columns:1fr auto auto;align-items:center;gap:.75rem;padding:.5rem .75rem;font-size:.75rem;display:grid}.binding-main{align-items:center;gap:.25rem;display:flex}.binding-name{color:var(--text-primary);font-family:JetBrains Mono,monospace;font-weight:600}.needs-value{color:var(--color-success);opacity:.7;font-size:.625rem}.binding-meta{color:var(--text-muted);align-items:center;gap:.25rem;display:flex}.binding-kind{font-family:JetBrains Mono,monospace}.binding-type{color:var(--color-info)}.binding-flags{align-items:center;gap:.5rem;display:flex}.flag{text-transform:uppercase;border-radius:2px;padding:.0625rem .25rem;font-size:.5rem}.flag.active{background:var(--color-success-bg);color:var(--color-success)}.flag.inactive{background:var(--bg-tertiary);color:var(--text-muted);opacity:.5}.flag.setup{background:var(--color-purple-bg);color:var(--color-purple)}.refs{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.625rem}.scope-tree{flex-direction:column;gap:.25rem;display:flex}.scope-node{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:4px;padding:.5rem .75rem}.scope-header{align-items:center;gap:.5rem;display:flex}.scope-indicator{border-radius:2px;flex-shrink:0;width:8px;height:8px}.scope-kind{color:var(--text-primary);font-size:.75rem;font-weight:600}.scope-range{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.625rem}.scope-bindings{flex-wrap:wrap;gap:.25rem;margin-top:.375rem;padding-left:1.5rem;display:flex}.scope-binding{background:var(--bg-tertiary);color:var(--text-secondary);border-radius:3px;padding:.0625rem .375rem;font-family:JetBrains Mono,monospace;font-size:.625rem}.scope-module{background:#a78bfa14}.scope-module.scope-indicator{background:#a78bfa}.scope-function{background:#fbbf2414}.scope-function.scope-indicator{background:#fbbf24}.scope-block{background:#94a3b814}.scope-block.scope-indicator{background:#94a3b8}.scope-vfor{background:#4ade8014}.scope-vfor.scope-indicator{background:#4ade80}.scope-vslot{background:#2dd4bf14}.scope-vslot.scope-indicator{background:#2dd4bf}.scope-event-handler{background:#f472b614}.scope-event-handler.scope-indicator{background:#f472b6}.scope-callback{background:#fb923c14}.scope-callback.scope-indicator{background:#fb923c}.scope-script-setup{background:#60a5fa14}.scope-script-setup.scope-indicator{background:#60a5fa}.scope-non-script-setup{background:#818cf814}.scope-non-script-setup.scope-indicator{background:#818cf8}.scope-universal{background:#22d3ee14}.scope-universal.scope-indicator{background:#22d3ee}.scope-client-only{background:#f8717114}.scope-client-only.scope-indicator{background:#f87171}.scope-js-global-universal{background:#fde04714}.scope-js-global-universal.scope-indicator{background:#fde047}.scope-js-global-browser{background:#fb923c14}.scope-js-global-browser.scope-indicator{background:#fb923c}.scope-js-global-node{background:#4ade8014}.scope-js-global-node.scope-indicator{background:#4ade80}.scope-js-global-deno{background:#60a5fa14}.scope-js-global-deno.scope-indicator{background:#60a5fa}.scope-js-global-bun{background:#f472b614}.scope-js-global-bun.scope-indicator{background:#f472b6}.scope-vue-global{background:#34d39914}.scope-vue-global.scope-indicator{background:#34d399}.scope-external-module{background:#c084fc14}.scope-external-module.scope-indicator{background:#c084fc}.scope-default{background:var(--bg-secondary)}.scope-default.scope-indicator{background:var(--text-muted)}.vir-output{flex-direction:column;flex:1;min-height:0;padding:1rem;display:flex}.vir-header-bar{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-bottom:none;border-radius:4px 4px 0 0;justify-content:space-between;align-items:center;padding:.375rem .75rem;display:flex}.vir-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.6875rem}.vir-line-count{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.625rem}.vir-notice{background:var(--color-notice-bg);border:1px solid var(--color-notice-border);color:var(--color-notice);padding:.5rem .75rem;font-size:.6875rem;line-height:1.4}.vir-content{background:var(--bg-secondary);border:1px solid var(--border-primary);border-bottom:none;flex:1;min-height:0;margin:0;font-family:JetBrains Mono,monospace;font-size:.8125rem;line-height:1.6;overflow:auto}.vir-ln{text-align:right;color:var(--text-muted);opacity:.6;border-right:1px solid var(--border-primary);-webkit-user-select:none;user-select:none;background:#00000026;min-width:2.5rem;height:1.6em;padding:0 .75rem;font-size:.8125rem;line-height:1.6;display:inline-block}.vir-code{flex:1;padding:.75rem 0}.vir-line{white-space:pre;height:1.6em;line-height:1.6;display:flex}.vir-line-text{padding:0 1rem}.vir-border{color:var(--text-muted);opacity:.5}.vir-section,.vir-section-name{color:var(--text-primary);font-weight:600}.vir-type{color:var(--text-muted);font-style:italic}.vir-binding,.vir-identifier{color:var(--text-primary)}.vir-tag{color:var(--text-muted)}.vir-source{color:var(--text-muted);font-style:italic}.vir-arrow,.vir-number{color:var(--text-muted)}.vir-diagnostic{font-weight:500}.vir-line-diagnostic .vir-diagnostic{color:var(--color-error)}.vir-keyword,.vir-colon,.vir-bracket{color:var(--text-muted)}.vir-plain{color:var(--text-secondary)}.diagnostic-list{flex-direction:column;gap:.5rem;display:flex}.diagnostic-header{align-items:flex-start;gap:.5rem;display:flex}.diagnostic-message{color:var(--text-primary);flex:1;font-size:.875rem}.diagnostic-location{align-items:center;gap:.5rem;margin-top:.375rem;padding-left:1.25rem;display:flex}.location-range{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.75rem}.diagnostic-code{color:var(--text-secondary);font-size:.625rem}@media (width<=768px){.croquis-playground{grid-template-rows:minmax(300px,1fr) minmax(300px,1fr);grid-template-columns:1fr;height:auto;min-height:100%}.panel{min-height:300px}.input-panel{border-right:none;border-bottom:1px solid var(--border-primary)}.panel-header{flex-wrap:wrap;gap:.5rem}.tabs{flex-wrap:wrap;width:100%}.stats-grid{grid-template-columns:repeat(2,1fr)}}.cross-file-playground{background:var(--bg-primary);-webkit-user-select:none;user-select:none;grid-column:1/-1;grid-template-columns:220px 4px 1fr 4px 320px;height:100%;min-height:0;font-size:12px;display:grid}.cross-file-playground.resizing{cursor:col-resize}.cross-file-playground.resizing *{pointer-events:none}.resize-handle{background:var(--border-primary);cursor:col-resize;width:4px;transition:background .15s;position:relative}.resize-handle:hover,.resize-handle:active{background:var(--accent-primary)}.resize-handle:after{content:"";width:8px;position:absolute;top:0;bottom:0;left:-2px}.sidebar{background:var(--bg-secondary);border-right:1px solid var(--border-primary);flex-direction:column;display:flex;overflow:hidden}.sidebar-section{flex-direction:column;min-height:0;display:flex}.sidebar-section:not(:last-child){border-bottom:1px solid var(--border-primary)}.section-header{background:var(--bg-tertiary);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.section-header h3{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin:0;font-size:10px;font-weight:600}.analysis-mode-badge{background:var(--color-success);color:#fff;letter-spacing:.5px;cursor:help;border-radius:3px;padding:2px 6px;font-size:9px;font-weight:700}.profile-switch{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:8px 12px 0;display:grid}.profile-btn{background:var(--bg-primary);border:1px solid var(--border-primary);min-width:0;height:24px;color:var(--text-secondary);cursor:pointer;border-radius:4px;padding:0 4px;font-size:10px;font-weight:600}.profile-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.profile-btn.active{border-color:var(--accent-rust);color:var(--accent-rust);background:#e070481f}.preset-section{flex-shrink:0}.preset-list{flex-wrap:wrap;gap:4px;padding:8px;display:flex}.preset-item{background:var(--bg-primary);border:1px solid var(--border-primary);cursor:pointer;color:var(--text-secondary);border-radius:6px;flex:1;justify-content:flex-start;align-items:center;gap:4px;min-width:calc(50% - 4px);padding:6px 10px;font-size:10px;transition:all .15s;display:flex}.preset-item:hover{background:var(--bg-tertiary);border-color:var(--text-muted);color:var(--text-primary)}.preset-item.active{border-color:var(--accent-rust);color:var(--accent-rust);background:#e0704826}.preset-icon{flex-shrink:0;width:14px;height:14px}.preset-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.section-actions{gap:4px;display:flex}.icon-btn svg{width:14px;height:14px}.icon-btn{border:1px solid var(--border-primary);width:20px;height:20px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:3px;justify-content:center;align-items:center;font-size:12px;transition:all .15s;display:flex}.icon-btn:hover{background:var(--bg-primary);color:var(--text-primary);border-color:var(--text-muted)}.file-tree{flex:1;padding:4px 0;overflow-y:auto}.file-item{cursor:pointer;align-items:center;gap:6px;padding:6px 12px;transition:background .1s;display:flex;position:relative}.file-item:hover{background:var(--bg-tertiary)}.file-item.active{background:var(--accent-primary);background:#e0704826}.file-item.has-errors .file-icon{color:var(--color-error)}.file-item.has-warnings .file-icon{color:var(--color-warning)}.file-icon{width:12px;height:12px;color:var(--accent-rust);flex-shrink:0}.file-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-family:JetBrains Mono,monospace;font-size:11px;overflow:hidden}.file-badge{border-radius:4px;align-items:center;height:12px;padding:0 3px;font-size:8px;font-weight:600;line-height:1;display:inline-flex}.file-badge.error{background:var(--color-error-bg);color:var(--color-error)}.file-badge.warning{background:var(--color-warning-bg);color:var(--color-warning)}.file-delete{width:16px;height:16px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:2px;justify-content:center;align-items:center;display:none;position:absolute;right:8px}.file-delete svg{width:12px;height:12px}.file-item:hover .file-delete{display:flex}.file-delete:hover{background:var(--color-error-bg);color:var(--color-error)}.dependency-graph{padding:8px 12px;font-family:JetBrains Mono,monospace;font-size:10px}.dep-node{margin-bottom:8px}.dep-file{color:var(--text-secondary)}.dep-arrows{margin-top:2px;padding-left:12px}.dep-edge{color:var(--text-muted);align-items:center;gap:4px;display:flex}.dep-arrow{width:12px;height:12px;color:var(--accent-rust)}.dep-target{color:var(--text-secondary);cursor:pointer}.dep-target:hover{color:var(--accent-rust);text-decoration:underline}.options-section{margin-top:auto}.options-grid{flex-direction:column;gap:4px;padding:8px 12px;display:flex}.option-toggle{cursor:pointer;color:var(--text-secondary);align-items:center;gap:6px;font-size:11px;display:flex}.option-toggle input{width:12px;height:12px;accent-color:var(--accent-primary)}.option-toggle:hover{color:var(--text-primary)}.editor-pane{flex-direction:column;min-height:0;display:flex;overflow:hidden}.editor-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);justify-content:space-between;align-items:center;padding-right:12px;display:flex}.editor-tabs{display:flex;overflow-x:auto}.editor-tab{border:none;border-right:1px solid var(--border-primary);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:6px;padding:6px 12px;font-family:JetBrains Mono,monospace;font-size:11px;transition:all .1s;display:flex}.editor-tab:hover{background:var(--bg-tertiary);color:var(--text-secondary)}.editor-tab.active{background:var(--bg-primary);color:var(--text-primary);border-bottom:2px solid var(--accent-rust);margin-bottom:-1px}.tab-icon{width:12px;height:12px;color:var(--accent-rust);flex-shrink:0}.tab-badge{border-radius:4px;align-items:center;height:12px;padding:0 3px;font-size:8px;font-weight:600;line-height:1;display:inline-flex}.tab-badge.error{background:var(--color-error-bg);color:var(--color-error)}.tab-badge.warning{background:var(--color-warning-bg);color:var(--color-warning)}.editor-status{align-items:center;gap:6px;font-family:JetBrains Mono,monospace;font-size:10px;display:flex}.status-chip{border:1px solid var(--border-primary);height:18px;color:var(--text-muted);background:var(--bg-primary);border-radius:3px;align-items:center;padding:0 6px;display:inline-flex}.status-analyzing{color:var(--accent-rust)}.status-time{color:var(--text-muted)}.editor-content{flex:1;min-height:0;position:relative}.diagnostics-pane{background:var(--bg-secondary);border-left:1px solid var(--border-primary);flex-direction:column;display:flex;overflow:hidden}.diagnostics-header{background:var(--bg-tertiary);border-bottom:1px solid var(--border-primary);justify-content:space-between;align-items:center;padding:4px 10px;display:flex}.diagnostics-header h3{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin:0;font-size:11px;font-weight:600}.diagnostics-stats{align-items:center;gap:6px;display:flex}.stat-chip{border-radius:3px;align-items:center;height:14px;padding:0 3px;font-size:9px;font-weight:600;line-height:1;display:inline-flex}.stat-chip.error{background:var(--color-error-bg);color:var(--color-error)}.stat-chip.warning{background:var(--color-warning-bg);color:var(--color-warning)}.stat-chip.info{background:var(--color-info-bg);color:var(--color-info)}.filter-chip{border:1px solid var(--border-primary);background:var(--bg-primary);height:16px;color:var(--text-secondary);cursor:pointer;border-radius:3px;padding:0 6px;font-size:9px;font-weight:600}.filter-chip.active{border-color:var(--accent-rust);color:var(--accent-rust)}.severity-filters{border-bottom:1px solid var(--border-primary);grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:6px 8px;display:grid}.filter-btn{border:1px solid var(--border-primary);background:var(--bg-primary);min-width:0;height:22px;color:var(--text-secondary);cursor:pointer;border-radius:4px;padding:0 4px;font-size:10px;font-weight:600}.filter-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.filter-btn.active.error{border-color:var(--color-error);color:var(--color-error);background:var(--color-error-bg)}.filter-btn.active.warning{border-color:var(--color-warning);color:var(--color-warning);background:var(--color-warning-bg)}.filter-btn.active.info{border-color:var(--color-info);color:var(--color-info);background:var(--color-info-bg)}.diagnostics-empty{color:var(--color-success);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:32px;display:flex}.empty-icon{width:24px;height:24px}.diagnostics-list{flex:1;padding:6px;overflow-y:auto}.issue-group{margin-bottom:8px}.group-header{background:var(--bg-tertiary);border-radius:4px;justify-content:space-between;align-items:center;margin-bottom:4px;padding:4px 8px;display:flex}.group-badge{color:var(--text-secondary);font-size:10px;font-weight:600}.group-count{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:10px}.group-issues{flex-direction:column;gap:4px;display:flex}.issue-card{background:var(--bg-primary);border:1px solid var(--border-primary);cursor:pointer;border-radius:4px;padding:5px 8px;transition:all .1s}.issue-card:hover{background:var(--bg-tertiary)}.issue-card.selected{border-color:var(--accent-rust);background:#e070481a}.issue-header{align-items:center;gap:6px;margin-bottom:4px;display:flex}.issue-card.error .severity-icon{color:var(--color-error)}.issue-card.warning .severity-icon{color:var(--color-warning)}.issue-card.info .severity-icon{color:var(--color-info)}.issue-code{background:var(--bg-secondary);color:var(--text-muted);border-radius:2px;padding:1px 4px;font-family:JetBrains Mono,monospace;font-size:9px}.issue-location{color:var(--text-muted);margin-left:auto;font-family:JetBrains Mono,monospace;font-size:9px}.issue-message{color:var(--text-primary);font-size:11px;line-height:1.4}.issue-suggestion{color:var(--color-success);background:var(--color-success-bg);border-radius:3px;gap:6px;margin-top:4px;padding:4px 6px;font-size:10px;display:flex}.suggestion-icon{flex-shrink:0;width:14px;height:14px}.issue-related{border-top:1px solid var(--border-primary);margin-top:6px;padding-top:6px}.related-item{color:var(--text-muted);gap:8px;margin-bottom:2px;font-size:10px;display:flex}.related-loc{color:var(--text-secondary);font-family:JetBrains Mono,monospace}@media (width<=1200px){.cross-file-playground{grid-template-columns:180px 1fr 280px}}@media (width<=900px){.cross-file-playground{grid-template-rows:auto 1fr auto;grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--border-primary);flex-direction:row;overflow-x:auto}.sidebar-section{flex-direction:row;min-width:max-content}.diagnostics-pane{border-left:none;border-top:1px solid var(--border-primary);max-height:300px}}.typecheck-playground{background:var(--bg-primary);grid-column:1/-1;grid-template-columns:1fr 1fr;gap:0;height:100%;min-height:0;display:grid}.panel-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);flex-shrink:0;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.header-title{align-items:center;gap:.5rem;display:flex}.header-title .icon{width:1rem;height:1rem;color:var(--accent-blue)}.header-title h2{margin:0;font-size:.875rem;font-weight:600}.perf-badge{background:var(--color-success-bg);color:var(--color-success);border-radius:3px;padding:.125rem .375rem;font-family:JetBrains Mono,monospace;font-size:.625rem}.count-badge{text-align:center;border-radius:8px;min-width:1.25rem;padding:.0625rem .375rem;font-family:JetBrains Mono,monospace;font-size:.625rem}.count-badge.errors{background:var(--color-error-bg);color:var(--color-error)}.count-badge.warnings{background:var(--color-warning-bg);color:var(--color-warning)}.btn-ghost{border:1px solid var(--border-primary);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;transition:all .15s}.btn-ghost:hover{background:var(--bg-tertiary);color:var(--text-primary)}.tabs{gap:.125rem;display:flex}.tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:.375rem;padding:.375rem .625rem;font-size:.75rem;transition:all .15s;display:flex}.tab.active{color:var(--text-primary);background:var(--bg-tertiary);font-weight:500}.tab-badge{background:var(--color-error-bg);color:var(--color-error);text-align:center;border-radius:8px;min-width:1rem;padding:.0625rem .3125rem;font-size:.625rem}.editor-container{flex:1;overflow:hidden}.output-content{flex:1;padding:1rem;overflow-y:auto}.error-panel{background:#ef44441a;border:1px solid #ef44444d;border-radius:6px;overflow:hidden}.error-header{color:#f87171;background:#ef444426;padding:.5rem .75rem;font-size:.75rem;font-weight:600}.error-content{color:#fca5a5;white-space:pre-wrap;word-break:break-word;margin:0;padding:.75rem;font-size:.75rem}.output-header-bar{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:4px;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding:.5rem .75rem;display:flex}.output-title{color:var(--accent-rust);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.options-panel{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:4px;flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem;padding:.5rem .75rem;display:flex}.option-label{color:var(--text-secondary);cursor:pointer;align-items:center;gap:.375rem;font-size:.6875rem;display:flex}.option-label input[type=checkbox]{width:12px;height:12px;accent-color:var(--accent-blue)}.option-label.highlight{background:#3b82f626;border:1px solid #3b82f64d;border-radius:4px;padding:.25rem .5rem}.success-state{color:#4ade80;justify-content:center;align-items:center;gap:.5rem;padding:2rem;font-size:.875rem;display:flex}.success-icon{width:1.25rem;height:1.25rem}.diagnostics-list{flex-direction:column;gap:.5rem;display:flex}.diagnostic-item{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:4px;padding:.75rem}.diagnostic-header{align-items:center;gap:.5rem;margin-bottom:.375rem;display:flex}.severity-icon{flex-shrink:0;width:.75rem;height:.75rem}.error-code{color:var(--text-muted);background:var(--bg-tertiary);border-radius:3px;padding:.125rem .375rem;font-family:JetBrains Mono,monospace;font-size:.6875rem}.diagnostic-message{color:var(--text-primary);font-size:.8125rem;line-height:1.4}.diagnostic-message .msg-type{color:#79c0ff;background:#79c0ff1a;border-radius:3px;padding:.1rem .3rem;font-family:JetBrains Mono,monospace;font-size:.85em}.diagnostic-help{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:6px;margin-top:.75rem;padding:.75rem;font-size:.85rem}.help-header{border-bottom:1px solid #60a5fa26;align-items:center;gap:.5rem;margin-bottom:.5rem;padding-bottom:.5rem;display:flex}.help-icon{font-size:1rem}.help-label{color:#60a5fa;font-size:.9rem;font-weight:600}.help-content{color:var(--text-primary);line-height:1.6}.help-content strong{color:#f59e0b;font-weight:600}.help-content .help-code{background:var(--code-bg);border:1px solid var(--code-border);border-radius:6px;margin:.5rem 0;padding:1rem 1.125rem;font-family:JetBrains Mono,Fira Code,monospace;font-size:.8125rem;line-height:1.55;overflow-x:auto}.help-content .help-code code{color:var(--code-foreground);background:0 0;padding:0}.help-content .help-inline-code{background:var(--code-bg);border:1px solid var(--code-border);color:var(--hl-keyword);border-radius:3px;padding:.18rem .42rem;font-family:JetBrains Mono,Fira Code,monospace;font-size:.85em}.help-content .hl-keyword{color:var(--hl-keyword)}.help-content .hl-vue-api{color:var(--hl-function)}.help-content .hl-string{color:var(--hl-string)}.help-content .hl-comment{color:var(--hl-comment);font-style:italic}.help-content .hl-tag{color:var(--hl-tag)}.help-content .hl-directive{color:var(--hl-directive)}.help-content .hl-delimiter{color:var(--hl-delimiter)}.help-content .hl-type{color:var(--hl-type)}.help-content .hl-number{color:var(--hl-number)}.help-content .hl-property{color:var(--hl-property)}.help-content .hl-value{color:var(--hl-value)}.severity-error .severity-icon{color:#ef4444}.severity-warning .severity-icon{color:#f59e0b}.severity-info .severity-icon{color:#60a5fa}.diagnostic-code{color:var(--text-muted);background:var(--bg-tertiary);border-radius:3px;padding:.125rem .375rem;font-family:JetBrains Mono,monospace;font-size:.6875rem}.location-badge{color:var(--text-muted);margin-left:auto;font-family:JetBrains Mono,monospace;font-size:.625rem}.virtualts-output{flex-direction:column;height:100%;display:flex}.virtual-ts-notice{background:var(--color-notice-bg);border:1px solid var(--color-notice-border);color:var(--color-notice);border-radius:4px;margin-bottom:.5rem;padding:.5rem .75rem;font-size:.6875rem;line-height:1.4}.virtualts-output .editor-container{flex:1;min-height:200px}.capabilities-content{flex-direction:column;gap:1rem;display:flex}.capability-section h3{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .5rem;font-size:.75rem;font-weight:600}.capability-section p{color:var(--text-muted);margin:.25rem 0 0;font-size:.8125rem}.mode-badge{background:var(--bg-tertiary);border:1px solid var(--border-primary);color:#60a5fa;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;display:inline-block}.checks-list{flex-direction:column;gap:.5rem;display:flex}.check-item{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:4px;padding:.5rem .75rem}.check-name{color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:.75rem}.check-severity{text-transform:uppercase;border-radius:3px;margin-left:.5rem;padding:.125rem .375rem;font-size:.625rem}.check-severity.error{background:var(--color-error-bg);color:var(--color-error)}.check-severity.warning{background:var(--color-warning-bg);color:var(--color-warning)}.check-description{color:var(--text-muted);margin:.25rem 0 0;font-size:.6875rem}.notes-list{color:var(--text-muted);margin:0;padding-left:1rem;font-size:.75rem}.notes-list li{margin:.25rem 0}.empty-state,.loading-state{color:var(--text-muted);justify-content:center;align-items:center;padding:2rem;font-size:.875rem;display:flex}@media (width<=768px){.typecheck-playground{grid-template-rows:minmax(300px,1fr) minmax(300px,1fr);grid-template-columns:1fr;height:auto;min-height:100%}.panel{min-height:300px}.input-panel{border-right:none;border-bottom:1px solid var(--border-primary)}.panel-header{flex-wrap:wrap;gap:.5rem}.tabs{flex-wrap:wrap;width:100%}.options-panel{flex-direction:column}}.inspector-file-list{border-bottom:1px solid var(--border-color);background:var(--bg-secondary);gap:4px;padding:8px 12px;display:flex;overflow-x:auto}.inspector-file-tab{max-width:220px;color:var(--text-muted);font-family:var(--font-mono);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:6px;flex-shrink:0;padding:5px 10px;font-size:12px;overflow:hidden}.inspector-file-tab:hover,.inspector-file-tab.active{background:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-primary)}.inspector-controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.inspector-targets{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;gap:4px;padding:2px;display:flex}.inspector-target{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:4px 10px;font-size:12px}.inspector-target.active{background:var(--bg-panel);color:var(--text-primary)}.inspector-pr-link{border:1px solid color-mix(in srgb, var(--text-primary) 28%, transparent);background:var(--bg-tertiary);min-height:30px;color:var(--text-primary);text-underline-offset:3px;cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:600;text-decoration:underline;transition:border-color .15s,background .15s;display:inline-flex}.inspector-pr-link:hover{border-color:var(--text-primary);background:var(--bg-panel)}.inspector-pr-link svg{fill:currentColor;flex-shrink:0;width:15px;height:15px}.inspector-option{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:12px;display:flex}.inspector-option input{accent-color:var(--accent-rust)}.inspector-tab-panel{min-height:0}.inspector-diff-toolbar{border:1px solid var(--border-color);background:var(--bg-tertiary);border-radius:6px;gap:4px;margin-bottom:8px;padding:2px;display:inline-flex}.inspector-diff-mode{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:4px 10px;font-size:12px}.inspector-diff-mode.active{background:var(--bg-panel);color:var(--text-primary)}.inspector-diff{border:1px solid var(--border-color);background:var(--bg-secondary);font-family:var(--font-mono);border-radius:6px;font-size:12px;line-height:1.55;overflow:hidden}.inspector-diff-line{border-bottom:1px solid #7f7f7f14;grid-template-columns:46px 46px 22px minmax(0,1fr);min-height:22px;display:grid}.inspector-diff-line:last-child{border-bottom:0}.inspector-diff-line.add{background:var(--color-success-bg)}.inspector-diff-line.remove{background:var(--color-error-bg)}.inspector-diff-line.same{background:0 0}.inspector-diff-num,.inspector-diff-mark{color:var(--text-muted);text-align:right;-webkit-user-select:none;user-select:none;padding:2px 6px}.inspector-diff-mark{text-align:center}.inspector-diff-split{overflow-x:auto}.inspector-split-line{border-bottom:1px solid #7f7f7f14;grid-template-columns:46px minmax(280px,1fr) 46px minmax(280px,1fr);min-width:720px;min-height:22px;display:grid}.inspector-split-line:last-child{border-bottom:0}.inspector-split-code{border-left:1px solid #7f7f7f14}.inspector-split-code.remove{background:var(--color-error-bg)}.inspector-split-code.add{background:var(--color-success-bg)}.inspector-split-code.empty{background:color-mix(in srgb, var(--bg-tertiary) 45%, transparent)}.inspector-diff-code{color:var(--text-primary);white-space:pre-wrap;word-break:break-word;padding:2px 10px}.inspector-diff-code span{color:var(--l,inherit)}body[data-theme=dark] .inspector-diff-code span{color:var(--d,inherit)}.inspector-empty-diff{color:var(--text-muted);text-align:center;padding:24px}.inspector-warning-list{margin-bottom:12px}.inspector-warning{border:1px solid color-mix(in srgb, var(--color-warning) 35%, transparent);background:var(--color-warning-bg);color:var(--color-warning);font-family:var(--font-mono);white-space:pre-wrap;border-radius:6px;padding:8px 10px;font-size:12px}.inspector-warning+.inspector-warning{margin-top:6px}.inspector-payload{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;border-radius:6px;padding:12px;font-size:12px}.inspector-vir-output{flex-direction:column;min-height:0;display:flex}.inspector-vir-header{border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-muted);font-family:var(--font-mono);border-bottom:0;border-radius:6px 6px 0 0;justify-content:space-between;align-items:center;padding:6px 10px;font-size:11px;display:flex}.inspector-vir-content{border:1px solid var(--border-color);background:var(--bg-secondary);min-height:280px;max-height:58vh;font-family:var(--font-mono);border-radius:0 0 6px 6px;font-size:12px;line-height:1.55;overflow:auto}.inspector-vir-line{white-space:pre;display:flex}.inspector-vir-ln{border-right:1px solid var(--border-color);min-width:42px;color:var(--text-muted);text-align:right;-webkit-user-select:none;user-select:none;padding:0 8px}.inspector-vir-line-text{padding:0 10px}.vir-token{color:var(--text-secondary)}.vir-section,.vir-section-name,.vir-binding,.vir-identifier{color:var(--text-primary)}.vir-macro{color:var(--accent-rust)}.vir-type,.vir-source,.vir-keyword,.vir-number,.vir-colon,.vir-bracket,.vir-tag,.vir-arrow,.vir-border{color:var(--text-muted)}.vir-line-diagnostic{background:var(--color-error-bg)}.inspector-graph-panel{flex-direction:column;gap:10px;min-height:0;display:flex}.inspector-graph-summary{flex-wrap:wrap;gap:6px;display:flex}.inspector-graph-summary span,.inspector-graph-kind,.inspector-graph-edge-kind,.inspector-graph-issues{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-muted);border-radius:999px;padding:2px 8px;font-size:11px}.inspector-graph{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px;display:grid}.inspector-graph-node{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:6px;min-width:0;padding:10px}.inspector-graph-node.active{border-color:var(--accent-rust)}.inspector-graph-node.issues{border-color:color-mix(in srgb, var(--color-warning) 42%, var(--border-color))}.inspector-graph-node-main{align-items:center;gap:6px;min-width:0;display:flex}.inspector-graph-file{min-width:0;color:var(--text-primary);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;font-weight:600;overflow:hidden}.inspector-graph-issues{border-color:color-mix(in srgb, var(--color-warning) 55%, transparent);color:var(--color-warning)}.inspector-graph-node-meta{color:var(--text-muted);gap:8px;margin-top:6px;font-size:11px;display:flex}.inspector-graph-edges{border-top:1px solid var(--border-color);margin-top:10px;padding-top:8px}.inspector-graph-edge{color:var(--text-secondary);font-family:var(--font-mono);grid-template-columns:auto 20px minmax(0,1fr);align-items:center;gap:4px;font-size:11px;display:grid}.inspector-graph-edge+.inspector-graph-edge{margin-top:5px}.inspector-graph-target{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.inspector-graph-arrow{color:var(--text-muted);text-align:center}.inspector-graph-diagnostics{flex-direction:column;gap:6px;max-height:220px;display:flex;overflow:auto}.inspector-graph-diagnostic{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);border-radius:6px;grid-template-columns:minmax(76px,auto) minmax(90px,.8fr) minmax(0,1.4fr);gap:8px;padding:8px;font-size:12px;display:grid}.inspector-graph-diagnostic.error{border-color:color-mix(in srgb, var(--color-error) 45%, var(--border-color))}.inspector-graph-diagnostic.warning{border-color:color-mix(in srgb, var(--color-warning) 45%, var(--border-color))}.inspector-graph-diagnostic-code,.inspector-graph-diagnostic-file{min-width:0;color:var(--text-primary);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.inspector-graph-diagnostic-message{min-width:0}.inspector-url-note{color:var(--color-warning);margin-top:8px;font-size:12px}@media (width<=900px){.inspector-diff-line{grid-template-columns:38px 38px 20px minmax(0,1fr)}.inspector-graph-diagnostic{grid-template-columns:minmax(0,1fr)}}:root{--bg-primary:#e6e2d6;--bg-secondary:#ddd9cd;--bg-tertiary:#d4d0c4;--bg-panel:#e6e2d6f2;--border-color:#12121226;--border-primary:#12121226;--text-primary:#121212;--text-secondary:#3a3a3a;--text-muted:#6b6b6b;--accent-rust:#121212;--accent-rust-light:#121212;--accent-metal:#121212;--accent-metal-dark:#6b6b6b;--font-mono:"JetBrains Mono", monospace;--font-sans:"Helvetica Neue", Helvetica, Arial, sans-serif;--radius:8px;--radius-lg:12px;--color-notice:#8b7040;--color-notice-bg:#8b70401a;--color-notice-border:#8b70404d;--color-success:#1f5b28;--color-success-bg:#1f5b281f;--color-success-border:#1f5b2857;--color-error:#8a2f2f;--color-error-bg:#8a2f2f1a;--color-error-border:#8a2f2f52;--color-warning:#60430e;--color-warning-bg:#60430e1f;--color-warning-border:#60430e57;--color-info:#4a6b8a;--color-info-bg:#4a6b8a1a;--color-info-border:#4a6b8a47;--color-purple:#6b5090;--color-purple-bg:#6b509026;--color-purple-border:#6b50904d;--color-teal:#3a7a70;--color-teal-bg:#3a7a7026;--color-teal-border:#3a7a704d;--code-bg:#f3efe2;--code-gutter-bg:#ebe4d4;--code-border:#12121233;--code-foreground:#141414;--code-line-number:#5f5a52;--hl-keyword:#7a2f15;--hl-function:#6b4a00;--hl-string:#1b6a38;--hl-comment:#59554f;--hl-tag:#005f80;--hl-directive:#5a3d86;--hl-delimiter:#5c5750;--hl-type:#3d4b80;--hl-number:#73470d;--hl-property:#005f73;--hl-value:#40680f}[data-theme=dark]{--bg-primary:#121212;--bg-secondary:#1a1a1a;--bg-tertiary:#242424;--bg-panel:#121212f2;--border-color:#e6e2d626;--border-primary:#e6e2d626;--text-primary:#e6e2d6;--text-secondary:#d4d1c6;--text-muted:#9a9890;--accent-rust:#e6e2d6;--accent-rust-light:#e6e2d6;--accent-metal:#e6e2d6;--accent-metal-dark:#8a8880;--color-notice:#d4ba92;--color-notice-bg:#d4ba921a;--color-notice-border:#d4ba9240;--color-success:#a8b5a0;--color-success-bg:#a8b5a01a;--color-success-border:#a8b5a04d;--color-error:#d09090;--color-error-bg:#d090901a;--color-error-border:#d090904d;--color-warning:#d4ba92;--color-warning-bg:#d4ba921f;--color-warning-border:#d4ba924d;--color-info:#8aabca;--color-info-bg:#8aabca1a;--color-info-border:#8aabca47;--color-purple:#b8a0d0;--color-purple-bg:#b8a0d01f;--color-purple-border:#b8a0d047;--color-teal:#80bdb0;--color-teal-bg:#80bdb01f;--color-teal-border:#80bdb047;--code-bg:#171717;--code-gutter-bg:#202020;--code-border:#e6e2d633;--code-foreground:#eee8db;--code-line-number:#b2aaa0;--hl-keyword:#f2b8a0;--hl-function:#ffd08a;--hl-string:#a7d8a8;--hl-comment:#a39b8f;--hl-tag:#8ecdf0;--hl-directive:#d8b4fe;--hl-delimiter:#b8afa2;--hl-type:#c4c8ff;--hl-number:#f1bc78;--hl-property:#9dd4ff;--hl-value:#bade9b}.app{flex-direction:column;height:100vh;display:flex;overflow:hidden}.header{background:var(--bg-panel);border-bottom:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;align-items:center;gap:24px;padding:16px 24px;display:flex}.logo{align-items:center;gap:12px;display:flex}.logo-icon{width:40px;height:40px}.logo-icon svg{width:100%;height:100%}.logo-text h1{color:var(--text-primary);font-size:20px;font-weight:500}.logo-text .version{color:var(--text-muted);font-size:12px;font-weight:500}.wasm-status{border-radius:4px;margin-left:6px;padding:2px 6px;font-size:10px}.wasm-status.loading{background:var(--color-notice-bg);color:var(--color-notice)}.wasm-status.ready{background:var(--bg-tertiary);color:var(--text-primary)}.wasm-status.mock{color:var(--accent-metal);background:#b8bdc933}.main-tabs{gap:4px;display:flex}.main-tab{min-width:64px;color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;padding:6px 10px;font-size:13px;font-weight:500;transition:background .15s,color .15s,border-color .15s;display:flex}.main-tab .tab-name{text-align:center;width:100%;font-weight:600}.main-tab .tab-desc{opacity:.7;text-align:center;width:100%;margin-top:1px;font-size:10px;font-weight:400}.main-tab:hover{color:var(--text-secondary);background:var(--bg-tertiary)}.main-tab.active{color:var(--text-primary);background:var(--bg-tertiary);border-color:var(--border-color)}.main-tab.active .tab-desc{opacity:.9}.options{align-items:center;gap:20px;margin-left:auto;display:flex}.option{color:var(--text-secondary);align-items:center;gap:8px;font-size:13px;display:flex}.option select{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:var(--radius);font-size:13px;font-family:var(--font-sans);cursor:pointer;padding:6px 12px;transition:border-color .2s}.option select:hover{border-color:var(--accent-metal)}.option.checkbox{cursor:pointer;-webkit-user-select:none;user-select:none}.option.checkbox input{width:16px;height:16px;accent-color:var(--accent-rust);cursor:pointer}.theme-toggle{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius);width:36px;height:36px;color:var(--text-muted);cursor:pointer;justify-content:center;align-items:center;transition:all .2s;display:flex}.theme-toggle:hover{border-color:var(--accent-rust);color:var(--text-primary)}.github-link{color:var(--text-muted);align-items:center;margin-left:8px;transition:color .2s;display:flex}.github-link:hover{color:var(--accent-rust)}.main{flex:1;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.cross-file-playground,.patina-playground,.croquis-playground,.typecheck-playground,.musea-playground{grid-column:1/-1}.panel{flex-direction:column;min-height:0;display:flex;overflow:hidden}.editor-container{flex:1;min-height:0;position:relative;overflow:hidden}.input-panel{border-right:1px solid var(--border-color)}.panel-header{background:var(--bg-panel);border-bottom:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 0;padding:12px 16px;display:flex}.panel-header h2{color:var(--text-primary);align-items:center;gap:10px;font-size:14px;font-weight:600;display:flex}.compile-time{color:var(--text-primary);background:var(--bg-tertiary);font-size:12px;font-weight:500;font-family:var(--font-mono);border-radius:4px;padding:2px 8px}.panel-actions{gap:8px;display:flex}.btn-ghost{color:var(--text-muted);border-radius:var(--radius);cursor:pointer;background:0 0;border:none;padding:4px 12px;font-size:12px;transition:all .2s}.btn-ghost:hover{color:var(--text-primary);background:var(--bg-tertiary)}.tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:4px;width:100%;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab-copy-btn{margin-left:auto}.tab{color:var(--text-muted);border-radius:var(--radius);cursor:pointer;white-space:nowrap;background:0 0;border:none;flex-shrink:0;padding:6px 14px;font-size:13px;font-weight:500;transition:all .2s}.tab:hover{color:var(--text-secondary);background:var(--bg-tertiary)}.tab.active{color:var(--text-primary);background:var(--bg-tertiary)}.output-content{flex:1;padding:16px;overflow:auto}.compiling{height:100%;color:var(--text-muted);justify-content:center;align-items:center;gap:12px;display:flex}.spinner{border:2px solid var(--border-color);border-top-color:var(--accent-rust);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.wasm-error{background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:var(--radius-lg);padding:16px}.wasm-error h3{color:var(--color-error);margin-bottom:12px;font-size:14px}.wasm-error pre{color:var(--color-error);font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;font-size:13px}.wasm-warning{background:var(--color-warning-bg);border:1px solid color-mix(in srgb, var(--color-warning) 35%, transparent);border-radius:var(--radius-lg);margin-bottom:16px;padding:16px}.wasm-warning h3{color:var(--color-warning);margin-bottom:12px;font-size:14px}.wasm-warning pre{color:var(--color-warning);font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;font-size:13px}.wasm-warning pre+pre{margin-top:8px}.code-output h4,.ast-output h4,.helpers-output h4{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.75rem;font-size:.6875rem;font-weight:500}.ast-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.ast-header h4{margin-bottom:0}.ast-options{align-items:center;gap:16px;display:flex}.ast-option{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:12px;display:flex}.ast-option input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent-rust);cursor:pointer}.ast-option:hover{color:var(--text-primary)}.btn-small{padding:2px 8px;font-size:11px}.preamble{margin-bottom:24px}.code-output pre,.ast-output pre{font-family:var(--font-mono);border:1px solid var(--code-border);border-radius:var(--radius-lg);color:var(--code-foreground);margin:0;font-size:13px;line-height:1.45;overflow:auto;background:var(--code-bg)!important;padding:20px!important}.line-number{width:30px;color:var(--text-muted);-webkit-user-select:none;user-select:none;text-align:right;margin-right:16px;font-size:12px;display:inline-block}.helpers-list{flex-wrap:wrap;gap:.375rem;list-style:none;display:flex}.helper-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:3px;padding:.25rem .5rem;transition:all .15s}.helper-item:hover{border-color:var(--border-primary)}.helper-name{font-family:var(--font-mono);color:var(--text-secondary);font-size:.6875rem}.footer{background:var(--bg-panel);border-top:1px solid var(--border-color);color:var(--text-muted);justify-content:center;align-items:center;gap:12px;padding:12px 24px;font-size:12px;display:flex}.footer a{color:var(--accent-metal);text-decoration:none;transition:color .2s}.footer a:hover{color:var(--accent-rust)}.divider,.separator{opacity:.3}.rust-badge .rust,.oxc-badge .oxc{color:var(--text-primary);font-weight:600}.code-actions{justify-content:flex-end;margin-bottom:8px;display:flex}.code-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.code-header h4{margin-bottom:0}.code-header-actions{align-items:center;gap:8px;display:flex}.code-mode-toggle{background:var(--bg-tertiary);border-radius:var(--radius);gap:4px;padding:2px;display:flex}.code-view-toggle{min-width:90px}.toggle-btn{color:var(--text-muted);border-radius:calc(var(--radius) - 2px);cursor:pointer;background:0 0;border:none;padding:4px 12px;font-size:12px;font-weight:600;transition:all .2s}.toggle-btn:hover{color:var(--text-secondary)}.toggle-btn.active{background:var(--text-primary);color:var(--bg-primary)}.toggle-btn:disabled{cursor:default;color:var(--text-muted);opacity:.45}.toggle-btn:disabled:hover{color:var(--text-muted)}.render-function{position:relative}.no-helpers{color:var(--text-muted);font-style:italic}.sfc-output h4,.css-output h4{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:16px;font-size:12px;font-weight:600}.sfc-block{margin-bottom:24px}.sfc-block h5,.css-compiled h5,.css-vars h5,.css-errors h5,.section-label{color:var(--text-secondary);margin-bottom:8px;font-size:13px;font-weight:600}.sfc-block pre{font-family:var(--font-mono);border:1px solid var(--code-border);border-radius:var(--radius-lg);color:var(--code-foreground);margin:0;font-size:13px;line-height:1.45;overflow:auto;background:var(--code-bg)!important;padding:18px!important}.style-block{margin-bottom:12px}.style-meta{gap:8px;margin-bottom:8px;display:flex}.badge{color:var(--accent-metal);background:#b8bdc926;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:500}.css-output{flex-direction:column;gap:20px;display:flex}.css-options{background:var(--bg-tertiary);border-radius:var(--radius);border:1px solid var(--border-color);gap:20px;padding:12px 16px;display:flex}.css-compiled{position:relative}.css-compiled pre{font-family:var(--font-mono);border:1px solid var(--code-border);border-radius:var(--radius-lg);color:var(--code-foreground);margin:0;font-size:13px;line-height:1.45;overflow:auto;background:var(--code-bg)!important;padding:20px!important}.css-vars{margin-top:8px}.css-errors{background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:var(--radius);padding:12px}.css-errors h5{color:var(--color-error)}.css-errors .error-message{color:var(--color-error);font-family:var(--font-mono);white-space:pre-wrap;margin:8px 0 0;font-size:12px}.no-css{color:var(--text-muted);text-align:center;padding:40px 20px;font-style:italic}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.monaco-editor .margin{background:0 0!important}.monaco-editor{padding-top:0!important}.monaco-container{width:100%;height:100%;min-height:0;position:absolute;inset:0}@media (width<=1024px){.main{grid-template-rows:1fr 1fr;grid-template-columns:1fr}.input-panel{border-right:none;border-bottom:1px solid var(--border-color)}.options{flex-wrap:wrap;gap:12px}}@media (width<=640px){.header{flex-direction:column;gap:12px;padding:12px 16px}.logo{gap:8px}.logo-icon{width:32px;height:32px}.logo-text h1{font-size:18px}.options{justify-content:center;gap:8px;width:100%}.option{font-size:12px}.option select{padding:4px 8px;font-size:12px}.panel-header{flex-wrap:wrap;gap:8px;padding:10px 12px}.panel-header h2{width:100%;font-size:13px}.panel-actions{order:3}.tab{padding:5px 10px;font-size:12px}.btn-ghost{padding:4px 8px;font-size:11px}.output-content{padding:12px}.code-header{flex-direction:column;align-items:flex-start;gap:8px}.footer{padding:10px 16px;font-size:11px}}.bindings-output h4{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.75rem;font-size:.6875rem;font-weight:500}.bindings-summary{flex-wrap:wrap;gap:.375rem;margin-bottom:1rem;display:flex}.summary-card{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:3px;align-items:center;gap:.375rem;padding:.375rem .625rem;display:flex}.summary-count{color:var(--text-primary);font-size:.8125rem;font-weight:500;font-family:var(--font-mono)}.summary-type{color:var(--text-muted);font-size:.625rem}.bindings-groups{flex-direction:column;gap:.5rem;display:flex}.binding-group{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:4px;overflow:hidden}.group-header{background:var(--bg-tertiary);border-bottom:1px solid var(--border-primary);align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.group-icon{width:18px;height:18px;font-size:.625rem;font-weight:600;font-family:var(--font-mono);color:var(--text-muted);background:#ffffff0d;border-radius:3px;justify-content:center;align-items:center;display:flex}.group-title{color:var(--text-secondary);flex:1;font-size:.75rem;font-weight:500}.group-count{color:var(--text-muted);font-size:.625rem;font-family:var(--font-mono)}.group-vars{flex-wrap:wrap;gap:.375rem;padding:.625rem .75rem;display:flex}.var-chip{font-size:.6875rem;font-family:var(--font-mono);background:var(--bg-tertiary);border:1px solid var(--border-primary);color:var(--text-secondary);border-radius:3px;padding:.25rem .5rem;transition:all .15s}.var-chip:hover{border-color:var(--border-primary);color:var(--text-primary)}.tokens-output{padding:0}.tokens-output h4{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;margin:1rem 0 .5rem;font-size:.6875rem;font-weight:500}.tokens-output h4:first-of-type{margin-top:0}.token-stats{flex-wrap:wrap;gap:.375rem;display:flex}.token-stats .stat-card{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:3px;align-items:center;gap:.375rem;padding:.375rem .625rem;display:flex}.token-stats .stat-value{color:var(--text-primary);font-size:.8125rem;font-weight:500;font-family:var(--font-mono)}.token-stats .stat-label{color:var(--text-muted);font-size:.625rem}.token-stream{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:4px;flex-direction:column;gap:2px;max-height:300px;display:flex;overflow-y:auto}.token-item{border-bottom:1px solid var(--border-primary);background:0 0;align-items:center;gap:.5rem;padding:.375rem .625rem;transition:all .15s;display:flex}.token-item:last-child{border-bottom:none}.token-item:hover{background:var(--bg-tertiary)}.token-badge{background:var(--bg-tertiary);min-width:24px;color:var(--text-muted);border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;padding:.125rem .375rem;font-size:.5625rem;font-weight:500;display:flex}.token-content{flex:1;justify-content:space-between;align-items:center;min-width:0;display:flex}.token-main{align-items:center;gap:.5rem;min-width:0;display:flex}.tokens-output .token-name{font-size:.75rem;font-weight:500;font-family:var(--font-mono);color:var(--text-primary)}.token-value-text{font-size:.6875rem;font-family:var(--font-mono);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:200px;overflow:hidden}.token-location{font-size:.5625rem;font-family:var(--font-mono);color:var(--text-muted);flex-shrink:0}.token-groups{flex-direction:column;gap:.5rem;display:flex}.token-group{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:4px;overflow:hidden}.tokens-output .group-header{background:var(--bg-tertiary);border-bottom:1px solid var(--border-primary);align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.tokens-output .group-icon{min-width:20px;color:var(--text-muted);background:#ffffff0d;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;padding:.125rem .375rem;font-size:.5625rem;font-weight:500;display:flex}.tokens-output .group-title{color:var(--text-secondary);font-size:.75rem;font-weight:500}.tokens-output .group-count{font-size:.625rem;font-family:var(--font-mono);color:var(--text-muted);margin-left:auto}.group-tokens{flex-wrap:wrap;gap:.375rem;padding:.625rem .75rem;display:flex}.group-token-chip{font-size:.6875rem;font-family:var(--font-mono);background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-primary);border-radius:3px;padding:.25rem .5rem;transition:all .15s;display:inline-block}.group-token-chip:hover{color:var(--text-primary)}.more-indicator{color:var(--text-muted);padding:.25rem .5rem;font-size:.625rem}@media (width<=768px){.token-stats{flex-direction:column}}.btn[data-v-668252a4]{cursor:pointer;border:1px solid #ccc;border-radius:4px;padding:.5rem 1rem;font-size:1rem;transition:all .2s}.btn--default[data-v-668252a4]{color:#333;background:#fff}.btn--default:hover:not([data-v-668252a4]:disabled){background:#f5f5f5}.btn--primary[data-v-668252a4]{color:#fff;background:#42b883;border-color:#42b883}.btn--primary:hover:not([data-v-668252a4]:disabled){background:#33a06f}.btn--secondary[data-v-668252a4]{color:#fff;background:#35495e;border-color:#35495e}.btn--secondary:hover:not([data-v-668252a4]:disabled){background:#2c3e50}.btn--disabled[data-v-668252a4]{opacity:.5;cursor:not-allowed}.code-highlight[data-v-14c6f3e7]{--code-line-height:21px;font-family:JetBrains Mono,monospace;font-size:13px;line-height:var(--code-line-height);border:1px solid var(--code-border);background:var(--code-bg);color:var(--code-foreground);border-radius:6px;display:flex;overflow:auto;box-shadow:inset 0 1px #ffffff0a}.code-highlight[data-v-14c6f3e7] .line-numbers{background:var(--code-gutter-bg);border-right:1px solid var(--code-border);-webkit-user-select:none;user-select:none;flex-direction:column;flex-shrink:0;padding-top:16px;padding-bottom:16px;display:flex;position:sticky;left:0}.code-highlight[data-v-14c6f3e7] .code-content{flex:1;min-width:0;padding:16px 20px;overflow-x:auto}.code-highlight.with-line-numbers[data-v-14c6f3e7] .code-content{padding-left:16px}.code-highlight[data-v-14c6f3e7] .line-number{text-align:right;color:var(--code-line-number);line-height:var(--code-line-height);height:var(--code-line-height);box-sizing:border-box;padding:0 14px;display:block}.code-highlight[data-v-14c6f3e7] .code-line{white-space:pre;color:var(--code-foreground);line-height:var(--code-line-height);min-height:var(--code-line-height);box-sizing:border-box}.code-highlight[data-v-14c6f3e7] .code-line span{color:var(--l,var(--code-foreground));line-height:inherit}body[data-theme=dark] .code-highlight[data-v-14c6f3e7] .code-line span{color:var(--d,var(--code-foreground))}
