:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#1e2420;--page-bg:#f6f2ea;--text:#1e2420;--sidebar:#17211c;--sidebar-muted:#9baaa1;--surface:#fffcf7;--surface-strong:#fff;--line:#ded8cc;--text-muted:#66736a;--accent:#276a63;--accent-strong:#1d514b;--warn:#a6482a;--workspace-bg:#fbf8f0;--workspace-grid:#276a6314;--block-border:#cfc8b9;--shadow:#1c241f1f;--code-bg:#121714;--code-line:#26312b;background:#f6f2ea;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}button,input,select{font:inherit}.app-shell button{border:1px solid var(--line);background:var(--surface-strong);color:#1f2924;cursor:pointer;border-radius:7px}.app-shell button:disabled{cursor:not-allowed;opacity:.55}.app-shell{background:var(--page-bg);height:100%;color:var(--text);grid-template-columns:280px minmax(0,1fr);display:grid;overflow:hidden}.app-shell.sidebar-collapsed{grid-template-columns:72px minmax(0,1fr)}.app-shell.fullscreen-mode{grid-template-columns:minmax(0,1fr);width:100vw;height:100vh;min-height:0}.app-shell.fullscreen-mode .sidebar{display:none}.app-shell.fullscreen-mode .main-panel,.app-shell.fullscreen-mode .visualizer-view,.app-shell.fullscreen-mode .code-reader-view,.app-shell.fullscreen-mode .workspace{width:100%;height:100%;min-height:0}.site-studio{--page-bg:#f6f2ea;--text:#1e2420;--sidebar:#17211c;--sidebar-muted:#9baaa1;--surface:#fffcf7;--surface-strong:#fff;--line:#ded8cc;--text-muted:#66736a;--accent:#276a63;--workspace-bg:#fbf8f0;--workspace-grid:#276a6314;--block-border:#cfc8b9;--shadow:#1c241f1f}.site-midnight{--page-bg:#111614;--text:#e8f0eb;--sidebar:#080d0b;--sidebar-muted:#9aaaa2;--surface:#171f1b;--surface-strong:#202a25;--line:#34423a;--text-muted:#a7b5ad;--accent:#59b6a8;--workspace-bg:#111814;--workspace-grid:#59b6a81f;--block-border:#3c4f46;--shadow:#00000047}.site-paper{--page-bg:#faf8f2;--text:#24211b;--sidebar:#2a2720;--sidebar-muted:#c3baaa;--surface:#fffdf7;--surface-strong:#fff;--line:#ddd5c4;--text-muted:#746c5f;--accent:#6b5b31;--workspace-bg:#fffdf7;--workspace-grid:#6b5b311a;--block-border:#d4c9b4;--shadow:#2d26191f}.site-ocean{--page-bg:#eef7f8;--text:#17272a;--sidebar:#123238;--sidebar-muted:#a9c8cd;--surface:#f8feff;--surface-strong:#fff;--line:#c8dde0;--text-muted:#587178;--accent:#167184;--workspace-bg:#f4fbfc;--workspace-grid:#1671841a;--block-border:#b9d3d8;--shadow:#1132381f}.sidebar{background:var(--sidebar);color:#f7faf7;flex-direction:column;gap:26px;padding:22px 18px;display:flex;overflow-y:auto}.sidebar-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.brand{align-items:center;gap:12px;min-height:44px;display:flex}.brand strong,.brand span{display:block}.brand strong{font-size:17px}.brand span{color:var(--sidebar-muted);font-size:13px}.sidebar-toggle{color:#edf5f0;background:#223129;border-color:#34443b;flex:0 0 34px;place-items:center;width:34px;height:34px;padding:0;display:grid}.sidebar-collapsed .sidebar{align-items:center;padding:22px 10px}.sidebar-collapsed .sidebar-top{justify-content:center}.sidebar-collapsed .brand div,.sidebar-collapsed .primary-nav span{display:none}.sidebar-collapsed .primary-nav button{justify-content:center;width:42px;padding:0}.theme-panel{grid-template-columns:1fr 1fr;gap:8px;display:grid}.icon-toggle{color:#edf5f0;background:#223129;border-color:#34443b;justify-content:center;align-items:center;gap:7px;min-height:38px;display:inline-flex}.primary-nav,.doc-nav,.java-nav{flex-direction:column;gap:10px;display:flex}.primary-nav button,.doc-nav button,.java-nav button,.java-nav a.package-name-button{color:#d8e4dd;text-align:left;background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:10px;width:100%;min-height:40px;padding:9px 10px;text-decoration:none;display:flex}.primary-nav button.active,.primary-nav button:hover,.doc-nav button.active,.doc-nav button:hover,.java-nav button.active,.java-nav button:hover,.java-nav a.package-name-button:hover{color:#fff;background:#26352e}.module-group{flex-direction:column;gap:5px;padding-top:8px;display:flex;position:relative}.module-header{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px;padding:0 4px 0 8px;display:grid}.module-collapse-button{color:#fff;background:#111814;border:1px solid #ffffffa6;place-items:center;width:30px;min-height:30px;padding:0;display:grid}.module-collapse-button:hover{background:#26352e;border-color:#fff}.module-collapse-button span{color:#fff;font-size:20px;font-weight:800;line-height:1}.module-header strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:0 8px;font-size:13px;overflow:hidden}.problem-meta-status{color:var(--sidebar-muted);background:#223129bf;border:1px solid #34443b;border-radius:7px;padding:8px 10px;font-size:12px;line-height:1.35}.problem-meta-status.error{color:#ffc5c5;border-color:#c94f4f80}.problem-complete-control{color:#d8e4dd;cursor:pointer;background:#223129;border:1px solid #34443b;border-radius:999px;justify-content:center;align-items:center;width:30px;min-height:30px;padding:0;display:inline-flex}.problem-complete-control.completed{color:#bcf7d4;background:#36a1662e;border-color:#36a166b3}.problem-complete-control input{accent-color:#36a166;flex:none;width:14px;height:14px;margin:0}.problem-complete-control input:disabled{cursor:not-allowed;opacity:.55}.problem-notes-button{color:#d8e4dd;background:#223129;border-color:#34443b;place-items:center;width:30px;min-height:30px;padding:0;display:grid}.problem-notes-button.active,.problem-notes-button.has-notes{color:#ffe2a4;background:#d49b2a2e;border-color:#d49b2ab8}.problem-notes-dialog{z-index:40;background:#111814;border:1px solid #34443b;border-radius:8px;flex-direction:column;gap:8px;padding:10px;display:flex;position:absolute;top:42px;left:8px;right:4px;box-shadow:0 12px 28px #00000038}.problem-notes-dialog-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.problem-notes-dialog-header strong{color:#edf5f0;padding:0;font-size:12px}.problem-notes-dialog-header span{color:var(--sidebar-muted);font-size:11px}.problem-notes-dialog textarea{resize:vertical;color:#edf5f0;background:#111814;border:1px solid #34443b;border-radius:7px;outline:0;width:100%;min-height:110px;padding:9px 10px;font-family:inherit;font-size:12px;line-height:1.45}.problem-notes-dialog textarea::placeholder{color:var(--sidebar-muted)}.problem-notes-actions{justify-content:flex-end;gap:6px;display:flex}.problem-notes-actions button{width:auto;min-height:30px;padding:0 10px;font-size:12px;font-weight:700}.java-nav .problem-notes-save,.java-nav .problem-notes-save:hover{color:#fff;background:#36a166;border-color:#36a166b3}.java-nav .problem-notes-exit,.java-nav .problem-notes-exit:hover{color:#d8e4dd;background:#223129;border-color:#34443b}.module-mode-buttons{gap:4px;display:inline-flex}.module-mode-buttons button{background:#223129;border-color:#34443b;place-items:center;width:30px;min-height:30px;padding:0;display:grid}.module-mode-buttons button.active,.package-action-button.active{background:var(--accent);color:#fff}.package-entry{border-radius:7px}.package-entry.active{background:#26352e}.package-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:4px;display:grid}.package-row button,.package-row .package-name-button{min-height:34px}.package-name-button{justify-content:space-between;min-width:0;padding-left:14px}.package-name-button span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.package-name-button small{color:var(--sidebar-muted);flex:none;font-size:12px}.package-action-button{background:#223129;border-color:#34443b;justify-content:center;place-items:center;width:34px;padding:0;display:grid}.source-picker{color:var(--sidebar-muted);flex-direction:column;gap:4px;padding:0 8px 8px 14px;font-size:12px;display:flex}.source-picker select{color:#edf5f0;-webkit-text-fill-color:#edf5f0;opacity:1;visibility:visible;background:#223129;border:1px solid #34443b;border-radius:7px;outline:0;min-height:34px;padding:0 8px}.source-picker option{color:#fff;background:#223129}.site-midnight .source-picker option{color:#fff;background:#202a25}.nav-label{color:var(--sidebar-muted);text-transform:uppercase;padding:0 8px;font-size:12px}.main-panel{background:var(--page-bg);min-width:0;height:100%;overflow:hidden}.docs-view,.visualizer-view,.docs-editor-view{height:100%;overflow:auto}.docs-view{padding:44px max(32px,8vw)}.markdown-body{max-width:860px;color:var(--text);line-height:1.68}.markdown-body h1{margin:0 0 22px;font-size:42px;line-height:1.08}.markdown-body h2{margin-top:34px;font-size:24px}.markdown-body code{background:var(--surface);border-radius:5px;padding:2px 5px}.visualizer-view{padding:0;position:relative;overflow:hidden}.workspace-layout-toolbar{z-index:30;border:1px solid var(--line);background:color-mix(in srgb, var(--surface-strong) 94%, transparent);max-width:min(520px,100% - 28px);box-shadow:0 12px 28px var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;align-items:center;gap:8px;padding:6px;display:inline-flex;position:absolute;top:14px;right:14px}.workspace-layout-status{min-width:0;color:var(--text-muted);white-space:nowrap;align-items:center;gap:7px;padding:0 8px 0 6px;font-size:12px;font-weight:600;display:inline-flex}.workspace-layout-status span:last-child{text-overflow:ellipsis;overflow:hidden}.workspace-layout-dot{background:#94a3b8;border-radius:999px;flex:none;width:8px;height:8px}.workspace-layout-status.status-saved .workspace-layout-dot{background:#2a9d5a}.workspace-layout-status.status-saving .workspace-layout-dot,.workspace-layout-status.status-loading .workspace-layout-dot{background:#d49b2a}.workspace-layout-status.status-error .workspace-layout-dot{background:#c94f4f}.workspace-save-button{border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-height:32px;padding:0 12px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.workspace-save-button:disabled{cursor:not-allowed;opacity:.55}.docs-editor-view{flex-direction:column;gap:10px;padding:18px;display:flex}.docs-editor-topbar{color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.version-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.version-controls strong{color:var(--text);font-size:16px}.version-controls select,.version-controls input{border:1px solid var(--line);background:var(--surface-strong);min-height:36px;color:var(--text);border-radius:7px;outline:0;padding:0 10px}.version-controls button,.format-toolbar button{min-height:36px;color:var(--text);justify-content:center;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.danger-button{color:#c94f4f;border-color:#c94f4f80}.format-toolbar{border:1px solid var(--line);background:var(--surface);border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;padding:8px;display:flex}.rich-editor{border:1px solid var(--line);background:var(--surface-strong);min-height:0;color:var(--text);border-radius:8px;outline:0;flex:auto;padding:28px;line-height:1.65;overflow:auto}.rich-editor:empty:before{color:var(--text-muted);content:"Start writing module documentation..."}.rich-editor h1,.rich-editor h2,.rich-editor h3{line-height:1.2}.rich-editor blockquote{border-left:3px solid var(--accent);color:var(--text-muted);margin-left:0;padding-left:14px}.rich-editor pre{background:var(--surface);border-radius:7px;padding:12px;font-family:JetBrains Mono,Cascadia Code,Consolas,monospace;overflow:auto}.theme-select{color:#edf5f0;background:#223129;border:1px solid #34443b;border-radius:7px;align-items:center;gap:8px;min-height:40px;padding:0 10px;display:inline-flex}.theme-select select{width:100%;min-width:0;color:inherit;background:0 0;border:0;outline:0}.theme-select option{color:#1f2924}.site-midnight .theme-select option{color:#e8f0eb;background:#202a25}.error-banner{color:var(--warn);background:#fff1ec;border:1px solid #d9a592;border-radius:7px;padding:10px 12px}.empty-workspace{border:1px solid var(--line);background:linear-gradient(var(--workspace-grid) 1px, transparent 1px), linear-gradient(90deg, var(--workspace-grid) 1px, transparent 1px), var(--workspace-bg);background-size:32px 32px;border-radius:8px;flex:auto;min-height:520px}.workspace{background:linear-gradient(var(--workspace-grid) 1px, transparent 1px), linear-gradient(90deg, var(--workspace-grid) 1px, transparent 1px), var(--workspace-bg);background-size:32px 32px;border:0;border-radius:0;width:100%;height:100%}.empty-workspace{color:var(--text-muted);align-content:center;place-items:center;gap:10px;display:grid}.workspace{touch-action:pan-x pan-y;scrollbar-width:none;position:relative;overflow:auto}.workspace::-webkit-scrollbar{display:none}.deleted-files-panel{z-index:10;background:color-mix(in srgb, var(--surface-strong) 92%, #c94f4f);width:min(360px,100% - 24px);max-height:220px;box-shadow:0 10px 24px var(--shadow);color:var(--text);border:1px solid #c94f4f73;border-radius:8px;margin:12px;padding:10px 12px;position:sticky;top:12px;left:12px;overflow:auto}.deleted-files-panel strong{color:#c94f4f;margin-bottom:7px;font-size:13px;display:block}.deleted-files-panel ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.deleted-files-panel li{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-family:JetBrains Mono,Cascadia Code,Consolas,monospace;font-size:12px;overflow:hidden}.workspace-grid{position:relative}.workspace-content{transform-origin:0 0;position:relative}.code-block{border:1px solid var(--block-border);background:var(--surface-strong);width:560px;min-width:140px;max-width:1200px;height:440px;min-height:90px;max-height:1200px;box-shadow:0 14px 28px var(--shadow);cursor:grab;-webkit-user-select:none;user-select:none;will-change:transform;border-radius:8px;flex-direction:column;display:flex;position:absolute;top:0;left:0;overflow:visible}.code-block.status-added{box-shadow:0 0 0 2px #36a1664d, 0 14px 28px var(--shadow);border-color:#36a166}.code-block.status-removed{box-shadow:0 0 0 2px #c94f4f4d, 0 14px 28px var(--shadow);border-color:#c94f4f}.code-block.status-modified{box-shadow:0 0 0 2px #d49b2a52, 0 14px 28px var(--shadow);border-color:#d49b2a}.code-block:active{cursor:grabbing}.constructor-toggle-button{z-index:6;color:#fff;cursor:pointer;background:#0f172ad1;border:1px solid #ffffff57;border-radius:6px;width:28px;height:28px;padding:0;font-size:12px;font-weight:700;line-height:1;position:absolute;bottom:8px;right:16px;box-shadow:0 8px 18px #0000002e}.constructor-toggle-button.active{border-color:var(--accent);background:var(--accent);color:#fff}.constructor-toggle-button:hover{filter:brightness(1.06)}.constructor-toggle-button.unavailable{opacity:.48;cursor:default}.constructor-toggle-button.unavailable:hover{filter:none}.code-pre{overscroll-behavior:contain;white-space:pre;overflow-wrap:normal;tab-size:2;scrollbar-width:thin;-ms-overflow-style:auto;border-radius:8px;flex:auto;width:100%;height:100%;margin:0;padding:14px;font-family:JetBrains Mono,Cascadia Code,Consolas,monospace;line-height:1.55;overflow:hidden auto}.code-pre::-webkit-scrollbar{width:10px}.code-pre::-webkit-scrollbar-thumb{background:#7884968c;border-radius:999px}.code-lines{min-width:max-content;display:block}.code-line,.code-fold-placeholder{align-items:flex-start;min-height:1.55em;display:flex}.code-line-content{white-space:pre;min-width:max-content;display:inline-block}.method-fold-button,.method-fold-spacer{flex:0 0 18px;width:18px;height:1.55em;margin-right:4px}.method-fold-button{color:currentColor;font:inherit;cursor:pointer;opacity:.74;background:0 0;border:0;border-radius:4px;font-size:.86em;line-height:1.55em}.method-fold-button:hover{opacity:1;background:#80808029}.code-fold-placeholder{color:currentColor;opacity:.62}.diff-pre{padding:0}.diff-line{min-height:1.55em;padding:0 12px 0 0;display:block}.diff-marker{-webkit-user-select:none;user-select:none;width:22px;padding-left:8px;display:inline-block}.diff-add{background:#2a9d5a2e}.diff-remove{background:#d64a4a33}.diff-context{opacity:.92}.diff-separator{color:var(--text-muted);background:#7f7f7f1f;padding-left:8px}.resize-handle{z-index:4;position:absolute}.resize-n,.resize-s{cursor:ns-resize;height:8px;left:10px;right:10px}.resize-n{top:-4px}.resize-s{bottom:-4px}.resize-e,.resize-w{cursor:ew-resize;width:8px;top:10px;bottom:10px}.resize-e{right:-4px}.resize-w{left:-4px}.resize-ne,.resize-nw,.resize-se,.resize-sw{width:14px;height:14px}.resize-ne{cursor:nesw-resize;top:-6px;right:-6px}.resize-nw{cursor:nwse-resize;top:-6px;left:-6px}.resize-se{cursor:nwse-resize;bottom:-6px;right:-6px}.resize-sw{cursor:nesw-resize;bottom:-6px;left:-6px}.resize-ne:after,.resize-nw:after,.resize-se:after,.resize-sw:after{background:var(--accent);content:"";border:1px solid #ffffffbf;border-radius:50%;position:absolute;inset:3px}.theme-github-dark .code-pre,.theme-github-dark .code-pre.hljs{color:#d6e4da;background:#111814}.theme-github-dark .code-pre .hljs-keyword,.theme-github-dark .code-pre .hljs-built_in,.theme-github-dark .code-pre .hljs-type,.theme-github-dark .hljs-keyword,.theme-github-dark .hljs-built_in,.theme-github-dark .hljs-type{color:#79c0ff;font-weight:600}.theme-github-dark .code-pre .hljs-title,.theme-github-dark .code-pre .hljs-title.class_,.theme-github-dark .code-pre .hljs-title.function_,.theme-github-dark .hljs-title,.theme-github-dark .hljs-title.class_,.theme-github-dark .hljs-title.function_{color:#d2a8ff}.theme-github-dark .code-pre .hljs-string,.theme-github-dark .code-pre .hljs-char.escape_,.theme-github-dark .hljs-string,.theme-github-dark .hljs-char.escape_{color:#a5d6ff}.theme-github-dark .code-pre .hljs-comment,.theme-github-dark .hljs-comment{color:#8b949e;font-style:italic}.theme-github-dark .code-pre .hljs-number,.theme-github-dark .code-pre .hljs-literal,.theme-github-dark .hljs-number,.theme-github-dark .hljs-literal{color:#79c0ff}.theme-github-dark .code-pre .hljs-meta,.theme-github-dark .code-pre .hljs-annotation,.theme-github-dark .hljs-meta,.theme-github-dark .hljs-annotation{color:#ffa657}.theme-github-light .code-pre,.theme-github-light .code-pre.hljs{color:#1f2924;background:#fff}.theme-github-light .code-pre .hljs-keyword,.theme-github-light .code-pre .hljs-built_in,.theme-github-light .code-pre .hljs-type,.theme-github-light .hljs-keyword,.theme-github-light .hljs-built_in,.theme-github-light .hljs-type{color:#0f5a9c;font-weight:600}.theme-github-light .code-pre .hljs-title,.theme-github-light .code-pre .hljs-title.class_,.theme-github-light .code-pre .hljs-title.function_,.theme-github-light .hljs-title,.theme-github-light .hljs-title.class_,.theme-github-light .hljs-title.function_{color:#7a3e9d}.theme-github-light .code-pre .hljs-string,.theme-github-light .code-pre .hljs-char.escape_,.theme-github-light .hljs-string,.theme-github-light .hljs-char.escape_{color:#0b6b48}.theme-github-light .code-pre .hljs-comment,.theme-github-light .hljs-comment{color:#68756d;font-style:italic}.theme-github-light .code-pre .hljs-number,.theme-github-light .code-pre .hljs-literal,.theme-github-light .hljs-number,.theme-github-light .hljs-literal,.theme-github-light .code-pre .hljs-meta,.theme-github-light .code-pre .hljs-annotation,.theme-github-light .hljs-meta,.theme-github-light .hljs-annotation{color:#9a4c00}.theme-dracula .code-pre{color:#f8f8f2;background:#282a36}.theme-dracula .hljs-keyword,.theme-dracula .hljs-built_in,.theme-dracula .hljs-type{color:#ff79c6;font-weight:600}.theme-dracula .hljs-title,.theme-dracula .hljs-title.class_,.theme-dracula .hljs-title.function_{color:#50fa7b}.theme-dracula .hljs-string{color:#f1fa8c}.theme-dracula .hljs-comment{color:#6272a4;font-style:italic}.theme-dracula .hljs-number,.theme-dracula .hljs-literal{color:#bd93f9}.theme-dracula .hljs-meta,.theme-dracula .hljs-annotation{color:#8be9fd}.theme-solarized-dark .code-pre{color:#839496;background:#002b36}.theme-solarized-dark .hljs-keyword,.theme-solarized-dark .hljs-built_in,.theme-solarized-dark .hljs-type{color:#859900;font-weight:600}.theme-solarized-dark .hljs-title,.theme-solarized-dark .hljs-title.class_,.theme-solarized-dark .hljs-title.function_{color:#268bd2}.theme-solarized-dark .hljs-string{color:#2aa198}.theme-solarized-dark .hljs-comment{color:#586e75;font-style:italic}.theme-solarized-dark .hljs-number,.theme-solarized-dark .hljs-literal{color:#d33682}.theme-solarized-dark .hljs-meta,.theme-solarized-dark .hljs-annotation{color:#b58900}.theme-solarized-light .code-pre{color:#657b83;background:#fdf6e3}.theme-solarized-light .hljs-keyword,.theme-solarized-light .hljs-built_in,.theme-solarized-light .hljs-type{color:#859900;font-weight:600}.theme-solarized-light .hljs-title,.theme-solarized-light .hljs-title.class_,.theme-solarized-light .hljs-title.function_{color:#268bd2}.theme-solarized-light .hljs-string{color:#2aa198}.theme-solarized-light .hljs-comment{color:#93a1a1;font-style:italic}.theme-solarized-light .hljs-number,.theme-solarized-light .hljs-literal{color:#d33682}.theme-solarized-light .hljs-meta,.theme-solarized-light .hljs-annotation{color:#b58900}.theme-monokai .code-pre{color:#f8f8f2;background:#272822}.theme-monokai .hljs-keyword,.theme-monokai .hljs-built_in,.theme-monokai .hljs-type{color:#f92672;font-weight:600}.theme-monokai .hljs-title,.theme-monokai .hljs-title.class_,.theme-monokai .hljs-title.function_{color:#a6e22e}.theme-monokai .hljs-string{color:#e6db74}.theme-monokai .hljs-comment{color:#75715e;font-style:italic}.theme-monokai .hljs-number,.theme-monokai .hljs-literal{color:#ae81ff}.theme-monokai .hljs-meta,.theme-monokai .hljs-annotation{color:#66d9ef}@media (max-width:900px){.app-shell{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.app-shell.sidebar-collapsed{grid-template-columns:1fr}.sidebar{flex-direction:row;align-items:center;gap:14px;padding:12px;overflow-x:auto}.brand{flex:none}.sidebar-collapsed .brand{display:flex}.primary-nav{flex-direction:row}.doc-nav{display:none}.visualizer-view{padding:12px}.code-block{width:430px}}.site-studio{--page-bg:#f8fafc;--text:#0f172a;--sidebar:#fff;--sidebar-muted:#64748b;--surface:#f8fafc;--surface-strong:#fff;--line:#e2e8f0;--text-muted:#64748b;--accent:#0f172a;--accent-strong:#020617;--warn:#b45309;--workspace-bg:#f8fafc;--workspace-grid:#0f172a0f;--block-border:#cbd5e1;--shadow:#0f172a14}.site-studio.app-shell{border-top:1px solid var(--line);background:var(--page-bg);grid-template-columns:312px minmax(0,1fr)}.site-studio.app-shell.sidebar-collapsed{grid-template-columns:64px minmax(0,1fr)}.site-studio.app-shell.fullscreen-mode,.site-studio.app-shell.sidebar-collapsed.fullscreen-mode{border-top:0;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.site-studio.sidebar-collapsed .sidebar-top{grid-template-columns:34px;justify-content:center;padding:8px}.site-studio .sidebar{border-right:1px solid var(--line);color:var(--text);scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;background:#f8fafc;gap:14px;padding:14px}.site-studio .sidebar::-webkit-scrollbar{width:8px}.site-studio .sidebar::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.site-studio .sidebar-top{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto 34px 34px;align-items:center;gap:8px;min-height:48px;padding:8px;display:grid;box-shadow:0 8px 22px #0f172a0d}.site-studio .brand{gap:10px;min-width:0;min-height:36px}.site-studio .brand>svg{color:#fff;background:#0f172a;border-radius:8px;flex:none;width:34px;height:34px;padding:7px;display:grid}.site-studio .brand svg{color:#fff}.site-studio .brand strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.2;overflow:hidden}.site-studio .brand span{margin-top:2px;font-size:12px;line-height:1.2}.site-studio .brand span,.site-studio .nav-label,.site-studio .source-picker,.site-studio .package-name-button small{color:var(--sidebar-muted)}.site-studio .sidebar-toggle{border-radius:8px;flex-basis:32px;width:32px;height:32px}.site-studio .theme-panel{border:1px solid var(--line);background:#fff;border-radius:8px;gap:6px;padding:4px}.site-studio .icon-toggle{border-radius:6px;min-height:32px;font-size:12px;font-weight:600}.site-studio .workspace-mode-buttons{border:1px solid var(--line);background:#f8fafc;border-radius:8px;gap:3px;padding:3px;display:inline-flex}.site-studio .workspace-mode-buttons button{color:#475569;background:0 0;border:0;border-radius:6px;place-items:center;width:30px;min-height:28px;padding:0;display:grid}.site-studio .workspace-mode-buttons button.active{color:#fff;background:#0f172a}.site-studio .sidebar-toggle,.site-studio .icon-toggle,.site-studio .workspace-mode-buttons button,.site-studio .module-mode-buttons button,.site-studio .package-action-button,.site-studio .module-collapse-button{border-color:var(--line);background:var(--surface);color:var(--text)}.site-studio .sidebar-toggle:hover,.site-studio .icon-toggle:hover,.site-studio .workspace-mode-buttons button:hover,.site-studio .module-mode-buttons button:hover,.site-studio .package-action-button:hover,.site-studio .module-collapse-button:hover{color:var(--text);background:#f1f5f9;border-color:#cbd5e1}.site-studio .java-nav{gap:8px}.site-studio .nav-label{letter-spacing:.08em;padding:0 2px 2px;font-size:11px;font-weight:700}.site-studio .module-group{border:1px solid var(--line);background:#fff;border-radius:8px;gap:8px;padding:10px;box-shadow:0 8px 22px #0f172a0a}.site-studio .module-header{border-bottom:1px solid #f1f5f9;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;padding:0 0 6px}.site-studio .module-title-button{min-width:0;min-height:30px;color:var(--text);background:0 0;border:0;border-radius:6px;justify-content:flex-start;align-items:center;gap:6px;padding:0 6px;display:inline-flex}.site-studio .module-title-button:hover{background:#f8fafc}.site-studio .module-title-button svg{color:#64748b;flex:none}.site-studio .module-title-button strong{color:#1e293b;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;font-weight:650;line-height:1.2;overflow:hidden}.site-studio .problem-meta-status{border-color:var(--line);color:#64748b;background:#f8fafc}.site-studio .problem-meta-status.error{color:#991b1b;background:#fef2f2;border-color:#b91c1c33}.site-studio .problem-complete-control{border-color:var(--line);color:#475569;background:#f8fafc}.site-studio .problem-complete-control.completed{color:#166534;background:#dcfce7;border-color:#2a9d5a59}.site-studio .problem-notes-button{border-color:var(--line);color:#475569;background:#f8fafc;border-radius:7px;width:30px;min-height:30px}.site-studio .problem-notes-button.active,.site-studio .problem-notes-button.has-notes{color:#92400e;background:#fef3c7;border-color:#b4530947}.site-studio .problem-notes-dialog{border-color:var(--line);background:#fff;top:48px;left:10px;right:10px;box-shadow:0 12px 30px #0f172a14}.site-studio .problem-notes-dialog-header strong{color:#1e293b}.site-studio .problem-notes-dialog textarea{border-color:var(--line);color:var(--text);background:#f8fafc}.site-studio .module-mode-buttons{border:1px solid var(--line);background:#f8fafc;border-radius:7px;gap:3px;padding:2px}.site-studio .module-mode-buttons button{background:0 0;border:0;border-radius:5px;width:26px;min-height:26px}.site-studio .package-entry{border-radius:7px}.site-studio .package-entry.active{background:0 0}.site-studio .package-row{grid-template-columns:minmax(0,1fr) 30px 30px;gap:3px}.site-studio .package-row button{min-height:34px}.site-studio .java-nav a.package-name-button{color:#475569;border-radius:7px;justify-content:space-between;gap:8px;padding:8px 8px 8px 12px;position:relative}.site-studio .package-entry.active .package-name-button{color:#1e293b;background:#eef2ff}.site-studio .package-entry.active .package-name-button:before{content:"";background:#0f172a;border-radius:999px;width:3px;position:absolute;top:8px;bottom:8px;left:4px}.site-studio .package-name-button span{font-size:13px;font-weight:600}.site-studio .package-name-button small{color:#475569;background:#e2e8f0;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:20px;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.site-studio .package-action-button{opacity:.72;border-radius:7px;width:30px;min-height:30px}.site-studio .package-entry:hover .package-action-button,.site-studio .package-entry.active .package-action-button{opacity:1}.site-studio .primary-nav button,.site-studio .doc-nav button,.site-studio .java-nav button,.site-studio .java-nav a.package-name-button{color:#475569}.site-studio .primary-nav button.active,.site-studio .primary-nav button:hover,.site-studio .doc-nav button.active,.site-studio .doc-nav button:hover,.site-studio .java-nav button.active,.site-studio .java-nav button:hover,.site-studio .java-nav a.package-name-button:hover,.site-studio .package-entry.active{color:var(--text);background:#f1f5f9}.site-studio .module-mode-buttons button.active,.site-studio .package-action-button.active{border-color:var(--accent);background:var(--accent);color:#fff}.site-studio .java-nav .problem-notes-button.active,.site-studio .java-nav .problem-notes-button.has-notes{color:#92400e;background:#fef3c7;border-color:#b4530947}.site-studio .java-nav .problem-notes-save,.site-studio .java-nav .problem-notes-save:hover{color:#fff;background:#166534;border-color:#166534}.site-studio .java-nav .problem-notes-exit,.site-studio .java-nav .problem-notes-exit:hover{border-color:var(--line);color:#475569;background:#fff}.site-studio .source-picker select{border-color:var(--line);background:var(--surface-strong);color:var(--text);-webkit-text-fill-color:var(--text);border-radius:7px}.site-studio .source-picker{padding:6px 0 0 12px}.site-studio .source-picker option{background:var(--surface-strong);color:var(--text)}.site-studio .main-panel{background:var(--page-bg)}.site-studio .workspace,.site-studio .empty-workspace{background:linear-gradient(var(--workspace-grid) 1px, transparent 1px), linear-gradient(90deg, var(--workspace-grid) 1px, transparent 1px), var(--workspace-bg);background-size:32px 32px}.site-studio .code-block{box-shadow:0 16px 40px var(--shadow);border-radius:8px}.site-midnight .sidebar-top{grid-template-columns:minmax(0,1fr) auto 34px 34px;align-items:center;gap:8px;min-height:48px;display:grid}.site-midnight.sidebar-collapsed .sidebar-top{grid-template-columns:34px;justify-content:center}.site-midnight .module-header{grid-template-columns:minmax(0,1fr) auto auto}.site-midnight .module-title-button{color:#e2e8f0;background:0 0;border:0;border-radius:6px;justify-content:flex-start;align-items:center;gap:6px;min-width:0;min-height:30px;padding:0 6px;display:inline-flex}.site-midnight .module-title-button:hover{background:#202a25}.site-midnight .module-title-button svg{color:#9aaaa2;flex:none}.site-midnight .module-title-button strong{color:#e2e8f0;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;font-weight:650;line-height:1.2;overflow:hidden}.site-midnight .problem-notes-dialog textarea{color:#e8f0eb;background:#111814}.site-midnight .workspace-mode-buttons{background:#111814;border:1px solid #34423a;border-radius:8px;gap:3px;padding:3px;display:inline-flex}.site-midnight .workspace-mode-buttons button{color:#d8e4dd;background:0 0;border:0;border-radius:6px;place-items:center;width:30px;min-height:28px;padding:0;display:grid}.site-midnight .workspace-mode-buttons button.active{background:var(--accent);color:#111814}.code-reader-view{background:var(--workspace-bg);grid-template-columns:300px minmax(0,1fr);height:100%;min-height:0;display:grid;overflow:hidden}.reader-file-pane{border-right:1px solid var(--line);background:var(--surface-strong);min-width:0;overflow:auto}.reader-file-pane-header{z-index:2;border-bottom:1px solid var(--line);background:var(--surface-strong);flex-direction:column;gap:3px;padding:12px 14px;display:flex;position:sticky;top:0}.reader-file-pane-header strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.reader-file-pane-header span,.reader-status{color:var(--text-muted);font-size:12px}.reader-status{padding:12px 14px}.error-text{color:var(--warn)}.reader-file-tree{padding:8px}.reader-tree-folder,.reader-tree-file{width:100%;min-height:30px;color:var(--text);text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;font-size:13px;display:flex}.reader-tree-folder{color:var(--text-muted);font-weight:650}.reader-tree-file{cursor:pointer}.reader-tree-file:hover{background:var(--surface)}.reader-tree-file.active{color:#1e293b;background:#eef2ff;font-weight:650}.reader-tree-file span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.reader-editor-pane{background:var(--code-bg);flex-direction:column;min-width:0;min-height:0;display:flex}.reader-editor-tab{color:#e2e8f0;background:#0f172ae0;border-bottom:1px solid #94a3b833;align-items:center;gap:8px;min-height:38px;padding:0 14px;font-size:13px;font-weight:600;display:flex}.reader-editor-tab span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.reader-code-pre{border-radius:0;flex:auto}.reader-empty-state{color:var(--text-muted);flex:auto;place-items:center;display:grid}@media (max-width:900px){.site-studio.app-shell,.site-studio.app-shell.sidebar-collapsed{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.site-studio.app-shell.fullscreen-mode,.site-studio.app-shell.sidebar-collapsed.fullscreen-mode{grid-template-rows:minmax(0,1fr)}.site-studio .sidebar{flex-direction:row;align-items:stretch;gap:10px;padding:10px;overflow:auto hidden}.site-studio .sidebar-top,.site-studio .theme-panel,.site-studio .module-group{flex:none}.site-studio .java-nav{flex-direction:row;align-items:stretch}.site-studio .module-group{width:290px}}.workspace-route{height:calc(100vh - 4rem);min-height:680px;background:var(--site-bg)!important;border-top:0!important}.site-studio,.site-midnight{--page-bg:var(--site-bg);--text:var(--site-text);--sidebar:var(--site-surface);--sidebar-muted:var(--site-muted);--surface:var(--site-surface-2);--surface-strong:var(--site-surface);--line:var(--site-border);--accent:var(--site-brand);--accent-strong:var(--site-brand);--warn:#b45309;--workspace-bg:var(--site-bg);--workspace-grid:color-mix(in srgb, var(--site-brand) 8%, transparent);--block-border:var(--site-border);--shadow:#0f172a14;--workspace-panel-shadow:var(--site-shadow)}.site-midnight{--warn:#fbbf24;--workspace-grid:color-mix(in srgb, var(--site-brand) 12%, transparent);--shadow:#00000047}.site-studio.app-shell,.site-midnight.app-shell{background:var(--page-bg);color:var(--text);border-top:0;grid-template-columns:320px minmax(0,1fr)}.site-studio.app-shell.sidebar-collapsed,.site-midnight.app-shell.sidebar-collapsed{grid-template-columns:64px minmax(0,1fr)}.site-studio.app-shell.fullscreen-mode,.site-studio.app-shell.sidebar-collapsed.fullscreen-mode,.site-midnight.app-shell.fullscreen-mode,.site-midnight.app-shell.sidebar-collapsed.fullscreen-mode{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.site-studio .sidebar,.site-midnight .sidebar{border-right:1px solid var(--line);background:var(--sidebar);color:var(--text);scrollbar-width:thin;scrollbar-color:var(--site-surface-3) transparent;gap:0;padding:0}.site-studio .sidebar::-webkit-scrollbar{width:8px}.site-midnight .sidebar::-webkit-scrollbar{width:8px}.site-studio .sidebar::-webkit-scrollbar-thumb{background:var(--site-surface-3);border-radius:999px}.site-midnight .sidebar::-webkit-scrollbar-thumb{background:var(--site-surface-3);border-radius:999px}.site-studio.sidebar-collapsed .sidebar,.site-midnight.sidebar-collapsed .sidebar{align-items:stretch;padding:0}.site-studio .sidebar-top,.site-midnight .sidebar-top{z-index:20;border:0;border-bottom:1px solid var(--line);background:var(--site-surface-2);min-height:58px;box-shadow:none;border-radius:0;grid-template-columns:minmax(0,1fr) auto 34px 34px;align-items:center;gap:8px;padding:10px 12px;display:grid;position:sticky;top:0}.site-studio.sidebar-collapsed .sidebar-top,.site-midnight.sidebar-collapsed .sidebar-top{grid-template-columns:40px;justify-content:center;min-height:58px;padding:10px 12px}.site-studio .icon-toggle,.site-midnight .icon-toggle,.site-studio .sidebar-toggle,.site-midnight .sidebar-toggle,.site-studio .workspace-mode-buttons button,.site-midnight .workspace-mode-buttons button,.site-studio .module-mode-buttons button,.site-midnight .module-mode-buttons button,.site-studio .package-action-button,.site-midnight .package-action-button,.site-studio .module-collapse-button,.site-midnight .module-collapse-button{border-color:var(--line);background:var(--surface-strong);color:var(--site-muted);box-shadow:none}.site-studio .icon-toggle,.site-midnight .icon-toggle,.site-studio .sidebar-toggle,.site-midnight .sidebar-toggle{border-radius:7px;min-height:34px}.site-studio .icon-toggle,.site-midnight .icon-toggle{justify-content:center;gap:7px;font-size:12px;font-weight:650}.site-studio .icon-toggle:hover,.site-midnight .icon-toggle:hover,.site-studio .sidebar-toggle:hover,.site-midnight .sidebar-toggle:hover,.site-studio .workspace-mode-buttons button:hover,.site-midnight .workspace-mode-buttons button:hover,.site-studio .module-mode-buttons button:hover,.site-midnight .module-mode-buttons button:hover,.site-studio .package-action-button:hover,.site-midnight .package-action-button:hover,.site-studio .module-collapse-button:hover,.site-midnight .module-collapse-button:hover{border-color:var(--accent);background:var(--surface);color:var(--accent)}.site-studio .workspace-mode-buttons,.site-midnight .workspace-mode-buttons,.site-studio .module-mode-buttons,.site-midnight .module-mode-buttons{border:1px solid var(--line);background:var(--surface);border-radius:7px;gap:3px;padding:3px;display:inline-flex}.site-studio .workspace-mode-buttons button,.site-midnight .workspace-mode-buttons button,.site-studio .module-mode-buttons button,.site-midnight .module-mode-buttons button{background:0 0;border:0;border-radius:5px;place-items:center;width:30px;min-height:28px;display:grid}.site-studio .workspace-mode-buttons button.active,.site-midnight .workspace-mode-buttons button.active,.site-studio .module-mode-buttons button.active,.site-midnight .module-mode-buttons button.active,.site-studio .package-action-button.active,.site-midnight .package-action-button.active{background:var(--accent);color:#fff}.site-midnight .workspace-mode-buttons button.active,.site-midnight .module-mode-buttons button.active,.site-midnight .package-action-button.active{color:var(--site-heading)}.site-studio .java-nav,.site-midnight .java-nav{gap:4px;padding:12px}.site-studio .nav-label,.site-midnight .nav-label{color:var(--accent);letter-spacing:.16em;text-transform:uppercase;padding:2px 2px 8px;font-family:JetBrains Mono,Cascadia Code,Consolas,monospace;font-size:11px;font-weight:700}.site-studio .module-group,.site-midnight .module-group{border:0;border-bottom:1px solid var(--line);box-shadow:none;background:0 0;border-radius:0;gap:3px;padding:8px 0 10px}.site-studio .module-group:last-child,.site-midnight .module-group:last-child{border-bottom:0}.site-studio .module-header,.site-midnight .module-header{border-bottom:0;grid-template-columns:minmax(0,1fr) auto auto;gap:6px;padding:0 0 4px}.site-studio .module-title-button,.site-midnight .module-title-button{min-width:0;min-height:32px;color:var(--site-heading);background:0 0;border:0;border-radius:6px;justify-content:flex-start;align-items:center;gap:6px;padding:0 6px;display:inline-flex}.site-studio .module-title-button:hover,.site-midnight .module-title-button:hover{background:var(--surface)}.site-studio .module-title-button svg,.site-midnight .module-title-button svg{color:var(--site-muted);flex:none}.site-studio .module-title-button strong,.site-midnight .module-title-button strong{min-width:0;color:var(--site-heading);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;padding:0;font-size:14px;font-weight:650;line-height:1.25;overflow:hidden}.site-studio .package-row,.site-midnight .package-row{grid-template-columns:minmax(0,1fr) 30px 30px;gap:3px}.site-studio .package-entry,.site-midnight .package-entry{border-radius:7px}.site-studio .package-entry.active,.site-midnight .package-entry.active{background:0 0}.site-studio .java-nav button,.site-midnight .java-nav button,.site-studio .java-nav a.package-name-button,.site-midnight .java-nav a.package-name-button{color:var(--site-muted)}.site-studio .java-nav a.package-name-button,.site-midnight .java-nav a.package-name-button{border:1px solid #0000;border-radius:7px;justify-content:space-between;gap:8px;min-height:34px;padding:8px 8px 8px 12px;position:relative}.site-studio .java-nav a.package-name-button:hover,.site-midnight .java-nav a.package-name-button:hover{border-color:var(--line);background:var(--surface);color:var(--site-heading)}.site-studio .package-entry.active .package-name-button,.site-midnight .package-entry.active .package-name-button{border-color:var(--line);background:var(--surface-strong);color:var(--site-heading);box-shadow:var(--workspace-panel-shadow)}.site-studio .package-entry.active .package-name-button:before,.site-midnight .package-entry.active .package-name-button:before{background:var(--accent);content:"";border-radius:999px;width:2px;position:absolute;top:8px;bottom:8px;left:5px}.site-studio .package-name-button span,.site-midnight .package-name-button span{font-size:13px;font-weight:500}.site-studio .package-entry.active .package-name-button span,.site-midnight .package-entry.active .package-name-button span{font-weight:600}.site-studio .package-name-button small,.site-midnight .package-name-button small{border:1px solid var(--line);background:var(--surface);min-width:22px;height:20px;color:var(--site-muted);border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.site-studio .package-action-button,.site-midnight .package-action-button{opacity:.78;border-radius:7px;width:30px;min-height:30px}.site-studio .package-entry:hover .package-action-button,.site-midnight .package-entry:hover .package-action-button,.site-studio .package-entry.active .package-action-button,.site-midnight .package-entry.active .package-action-button{opacity:1}.site-studio .problem-meta-status,.site-midnight .problem-meta-status{border-color:var(--line);background:var(--surface);color:var(--site-muted)}.site-studio .problem-meta-status.error,.site-midnight .problem-meta-status.error{border-color:color-mix(in srgb, var(--site-danger) 28%, transparent);background:color-mix(in srgb, var(--site-danger) 10%, var(--surface-strong));color:var(--site-danger)}.site-studio .problem-complete-control,.site-midnight .problem-complete-control,.site-studio .problem-notes-button,.site-midnight .problem-notes-button{border-color:var(--line);background:var(--surface-strong);width:30px;min-height:30px;color:var(--site-muted);border-radius:7px}.site-studio .problem-complete-control.completed,.site-midnight .problem-complete-control.completed{border-color:color-mix(in srgb, var(--site-good) 36%, transparent);background:color-mix(in srgb, var(--site-good) 12%, var(--surface-strong));color:var(--site-good)}.site-studio .problem-complete-control input,.site-midnight .problem-complete-control input{accent-color:var(--site-good)}.site-studio .problem-notes-button.active,.site-studio .problem-notes-button.has-notes,.site-midnight .problem-notes-button.active,.site-midnight .problem-notes-button.has-notes{border-color:color-mix(in srgb, var(--warn) 32%, transparent);background:color-mix(in srgb, var(--warn) 10%, var(--surface-strong));color:var(--warn)}.site-studio .problem-notes-dialog,.site-midnight .problem-notes-dialog{border-color:var(--line);background:var(--surface-strong);top:44px;left:0;right:0;box-shadow:0 18px 45px #0f172a24}.site-midnight .problem-notes-dialog{box-shadow:0 18px 45px #00000057}.site-studio .problem-notes-dialog-header strong,.site-midnight .problem-notes-dialog-header strong{color:var(--site-heading)}.site-studio .problem-notes-dialog textarea::-moz-placeholder{color:var(--site-muted)}.site-midnight .problem-notes-dialog textarea::-moz-placeholder{color:var(--site-muted)}.site-studio .problem-notes-dialog-header span,.site-midnight .problem-notes-dialog-header span,.site-studio .problem-notes-dialog textarea::placeholder,.site-midnight .problem-notes-dialog textarea::placeholder{color:var(--site-muted)}.site-studio .problem-notes-dialog textarea,.site-midnight .problem-notes-dialog textarea,.site-studio .source-picker select,.site-midnight .source-picker select{border-color:var(--line);background:var(--surface);color:var(--site-heading);-webkit-text-fill-color:var(--site-heading)}.site-studio .source-picker,.site-midnight .source-picker{color:var(--site-muted);padding:6px 0 0 12px}.site-studio .source-picker option,.site-midnight .source-picker option{background:var(--surface-strong);color:var(--site-heading)}.site-studio .java-nav .problem-notes-save,.site-studio .java-nav .problem-notes-save:hover,.site-midnight .java-nav .problem-notes-save,.site-midnight .java-nav .problem-notes-save:hover{border-color:var(--site-good);background:var(--site-good);color:#fff}.site-studio .java-nav .problem-notes-exit,.site-studio .java-nav .problem-notes-exit:hover,.site-midnight .java-nav .problem-notes-exit,.site-midnight .java-nav .problem-notes-exit:hover{border-color:var(--line);background:var(--surface-strong);color:var(--site-muted)}.site-studio .main-panel,.site-midnight .main-panel{background:var(--page-bg)}.site-studio .workspace,.site-studio .empty-workspace,.site-midnight .workspace,.site-midnight .empty-workspace{background:linear-gradient(var(--workspace-grid) 1px, transparent 1px), linear-gradient(90deg, var(--workspace-grid) 1px, transparent 1px), var(--workspace-bg);background-size:32px 32px}.site-studio .empty-workspace,.site-midnight .empty-workspace{border-color:var(--line);color:var(--site-muted)}.site-studio .workspace-layout-toolbar,.site-midnight .workspace-layout-toolbar{border-color:var(--line);background:color-mix(in srgb, var(--surface-strong) 94%, transparent);box-shadow:var(--workspace-panel-shadow);border-radius:8px;gap:8px;padding:6px;top:14px;right:14px}.site-studio .workspace-layout-status,.site-midnight .workspace-layout-status{color:var(--site-muted)}.site-studio .workspace-save-button,.site-midnight .workspace-save-button{border-color:var(--accent);background:var(--accent);color:#fff;border-radius:7px;min-height:32px}.site-studio .code-block,.site-midnight .code-block{border-color:var(--block-border);background:var(--surface-strong);box-shadow:0 16px 40px var(--shadow);border-radius:8px;overflow:visible}.site-studio .code-block.status-added,.site-midnight .code-block.status-added{border-color:var(--site-good);box-shadow:0 0 0 2px color-mix(in srgb, var(--site-good) 28%, transparent), 0 16px 40px var(--shadow)}.site-studio .code-block.status-removed,.site-midnight .code-block.status-removed{border-color:var(--site-danger);box-shadow:0 0 0 2px color-mix(in srgb, var(--site-danger) 24%, transparent), 0 16px 40px var(--shadow)}.site-studio .code-block.status-modified,.site-midnight .code-block.status-modified{border-color:var(--warn);box-shadow:0 0 0 2px color-mix(in srgb, var(--warn) 26%, transparent), 0 16px 40px var(--shadow)}.site-studio .constructor-toggle-button,.site-midnight .constructor-toggle-button{border-color:var(--site-code-border);background:color-mix(in srgb, var(--site-code-bg) 88%, transparent);color:#fff;border-radius:7px}.site-studio .constructor-toggle-button.active,.site-midnight .constructor-toggle-button.active{border-color:var(--accent);background:var(--accent)}.site-studio .code-reader-view,.site-midnight .code-reader-view{background:var(--workspace-bg)}.site-studio .reader-file-pane,.site-midnight .reader-file-pane,.site-studio .reader-file-pane-header,.site-midnight .reader-file-pane-header{border-color:var(--line);background:var(--surface-strong)}.site-studio .reader-file-pane-header strong,.site-midnight .reader-file-pane-header strong{color:var(--site-heading)}.site-studio .reader-file-pane-header span,.site-midnight .reader-file-pane-header span,.site-studio .reader-status,.site-midnight .reader-status,.site-studio .reader-tree-folder,.site-midnight .reader-tree-folder{color:var(--site-muted)}.site-studio .reader-tree-file,.site-midnight .reader-tree-file{color:var(--site-text)}.site-studio .reader-tree-file:hover,.site-midnight .reader-tree-file:hover{background:var(--surface)}.site-studio .reader-tree-file.active,.site-midnight .reader-tree-file.active{background:var(--surface);color:var(--site-heading);font-weight:650}.site-studio .reader-editor-pane,.site-midnight .reader-editor-pane{background:var(--site-code-bg)}.site-studio .reader-editor-tab,.site-midnight .reader-editor-tab{border-color:var(--site-code-border);background:var(--site-code-top);color:#e2e8f0}@media (max-width:900px){.workspace-route{height:auto;min-height:calc(100vh - 4rem)}.site-studio.app-shell,.site-studio.app-shell.sidebar-collapsed,.site-midnight.app-shell,.site-midnight.app-shell.sidebar-collapsed{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.site-studio.app-shell.fullscreen-mode,.site-studio.app-shell.sidebar-collapsed.fullscreen-mode,.site-midnight.app-shell.fullscreen-mode,.site-midnight.app-shell.sidebar-collapsed.fullscreen-mode{grid-template-rows:minmax(0,1fr)}.site-studio .sidebar,.site-midnight .sidebar{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:stretch;gap:10px;padding:10px;overflow:auto hidden}.site-studio .sidebar-top,.site-midnight .sidebar-top,.site-studio .theme-panel,.site-midnight .theme-panel,.site-studio .module-group,.site-midnight .module-group{flex:none}.site-studio .sidebar-top,.site-midnight .sidebar-top{border:1px solid var(--line);border-radius:8px;position:static}.site-studio .java-nav,.site-midnight .java-nav{flex-direction:row;align-items:stretch;padding:0}.site-studio .module-group,.site-midnight .module-group{border:1px solid var(--line);background:var(--surface-strong);border-radius:8px;width:290px;padding:10px}}
