.lambda-surface{box-sizing:border-box;color:#d4d4d4;background:#1e1e1e;min-height:100vh;margin:0;padding:20px;font-family:Consolas,Monaco,Courier New,monospace;& *{box-sizing:border-box;margin:0;padding:0}& .container{max-width:1200px;margin:0 auto}& h1{color:#4ec9b0;margin-bottom:10px}& .subtitle{color:#858585;margin-bottom:20px}& .editor-container{background:#252526;border:1px solid #3c3c3c;border-radius:4px;margin-bottom:20px;padding:15px}& .examples-bar{border-bottom:1px solid #3c3c3c;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:12px;display:flex}& .examples-label{color:#858585;margin-right:5px;font-size:13px}& .example-btn{color:#d4d4d4;cursor:pointer;background:#3c3c3c;border:1px solid #555;border-radius:3px;padding:6px 12px;font-family:Consolas,Monaco,Courier New,monospace;font-size:12px;transition:background .2s}& .example-btn:hover{background:#4c4c4c;border-color:#666}& .example-btn:active{background:#2c2c2c}& #editor{z-index:1;white-space:pre-wrap;word-wrap:break-word;outline:none;min-height:200px;font-size:16px;line-height:1.5;position:relative}& .decoration-overlay{pointer-events:none;z-index:0;position:absolute;overflow:hidden}& .decoration-mark{pointer-events:none;border-radius:2px;position:absolute}& .analysis-match{background:#4ec9b026;border-bottom:1px dashed #4ec9b073}& .pattern-moonbit-fn-def{background:#82aaff24;border-bottom-color:#82aaff8c}& #editor:empty:before{content:"fn twice(f : Int -> Int, x : Int) { f (f x) }";color:#6a6a6a}& .lambda{color:#c586c0;font-weight:700}& .variable{color:#9cdcfe}& .keyword{color:#569cd6}& .operator{color:#d4d4d4}& .number{color:#b5cea8}& .error{background:#f003;text-decoration:underline wavy red}& .info-panel{grid-template-columns:1fr 1fr;gap:20px;display:grid}& .panel{background:#252526;border:1px solid #3c3c3c;border-radius:4px;padding:15px}& .panel h2{color:#4ec9b0;text-transform:uppercase;margin-bottom:10px;font-size:14px}& .panel pre{background:#1e1e1e;border-radius:3px;padding:10px;font-size:13px;overflow-x:auto}& #ast-graph{background:#1e1e1e;border-radius:3px;padding:10px;overflow:auto}& #ast-graph svg{width:100%;height:auto;display:block}& .error-list{list-style:none}& .error-item{color:#f48771;border-left:3px solid red;margin-bottom:5px;padding:5px 0 5px 10px}& .diag-item{margin-bottom:5px;padding:5px 0 5px 10px}& .diag-error{color:#f48771;border-left:3px solid red}& .diag-warning{color:#cca700;border-left:3px solid #cca700}& .diag-def-badge{color:#82aaff;background:#82aaff26;border-radius:3px;margin-right:4px;padding:1px 6px;font-family:JetBrains Mono,monospace;font-size:.85em;display:inline-block}& .status{background:#007acc22;border-left:3px solid #007acc;margin-bottom:20px;padding:10px;font-size:13px}& .status.success{background:#4ec9b022;border-left-color:#4ec9b0}& .status.error{background:#f002;border-left-color:red}& .docs-section{background:#252526;border:1px solid #3c3c3c;border-radius:4px;margin-bottom:20px;padding:20px}& .docs-section h2{color:#4ec9b0;margin-bottom:15px;font-size:18px}& .docs-section h3{color:#9cdcfe;margin-top:15px;margin-bottom:10px;font-size:14px}& .docs-section pre{background:#1e1e1e;border-radius:3px;margin:10px 0;padding:10px;font-size:13px;overflow-x:auto}& .docs-section code{background:#1e1e1e;border-radius:3px;padding:2px 6px;font-size:13px}& .docs-section p{margin-bottom:10px;line-height:1.6}& .docs-grid{grid-template-columns:1fr 1fr;gap:20px;margin-top:15px;display:grid}& .docs-grid div{min-width:0}& .network-panel{margin-bottom:20px}& .network-controls{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}& .network-btn{cursor:pointer;color:#fff;border:none;border-radius:3px;padding:8px 16px;font-family:inherit}& .primary-btn{background:#007acc}& .primary-btn:hover:not(:disabled){background:#0098ff}& .secondary-btn{background:#666}& .secondary-btn:hover:not(:disabled){background:#777}& .network-btn:disabled{cursor:not-allowed;opacity:.5}& .network-status-text{color:#858585}& .network-info{color:#858585;font-size:12px}@media (width<=1024px){& .info-panel,& .docs-grid{grid-template-columns:1fr;gap:15px}}@media (width<=768px){padding:10px;& h1{font-size:20px}& .subtitle{font-size:13px}& .editor-container{padding:10px}& .examples-bar{gap:6px;margin-bottom:10px;padding-bottom:10px}& .examples-label{width:100%;margin-bottom:4px;font-size:12px}& .example-btn{padding:5px 10px;font-size:11px}& #editor{min-height:150px;font-size:14px}& .info-panel,& .docs-grid{grid-template-columns:1fr;gap:15px}& .panel{padding:12px}& .panel h2{font-size:12px}& .panel pre{padding:8px;font-size:11px}& .network-controls{flex-direction:column;align-items:stretch}& .network-btn{width:100%;margin-bottom:8px}& .network-status-text{text-align:center;margin-top:5px;display:block}& .docs-section{padding:12px}& .docs-section h2{font-size:16px}& .docs-section h3{font-size:13px}& .docs-section pre{padding:8px;font-size:11px;overflow-x:auto}& .docs-section code{font-size:11px}& #ast-graph{padding:5px}& #ast-output{max-height:200px!important;font-size:11px!important}& .status{padding:8px;font-size:12px}}& .formatted-text{background:0 0;margin:0;padding:1rem;font-family:JetBrains Mono,monospace;font-size:.875rem;line-height:1.5;overflow-x:auto}& .formatted-text .line{white-space:pre;min-height:1.5em}& .formatted-text .keyword{color:#c792ea}& .formatted-text .identifier{color:#82aaff}& .formatted-text .number{color:#f78c6c}& .formatted-text .string{color:#c3e88d}& .formatted-text .operator{color:#ff5370}& .formatted-text .punctuation{color:#89ddff}& .formatted-text .comment{color:#546e7a;font-style:italic}& .formatted-text .error{color:#ff5370;text-decoration:underline wavy}& .formatted-text .eval-annotation{color:#89ddff;opacity:.7;font-style:italic}& .formatted-text .eval-error{color:#ff5370;opacity:.7;font-style:italic}& .annotation-eval{color:#89ddff;opacity:.7;margin-left:.5em;font-style:italic}& .annotation-eval.severity-warning{color:#ff5370}@media (width<=480px){padding:8px;& h1{font-size:18px}& .subtitle{font-size:12px}& #editor{min-height:120px;font-size:13px}& .panel,& .docs-section{padding:10px}& .docs-section pre{font-size:10px}& #editor:empty:before{font-size:12px}}}
