.whats-new[data-v-60df65fe]{position:relative}.whats-new-btn[data-v-60df65fe]{align-items:center;background:var(--color-success-bg);border:1px solid var(--color-success-bg);border-radius:var(--radius-md);color:var(--color-success-text);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.8rem;font-weight:600;padding:.35rem .75rem;transition:background .12s,border-color .12s,color .12s,filter .12s}.whats-new-btn.active[data-v-60df65fe],.whats-new-btn[data-v-60df65fe]:hover:not(:disabled):not(.active){border-color:var(--color-success)}.whats-new-btn.active[data-v-60df65fe]{background:var(--color-success);color:#fff}.whats-new-btn.active[data-v-60df65fe]:hover:not(:disabled){filter:brightness(.92)}.whats-new-btn[data-v-60df65fe]:before{background:var(--color-success);border-radius:50%;content:"";display:inline-block;height:6px;margin-right:.45rem;transition:background .12s;width:6px}.whats-new-btn.active[data-v-60df65fe]:before{background:#fff}.whats-new-menu[data-v-60df65fe]{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 4px 16px #0000001a;margin-top:.4rem;max-height:70vh;overflow-y:auto;padding:.25rem;position:absolute;right:0;top:100%;width:360px;z-index:50}.whats-new-item[data-v-60df65fe]{border-radius:var(--radius-md);padding:.6rem .75rem}.whats-new-item+.whats-new-item[data-v-60df65fe]{border-top:1px solid var(--color-border);margin-top:.15rem}.whats-new-item[data-v-60df65fe]:hover{background:var(--color-bg-alt)}.whats-new-item header[data-v-60df65fe]{align-items:center;display:flex;gap:.5rem;margin-bottom:.25rem}.whats-new-item .kind[data-v-60df65fe]{background:var(--color-bg-alt);border-radius:3px;color:var(--color-text-muted);font-size:.65rem;font-weight:700;letter-spacing:.05em;padding:.1rem .45rem;text-transform:uppercase}.whats-new-item .kind[data-kind=feature][data-v-60df65fe]{background:var(--color-info-bg);color:var(--color-info-text)}.whats-new-item .kind[data-kind=engine][data-v-60df65fe]{background:var(--color-accent-soft,var(--color-bg-alt));color:var(--color-accent)}.whats-new-item .kind[data-kind=fix][data-v-60df65fe]{background:var(--color-warning-bg,#fffbeb);color:var(--color-warning,#92400e)}.whats-new-item time[data-v-60df65fe]{color:var(--color-text-muted);font-size:.7rem}.whats-new-item h4[data-v-60df65fe]{color:var(--color-text);font-size:.85rem;font-weight:700;margin:0 0 .2rem}.whats-new-item p[data-v-60df65fe]{color:var(--color-text-muted);font-size:.75rem;line-height:1.4;margin:0}.wip-banner[data-v-032c35d1]{background:#fff7e0;border:1px solid #f0c060;border-radius:4px;color:#5a3a00;flex-shrink:0;margin:0 0 .5rem;overflow:hidden;position:relative}.wip-banner-stripe[data-v-032c35d1]{background-image:repeating-linear-gradient(45deg,#f5c042 0 12px,#1a1a1a 12px 24px);height:8px}.wip-banner-body[data-v-032c35d1]{align-items:flex-start;display:flex;gap:.75rem;padding:.6rem .75rem}.wip-banner-icon[data-v-032c35d1]{flex-shrink:0;font-size:1.4rem;line-height:1.2}.wip-banner-text[data-v-032c35d1]{flex:1;min-width:0}.wip-banner-title[data-v-032c35d1]{font-size:var(--text-sm);font-weight:800;letter-spacing:.05em;margin:0 0 .15rem;text-transform:uppercase}.wip-banner-copy[data-v-032c35d1]{font-size:var(--text-sm);line-height:1.45}.wip-banner-copy[data-v-032c35d1] p{margin:0 0 .25rem}.wip-banner-copy[data-v-032c35d1] p:last-child{margin-bottom:0}.wip-banner-copy[data-v-032c35d1] code{background:#00000014;border-radius:3px;font-size:.85em;padding:.05rem .3rem}.wip-banner-close[data-v-032c35d1]{background:#0000000f;border:1px solid transparent;border-radius:4px;color:#5a3a00;cursor:pointer;flex-shrink:0;font-family:inherit;font-size:1.3rem;height:26px;line-height:1;padding:0;width:26px}.wip-banner-close[data-v-032c35d1]:hover{background:#00000026;border-color:#0003}.files-panel[data-v-6a3929af]{background:var(--color-bg);display:flex;flex-direction:column;height:100%;overflow:hidden;padding:.5rem .75rem .75rem;position:relative}.files-input[data-v-6a3929af]{display:none}.files-breadcrumb[data-v-6a3929af]{align-items:center;display:flex;flex-shrink:0;font-size:var(--text-sm);gap:.5rem;padding:.4rem 0}.files-breadcrumb-label[data-v-6a3929af]{border-right:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;padding-right:.5rem;text-transform:uppercase}.files-crumbs[data-v-6a3929af]{align-items:center;display:flex;flex-wrap:wrap;gap:0;list-style:none;margin:0;padding:0}.files-crumb[data-v-6a3929af]{align-items:center;display:inline-flex}.files-crumb-btn[data-v-6a3929af]{background:none;border:none;border-radius:3px;color:var(--color-accent);cursor:pointer;font-family:inherit;font-size:var(--text-sm);font-weight:600;padding:.2rem .4rem}.files-crumb-btn[data-v-6a3929af]:hover:not(:disabled){background:var(--color-bg-alt)}.files-crumb-btn[data-v-6a3929af]:disabled{color:var(--color-text);cursor:default;font-weight:700}.files-crumb-sep[data-v-6a3929af]{color:var(--color-text-muted);padding:0 .15rem}.files-toolbar[data-v-6a3929af]{align-items:center;border-bottom:1px solid var(--color-border);display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:.5rem;padding:.5rem 0}.files-toolbar-title[data-v-6a3929af]{color:var(--color-text-muted);font-size:var(--text-sm)}.files-toolbar-actions[data-v-6a3929af]{display:flex;gap:.4rem}.files-add-btn[data-v-6a3929af]{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:4px;color:var(--color-accent);cursor:pointer;font-family:inherit;font-size:var(--text-sm);font-weight:600;padding:.35rem .75rem}.files-add-btn[data-v-6a3929af]:hover{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.files-cancel-btn[data-v-6a3929af]{background:none;border:1px solid var(--color-border);border-radius:4px;color:var(--color-text-muted);cursor:pointer;font-family:inherit;font-size:var(--text-sm);font-weight:600;padding:.35rem .75rem}.files-cancel-btn[data-v-6a3929af]:hover,.files-new-folder[data-v-6a3929af]{background:var(--color-bg-alt)}.files-new-folder[data-v-6a3929af]{align-items:center;border-radius:4px;display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem;padding:.5rem}.files-new-folder-input[data-v-6a3929af]{background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text);flex:1;font-family:inherit;font-size:var(--text-sm);min-width:12rem;padding:.35rem .5rem}.files-new-folder-input[data-v-6a3929af]:focus{border-color:var(--color-accent);outline:none}.files-new-folder-error[data-v-6a3929af]{color:var(--color-error,#c0392b);flex-basis:100%;font-size:var(--text-xs);margin:.25rem 0 0}.files-list[data-v-6a3929af]{flex:1;list-style:none;margin:0;overflow-y:auto;padding:0}.files-row[data-v-6a3929af]{align-items:center;border-bottom:1px solid var(--color-border-subtle,var(--color-border));display:flex;gap:.5rem;padding:.4rem .5rem}.files-row[data-v-6a3929af]:hover{background:var(--color-bg-alt)}.files-row-folder[data-v-6a3929af]{padding:0}.files-folder-open[data-v-6a3929af]{align-items:center;background:none;border:none;color:inherit;cursor:pointer;display:flex;flex:1;font-family:inherit;gap:.5rem;padding:.4rem .5rem;text-align:left}.files-folder-open:hover .files-name[data-v-6a3929af]{color:var(--color-accent)}.files-icon[data-v-6a3929af]{align-items:center;background:var(--color-bg-alt);border-radius:4px;display:inline-flex;flex-shrink:0;font-size:.9rem;font-weight:700;height:28px;justify-content:center;width:28px}.files-icon-folder[data-v-6a3929af]{background:#dcb46426}.cat-image .files-icon[data-v-6a3929af]{background:#78a0dc26}.cat-font .files-icon[data-v-6a3929af]{background:#b48cdc26;font-family:serif}.cat-printer .files-icon[data-v-6a3929af]{background:#78c8a026}.files-meta[data-v-6a3929af]{display:flex;flex:1;flex-direction:column;min-width:0}.files-name[data-v-6a3929af]{font-size:var(--text-sm);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.files-sub[data-v-6a3929af]{color:var(--color-text-muted);font-size:var(--text-xs)}.files-actions[data-v-6a3929af]{display:flex;flex-shrink:0;gap:.25rem;padding-right:.5rem}.files-action[data-v-6a3929af]{background:none;border:1px solid transparent;border-radius:4px;color:var(--color-text-muted);cursor:pointer;font-family:inherit;font-size:1.1rem;height:28px;line-height:1;padding:0;width:28px}.files-action[data-v-6a3929af]:hover{background:var(--color-bg-alt);border-color:var(--color-border);color:var(--color-text)}.files-action-delete[data-v-6a3929af]:hover{color:var(--color-error,#c0392b)}.files-empty[data-v-6a3929af]{align-items:center;border:2px dashed var(--color-border);border-radius:8px;display:flex;flex:1;flex-direction:column;gap:.75rem;justify-content:center;padding:2rem 1rem;text-align:center}.files-empty-title[data-v-6a3929af]{font-size:var(--text-base);font-weight:700;margin:0}.files-empty-sub[data-v-6a3929af]{color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.5;margin:0;max-width:32rem}.files-rejected[data-v-6a3929af]{background:var(--color-warning-bg,rgba(220,160,80,.1));border-left:3px solid var(--color-warning,#d97706);border-radius:4px;flex-shrink:0;font-size:var(--text-xs);margin-top:.75rem;padding:.5rem .75rem}.files-rejected-title[data-v-6a3929af]{font-weight:700;margin:0 0 .25rem}.files-rejected ul[data-v-6a3929af]{margin:0;padding-left:1.25rem}.files-rejected li[data-v-6a3929af]{margin:.15rem 0}.files-drop-overlay[data-v-6a3929af]{align-items:center;background:#78a0dc33;border:3px dashed var(--color-accent);border-radius:8px;display:flex;inset:0;justify-content:center;pointer-events:none;position:absolute}.files-drop-overlay p[data-v-6a3929af]{color:var(--color-accent);font-size:var(--text-lg);font-weight:700}.files-loading[data-v-6a3929af]{color:var(--color-text-muted);font-size:var(--text-sm);padding:1rem;text-align:center}.pg-terminal[data-v-c8690e57]{background:#0d1117;border-top:1px solid var(--color-border);color:#e6edf3;display:flex;flex-direction:column;flex-shrink:0;font-family:SF Mono,Fira Code,Fira Mono,Menlo,monospace;height:200px;overflow:hidden;transition:height .18s ease}.pg-terminal.role-host.collapsed[data-v-c8690e57]{height:60px}.pg-terminal.role-printer.collapsed[data-v-c8690e57]{height:30px}.terminal-header[data-v-c8690e57]{align-items:center;background:#161b22;border:none;border-bottom:1px solid #30363d;color:#adbac7;cursor:pointer;display:flex;flex-shrink:0;font-family:inherit;font-size:.72rem;font-weight:600;gap:.5rem;height:30px;justify-content:space-between;letter-spacing:.04em;padding:0 .65rem;text-align:left;text-transform:uppercase;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.terminal-header[data-v-c8690e57]:hover{color:#e6edf3}.terminal-header[data-v-c8690e57]:focus-visible{outline:1px solid var(--color-accent);outline-offset:-1px}.pg-terminal.collapsed .terminal-header[data-v-c8690e57]{border-bottom:none}.terminal-title[data-v-c8690e57]{align-items:center;display:flex;gap:.45rem}.terminal-prompt[data-v-c8690e57]{color:#7ee787;font-size:.85em;font-weight:700}.role-printer .terminal-title .terminal-prompt[data-v-c8690e57]{color:#79c0ff}.terminal-count[data-v-c8690e57]{color:#6e7681;font-weight:500;letter-spacing:0;text-transform:none}.terminal-header-actions[data-v-c8690e57]{align-items:center;display:flex;gap:.6rem}.terminal-link[data-v-c8690e57]{border-radius:3px;color:#6e7681;cursor:pointer;font-size:.72rem;font-weight:500;letter-spacing:0;padding:2px 6px;text-transform:none}.terminal-link[data-v-c8690e57]:hover{background:#21262d;color:#e6edf3}.terminal-chev[data-v-c8690e57]{color:#6e7681;flex-shrink:0;transition:transform .15s ease}.terminal-chev.open[data-v-c8690e57]{transform:rotate(180deg)}.terminal-history[data-v-c8690e57]{flex:1;font-size:.78rem;line-height:1.4;min-height:0;overflow-y:auto;padding:.4rem .65rem}.terminal-motd[data-v-c8690e57]{border-bottom:1px dashed #21262d;line-height:1.4;margin-bottom:.45rem;padding:.35rem 0 .5rem}.terminal-motd-emoji[data-v-c8690e57]{font-size:1.05rem;line-height:1;margin-bottom:.15rem}.terminal-motd-title[data-v-c8690e57]{color:#ffa657;font-size:.8rem;font-weight:600;letter-spacing:.02em}.terminal-motd-desc[data-v-c8690e57]{color:#6e7681;font-size:.72rem;margin-top:.2rem}.terminal-history-line[data-v-c8690e57]{display:flex;gap:.5rem;padding:1px 0}.terminal-history-text[data-v-c8690e57]{white-space:pre-wrap;word-break:break-all}.terminal-history-line.sent .terminal-history-text[data-v-c8690e57]{color:#e6edf3}.terminal-history-line.received .terminal-history-text[data-v-c8690e57]{color:#a5d6ff}.terminal-history-line.info .terminal-history-text[data-v-c8690e57]{color:#6e7681;font-style:italic}.terminal-history-line.sent .terminal-prompt[data-v-c8690e57]{color:#7ee787}.terminal-history-line.received .terminal-prompt[data-v-c8690e57]{color:#79c0ff}.terminal-history-line.info .terminal-prompt[data-v-c8690e57]{color:#6e7681}.terminal-input-row[data-v-c8690e57]{align-items:flex-start;background:#010409;border-top:1px solid #21262d;cursor:text;display:flex;flex-shrink:0;gap:.5rem;padding:.35rem .65rem}.terminal-input-row .terminal-prompt[data-v-c8690e57]{padding-top:1px}.terminal-input[data-v-c8690e57]{flex:1;min-width:0}.terminal-input[data-v-c8690e57] .cm-editor{background:transparent}.terminal-input[data-v-c8690e57] .cm-editor.cm-focused{outline:none}.terminal-input[data-v-c8690e57] .cm-gutters{display:none}.terminal-input[data-v-c8690e57] .cm-activeLine{background:transparent}.cmd-panel[data-v-e92f4bc2]{display:flex;flex:1;flex-direction:column;min-height:0}.cmd-search-block[data-v-e92f4bc2]{flex-shrink:0;padding:.5rem .5rem .4rem}.cmd-search-row[data-v-e92f4bc2]{align-items:center;display:flex;gap:.35rem}.cmd-search-input[data-v-e92f4bc2]{background:var(--color-bg);border:1px solid var(--color-border);border-radius:5px;color:var(--color-text);flex:1;font-family:inherit;font-size:.8rem;min-width:0;outline:none;padding:.4rem .6rem}.cmd-search-input[data-v-e92f4bc2]:focus{border-color:var(--color-accent)}.cmd-active-chip[data-v-e92f4bc2]{align-items:center;background:var(--color-accent);border:1px solid var(--color-accent);border-radius:999px;color:#fff;cursor:pointer;display:inline-flex;flex-shrink:0;font-family:inherit;font-size:.65rem;font-weight:700;gap:.25rem;padding:.2rem .5rem;transition:filter .12s}.cmd-active-chip[data-v-e92f4bc2]:hover{filter:brightness(.92)}.cmd-active-chip span[data-v-e92f4bc2]{font-size:.85rem;line-height:1;opacity:.85}.cmd-filters[data-v-e92f4bc2]{display:flex;flex-wrap:wrap;gap:.25rem;padding:.4rem 0 0}.cmd-filter[data-v-e92f4bc2]{background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text-muted);cursor:pointer;font-family:inherit;font-size:.6rem;font-weight:600;padding:.15rem .4rem;transition:all .12s}.cmd-filter[data-v-e92f4bc2]:hover{border-color:var(--color-accent);color:var(--color-accent)}.cmd-filter.active[data-v-e92f4bc2]{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.cmd-filters-enter-active[data-v-e92f4bc2],.cmd-filters-leave-active[data-v-e92f4bc2]{transition:opacity .28s cubic-bezier(.25,.46,.45,.94),transform .28s cubic-bezier(.25,.46,.45,.94)}.cmd-filters-enter-from[data-v-e92f4bc2],.cmd-filters-leave-to[data-v-e92f4bc2]{opacity:0;transform:translateY(-2px)}.cmd-context-links[data-v-e92f4bc2]{align-items:center;display:flex;font-size:.7rem;gap:.4rem;padding:.4rem 0 0}.cmd-context-link[data-v-e92f4bc2]{color:var(--color-accent);font-weight:500;text-decoration:none}.cmd-context-link[data-v-e92f4bc2]:hover{text-decoration:underline}.cmd-context-sep[data-v-e92f4bc2]{color:var(--color-text-muted)}.cmd-list[data-v-e92f4bc2]{flex:1;overflow-y:auto;padding:.4rem .5rem .5rem}.cmd-card[data-v-e92f4bc2]{border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:.35rem;overflow:hidden}.cmd-card.expanded[data-v-e92f4bc2]{border-color:var(--color-accent)}.cmd-card-header[data-v-e92f4bc2]{align-items:center;background:none;border:none;cursor:pointer;display:flex;font-family:inherit;justify-content:space-between;padding:.45rem .5rem;transition:background .12s;width:100%}.cmd-card-header[data-v-e92f4bc2]:hover{background:#0077b608}.cmd-left[data-v-e92f4bc2]{min-width:0}.cmd-left[data-v-e92f4bc2],.cmd-right[data-v-e92f4bc2]{align-items:center;display:flex;gap:.4rem}.cmd-code[data-v-e92f4bc2],.cmd-right[data-v-e92f4bc2]{flex-shrink:0}.cmd-code[data-v-e92f4bc2]{background:var(--color-bg-alt);border-radius:var(--radius-sm);color:var(--color-accent);font-family:var(--font-mono);font-size:.78rem;font-weight:700;padding:.05rem .3rem}.cmd-name[data-v-e92f4bc2]{color:var(--color-text);font-size:.72rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmd-unsupported[data-v-e92f4bc2]{background:var(--color-bg-alt);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:.55rem;font-weight:600;padding:.1rem .3rem}.cmd-chevron[data-v-e92f4bc2]{color:var(--color-text-muted);font-size:.8rem;font-weight:700;text-align:center;width:16px}.cmd-detail[data-v-e92f4bc2]{border-top:1px solid var(--color-border);padding:0 .6rem .6rem}.cmd-plain[data-v-e92f4bc2]{color:var(--color-text);font-size:var(--text-sm);line-height:1.55;margin:.5rem 0}.cmd-section[data-v-e92f4bc2]{margin-top:.5rem}.cmd-section h5[data-v-e92f4bc2]{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;margin:0 0 .2rem;text-transform:uppercase}.cmd-section p[data-v-e92f4bc2]{color:var(--color-text);font-size:.72rem;line-height:1.5;margin:0}.cmd-syntax[data-v-e92f4bc2]{background:var(--color-bg-alt);border-radius:4px;color:var(--color-accent-dark);display:block;font-family:var(--font-mono);font-size:var(--text-sm);padding:.3rem .5rem}.cmd-param[data-v-e92f4bc2]{color:var(--color-text);font-size:.7rem;line-height:1.5;padding:.15rem 0}.cmd-param-head code[data-v-e92f4bc2]{color:var(--color-accent);font-family:var(--font-mono);font-size:.72rem;font-weight:700}.cmd-param-values[data-v-e92f4bc2]{border-left:2px solid var(--color-bg-alt);list-style:none;margin:.2rem 0 .35rem;padding:0 0 0 .85rem}.cmd-param-value[data-v-e92f4bc2]{color:var(--color-text);font-size:.68rem;line-height:1.6;padding:.05rem 0 .05rem .45rem}.cmd-param-value code[data-v-e92f4bc2]{background:var(--color-bg-alt);border-radius:3px;color:var(--color-text);font-family:var(--font-mono);font-size:.66rem;font-weight:600;padding:.02rem .3rem}.cmd-param-value-desc[data-v-e92f4bc2]{color:var(--color-text-muted)}.cmd-example-desc[data-v-e92f4bc2]{font-style:italic;margin-bottom:.3rem!important}.cmd-example-code[data-v-e92f4bc2]{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:4px;font-family:var(--font-mono);font-size:.7rem;line-height:1.5;margin:0 0 .4rem;overflow-x:auto;padding:.5rem;white-space:pre}.cmd-try-btn[data-v-e92f4bc2]{background:none;border:1px solid var(--color-accent);border-radius:4px;color:var(--color-accent);cursor:pointer;font-family:inherit;font-size:.68rem;font-weight:600;padding:.2rem .5rem;transition:background .12s,color .12s}.cmd-try-btn[data-v-e92f4bc2]:hover{background:var(--color-accent);color:#fff}.cmd-ref-link[data-v-e92f4bc2]{color:var(--color-accent);font-size:.7rem;font-weight:600;text-decoration:none}.cmd-ref-link[data-v-e92f4bc2]:hover{text-decoration:underline}.cmd-empty[data-v-e92f4bc2]{color:var(--color-text-muted);font-size:.8rem;padding:1rem 0;text-align:center}.exercise-panel[data-v-f1b1421e]{display:flex;flex:1;flex-direction:column;min-height:0;overflow-y:auto;padding:.5rem}.exercise-detail-header[data-v-f1b1421e]{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.back-btn[data-v-f1b1421e]{background:none;border:none;color:var(--color-accent);cursor:pointer;font-family:inherit;font-size:.72rem;font-weight:600;padding:0}.back-btn[data-v-f1b1421e]:hover{text-decoration:underline}.diff-badge[data-v-f1b1421e]{border-radius:var(--radius-sm);color:#fff;font-size:.55rem;font-weight:700;letter-spacing:.04em;padding:.1rem .4rem;text-transform:uppercase}.exercise-title[data-v-f1b1421e]{font-size:1rem;font-weight:700;margin:0 0 .3rem}.exercise-desc[data-v-f1b1421e]{color:var(--color-text);font-size:var(--text-sm);line-height:1.5;margin:0 0 .5rem}.exercise-section[data-v-f1b1421e]{margin-top:.6rem}.exercise-section h5[data-v-f1b1421e]{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;margin:0 0 .2rem;text-transform:uppercase}.exercise-objectives[data-v-f1b1421e]{color:var(--color-text);font-size:.72rem;line-height:1.6;margin:0;padding-left:1.2rem}.exercise-target[data-v-f1b1421e]{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:auto;padding:.5rem}.exercise-target[data-v-f1b1421e] svg{display:block;height:auto;max-width:100%}.hint-btn[data-v-f1b1421e],.solution-btn[data-v-f1b1421e]{background:none;border:1px solid var(--color-accent);border-radius:4px;color:var(--color-accent);cursor:pointer;font-family:inherit;font-size:.7rem;font-weight:600;padding:.25rem .6rem;transition:background .12s,color .12s}.hint-btn[data-v-f1b1421e]:hover,.solution-btn[data-v-f1b1421e]:hover{background:var(--color-accent);color:#fff}.exercise-hints[data-v-f1b1421e]{color:var(--color-text);font-size:.72rem;line-height:1.6;margin:.3rem 0 0;padding-left:1.2rem}.exercise-solution[data-v-f1b1421e]{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:4px;font-family:var(--font-mono);font-size:.7rem;line-height:1.5;margin:.3rem 0 0;overflow-x:auto;padding:.5rem;white-space:pre}.exercise-list[data-v-f1b1421e]{display:flex;flex-direction:column;gap:.35rem}.exercise-card[data-v-f1b1421e]{border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;padding:.5rem;transition:border-color .12s,background .12s}.exercise-card[data-v-f1b1421e]:hover{background:#0077b605;border-color:var(--color-accent)}.exercise-card-header[data-v-f1b1421e]{align-items:center;display:flex;gap:.4rem;margin-bottom:.2rem}.exercise-card-title[data-v-f1b1421e]{color:var(--color-text);font-size:.78rem;font-weight:600}.exercise-card-desc[data-v-f1b1421e]{color:var(--color-text-muted);font-size:.68rem;line-height:1.4;margin:0}.zpl-preview[data-v-a153e7f2]{display:flex;flex:1;flex-direction:column;min-height:0}.preview-toolbar[data-v-a153e7f2]{align-items:center;background:var(--color-bg-alt);border-bottom:1px solid var(--color-border);display:flex;flex-shrink:0;gap:.5rem;justify-content:space-between;padding:.35rem .75rem}.label-info[data-v-a153e7f2]{color:var(--color-text-muted);font-size:.7rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-controls[data-v-a153e7f2]{gap:.6rem}.preview-controls[data-v-a153e7f2],.zoom-controls[data-v-a153e7f2]{align-items:center;display:flex;flex-shrink:0}.zoom-controls[data-v-a153e7f2]{border:1px solid var(--color-border);border-radius:5px;gap:0;overflow:hidden}.zoom-btn[data-v-a153e7f2],.zoom-level[data-v-a153e7f2]{background:var(--color-bg);border:none;border-right:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;font-family:inherit;font-size:.7rem;font-weight:600;line-height:1;padding:.2rem .5rem;transition:background .12s,color .12s}.zoom-btn[data-v-a153e7f2]:last-child,.zoom-level[data-v-a153e7f2]:last-child{border-right:none}.zoom-btn[data-v-a153e7f2]:hover,.zoom-level[data-v-a153e7f2]:hover{background:var(--color-bg-alt);color:var(--color-text)}.zoom-level[data-v-a153e7f2]{min-width:42px;text-align:center}.zoom-fit[data-v-a153e7f2]{font-size:var(--text-xs);letter-spacing:.03em;text-transform:uppercase}.preview-canvas[data-v-a153e7f2]{align-items:flex-start;background:linear-gradient(45deg,#f0f0f0 25%,transparent 0),linear-gradient(-45deg,#f0f0f0 25%,transparent 0),linear-gradient(45deg,transparent 75%,#f0f0f0 0),linear-gradient(-45deg,transparent 75%,#f0f0f0 0);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px;display:flex;flex:1;justify-content:center;overflow:auto;padding:1.5rem}.preview-svg-wrap[data-v-a153e7f2]{cursor:crosshair;flex-shrink:0;transform-origin:top center}.preview-svg-wrap[data-v-a153e7f2] svg{border:1px solid var(--color-border);border-radius:2px;box-shadow:0 2px 8px #00000014;display:block}.preview-svg-wrap[data-v-a153e7f2] [data-source-line]{transition:filter .1s ease}.preview-svg-wrap[data-v-a153e7f2] .source-highlight{filter:drop-shadow(0 0 3px rgba(0,119,182,.7)) drop-shadow(0 0 6px rgba(0,119,182,.4))}.preview-error[data-v-a153e7f2]{background:var(--color-error-bg);border-left:4px solid var(--color-danger);border-radius:var(--radius-md);color:var(--color-error-text);font-size:.9rem;max-width:400px;padding:1rem}.preview-error p[data-v-a153e7f2]{margin:.25rem 0 0}.diagnostics[data-v-a153e7f2]{background:#fffbeb;border-top:1px solid var(--color-border);flex-shrink:0;max-height:120px;overflow-y:auto;padding:.5rem 1rem}.diag-item[data-v-a153e7f2]{align-items:center;display:flex;font-size:.8rem;gap:.5rem;padding:.25rem 0}.diag-severity[data-v-a153e7f2]{color:var(--color-warning);font-size:.7rem;font-weight:700;text-transform:uppercase}.pg-page[data-v-9f95eff8]{display:flex;flex-direction:column;height:calc(100vh - 64px);overflow:hidden}.pg-toolbar[data-v-9f95eff8]{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;padding:1rem 1.5rem}.pg-toolbar[data-v-9f95eff8],.toolbar-left[data-v-9f95eff8]{align-items:center;display:flex}.toolbar-left[data-v-9f95eff8]{gap:.75rem}.toolbar-link[data-v-9f95eff8]{color:var(--color-accent);font-size:.8rem;font-weight:500;text-decoration:none}.toolbar-link[data-v-9f95eff8]:hover{text-decoration:underline}.pg-toolbar h1[data-v-9f95eff8]{font-size:var(--text-xl);margin:0}.playground-switcher[data-v-9f95eff8]{position:relative}.switcher-trigger[data-v-9f95eff8]{align-items:center;background:none;border:none;color:inherit;cursor:pointer;display:flex;font-family:inherit;gap:.35rem;padding:0}.switcher-trigger:hover h1[data-v-9f95eff8]{color:var(--color-accent)}.switcher-chevron[data-v-9f95eff8]{color:var(--color-text-muted);flex-shrink:0;transition:transform .15s ease}.switcher-chevron.open[data-v-9f95eff8]{transform:rotate(180deg)}.switcher-menu[data-v-9f95eff8]{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 4px 16px #0000001a;left:0;margin-top:.4rem;min-width:200px;padding:.35rem 0;position:absolute;top:100%;z-index:50}.switcher-item[data-v-9f95eff8]{color:var(--color-text);display:block;font-size:.8rem;font-weight:500;padding:.5rem .75rem;text-decoration:none;transition:background .12s;width:100%}.switcher-item[data-v-9f95eff8]:hover{background:var(--color-bg-alt)}.switcher-item.current[data-v-9f95eff8]{color:var(--color-accent);font-weight:700}.toolbar-btn[data-v-9f95eff8]{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;font-family:inherit;font-size:.8rem;font-weight:600;padding:.35rem .75rem;transition:all .12s}.toolbar-btn[data-v-9f95eff8]:hover:not(:disabled):not(.active){border-color:var(--color-accent);color:var(--color-accent)}.toolbar-btn.active[data-v-9f95eff8]:hover:not(:disabled){background:var(--color-accent);color:#fff;filter:brightness(.92)}.toolbar-right[data-v-9f95eff8]{align-items:center;display:flex;gap:.4rem}.examples-dropdown[data-v-9f95eff8]{position:relative}.examples-menu[data-v-9f95eff8]{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 4px 16px #0000001a;left:0;margin-top:.4rem;min-width:260px;padding:.35rem 0;position:absolute;top:100%;z-index:50}.example-item[data-v-9f95eff8]{background:none;border:none;cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:.1rem;padding:.5rem .75rem;text-align:left;transition:background .12s;width:100%}.example-item[data-v-9f95eff8]:hover{background:var(--color-bg-alt)}.example-item strong[data-v-9f95eff8]{color:var(--color-text);font-size:.8rem;font-weight:600}.example-item span[data-v-9f95eff8]{color:var(--color-text-muted);font-size:.7rem}.toolbar-sep[data-v-9f95eff8]{background:var(--color-border);height:20px;margin:0 .25rem;width:1px}.toolbar-btn[data-v-9f95eff8]:disabled{cursor:not-allowed;opacity:.4}.toolbar-btn.active[data-v-9f95eff8]{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.pg-workspace[data-v-9f95eff8]{display:flex;flex:1;min-height:0}.pane[data-v-9f95eff8]{display:flex;flex:1;flex-direction:column;min-width:0}.pane-editor[data-v-9f95eff8]{border-right:1px solid var(--color-border)}.pane-sidebar[data-v-9f95eff8]{background:var(--color-bg);border-left:1px solid var(--color-border);display:flex;flex-direction:column;min-height:0;min-width:320px;overflow:hidden;width:320px}.sidebar-tabs[data-v-9f95eff8]{align-items:center;background:var(--color-bg-alt);border-bottom:1px solid var(--color-border);display:flex;flex-shrink:0}.sidebar-tab[data-v-9f95eff8]{background:none;border:none;border-bottom:2px solid transparent;color:var(--color-text-muted);cursor:pointer;flex:1;font-family:inherit;font-size:var(--text-sm);font-weight:700;letter-spacing:.04em;padding:.5rem .75rem;text-transform:uppercase;transition:color .12s,border-color .12s}.sidebar-tab[data-v-9f95eff8]:hover{color:var(--color-text)}.sidebar-tab.active[data-v-9f95eff8]{border-bottom-color:var(--color-accent);color:var(--color-accent)}.pane-tabs[data-v-9f95eff8]{align-items:center;display:flex;gap:0}.pane-tab[data-v-9f95eff8]{background:none;border:none;border-bottom:2px solid transparent;color:var(--color-text-muted);cursor:pointer;font-family:inherit;font-size:var(--text-sm);font-weight:700;letter-spacing:.04em;padding:.4rem .75rem;text-transform:uppercase;transition:color .12s,border-color .12s}.pane-tab[data-v-9f95eff8]:hover{color:var(--color-text)}.pane-tab.active[data-v-9f95eff8]{border-bottom-color:var(--color-accent);color:var(--color-accent)}.pane-fs-wrap[data-v-9f95eff8]{display:flex;flex-direction:column;overflow:hidden;padding:.5rem .75rem 0}.pane-fs-wrap[data-v-9f95eff8],.pane-fs-wrap[data-v-9f95eff8]>:last-child{flex:1;min-height:0}.close-btn[data-v-9f95eff8]{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:1.1rem;line-height:1;padding:0 .25rem}.close-btn[data-v-9f95eff8]:hover{color:var(--color-text)}.pane-header[data-v-9f95eff8]{align-items:center;background:var(--color-bg-alt);border-bottom:1px solid var(--color-border);display:flex;flex-shrink:0;gap:.5rem;justify-content:space-between;padding:.5rem 1rem}.pane-title[data-v-9f95eff8]{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:700;letter-spacing:.05em;text-transform:uppercase}.pane-actions[data-v-9f95eff8]{align-items:center;display:flex;gap:.25rem}.pane-sep[data-v-9f95eff8]{background:var(--color-border);display:inline-block;height:16px;margin:0 .25rem;width:1px}.examples-btn[data-v-9f95eff8]{align-items:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.75rem;font-weight:600;gap:.3rem;padding:.3rem .6rem;transition:background .12s,color .12s,border-color .12s}.examples-btn.active[data-v-9f95eff8],.examples-btn[data-v-9f95eff8]:hover{background:var(--color-bg);border-color:var(--color-border);color:var(--color-accent)}.examples-btn svg[data-v-9f95eff8]{color:var(--color-text-muted);flex-shrink:0}.examples-btn.active svg[data-v-9f95eff8],.examples-btn:hover svg[data-v-9f95eff8]{color:var(--color-accent)}.icon-btn[data-v-9f95eff8]{align-items:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;display:inline-flex;height:32px;justify-content:center;padding:0;position:relative;transition:background .12s,color .12s,border-color .12s;width:32px}.icon-btn[data-v-9f95eff8]:hover:not(:disabled){background:var(--color-bg);border-color:var(--color-border);color:var(--color-accent)}.icon-btn[data-v-9f95eff8]:disabled{cursor:not-allowed;opacity:.35}.icon-btn svg[data-v-9f95eff8]{display:block}.icon-btn[data-tooltip][data-v-9f95eff8]:after{background:var(--color-text,#111);border-radius:4px;color:#fff;content:attr(data-tooltip);font-size:.7rem;font-weight:600;padding:.3rem .55rem;top:calc(100% + 6px);white-space:nowrap}.icon-btn[data-tooltip][data-v-9f95eff8]:after,.icon-btn[data-tooltip][data-v-9f95eff8]:before{left:50%;opacity:0;pointer-events:none;position:absolute;transform:translate(-50%);transition:opacity .12s ease;z-index:60}.icon-btn[data-tooltip][data-v-9f95eff8]:before{border:5px solid transparent;border-bottom:5px solid var(--color-text,#111);content:"";top:calc(100% + 1px)}.icon-btn[data-tooltip][data-v-9f95eff8]:focus-visible:after,.icon-btn[data-tooltip][data-v-9f95eff8]:focus-visible:before,.icon-btn[data-tooltip][data-v-9f95eff8]:hover:not(:disabled):after,.icon-btn[data-tooltip][data-v-9f95eff8]:hover:not(:disabled):before{opacity:1}.diag-count[data-v-9f95eff8]{color:var(--color-warning);font-size:.7rem;font-weight:600}@media(max-width:768px){.pg-workspace[data-v-9f95eff8]{flex-direction:column}.pane-editor[data-v-9f95eff8]{border-bottom:1px solid var(--color-border);border-right:none;max-height:40vh}.pane-sidebar[data-v-9f95eff8]{display:none}}
