@import"https://fonts.googleapis.com/css2?family=Newsreader:wght@400;600&family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{--course-bg: #0f1116;--course-bg-mid: #101521;--course-surface: #171a22;--course-surface-soft: #1d2130;--course-border: #2a2f3d;--course-border-rgb: 42, 47, 61;--course-accent: #ffb347;--course-accent-rgb: 255, 179, 71;--course-accent-2: #4dd0e1;--course-accent-2-rgb: 77, 208, 225;--course-text: #f5f5f7;--course-text-rgb: 245, 245, 247;--course-muted: #9aa3b2;--course-muted-rgb: 154, 163, 178;font-family:Space Grotesk,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:var(--course-text);background-color:var(--course-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:var(--course-accent-2);text-decoration:inherit}a:hover{color:var(--course-accent)}body{margin:0;padding:0;width:100vw;height:100vh;overflow:hidden}body.landing-scroll{overflow:auto;scroll-behavior:smooth}.auth-loading{padding:32px;color:#e0e5f2;font-family:Space Grotesk,Segoe UI,sans-serif}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:var(--course-text);background-color:var(--course-bg)}a:hover{color:var(--course-accent)}}.app-container{height:100vh;width:100vw;overflow:hidden}.split-container{display:flex;height:100%;width:100%}.canvas-panel{background:#181818;display:flex;flex-direction:column;overflow:hidden}.chat-panel{background:#1f1f1f;display:flex;flex-direction:column;overflow:hidden}.gutter{background-color:#2d2d2d;background-repeat:no-repeat;background-position:center;cursor:col-resize}.gutter:hover{background-color:#6a8ccf;transition:background-color .3s}.gutter.gutter-horizontal{cursor:col-resize}.canvas-panel-container{display:flex;flex-direction:column;height:100%;width:100%}.canvas-header{padding:16px 20px;background:#1f1f1f;border-bottom:1px solid #2d2d2d;display:flex;justify-content:space-between;align-items:center;gap:16px}.canvas-title{display:flex;flex-direction:column;gap:6px}.canvas-header h2{margin:0;font-size:18px;color:#fff;font-weight:600}.preview-url{font-size:12px;color:#9a9a9a}.canvas-actions{display:flex;gap:8px;flex-wrap:wrap}.canvas-button{padding:6px 12px;border-radius:8px;border:1px solid #3a3a3a;background:#242424;color:#ddd;font-size:12px;cursor:pointer;transition:all .2s}.canvas-button:hover{border-color:#6a8ccf;color:#fff}.canvas-iframe-container{flex:1;display:flex;background:#fff;overflow:hidden;position:relative}.preview-iframe{width:100%;height:100%;border:none;background:#fff}.console-error-notifications{position:absolute;bottom:20px;right:20px;display:flex;flex-direction:column;gap:12px;max-width:400px;z-index:100;pointer-events:none}.console-error-notification{background:#fff;border:1px solid #ffcc00;border-left:4px solid #ff6b6b;border-radius:8px;box-shadow:0 4px 12px #00000026;overflow:hidden;pointer-events:auto;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.error-notification-header{display:flex;align-items:center;gap:8px;padding:12px 14px;background:#fff9e6;border-bottom:1px solid #ffe8a3}.error-icon{font-size:18px;line-height:1}.error-title{flex:1;font-size:14px;font-weight:600;color:#333}.error-dismiss{padding:4px;background:transparent;border:none;color:#666;font-size:16px;line-height:1;cursor:pointer;border-radius:4px;transition:all .2s}.error-dismiss:hover{background:#0000000d;color:#333}.error-notification-body{padding:12px 14px;background:#fff}.error-message{font-size:13px;color:#d32f2f;font-family:Monaco,Courier New,monospace;line-height:1.4;word-break:break-word;max-height:60px;overflow-y:auto;margin-bottom:6px}.error-location{font-size:11px;color:#666;margin-top:6px}.error-notification-actions{display:flex;gap:8px;padding:10px 14px;background:#f8f8f8;border-top:1px solid #eee}.error-fix-button,.error-ignore-button{flex:1;padding:6px 12px;border-radius:6px;border:none;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.error-fix-button{background:#ff6b6b;color:#fff}.error-fix-button:hover{background:#ff5252}.error-fix-button:disabled{background:#c98e8e;cursor:not-allowed}.error-ignore-button{background:#e0e0e0;color:#666}.error-ignore-button:hover{background:#d0d0d0;color:#333}.preview-overlay{position:fixed;inset:0;background:#101010;z-index:1000;display:flex;flex-direction:column}.preview-overlay-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#1b1b1b;border-bottom:1px solid #2d2d2d}.preview-overlay-title{font-size:14px;font-weight:600;color:#e6e6e6}.preview-overlay-actions{display:flex;gap:8px}.preview-overlay-iframe{flex:1;width:100%;border:none;background:#fff}.python-panel .canvas-header{background:#1c1c1c}.python-meta{font-size:12px;color:#b5b5b5}.python-body{flex:1;display:flex;flex-direction:column;gap:16px;padding:16px;background:#141414;overflow-y:auto}.python-warnings{border-radius:10px;border:1px solid #5a4a1a;background:#2d2411;color:#f0d38a;padding:10px 12px;font-size:13px}.python-warnings summary{cursor:pointer;font-weight:600;margin-bottom:8px}.python-warnings-list{display:flex;flex-direction:column;gap:8px}.python-warning-item{padding:8px 10px;border-radius:8px;background:#0003}.python-warning-title{font-weight:600;margin-bottom:4px}.python-warning-meta{font-size:12px;color:#d8c18b}.python-output{border-radius:12px;border:1px solid #2a2a2a;background:#1b1b1b;overflow:hidden}.python-output-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid #2a2a2a;background:#202020}.python-tabs{display:flex;gap:8px}.python-tab{border:1px solid #3a3a3a;background:#262626;color:#cfcfcf;font-size:12px;padding:4px 10px;border-radius:999px;cursor:pointer}.python-tab.active{border-color:#6a8ccf;color:#fff;background:#2b3a55}.python-output-meta{font-size:12px;color:silver}.python-output-body{max-height:260px;overflow:auto;padding:12px;font-family:Monaco,Courier New,monospace;font-size:12px;color:#eaeaea}.python-output-body pre{margin:0;white-space:pre-wrap}.python-section-title{font-size:13px;font-weight:600;color:#dcdcdc}.python-empty{font-size:13px;color:#8c8c8c;padding:12px 0}.python-artifacts{display:flex;flex-direction:column;gap:8px}.python-artifacts-layout{display:flex;gap:12px;border:1px solid #2a2a2a;border-radius:12px;background:#1b1b1b;overflow:hidden}.python-artifacts-list{width:240px;border-right:1px solid #2a2a2a;padding:8px;display:flex;flex-direction:column;gap:6px;background:#181818}.python-artifact-item{text-align:left;background:#222;border:1px solid #2c2c2c;border-radius:8px;padding:8px 10px;color:#d8d8d8;cursor:pointer}.python-artifact-item.active{border-color:#6a8ccf;background:#263452;color:#fff}.python-artifact-name{font-size:12px;font-weight:600}.python-artifact-meta{font-size:11px;color:#9c9c9c;margin-top:4px}.python-artifact-preview{flex:1;padding:12px;display:flex;flex-direction:column;gap:8px}.python-artifact-preview-header{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#dcdcdc}.python-artifact-download{font-size:12px;color:#9fc3ff;text-decoration:none}.python-artifact-preview-body{flex:1;border:1px solid #2a2a2a;border-radius:10px;background:#141414;padding:12px;overflow:auto}.python-artifact-preview-body img,.python-artifact-preview-body iframe{width:100%;border:none}.python-artifact-preview-body pre{margin:0;white-space:pre-wrap;font-family:Monaco,Courier New,monospace;font-size:12px;color:#eaeaea}.python-table table{width:100%;border-collapse:collapse;font-size:12px;color:#e6e6e6}.python-table th,.python-table td{border:1px solid #2a2a2a;padding:6px 8px;text-align:left}.python-table th{background:#202020;font-weight:600}.python-table tr:nth-child(2n) td{background:#1a1a1a}.python-artifact-truncate{font-size:12px;color:#9b9b9b}@media(max-width:960px){.python-artifacts-layout{flex-direction:column}.python-artifacts-list{width:100%;flex-direction:row;overflow-x:auto}.python-artifact-item{min-width:180px}}.run-status-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;background:#1b1b1b;border-bottom:1px solid #2d2d2d}.status-left{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.status-chip{padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.3px;background:#2e2e2e;color:#e6e6e6}.status-success{background:#22593c;color:#d7f3e1}.status-fail{background:#5a232a;color:#f2c4c9}.status-running{background:#5b4a1d;color:#f2e3b3}.status-idle{background:#2a2a2a;color:#b6b6b6}.status-meta{font-size:12px;color:#b5b5b5}.status-meta.budget-warn{color:#d1b068}.status-meta.budget-critical{color:#d38989}.debug-toggle-button{padding:4px 10px;border-radius:999px;border:1px solid #3a3a3a;background:#242424;color:#c6c6c6;font-size:12px;cursor:pointer}.debug-toggle-button:hover{border-color:#6a8ccf;color:#fff}.status-actions{display:flex;gap:8px;flex-wrap:wrap}.status-button{padding:6px 12px;border-radius:8px;border:1px solid #3a3a3a;background:#242424;color:#ddd;font-size:12px;cursor:pointer;transition:all .2s}.status-button:hover{border-color:#6a8ccf;color:#fff}.status-button:disabled{opacity:.5;cursor:not-allowed}.attempt-timeline{padding:8px 0}.attempt-title{font-size:13px;font-weight:600;color:#e0e0e0;margin-bottom:6px}.attempt-empty{font-size:12px;color:#8a8a8a}.attempt-list{display:flex;flex-direction:column;gap:8px}.attempt-item{border:1px solid #2f2f2f;border-radius:8px;background:#222;overflow:hidden}.attempt-header{width:100%;padding:10px 12px;display:flex;justify-content:space-between;align-items:center;background:transparent;border:none;cursor:pointer;color:#d8d8d8}.attempt-main{display:flex;gap:8px;align-items:center}.attempt-number{font-weight:600;color:#f1f1f1}.attempt-status{font-size:11px;padding:2px 6px;border-radius:999px;background:#2d2d2d;color:#ddd}.status-SUCCESS{background:#22593c;color:#d7f3e1}.status-FAIL_MAX_ATTEMPTS,.status-FAIL_MAX_TOTAL_TOKENS,.status-FAIL_MAX_TOKENS_PER_ATTEMPT,.status-FAIL_NO_PROGRESS,.status-FAIL_PLAYWRIGHT_TIMEOUT,.status-FAIL_INTERNAL,.status-FAIL_ENV_UNAVAILABLE,.status-CANCELLED{background:#5a232a;color:#f2c4c9}.status-RUNNING,.status-FIXING,.status-GENERATING{background:#5b4a1d;color:#f2e3b3}.attempt-phase{font-size:12px;color:#9a9a9a}.attempt-badge{font-size:11px;padding:2px 6px;border-radius:999px;background:#3a2a2a;color:#f2c4c9}.attempt-meta{display:flex;gap:12px;font-size:11px;color:#8a8a8a}.attempt-body{padding:10px 12px 12px;border-top:1px solid #2f2f2f;display:flex;flex-direction:column;gap:10px}.attempt-block{display:flex;flex-direction:column;gap:6px}.attempt-label{font-size:11px;color:#8a8a8a}.attempt-text{font-size:12px;color:#ddd}.attempt-files{display:flex;flex-wrap:wrap;gap:6px}.attempt-file{font-size:11px;padding:2px 6px;background:#2a2a2a;border-radius:6px;color:#cfe0ff}.last-error-panel{padding:4px 0}.last-error-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.last-error-title{font-size:13px;font-weight:600;color:#e0e0e0}.last-error-copy{padding:4px 10px;border-radius:8px;border:1px solid #3a3a3a;background:#242424;color:#ddd;font-size:12px;cursor:pointer}.last-error-copy:hover{border-color:#6a8ccf;color:#fff}.last-error-empty{font-size:12px;color:#8a8a8a}.last-error-body{display:flex;flex-direction:column;gap:10px}.last-error-block{display:flex;flex-direction:column;gap:6px}.last-error-label{font-size:11px;color:#8a8a8a}.last-error-text{font-size:12px;color:#ddd;word-break:break-all}.last-error-toggle{padding:4px 8px;border-radius:6px;border:1px solid #3a3a3a;background:#1f1f1f;color:#c8c8c8;font-size:11px;cursor:pointer;width:fit-content}.last-error-toggle:hover{border-color:#6a8ccf;color:#fff}.last-error-stack{background:#1f1f1f;padding:8px;border-radius:8px;font-size:11px;color:#cfcfcf;max-height:180px;overflow:auto}.last-error-evidence{background:#1f1f1f;padding:8px;border-radius:8px;font-size:11px;color:#cfcfcf;max-height:200px;overflow:auto;white-space:pre-wrap}.chat-panel-container{position:relative;display:flex;flex-direction:column;height:100%;width:100%;min-height:0}.chat-toast{position:absolute;top:12px;right:20px;z-index:5;padding:6px 10px;border-radius:8px;border:1px solid #323232;background:#242424f2;color:#e4e4e4;font-size:12px;line-height:1.4;box-shadow:0 6px 16px #00000059;pointer-events:none}.timeline-retry{margin-left:8px;padding:2px 8px;border-radius:999px;border:1px solid #3a3a3a;background:#2a2a2a;color:#e8e8e8;font-size:12px;cursor:pointer}.timeline-retry:hover{background:#323232}.session-body{margin-top:12px;display:flex;flex-direction:column;gap:16px}.session-section{border:1px solid #2a2a2a;border-radius:12px;padding:12px;background:#16161699}.session-section-title{font-size:12px;color:#b5b5b5;margin-bottom:8px;letter-spacing:.2px}.session-section-note{font-size:12px;color:#9a9a9a;margin-bottom:8px}.chat-header{padding:16px 20px;background:#1f1f1f;border-bottom:1px solid #2d2d2d;display:flex;flex-direction:column;align-items:stretch;gap:16px}.spec-panel{margin:12px 20px 0;border:1px solid #2a2a2a;border-radius:12px;background:#141414b3}.course-panel{margin:12px 20px 0;border:1px solid #2a2a2a;border-radius:12px;background:#161820e6}.course-panel__header{padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #2a2a2a}.course-panel__title{font-size:12px;color:#d6d6d6;letter-spacing:.2px}.course-panel__actions{display:flex;gap:8px}.course-panel__action{padding:4px 10px;border-radius:8px;border:1px solid #343434;background:#262626;color:#ddd;font-size:12px;cursor:pointer}.course-panel__action:hover{border-color:#ffb347;color:#fff0d2}.course-panel__body{padding:12px;display:flex;flex-direction:column;gap:12px}.course-panel__loading{font-size:12px;color:#b5b5b5}.course-panel__error{font-size:12px;color:#f2b6b6;background:#50202040;border:1px solid #3a2222;padding:8px 10px;border-radius:8px}.course-panel__meta{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.course-panel__course{font-size:14px;font-weight:600;color:#f1f1f1}.course-panel__desc{font-size:12px;color:#b2b6c3;margin-top:4px}.course-panel__badge{font-size:11px;color:#ffb347;border:1px solid rgba(255,179,71,.4);padding:4px 8px;border-radius:999px;white-space:nowrap}.course-panel__tip{font-size:12px;color:#c9c9c9;background:#1e2434b3;border:1px solid #2c3140;padding:8px 10px;border-radius:8px;display:flex;flex-direction:column;gap:8px}.course-panel__tip-actions{display:flex;flex-wrap:wrap;gap:8px}.course-panel__note{font-size:12px;color:#9aa3b2;padding:0 2px}.course-panel__recommend{border:1px solid rgba(255,179,71,.35);border-radius:10px;padding:10px;background:#261e1259;display:flex;align-items:center;justify-content:space-between;gap:10px}.course-panel__recommend-meta{display:flex;flex-direction:column;gap:4px}.course-panel__recommend-title{font-size:12px;color:#ffe2ba;font-weight:600}.course-panel__recommend-desc{font-size:12px;color:#c9b79b}.course-panel__recommend-action{border:1px solid rgba(255,179,71,.6);background:#ffb3471f;color:#ffe8c8;border-radius:8px;padding:6px 10px;font-size:11px;cursor:pointer;white-space:nowrap}.course-panel__recommend-action:disabled{opacity:.5;cursor:not-allowed}.course-panel__link{border:none;background:none;color:#7ad0ff;font-size:12px;cursor:pointer;padding:0}.course-panel__link:hover{text-decoration:underline}.course-panel__steps{display:flex;flex-direction:column;gap:10px}.course-step-card{border:1px solid #2c3140;border-radius:10px;padding:10px;background:#1a1e2ae6}.course-step-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.course-step-title{font-size:13px;font-weight:600;color:#e9e9e9}.course-step-goal{font-size:12px;color:#9aa3b2;margin-top:4px}.course-step-action{border:1px solid #343d55;background:#202535;color:#d7d9e2;border-radius:8px;padding:4px 8px;font-size:11px;cursor:pointer}.course-step-action:disabled{opacity:.5;cursor:not-allowed}.course-step-bullets{margin:8px 0 0;padding-left:16px;font-size:12px;color:#cfd3dd}.course-panel__empty{font-size:12px;color:#9aa3b2}.spec-panel__header{padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #2a2a2a}.spec-panel__title{font-size:12px;color:#cfcfcf;letter-spacing:.2px}.spec-panel__actions{display:flex;gap:8px}.spec-panel__action{padding:4px 10px;border-radius:8px;border:1px solid #343434;background:#262626;color:#ddd;font-size:12px;cursor:pointer}.spec-panel__action:hover{border-color:#6a8ccf;color:#fff}.spec-panel__action:disabled{opacity:.6;cursor:not-allowed}.spec-panel__body{padding:12px;display:flex;flex-direction:column;gap:12px}.spec-panel__loading{font-size:12px;color:#b5b5b5}.spec-panel__error{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:#f2b6b6;background:#50202040;border:1px solid #3a2222;padding:8px 10px;border-radius:8px}.spec-panel__retry{padding:4px 10px;border-radius:999px;border:1px solid #4a2e2e;background:#2a1b1b;color:#f2b6b6;font-size:12px;cursor:pointer}.spec-panel__content{display:flex;flex-direction:column;gap:12px}.spec-panel__row{display:flex;flex-direction:column;gap:6px}.spec-panel__label{font-size:11px;color:#9a9a9a}.spec-panel__text{font-size:12px;color:#e2e2e2;background:#1f1f1f;border:1px solid #2b2b2b;border-radius:8px;padding:8px;white-space:pre-wrap;line-height:1.4}.spec-panel__textarea{width:100%;min-height:120px;resize:vertical;border-radius:8px;border:1px solid #2b2b2b;background:#1c1c1c;color:#e2e2e2;padding:8px;font-size:12px;line-height:1.4}.spec-panel__list{margin:0;padding-left:18px;color:#d6d6d6;font-size:12px}.spec-panel__muted{font-size:12px;color:#777}.spec-panel__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.spec-panel__lock{display:flex;align-items:center;gap:6px;font-size:12px;color:#c2c2c2}.spec-panel__buttons{display:flex;gap:8px;flex-wrap:wrap}.chat-header h2{margin:0;font-size:18px;color:#f2f2f2;font-weight:600}.chat-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.chat-header-row-secondary{margin-top:-4px}.student-switcher{display:flex;align-items:center;gap:8px;font-size:12px;color:#b8b8b8}.student-label{padding:4px 10px;border-radius:999px;background:#2a2a2a;color:#ddd;font-size:12px}.student-switcher select{padding:4px 8px;border-radius:6px;border:1px solid #3a3a3a;background:#2a2a2a;color:#eee;font-size:12px}.project-switcher{display:flex;align-items:center;gap:8px;font-size:12px;color:#b8b8b8}.project-label{padding:4px 10px;border-radius:999px;background:#2a2a2a;color:#ddd;font-size:12px}.project-switcher select{padding:4px 8px;border-radius:6px;border:1px solid #3a3a3a;background:#2a2a2a;color:#eee;font-size:12px}.chat-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.chat-action-button{padding:6px 12px;border-radius:8px;border:1px solid #3a3a3a;background:#272727;color:#ddd;font-size:12px;cursor:pointer;transition:all .2s}.chat-action-button:hover{border-color:#6a8ccf;color:#fff}.chat-action-danger{border-color:#533;background:#2c1c1c;color:#f2b6b6}.chat-action-danger:hover{border-color:#7a3a3a;color:#ffe5e5}.chat-help-button{background:transparent;border-color:#2f2f2f;color:#b8b8b8}.chat-help-button:hover{border-color:#6a8ccf;color:#fff}.chat-body{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.chat-messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px;min-height:0}.message{padding:12px 16px;border-radius:12px;max-width:85%;word-wrap:break-word;white-space:pre-wrap}.message-user{align-self:flex-end;margin-left:auto;background:#3f68b0;color:#fff}.message-assistant{align-self:flex-start;background:#242424;color:#f2f2f2;border:1px solid #2f2f2f}.message-system{align-self:center;background:#2b2b2b;color:#c7c7c7;font-size:14px;max-width:90%;text-align:center}.message-loading{align-self:flex-start;background:#242424;color:#9a9a9a;font-style:italic;border:1px solid #2f2f2f}.message-error{align-self:flex-start;background:#3a1f1f;color:#f3b0b0;border:1px solid #6a2e2e}.message-summary{align-self:center;background:transparent;padding:0;max-width:92%}.timeline-block{align-self:stretch}.session-divider{width:100%;border:1px solid #2d2d2d;background:#1c1c1c;color:#bdbdbd;border-radius:999px;padding:6px 12px;display:flex;align-items:center;gap:10px;font-size:12px;cursor:pointer;text-align:left}.session-divider-title{font-weight:600;color:#e4e4e4}.session-divider-meta{flex:1;color:#b0b0b0}.session-divider-time{color:#8c8c8c}.session-divider-toggle{color:#8fb0f0}.run-card{width:100%;box-sizing:border-box;border:1px solid #2f2f2f;background:#1c1c1c;border-radius:12px;padding:12px;color:#e6e6e6;font-size:12px}.run-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;gap:8px}.run-card-title{font-weight:600;color:#f0f0f0;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.run-card-meta{font-size:11px;color:#9a9a9a;font-weight:400;display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}.run-card-meta-sep{color:#5f5f5f}.run-card-toggle{border:none;background:transparent;color:#8fb0f0;cursor:pointer;font-size:12px}.run-card-summary{display:flex;flex-direction:column;gap:4px;color:#bdbdbd}.run-card-details{margin-top:10px;border-top:1px solid #2a2a2a;padding-top:10px;display:flex;flex-direction:column;gap:10px}.run-card-section-title{font-weight:600;color:#d6d6d6;margin-bottom:6px}.run-card-list{display:flex;flex-direction:column;gap:8px}.run-card-item{background:#222;border:1px solid #2f2f2f;border-radius:8px;padding:8px}.run-card-item-title{font-weight:600;color:#f0d0d0;margin-bottom:4px}.run-card-item-body{color:#cfcfcf;line-height:1.4}.run-card-evidence{margin-top:6px;padding:8px;background:#181818;border-radius:6px;border:1px solid #2a2a2a;color:#b0b0b0;font-size:11px;line-height:1.4;overflow-x:auto}.run-card-tags{display:flex;flex-wrap:wrap;gap:6px}.run-card-tag{border:1px solid #2f2f2f;border-radius:999px;padding:2px 8px;font-size:11px;color:#cfcfcf;background:#222}.message-content{font-size:14px;line-height:1.5}.chat-input-container{padding:16px 20px;background:#1f1f1f;border-top:1px solid #2d2d2d}.snapshot-panel{padding:12px 16px;background:#1b1b1b;border-bottom:1px solid #2d2d2d}.trash-panel{padding:12px 16px;background:#171717;border-bottom:1px solid #2d2d2d}.trash-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.trash-title{font-size:13px;font-weight:600;color:#e0e0e0}.trash-refresh{padding:4px 8px;border-radius:6px;border:1px solid #3a3a3a;background:#242424;color:#ddd;font-size:11px;cursor:pointer}.trash-refresh:hover{border-color:#6a8ccf;color:#fff}.trash-empty{font-size:12px;color:#8a8a8a}.trash-list{display:flex;flex-direction:column;gap:8px;max-height:32vh;overflow-y:auto}.trash-item{padding:8px 10px;border-radius:8px;border:1px solid #2f2f2f;background:#1f1f1f;color:#dcdcdc;font-size:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.trash-info{display:flex;flex-direction:column;gap:4px}.trash-name{font-size:12px;color:#e2e2e2}.trash-time{font-size:11px;color:#9c9c9c}.trash-actions{display:flex;gap:6px}.trash-restore,.trash-delete{padding:4px 10px;border-radius:6px;border:1px solid #3a3a3a;background:#1f1f1f;color:#ddd;font-size:11px;cursor:pointer;transition:all .2s}.trash-restore:hover{border-color:#6a8ccf;color:#fff}.trash-delete{border-color:#533;color:#f0b6b6}.trash-delete:hover{border-color:#7a3a3a;color:#ffe5e5}.snapshot-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.snapshot-title{font-size:13px;font-weight:600;color:#e0e0e0}.snapshot-refresh{padding:4px 8px;border-radius:6px;border:1px solid #3a3a3a;background:#242424;color:#ddd;font-size:11px;cursor:pointer}.snapshot-refresh:hover{border-color:#6a8ccf;color:#fff}.snapshot-empty{font-size:12px;color:#8a8a8a}.snapshot-list{display:flex;flex-direction:column;gap:8px;max-height:40vh;overflow-y:auto;overflow-x:hidden}.snapshot-group{display:flex;flex-direction:column;gap:6px}.snapshot-group-toggle{width:100%;padding:6px 10px;border-radius:8px;border:1px solid #2f2f2f;background:#1f1f1f;color:#dcdcdc;font-size:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}.snapshot-group-toggle:hover{border-color:#6a8ccf;color:#fff}.snapshot-toggle{font-size:11px;color:#9c9c9c}.snapshot-group-items{display:flex;flex-direction:column;gap:6px;padding-left:10px}.snapshot-item{padding:6px 10px;border-radius:8px;border:1px solid #2f2f2f;background:#242424;color:#dcdcdc;font-size:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.snapshot-name{font-size:12px;color:#e2e2e2;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.snapshot-time{font-size:11px;color:#9c9c9c}.snapshot-info{display:flex;flex-direction:column;gap:4px}.snapshot-tag{margin-left:6px;padding:2px 6px;border-radius:999px;background:#2d2d2d;color:#cfcfcf;font-size:10px}.snapshot-restore{padding:4px 10px;border-radius:6px;border:1px solid #3a3a3a;background:#1f1f1f;color:#ddd;font-size:11px;cursor:pointer;transition:all .2s}.snapshot-restore:hover{border-color:#6a8ccf;color:#fff}.summary-card{padding:12px 14px;border-radius:10px;background:#262626;border:1px solid #2f2f2f;display:flex;flex-direction:column;gap:6px;min-width:240px}.summary-success{border-color:#2d3a53;background:#222833}.summary-fail{border-color:#4a2a2a;background:#2b1f1f}.summary-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;color:#d6d6d6}.summary-title{font-weight:600;color:#f1f1f1}.summary-divider{color:#666}.summary-detail{color:#c8c8c8}.summary-label{color:#9fb4e6;font-size:12px}.summary-link{padding:0;border:none;background:transparent;color:#8fb0f0;cursor:pointer;font-size:13px;text-decoration:underline}.summary-primary{padding:4px 10px;border-radius:8px;border:1px solid #4b6fb4;background:#2f4777;color:#fff;font-size:12px;cursor:pointer}.summary-primary:hover{border-color:#6a8ccf;background:#345a98}.summary-link:disabled{color:#666;cursor:default;text-decoration:none}.summary-files{display:flex;flex-wrap:wrap;gap:4px;align-items:center;font-size:12px;color:#a8a8a8}.summary-file{color:#b8b8b8;font-family:Consolas,Monaco,monospace}.debug-panel{margin:12px 20px 0;border-radius:12px;border:1px solid #2d2d2d;background:#1b1b1b;overflow:hidden}.debug-header{width:100%;border:none;background:transparent;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer}.debug-title{font-size:13px;font-weight:600;color:#e0e0e0;display:flex;align-items:center;gap:8px}.debug-scope{font-size:11px;font-weight:400;color:#9a9a9a}.debug-summary{flex:1;display:flex;align-items:center;gap:8px;color:#b6b6b6;font-size:12px}.debug-toggle{font-size:12px;color:#9a9a9a}.debug-dot{width:8px;height:8px;border-radius:50%;background:#666;flex-shrink:0}.debug-dot.status-SUCCESS{background:#3a7a52}.debug-dot.status-RUNNING,.debug-dot.status-FIXING,.debug-dot.status-GENERATING{background:#9a7a2a}.debug-dot[class*=status-FAIL],.debug-dot.status-CANCELLED{background:#8a2f2f}.debug-content{padding:0 14px 12px;display:flex;flex-direction:column;gap:10px}.debug-section{border-top:1px solid #2a2a2a;padding-top:8px}.debug-section-header{width:100%;border:none;background:transparent;display:flex;justify-content:space-between;align-items:center;color:#d2d2d2;font-size:13px;cursor:pointer;padding:4px 0}.debug-section-toggle{font-size:12px;color:#9a9a9a}.debug-section-body{padding:6px 0 4px}.debug-files{display:flex;flex-wrap:wrap;gap:6px}.debug-file{font-size:11px;padding:3px 8px;background:#242424;border-radius:6px;color:#cfe0ff;border:1px solid #2f2f2f}.debug-empty{font-size:12px;color:#8a8a8a}.chat-options{margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.runtime-toggle{display:inline-flex;align-items:center;border:1px solid #3a3a3a;border-radius:999px;overflow:hidden;background:#222}.runtime-toggle-button{border:none;background:transparent;color:#cfcfcf;font-size:12px;padding:6px 14px;cursor:pointer;transition:all .2s}.runtime-toggle-button.active{background:#3f68b0;color:#fff}.runtime-toggle-button:not(.active):hover{color:#fff}.python-template{display:inline-flex;align-items:center;gap:8px}.python-template-select{background:#222;border:1px solid #3a3a3a;border-radius:8px;color:#dcdcdc;padding:6px 10px;font-size:12px}.python-template-apply{border:1px solid #3a3a3a;background:#262626;color:#dcdcdc;padding:6px 12px;border-radius:8px;font-size:12px;cursor:pointer}.python-template-apply:hover:not(:disabled){border-color:#6a8ccf;color:#fff}.python-template-apply:disabled{opacity:.5;cursor:not-allowed}.checkbox-label{display:flex;align-items:center;gap:8px;color:#ccc;font-size:14px;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox],.checkbox-label span{cursor:pointer}.intent-toggle{display:inline-flex;align-items:center;border:1px solid #3a3a3a;border-radius:999px;overflow:hidden;background:#222}.intent-toggle-button{border:none;background:transparent;color:#cfcfcf;font-size:12px;padding:6px 14px;cursor:pointer;transition:all .2s}.intent-toggle-button.active{background:#3f68b0;color:#fff}.intent-toggle-button:not(.active):hover{color:#fff}.intent-suggestion{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;border:1px solid #2f2f2f;background:#222;color:#cfcfcf;font-size:12px;margin-bottom:10px}.intent-suggestion-action,.intent-suggestion-dismiss{border:none;background:transparent;color:#8fb0f0;cursor:pointer;font-size:12px;text-decoration:underline}.intent-suggestion-action:hover,.intent-suggestion-dismiss:hover{color:#cfe0ff}.preview-error-banner{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:10px;border:1px solid #3a2f2f;background:#221d1d;color:#e0d8d8;font-size:12px;margin-bottom:10px}.preview-error-text{display:flex;flex-direction:column;gap:4px;flex:1}.preview-error-title{font-weight:600;color:#f0eaea}.preview-error-message{color:#c9bcbc;line-height:1.4}.preview-error-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.preview-error-primary,.preview-error-secondary{border:none;border-radius:8px;padding:6px 12px;font-size:12px;cursor:pointer;transition:all .2s;white-space:nowrap}.preview-error-primary{background:#3f68b0;color:#fff}.preview-error-primary:hover{background:#345a98}.preview-error-secondary{background:transparent;color:#c9bcbc;border:1px solid #4a3a3a}.preview-error-secondary:hover{color:#fff;border-color:#6a4a4a}.chat-input-row{display:flex;gap:12px;align-items:flex-end}.chat-input{flex:1;padding:12px;border-radius:8px;border:1px solid #3a3a3a;background:#242424;color:#fff;font-family:inherit;font-size:14px;resize:vertical;min-height:60px;max-height:150px}.chat-input:focus{outline:none;border-color:#6a8ccf}.chat-input:disabled{opacity:.5;cursor:not-allowed}.send-button{padding:12px 24px;border-radius:8px;border:none;background:#3f68b0;color:#fff;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s;white-space:nowrap}.send-button:hover:not(:disabled){background:#345a98;transform:translateY(-1px)}.send-button:active:not(:disabled){transform:translateY(0)}.send-button:disabled{opacity:.5;cursor:not-allowed}.run-python-button{padding:12px 18px;border-radius:8px;border:1px solid #3a3a3a;background:#262626;color:#dcdcdc;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s;white-space:nowrap}.run-python-button:hover:not(:disabled){border-color:#6a8ccf;color:#fff}.run-python-button:disabled{opacity:.5;cursor:not-allowed}.chat-messages::-webkit-scrollbar{width:8px}.chat-messages::-webkit-scrollbar-track{background:#1b1b1b}.chat-messages::-webkit-scrollbar-thumb{background:#3a3a3a;border-radius:4px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#4a4a4a}.modal-backdrop{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000}.modal-card{background:#1f1f1f;border:1px solid #2d2d2d;border-radius:12px;padding:16px;width:min(420px,90vw);color:#e6e6e6;display:flex;flex-direction:column;gap:12px}.modal-title{font-size:14px;font-weight:600;color:#f0f0f0}.modal-body{font-size:12px;color:#cfcfcf;display:flex;flex-direction:column;gap:6px}.modal-body-pre{font-family:Consolas,Monaco,monospace;white-space:pre-wrap;background:#1b1b1b;border:1px solid #2a2a2a;border-radius:8px;padding:10px;max-height:50vh;overflow-y:auto}.modal-close{align-self:flex-end;padding:6px 12px;border-radius:8px;border:1px solid #3a3a3a;background:#242424;color:#ddd;font-size:12px;cursor:pointer}.modal-close:hover{border-color:#6a8ccf;color:#fff}.modal-card-wide{width:min(900px,92vw);max-height:80vh}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.chat-action-primary{background:#3f68b0;color:#fff;border:1px solid transparent}.chat-action-primary:hover{background:#345a98}.patch-preview-list{display:flex;flex-direction:column;gap:12px;max-height:60vh;overflow-y:auto}.patch-preview-item{border:1px solid #2d2d2d;border-radius:10px;background:#1b1b1b;padding:10px}.patch-preview-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:12px;color:#d5d5d5}.patch-preview-path{font-weight:600;color:#f2f2f2}.patch-preview-meta{color:#9c9c9c}.patch-preview-diff{margin:0;font-family:Consolas,Monaco,monospace;font-size:11px;line-height:1.4;white-space:pre-wrap;color:#e0e0e0;background:#141414;border:1px solid #252525;border-radius:8px;padding:8px;max-height:240px;overflow-y:auto}.app-header{display:flex;align-items:center;justify-content:space-between;gap:24px;position:sticky;top:0;z-index:8;padding:8px 0 12px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.app-header .landing-brand{display:flex;align-items:center;gap:12px;font-weight:700;letter-spacing:.3px;text-decoration:none;color:var(--course-text)}.app-header .brand-mark{width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,var(--course-accent),var(--course-accent-2));box-shadow:0 8px 20px rgba(var(--course-accent-2-rgb),.35)}.app-header .brand-name{font-size:18px}.app-header .landing-links{display:flex;gap:20px;font-size:14px}.app-header .landing-links a{color:rgba(var(--course-text-rgb),.68);text-decoration:none}.app-header .landing-links a:hover{color:var(--course-text)}.app-header .landing-actions{display:flex;gap:12px}.app-header .user-menu{position:relative}.app-header .user-menu-trigger{width:42px;height:42px;border-radius:50%;border:1px solid rgba(var(--course-border-rgb),.5);background:#141a2699;color:var(--course-text);display:grid;place-items:center;font-weight:600;cursor:pointer;padding:0}.app-header .user-menu-trigger:hover{border-color:rgba(var(--course-accent-2-rgb),.5);background:#141a26cc}.app-header .user-avatar{width:100%;height:100%;border-radius:50%;object-fit:cover}.app-header .user-initial{width:100%;height:100%;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,rgba(var(--course-accent-2-rgb),.35),rgba(var(--course-accent-rgb),.35))}.app-header .user-menu-dropdown{position:absolute;right:0;top:calc(100% + 12px);min-width:160px;border-radius:12px;padding:8px;background:#0c1018f2;border:1px solid rgba(var(--course-border-rgb),.5);box-shadow:0 16px 36px #00000059;display:grid;gap:6px;z-index:20}.app-header .user-menu-item{font-size:14px;color:rgba(var(--course-text-rgb),.85);text-decoration:none;padding:8px 10px;border-radius:8px;background:transparent;border:none;text-align:left;cursor:pointer}.app-header .user-menu-item:hover{background:rgba(var(--course-accent-2-rgb),.16);color:var(--course-text)}.app-header .solid-button,.app-header .ghost-button{border-radius:10px;padding:10px 18px;font-weight:600;text-decoration:none;font-size:14px;display:inline-block;transition:all .3s cubic-bezier(.4,0,.2,1)}.app-header .solid-button{background:linear-gradient(135deg,rgba(var(--course-accent-2-rgb),.15),rgba(var(--course-accent-rgb),.15));color:var(--course-text);border:1px solid rgba(var(--course-accent-2-rgb),.3);box-shadow:0 8px 24px rgba(var(--course-accent-2-rgb),.2)}.app-header .solid-button:hover{background:linear-gradient(135deg,rgba(var(--course-accent-2-rgb),.22),rgba(var(--course-accent-rgb),.22));color:var(--course-accent);border-color:rgba(var(--course-accent-2-rgb),.45);box-shadow:0 12px 32px rgba(var(--course-accent-2-rgb),.3);transform:translateY(-2px)}.app-header .solid-button:active{transform:translateY(0)}.app-header .ghost-button{border:1px solid rgba(120,140,190,.35);color:var(--course-text);background:#141a2666}.app-header .ghost-button:hover{background:#141a2699;border-color:rgba(var(--course-accent-2-rgb),.4);color:var(--course-accent)}@media(max-width:960px){.app-header{flex-wrap:wrap;padding-bottom:12px}.app-header .landing-links{order:3;width:100%;justify-content:center}}@media(max-width:640px){.app-header{gap:12px}.app-header .landing-links{display:none}}.site-footer{display:flex;align-items:center;justify-content:space-between;padding:32px 0;margin-top:32px;border-top:1px solid rgba(var(--course-border-rgb),.3);gap:24px;flex-wrap:wrap}.site-footer--spacious{margin-top:48px}.site-footer-brand{display:flex;align-items:center;gap:12px;font-weight:600}.site-footer-copyright{font-size:14px}.site-footer-slogan{font-size:13px;color:rgba(var(--course-text-rgb),.6);font-weight:400}.site-footer-links{display:flex;gap:20px;flex-wrap:wrap}.site-footer-links a{color:rgba(var(--course-text-rgb),.72);font-size:14px;text-decoration:none;transition:color .2s}.site-footer-links a:hover{color:var(--course-accent)}@media(max-width:640px){.site-footer{flex-direction:column;align-items:flex-start}}.landing-page{--landing-text-primary: rgba(var(--course-text-rgb), .94);--landing-text-body: rgba(var(--course-text-rgb), .86);--landing-text-muted: rgba(var(--course-text-rgb), .68);--landing-stroke: rgba(var(--course-border-rgb), .5);color:var(--course-text);background:radial-gradient(circle at 12% 20%,rgba(var(--course-accent-2-rgb),.15),transparent 45%),radial-gradient(circle at 80% 10%,rgba(var(--course-accent-rgb),.18),transparent 40%),linear-gradient(180deg,var(--course-bg) 0%,var(--course-bg-mid) 55%,var(--course-bg) 100%);font-family:Space Grotesk,Segoe UI,sans-serif;min-height:100vh;padding:0 0 64px;overflow-x:hidden}.landing-container{width:min(1120px,92vw);margin:0 auto;display:flex;flex-direction:column;padding-top:8px}.landing-nav{display:flex;align-items:center;justify-content:space-between;gap:24px;position:sticky;top:0;z-index:10;padding:16px 0 20px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.landing-brand{display:flex;align-items:center;gap:12px;font-weight:700;letter-spacing:.3px}.brand-mark{width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,var(--course-accent),var(--course-accent-2));box-shadow:0 8px 20px rgba(var(--course-accent-2-rgb),.35)}.brand-name{font-size:18px}.landing-links{display:flex;gap:20px;font-size:14px}.landing-links a{color:var(--landing-text-muted)}.landing-links a:hover{color:var(--course-text)}.landing-actions{display:flex;gap:12px}.solid-button,.ghost-button{border-radius:10px;padding:10px 18px;font-weight:600;text-decoration:none;font-size:14px;display:inline-block;transition:all .3s cubic-bezier(.4,0,.2,1)}.solid-button{background:linear-gradient(135deg,rgba(var(--course-accent-2-rgb),.15),rgba(var(--course-accent-rgb),.15));color:var(--course-text);border:1px solid rgba(var(--course-accent-2-rgb),.3);box-shadow:0 8px 24px rgba(var(--course-accent-2-rgb),.2)}.solid-button:hover{background:linear-gradient(135deg,rgba(var(--course-accent-2-rgb),.22),rgba(var(--course-accent-rgb),.22));border-color:rgba(var(--course-accent-2-rgb),.45);box-shadow:0 12px 32px rgba(var(--course-accent-2-rgb),.3);transform:translateY(-2px)}.solid-button:active{transform:translateY(0)}.ghost-button{border:1px solid rgba(120,140,190,.35);color:var(--course-text);background:#141a2666}.ghost-button:hover{background:#141a2699;border-color:rgba(var(--course-accent-2-rgb),.4)}.landing-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:40px;align-items:start;padding:24px 0 36px}.hero-copy{align-self:start}.hero-copy h1{font-family:Newsreader,serif;font-size:clamp(32px,4vw,50px);margin-bottom:16px;line-height:1.2;max-width:18ch;text-wrap:balance;word-break:keep-all;line-break:strict}.nowrap{white-space:nowrap}.hero-tag{display:inline-flex;padding:6px 12px;border-radius:999px;background:rgba(var(--course-accent-2-rgb),.18);color:var(--course-accent);font-size:13px;margin-bottom:16px}.hero-declaration{font-size:16px;color:var(--landing-text-body);max-width:560px;margin:0 0 16px;line-height:1.6}.hero-bullets{margin:20px 0;display:grid;gap:10px;padding-left:16px;color:var(--landing-text-body);font-size:14px}.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.hero-note{margin-top:12px;font-size:12px;color:var(--landing-text-muted)}.hero-preview{display:grid;gap:16px;align-self:start;margin-top:clamp(14px,2.4vw,32px);opacity:.96}.hero-loop{border-radius:20px;border:1px solid rgba(var(--course-border-rgb),.22);background:#10141ead;padding:20px;display:grid;gap:12px}.loop-title{font-size:14px;letter-spacing:1px;color:var(--landing-text-muted)}.loop-demo{display:grid;gap:10px;padding:12px;border-radius:14px;border:1px solid rgba(var(--course-border-rgb),.28);background:#0c1018bf}.loop-demo-line{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--landing-text-muted)}.loop-demo-label{font-weight:600;color:var(--landing-text-body)}.loop-demo-value{color:var(--landing-text-primary)}.loop-demo-status{display:inline-flex;align-items:center;gap:8px;color:var(--course-accent-2);font-weight:600}.loop-demo-dot{width:8px;height:8px;border-radius:50%;background:var(--course-accent-2);box-shadow:0 0 10px rgba(var(--course-accent-2-rgb),.6);animation:pulseDot 1.8s ease-in-out infinite}.loop-demo-percent{color:rgba(var(--course-text-rgb),.78);font-weight:600;font-size:11px}.loop-demo-progress{position:relative;height:6px;border-radius:999px;background:#5a6e9640;overflow:hidden}.loop-demo-progress span{position:absolute;inset:0;width:0%;background:linear-gradient(90deg,rgba(var(--course-accent-2-rgb),.7),rgba(var(--course-accent-rgb),.7));border-radius:inherit;transition:width .4s ease}.loop-demo-preview{padding:8px 10px;border-radius:10px;border:1px dashed rgba(var(--course-accent-2-rgb),.35);color:var(--landing-text-body);text-align:center;font-size:12px;background:#0e121e99}.loop-item{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:10px 12px;border-radius:14px;background:#141824b3;border:1px solid var(--landing-stroke)}.loop-item.is-active{border-color:rgba(var(--course-accent-2-rgb),.55);background:rgba(var(--course-accent-2-rgb),.08)}.landing-hero .solid-button{padding:12px 22px;box-shadow:0 14px 32px rgba(var(--course-accent-2-rgb),.28)}@keyframes pulseDot{0%{transform:scale(1);opacity:.9}60%{transform:scale(1.3);opacity:.4}to{transform:scale(1);opacity:.9}}.loop-index{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;font-size:12px;font-weight:700;color:var(--course-text);background:rgba(var(--course-accent-2-rgb),.2);border:1px solid rgba(var(--course-accent-2-rgb),.35)}.loop-body{display:grid;gap:4px}.loop-label{font-size:12px;color:var(--course-accent);font-weight:600}.loop-text{font-size:13px;color:var(--landing-text-body)}.landing-trust{margin:12px 0 28px;padding:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0;border:1px solid rgba(var(--course-border-rgb),.24);border-radius:14px;background:#0c101859}.trust-item{padding:12px 14px;border-radius:10px;border:none;background:transparent}.trust-item+.trust-item{border-left:1px solid rgba(var(--course-border-rgb),.2)}.trust-title{font-size:13px;font-weight:600;color:var(--landing-text-primary)}.trust-desc{margin-top:6px;font-size:12px;color:var(--landing-text-body)}.landing-manifesto{margin:24px 0 12px;padding:24px;border-radius:16px;background:var(--course-surface);border:1px solid var(--landing-stroke)}.landing-manifesto h2{margin-top:0;font-size:20px}.contrast-head{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:16px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--landing-text-muted)}.manifesto-contrast{display:grid;gap:12px;margin-top:16px}.contrast-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.contrast-item{padding:12px 14px;border-radius:12px;border:1px solid var(--landing-stroke);background:#10141e80;color:var(--landing-text-body);font-size:13px}.contrast-item p{margin:6px 0 0}.contrast-label{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--landing-text-muted)}.contrast-past{background:#0c1018a6;border-color:rgba(var(--course-border-rgb),.32)}.contrast-now{background:rgba(var(--course-accent-2-rgb),.12);border-color:rgba(var(--course-accent-2-rgb),.4);color:var(--landing-text-primary)}.manifesto-summary{margin:16px 0 0;color:var(--landing-text-body);font-size:14px}.manifesto-emphasis{margin-top:16px;font-size:16px;font-weight:600;color:var(--landing-text-primary)}.landing-section{margin-top:56px}.section-head h2{font-size:24px;margin-bottom:8px}.section-head p{margin:0;color:var(--landing-text-body);font-size:14px}.section-note{margin:0;color:var(--landing-text-muted);font-size:13px}.showcase-grid,.showcase-preview-grid,.forge-grid,.learning-grid,.roadmap-grid,.comparison-grid,.pricing-grid{margin-top:24px;display:grid;gap:20px}.showcase-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.showcase-card{border-radius:16px;border:1px solid var(--landing-stroke);background:linear-gradient(135deg,rgba(var(--course-accent-2-rgb),.02),rgba(var(--course-accent-rgb),.02));padding:20px;display:grid;gap:12px;min-height:200px;transition:all .35s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.showcase-card:not(.showcase-more){cursor:default}.showcase-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--course-accent),var(--course-accent-2));opacity:0;transition:opacity .35s}.showcase-card:hover{transform:translateY(-4px);border-color:rgba(var(--course-accent-2-rgb),.35);background:linear-gradient(135deg,rgba(var(--course-accent-2-rgb),.05),rgba(var(--course-accent-rgb),.05));box-shadow:0 12px 32px rgba(var(--course-accent-2-rgb),.15)}.showcase-card:hover:before{opacity:1}.showcase-media{height:140px;border-radius:12px;background:linear-gradient(135deg,rgba(var(--course-accent-2-rgb),.12),rgba(var(--course-accent-rgb),.12));border:1px solid rgba(var(--course-accent-2-rgb),.2);display:grid;place-items:center;color:rgba(var(--course-text-rgb),.5);font-size:11px;font-weight:600;letter-spacing:.1em;transition:all .3s}.showcase-media.preview-particle{background:radial-gradient(circle at 20% 20%,rgba(var(--course-accent-rgb),.25),transparent 55%),radial-gradient(circle at 70% 10%,rgba(var(--course-accent-2-rgb),.35),transparent 45%),#0a0c12a6}.showcase-media.preview-todo{background:linear-gradient(145deg,#3f63ff26,rgba(var(--course-accent-2-rgb),.15))}.showcase-media.preview-pixel{background:linear-gradient(145deg,#ffb34740,#5a6eff1f)}.showcase-media.preview-card{background:linear-gradient(145deg,#ff897033,rgba(var(--course-accent-2-rgb),.15))}.showcase-media.preview-flashcard{background:linear-gradient(145deg,#52d6a033,#788cc826)}.showcase-media.preview-lamp{background:linear-gradient(145deg,#9b78ff33,#5adcff2e)}.showcase-media.preview-theme{background:linear-gradient(145deg,#78ffd62e,#588cff2e)}.showcase-media.preview-prank{background:linear-gradient(145deg,#ff82be38,#ffd68229)}.showcase-media.preview-pet{background:linear-gradient(145deg,#76ff9633,#78c8ff24)}.showcase-media.preview-beat{background:linear-gradient(145deg,#ff8c5a38,#ffd2782e)}.showcase-media.preview-snake{background:linear-gradient(145deg,#78ff7833,#5a96ff29)}.showcase-media.preview-fireworks{background:radial-gradient(circle at 20% 20%,rgba(255,190,120,.28),transparent 55%),radial-gradient(circle at 80% 10%,rgba(120,210,255,.25),transparent 50%),#0a0c12a6}.showcase-card:hover .showcase-media{background:linear-gradient(135deg,rgba(var(--course-accent-2-rgb),.18),rgba(var(--course-accent-rgb),.18));border-color:rgba(var(--course-accent-2-rgb),.35);transform:scale(1.02)}.showcase-media-surface{width:100%;height:100%;padding:0;border-radius:10px;background:#0c0f17b3;border:1px solid rgba(var(--course-accent-2-rgb),.25);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .3s;display:grid;place-items:center;overflow:hidden}.showcase-thumb{width:100%;height:100%;object-fit:cover;border-radius:6px;display:block}.showcase-card:hover .showcase-media-surface{background:#0c0f17d9;border-color:var(--course-accent)}.showcase-card h3{margin:0;font-size:19px;font-weight:600;letter-spacing:-.01em;color:var(--course-text);transition:color .3s}.showcase-card:hover h3{color:var(--course-accent)}.showcase-card p{margin:0;color:var(--landing-text-body);font-size:14px}.showcase-story{color:var(--landing-text-primary);font-weight:600}.showcase-intro{color:var(--landing-text-body)}.showcase-badge{padding:4px 10px;border-radius:999px;font-size:11px;color:var(--landing-text-muted);background:rgba(var(--course-accent-2-rgb),.12);border:1px solid rgba(var(--course-accent-2-rgb),.25)}.showcase-block-title{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--landing-text-muted);margin-top:6px}.showcase-chip-row{display:flex;flex-wrap:wrap;gap:8px}.showcase-chip-row+.showcase-block-title{margin-top:12px}.showcase-chip{padding:4px 10px;border-radius:999px;border:1px solid rgba(var(--course-accent-2-rgb),.2);background:rgba(var(--course-accent-2-rgb),.08);color:var(--landing-text-body);font-size:12px}.showcase-chip-muted{border-color:rgba(var(--course-border-rgb),.35);background:#0c10188c;color:var(--landing-text-muted)}.showcase-cta{margin-top:auto;font-size:13px;font-weight:600;color:var(--course-accent)}.showcase-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px}.showcase-action{padding:10px 12px;border-radius:10px;text-align:center;font-size:13px;font-weight:600;text-decoration:none;border:1px solid rgba(var(--course-border-rgb),.4);color:var(--landing-text-primary);background:#0e121e99;transition:all .2s ease}.showcase-action.primary{border-color:rgba(var(--course-accent-2-rgb),.5);background:rgba(var(--course-accent-2-rgb),.12);color:var(--course-accent)}.showcase-action:hover{transform:translateY(-1px);border-color:rgba(var(--course-accent-2-rgb),.7)}.showcase-more{display:grid;gap:12px;justify-items:start;align-content:center;min-height:260px;background:#0c1018a6}.showcase-more-title{font-size:18px;font-weight:600;color:var(--landing-text-primary)}.showcase-tag{font-size:11px;font-weight:600;padding:6px 12px;border-radius:6px;background:rgba(var(--course-accent-2-rgb),.12);border:1px solid rgba(var(--course-accent-2-rgb),.25);color:var(--course-accent);width:fit-content;letter-spacing:.01em;transition:all .3s}.showcase-card:hover .showcase-tag{background:rgba(var(--course-accent-2-rgb),.18);border-color:var(--course-accent)}.forge-layout{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:24px;align-items:start}.forge-visual{display:grid;gap:12px;align-items:center;justify-items:center}.forge-svg{width:min(320px,100%);height:auto}.forge-ring{fill:none;stroke:rgba(var(--course-border-rgb),.35);stroke-width:3}.forge-ring-flow{fill:none;stroke:url(#forgeGradient);stroke-width:4;stroke-linecap:round;stroke-dasharray:14 12;animation:forgeFlow 6s linear infinite}@keyframes forgeFlow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-78}}.forge-node-dot{fill:#0f1116;stroke:rgba(var(--course-accent-2-rgb),.45);stroke-width:2}.forge-node-label{font-size:10px;fill:rgba(var(--course-text-rgb),.5)}.forge-node.is-active .forge-node-dot{fill:var(--course-accent-2);stroke:var(--course-accent-2)}.forge-node.is-active .forge-node-label{fill:#fff;font-weight:600}.forge-visual-caption{text-align:center;padding:12px 14px;border-radius:12px;border:1px solid var(--landing-stroke);background:var(--course-surface-soft)}.forge-visual-title{font-size:13px;font-weight:600;color:var(--course-text)}.forge-visual-desc{margin-top:6px;font-size:12px;color:var(--landing-text-muted)}.forge-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.forge-card{padding:18px;border-radius:16px;border:1px solid var(--landing-stroke);background:var(--course-surface);transition:transform .2s ease,border-color .2s ease,opacity .2s ease;opacity:.7}.forge-card:hover{opacity:1}.forge-boosters{grid-column:1 / -1;padding:8px 0;border-radius:14px;border:none;background:transparent;display:grid;gap:12px}.forge-boosters-title{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:rgba(var(--course-text-rgb),.55)}.forge-boosters-grid{display:flex;flex-wrap:wrap;gap:10px}.forge-booster-card{padding:8px 12px;border-radius:999px;border:1px solid rgba(var(--course-border-rgb),.35);background:#0e121c8c;display:flex;align-items:center;gap:6px}.forge-booster-title{font-size:13px;font-weight:600;color:rgba(var(--course-text-rgb),.9);margin:0}.forge-booster-card p{margin:0;font-size:11px;color:var(--landing-text-muted)}.forge-label{font-size:12px;color:var(--course-accent);font-weight:600}.forge-card h3{margin:8px 0;font-size:16px}.forge-card p{margin:0;color:var(--landing-text-muted);font-size:13px}.forge-card.is-active{border-color:rgba(var(--course-accent-2-rgb),.6);transform:translateY(-4px);box-shadow:0 12px 24px #080e1c66;opacity:1}.forge-tips{margin-top:16px;color:var(--landing-text-primary);font-size:13px;font-weight:600}.forge-story{margin-top:18px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.forge-story-item{padding:10px 12px;border-radius:10px;border:1px solid rgba(var(--course-border-rgb),.24);background:#0c101866;opacity:.6;transition:opacity .2s ease,border-color .2s ease,transform .2s ease}.forge-story-item.is-active{opacity:1;border-color:rgba(var(--course-accent-2-rgb),.6);transform:translateY(-2px);box-shadow:0 10px 24px rgba(var(--course-accent-2-rgb),.18)}.forge-story-title{font-size:13px;font-weight:600;color:var(--landing-text-primary)}.forge-story-desc{margin-top:6px;font-size:12px;color:var(--landing-text-muted)}.learning-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.learning-card{padding:18px;border-radius:16px;border:1px solid var(--landing-stroke);background:var(--course-surface-soft)}.learning-index{font-size:12px;color:rgba(var(--course-text-rgb),.6)}.learning-card h3{margin:8px 0;font-size:16px}.learning-card p{margin:0;color:var(--landing-text-body);font-size:13px}.learning-highlight{margin-top:16px;font-size:15px;font-weight:600;color:var(--landing-text-primary)}.roadmap-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.roadmap-quiz{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.roadmap-option{padding:8px 14px;border-radius:999px;border:1px solid rgba(var(--course-border-rgb),.4);background:#0e121e99;color:var(--landing-text-body);font-size:12px;cursor:pointer;transition:all .2s ease}.roadmap-option.is-active,.roadmap-option:hover{border-color:rgba(var(--course-accent-2-rgb),.6);color:var(--course-accent)}.roadmap-card{padding:16px;border-radius:14px;border:1px solid var(--landing-stroke);background:var(--course-surface)}.roadmap-card.is-active{border-color:rgba(var(--course-accent-2-rgb),.6);box-shadow:0 12px 24px rgba(var(--course-accent-2-rgb),.15)}.roadmap-level{color:var(--course-accent);font-weight:700;margin-bottom:8px}.roadmap-tip{margin-top:14px;color:var(--landing-text-muted);font-size:13px}.comparison-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.comparison-card{border-radius:16px;border:1px solid var(--landing-stroke);background:var(--course-surface);padding:18px}.comparison-card ul{padding-left:18px;color:var(--landing-text-body);font-size:14px}.pricing-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.pricing-guides{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 6px}.pricing-guides button{padding:8px 14px;border-radius:999px;border:1px solid rgba(var(--course-border-rgb),.4);background:#0e121e99;color:var(--landing-text-body);font-size:12px;cursor:pointer;transition:all .2s ease}.pricing-guides button:hover{border-color:rgba(var(--course-accent-2-rgb),.5);color:var(--course-accent)}.pricing-card{border-radius:16px;border:1px solid var(--landing-stroke);background:var(--course-surface);padding:18px;display:grid;gap:12px;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.pricing-card.is-featured{border-color:rgba(var(--course-accent-2-rgb),.7);box-shadow:0 18px 36px rgba(var(--course-accent-2-rgb),.2)}.pricing-badge{padding:4px 10px;border-radius:999px;background:rgba(var(--course-accent-2-rgb),.2);color:var(--course-accent);font-size:11px;font-weight:600}.pricing-card:hover{transform:translateY(-4px);border-color:var(--course-accent);box-shadow:0 18px 36px rgba(var(--course-accent-2-rgb),.2)}.pricing-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.pricing-head-right{display:grid;justify-items:end;gap:6px}.pricing-price{font-weight:700;color:var(--course-accent-2)}.pricing-desc{color:var(--landing-text-body);font-size:14px}.pricing-audience{margin-top:6px;font-size:12px;color:var(--landing-text-muted)}.pricing-lead{margin-top:6px;color:var(--landing-text-body);font-size:14px}.pricing-meta{display:grid;gap:6px;font-size:12px;color:var(--landing-text-body)}.pricing-meta-row span{color:var(--landing-text-muted);margin-right:6px}.pricing-card ul{padding-left:18px;color:var(--landing-text-body);font-size:13px}.pricing-cta{border:1px solid rgba(var(--course-border-rgb),.4);border-radius:10px;padding:10px 12px;background:var(--course-surface);color:var(--course-text);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.pricing-cta:hover{border-color:rgba(var(--course-accent-2-rgb),.5);box-shadow:0 10px 22px rgba(var(--course-accent-2-rgb),.18)}.pricing-note{margin-top:16px;color:var(--landing-text-muted);font-size:13px}.faq-list details{border-radius:12px;border:1px solid var(--landing-stroke);background:var(--course-surface);padding:12px 16px;margin-bottom:12px;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.faq-list details:hover{transform:translateY(-2px);border-color:var(--course-accent-2);box-shadow:0 14px 28px rgba(var(--course-accent-2-rgb),.15)}.faq-list summary{cursor:pointer;font-weight:600}.faq-list p{color:var(--landing-text-body);margin-top:8px}.landing-final{margin-top:64px;padding:32px;border-radius:20px;background:linear-gradient(135deg,rgba(var(--course-accent-2-rgb),.2),rgba(var(--course-accent-rgb),.15));display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}.landing-final p{margin:8px 0 0;color:var(--landing-text-body)}@media(max-width:900px){.landing-nav{flex-direction:column;align-items:flex-start}.landing-links{flex-wrap:wrap}.landing-actions{width:100%}.landing-actions a{flex:1;text-align:center}.landing-hero{grid-template-columns:1fr;gap:32px;padding:40px 0 28px}.hero-preview,.hero-loop{margin-top:0}.forge-layout,.showcase-actions{grid-template-columns:1fr}}@media(max-width:720px){.landing-trust{grid-template-columns:1fr;gap:10px}.trust-item+.trust-item{border-left:none;border-top:1px solid rgba(var(--course-border-rgb),.2)}}@media(max-width:600px){.landing-page{padding:20px 16px 32px}.landing-hero{padding:28px 0 20px}.landing-final{padding:24px}}@media(prefers-reduced-motion:reduce){.forge-ring-flow{animation:none}}@media(min-width:1080px){.showcase-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.hero-promise{font-size:18px;font-weight:600;background:linear-gradient(135deg,var(--course-accent),var(--course-accent-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:16px 0 20px;line-height:1.6;letter-spacing:-.01em}.works-gallery{margin-top:64px}.works-gallery .section-head h2{display:flex;align-items:center;gap:12px}.badge-example{font-size:11px;font-weight:600;padding:6px 14px;background:#ffb74d1f;color:#ffb74d;border:1px solid rgba(255,183,77,.25);border-radius:8px;letter-spacing:.02em;text-transform:uppercase}.works-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:32px}.work-card{background:linear-gradient(135deg,rgba(var(--course-accent-2-rgb),.03),rgba(var(--course-accent-rgb),.03));border:1px solid var(--course-border);border-radius:16px;padding:28px;transition:all .35s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.work-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--course-accent),var(--course-accent-2));opacity:0;transition:opacity .35s}.work-card:hover{transform:translateY(-6px);border-color:rgba(var(--course-accent-2-rgb),.4);box-shadow:0 12px 32px rgba(var(--course-accent-2-rgb),.15);background:linear-gradient(135deg,rgba(var(--course-accent-2-rgb),.06),rgba(var(--course-accent-rgb),.06))}.work-card:hover:before{opacity:1}.work-media{width:64px;height:64px;display:flex;align-items:center;justify-content:center;margin-bottom:20px;background:linear-gradient(135deg,rgba(var(--course-accent-2-rgb),.15),rgba(var(--course-accent-rgb),.15));border-radius:12px;color:var(--course-accent);border:1px solid rgba(var(--course-accent-2-rgb),.2);transition:all .3s}.work-media svg{width:32px;height:32px}.work-card:hover .work-media{transform:scale(1.05);background:linear-gradient(135deg,rgba(var(--course-accent-2-rgb),.25),rgba(var(--course-accent-rgb),.25));border-color:var(--course-accent)}.work-media--card{background:linear-gradient(135deg,rgba(var(--course-accent-2-rgb),.15),rgba(var(--course-accent-rgb),.15));border-color:rgba(var(--course-accent-2-rgb),.2);color:var(--course-accent)}.work-card:hover .work-media--card{background:linear-gradient(135deg,rgba(var(--course-accent-2-rgb),.25),rgba(var(--course-accent-rgb),.25))}.work-media--timer{background:linear-gradient(135deg,rgba(var(--course-accent-rgb),.15),rgba(var(--course-accent-2-rgb),.15));border-color:rgba(var(--course-accent-rgb),.2);color:var(--course-accent-2)}.work-card:hover .work-media--timer{background:linear-gradient(135deg,rgba(var(--course-accent-rgb),.25),rgba(var(--course-accent-2-rgb),.25))}.work-info h3{font-size:19px;font-weight:600;margin-bottom:12px;color:var(--course-text);letter-spacing:-.01em}.work-meta{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}.work-meta-item{display:inline-flex;align-items:center;padding:4px 10px;font-size:12px;font-weight:500;border-radius:6px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--landing-text-muted)}.work-meta-item--role{background:rgba(var(--course-accent-2-rgb),.1);border-color:rgba(var(--course-accent-2-rgb),.2);color:var(--course-accent)}.work-meta-item--time{background:rgba(var(--course-accent-rgb),.1);border-color:rgba(var(--course-accent-rgb),.2);color:var(--course-accent-2)}.work-quote{font-size:14px;line-height:1.7;color:var(--landing-text-muted);position:relative;padding-left:16px;border-left:3px solid rgba(var(--course-accent-2-rgb),.3)}.showcase-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.showcase-audience-tags{display:flex;flex-wrap:wrap;gap:6px}.audience-tag{font-size:11px;font-weight:500;padding:5px 10px;background:rgba(var(--course-accent-2-rgb),.12);color:var(--course-accent);border:1px solid rgba(var(--course-accent-2-rgb),.25);border-radius:6px;white-space:nowrap;letter-spacing:.01em;transition:all .2s}.showcase-card:hover .audience-tag{background:rgba(var(--course-accent-2-rgb),.18);border-color:rgba(var(--course-accent-2-rgb),.35)}.sticky-cta-bar{position:fixed;bottom:0;left:0;right:0;background:#0c0f17f7;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid rgba(var(--course-accent-2-rgb),.15);padding:18px 0;z-index:100;animation:slideUp .35s cubic-bezier(.4,0,.2,1);box-shadow:0 -4px 24px #0000004d}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.sticky-cta-content{width:min(1200px,92vw);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.sticky-cta-content p{font-size:16px;font-weight:600;color:var(--course-text);margin:0;letter-spacing:-.01em}.sticky-cta-buttons{display:flex;gap:12px;flex-shrink:0}.sticky-cta-buttons .solid-button,.sticky-cta-buttons .ghost-button{padding:12px 24px;font-size:14px}.sticky-link{color:var(--landing-text-muted);font-size:14px;text-decoration:none;padding:12px 8px}.sticky-link:hover{color:var(--course-text)}@media(max-width:768px){.works-grid{grid-template-columns:1fr}.sticky-cta-content{flex-direction:column;text-align:center}.sticky-cta-buttons{width:100%}.sticky-cta-buttons .solid-button{flex:1}.showcase-header-row{flex-direction:column}.hero-promise{font-size:16px}}.demo-page{--bg: #0c0f17;--card: #141a26;--card-border: rgba(120, 140, 190, .25);--text: #e6edf7;--muted: rgba(230, 237, 247, .7);--accent: #5aa5ff;--accent-2: #35d0b2;color:var(--text);background:radial-gradient(circle at 10% 15%,rgba(90,165,255,.18),transparent 40%),radial-gradient(circle at 85% 20%,rgba(53,208,178,.18),transparent 45%),var(--bg);font-family:Space Grotesk,Segoe UI,sans-serif;min-height:100vh;padding:24px}.demo-container{max-width:1400px;margin:0 auto}.demo-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.demo-back{color:var(--muted);text-decoration:none;font-size:14px;transition:color .2s}.demo-back:hover{color:var(--text)}.demo-brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:18px}.brand-mark{width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 8px 20px #35d0b259}.demo-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:48px}.demo-input-section{background:linear-gradient(135deg,#5aa5ff0a,#35d0b20a);border:1px solid var(--card-border);border-radius:16px;padding:36px;position:relative;overflow:hidden}.demo-input-section:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),var(--accent-2))}.demo-input-section h1{font-size:32px;font-weight:700;margin:0 0 16px;background:linear-gradient(135deg,var(--accent),var(--accent-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.demo-description{color:var(--muted);line-height:1.7;margin-bottom:32px;font-size:15px}.demo-input{display:flex;gap:12px;margin-bottom:24px}.demo-prompt{flex:1;padding:14px 18px;background:#141a2699;border:1.5px solid rgba(90,165,255,.3);border-radius:10px;color:var(--text);font-size:15px;font-family:inherit;transition:all .25s;letter-spacing:-.01em}.demo-prompt:focus{outline:none;border-color:var(--accent);background:#141a26cc;box-shadow:0 0 0 3px #5aa5ff1a}.demo-prompt:disabled{opacity:.65;cursor:not-allowed}.demo-generate-btn{padding:14px 36px;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#08111b;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap;letter-spacing:-.01em;box-shadow:0 4px 12px #5aa5ff33}.demo-generate-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #5aa5ff59}.demo-generate-btn:active:not(:disabled){transform:translateY(0)}.demo-generate-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:0 4px 12px #5aa5ff1a}.demo-tips{background:linear-gradient(135deg,#5aa5ff14,#35d0b214);border:1px solid rgba(90,165,255,.25);border-radius:12px;padding:20px;animation:fadeIn .5s}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.demo-tips-header{display:flex;align-items:center;gap:10px;margin-bottom:16px;font-weight:600;color:var(--text)}.demo-tips-icon{width:20px;height:20px;color:var(--accent-2);flex-shrink:0}.demo-tip-note{font-size:14px;font-weight:500;color:var(--muted);margin:0 0 12px}.demo-tip-list{margin:0;padding-left:20px;font-size:13px;line-height:2;color:var(--muted)}.demo-tip-list li{position:relative;padding-left:4px}.demo-preview-section{background:#141a2699;border:1px solid var(--card-border);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 4px 24px #0003}.demo-preview-header{padding:16px 24px;background:linear-gradient(135deg,#5aa5ff14,#35d0b214);border-bottom:1px solid rgba(90,165,255,.2);font-size:13px;font-weight:600;color:var(--accent);letter-spacing:.02em;text-transform:uppercase}.demo-preview{flex:1;min-height:500px;position:relative}.demo-iframe{width:100%;height:100%;border:none;position:absolute;top:0;left:0}.demo-cta{background:linear-gradient(135deg,#5aa5ff0d,#35d0b20d);border:1px solid var(--card-border);border-radius:16px;padding:48px;text-align:center;position:relative;overflow:hidden}.demo-cta:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),var(--accent-2))}.demo-cta-icon{width:56px;height:56px;margin:0 auto 24px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#5aa5ff26,#35d0b226);border:1px solid rgba(90,165,255,.3);border-radius:12px;color:var(--accent)}.demo-cta-icon svg{width:28px;height:28px}.demo-cta-content h2{margin:0 0 16px;font-size:24px;letter-spacing:-.02em;background:linear-gradient(135deg,var(--accent),var(--accent-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.demo-cta-content p{color:var(--muted);line-height:1.7;max-width:600px;margin:0 auto 32px}.demo-cta-buttons{display:flex;justify-content:center;gap:16px}.demo-page .solid-button,.demo-page .ghost-button{padding:14px 32px;border-radius:10px;font-weight:600;text-decoration:none;font-size:15px;letter-spacing:-.01em;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-block}.demo-page .solid-button{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#08111b;border:none;box-shadow:0 4px 16px #5aa5ff40}.demo-page .solid-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #5aa5ff66}.demo-page .solid-button:active{transform:translateY(0);box-shadow:0 4px 16px #5aa5ff40}.demo-page .ghost-button{border:1.5px solid rgba(120,140,190,.35);color:var(--text);background:#141a2680}.demo-page .ghost-button:hover{background:#141a26b3;border-color:var(--accent);box-shadow:0 4px 12px #5aa5ff26}.demo-page .ghost-button:active{transform:scale(.98)}@media(max-width:1024px){.demo-layout{grid-template-columns:1fr}.demo-preview{min-height:400px}}@media(max-width:768px){.demo-page{padding:16px}.demo-input-section{padding:24px}.demo-input-section h1{font-size:24px}.demo-input{flex-direction:column}.demo-generate-btn{width:100%}.demo-cta{padding:32px 24px}.demo-cta-buttons{flex-direction:column}.demo-page .demo-cta-buttons .solid-button,.demo-page .demo-cta-buttons .ghost-button{width:100%;text-align:center}.demo-header{flex-direction:column;gap:16px;text-align:center}}.showcase-index-page{--landing-text-primary: rgba(var(--course-text-rgb), .94);--landing-text-body: rgba(var(--course-text-rgb), .86);--landing-text-muted: rgba(var(--course-text-rgb), .68);--landing-stroke: rgba(var(--course-border-rgb), .5);color:var(--course-text);background:radial-gradient(circle at 12% 20%,rgba(var(--course-accent-2-rgb),.15),transparent 45%),radial-gradient(circle at 80% 10%,rgba(var(--course-accent-rgb),.18),transparent 40%),linear-gradient(180deg,var(--course-bg) 0%,var(--course-bg-mid) 55%,var(--course-bg) 100%);font-family:Space Grotesk,Segoe UI,sans-serif;min-height:100vh;padding:0 0 64px;overflow-x:hidden}.showcase-index-container{width:min(1120px,92vw);margin:0 auto;display:flex;flex-direction:column;padding-top:8px;gap:16px}.showcase-index-breadcrumbs{display:flex;align-items:center;gap:8px;font-size:14px;color:rgba(var(--course-text-rgb),.6);padding:12px 0}.showcase-index-breadcrumbs a{color:rgba(var(--course-text-rgb),.7);text-decoration:none;transition:color .2s}.showcase-index-breadcrumbs a:hover{color:var(--course-accent-2)}.showcase-index-breadcrumbs span{color:rgba(var(--course-text-rgb),.4)}.showcase-index-hero{display:grid;gap:16px;max-width:100%}.showcase-index-hero h1{font-family:Newsreader,serif;font-size:clamp(2.2rem,2.7vw,3rem);margin:0;line-height:1.2;letter-spacing:.4px;white-space:nowrap}.showcase-index-hero p{font-size:16px;color:var(--course-muted);line-height:1.6;margin:0;max-width:680px}.showcase-index-grid{margin-top:12px}@media(max-width:640px){.showcase-index-page{padding:20px 0 48px}}@media(max-width:960px){.showcase-index-hero h1{white-space:normal}}.showcase-page{background:radial-gradient(circle at 15% 15%,rgba(77,208,225,.16),transparent 45%),radial-gradient(circle at 80% 5%,rgba(255,179,71,.18),transparent 40%),linear-gradient(180deg,var(--course-bg) 0%,var(--course-bg-mid) 55%,var(--course-bg) 100%);min-height:100vh;color:var(--course-text);font-family:Space Grotesk,Segoe UI,sans-serif}.showcase-container{max-width:1120px;margin:0 auto;padding:8px 20px 64px;display:grid;gap:0}.showcase-breadcrumbs{margin-top:0;margin-bottom:0}.showcase-layout{margin-top:0}.showcase-proof,.showcase-next{margin-top:32px}.showcase-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.showcase-brand{display:flex;align-items:center;gap:12px;font-weight:600}.brand-mark{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,var(--course-accent),var(--course-accent-2));box-shadow:0 10px 24px rgba(var(--course-accent-2-rgb),.35)}.showcase-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.showcase-link{color:rgba(var(--course-text-rgb),.72);font-size:14px;text-decoration:none;transition:color .2s}.showcase-link:hover{color:var(--course-accent)}.showcase-link-button{padding:8px 16px;border-radius:10px;font-size:14px;font-weight:600;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.showcase-link-button.primary{background:rgba(var(--course-accent-2-rgb),.18);border:1px solid rgba(var(--course-accent-2-rgb),.5);color:var(--course-text);box-shadow:0 8px 20px #4dd0e12e}.showcase-link-button.primary:hover{background:rgba(var(--course-accent-2-rgb),.25);box-shadow:0 12px 26px #4dd0e140;transform:translateY(-2px)}.showcase-link-button.secondary{border:1px solid rgba(var(--course-border-rgb),.5);color:rgba(var(--course-text-rgb),.82);background:#10141e99}.showcase-link-button.secondary:hover{border-color:rgba(var(--course-accent-2-rgb),.4);background:#10141ecc}.showcase-back{color:rgba(var(--course-text-rgb),.7);font-size:14px;text-decoration:none}.showcase-breadcrumbs{display:flex;align-items:center;gap:8px;font-size:14px;color:rgba(var(--course-text-rgb),.6);padding:12px 0}.showcase-breadcrumbs a{color:rgba(var(--course-text-rgb),.7);text-decoration:none;transition:color .2s}.showcase-breadcrumbs a:hover{color:var(--course-accent-2)}.showcase-breadcrumbs span{color:rgba(var(--course-text-rgb),.4)}.showcase-layout{display:flex;flex-direction:column;gap:32px}.showcase-hero{display:grid;gap:16px;max-width:100%}.showcase-tags{display:flex;flex-wrap:wrap;gap:12px}.showcase-pill{border:1px solid var(--course-border);background:#171a22cc;color:var(--course-text);padding:6px 12px;border-radius:999px;font-size:12px}.showcase-hero h1{font-family:Newsreader,serif;font-size:clamp(2.2rem,2.7vw,3rem);margin:0;line-height:1.2;letter-spacing:.4px}.showcase-tag{display:inline-flex;padding:6px 12px;border-radius:999px;border:1px solid rgba(var(--course-accent-2-rgb),.35);color:var(--course-accent-2);font-size:12px;letter-spacing:.04em;width:fit-content}.showcase-summary{font-size:16px;color:var(--course-muted);line-height:1.6;margin:0;max-width:680px}.showcase-badges{display:flex;flex-wrap:wrap;gap:8px}.showcase-badge{padding:4px 10px;border-radius:999px;border:1px solid rgba(var(--course-accent-2-rgb),.25);background:rgba(var(--course-accent-2-rgb),.08);color:rgba(var(--course-text-rgb),.78);font-size:12px}.showcase-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}.showcase-cta-button{padding:10px 16px;border-radius:10px;font-size:14px;font-weight:600;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-block}.showcase-cta-button.primary{background:var(--course-accent);color:#241a00;border:none;box-shadow:0 12px 26px rgba(var(--course-accent-rgb),.3)}.showcase-cta-button.primary:hover{background:var(--course-accent);filter:brightness(1.1);box-shadow:0 16px 32px rgba(var(--course-accent-rgb),.4);transform:translateY(-2px)}.showcase-cta-button.secondary{border:1px solid var(--course-border);background:transparent;color:var(--course-text)}.showcase-cta-button.secondary:hover{border-color:var(--course-accent);background:rgba(var(--course-accent-rgb),.08)}.showcase-stage{width:100%}.stage-frame{background:#0e121cbf;border-radius:18px;border:1px solid rgba(var(--course-border-rgb),.35);overflow:hidden}.stage-toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;background:#0c101899;border-bottom:1px solid rgba(var(--course-border-rgb),.3)}.stage-label{font-size:12px;color:rgba(var(--course-text-rgb),.7);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.stage-controls{display:flex;gap:8px}.stage-control{width:32px;height:32px;display:grid;place-items:center;background:#141a2699;border:1px solid rgba(var(--course-border-rgb),.5);border-radius:8px;color:rgba(var(--course-text-rgb),.7);font-size:16px;cursor:pointer;transition:all .2s}.stage-control:hover{background:#141a26e6;border-color:rgba(var(--course-accent-2-rgb),.5);color:var(--course-text)}.stage-surface{width:100%;border-radius:14px;overflow:hidden}.stage-placeholder{height:1000px;display:flex;align-items:center;justify-content:center;padding:24px;color:#9aa4b2;font-size:14px;text-align:center;background:#0f1116}.stage-embed{width:100%;height:1000px;border:none;background:#0f1116;display:block}.stage-surface:fullscreen{background:#0f1116;display:flex;align-items:center;justify-content:center}.stage-surface:fullscreen .stage-embed{width:100vw;height:100vh;border-radius:0}.stage-surface:-moz-full-screen{background:#0f1116;display:flex;align-items:center;justify-content:center}.stage-surface:-moz-full-screen .stage-embed{width:100vw;height:100vh;border-radius:0}.stage-surface:-webkit-full-screen{background:#0f1116;display:flex;align-items:center;justify-content:center}.stage-surface:-webkit-full-screen .stage-embed{width:100vw;height:100vh;border-radius:0}.showcase-proof{padding:32px 0}.showcase-section-title{font-size:20px;font-weight:600;margin:0 0 20px;color:var(--course-text)}.proof-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.proof-card{background:#0e121cb3;border:1px solid rgba(var(--course-border-rgb),.35);border-radius:14px;padding:20px 18px;display:grid;gap:10px;text-align:center;transition:all .3s}.proof-card:hover{background:#0e121cd9;border-color:rgba(var(--course-accent-2-rgb),.4);transform:translateY(-2px)}.proof-label{font-size:12px;color:rgba(var(--course-text-rgb),.62);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.proof-value{font-size:15px;color:var(--course-text);line-height:1.5;font-weight:500}.showcase-next{padding:32px 0}.next-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.next-card{background:#0e121cb3;border:1px solid rgba(var(--course-border-rgb),.35);border-radius:16px;padding:18px;display:grid;gap:12px;text-decoration:none;color:inherit;transition:all .3s}.next-card:hover{background:#0e121ce6;border-color:rgba(var(--course-accent-2-rgb),.5);transform:translateY(-2px);box-shadow:0 12px 32px #0000004d}.next-cover{height:140px;border-radius:12px;background:#0a0c1299;border:1px solid rgba(var(--course-border-rgb),.7);display:grid;place-items:center;position:relative;overflow:hidden}.next-thumb{width:100%;height:100%;object-fit:cover;display:block}.next-level{position:absolute;top:12px;left:12px;font-size:12px;font-weight:600;color:var(--course-text);letter-spacing:.04em;padding:4px 10px;border-radius:999px;background:#0c1018d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(var(--course-border-rgb),.5)}.next-title{font-size:18px;margin:0;color:var(--course-text)}.next-subtitle{font-size:13px;color:rgba(var(--course-text-rgb),.7);line-height:1.5;margin:0}.next-meta{font-size:12px;color:rgba(var(--course-text-rgb),.6);display:flex;align-items:center;gap:8px}.sticky-cta-bar{position:fixed;bottom:0;left:0;right:0;background:#0c1018f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid rgba(var(--course-border-rgb),.5);padding:16px 0;z-index:1000;animation:slideUpFadeIn .3s ease-out}@keyframes slideUpFadeIn{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.sticky-cta-content{width:min(1180px,92vw);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.sticky-cta-info{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.sticky-title{font-size:16px;font-weight:600;color:var(--course-text)}.sticky-meta{font-size:13px;color:rgba(var(--course-text-rgb),.6)}.sticky-cta-actions{display:flex;gap:12px;flex-wrap:wrap}.sticky-btn{padding:10px 16px;border-radius:10px;font-size:14px;font-weight:600;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap}.sticky-btn.primary{background:var(--course-accent);color:#241a00;border:none;box-shadow:0 8px 20px rgba(var(--course-accent-rgb),.3)}.sticky-btn.primary:hover{background:var(--course-accent);filter:brightness(1.1);box-shadow:0 12px 26px rgba(var(--course-accent-rgb),.4);transform:translateY(-2px)}.sticky-btn.secondary{border:1px solid var(--course-border);background:transparent;color:var(--course-text)}.sticky-btn.secondary:hover{border-color:var(--course-accent);background:rgba(var(--course-accent-rgb),.08)}.showcase-empty{background:#0c1018b3;border-radius:18px;padding:48px 32px;border:1px solid rgba(var(--course-border-rgb),.35);display:grid;gap:16px;text-align:center;max-width:600px;margin:48px auto}.showcase-empty h1{font-size:28px;margin:0}.showcase-empty p{font-size:15px;color:rgba(var(--course-text-rgb),.7);line-height:1.6;margin:0}.showcase-cta{padding:10px 16px;border-radius:10px;font-size:14px;font-weight:600;text-decoration:none;background:var(--course-accent);color:#241a00;border:none;box-shadow:0 12px 26px rgba(var(--course-accent-rgb),.3);display:inline-block;transition:all .3s cubic-bezier(.4,0,.2,1)}.showcase-cta:hover{background:var(--course-accent);filter:brightness(1.1);box-shadow:0 16px 32px rgba(var(--course-accent-rgb),.4);transform:translateY(-2px)}@media(max-width:960px){.showcase-layout{gap:24px}.stage-embed{height:420px}.proof-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}@media(max-width:640px){.showcase-nav{flex-direction:column;align-items:flex-start}.showcase-actions{width:100%}.showcase-link-button{flex:1;text-align:center}.sticky-cta-content{flex-direction:column;align-items:stretch}.sticky-cta-actions{width:100%}.sticky-btn{flex:1;text-align:center}}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:48px 16px;background:radial-gradient(circle at 15% 20%,rgba(92,160,255,.12),transparent 45%),radial-gradient(circle at 85% 15%,rgba(62,200,160,.1),transparent 45%),#0f1116;color:#e8eefc;font-family:Space Grotesk,Segoe UI,sans-serif}.auth-card{width:min(420px,100%);background:#141925;border:1px solid rgba(120,140,190,.25);border-radius:16px;padding:28px;box-shadow:0 20px 40px #05081273}.auth-card h1{font-size:28px;margin:0 0 8px;font-family:Newsreader,serif}.auth-card .muted{margin:0 0 20px;color:#e8eefc99;font-size:14px}.auth-card label{display:block;margin:14px 0 6px;font-size:14px;color:#e8eefcbf}.auth-card input{width:100%;border-radius:10px;border:1px solid rgba(120,140,190,.3);background:#0f1320;color:#e8eefc;padding:10px 12px;font-size:14px;outline:none}.auth-card input:focus{border-color:#5ca0ff99;box-shadow:0 0 0 3px #5ca0ff33}.auth-card button{width:100%;margin-top:16px;border:none;border-radius:10px;padding:10px 12px;background:linear-gradient(135deg,#4e7dff,#3ad2b0);color:#08111b;font-weight:700}.auth-card button:disabled{opacity:.6;cursor:not-allowed}.auth-card .row{display:flex;justify-content:space-between;margin-top:16px;gap:12px}.auth-card .link{border:none;background:transparent;color:#e8eefcb3;padding:0;font-size:13px;cursor:pointer}.auth-card .msg{margin-top:16px;padding:10px 12px;border-radius:10px;background:#5ca0ff1f;color:#e8eefcd9;font-size:13px}.auth-simple{min-height:100vh;background:#0f1116;color:#e8eefc;display:flex;align-items:center;justify-content:center;padding:32px;font-family:Space Grotesk,Segoe UI,sans-serif}.auth-simple .auth-simple-card{max-width:480px;width:100%;background:#141925;border:1px solid rgba(120,140,190,.25);border-radius:16px;padding:24px}.program-card{display:block;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:24px;text-decoration:none;color:inherit;transition:all .2s ease;cursor:pointer}.program-card:hover{border-color:#f59e0b80;background:#ffffff0d;transform:translateY(-2px)}.program-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.program-level-badge{display:inline-flex;align-items:center;padding:4px 12px;background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.3);border-radius:12px;font-size:13px;font-weight:600;letter-spacing:.5px}.program-stats-mini{font-size:13px;color:#ffffff80}.program-title{font-size:20px;font-weight:700;color:#f9fafb;margin:0 0 12px;line-height:1.3}.program-oneliner{font-size:14px;color:#fff9;line-height:1.6;margin:0 0 16px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.program-meta{display:flex;gap:16px;margin-bottom:16px;flex-wrap:wrap}.program-meta-item{display:flex;align-items:center;gap:6px;font-size:13px;color:#ffffff80}.program-icon{width:14px;height:14px;opacity:.7}.program-progress{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.program-progress-bar{height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden;margin-bottom:8px}.program-progress-fill{height:100%;background:linear-gradient(90deg,#14b8a6,#0d9488);border-radius:4px;transition:width .3s ease}.program-progress-text{font-size:13px;color:#ffffff80;text-align:right}.program-cta{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1);font-size:14px;font-weight:600;color:#14b8a6;text-align:center}@media(max-width:768px){.program-card{padding:20px}.program-title{font-size:18px}.program-meta{gap:12px}}.programs-tab{padding:40px 0}.programs-intro{margin-bottom:32px;text-align:center}.programs-intro-title{font-size:28px;font-weight:700;color:#f9fafb;margin:0 0 12px}.programs-intro-text{font-size:16px;color:#fff9;max-width:600px;margin:0 auto}.programs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.programs-loading,.programs-error,.programs-empty{text-align:center;padding:80px 20px;color:#ffffff80}.programs-error{color:#ef4444}.programs-empty-hint{font-size:14px;margin-top:8px;opacity:.7}.programs-retry{margin-top:16px;padding:10px 24px;background:#14b8a6;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s ease}.programs-retry:hover{background:#0d9488}@media(max-width:768px){.programs-tab{padding:24px 0}.programs-intro-title{font-size:24px}.programs-intro-text{font-size:14px}.programs-grid{grid-template-columns:1fr;gap:16px}}@media(min-width:769px)and (max-width:1024px){.programs-grid{grid-template-columns:repeat(2,1fr)}}.collection-card{display:block;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:24px;text-decoration:none;color:inherit;transition:all .2s ease;cursor:pointer}.collection-card:hover{border-color:#f59e0b80;background:#ffffff0d;transform:translateY(-2px)}.collection-card-header{display:flex;justify-content:flex-end;align-items:center;margin-bottom:16px}.collection-stats-mini{font-size:13px;color:#ffffff80}.collection-title{font-size:20px;font-weight:700;color:#f9fafb;margin:0 0 12px;line-height:1.3}.collection-oneliner{font-size:14px;color:#fff9;line-height:1.6;margin:0 0 16px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.collection-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.collection-tag{display:inline-flex;align-items:center;padding:4px 10px;background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.3);border-radius:12px;font-size:12px;font-weight:500}.collection-tag-more{display:inline-flex;align-items:center;padding:4px 10px;background:#ffffff0d;color:#ffffff80;border:1px solid rgba(255,255,255,.1);border-radius:12px;font-size:12px;font-weight:500}.collection-cta{padding-top:16px;border-top:1px solid rgba(255,255,255,.1);font-size:14px;font-weight:600;color:#14b8a6;text-align:center}@media(max-width:768px){.collection-card{padding:20px}.collection-title{font-size:18px}}.collections-tab{padding:40px 0}.collections-intro{margin-bottom:32px;text-align:center}.collections-intro-title{font-size:28px;font-weight:700;color:#f9fafb;margin:0 0 12px}.collections-intro-text{font-size:16px;color:#fff9;max-width:600px;margin:0 auto}.collections-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.collections-loading,.collections-error,.collections-empty{text-align:center;padding:80px 20px;color:#ffffff80}.collections-error{color:#ef4444}.collections-empty-hint{font-size:14px;margin-top:8px;opacity:.7}.collections-retry{margin-top:16px;padding:10px 24px;background:#14b8a6;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s ease}.collections-retry:hover{background:#0d9488}@media(max-width:768px){.collections-tab{padding:24px 0}.collections-intro-title{font-size:24px}.collections-intro-text{font-size:14px}.collections-grid{grid-template-columns:1fr;gap:16px}}@media(min-width:769px)and (max-width:1024px){.collections-grid{grid-template-columns:repeat(2,1fr)}}.courses-shell{height:100vh;overflow-y:auto;overflow-x:hidden;background:radial-gradient(circle at 12% 20%,rgba(var(--course-accent-2-rgb),.15),transparent 45%),radial-gradient(circle at 80% 10%,rgba(var(--course-accent-rgb),.18),transparent 40%),linear-gradient(180deg,var(--course-bg) 0%,var(--course-bg-mid) 55%,var(--course-bg) 100%);color:var(--course-text);font-family:Space Grotesk,Segoe UI,sans-serif}.courses-container{max-width:1120px;margin:0 auto;padding:8px 20px 64px}.course-breadcrumbs{display:flex;align-items:center;gap:8px;font-size:14px;color:rgba(var(--course-text-rgb),.6);padding:12px 0}.course-breadcrumbs a{color:rgba(var(--course-text-rgb),.7);text-decoration:none;transition:color .2s}.course-breadcrumbs a:hover{color:var(--course-accent)}.course-breadcrumbs span{color:rgba(var(--course-text-rgb),.4)}.courses-hero{display:grid;gap:24px;margin-bottom:48px;padding-top:0}.library-hero-actions{display:grid;gap:16px;border:2px solid rgba(var(--course-accent-2-rgb),.3);border-radius:16px;padding:24px;background:#141720cc;box-shadow:0 8px 24px rgba(var(--course-accent-2-rgb),.15)}.library-hero-primary{display:grid;gap:14px}.library-hero-hint{font-size:16px;font-weight:600;color:var(--course-text);letter-spacing:.3px}.library-hero-cta{display:flex;flex-wrap:wrap;gap:12px}.library-hero-note{font-size:12px;color:var(--course-muted)}.courses-hero-title{font-family:Newsreader,serif;font-size:clamp(2.2rem,2.7vw,3rem);letter-spacing:.4px;margin:0}.courses-hero-subtitle{color:var(--course-text);max-width:680px;margin:0;line-height:1.6;font-size:16px}.courses-hero-meta{display:flex;flex-wrap:wrap;gap:12px}.courses-section-title{font-size:13px;color:var(--course-muted);margin-bottom:12px}.courses-roadmap{margin:32px 0 24px}.roadmap-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.roadmap-card{border:1px solid var(--course-border);background:#141720b3;border-radius:14px;padding:12px;text-align:left;cursor:pointer;color:var(--course-text);display:grid;gap:6px}.roadmap-card.is-active{border-color:var(--course-accent);box-shadow:0 0 0 1px #ffb34740}.roadmap-level{font-size:12px;font-weight:600;color:var(--course-accent)}.roadmap-goal{font-size:13px;color:var(--course-text)}.roadmap-examples,.roadmap-unlock{font-size:12px;color:var(--course-muted)}.courses-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px}.courses-tab{border:1px solid var(--course-border);background:#171a22cc;color:var(--course-text);padding:6px 14px;border-radius:999px;font-size:12px;cursor:pointer}.courses-tab.is-active{border-color:var(--course-accent);color:var(--course-accent)}.courses-filter{display:flex;align-items:center;gap:8px;margin-left:auto;font-size:12px;color:var(--course-muted)}.courses-filter-options{display:flex;flex-wrap:wrap;gap:6px}.filter-chip{border:1px solid var(--course-border);background:#171a22cc;color:var(--course-text);padding:4px 10px;border-radius:999px;font-size:11px;cursor:pointer}.filter-chip.is-active{border-color:var(--course-accent-2);color:var(--course-accent-2)}.library-filters{display:grid;gap:14px;margin-bottom:24px;padding:16px;border:1px solid var(--course-border);border-radius:16px;background:#14182499}.filters-row{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}.filters-group{display:grid;gap:8px}.filters-label{font-size:12px;color:var(--course-muted)}.filters-chip-row{display:flex;flex-wrap:wrap;gap:8px}.filters-actions{margin-left:auto}.filters-reset{border:1px solid rgba(120,140,190,.35);background:#141a2680;color:var(--course-text);padding:6px 12px;border-radius:999px;font-size:12px;cursor:pointer}.filters-reset:hover{border-color:rgba(var(--course-accent-2-rgb),.4)}.courses-pill{border:1px solid var(--course-border);background:#171a22cc;color:var(--course-text);padding:6px 12px;border-radius:999px;font-size:12px}.courses-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.course-card{border:1px solid var(--course-border);background:var(--course-surface);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:12px;min-height:220px;box-shadow:0 18px 40px #00000040;position:relative;overflow:hidden}.course-card.status-locked{opacity:.7}.course-cover{position:relative;height:150px;border-radius:12px;overflow:hidden;background:#0a0c1299;border:1px solid rgba(var(--course-border-rgb),.7)}.course-cover img{width:100%;height:100%;object-fit:cover;display:block}.course-cover-placeholder{width:100%;height:100%;display:grid;place-items:center;color:var(--course-muted);font-size:14px}.course-cover-badge{position:absolute;left:12px;top:12px;border-radius:999px;padding:4px 10px;font-size:11px;color:var(--course-text);border:1px solid rgba(var(--course-accent-2-rgb),.4);background:#0c101ab3}.course-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.course-level{font-size:12px;font-weight:600;color:var(--course-accent);letter-spacing:.4px}.course-duration{font-size:12px;color:var(--course-muted)}.course-title{font-size:18px;margin:0}.course-one-liner{color:var(--course-muted);line-height:1.5;margin:0}.course-chip-row{display:flex;flex-wrap:wrap;gap:8px}.course-chip{font-size:11px;color:var(--course-text);border:1px solid rgba(var(--course-border-rgb),.7);border-radius:999px;padding:4px 10px;background:#141a2680}.course-loop-mini{font-size:12px;color:var(--course-accent-2)}.course-status{font-size:11px;color:var(--course-accent);border:1px solid rgba(255,179,71,.4);padding:2px 8px;border-radius:999px;align-self:flex-start}.course-card-footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px}.course-card-note{font-size:12px;color:var(--course-muted);margin-top:4px}.course-steps{font-size:12px;color:var(--course-accent-2)}.course-link{border:1px solid var(--course-border);background:transparent;color:var(--course-text);padding:6px 12px;border-radius:10px;font-size:12px;cursor:pointer}.course-link:hover{border-color:var(--course-accent);color:var(--course-accent)}.course-link.primary{background:rgba(var(--course-accent-2-rgb),.15);border-color:rgba(var(--course-accent-2-rgb),.4)}.course-link.primary:hover{border-color:rgba(var(--course-accent-2-rgb),.6);color:var(--course-text)}.course-link.secondary{background:#141a2666}.course-link.secondary:hover{border-color:rgba(var(--course-accent-2-rgb),.4);color:var(--course-text)}.course-link.is-disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.course-lock{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:#090c12c7;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);font-size:12px;color:var(--course-text);text-align:center}.course-lock span{color:var(--course-muted);font-size:11px}.course-detail-header{display:grid;gap:16px;margin-bottom:28px}.course-detail-meta{display:flex;flex-wrap:wrap;gap:12px}.course-detail-actions{display:flex;gap:12px;flex-wrap:wrap}.course-detail-note{font-size:12px;color:var(--course-muted);line-height:1.6}.course-detail-banner{font-size:12px;color:#f2d1a8;background:#412a1099;border:1px solid rgba(255,179,71,.4);padding:8px 12px;border-radius:10px}.course-primary{background:var(--course-accent);color:#241a00;border:none;font-weight:600;font-size:14px;padding:10px 16px;border-radius:10px;cursor:pointer}.course-secondary{border:1px solid var(--course-border);background:transparent;color:var(--course-text);padding:10px 16px;border-radius:10px;cursor:pointer;font-weight:600;font-size:14px;transition:all .2s}.course-secondary:hover{border-color:var(--course-accent);background:rgba(var(--course-accent-rgb),.08)}.course-tertiary{border:1px solid rgba(var(--course-border-rgb),.4);background:transparent;color:rgba(var(--course-text-rgb),.7);padding:10px 16px;border-radius:10px;cursor:pointer;font-size:14px;transition:all .2s}.course-tertiary:hover{color:var(--course-text);border-color:rgba(var(--course-border-rgb),.7)}.course-section{background:#171a22d9;border:1px solid var(--course-border);border-radius:16px;padding:18px;margin-bottom:16px}.course-section-title{margin:0 0 10px;font-size:14px;color:var(--course-muted)}.course-section-subtitle{font-size:12px;color:var(--course-muted);margin:8px 0}.course-info-grid{display:grid;gap:12px}.course-info-label{font-size:12px;color:var(--course-muted);margin-bottom:4px}.course-info-text{font-size:13px;color:var(--course-text);line-height:1.6}.course-list{margin:0;padding-left:18px;color:var(--course-text);font-size:13px;line-height:1.6}.course-section-hint{font-size:12px;color:var(--course-muted);margin-bottom:10px}.step-grid{display:grid;gap:14px}.step-card{border:1px solid var(--course-border);border-radius:12px;padding:14px;background:var(--course-surface-soft)}.step-card h4{margin:0 0 6px;font-size:15px}.step-card p{margin:0 0 8px;color:var(--course-muted);line-height:1.5}.step-bullets{margin:0;padding-left:16px;color:var(--course-text);font-size:13px}.step-tip{font-size:12px;color:var(--course-muted);border-left:2px solid var(--course-accent);padding-left:10px;line-height:1.6}.course-starter{display:grid;gap:10px}.course-starter-goal{font-size:14px;color:var(--course-text)}.course-starter-chips{display:flex;flex-wrap:wrap;gap:8px}.course-starter-chip{font-size:12px;color:var(--course-text);border:1px solid var(--course-border);border-radius:999px;padding:4px 10px;background:#171a22b3}.course-starter-actions{display:flex;gap:10px;align-items:center}.course-starter-note{font-size:12px;color:var(--course-muted);line-height:1.6}.course-starter-expanded{display:grid;gap:10px}.course-starter-full{font-size:12px;color:var(--course-text);white-space:pre-wrap;line-height:1.6;background:#171a22b3;border:1px solid var(--course-border);border-radius:12px;padding:12px}.course-loading,.course-error{padding:24px;border:1px solid var(--course-border);border-radius:12px;background:var(--course-surface)}.course-error{color:#f2b6b6}.program-detail-shell{height:100vh;overflow-y:auto;overflow-x:hidden;background:#0f1419}.program-detail-container{max-width:1200px;margin:0 auto;padding:0 20px 60px}.program-detail-loading,.program-detail-error{text-align:center;padding:80px 20px;color:#ffffff80}.program-detail-error{color:#ef4444}.program-detail-retry,.program-detail-back-link{margin-top:16px;padding:10px 24px;background:#14b8a6;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block;transition:background .2s ease}.program-detail-retry:hover,.program-detail-back-link:hover{background:#0d9488}.program-breadcrumb{display:flex;align-items:center;gap:8px;margin:20px 0;font-size:14px;color:#ffffff80}.program-breadcrumb a{color:#14b8a6;text-decoration:none}.program-breadcrumb a:hover{text-decoration:underline}.program-breadcrumb-separator{color:#ffffff4d}.program-breadcrumb-current{color:#f9fafb;font-weight:500}.program-header{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:40px;margin-bottom:32px}.program-header-main{margin-bottom:32px}.program-level-badges{display:flex;gap:8px;margin-bottom:16px}.program-level-badge{display:inline-flex;align-items:center;padding:4px 12px;background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.3);border-radius:16px;font-size:13px;font-weight:600;letter-spacing:.5px}.program-header-title{font-size:32px;font-weight:700;color:#f9fafb;margin:0 0 12px;line-height:1.2}.program-header-oneliner{font-size:18px;color:#fff9;margin:0;line-height:1.6}.program-header-stats{display:flex;gap:48px;padding:24px 0;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:24px}.program-stat-item{display:flex;flex-direction:column;gap:4px}.program-stat-value{font-size:28px;font-weight:700;color:#f9fafb}.program-stat-label{font-size:13px;color:#ffffff80}.program-completion{margin-bottom:24px}.program-completion-title{font-size:16px;font-weight:600;color:#f9fafb;margin:0 0 8px}.program-completion-text{font-size:14px;color:#fff9;margin:0}.program-completion-text strong{color:#14b8a6;font-weight:700}.program-header-progress{margin-top:24px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1)}.program-progress-bar{height:12px;background:#ffffff1a;border-radius:6px;overflow:hidden;margin-bottom:8px}.program-progress-fill{height:100%;background:linear-gradient(90deg,#14b8a6,#0d9488);border-radius:6px;transition:width .3s ease}.program-progress-text{font-size:14px;color:#ffffff80;text-align:right}.program-complete-badge{color:#14b8a6;font-weight:700}.program-warning{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:8px;padding:16px;margin-bottom:32px;font-size:14px;color:#fbbf24}.program-warning strong{display:block;margin-bottom:8px}.program-modules{display:flex;flex-direction:column;gap:32px}.module-section{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:32px}.module-header{display:flex;gap:20px;margin-bottom:24px}.module-number{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.3);border-radius:50%;font-size:20px;font-weight:700}.module-info{flex:1}.module-title{font-size:24px;font-weight:700;color:#f9fafb;margin:0 0 8px}.module-description{font-size:15px;color:#fff9;margin:0;line-height:1.6}.module-branch-hint{font-size:14px;color:#fff6;margin:8px 0 0;font-style:italic}.module-courses{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.module-branches{display:flex;flex-direction:column;gap:24px}.module-branch{border:2px solid rgba(255,255,255,.1);border-radius:12px;padding:24px;transition:border-color .2s ease}.module-branch:hover{border-color:#f59e0b80}.branch-header{margin-bottom:20px}.branch-name{font-size:18px;font-weight:600;color:#f9fafb;margin:0 0 8px}.branch-description{font-size:14px;color:#fff9;margin:0}.branch-courses{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.program-course-card{display:block;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px;text-decoration:none;color:inherit;transition:all .2s ease;cursor:pointer}.program-course-card:hover{border-color:#f59e0b80;background:#ffffff0d;transform:translateY(-2px)}.program-course-cover{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:8px;overflow:hidden;margin-bottom:12px}.program-course-emoji{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:48px}.program-course-placeholder{width:100%;height:100%;background:#ffffff0d;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:#ffffff4d}.program-course-cover img{width:100%;height:100%;object-fit:cover}.program-course-required{position:absolute;top:8px;right:8px;background:#ef4444;color:#fff;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600}.program-course-info{margin-bottom:12px}.program-course-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.program-course-level{font-size:12px;font-weight:600;color:#fbbf24;background:#f59e0b26;border:1px solid rgba(245,158,11,.3);padding:2px 8px;border-radius:4px}.program-course-duration{font-size:12px;color:#fff6}.program-course-title{font-size:16px;font-weight:600;color:#f9fafb;margin:0 0 8px;line-height:1.3}.program-course-summary{font-size:13px;color:#ffffff80;margin:0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.program-course-footer{padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.program-course-link{font-size:13px;font-weight:600;color:#14b8a6}@media(max-width:768px){.program-header{padding:24px}.program-header-title{font-size:24px}.program-header-oneliner{font-size:16px}.program-header-stats{gap:24px}.program-stat-value{font-size:24px}.module-section{padding:24px}.module-title{font-size:20px}.module-courses,.branch-courses{grid-template-columns:1fr}.module-branch{padding:16px}}.collection-detail-shell{height:100vh;overflow-y:auto;overflow-x:hidden;background:#0f1419}.collection-detail-container{max-width:1200px;margin:0 auto;padding:0 20px 60px}.collection-detail-loading,.collection-detail-error{text-align:center;padding:80px 20px;color:#ffffff80}.collection-detail-error{color:#ef4444}.collection-detail-retry,.collection-detail-back-link{margin-top:16px;padding:10px 24px;background:#14b8a6;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block;transition:background .2s ease;margin-left:8px}.collection-detail-retry:hover,.collection-detail-back-link:hover{background:#0d9488}.collection-breadcrumb{display:flex;align-items:center;gap:8px;margin:20px 0;font-size:14px;color:#ffffff80}.collection-breadcrumb a{color:#14b8a6;text-decoration:none}.collection-breadcrumb a:hover{text-decoration:underline}.collection-breadcrumb-separator{color:#ffffff4d}.collection-breadcrumb-current{color:#f9fafb;font-weight:500}.collection-header{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:40px;margin-bottom:32px}.collection-header-main{margin-bottom:24px;text-align:center}.collection-header-title{font-size:32px;font-weight:700;color:#f9fafb;margin:0 0 12px;line-height:1.2}.collection-header-oneliner{font-size:18px;color:#fff9;margin:0 0 12px;line-height:1.6}.collection-header-description{font-size:16px;color:#ffffff80;line-height:1.6;max-width:800px;margin:0 auto}.collection-tags-section{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;padding:24px 0;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:24px}.collection-tag-large{display:inline-flex;align-items:center;padding:8px 16px;background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.3);border-radius:16px;font-size:14px;font-weight:600}.collection-header-stats{display:flex;gap:48px;justify-content:center}.collection-stat-item{display:flex;flex-direction:column;gap:4px;align-items:center}.collection-stat-value{font-size:28px;font-weight:700;color:#f9fafb}.collection-stat-label{font-size:13px;color:#ffffff80}.collection-warning{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:8px;padding:16px;margin-bottom:32px;font-size:14px;color:#fbbf24}.collection-warning strong{display:block;margin-bottom:8px}.collection-warning details{margin-top:12px}.collection-warning summary{cursor:pointer;font-weight:600;margin-bottom:8px}.collection-warning ul{margin:8px 0 0 20px;padding:0}.collection-warning code{background:#0000004d;padding:2px 6px;border-radius:4px;font-family:Courier New,monospace;font-size:12px}.collection-courses-section{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:32px}.collection-courses-title{font-size:24px;font-weight:700;color:#f9fafb;margin:0 0 24px}.collection-courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.collection-courses-empty{text-align:center;padding:60px 20px;color:#fff6;font-size:15px}.collection-course-card{display:block;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px;text-decoration:none;color:inherit;transition:all .2s ease;cursor:pointer}.collection-course-card:hover{border-color:#f59e0b80;background:#ffffff0d;transform:translateY(-2px)}.collection-course-cover{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:8px;overflow:hidden;margin-bottom:12px;background:#ffffff0d}.collection-course-emoji{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:48px;background:linear-gradient(135deg,#f59e0b33,#fbbf2433)}.collection-course-placeholder{width:100%;height:100%;background:#ffffff0d;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:#ffffff4d}.collection-course-cover img{width:100%;height:100%;object-fit:cover}.collection-course-info{margin-bottom:12px}.collection-course-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.collection-course-level{font-size:12px;font-weight:600;color:#fbbf24;background:#f59e0b26;border:1px solid rgba(245,158,11,.3);padding:2px 8px;border-radius:4px}.collection-course-duration{font-size:12px;color:#fff6}.collection-course-title{font-size:16px;font-weight:600;color:#f9fafb;margin:0 0 8px;line-height:1.3}.collection-course-summary{font-size:13px;color:#ffffff80;margin:0 0 12px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.collection-course-tags{display:flex;gap:6px;flex-wrap:wrap}.collection-course-tag{display:inline-flex;align-items:center;padding:3px 8px;background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.3);border-radius:10px;font-size:11px;font-weight:500}.collection-course-footer{padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.collection-course-link{font-size:13px;font-weight:600;color:#14b8a6}@media(max-width:768px){.collection-header{padding:24px}.collection-header-title{font-size:24px}.collection-header-oneliner{font-size:16px}.collection-header-stats{gap:24px}.collection-stat-value{font-size:24px}.collection-courses-section{padding:24px}.collection-courses-title{font-size:20px}.collection-courses-grid{grid-template-columns:1fr}}.teacher-layout{display:flex;height:100vh;overflow:hidden}.teacher-sidebar{width:240px;background:#1a1a1a;color:#fff;display:flex;flex-direction:column;border-right:1px solid #333}.sidebar-header{padding:20px;border-bottom:1px solid #333}.sidebar-title{font-size:18px;font-weight:600;margin:0 0 12px}.back-to-student{display:inline-block;font-size:13px;color:#888;text-decoration:none;transition:color .2s}.back-to-student:hover{color:#fff}.sidebar-nav{flex:1;padding:12px 0}.nav-item{display:flex;align-items:center;padding:12px 20px;color:#aaa;text-decoration:none;transition:all .2s;border-left:3px solid transparent}.nav-item:hover{background:#ffffff0d;color:#fff}.nav-item.active{background:#ffffff1a;color:#fff;border-left-color:#4a9eff}.nav-icon{margin-right:12px;font-size:18px}.nav-label{font-size:14px;font-weight:500}.teacher-main{flex:1;overflow:auto;background:#f5f5f5}.teacher-page{padding:32px;max-width:1400px;margin:0 auto}.page-header{margin-bottom:32px;display:flex;justify-content:space-between;align-items:center}.page-title{font-size:28px;font-weight:600;margin:0 0 8px;color:#1a1a1a}.page-subtitle{font-size:14px;color:#666;margin:0}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px}.kpi-card{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a;transition:transform .2s,box-shadow .2s}.kpi-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.kpi-card-warn{border-left:4px solid #ff6b6b}.kpi-label{font-size:13px;color:#666;margin-bottom:8px;font-weight:500}.kpi-value{font-size:32px;font-weight:700;color:#1a1a1a;margin-bottom:4px}.kpi-meta{font-size:12px;color:#999}.section-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:20px}.section-card{background:#fff;border-radius:8px;padding:24px;box-shadow:0 1px 3px #0000001a}.section-title{font-size:18px;font-weight:600;margin:0 0 16px;color:#1a1a1a}.filter-bar{margin-bottom:20px;display:flex;gap:8px}.filter-btn{padding:8px 16px;border:1px solid #ddd;background:#fff;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.filter-btn:hover{border-color:#4a9eff;background:#f0f8ff}.filter-btn.active{background:#4a9eff;color:#fff;border-color:#4a9eff}.data-table{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.data-table table{width:100%;border-collapse:collapse}.data-table thead{background:#f8f9fa}.data-table th{text-align:left;padding:12px 16px;font-size:13px;font-weight:600;color:#555;border-bottom:1px solid #e0e0e0}.data-table td{padding:12px 16px;font-size:14px;color:#333;border-bottom:1px solid #f0f0f0}.data-table tbody tr:hover{background:#f8f9fa}.meta-text{font-size:12px;color:#999;margin-top:2px}.badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.badge-ok{background:#d4edda;color:#155724}.badge-warn{background:#fff3cd;color:#856404}.status-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500}.status-success{background:#d4edda;color:#155724}.status-fail{background:#f8d7da;color:#721c24}.btn-link{background:none;border:none;color:#4a9eff;cursor:pointer;font-size:14px;text-decoration:underline;padding:0}.btn-link:hover{color:#2e7dd8}.btn-primary{padding:10px 20px;background:#4a9eff;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.btn-primary:hover{background:#2e7dd8}.placeholder-text{color:#999;font-size:14px;padding:20px;text-align:center;background:#f8f9fa;border-radius:6px;margin-top:12px}.placeholder-box{background:#fff;border:2px dashed #ddd;border-radius:8px;padding:40px;text-align:center;color:#999}.placeholder-box p{margin:8px 0;font-size:14px}.student-detail-page{max-width:1200px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:32px}.stat-card{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a}.stat-card-warn{border-left:4px solid #ff6b6b}.stat-label{font-size:13px;color:#666;margin-bottom:8px}.stat-value{font-size:28px;font-weight:700;color:#1a1a1a}.detail-sections{display:flex;flex-direction:column;gap:24px}.detail-section{background:#fff;border-radius:8px;padding:24px;box-shadow:0 1px 3px #0000001a}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.project-card-mini{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;padding:16px}.project-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.project-card-title{font-size:16px;font-weight:600;margin:0;color:#1a1a1a}.project-card-stats{display:flex;gap:16px;margin-bottom:12px;font-size:13px;color:#666}.project-card-stats span{display:flex;align-items:center}.sessions-list{display:flex;flex-direction:column;gap:12px}.session-card-mini{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;padding:12px}.session-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.session-id-short{font-size:12px;font-family:monospace;color:#666;background:#fff;padding:2px 6px;border-radius:3px}.session-time{font-size:12px;color:#999}.session-card-prompt{font-size:14px;color:#333;margin-bottom:6px;line-height:1.5}.session-card-result{font-size:12px;color:#666;font-weight:500}.error-stats-list{display:flex;flex-direction:column;gap:8px}.error-stat-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#f8f9fa;border-radius:6px}.error-stat-type{font-size:14px;color:#333;font-weight:500}.error-stat-count{font-size:14px;color:#d32f2f;font-weight:600}.project-detail-page{max-width:1200px}.back-btn{background:none;border:none;color:#4a9eff;cursor:pointer;font-size:14px;margin-bottom:12px;padding:4px 0}.back-btn:hover{text-decoration:underline}.project-meta-card{background:#fff;border-radius:8px;padding:20px;margin-bottom:24px;display:flex;gap:32px;box-shadow:0 1px 3px #0000001a}.meta-item{display:flex;align-items:center;gap:8px}.meta-label{color:#666;font-size:14px}.meta-value{font-size:16px;font-weight:600;color:#1a1a1a}.sessions-container{background:#fff;border-radius:8px;padding:24px;box-shadow:0 1px 3px #0000001a}.session-block{border:1px solid #e0e0e0;border-radius:6px;margin-bottom:16px}.session-header{width:100%;padding:16px;background:#f8f9fa;border:none;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .2s;border-radius:6px}.session-header:hover{background:#e9ecef}.session-header-left{display:flex;align-items:center;gap:16px}.session-id{font-weight:600;color:#1a1a1a;font-size:14px}.session-meta{font-size:13px;color:#666;cursor:help}.session-time{font-size:13px;color:#999}.session-body{padding:20px;border-top:1px solid #e0e0e0}.subsection-title{font-size:15px;font-weight:600;margin:0 0 12px;color:#333}.events-section{margin-bottom:24px}.events-list{display:flex;flex-direction:column;gap:12px}.event-item{display:grid;grid-template-columns:80px 1fr 100px;gap:12px;padding:12px;border-radius:6px}.event-user{background:#f0f8ff}.event-assistant{background:#f8f9fa}.event-role{font-size:13px;color:#666;font-weight:500}.event-content{font-size:14px;color:#333;line-height:1.5}.event-content p{margin:0}.assistant-result{display:flex;flex-direction:column;gap:8px}.result-status{font-weight:500}.result-error{color:#d32f2f;font-size:13px}.event-time{font-size:12px;color:#999;text-align:right}.runs-section{padding-top:20px;border-top:1px solid #e0e0e0}.runs-list{display:flex;flex-direction:column;gap:12px}.run-item{border:1px solid #e0e0e0;border-radius:6px;padding:12px;background:#fafafa}.run-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.run-number{font-weight:600;color:#333}.run-phase,.run-attempt{font-size:13px;color:#666}.run-status{padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.run-status.status-success{background:#d4edda;color:#155724}.run-status.status-error{background:#f8d7da;color:#721c24}.run-tokens{font-size:12px;color:#999;margin-left:auto}.run-errors{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.error-badge{padding:4px 8px;background:#fff3cd;color:#856404;border-radius:4px;font-size:12px}.run-patch{font-size:13px;color:#555;margin-bottom:8px;padding:8px;background:#fff;border-radius:4px}.run-drawer-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.run-drawer{background:#fff;width:600px;max-height:80vh;border-radius:8px;box-shadow:0 4px 20px #0000004d;overflow:hidden;display:flex;flex-direction:column}.drawer-header{padding:20px;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center}.drawer-header h3{margin:0;font-size:18px;font-weight:600}.close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:#999;line-height:1;padding:0}.close-btn:hover{color:#333}.drawer-body{padding:20px;overflow-y:auto}.drawer-field{margin-bottom:12px;font-size:14px}.drawer-field strong{color:#666;display:inline-block;min-width:100px}.drawer-section{margin-top:20px;padding-top:20px;border-top:1px solid #e0e0e0}.drawer-section strong{display:block;margin-bottom:8px;color:#333}.error-detail{background:#f8f9fa;padding:12px;border-radius:6px;margin-bottom:12px;font-size:13px}.error-detail div{margin-bottom:6px}.error-detail details{margin-top:8px}.error-detail pre{background:#fff;padding:8px;border-radius:4px;overflow-x:auto;font-size:11px;line-height:1.4}.drawer-section ul{margin:0;padding-left:20px}.drawer-section li{margin-bottom:4px;font-size:13px}.comments-section{background:#fff;border-radius:8px;padding:24px;margin-bottom:24px;box-shadow:0 1px 3px #0000001a}.add-comment-form{margin-bottom:20px;display:flex;flex-direction:column;gap:12px}.comment-input{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:14px;font-family:inherit;resize:vertical}.comment-input:focus{outline:none;border-color:#4a9eff}.add-comment-form .btn-primary{align-self:flex-start}.comments-list{display:flex;flex-direction:column;gap:16px;margin-top:16px}.comment-item{background:#f8f9fa;border-radius:6px;padding:16px;border-left:3px solid #4a9eff}.comment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.comment-author{font-size:13px;font-weight:600;color:#4a9eff}.comment-time{font-size:12px;color:#999}.comment-content{font-size:14px;color:#333;line-height:1.6;white-space:pre-wrap}.errors-page{max-width:1200px}.errors-section{background:#fff;border-radius:8px;padding:24px;margin-bottom:24px;box-shadow:0 1px 3px #0000001a}.error-type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.error-type-card{background:#f8f9fa;border-radius:6px;padding:16px;text-align:center;border:1px solid #e0e0e0}.error-type-label{font-size:13px;color:#666;margin-bottom:8px;font-weight:500}.error-type-count{font-size:32px;font-weight:700;color:#d32f2f;margin-bottom:4px}.error-type-meta{font-size:12px;color:#999}.error-messages-list{display:flex;flex-direction:column;gap:12px}.error-message-item{border:1px solid #e0e0e0;border-radius:6px;overflow:hidden}.error-message-header{width:100%;padding:16px;background:#fff;border:none;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .2s}.error-message-header:hover{background:#f8f9fa}.error-message-main{display:flex;align-items:center;gap:12px;flex:1;text-align:left}.error-type-badge{padding:4px 10px;border-radius:4px;font-size:12px;font-weight:600;white-space:nowrap}.error-type-runtime_error{background:#ffebee;color:#c62828}.error-type-console_error{background:#fff3e0;color:#e65100}.error-type-interaction_failed{background:#fce4ec;color:#880e4f}.error-type-timeout{background:#f3e5f5;color:#4a148c}.error-message-text{font-size:14px;color:#333;flex:1}.error-message-stats{display:flex;align-items:center;gap:12px}.error-count-badge{padding:4px 12px;background:#f44336;color:#fff;border-radius:12px;font-size:13px;font-weight:600}.expand-icon{color:#999;font-size:12px}.error-message-body{padding:16px;background:#f8f9fa;border-top:1px solid #e0e0e0}.error-detail-row{margin-bottom:12px;font-size:14px}.error-detail-row:last-child{margin-bottom:0}.error-detail-row strong{color:#666;display:inline-block;min-width:100px}.error-message-full{background:#fff;padding:12px;border-radius:4px;border:1px solid #e0e0e0;margin:8px 0 0;font-size:13px;line-height:1.5;overflow-x:auto;white-space:pre-wrap;word-break:break-word}
