:root{--bg-primary:#07090e;--bg-secondary:#0d111b;--bg-tertiary:#131926;--bg-elevated:#182030;--bg-glass:#0d111bbf;--bg-glass-card:#131926a6;--bg-glass-input:#0a0e16d9;--border-subtle:#ffffff12;--border-medium:#ffffff1f;--border-focus:#6366f18c;--border-glow:#6366f159;--text-main:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--text-dim:#64748b;--accent-primary:#6366f1;--accent-secondary:#8b5cf6;--accent-cyan:#06b6d4;--accent-emerald:#10b981;--accent-amber:#f59e0b;--accent-rose:#f43f5e;--glow-primary:0 0 25px #6366f159;--glow-emerald:0 0 20px #10b9814d;--glow-cyan:0 0 20px #06b6d44d;--glow-rose:0 0 20px #f43f5e4d;--specular-top:inset 0 1px 0 0 #ffffff1a;--shadow-card:0 10px 30px -10px #0009;--shadow-floating:0 20px 40px -15px #000000b3;--font-sans:"Outfit", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.16, 1, .3, 1);--transition-smooth:.35s cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-main);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(80% 50% at 50% -20%,#6366f126 0%,#0000 60%),radial-gradient(600px at 90% 90%,#06b6d414 0%,#0000 60%),radial-gradient(500px at 10% 70%,#8b5cf612 0%,#0000 50%);background-attachment:fixed;flex-direction:column;min-height:100vh;display:flex;overflow-x:hidden}::selection{color:#fff;background:#6366f159}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#ffffff1f}::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}.app-header{background:var(--bg-glass);-webkit-backdrop-filter:blur(20px)saturate(180%);border-bottom:1px solid var(--border-subtle);z-index:100;justify-content:space-between;align-items:center;height:64px;padding:0 24px;display:flex;position:sticky;top:0;box-shadow:0 4px 20px #0000004d}.brand-wrapper{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;display:flex}.brand-logo{border-radius:var(--radius-md);color:#fff;width:36px;height:36px;transition:transform var(--transition-normal);background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 50%,#06b6d4 100%);justify-content:center;align-items:center;display:flex;position:relative;box-shadow:0 0 20px #6366f166}.brand-logo:hover{transform:rotate(6deg)scale(1.05)}.brand-title{letter-spacing:-.03em;background:linear-gradient(135deg,#fff 40%,#c7d2fe 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;align-items:center;gap:8px;font-size:1.25rem;font-weight:800;display:flex}.brand-badge{color:#a5b4fc;border-radius:var(--radius-full);letter-spacing:.05em;text-transform:uppercase;background:#6366f129;border:1px solid #6366f159;padding:3px 8px;font-size:.65rem;font-weight:700;box-shadow:inset 0 1px #ffffff1a}.header-center{align-items:center;gap:12px;display:flex}.problem-select-wrapper{align-items:center;display:flex;position:relative}.problem-select{appearance:none;background:var(--bg-tertiary);color:var(--text-main);border:1px solid var(--border-medium);border-radius:var(--radius-full);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--specular-top);outline:none;min-width:240px;padding:8px 36px 8px 16px;font-size:.86rem;font-weight:600}.problem-select:hover{border-color:var(--border-focus);background:var(--bg-elevated);box-shadow:0 0 15px #6366f133}.problem-select:focus{border-color:var(--accent-primary);box-shadow:0 0 20px #6366f159}.select-chevron{pointer-events:none;color:var(--text-muted);transition:transform var(--transition-fast);align-items:center;display:flex;position:absolute;right:14px}.problem-select-wrapper:hover .select-chevron{color:var(--text-main)}.header-actions{align-items:center;gap:10px;display:flex}.btn-pill{background:var(--bg-tertiary);border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-normal);font-size:.82rem;font-weight:600;font-family:var(--font-sans);box-shadow:var(--specular-top);align-items:center;gap:8px;padding:7px 14px;display:inline-flex}.btn-pill:hover{background:var(--bg-elevated);border-color:var(--border-medium);color:var(--text-main);transform:translateY(-1px)}.btn-pill:active{transform:translateY(0)}.btn-pill.active-engine{color:#34d399;background:#10b98114;border-color:#10b98159}.btn-pill.active-engine:hover{box-shadow:var(--glow-emerald);background:#10b98126;border-color:#10b98180}.engine-live-pulse{background-color:#10b981;border-radius:50%;width:8px;height:8px;display:inline-block;position:relative}.engine-live-pulse:after{content:"";background:#10b98199;border-radius:50%;animation:2s cubic-bezier(.24,0,.38,1) infinite pulseBeacon;position:absolute;inset:-2px}@keyframes pulseBeacon{0%{opacity:.8;transform:scale(.9)}70%{opacity:0;transform:scale(2.4)}to{opacity:0;transform:scale(2.4)}}.btn-story{position:relative;overflow:hidden}.story-mini-badge{text-transform:uppercase;color:#c7d2fe;border-radius:var(--radius-full);background:linear-gradient(135deg,#6366f140,#8b5cf659);border:1px solid #6366f166;padding:1px 6px;font-size:.62rem;font-weight:700}.btn-accent{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));color:#fff;box-shadow:var(--glow-primary);border:none}.btn-accent:hover{filter:brightness(1.12);transform:translateY(-1.5px);box-shadow:0 0 30px #6366f180}.app-container{flex:1;grid-template-columns:1fr 1fr;height:calc(100vh - 64px);display:grid;overflow:hidden}.left-pane{border-right:1px solid var(--border-subtle);background:var(--bg-secondary);flex-direction:column;display:flex;overflow-y:auto}.problem-card{border-bottom:1px solid var(--border-subtle);background:linear-gradient(#ffffff05 0%,#0000 100%);padding:20px 24px}.problem-header-row{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.problem-title-text{color:#fff;letter-spacing:-.02em;font-size:1.25rem;font-weight:800}.problem-meta{align-items:center;gap:8px;display:flex}.badge-diff{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.04em;padding:3px 10px;font-size:.72rem;font-weight:700}.badge-diff.easy{color:#34d399;background:#10b9811f;border:1px solid #10b98159;box-shadow:0 0 10px #10b98126}.badge-diff.medium{color:#fbbf24;background:#f59e0b1f;border:1px solid #f59e0b59;box-shadow:0 0 10px #f59e0b26}.problem-tags-container{align-items:center;gap:6px;display:flex}.tag-pill{background:var(--bg-tertiary);color:var(--text-muted);border-radius:var(--radius-full);border:1px solid var(--border-subtle);font-size:.72rem;font-weight:500;font-family:var(--font-mono);padding:3px 10px}.problem-desc{color:var(--text-secondary);font-size:.9rem;line-height:1.65}.problem-desc code{color:#a5b4fc;border-radius:var(--radius-xs);font-family:var(--font-mono);background:#ffffff0f;border:1px solid #ffffff14;padding:2px 6px;font-size:.84rem}.problem-desc strong{color:#fff;font-weight:700}.editor-section{border-bottom:1px solid var(--border-subtle);background:#06080d;flex-direction:column;flex:1;display:flex}.editor-toolbar{background:var(--bg-tertiary);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.editor-tab-wrapper{align-items:center;gap:16px;display:flex}.window-controls{align-items:center;gap:6px;display:flex}.win-dot{opacity:.85;width:10px;height:10px;transition:opacity var(--transition-fast);border-radius:50%;display:inline-block}.win-dot:hover{opacity:1}.dot-close{background:#ef4444;box-shadow:0 0 6px #ef444466}.dot-min{background:#f59e0b;box-shadow:0 0 6px #f59e0b66}.dot-max{background:#10b981;box-shadow:0 0 6px #10b98166}.editor-tab{font-size:.82rem;font-family:var(--font-mono);color:#e2e8f0;align-items:center;gap:8px;font-weight:600;display:flex}.cpp-tag{color:#38bdf8;border-radius:var(--radius-xs);background:#38bdf81f;border:1px solid #38bdf840;padding:1px 6px;font-size:.65rem}.editor-actions{align-items:center;gap:6px;display:flex}.btn-icon{border:1px solid var(--border-subtle);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-normal);font-size:.78rem;font-weight:500;font-family:var(--font-sans);background:#ffffff0a;align-items:center;gap:6px;padding:5px 10px;display:flex}.btn-icon:hover{border-color:var(--border-medium);color:var(--text-main);background:#ffffff14;transform:translateY(-1px)}.editor-workspace{background:#06080d;flex:1;min-height:360px;display:flex;position:relative}.line-numbers{text-align:right;color:#3b4252;width:48px;font-family:var(--font-mono);-webkit-user-select:none;user-select:none;background:#05060a;border-right:1px solid #ffffff0a;padding:16px 14px 16px 0;font-size:.86rem;line-height:1.6}.code-textarea{resize:none;color:#e2e8f0;font-family:var(--font-mono);white-space:pre;tab-size:4;caret-color:#818cf8;background:0 0;border:none;outline:none;flex:1;padding:16px;font-size:.86rem;line-height:1.6}.mode-bar{background:var(--bg-secondary);border-top:1px solid var(--border-subtle);flex-direction:column;gap:10px;padding:14px 20px;display:flex}.mode-bar-header{justify-content:space-between;align-items:baseline;display:flex}.mode-bar-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:700}.mode-bar-sub{color:var(--text-dim);font-size:.72rem}.mode-tabs{border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:#00000040;grid-template-columns:repeat(4,1fr);gap:8px;padding:5px;display:grid}.mode-btn{color:var(--text-muted);border-radius:var(--radius-md);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-normal);text-align:center;background:0 0;border:1px solid #0000;flex-direction:column;align-items:center;gap:2px;padding:8px 6px;font-size:.8rem;display:flex;position:relative}.mode-btn .mode-icon{transition:transform var(--transition-normal);margin-bottom:2px;font-size:1.1rem}.mode-btn strong{color:var(--text-secondary);font-size:.8rem;font-weight:700}.mode-btn small{color:var(--text-dim);font-size:.68rem}.mode-btn:hover{color:var(--text-main);background:#ffffff0d}.mode-btn:hover .mode-icon{transform:translateY(-2px)}.mode-btn.active{border-color:var(--accent-primary);box-shadow:0 4px 18px #6366f140, var(--specular-top);background:linear-gradient(135deg,#6366f138,#8b5cf62e)}.mode-btn.active strong{color:#fff}.mode-btn.active small{color:#c7d2fe}.right-pane{background:var(--bg-primary);flex-direction:column;height:100%;display:flex;overflow:hidden}.teaching-mode-bar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(135deg,#10b9811a 0%,#06b6d40f 100%);border-bottom:1px solid #10b98133;justify-content:space-between;align-items:center;padding:12px 20px;display:flex;box-shadow:0 4px 16px #0003}.teaching-mode-content{align-items:center;gap:12px;display:flex}.teaching-badge-wrapper{align-items:center;display:flex;position:relative}.teaching-badge{letter-spacing:.06em;border-radius:var(--radius-full);color:#34d399;background:#10b98133;border:1px solid #10b98173;padding:3px 10px;font-size:.65rem;font-weight:800;box-shadow:0 0 12px #10b98133}.teaching-pulse-beacon{background:#34d399;border-radius:50%;width:6px;height:6px;animation:2s infinite pulseBeacon;position:absolute;top:-2px;right:-2px}.teaching-mode-text{color:var(--text-secondary);font-size:.84rem}.teaching-mode-text strong{color:#a7f3d0;font-weight:700}.switch{flex-shrink:0;width:44px;height:24px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;border-radius:var(--radius-full);background-color:#1e293b;border:1px solid #ffffff1a;transition:all .3s cubic-bezier(.16,1,.3,1);position:absolute;inset:0}.slider:before{content:"";background-color:#fff;border-radius:50%;width:16px;height:16px;transition:all .3s cubic-bezier(.16,1,.3,1);position:absolute;bottom:3px;left:3px;box-shadow:0 2px 4px #0006}input:checked+.slider{background:linear-gradient(135deg,#10b981,#059669);border-color:#10b98180;box-shadow:0 0 12px #10b98166}input:checked+.slider:before{transform:translate(20px)}.stepper-container{background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle);flex-direction:column;gap:12px;padding:14px 20px;display:flex}.stepper-header{justify-content:space-between;align-items:center;display:flex}.stepper-title{color:var(--text-muted);align-items:center;gap:8px;font-size:.82rem;font-weight:700;display:flex}.step-counter-badge{color:var(--text-dim);background:var(--bg-tertiary);border-radius:var(--radius-full);border:1px solid var(--border-subtle);padding:2px 8px;font-size:.72rem;font-weight:700}.steps-row{grid-template-columns:repeat(4,1fr);gap:8px;display:grid;position:relative}.step-card{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);text-align:center;box-shadow:var(--specular-top);padding:10px 10px 8px;position:relative;overflow:hidden}.step-card:hover:not(.locked){border-color:var(--border-focus);background:var(--bg-elevated);transform:translateY(-1.5px)}.step-card.active{border-color:var(--accent-emerald);box-shadow:var(--glow-emerald), var(--specular-top);background:#10b9811f}.step-card.locked{opacity:.45;cursor:not-allowed;filter:grayscale(.5)}.step-card-num{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px;font-size:.68rem;font-weight:800}.step-card.active .step-card-num{color:#34d399}.step-card-name{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;font-weight:700;overflow:hidden}.step-indicator-bar{border-radius:var(--radius-full);width:100%;height:2px;transition:background var(--transition-normal);background:0 0;margin-top:6px}.step-card.active .step-indicator-bar{background:linear-gradient(90deg,#10b981,#06b6d4);box-shadow:0 0 8px #10b98199}.chat-stream{flex-direction:column;flex:1;gap:18px;padding:20px;display:flex;overflow-y:auto}.message-card{border-radius:var(--radius-lg);background:var(--bg-glass-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-subtle);box-shadow:var(--shadow-card), var(--specular-top);padding:18px 22px;font-size:.92rem;line-height:1.65;animation:.3s cubic-bezier(.16,1,.3,1) messageSlideIn;position:relative}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(8px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}.message-card.user{background:linear-gradient(135deg,#6366f129 0%,#8b5cf61a 100%);border-color:#6366f166;margin-left:50px;box-shadow:0 4px 20px #6366f126}.message-card.assistant{background:var(--bg-secondary);border-left:4px solid var(--accent-primary);margin-right:20px}.message-card.doctor{border-left:4px solid var(--accent-rose);background:linear-gradient(135deg, #f43f5e0f 0%, var(--bg-secondary) 100%)}.message-card.interview{border-left:4px solid var(--accent-amber);background:linear-gradient(135deg, #f59e0b0f 0%, var(--bg-secondary) 100%)}.msg-header{border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;font-size:.8rem;font-weight:700;display:flex}.msg-author{color:#fff;align-items:center;gap:8px;display:flex}.msg-model-tag{color:var(--text-dim);background:var(--bg-tertiary);border-radius:var(--radius-full);border:1px solid var(--border-subtle);font-size:.68rem;font-family:var(--font-mono);padding:2px 8px}.msg-body{color:var(--text-secondary)}.msg-body h3{color:#fff;letter-spacing:-.02em;margin-bottom:10px;font-size:1.1rem;font-weight:800}.msg-body p{margin-bottom:12px}.msg-body p:last-child{margin-bottom:0}.msg-body ul,.msg-body ol{margin-bottom:12px;padding-left:22px}.msg-body li{margin-bottom:6px}.msg-body pre{border-radius:var(--radius-md);font-family:var(--font-mono);background:#06080d;border:1px solid #ffffff14;margin:14px 0;padding:14px 18px;font-size:.84rem;line-height:1.5;overflow-x:auto;box-shadow:inset 0 2px 8px #0006}.msg-body code{font-family:var(--font-mono);color:#a5b4fc}.msg-body pre code{color:#f1f5f9}.notice-banner{color:#fde68a;border-radius:var(--radius-md);background:linear-gradient(135deg,#f59e0b1f 0%,#f59e0b0d 100%);border:1px solid #f59e0b59;align-items:center;gap:10px;margin-bottom:14px;padding:10px 14px;font-size:.84rem;display:flex;box-shadow:0 2px 10px #f59e0b1a}.quick-chips{background:var(--bg-secondary);border-top:1px solid var(--border-subtle);align-items:center;gap:8px;padding:10px 20px;display:flex;overflow-x:auto}.chip-btn{background:var(--bg-tertiary);border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:var(--radius-full);cursor:pointer;white-space:nowrap;transition:all var(--transition-normal);font-size:.78rem;font-weight:600;font-family:var(--font-sans);box-shadow:var(--specular-top);align-items:center;gap:6px;padding:6px 14px;display:inline-flex}.chip-btn:hover{color:#fff;transform:translateY(-1.5px)}.chip-primary:hover{border-color:var(--accent-primary);box-shadow:var(--glow-primary);background:#6366f12e}.chip-rose:hover{border-color:var(--accent-rose);box-shadow:var(--glow-rose);background:#f43f5e2e}.chip-cyan:hover{border-color:var(--accent-cyan);box-shadow:var(--glow-cyan);background:#06b6d42e}.chip-amber:hover{border-color:var(--accent-amber);background:#f59e0b2e;box-shadow:0 0 15px #f59e0b4d}.chip-emerald{color:#6ee7b7;background:#10b9811a;border-color:#10b98159}.chip-emerald:hover{box-shadow:var(--glow-emerald);background:#10b98138;border-color:#10b981}.chip-danger{color:#fda4af;background:#f43f5e1a;border-color:#f43f5e59}.chip-danger:hover{box-shadow:var(--glow-rose);background:#f43f5e38;border-color:#f43f5e}.chat-input-bar{background:var(--bg-secondary);border-top:1px solid var(--border-subtle);align-items:center;gap:12px;padding:14px 20px;display:flex}.input-wrapper{flex:1;align-items:center;display:flex;position:relative}.chat-input{background:var(--bg-glass-input);border:1px solid var(--border-medium);border-radius:var(--radius-full);color:#fff;width:100%;font-family:var(--font-sans);transition:all var(--transition-normal);box-shadow:inset 0 2px 4px #0006, var(--specular-top);outline:none;padding:12px 90px 12px 18px;font-size:.9rem}.chat-input:focus{border-color:var(--accent-primary);background:#090d16;box-shadow:0 0 20px #6366f14d,inset 0 2px 4px #0006}.input-badge-wrapper{pointer-events:none;align-items:center;display:flex;position:absolute;right:14px}.kbd-badge{font-family:var(--font-mono);color:var(--text-dim);background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-xs);padding:3px 6px;font-size:.68rem;box-shadow:0 1px 2px #0006}.send-btn{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));color:#fff;border-radius:var(--radius-full);cursor:pointer;width:44px;height:44px;box-shadow:var(--glow-primary);transition:all var(--transition-normal);border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.send-btn:hover{filter:brightness(1.15);transform:scale(1.06);box-shadow:0 0 25px #6366f180}.send-btn:active{transform:scale(.96)}.send-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.modal-overlay{-webkit-backdrop-filter:blur(16px);z-index:1000;background:#04060bd1;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}.modal-overlay.open{display:flex}.modal-box{background:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:var(--radius-xl);width:100%;max-width:680px;max-height:88vh;box-shadow:var(--shadow-floating), 0 0 50px #6366f126;flex-direction:column;animation:.28s cubic-bezier(.16,1,.3,1) modalScale;display:flex;overflow:hidden}@keyframes modalScale{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header{border-bottom:1px solid var(--border-subtle);background:linear-gradient(#ffffff05 0%,#0000 100%);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-title{color:#fff;letter-spacing:-.02em;align-items:center;gap:10px;font-size:1.2rem;font-weight:800;display:flex}.modal-close{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;padding:6px;font-size:1.2rem;line-height:1;display:flex}.modal-close:hover{color:#fff;background:var(--bg-tertiary)}.modal-content{color:var(--text-secondary);padding:24px;font-size:.92rem;line-height:1.65;overflow-y:auto}.form-group{margin-bottom:20px}.form-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-size:.82rem;font-weight:700;display:block}.form-input,.form-select{background:var(--bg-tertiary);border:1px solid var(--border-medium);border-radius:var(--radius-md);color:#fff;width:100%;font-family:var(--font-sans);transition:all var(--transition-normal);outline:none;padding:11px 16px;font-size:.9rem;box-shadow:inset 0 2px 4px #0000004d}.form-input:focus,.form-select:focus{border-color:var(--accent-primary);box-shadow:0 0 15px #6366f14d}.radio-group{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px;display:grid}.radio-card{border:1px solid var(--border-subtle);background:var(--bg-tertiary);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--specular-top);flex-direction:column;gap:4px;padding:14px;display:flex}.radio-card:hover{border-color:var(--border-focus);background:var(--bg-elevated);transform:translateY(-1.5px)}.radio-card.selected{border-color:var(--accent-primary);background:linear-gradient(135deg,#6366f129 0%,#8b5cf61a 100%);box-shadow:0 4px 16px #6366f140}.radio-title{color:#fff;font-size:.88rem;font-weight:700}.radio-desc{color:var(--text-dim);font-size:.72rem;line-height:1.4}.modal-footer{border-top:1px solid var(--border-subtle);background:linear-gradient(#0000 0%,#0003 100%);justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.story-stats-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0;display:grid}.stat-box{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--specular-top);padding:16px}.stat-number{color:#a5b4fc;letter-spacing:-.02em;font-size:1.6rem;font-weight:800}.stat-label{color:var(--text-muted);margin-top:4px;font-size:.75rem;font-weight:600}@media (width<=960px){.app-container{grid-template-columns:1fr;height:auto;overflow:visible}.left-pane{border-right:none;border-bottom:1px solid var(--border-subtle);height:600px}.right-pane{height:650px}.radio-group{grid-template-columns:1fr}}.btn-analyze{color:#fff;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-normal);box-shadow:0 0 15px #6366f140, var(--specular-top);background:linear-gradient(135deg,#6366f140 0%,#06b6d440 100%);border:1px solid #6366f173;align-items:center;gap:6px;padding:6px 14px;font-size:.78rem;font-weight:700;display:inline-flex}.btn-analyze:hover{background:linear-gradient(135deg,#6366f173 0%,#06b6d473 100%);border-color:#38bdf8;transform:translateY(-1.5px);box-shadow:0 0 25px #38bdf866}.btn-analyze:active{transform:translateY(0)}.analyze-sparkle{color:#38bdf8;font-size:.85rem;animation:2s ease-in-out infinite sparkleTwinkle}@keyframes sparkleTwinkle{0%,to{opacity:.7;transform:scale(.9)}50%{opacity:1;filter:drop-shadow(0 0 6px #38bdf8);transform:scale(1.3)}}.textarea-container{flex:1;display:flex;position:relative}.inline-markers-gutter{-webkit-user-select:none;user-select:none;background:#05070c;border-right:1px solid #ffffff0a;width:28px;position:relative}.gutter-marker{cursor:pointer;width:20px;height:20px;transition:all var(--transition-fast);z-index:10;border-radius:50%;justify-content:center;align-items:center;font-size:.68rem;display:flex;position:absolute;left:4px;box-shadow:0 2px 8px #0009}.gutter-marker:hover{z-index:20;transform:scale(1.25)}.gutter-marker.bug{color:#fda4af;background:#f43f5e40;border:1px solid #f43f5ecc;box-shadow:0 0 10px #f43f5e80}.gutter-marker.invariant{color:#fde68a;background:#f59e0b40;border:1px solid #f59e0bcc;box-shadow:0 0 10px #f59e0b80}.gutter-marker.complexity{color:#67e8f9;background:#06b6d440;border:1px solid #06b6d4cc;box-shadow:0 0 10px #06b6d480}.marker-popover{background:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:var(--radius-md);width:320px;box-shadow:var(--shadow-floating), 0 0 25px #000c;z-index:50;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:12px 16px;animation:.2s cubic-bezier(.16,1,.3,1) popoverFadeIn;position:absolute;left:40px}@keyframes popoverFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.popover-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.popover-title{color:#fff;align-items:center;gap:6px;font-size:.8rem;font-weight:700;display:flex}.popover-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:1rem;line-height:1}.popover-close:hover{color:#fff}.popover-question{color:var(--text-secondary);margin-bottom:8px;font-size:.82rem;line-height:1.5}.popover-suggestion{color:#a5b4fc;border-left:2px solid var(--accent-primary);border-radius:var(--radius-xs);background:#6366f11a;padding:6px 8px;font-size:.76rem;line-height:1.4}.learning-progress-panel{background:var(--bg-glass-card);border-bottom:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--specular-top);flex-direction:column;gap:10px;padding:14px 20px;display:flex}.progress-panel-header{justify-content:space-between;align-items:center;display:flex}.progress-panel-title{color:var(--text-main);align-items:center;gap:8px;font-size:.82rem;font-weight:700;display:flex}.progress-score-wrapper{align-items:center;gap:10px;display:flex}.progress-score-val{color:#38bdf8;font-size:.85rem;font-weight:800;font-family:var(--font-mono)}.progress-mini-bar{border-radius:var(--radius-full);background:#ffffff14;width:70px;height:6px;overflow:hidden}.progress-mini-fill{border-radius:var(--radius-full);background:linear-gradient(90deg,#6366f1,#38bdf8);height:100%;transition:width .4s cubic-bezier(.16,1,.3,1)}.invariants-list{flex-direction:column;gap:6px;display:flex}.invariant-item{border-radius:var(--radius-sm);transition:all var(--transition-normal);background:#ffffff05;border:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:6px 10px;font-size:.78rem;display:flex}.invariant-item:hover{background:#ffffff0a}.invariant-info{color:var(--text-secondary);align-items:center;gap:8px;display:flex}.invariant-status-icon{font-size:.85rem;line-height:1}.invariant-item.satisfied{background:#10b9810d;border-color:#10b98140}.invariant-item.satisfied .invariant-info{color:#fff}.invariant-status-badge{border-radius:var(--radius-full);text-transform:uppercase;padding:2px 6px;font-size:.65rem;font-weight:700}.invariant-item.satisfied .invariant-status-badge{color:#34d399;background:#10b98126;border:1px solid #10b9814d}.invariant-item.pending .invariant-status-badge{color:var(--text-dim);background:#ffffff0f;border:1px solid #ffffff14}.progress-panel-footer{justify-content:space-between;align-items:center;padding-top:4px;display:flex}.trajectory-badge{color:var(--text-muted);align-items:center;gap:6px;font-size:.72rem;display:flex}.ai-suggestion-card{border-radius:var(--radius-lg);box-shadow:0 8px 24px -6px #00000080, 0 0 20px #6366f126, var(--specular-top);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:all var(--transition-normal);background:linear-gradient(135deg,#182030d9 0%,#0d111bf2 100%);border:1px solid #6366f159;margin:14px 20px 0;padding:16px 18px;position:relative;overflow:hidden}.ai-suggestion-card:before{content:"";background:linear-gradient(90deg,#6366f1,#38bdf8,#8b5cf6);height:2px;position:absolute;top:0;left:0;right:0}.suggestion-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.suggestion-tag{color:#a5b4fc;text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:6px;font-size:.75rem;font-weight:700;display:flex}.sparkle-icon{color:#38bdf8;font-size:.9rem}.status-pill{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;font-size:.68rem;font-weight:700}.status-pill.warning{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b59}.status-pill.success{color:#34d399;background:#10b98126;border:1px solid #10b98159}.suggestion-body{margin-bottom:12px}.suggestion-focus{color:#fff;margin-bottom:6px;font-size:.85rem}.suggestion-focus strong{color:#38bdf8}.suggestion-question{color:var(--text-secondary);margin-bottom:10px;font-size:.88rem;line-height:1.55}.suggestion-next-step{border-radius:var(--radius-xs);background:#0000004d;border-left:3px solid #38bdf8;flex-direction:column;gap:2px;padding:8px 12px;display:flex}.next-step-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;font-size:.68rem;font-weight:700}.next-step-text{color:#e2e8f0;font-size:.8rem;line-height:1.45}.suggestion-actions{align-items:center;gap:8px;display:flex}.suggestion-action-btn{border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-normal);font-size:.78rem;font-weight:600;font-family:var(--font-sans);border:none;padding:6px 14px}.suggestion-action-btn.primary{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));color:#fff;box-shadow:0 0 12px #6366f159}.suggestion-action-btn.primary:hover{filter:brightness(1.15);transform:translateY(-1px)}.suggestion-action-btn.secondary{background:var(--bg-tertiary);border:1px solid var(--border-subtle);color:var(--text-secondary)}.suggestion-action-btn.secondary:hover{background:var(--bg-elevated);border-color:var(--border-medium);color:#fff}
