:root{--bg-color: #0d1117;--sidebar-bg: rgba(22, 27, 34, .7);--accent-color: #58a6ff;--text-primary: #e6edf3;--text-secondary: #8b949e;--pane-bg: #161b22;--border-color: rgba(48, 54, 61, .5);--glass-bg: rgba(255, 255, 255, .05)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Outfit,sans-serif;background-color:var(--bg-color);color:var(--text-primary);height:100vh;overflow:hidden}.app-container{display:flex;height:100%}.sidebar{width:var(--sidebar-width, 300px);background:var(--sidebar-bg);backdrop-filter:blur(20px);border-right:1px solid var(--border-color);display:flex;flex-direction:column;padding:20px;z-index:10;transition:width .3s ease,padding .3s ease,transform .3s ease;flex-shrink:0}.sidebar-header h1{font-size:1.5rem;font-weight:600;letter-spacing:-1px}.sidebar-header span{color:var(--accent-color);margin-left:4px}.sidebar-section{margin-top:20px}.sidebar-section h3{font-size:.75rem;text-transform:uppercase;color:var(--text-secondary);letter-spacing:1px;margin-bottom:profile;margin-bottom:15px}.sidebar-nav{display:flex;flex-direction:column;flex:1;min-height:0}.section-switch{display:flex;align-items:center;gap:2px;margin-top:14px;padding:3px;border:1px solid var(--border-color);border-radius:8px}.section-switch>*{flex:1;padding:6px 4px;border-radius:6px;font-size:.8rem;text-align:center;text-decoration:none;color:var(--text-secondary);transition:background .2s,color .2s}.section-switch a:hover{background:var(--glass-bg);color:var(--text-primary)}.section-switch .active{background:var(--glass-bg);color:var(--accent-color);font-weight:600}.sidebar-tabs.sidebar-sections{display:grid;grid-template-columns:repeat(3,auto);gap:4px}.sidebar-tabs.sidebar-sections button{min-width:0;padding:6px 4px;gap:4px;letter-spacing:0;text-transform:none;font-size:.72rem;overflow:hidden;white-space:nowrap}.sidebar-tabs.sidebar-sections button>[data-label]{min-width:0;overflow:hidden;text-overflow:ellipsis}.sidebar-tabs.sidebar-sections .tab-icon{font-size:.85rem}.section-view{flex:1;min-height:0}.section-view:not(.active){display:none}.section-view.active{display:flex}.brand-home{padding:0;border:none;background:none;font:inherit;color:inherit;letter-spacing:inherit;text-align:left;cursor:pointer;transition:color .2s}.brand-home:hover,.brand-home.active{color:var(--accent-color)}.home-stage{flex-direction:column;overflow:hidden}.home-frame{width:100%;height:100%;border:none;display:block}.atlas-stage{flex-direction:column;overflow:hidden}.atlas-nav.active,.archive-nav.active{display:flex;flex-direction:column;min-height:0}.archive-scroll{flex:1;min-height:0;overflow-y:auto;padding-top:4px}.archive-scroll .control-group+.control-group{margin-top:14px}.archive-mount{display:block;margin:6px 0;color:var(--text-secondary);font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archive-scroll .account-btn{width:100%}.sidebar-tabs{display:flex;gap:4px;margin:18px 0 12px}.sidebar-tabs button{flex:1;font-family:inherit;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;padding:5px 8px;border:1px solid var(--border-color);border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:background .2s,color .2s,border-color .2s}.sidebar-tabs button:hover:not(.active){background:var(--glass-bg);color:var(--text-primary)}.sidebar-tabs button.active{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.sidebar-tab-panel{display:none;flex-direction:column;flex:1;min-height:0}.sidebar-tab-panel.active{display:flex}.sidebar-resizer{flex-shrink:0;width:5px;cursor:col-resize;background:transparent;transition:background .2s;z-index:11}.sidebar-resizer:hover,.sidebar-resizer.dragging{background:var(--accent-color)}.sidebar.collapsed~.sidebar-resizer{display:none}.sidebar.resizing{transition:none}@media(max-width:1024px){.sidebar-resizer{display:none}}.tree-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.tree-label{display:block;font-size:.8rem;color:var(--text-secondary);padding:0;border:0;background:none;font-family:inherit;text-align:left;white-space:nowrap}button.tree-label{cursor:pointer;opacity:.65;border-bottom:1px solid transparent;transition:opacity .15s,color .15s,border-color .15s}button.tree-label:hover{opacity:1}button.tree-label.active{opacity:1;color:var(--text-secondary);border-bottom-color:transparent}button.tree-label:not(.active){color:var(--accent-color);opacity:.85}.tree-header-slot{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.tree-header-slot>[hidden]{display:none}.search-view{flex:1;min-height:0;display:flex;flex-direction:column;gap:6px}.search-view[hidden]{display:none}.search-input{flex:1;min-width:0;padding:3px 8px;border:1px solid var(--border-color);border-radius:5px;background:var(--glass-bg);color:var(--text-primary);font-family:inherit;font-size:.78rem;line-height:1.6}.search-input:focus{outline:none;border-color:var(--accent-color)}.search-input::-webkit-search-cancel-button{filter:invert(.6);cursor:pointer}.search-status{font-size:.72rem;color:var(--text-secondary);min-height:1em}.search-results{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.search-hit{display:block;width:100%;text-align:left;padding:7px 9px;border:1px solid var(--border-color);border-radius:6px;background:transparent;color:inherit;font-family:inherit;cursor:pointer;transition:background .15s,border-color .15s}.search-hit:hover{background:var(--glass-bg);border-color:var(--accent-color)}.search-hit.current{border-color:var(--accent-color);background:var(--glass-bg)}.search-hit-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.search-hit-step{font-size:.82rem;color:var(--text-primary)}.search-hit-count{flex:none;font-size:.68rem;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:10px;padding:0 6px;font-variant-numeric:tabular-nums}.search-hit-where{font-size:.68rem;color:var(--text-secondary);margin-top:2px}.search-snippet{margin-top:5px;font-family:var(--font-mono, ui-monospace, monospace);font-size:.68rem;line-height:1.5;color:var(--text-secondary);white-space:pre-wrap;overflow-wrap:anywhere}.search-snippet mark{background:var(--accent-color);color:#fff;border-radius:2px;padding:0 1px}.step-nav{display:flex;align-items:center;gap:2px}.step-nav-btn{display:flex;align-items:center;justify-content:center;padding:3px;border:1px solid var(--border-color);border-radius:5px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:background .2s,color .2s,border-color .2s}.step-nav-btn:hover:not(:disabled){background:var(--glass-bg);border-color:var(--accent-color);color:var(--accent-color)}.step-nav-btn:disabled{opacity:.3;cursor:default}.module-tree{flex:1;min-height:0;overflow-y:auto;margin:0 -6px;padding:0 6px}.tree-mod-head{display:flex;align-items:center;gap:8px;width:100%;padding:9px 10px;border:none;border-radius:8px;background:none;color:var(--text-primary);font-family:inherit;font-size:.9rem;font-weight:600;text-align:left;cursor:pointer;transition:background .2s}.tree-mod-head:hover{background:var(--glass-bg)}.tree-chevron{flex-shrink:0;width:6px;height:6px;border-right:2px solid var(--text-secondary);border-bottom:2px solid var(--text-secondary);transform:rotate(-45deg);transition:transform .2s}.tree-module.expanded .tree-chevron{transform:rotate(45deg)}.tree-steps{list-style:none;display:none;padding-left:9px;border-left:1px solid var(--border-color);margin:2px 0 8px 14px}.tree-module.expanded .tree-steps{display:block}.tree-step{padding:7px 10px;border-radius:6px;cursor:pointer;color:var(--text-secondary);font-size:.85rem;line-height:1.35;transition:background .2s,color .2s}.tree-step:hover{background:var(--glass-bg);color:var(--text-primary)}.tree-step.active{background:#58a6ff26;color:var(--accent-color);font-weight:600}.tree-empty{color:var(--text-secondary);font-size:.85rem;padding:4px 10px}.nav-list{list-style:none}.nav-list li{padding:10px 15px;border-radius:8px;cursor:pointer;transition:all .2s;color:var(--text-secondary);margin-bottom:4px}.nav-list li:hover{background:var(--glass-bg);color:var(--text-primary)}.nav-list li.active{background:#58a6ff26;color:var(--accent-color);font-weight:600}.control-group{margin-bottom:20px}.control-group label{display:block;font-size:.8rem;margin-bottom:8px;color:var(--text-secondary)}.glass-select{width:100%;padding:10px 12px;background:#1c2128;border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);outline:none;font-family:inherit;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 10px center;background-size:16px}.glass-select option{background:#1c2128;color:var(--text-primary);padding:10px}.glass-select:focus{border-color:var(--accent-color);box-shadow:0 0 0 2px #58a6ff4d}.main-stage{flex:1;padding:20px;overflow:hidden;display:flex;transition:margin-left .3s ease}.pane-container{display:flex;width:100%;gap:0;align-items:stretch}.pane-container.single-pane #pane-right,.pane-container.single-pane #pane-divider{display:none}.pane-container.single-pane #pane-left{width:100%!important}.pane{flex:1;background:var(--pane-bg);border:1px solid var(--border-color);border-radius:12px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 10px 30px #0000004d;min-width:0;min-height:0}.pane-header{padding:12px 20px;background:#0003;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.file-name{font-size:.9rem;color:var(--text-secondary);font-family:JetBrains Mono,monospace}.pane-divider{width:6px;margin:0 5px;background:var(--border-color);border-radius:3px}.code-wrapper{flex:1;overflow:auto;padding:0}.pane-controls{display:flex;align-items:center;gap:10px}.view-tabs{display:flex;gap:4px;margin-right:10px}.view-tabs button{font-family:inherit;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;padding:3px 12px;border:1px solid var(--border-color);border-radius:5px;background:transparent;color:var(--text-secondary, #9aa0a6);cursor:pointer}.view-tabs button.active{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.playground-view{height:100%}pre{margin:0!important;height:100%;background:transparent!important}code{font-family:JetBrains Mono,monospace!important;font-size:.85rem!important;line-height:1.6!important}.badge{font-size:.7rem;padding:2px 8px;border-radius:4px;background:var(--accent-color);color:#fff;text-transform:uppercase;font-weight:600}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.markdown-view{padding:30px;line-height:1.6;color:var(--text-primary);overflow-y:auto;height:100%}.markdown-view h1,.markdown-view h2,.markdown-view h3{margin-top:24px;margin-bottom:16px;border-bottom:1px solid var(--border-color);padding-bottom:8px}.markdown-view p{margin-bottom:16px}.markdown-view code{background:#ffffff1a;padding:2px 4px;border-radius:4px;font-size:.9em}.markdown-view pre code{background:transparent!important;padding:0;border-radius:0}.markdown-view pre{background:#0000004d!important;padding:16px!important;border-radius:8px;margin-bottom:16px!important;height:auto!important}.markdown-view ul,.markdown-view ol{margin-bottom:16px;padding-left:20px}.markdown-view blockquote{border-left:4px solid var(--accent-color);padding-left:16px;color:var(--text-secondary);font-style:italic;margin-bottom:16px}.markdown-view img{max-width:100%;border-radius:8px}.mermaid{background:#fff;padding:10px;border-radius:8px;margin-bottom:16px;display:flex;justify-content:center}.sidebar-footer{margin-top:auto;padding-top:14px;border-top:1px solid var(--border-color);display:flex;align-items:center;gap:8px}.sidebar-account{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:6px 8px;font-family:inherit;font-size:.85rem;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:background .2s,color .2s,border-color .2s}.sidebar-account:hover{background:var(--glass-bg);color:var(--text-primary)}.sidebar-account.active{border-color:var(--accent-color);color:var(--accent-color)}.sidebar-account-avatar{flex-shrink:0;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--glass-bg);border:1px solid var(--border-color);font-size:.75rem;font-weight:600;color:var(--text-primary)}.sidebar-account.active .sidebar-account-avatar{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.sidebar-account[data-signed-in=false] .sidebar-account-avatar{opacity:.55}.sidebar-account-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-theme{flex-shrink:0;width:auto;padding:6px 8px;font-size:.8rem}.nav-link{display:block;padding:10px 15px;border-radius:8px;color:var(--text-secondary);text-decoration:none;transition:all .2s}.nav-link:hover{background:var(--glass-bg);color:var(--accent-color)}.app-frame{width:100%;height:100%;border:none;background:#fff}.markdown-view table{width:100%;border-collapse:collapse;margin-bottom:16px}.markdown-view th,.markdown-view td{border:1px solid var(--border-color);padding:8px 12px;text-align:left}.markdown-view th{background:#0003;font-weight:600}.markdown-view tr:nth-child(2n){background:#ffffff05}.light-mode{--bg-color: #f5f5f5;--sidebar-bg: rgba(255, 255, 255, .9);--accent-color: #0969da;--text-primary: #1f2328;--text-secondary: #656d76;--pane-bg: #ffffff;--border-color: rgba(208, 215, 222, .8);--glass-bg: rgba(0, 0, 0, .05)}.light-mode .glass-select{background-color:#fff;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f2328' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e")}.light-mode .glass-select option{background:#fff;color:var(--text-primary)}.light-mode .pane{box-shadow:0 4px 12px #0000001a}.light-mode .pane-header{background:#00000008}.light-mode .markdown-view code{background:#0000000f}.light-mode .markdown-view pre{background:#e6eaf0!important}.light-mode .markdown-view th{background:#0000000a}.light-mode .markdown-view tr:nth-child(2n){background:#00000005}.light-mode .nav-list li.active,.light-mode .tree-step.active{background:#0969da1a}.sidebar-header{display:flex;justify-content:space-between;align-items:center}.sidebar-toggle{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:8px;border-radius:6px;transition:all .2s;display:flex;align-items:center;justify-content:center}.sidebar-toggle:hover{background:var(--glass-bg);color:var(--text-primary)}.sidebar-toggle svg{transition:transform .3s ease}.menu-toggle{display:none;position:fixed;top:20px;left:20px;z-index:100;background:var(--sidebar-bg);backdrop-filter:blur(20px);border:1px solid var(--border-color);color:var(--text-primary);padding:10px;border-radius:8px;cursor:pointer;transition:all .2s}.menu-toggle:hover{background:var(--glass-bg);border-color:var(--accent-color)}.sidebar.collapsed{width:0;padding:0;overflow:hidden;border-right:none}.sidebar.collapsed~.menu-toggle{display:flex}.pane-divider{cursor:col-resize;transition:background .2s;flex-shrink:0}.pane-divider:hover,.pane-divider.dragging{background:var(--accent-color)}@media(max-width:1024px)and (orientation:portrait){.sidebar{width:260px}.pane-container{flex-direction:column}.pane-divider{width:100%;height:6px;cursor:row-resize}.pane{min-height:200px}}@media(max-width:1024px)and (orientation:landscape){.sidebar{width:240px}.pane{min-height:150px}}@media(max-width:768px)and (orientation:portrait){.sidebar{position:fixed;left:0;top:0;height:100%;z-index:50;width:280px;transform:translate(0);transition:transform .3s ease,width .3s ease}.sidebar.collapsed{transform:translate(-100%);width:280px}.menu-toggle{display:flex}.sidebar:not(.collapsed)~.menu-toggle{display:none}.main-stage{padding:60px 10px 10px}.pane-container{flex-direction:column;gap:10px}.pane-divider{width:100%;height:6px;cursor:row-resize}.pane{min-height:250px}.pane-header{padding:10px 15px}.sidebar-section{margin-top:15px}}@media(max-width:768px)and (orientation:landscape){.sidebar{position:fixed;left:0;top:0;height:100vh;max-height:100vh;z-index:50;width:240px;transform:translate(0);transition:transform .3s ease,width .3s ease;overflow-y:scroll;-webkit-overflow-scrolling:touch;padding:12px 15px;display:block}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-thumb{background:var(--text-secondary);border-radius:3px}.sidebar.collapsed{transform:translate(-100%);width:240px}.sidebar-header h1{font-size:1.2rem}.sidebar-section{margin-top:8px}.control-group{margin-bottom:8px}.control-group label{font-size:.7rem;margin-bottom:4px}.glass-select{padding:6px 10px;font-size:.8rem}.nav-list li{padding:6px 10px;font-size:.85rem}.tree-label{font-size:.7rem;margin-bottom:4px}.tree-mod-head{padding:6px 10px;font-size:.85rem}.tree-step{padding:5px 10px;font-size:.8rem}.sidebar-footer{padding-top:8px;margin-top:8px;padding-bottom:40px}.section-switch{margin-top:8px}.section-switch>*{padding:5px 4px;font-size:.75rem}.nav-link{padding:6px 10px;font-size:.85rem}.menu-toggle{display:flex}.sidebar:not(.collapsed)~.menu-toggle{display:none}.main-stage{padding:10px 10px 10px 15px}.pane-container{flex-direction:row;gap:0}.pane-divider{width:6px;height:auto;cursor:col-resize}.pane{min-height:100px}.pane-header{padding:8px 12px}}.sidebar-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:40}@media(max-width:768px){.sidebar:not(.collapsed)~.sidebar-overlay{display:block}}.app-component{margin:20px 0;padding:20px;background:#161b2280;border:1px solid rgba(48,54,61,.8);border-radius:8px}.app-component h4{margin-bottom:10px;color:var(--accent-color);font-size:1.1rem}.app-description{margin-bottom:15px;color:var(--text-secondary);font-size:.9rem}.app-component .controls{display:flex;gap:10px;align-items:center;margin-top:15px;flex-wrap:wrap}.app-component .controls label{display:flex;align-items:center;gap:8px}.app-component .controls input[type=range]{width:150px}.app-component .controls input[type=text]{padding:8px 12px;background:#0d1117cc;border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:.9rem}body.light-mode .app-component .controls input[type=text]{background:#ffffffe6;border:1px solid #ccc;color:#333}body.light-mode .app-component{background:#f8f8f8cc;border:1px solid #ddd}body.light-mode .app-component h4{color:#0969da}body.light-mode .stack-viz .stack-cell.empty{background:#f0f0f0cc;color:#666}body.light-mode .stack-viz .stack-cell.filled{background:#0d6efd1a;border-color:#0969da;color:#333}.app-component .controls button{padding:8px 16px;background:var(--accent-color);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;transition:background .2s}.app-component .controls button:hover:not(:disabled){background:#4184d4}.app-component .controls button:disabled{opacity:.5;cursor:not-allowed}.app-component .info{display:flex;gap:20px;margin-top:10px;font-size:.9rem;color:var(--text-secondary)}.circle-viz .circle-container{display:flex;justify-content:center;margin:15px 0}.circle-viz svg line.highlight,.circle-viz svg circle.highlight{stroke:orange;fill:orange}.circle-viz .value-display{color:var(--text-primary);font-weight:600}.stack-viz .stack-display{display:flex;align-items:flex-end;gap:15px;margin:15px 0}.stack-viz .stack-container{display:flex;flex-direction:column-reverse;gap:2px;min-width:150px}.stack-viz .stack-cell{padding:10px;text-align:center;border:1px solid var(--border-color);border-radius:4px;min-height:40px;display:flex;align-items:center;justify-content:center;transition:all .2s}.stack-viz .stack-cell.empty{background:#0d111780;color:var(--text-secondary)}.stack-viz .stack-cell.filled{background:#58a6ff33;border-color:var(--accent-color);color:var(--text-primary);font-weight:600}.stack-viz .stack-pointer{color:var(--accent-color);font-size:.9rem;white-space:nowrap}.stack-viz .stack-info{display:flex;gap:20px;margin-top:10px;font-size:.9rem;color:var(--text-secondary)}.stack-viz .stack-info span:first-child{color:var(--accent-color);font-weight:600}.account-panel{display:flex;flex-direction:column;gap:12px;padding:4px 2px;overflow-y:auto}.account-intro,.account-note{margin:0;font-size:.8rem;line-height:1.5;color:var(--text-secondary)}.account-note-inline{color:var(--text-secondary);font-weight:400;text-transform:none;letter-spacing:0}.account-btn{display:block;width:100%;padding:8px 12px;font-family:inherit;font-size:.85rem;text-align:center;text-decoration:none;border:1px solid var(--border-color);border-radius:6px;background:var(--glass-bg);color:var(--text-primary);cursor:pointer;transition:background .2s,border-color .2s}.account-btn:hover:not(:disabled){border-color:var(--accent-color)}.account-btn:disabled{opacity:.5;cursor:not-allowed}.account-btn-primary{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.account-card{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--border-color);border-radius:8px;background:var(--glass-bg)}.account-avatar{flex:0 0 36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--accent-color);color:#fff;font-weight:600}.account-who{display:flex;flex-direction:column;gap:2px;min-width:0}.account-who strong{font-size:.9rem;color:var(--text-primary)}.account-who>span:not(.account-badge){font-size:.75rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-badge{align-self:flex-start;margin-top:2px;padding:2px 7px;border-radius:4px;background:var(--accent-color);color:#fff;font-size:.65rem;line-height:1.5;text-transform:uppercase;letter-spacing:.05em}.account-dev-form{display:flex;flex-direction:column;gap:6px;padding-top:10px;border-top:1px dashed var(--border-color)}.account-dev-form label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.account-dev-form input{padding:7px 9px;font-family:inherit;font-size:.85rem;border:1px solid var(--border-color);border-radius:6px;background:var(--pane-bg);color:var(--text-primary)}.account-dev-form input:focus{outline:none;border-color:var(--accent-color)}.account-code{text-align:center;font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:1.25rem!important;letter-spacing:.35em;text-indent:.35em}.account-linkish{align-self:flex-start;padding:2px 0;border:none;background:none;font:inherit;font-size:.78rem;color:var(--text-secondary);text-decoration:underline;cursor:pointer}.account-linkish:hover{color:var(--text-primary)}.account-message{padding:8px 10px;border:1px solid #f85149;border-radius:6px;font-size:.8rem;color:#f85149}.account-message.info{border-color:var(--accent-color);color:var(--text-primary)}#sidebar-tab-ai.locked>*:not(.auth-notice){display:none}.auth-notice{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px dashed var(--border-color);border-radius:8px;background:var(--glass-bg)}.auth-notice[hidden]{display:none}.auth-notice p{margin:0;font-size:.85rem;color:var(--text-secondary)}.auth-toast{position:fixed;bottom:20px;left:50%;z-index:1000;max-width:min(420px,calc(100vw - 40px));padding:11px 16px;border:1px solid var(--border-color);border-radius:8px;background:var(--pane-bg);color:var(--text-primary);font-size:.85rem;box-shadow:0 6px 24px #00000059;opacity:0;transform:translate(-50%,12px);pointer-events:none;transition:opacity .2s,transform .2s}.auth-toast.visible{opacity:1;transform:translate(-50%)}.tree-tick{display:inline-block;width:1em;margin-right:4px;color:var(--accent-color);font-size:.85em}.tree-step.completed>.tree-tick:before{content:"✓"}.tree-step.completed{color:var(--text-primary)}.step-complete-btn{padding:4px 10px;font-family:inherit;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border:1px solid var(--border-color);border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:background .2s,color .2s,border-color .2s}.step-complete-btn:hover{border-color:var(--accent-color);color:var(--text-primary)}.step-complete-btn.done{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.step-complete-btn[hidden]{display:none}.account-admin{border-top:1px dashed var(--border-color);padding-top:10px}.account-admin summary{cursor:pointer;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.account-admin summary:hover{color:var(--text-primary)}.account-users{display:flex;flex-direction:column;gap:4px;margin-top:10px;max-height:260px;overflow-y:auto;font-size:.78rem;color:var(--text-secondary)}.account-user{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:5px 7px;border:1px solid var(--border-color);border-radius:6px}.account-user.disabled{opacity:.55}.account-user-who{display:flex;flex-direction:column;min-width:0}.account-user-who strong{font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-user-who span{font-size:.7rem}.account-mini-btn{flex-shrink:0;padding:2px 7px;font-family:inherit;font-size:.7rem;border:1px solid var(--border-color);border-radius:5px;background:transparent;color:var(--text-secondary);cursor:pointer}.account-mini-btn:hover{border-color:var(--accent-color);color:var(--text-primary)}.section-view.anima-stage{flex-direction:column;overflow:hidden}.anima-frame{width:100%;height:100%;border:none;display:block}.anima-nav h2{margin:0 0 6px;font-size:.95rem;color:var(--text-color)}.anima-nav p{margin:0 0 12px;font-size:.82rem;line-height:1.55;color:var(--text-muted, var(--text-color))}.anima-nav .anima-note{opacity:.85}.anima-nav kbd{display:inline-block;padding:1px 5px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-secondary, transparent);font:.75rem var(--font-mono, ui-monospace, monospace)}.assistant-toggle{flex:0 0 auto;margin-left:auto;margin-right:6px;padding:2px 6px;border:1px solid transparent;border-radius:6px;background:none;display:inline-flex;align-items:center;line-height:1;cursor:pointer;opacity:.8;color:#e5484d;transition:opacity .2s,border-color .2s,background .2s}.assistant-toggle:hover{opacity:1;border-color:var(--border-color)}.assistant-toggle svg{display:block}.assistant-toggle.active{opacity:1;border-color:#e5484d;background:#e5484d24}.sidebar-header .sidebar-toggle{flex:0 0 auto}.sidebar-header h1{min-width:0;flex:0 1 auto;overflow:hidden;font-size:1.32rem}.sidebar-header .brand-home{display:block;max-width:100%;overflow:hidden;line-height:1.15}.sidebar-header .brand-name{display:block;margin-left:0;color:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-header .brand-sub{display:block;margin-left:0;margin-top:1px;color:var(--text-secondary);font-size:.68rem;font-weight:500;letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-home:hover .brand-sub,.brand-home.active .brand-sub{color:var(--accent-color)}.sidebar-tabs.sidebar-sections button{display:flex;align-items:center;gap:6px;justify-content:flex-start}.tab-icon{flex:0 0 auto;font-size:.95rem;line-height:1}.anima-tree{min-height:0;overflow-y:auto;margin:8px -6px 0;padding:0 6px}.anima-nav .anima-note{flex:0 0 auto;margin:12px 0 0;font-size:.78rem;line-height:1.5;opacity:.75}button.sidebar-theme{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:30px;border:1px solid var(--border-color);border-radius:8px;background:none;font-size:1rem;line-height:1;cursor:pointer;opacity:.85;transition:opacity .2s,border-color .2s,background .2s}button.sidebar-theme:hover{opacity:1;border-color:var(--accent-color);background:var(--glass-bg)}button.sidebar-settings{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:30px;padding:6px 8px;border:1px solid var(--border-color);border-radius:8px;background:none;font-size:1rem;line-height:1;cursor:pointer;opacity:.85;transition:opacity .2s,border-color .2s,background .2s}button.sidebar-settings:hover{opacity:1;border-color:var(--accent-color);background:var(--glass-bg)}.settings-dialog{width:min(420px,calc(100vw - 32px));margin:auto;padding:0;border:1px solid var(--border-color);border-radius:12px;background:var(--pane-bg, #161b22);color:var(--text-primary);box-shadow:0 18px 50px #00000073}body.light-mode .settings-dialog{box-shadow:0 18px 50px #0000002e}.settings-dialog::backdrop{background:#00000080;backdrop-filter:blur(2px)}.settings-form{display:flex;flex-direction:column;gap:18px;padding:20px 22px}.settings-form h2{margin:0;font-size:1.05rem;font-weight:600;letter-spacing:-.2px}.settings-row{display:flex;flex-direction:column;gap:6px}.settings-row>label{font-size:.8rem;font-weight:600;color:var(--text-secondary)}.settings-row .glass-select{width:100%}.settings-note{margin:0;font-size:.75rem;line-height:1.45;color:var(--text-secondary)}.settings-action-btn{align-self:flex-start;padding:7px 14px;font-family:inherit;font-size:.85rem;font-weight:600;border:1px solid var(--border-color);border-radius:8px;background:var(--glass-bg);color:var(--text-primary);cursor:pointer;transition:border-color .2s,background .2s}.settings-action-btn:hover{border-color:var(--accent-color);background:var(--glass-bg);color:var(--accent-color)}.settings-actions{display:flex;justify-content:flex-end;border-top:1px solid var(--border-color);padding-top:16px}.settings-done{padding:7px 18px;font-family:inherit;font-size:.85rem;font-weight:600;border:1px solid var(--accent-color);border-radius:8px;background:var(--accent-color);color:#fff;cursor:pointer;transition:filter .2s}.settings-done:hover{filter:brightness(1.1)}.settings-switch{display:flex;align-items:center;gap:10px;cursor:pointer;user-select:none}.settings-switch input{position:absolute;opacity:0;width:0;height:0}.settings-switch-track{position:relative;flex:0 0 auto;width:38px;height:22px;border-radius:999px;background:var(--glass-bg);border:1px solid var(--border-color);transition:background .2s,border-color .2s}.settings-switch-track:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--text-secondary);transition:transform .2s,background .2s}.settings-switch input:checked+.settings-switch-track{background:var(--accent-color);border-color:var(--accent-color)}.settings-switch input:checked+.settings-switch-track:after{transform:translate(16px);background:#fff}.settings-switch input:focus-visible+.settings-switch-track{outline:2px solid var(--accent-color);outline-offset:2px}.settings-switch input:disabled+.settings-switch-track{opacity:.4}.settings-switch:has(input:disabled){cursor:default;opacity:.6}:root{--state-none: #30363d;--state-open: #1f6feb;--state-done: #3fb950;--state-done-soft: rgba(63, 185, 80, .15)}.light-mode{--state-none: #d0d7de;--state-open: #54aeff;--state-done: #1a7f37;--state-done-soft: rgba(26, 127, 55, .12)}.tree-mod-row{display:flex;align-items:center;gap:4px}.tree-mod-row .tree-mod-head,.tree-mod-name{flex:1;min-width:0}.tree-frac{flex-shrink:0;font-size:.78rem;font-weight:500;color:var(--text-secondary);font-variant-numeric:tabular-nums}.tree-module.complete .tree-frac{color:var(--state-done);font-weight:700}.tree-module.complete .tree-frac:before{content:"✓ "}.tree-info{flex-shrink:0;width:18px;height:18px;padding:0;border:1px solid var(--border-color);border-radius:50%;background:none;color:var(--text-secondary);font:italic 700 11px Georgia,Times New Roman,serif;line-height:1;cursor:pointer;opacity:.55;display:inline-grid;place-items:center}.tree-info:hover,.tree-info.on,.tree-info:focus-visible{opacity:1;color:var(--accent-color);border-color:var(--accent-color)}.tree-desc{margin:0;padding:2px 10px 8px 28px;font-size:.8rem;line-height:1.45;color:var(--text-secondary);font-weight:400;cursor:default}.tree-desc[hidden]{display:none}.tree-step{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 4px}.tree-step-name{flex:1;min-width:0}.tree-step .tree-info{align-self:center}.tree-step .tree-desc{flex-basis:100%;padding:4px 0 2px 20px}#module-tree.has-progress .tree-step.visited>.tree-tick:before{content:"●";color:var(--state-open);font-size:.8em}#module-tree.has-progress .tree-step.completed>.tree-tick{color:var(--state-done)}.tree-segs{display:none;gap:3px;padding:0 10px 8px 28px}#module-tree.has-progress .tree-module:not(.expanded) .tree-segs{display:flex}.tree-seg{flex:1;height:5px;border-radius:3px;background:var(--state-none);transition:background .35s}.tree-seg.open{background:var(--state-open)}.tree-seg.done{background:var(--state-done)}.tree-module.pulse .tree-mod-row{animation:module-finished 1.1s ease-out 2;border-radius:8px}@keyframes module-finished{0%{box-shadow:0 0 0 0 var(--state-done-soft)}40%{box-shadow:0 0 0 6px var(--state-done-soft);background:var(--state-done-soft)}to{box-shadow:0 0 0 0 transparent}}.course-progress{display:flex;align-items:center;gap:8px;min-width:120px}.course-progress[hidden]{display:none}.course-progress-track{flex:1;width:110px;height:7px;border-radius:4px;background:var(--state-none);overflow:hidden}.course-progress-fill{height:100%;width:0;border-radius:4px;background:var(--state-done);transition:width .6s cubic-bezier(.2,.8,.2,1)}.course-progress-frac{font-size:.8rem;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums;white-space:nowrap}@media(max-width:700px){.course-progress-track{width:60px}}.course-contents{max-width:820px}.markdown-view .course-contents h1{margin:0 0 10px;font-size:1.8rem;border-bottom:none;padding-bottom:0;text-wrap:balance}.cc-lede{max-width:68ch;line-height:1.6}.cc-module{border-top:1px solid var(--border-color);padding:16px 0 6px}.cc-mod-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px}.markdown-view .course-contents h2{flex:1 1 240px;margin:0;font-size:1.15rem;border-bottom:none;padding-bottom:0}.cc-frac{font-size:.85rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.cc-module.complete .cc-frac{color:var(--state-done);font-weight:700}.cc-module.complete .cc-frac:before{content:"✓ "}.cc-segs{display:flex;gap:3px;max-width:420px;padding:8px 0 2px}.markdown-view .cc-mod-desc{margin:8px 0 10px;max-width:68ch;color:var(--text-secondary);line-height:1.55}.cc-steps{list-style:none;margin:0;padding:0}.cc-step{display:grid;grid-template-columns:16px 1fr;gap:2px 10px;width:100%;padding:7px 10px;border:none;border-radius:8px;background:none;color:var(--text-primary);font-family:inherit;font-size:.95rem;text-align:left;cursor:pointer}.cc-step:hover{background:var(--glass-bg)}.cc-step:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.cc-step-name{font-weight:600}.cc-step-desc{grid-column:2;font-size:.88rem;line-height:1.5;color:var(--text-secondary)}.cc-mark{width:14px;height:14px;margin-top:3px;border-radius:50%;border:2px solid var(--state-none);display:grid;place-items:center;font-size:9px;line-height:1;color:#fff}.cc-mark.cc-open{border-color:var(--state-open);background:var(--state-open);transform:scale(.72)}.cc-mark.cc-done{border-color:var(--state-done);background:var(--state-done)}.cc-mark.cc-done:after{content:"✓";font-weight:700}@media(prefers-reduced-motion:reduce){.tree-module.pulse .tree-mod-row{animation:none}.tree-seg,.course-progress-fill{transition:none}}:root{--star-color: #e3b341;--star-glow: rgba(227, 179, 65, .45)}.light-mode{--star-color: #bf8700;--star-glow: rgba(212, 167, 44, .4)}.tree-star,.cc-star{flex-shrink:0;color:var(--text-secondary);opacity:.75;font-size:.95em;line-height:1}.tree-star:empty{display:none}.tree-star.earned,.cc-star.earned{color:var(--star-color);opacity:1}.cc-star{margin-left:8px}.markdown-view h1 .title-stars{margin-left:12px;font-size:.8em;letter-spacing:2px;white-space:nowrap;color:var(--text-secondary);opacity:.8}.markdown-view h1 .title-stars .earned{color:var(--star-color);text-shadow:0 0 10px var(--star-glow)}.markdown-view .ds3-ex-note{margin:-.4rem 0 1rem;font-size:.85em;color:var(--text-secondary)}.markdown-view .ds3-ex-note.earned{color:var(--star-color)}.step-complete-btn.glow{border-color:var(--state-done);color:var(--state-done);animation:complete-glow 1.6s ease-in-out infinite}@keyframes complete-glow{50%{box-shadow:0 0 0 5px var(--state-done-soft)}}@media(prefers-reduced-motion:reduce){.step-complete-btn.glow{animation:none}}.step-optional{margin-left:6px;padding:0 6px;border:1px solid var(--border-color);border-radius:999px;font-size:.7rem;font-weight:400;color:var(--text-secondary);vertical-align:1px}.tree-step.optional .tree-step-name{color:var(--text-secondary)}.cc-outcomes{margin:4px 0 10px;padding:8px 12px;border-left:3px solid var(--border-color);font-size:.9rem}.cc-outcomes-label{color:var(--text-secondary)}.cc-outcomes ul{list-style:none;margin:4px 0 0;padding:0}.cc-outcomes li{display:flex;gap:8px;align-items:baseline;padding:2px 0}.cc-can{flex:none;width:12px;height:12px;border:2px solid var(--state-none);border-radius:3px;transform:translateY(1px)}.cc-outcomes li.done .cc-can{border-color:var(--state-done);background:var(--state-done)}.cc-panel{margin:16px 0 24px;display:grid;gap:14px}.cc-continue{display:flex;align-items:center;gap:10px;justify-self:start;max-width:100%;padding:10px 16px;border:1px solid var(--accent-color);border-radius:10px;background:var(--glass-bg);color:var(--text-primary);font-family:inherit;font-size:1rem;cursor:pointer}.cc-continue>span:first-child{color:var(--accent-color)}.cc-continue:hover{background:var(--state-done-soft)}.cc-panel-row{display:flex;flex-wrap:wrap;gap:14px 32px}.markdown-view .cc-panel-block h3{margin:0 0 6px;font-size:.85rem;font-weight:500;color:var(--text-secondary);border:none}.cc-weeks{display:flex;align-items:flex-end;gap:4px;height:40px}.cc-week{display:flex;align-items:flex-end;width:12px;height:100%;border-radius:2px;background:var(--glass-bg)}.cc-week>span{width:100%;border-radius:2px;background:var(--state-open)}.cc-week.now>span{background:var(--state-done)}.cc-retry{list-style:none;margin:0;padding:0;font-size:.9rem}.cc-retry li{display:flex;flex-wrap:wrap;gap:0 8px;padding:2px 0}.cc-retry button{padding:0;border:none;background:none;color:var(--accent-color);font-family:inherit;font-size:inherit;cursor:pointer}.cc-retry button:hover{text-decoration:underline}.cc-retry span{color:var(--text-secondary)}.markdown-view .ds3-ex-solution{padding:0;border:none;background:none;color:var(--accent-color);font-family:inherit;font-size:inherit;text-decoration:underline;cursor:pointer}.markdown-view .ds3p{margin:-6px 0 18px;padding:12px 14px;border:1px solid var(--border-color);border-radius:8px;background:var(--glass-bg)}.markdown-view .ds3p-head{display:flex;gap:8px;align-items:center}.markdown-view .ds3p-star{color:var(--text-secondary)}.markdown-view .ds3p-star.earned{color:#e3b341}.markdown-view .ds3p-help{margin:4px 0 8px;font-size:.9rem;color:var(--text-secondary)}.markdown-view .ds3p-guess{width:100%;padding:8px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-color);color:var(--text-primary);font-family:JetBrains Mono,ui-monospace,monospace;font-size:.9rem;resize:vertical}.markdown-view .ds3p-actions{display:flex;gap:10px;margin-top:8px}.markdown-view .ds3p-actions button{padding:5px 14px;border:1px solid var(--accent-color);border-radius:6px;background:none;color:var(--accent-color);font-family:inherit;cursor:pointer}.markdown-view .ds3p-actions .ds3p-show{border-color:var(--border-color);color:var(--text-secondary)}.markdown-view .ds3p-result{margin-top:10px;font-size:.92rem}.markdown-view .ds3p-result.right strong{color:var(--state-done)}.markdown-view .ds3p-result.wrong strong{color:#d29922}.markdown-view .ds3p-lines{margin:6px 0 0;padding-left:26px}.markdown-view .ds3p-lines li.ok code{border-left:3px solid var(--state-done)}.markdown-view .ds3p-lines li.miss code{border-left:3px solid #d29922}.markdown-view .ds3p-yours{margin-left:10px;color:var(--text-secondary);font-size:.85rem}.markdown-view .ds3p-note{margin:6px 0 0;color:var(--text-secondary);font-size:.85rem}
