:root{--gray-light:#2e2e2e;--orange-light:#a85418;--green-light:#085c00;--blue-light:#05006d;--violet-light:#7c38f5;--cyan-light:#004c5c;--magenta-light:#bb1e4d;--gray-dark:#b3b3b3;--orange-dark:#f3a68a;--green-dark:#99d194;--blue-dark:#b8b6e2;--violet-dark:#caadfb;--cyan-dark:#72f3ea;--magenta-dark:#f4a4b4;--gray:var(--gray-light);--orange:var(--orange-light);--green:var(--green-light);--blue:var(--blue-light);--violet:var(--violet-light);--cyan:var(--cyan-light);--magenta:var(--magenta-light);--roc-purple:#7c38f5;--roc-purple-light:#9b6bf2;--roc-purple-dark:#6528d7;--roc-cyan:#1bd6bd;--roc-cyan-light:#4eefd9;--roc-cyan-dark:#0ea5e9;--primary-alpha-3:#7c38f508;--primary-alpha-8:#7c38f514;--primary-alpha-12:#7c38f51f;--primary-alpha-15:#7c38f526;--primary-alpha-16:#7c38f529;--primary-alpha-20:#7c38f533;--primary-alpha-40:#7c3aed66;--primary-alpha-50:#7c3aed80;--primary-alpha-80:#7c3aedcc;--primary-alpha-90:#7c3aede6;--primary-dark-alpha-05:#a78bfa0d;--primary-dark-alpha-10:#a78bfa1a;--primary-dark-alpha-15:#a78bfa26;--primary-dark-alpha-20:#a78bfa33;--primary-dark-alpha-30:#8b5cf64d;--primary-dark-alpha-40:#8b5cf666;--primary-dark-alpha-50:#8b5cf680;--primary-dark-alpha-80:#8b5cf6cc;--primary-dark-alpha-90:#8b5cf6e6;--white-alpha-80:#fffc;--white-alpha-90:#ffffffe6;--error-light-alpha:#dc26261a;--error-dark-alpha:#ef444426;--warning-light-alpha:#d977061a;--warning-dark-alpha:#f59e0b26;--info-light-alpha:#0284c71a;--info-dark-alpha:#3b82f626;--type-light-alpha:#db27771a;--type-dark-alpha:#f472b626;--function-light-alpha:#7c3aed1a;--function-dark-alpha:#c4b5fd26;--color-primary:var(--roc-purple);--color-primary-hover:var(--roc-purple-light);--color-primary-active:var(--roc-purple-dark);--color-accent:var(--roc-cyan);--color-accent-hover:var(--roc-cyan-light);--color-success:var(--green);--color-warning:var(--orange);--color-error:var(--magenta);--color-info:var(--blue);--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-tertiary:#f1f5f9;--bg-elevated:#fff;--text-primary:#1e293b;--text-secondary:#475569;--text-tertiary:#64748b;--text-active:#fff;--text-important:var(--primary-alpha-90);--border-subtle:#e2e8f0;--border-default:#cbd5e1;--border-strong:#94a3b8;--state-hover:var(--primary-alpha-3);--state-active:var(--primary-alpha-90);--state-focus:var(--primary-alpha-16);--state-disabled:#64748b80;--overlay-white:var(--white-alpha-80);--overlay-error:var(--error-light-alpha);--overlay-warning:var(--warning-light-alpha);--overlay-info:var(--info-light-alpha);--overlay-type:var(--type-light-alpha);--overlay-function:var(--function-light-alpha);--syntax-keyword:var(--magenta);--syntax-string:var(--cyan);--syntax-number:var(--cyan);--syntax-comment:var(--gray);--syntax-function:var(--blue);--syntax-type:var(--green);--syntax-operator:var(--orange);--syntax-punctuation:var(--gray);--syntax-attribute:var(--magenta);--editor-bg:#fafafa;--editor-selection:var(--primary-alpha-15);--editor-cursor:var(--roc-purple);--editor-line-highlight:var(--primary-alpha-3);--search-match-bg:#ffeb3b66;--search-match-border:#ffeb3bcc;--search-match-selected-bg:#ffc10799;--search-match-selected-border:#ffc107;--bracket-match-bg:#22863a26;--bracket-match-border:#22863a66;--bracket-mismatch-bg:#da363326;--bracket-mismatch-border:#da363366;--source-range-bg:var(--primary-alpha-20);--source-range-border:var(--primary-alpha-40);--source-range-selection:var(--primary-alpha-40);--source-range-selection-focused:var(--primary-alpha-50);--tooltip-bg:var(--bg-elevated);--tooltip-text:var(--text-primary);--tooltip-border:var(--border-default);--tooltip-shadow:var(--shadow-lg);--tooltip-type:var(--syntax-type);--tooltip-error:var(--color-error);--font-mono:"SF Mono","Monaco","Inconsolata","Fira Code","Droid Sans Mono","Source Code Pro",monospace;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--text-xs:10px;--text-sm:13px;--text-base:15px;--text-lg:18px;--leading-tight:1.3;--leading-normal:1.5;--leading-relaxed:1.6;--font-normal:400;--font-medium:500;--font-semibold:600;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--size-1:1px;--size-2:2px;--size-8:8px;--size-16:16px;--size-18:18px;--size-24:24px;--size-35:35px;--size-48:48px;--size-50:50px;--size-70:70px;--size-120:120px;--size-180:180px;--size-220:220px;--size-300:300px;--size-400:400px;--header-height:50px;--breakpoint-mobile:768px;--shadow-sm:0 1px 2px #0000000d;--shadow-base:0 2px 4px #0000001a;--shadow-lg:0 4px 8px #00000026;--duration-fast:.15s;--duration-base:.2s;--duration-slow:.3s;--ease-out:cubic-bezier(.25,.46,.45,.94);--ease-in-out:cubic-bezier(.4,0,.2,1);--z-base:1;--z-dropdown:10;--z-modal:100;--z-tooltip:1000;--move-up-sm:-1px}@media (prefers-color-scheme:dark){:root:not([data-theme]){--gray:var(--gray-dark);--orange:var(--orange-dark);--green:var(--green-dark);--blue:var(--blue-dark);--violet:var(--violet-dark);--magenta:var(--magenta-dark);--cyan:var(--cyan-dark)}}[data-theme=light]{--gray:var(--gray-light);--orange:var(--orange-light);--green:var(--green-light);--blue:var(--blue-light);--violet:var(--violet-light);--cyan:var(--cyan-light);--magenta:var(--magenta-light)}[data-theme=dark]{--gray:var(--gray-dark);--orange:var(--orange-dark);--green:var(--green-dark);--blue:var(--blue-dark);--violet:var(--violet-dark);--magenta:var(--magenta-dark);--cyan:var(--cyan-dark)}:root{--dark-bg-primary:#0f172a;--dark-bg-secondary:#1e293b;--dark-bg-tertiary:#334155;--dark-bg-elevated:#1e293b;--dark-text-primary:#f1f5f9;--dark-text-secondary:#cbd5e1;--dark-text-tertiary:#94a3b8;--dark-text-active:#fff;--dark-border-subtle:#334155;--dark-border-default:#475569;--dark-border-strong:#64748b;--dark-color-primary:#ae94fd;--dark-color-primary-hover:#020202;--dark-color-primary-active:#8450ff;--dark-color-accent:#22d3ee;--dark-color-accent-hover:#67e8f9;--dark-editor-bg:#0f172a;--dark-search-match-bg:#ffeb3b4d;--dark-search-match-border:#ffeb3b99;--dark-search-match-selected-bg:#ffc10766;--dark-search-match-selected-border:#ffc107cc;--dark-bracket-match-bg:#2ea04333;--dark-bracket-match-border:#2ea04380;--dark-bracket-mismatch-bg:#f8514933;--dark-bracket-mismatch-border:#f8514980;--dark-tooltip-shadow:0 4px 12px #0006}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg-primary:var(--dark-bg-primary);--bg-secondary:var(--dark-bg-secondary);--bg-tertiary:var(--dark-bg-tertiary);--bg-elevated:var(--dark-bg-elevated);--text-primary:var(--dark-text-primary);--text-secondary:var(--dark-text-secondary);--text-tertiary:var(--dark-text-tertiary);--text-active:var(--dark-text-active);--text-important:var(--dark-text-active);--border-subtle:var(--dark-border-subtle);--border-default:var(--dark-border-default);--border-strong:var(--dark-border-strong);--color-primary:var(--dark-color-primary);--color-primary-hover:var(--dark-text-secondary);--color-primary-active:var(--dark-color-primary-active);--color-accent:var(--dark-color-accent);--color-accent-hover:var(--dark-color-accent-hover);--state-hover:var(--primary-dark-alpha-10);--state-active:var(--dark-color-primary-active);--state-focus:var(--primary-dark-alpha-20);--editor-bg:var(--dark-editor-bg);--editor-selection:var(--primary-dark-alpha-20);--editor-cursor:var(--color-primary);--editor-line-highlight:var(--primary-dark-alpha-05);--overlay-white:var(--white-alpha-90);--overlay-error:var(--error-dark-alpha);--overlay-warning:var(--warning-dark-alpha);--overlay-info:var(--info-dark-alpha);--overlay-type:var(--type-dark-alpha);--overlay-function:var(--function-dark-alpha);--search-match-bg:var(--dark-search-match-bg);--search-match-border:var(--dark-search-match-border);--search-match-selected-bg:var(--dark-search-match-selected-bg);--search-match-selected-border:var(--dark-search-match-selected-border);--bracket-match-bg:var(--dark-bracket-match-bg);--bracket-match-border:var(--dark-bracket-match-border);--bracket-mismatch-bg:var(--dark-bracket-mismatch-bg);--bracket-mismatch-border:var(--dark-bracket-mismatch-border);--source-range-bg:var(--primary-dark-alpha-30);--source-range-border:var(--primary-dark-alpha-50);--source-range-selection:var(--primary-dark-alpha-40);--source-range-selection-focused:var(--primary-dark-alpha-50);--tooltip-shadow:var(--dark-tooltip-shadow)}:root:not([data-theme=light]) a:link{color:var(--dark-color-accent)}:root:not([data-theme=light]) a:visited{color:var(--dark-color-primary)}}[data-theme=dark]{--bg-primary:var(--dark-bg-primary);--bg-secondary:var(--dark-bg-secondary);--bg-tertiary:var(--dark-bg-tertiary);--bg-elevated:var(--dark-bg-elevated);--text-primary:var(--dark-text-primary);--text-secondary:var(--dark-text-secondary);--text-tertiary:var(--dark-text-tertiary);--text-active:var(--dark-text-active);--text-important:var(--dark-text-active);--tab-active:var(--dark-tab-active);--border-subtle:var(--dark-border-subtle);--border-default:var(--dark-border-default);--border-strong:var(--dark-border-strong);--color-primary:var(--dark-color-primary);--color-primary-hover:var(--dark-text-secondary);--color-primary-active:var(--dark-color-primary-active);--color-accent:var(--dark-color-accent);--color-accent-hover:var(--dark-color-accent-hover);--state-hover:var(--primary-dark-alpha-10);--state-active:var(--dark-color-primary-active);--state-focus:var(--primary-dark-alpha-20);--editor-bg:var(--dark-editor-bg);--editor-selection:var(--primary-dark-alpha-20);--editor-cursor:var(--color-primary);--editor-line-highlight:var(--primary-dark-alpha-05);--overlay-white:var(--white-alpha-90);--overlay-error:var(--error-dark-alpha);--overlay-warning:var(--warning-dark-alpha);--overlay-info:var(--info-dark-alpha);--overlay-type:var(--type-dark-alpha);--overlay-function:var(--function-dark-alpha);--search-match-bg:var(--dark-search-match-bg);--search-match-border:var(--dark-search-match-border);--search-match-selected-bg:var(--dark-search-match-selected-bg);--search-match-selected-border:var(--dark-search-match-selected-border);--bracket-match-bg:var(--dark-bracket-match-bg);--bracket-match-border:var(--dark-bracket-match-border);--bracket-mismatch-bg:var(--dark-bracket-mismatch-bg);--bracket-mismatch-border:var(--dark-bracket-mismatch-border);--source-range-bg:var(--primary-dark-alpha-30);--source-range-border:var(--primary-dark-alpha-50);--source-range-selection:var(--primary-dark-alpha-40);--source-range-selection-focused:var(--primary-dark-alpha-50);--tooltip-shadow:var(--dark-tooltip-shadow)}[data-theme=dark] a:link{color:var(--dark-color-accent)}[data-theme=dark] a:visited{color:var(--dark-color-primary)}*,:after,:before{box-sizing:border-box}*{margin:0;padding:0;transition:background-color var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out),opacity var(--duration-base) var(--ease-out)}body{background-color:var(--bg-primary);color:var(--text-primary);display:flex;flex-direction:column;font-family:var(--font-sans);font-size:var(--text-base);height:100vh;line-height:var(--leading-normal);overflow:hidden}.header{background-color:var(--bg-tertiary);border-bottom:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);justify-content:space-between;padding:var(--space-3) var(--space-3);position:relative;z-index:var(--z-dropdown)}.header,.header-status{align-items:center;display:flex}.header-status{gap:var(--space-4)}.status-text{color:var(--text-tertiary);font-size:var(--text-sm)}.theme-toggle{align-items:center;display:flex;gap:var(--space-3)}.theme-button{background:var(--bg-secondary);border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;font-size:var(--text-sm);font-weight:500;padding:var(--space-2) var(--space-3);transition:all var(--duration-base) var(--ease-out);white-space:nowrap}.theme-button:hover{background-color:var(--state-hover);border-color:var(--color-primary);color:var(--text-primary)}.theme-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.share-button{background-color:var(--bg-tertiary);border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-semibold);margin-left:auto;min-width:var(--size-70);padding:var(--space-2) var(--space-4);text-align:center;transition:all var(--duration-base) var(--ease-out)}.share-button:hover{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--bg-primary)}.share-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:var(--size-2)}.main-container{display:flex;flex:1;height:calc(100vh - var(--header-height));overflow:hidden}.examples-sidebar{border-right:1px solid var(--border-subtle);flex-direction:column;width:200px}.examples-header,.examples-sidebar{background-color:var(--bg-secondary);display:flex;flex-shrink:0}.examples-header{align-items:center;border-bottom:1px solid var(--border-subtle);color:var(--text-important);font-size:var(--text-sm);font-weight:var(--font-semibold);height:var(--header-height);letter-spacing:.05em;padding:var(--space-3) var(--space-4)}.examples-list{display:flex;flex:1;flex-direction:column;overflow:hidden auto;padding:0}.example-item{align-items:center;color:var(--text-primary);cursor:pointer;display:flex;font-weight:var(--font-medium);gap:var(--space-2);margin:0 var(--space-1);padding:var(--space-2) var(--space-3);transition:all var(--duration-base) var(--ease-out)}.example-item:hover{background-color:var(--state-hover)}.example-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.example-item.active{background-color:var(--state-active);color:var(--text-active);font-weight:var(--font-semibold)}.example-filename{flex:1;font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-tight);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resize-handle{background-color:var(--border-subtle);cursor:col-resize;flex-shrink:0;position:relative;transition:background-color var(--duration-base) var(--ease-out);width:var(--size-1)}.resize-handle:hover{background-color:var(--color-primary)}.resize-handle:before{background-color:#0000;bottom:0;content:"";left:calc(var(--size-2)*-1);position:absolute;right:calc(var(--size-2)*-1);top:0}.editor-container{display:flex;flex:1;flex-direction:column;min-width:var(--size-300)}.editor-header{align-items:center;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-subtle);display:flex;height:var(--header-height);justify-content:space-between;padding:var(--space-4) var(--space-5);position:relative}.editor{flex:1;height:0;min-height:0;position:relative}.cm-editor{background-color:var(--editor-bg);color:var(--text-primary);display:flex;flex-direction:column;font-family:var(--font-mono);font-size:var(--text-sm);height:100%;line-height:var(--leading-relaxed)}.cm-editor.cm-focused{outline:none}.cm-content{caret-color:var(--editor-cursor);padding:var(--space-5)}.cm-scroller{flex:1;min-height:0;overflow:auto}.cm-line{line-height:var(--leading-relaxed);padding:0}.cm-cursor{border-left:var(--size-1) solid var(--editor-cursor)}.cm-selectionBackground{background:var(--editor-selection)!important}.cm-activeLine,.cm-activeLineGutter{background:var(--editor-line-highlight)}.cm-gutters{background:var(--editor-bg);border-right:1px solid var(--border-default);color:var(--text-secondary)}.cm-lineNumbers{font-family:var(--font-mono);font-size:var(--text-sm)}.cm-lineNumbers .cm-gutterElement{min-width:var(--size-48);padding:0 var(--space-2);text-align:right}.cm-panel{background:var(--bg-elevated);border:1px solid var(--border-default);color:var(--text-primary)}.cm-searchMatch{background:var(--search-match-bg);border:1px solid var(--search-match-border)}.cm-searchMatch.cm-searchMatch-selected{background:var(--search-match-selected-bg);border-color:var(--search-match-selected-border)}.cm-matchingBracket{background:var(--bracket-match-bg);border:1px solid var(--bracket-match-border)}.cm-nonmatchingBracket{background:var(--bracket-mismatch-bg);border:1px solid var(--bracket-mismatch-border)}.editor .cm-keyword,.token-keyword{color:var(--syntax-keyword);font-weight:var(--font-medium)}.editor .cm-string,.token-string{color:var(--syntax-string)}.editor .cm-number,.token-number{color:var(--syntax-number)}.editor .cm-comment,.token-comment{color:var(--syntax-comment);font-style:italic}.editor .cm-operator,.token-operator{color:var(--syntax-operator)}.editor .cm-punctuation,.token-punctuation{color:var(--syntax-punctuation)}.editor .cm-builtin,.editor .cm-type,.token-builtin,.token-type{color:var(--syntax-type);font-weight:var(--font-medium)}.editor .cm-constant,.token-constant{color:var(--syntax-number);font-weight:var(--font-medium)}.editor .cm-variable,.token-function,.token-variable{color:var(--syntax-function)}.editor .cm-error,.token-error{background-color:var(--overlay-error);color:var(--color-error)}.editor .cm-string-interpolation{background-color:var(--overlay-function);color:var(--syntax-function);font-weight:var(--font-medium)}.token-attr{color:var(--syntax-attribute)}.cm-lint-marker{align-items:center;border-radius:50%;color:#fff;display:flex;font-size:var(--text-xs);font-weight:700;height:var(--size-16);justify-content:center;margin:var(--size-2);position:relative;width:var(--size-16)}.cm-lint-marker-error{background-color:var(--color-error)}.cm-lint-marker-warning{background-color:var(--color-warning)}.cm-lint-marker-info{background-color:var(--color-info)}.cm-lintPoint{top:3px}.cm-lintRange{padding-bottom:2px!important}.cm-source-range-highlight{background-color:var(--source-range-bg);outline:2px solid var(--source-range-border);outline-offset:-1px}[data-theme=dark] .cm-source-range-highlight{background-color:var(--source-range-bg);outline-color:var(--source-range-border)}.cm-source-range-active .cm-selectionBackground{background-color:var(--source-range-selection)!important}.cm-source-range-active .cm-focused .cm-selectionBackground{background-color:var(--source-range-selection-focused)!important}[data-theme=dark] .cm-source-range-active .cm-selectionBackground{background-color:var(--source-range-selection)!important}[data-theme=dark] .cm-source-range-active .cm-focused .cm-selectionBackground{background-color:var(--source-range-selection-focused)!important}.output-container{display:flex;flex:1;flex-direction:column;min-width:var(--size-300)}.output-header{align-items:center;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-subtle);display:flex;height:var(--header-height);justify-content:space-between;padding:var(--space-4) var(--space-5)}.stage-tabs{border-bottom:2px solid var(--border-subtle);position:relative}.stage-buttons,.stage-tabs{display:flex;gap:0}.stage-button{background-color:#0000;border:none;border-bottom:2px solid #0000;color:var(--text-secondary);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);margin-bottom:-2px;padding:var(--space-2) var(--space-4);position:relative;transition:all var(--duration-base) var(--ease-out)}.stage-button:hover:not(:disabled){background-color:var(--state-hover);border-bottom-color:var(--color-primary);color:var(--text-primary)}.stage-button.active{background-color:#0000;background-color:var(--state-active);border-bottom-color:var(--text-active);color:var(--text-active);font-weight:var(--font-semibold)}.stage-button.active:hover:not(:disabled){background-color:var(--state-hover);border-bottom-color:var(--color-primary-hover);color:var(--color-primary-hover)}.stage-button:disabled{cursor:not-allowed;opacity:.5}.stage-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.output-content{background-color:var(--bg-secondary);flex:1;font-family:var(--font-mono);font-size:var(--text-sm);overflow:auto;padding:var(--space-5)}.output-content,.sexp-output{line-height:var(--leading-relaxed)}.sexp-output{white-space:pre-wrap;word-wrap:break-word;margin:0}.loading{color:var(--text-tertiary);font-style:italic}.error-message{background-color:var(--overlay-error);border-left:3px solid var(--color-error);color:var(--color-error);margin-bottom:var(--space-4);padding:var(--space-4)}.success-message{color:var(--text-secondary)}.diagnostic{border-left:3px solid;margin-bottom:var(--space-4);padding:var(--space-4)}.diagnostic.error,.diagnostic.fatal{background-color:var(--overlay-error);border-color:var(--color-error)}.diagnostic.warning{background-color:var(--overlay-warning);border-color:var(--color-warning)}.diagnostic.hint,.diagnostic.info{background-color:var(--overlay-info);border-color:var(--color-info)}.diagnostic-header{align-items:center;display:flex;gap:var(--space-3);margin-bottom:var(--space-2)}.diagnostic-severity{font-size:var(--text-sm);font-weight:var(--font-semibold);letter-spacing:.05em;text-transform:uppercase}.diagnostic-location{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-sm)}.diagnostic-message{color:var(--text-primary);font-size:var(--text-sm);line-height:var(--leading-normal)}.diagnostic-code{background-color:var(--bg-tertiary);font-family:var(--font-mono);font-size:var(--text-sm);margin:var(--space-3) 0;overflow-x:auto;padding:var(--space-3)}.diagnostic-hint{color:var(--text-tertiary);font-size:var(--text-sm);font-style:italic;margin-top:var(--space-2)}.diagnostic-summary{background-color:var(--bg-tertiary);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);margin-bottom:var(--space-4);padding:var(--space-3)}.editor-header .diagnostic-summary{left:50%;padding:var(--space-1) var(--space-2);position:absolute;transform:translateX(-50%)}.editor-header .compile-time,.editor-header .diagnostic-summary{background-color:#0000;border:none;font-size:var(--text-base);margin:0}.editor-header .compile-time{opacity:.8;order:-1;padding:0}.report{border-top:2px solid;margin-bottom:var(--space-3);padding:var(--space-3) var(--space-4) var(--space-3) 0}.report.info{background-color:#0000;border-color:var(--color-info)}.report.warning{background-color:#0000;border-color:var(--color-warning)}.report.error{background-color:#0000;border-color:var(--color-error)}.report-title{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-semibold);margin:0 0 var(--space-2) 0}.report-content{color:var(--text-secondary);line-height:var(--leading-normal)}.report-content p{margin:0 0 var(--space-2) 0}.report-content code{background-color:var(--bg-tertiary);font-family:var(--font-mono);font-size:var(--text-sm);padding:var(--space-1)}.source-region{background-color:#0000;border:none;margin:var(--space-2) 0;padding:0;position:relative}.filename{color:var(--text-secondary);display:block;font-weight:var(--font-medium);margin-bottom:var(--space-1)}.filename,.source-region pre{font-family:var(--font-mono);font-size:var(--text-sm)}.source-region pre{background:var(--bg-tertiary);border:solid;border-color:var(--border-subtle);line-height:var(--leading-normal);padding:var(--space-2) var(--space-3);white-space:pre-wrap;word-wrap:break-word;color:var(--text-primary);margin:0;overflow-x:auto}.source-region pre.dim,.source-region pre.error{background:var(--editor-bg)}.report-content .type{background-color:var(--overlay-type);color:var(--syntax-type)}.report-content .symbol-unqualified,.report-content .type{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--size-1) var(--space-1)}.report-content .symbol-unqualified{background-color:var(--overlay-function);color:var(--syntax-function)}::-webkit-scrollbar{height:var(--size-8);width:var(--size-8)}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb,::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}button{letter-spacing:.05em}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading{animation:pulse 2s ease-in-out infinite}.type-hint-tooltip{background:var(--tooltip-bg);border:1px solid var(--tooltip-border);box-shadow:var(--tooltip-shadow);color:var(--tooltip-text);font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-normal);max-width:var(--size-400);padding:var(--space-2) var(--space-3);word-wrap:break-word;white-space:pre-wrap}.type-hint-tooltip .hint-identifier{color:var(--tooltip-text);font-weight:var(--font-medium)}.type-hint-tooltip .hint-type{color:var(--tooltip-type);font-weight:var(--font-medium)}.type-hint-tooltip .hint-description{color:var(--text-secondary);display:block;font-size:var(--text-sm);margin-top:var(--space-1)}.cm-tooltip{background:var(--tooltip-bg);border:1px solid var(--tooltip-border);box-shadow:var(--tooltip-shadow)}.cm-tooltip.cm-tooltip-above .cm-tooltip-arrow:before{border-top-color:var(--tooltip-border)}.cm-tooltip.cm-tooltip-above .cm-tooltip-arrow:after{border-top-color:var(--tooltip-bg)}.cm-tooltip.cm-tooltip-below .cm-tooltip-arrow:before{border-bottom-color:var(--tooltip-border)}.cm-tooltip.cm-tooltip-below .cm-tooltip-arrow:after{border-bottom-color:var(--tooltip-bg)}.token-list{display:flex;flex-direction:column;font-family:var(--font-mono);gap:var(--space-1)}.token{display:flex;justify-content:space-between}.token .token-type{color:var(--text-secondary);font-size:var(--text-sm)}.token-position{color:var(--text-tertiary);font-size:var(--text-sm)}.token-keyword .token-type{color:var(--syntax-keyword)}.token-operator .token-type{color:var(--syntax-operator)}.token-string .token-type{color:var(--syntax-string)}.token-number .token-type{color:var(--syntax-number)}.token-punctuation .token-type{color:var(--syntax-punctuation)}.token-comment .token-type{color:var(--syntax-comment)}.source-range,.token-eof .token-type{color:var(--text-secondary)}.source-range{background:var(--state-hover);cursor:pointer;display:inline-block;font-size:var(--text-sm);margin:0 var(--size-1);padding:var(--size-1) var(--space-1);text-decoration:none;transition:all var(--duration-fast) var(--ease-out)}.source-range:hover{background:var(--state-active);box-shadow:var(--shadow-sm);transform:translateY(var(--move-up-sm))}.source-range:active{transform:translateY(0)}.source-range.highlighted{background:var(--color-primary);color:#fff}@media (width <= 768px){.cm-editor{font-size:var(--text-base)}.cm-content{padding:var(--space-3)}.cm-lineNumbers .cm-gutterElement{min-width:var(--size-35);padding:0 var(--space-2)}.cm-tooltip,.cm-tooltip-diagnostic,.cm-tooltip-hover,.cm-tooltip-type-hint{font-size:12px;max-width:280px;padding:var(--space-2)}.type-hint-word{font-size:var(--text-sm)}.main-container{flex-direction:column;height:auto}.examples-sidebar{border-bottom:1px solid var(--border-subtle);border-right:none;height:120px;order:-1;width:100%}.examples-list{flex-direction:row;overflow:auto hidden;padding:var(--space-2)}.example-item{flex-shrink:0;min-width:140px}}@media (prefers-reduced-motion:reduce){.cm-cursor,.cm-tooltip-type-hint{animation:none}*{animation:none!important;transition:none!important}}@media (prefers-contrast:high){.cm-editor{border:2px solid}.cm-activeLine{background:none;border-left:3px solid var(--editor-cursor)}.cm-tooltip,.cm-tooltip-diagnostic,.cm-tooltip-hover,.cm-tooltip-type-hint{border-width:2px;box-shadow:none}}.mode-toggle{background:var(--bg-secondary);border:1px solid var(--border-default);display:flex;left:50%;overflow:hidden;position:absolute;transform:translateX(-50%)}.mode-button{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-semibold);padding:var(--space-2) var(--space-4);transition:all .2s}.mode-button:hover{background:var(--bg-elevated);color:var(--text-primary)}.mode-button.active{background:var(--state-active);color:var(--text-active);font-weight:var(--font-semibold)}.repl-container{background:var(--bg-secondary);flex:1;flex-direction:column;height:calc(100vh - var(--header-height));max-height:calc(100vh - var(--header-height));padding:var(--space-3)}#repl,.repl-container{display:flex;overflow:hidden}#repl{background:var(--bg-primary);border:2px solid var(--border-default);flex-direction:column;height:100%}#repl,.history{max-height:100%}.history{background:var(--dark-code-bg);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-base);line-height:var(--leading-relaxed);padding:var(--space-3);word-wrap:break-word;flex:1;min-height:0;overflow:hidden auto}#repl-intro-text{color:var(--text-secondary);opacity:.8;transition:opacity .3s ease-out}#repl-intro-text[style*="display: none"]{opacity:0}.color-blue{color:var(--blue)}#history-text{min-height:0}.repl-entry{margin-bottom:var(--space-4)}.repl-input{align-items:center;color:var(--text-primary);display:flex;gap:var(--space-2);margin-bottom:var(--space-2)}.repl-prompt{color:var(--color-primary);font-weight:var(--font-semibold);-webkit-user-select:none;user-select:none}.repl-input-text{color:var(--text-primary)}.repl-output{align-items:center;display:flex;gap:var(--space-2);margin-bottom:var(--space-1)}.repl-output.definition{color:var(--color-success)}.repl-output.expression{color:var(--color-accent)}.repl-icon{color:currentColor;font-weight:var(--font-semibold);opacity:.7;-webkit-user-select:none;user-select:none}.repl-text{color:var(--text-primary)}.repl-error{background-color:var(--overlay-error);border-left:3px solid var(--color-error);margin-bottom:var(--space-3);margin-left:var(--space-4);padding:var(--space-3)}.repl-error-header{align-items:center;display:flex;gap:var(--space-2);margin-bottom:var(--space-2)}.repl-error-icon,.repl-error-stage{color:var(--color-error);font-weight:var(--font-semibold);-webkit-user-select:none;user-select:none}.repl-error-stage{font-size:var(--text-sm);letter-spacing:.05em;text-transform:uppercase}.repl-error-message{color:var(--text-primary);font-family:var(--font-mono);margin-bottom:var(--space-2)}.repl-error-details{color:var(--text-tertiary);font-family:var(--font-mono);font-size:var(--text-sm);opacity:.8}.repl-error.parse{background-color:var(--overlay-warning);border-left-color:var(--color-warning)}.repl-error.parse .repl-error-icon,.repl-error.parse .repl-error-stage{color:var(--color-warning)}.repl-error.typecheck{background-color:var(--state-focus);border-left-color:var(--color-primary)}.repl-error.typecheck .repl-error-icon,.repl-error.typecheck .repl-error-stage{color:var(--color-primary)}.repl-error.evaluation,.repl-error.runtime{background-color:var(--overlay-error);border-left-color:var(--color-error)}.repl-error.evaluation .repl-error-icon,.repl-error.evaluation .repl-error-stage,.repl-error.runtime .repl-error-icon,.repl-error.runtime .repl-error-stage{color:var(--color-error)}#repl-prompt{font-size:var(--text-lg);height:0;left:var(--space-4);pointer-events:none;position:relative;top:var(--space-4);-webkit-user-select:none;user-select:none;z-index:var(--z-dropdown)}#repl-prompt,#source-input{font-family:var(--font-mono)}#source-input{background:var(--bg-primary);border:1px solid #0000;color:var(--text-primary);flex-shrink:0;font-size:var(--text-base);height:60px;line-height:var(--leading-relaxed);max-height:120px;min-height:60px;outline:none;padding:var(--space-4) var(--space-6);padding-left:var(--space-12);resize:none;width:100%}#source-input::placeholder{color:var(--text-secondary);opacity:.6}#source-input:focus{background:var(--bg-primary);box-shadow:0 0 0 3px var(--primary-alpha-20)}#source-input:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.repl-loading-spinner{inset:0;pointer-events:none;position:absolute;z-index:1000}.spinner-overlay{align-items:center;background:var(--bg-primary);border:1px solid var(--border-secondary);box-shadow:0 4px 12px var(--shadow-color);display:flex;flex-direction:column;gap:var(--space-4);left:50%;padding:var(--space-8);position:absolute;top:50%;transform:translate(-50%,-50%)}.spinner{animation:spin 1s linear infinite;border-top:3px solid var(--border-secondary);border:3px solid var(--border-secondary);border-top-color:var(--color-primary);height:32px;width:32px}.spinner-text{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=roc-playground.46744562.css.map */
