@import "https://fonts.googleapis.com/css2?family=Syne:wght@600;700;800&display=swap";*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;overflow-x:hidden}button{cursor:pointer;font-family:inherit}textarea{font-family:inherit}.app-container{flex-direction:column;min-height:100dvh;transition:background .3s,color .3s;display:flex}.app-container.light{color:#0f172a;background:#f0f2f5}.app-container.dark{color:#e2e8f0;background:#080810}.header{z-index:50;-webkit-backdrop-filter:blur(12px);justify-content:space-between;align-items:center;gap:10px;width:100%;padding:10px 18px;display:flex;position:sticky;top:0}.app-container.light .header{background:#ffffffd9;border-bottom:1px solid #0000000f;box-shadow:0 1px 12px #0000000a}.app-container.dark .header{background:#080810d9;border-bottom:1px solid #ffffff0f;box-shadow:0 1px 12px #0000004d}.header-left{flex-shrink:0;align-items:center;gap:10px;display:flex}.logo-placeholder{background:linear-gradient(135deg,#4f46e5,#06b6d4);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex;box-shadow:0 4px 12px #4f46e559}.header-logo{color:#fff;width:18px;height:18px}.app-title{white-space:nowrap;letter-spacing:-.02em;background:linear-gradient(135deg,#4f46e5,#06b6d4);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-family:Syne,system-ui,sans-serif;font-size:18px;font-weight:700}.header-right{flex-wrap:nowrap;align-items:center;gap:8px;display:flex}.powered{color:#6b7280;white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:4px 8px;font-size:11px;display:inline-flex}.app-container.light .powered{background:#00000008;border:1px solid #00000012}.app-container.dark .powered{color:#4b5563;background:#ffffff08;border:1px solid #ffffff0f}.powered-icon{flex-shrink:0;width:12px;height:12px}@media (width<=400px){.powered{display:none}}.theme-switch{cursor:pointer;flex-shrink:0;align-items:center;gap:6px;display:flex}.theme-switch-track{border-radius:999px;flex-shrink:0;width:38px;height:20px;transition:background .25s;position:relative}.app-container.light .theme-switch-track{background:#e2e8f0;border:1px solid #cbd5e1}.app-container.dark .theme-switch-track{background:#4f46e5;border:1px solid #4338ca}.theme-switch-thumb{background:#fff;border-radius:999px;width:14px;height:14px;transition:transform .25s cubic-bezier(.34,1.56,.64,1);position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #0003}.app-container.dark .theme-switch-thumb{transform:translate(17px)}.theme-switch-label{color:#6b7280;min-width:28px;font-size:11px}@media (width<=480px){.theme-switch-label{display:none}}.chat-main{flex:1;justify-content:center;padding:14px 10px 18px;display:flex}@media (width>=640px){.chat-main{padding:24px 20px 28px}}.chat-window{border-radius:18px;flex-direction:column;width:100%;max-width:860px;padding:14px 14px 16px;transition:background .3s,border-color .3s,box-shadow .3s;display:flex}.app-container.light .chat-window{background:#fff;border:1px solid #0000000f;box-shadow:0 4px 24px #0f172a12,0 1px 4px #0f172a0a}.app-container.dark .chat-window{background:#0d0d1a;border:1px solid #ffffff0f;box-shadow:0 8px 32px #0006}@media (width>=640px){.chat-window{border-radius:22px;padding:20px 22px}}.chat-messages{scroll-behavior:smooth;flex:1;min-height:180px;max-height:54vh;padding-bottom:10px;padding-right:4px;overflow-y:auto}@media (width>=640px){.chat-messages{max-height:58vh}}.chat-messages::-webkit-scrollbar{width:3px}.chat-messages::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:999px}.app-container.dark .chat-messages::-webkit-scrollbar-thumb{background:#1e293b}.message-row{margin-bottom:10px;animation:.25s both msg-in;display:flex}@keyframes msg-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.message-user-row{justify-content:flex-end}.message-assistant-row{justify-content:flex-start}.message-bubble{white-space:pre-wrap;word-break:break-word;border-radius:18px;max-width:85%;padding:10px 14px;font-size:13.5px;line-height:1.6}@media (width>=640px){.message-bubble{border-radius:20px;max-width:74%;padding:11px 16px;font-size:14px}}.message-user{color:#fff;background:linear-gradient(135deg,#4f46e5,#2563eb);border-bottom-right-radius:4px;box-shadow:0 4px 12px #4f46e540}.message-assistant{border-bottom-left-radius:4px}.app-container.light .message-assistant{color:#0f172a;background:#f8fafc;border:1px solid #0000000d}.app-container.dark .message-assistant{color:#e2e8f0;background:#131325;border:1px solid #ffffff0d}.assistant-header{letter-spacing:.02em;align-items:center;gap:5px;margin-bottom:5px;font-size:11px;font-weight:600;display:flex}.app-container.light .assistant-header{color:#4f46e5}.app-container.dark .assistant-header{color:#6366f1}.assistant-icon{width:13px;height:13px}.assistant-name{font-weight:700}.dots-loader{gap:5px;padding:2px 0;display:flex}.dots-loader span{border-radius:999px;width:6px;height:6px;animation:1.4s ease-in-out infinite both dots}.app-container.light .dots-loader span{background:#94a3b8}.app-container.dark .dots-loader span{background:#334155}.dots-loader span:nth-child(2){animation-delay:.2s}.dots-loader span:nth-child(3){animation-delay:.4s}@keyframes dots{0%,80%,to{opacity:.3;transform:scale(.7)}40%{opacity:1;transform:scale(1)}}.error-banner{border-radius:12px;align-items:center;gap:7px;margin-top:8px;padding:9px 12px;font-size:12px;animation:.2s msg-in;display:flex}.app-container.light .error-banner{color:#dc2626;background:#fef2f2;border:1px solid #fee2e2}.app-container.dark .error-banner{color:#f87171;background:#dc26261a;border-color:#dc262633}.error-banner-icon{flex-shrink:0;width:14px;height:14px}.suggested-row{flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;display:flex}.suggested-label{letter-spacing:.06em;text-transform:uppercase;width:100%;font-size:11px;font-weight:700}.app-container.light .suggested-label{color:#94a3b8}.app-container.dark .suggested-label{color:#334155}@media (width>=640px){.suggested-label{width:auto}.suggested-row{gap:7px}}.suggested-chip{cursor:pointer;white-space:nowrap;border-radius:10px;padding:6px 12px;font-size:12px;font-weight:500;transition:all .15s}.app-container.light .suggested-chip{color:#475569;background:#f8fafc;border:1px solid #e2e8f0}.app-container.light .suggested-chip:hover:not(:disabled){color:#1e293b;background:#f1f5f9;border-color:#cbd5e1}.app-container.dark .suggested-chip{color:#64748b;background:#0f172a;border:1px solid #1e293b}.app-container.dark .suggested-chip:hover:not(:disabled){color:#a5b4fc;background:#131325;border-color:#4f46e5}.suggested-chip:disabled{opacity:.4;cursor:default}.regenerate-btn{cursor:pointer;white-space:nowrap;border-radius:10px;align-items:center;gap:5px;padding:6px 12px;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.app-container.light .regenerate-btn{color:#4338ca;background:#eef2ff;border:1px solid #c7d2fe}.app-container.light .regenerate-btn:hover:not(:disabled){background:#e0e7ff}.app-container.dark .regenerate-btn{color:#818cf8;background:#4f46e51a;border:1px solid #312e81}.app-container.dark .regenerate-btn:hover:not(:disabled){background:#4f46e533}.regenerate-btn:disabled{opacity:.4;cursor:default}.control-bar{border-radius:14px;margin-top:10px;padding:10px 12px;transition:background .3s,border-color .3s}.app-container.light .control-bar{background:#f8fafc;border:1px solid #e2e8f0}.app-container.dark .control-bar{background:#080810;border:1px solid #ffffff0d}.control-group{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px;display:flex}.control-group:last-child{margin-bottom:0}.control-label{letter-spacing:.05em;text-transform:uppercase;flex-shrink:0;font-size:11px;font-weight:700}.app-container.light .control-label{color:#94a3b8}.app-container.dark .control-label{color:#334155}.pill-button{cursor:pointer;white-space:nowrap;border-radius:8px;padding:5px 13px;font-size:12px;font-weight:500;transition:all .15s}.app-container.light .pill-button{color:#475569;background:#fff;border:1px solid #e2e8f0}.app-container.light .pill-button:hover{background:#f1f5f9}.app-container.dark .pill-button{color:#475569;background:#0f172a;border:1px solid #1e293b}.app-container.dark .pill-button:hover{color:#64748b;background:#131325}.pill-active{font-weight:600;box-shadow:0 3px 10px #4f46e54d;color:#fff!important;background:linear-gradient(135deg,#4f46e5,#2563eb)!important;border-color:#0000!important}.chat-input-row{align-items:flex-end;gap:10px;margin-top:12px;display:flex}.chat-input{resize:none;border-radius:14px;outline:none;flex:1;min-height:44px;max-height:120px;padding:11px 16px;font-size:14px;line-height:1.5;transition:all .2s;overflow-y:auto}.app-container.light .chat-input{color:#0f172a;background:#f8fafc;border:1.5px solid #e2e8f0}.app-container.light .chat-input:focus{background:#fff;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.app-container.dark .chat-input{color:#e2e8f0;background:#0d0d1a;border:1.5px solid #1e293b}.app-container.dark .chat-input:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e526}.chat-input::placeholder{color:#94a3b8}.send-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4f46e5,#2563eb);border:none;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;transition:all .2s;display:flex;box-shadow:0 4px 12px #4f46e559}.send-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #4f46e573}.send-button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #4f46e54d}.send-button:disabled{opacity:.35;cursor:default;box-shadow:none}.send-icon{width:18px;height:18px}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.footer{text-align:center;color:#334155;letter-spacing:.02em;padding:8px 0 14px;font-size:11px}.listen-row{margin-top:8px}.listen-btn{cursor:pointer;border-radius:8px;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:500;transition:all .15s;display:inline-flex}.app-container.light .listen-btn{color:#4338ca;background:#eef2ff;border:1px solid #c7d2fe}.app-container.light .listen-btn:hover{background:#e0e7ff}.app-container.dark .listen-btn{color:#818cf8;background:#4f46e51a;border:1px solid #312e81}.app-container.dark .listen-btn:hover{background:#4f46e533}.listen-controls{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:inline-flex}.speaking-dot{background:#22c55e;border-radius:999px;flex-shrink:0;width:7px;height:7px;animation:1.2s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.speaking-label{color:#22c55e;font-size:11px;font-weight:600}.listen-ctrl-btn{cursor:pointer;border-radius:7px;align-items:center;gap:3px;padding:3px 8px;font-size:11px;transition:background .15s;display:inline-flex}.app-container.light .listen-ctrl-btn{color:#475569;background:#f8fafc;border:1px solid #e2e8f0}.app-container.light .listen-ctrl-btn:hover{background:#f1f5f9}.app-container.dark .listen-ctrl-btn{color:#64748b;background:#0f172a;border:1px solid #1e293b}.app-container.dark .listen-ctrl-btn:hover{background:#131325}.listen-stop{color:#dc2626!important;background:#fef2f2!important;border-color:#fca5a5!important}.listen-stop:hover{background:#fee2e2!important}.app-container.dark .listen-stop{color:#f87171!important;background:#dc26261a!important;border-color:#dc26264d!important}.cm-trigger-btn{cursor:pointer;border-radius:10px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.app-container.light .cm-trigger-btn{color:#4338ca;background:#eef2ff;border:1px solid #c7d2fe}.app-container.light .cm-trigger-btn:hover{background:#e0e7ff}.app-container.dark .cm-trigger-btn{color:#a5b4fc;background:#4f46e51a;border:1px solid #312e81}.app-container.dark .cm-trigger-btn:hover{background:#4f46e533}.diagram-wrapper{background:#fff;border:1px solid #0000000f;border-radius:14px;margin-top:12px;overflow:hidden}.app-container.dark .diagram-wrapper{background:#0d0d1a;border-color:#ffffff0f}.diagram-header{cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid #0000000d;justify-content:space-between;align-items:center;padding:10px 14px;transition:background .15s;display:flex}.diagram-header:hover{background:#00000005}.app-container.dark .diagram-header{border-color:#ffffff0d}.app-container.dark .diagram-header:hover{background:#ffffff08}.diagram-header-left{align-items:center;gap:8px;display:flex}.diagram-icon{font-size:16px}.diagram-title{color:#1e293b;font-size:13px;font-weight:600}.app-container.dark .diagram-title{color:#e2e8f0}.diagram-type-badge{letter-spacing:.06em;text-transform:uppercase;color:#4338ca;background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:600}.app-container.dark .diagram-type-badge{color:#a5b4fc;background:#4f46e51a;border-color:#4f46e5}.diagram-toggle{color:#94a3b8;cursor:pointer;background:0 0;border:none;align-items:center;padding:2px;display:flex}.diagram-body{padding:12px 8px 8px}.diagram-scroll-area{cursor:grab;padding-bottom:8px;overflow:auto hidden}.diagram-scroll-area:active{cursor:grabbing}.diagram-scroll-area::-webkit-scrollbar{height:4px}.diagram-scroll-area::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:999px}.app-container.dark .diagram-scroll-area::-webkit-scrollbar-thumb{background:#1e293b}.diagram-header-right{align-items:center;gap:8px;display:flex}.diagram-zoom-controls{background:#00000008;border:1px solid #00000014;border-radius:8px;align-items:center;gap:4px;padding:2px 4px;display:flex}.app-container.dark .diagram-zoom-controls{background:#ffffff0a;border-color:#ffffff14}.diagram-zoom-btn{cursor:pointer;color:#64748b;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;font-size:16px;font-weight:600;line-height:1;transition:background .15s,color .15s;display:flex}.diagram-zoom-btn:hover{color:#1e293b;background:#0000000f}.app-container.dark .diagram-zoom-btn:hover{color:#e2e8f0;background:#ffffff14}.diagram-zoom-label{color:#94a3b8;text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;min-width:32px;font-size:11px;font-weight:600}.diagram-loading{color:#94a3b8;align-items:center;gap:8px;padding:20px;font-size:13px;display:flex}.diagram-spin{color:#4f46e5;animation:1s linear infinite diagram-spin}@keyframes diagram-spin{to{transform:rotate(360deg)}}.diagram-error{color:#ef4444;align-items:center;gap:10px;padding:14px;font-size:13px;display:flex}.diagram-retry{color:#dc2626;cursor:pointer;background:#fef2f2;border:1px solid #fecaca;border-radius:999px;padding:4px 10px;font-size:12px}.diagram-retry:hover{background:#fee2e2}.msg-link{color:#4f46e5;text-underline-offset:2px;word-break:break-all;text-decoration:underline}.app-container.dark .msg-link{color:#818cf8}.careerpath-root{background:#080810;flex-direction:column;align-items:center;min-height:100dvh;padding:24px 16px 48px;display:flex;position:relative;overflow:hidden}.careerpath-root:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(#6366f11f 0%,#0000 70%);width:60%;height:60%;position:fixed;top:-20%;left:-10%}.careerpath-root:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(#f59e0b14 0%,#0000 70%);width:60%;height:60%;position:fixed;bottom:-20%;right:-10%}.careerpath-root.light{background:#f1f5f9}.careerpath-back{color:#64748b;cursor:pointer;z-index:1;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:999px;align-self:flex-start;align-items:center;gap:6px;margin-bottom:40px;padding:6px 14px;font-family:Segoe UI,system-ui,sans-serif;font-size:13px;transition:all .2s;display:inline-flex;position:relative}.careerpath-back:hover{color:#e2e8f0;background:#ffffff1a}.careerpath-root.light .careerpath-back{color:#475569;background:#0000000a;border-color:#0000001a}.careerpath-root.light .careerpath-back:hover{color:#1e293b;background:#00000014}.careerpath-hero{text-align:center;z-index:1;max-width:600px;margin-bottom:48px;position:relative}.careerpath-hero-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:#6366f1;align-items:center;gap:8px;margin-bottom:16px;font-size:11px;font-weight:600;display:inline-flex}.careerpath-eyebrow-dot{background:#6366f1;border-radius:999px;width:6px;height:6px;animation:2s ease-in-out infinite eyebrow-pulse}@keyframes eyebrow-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.careerpath-hero-title{color:#f8fafc;letter-spacing:-.02em;margin-bottom:16px;font-family:Syne,Segoe UI,system-ui,sans-serif;font-size:clamp(36px,6vw,56px);font-weight:800;line-height:1.05}.careerpath-root.light .careerpath-hero-title{color:#0f172a}.careerpath-hero-accent{background:linear-gradient(90deg,#6366f1,#06b6d4);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.careerpath-hero-sub{color:#64748b;max-width:480px;margin:0 auto;font-size:15px;line-height:1.6}.careerpath-root.light .careerpath-hero-sub{color:#475569}.careerpath-tracks{z-index:1;grid-template-columns:1fr;gap:20px;width:100%;max-width:900px;display:grid;position:relative}@media (width>=700px){.careerpath-tracks{grid-template-columns:1fr 1fr;gap:24px}}.careerpath-track{background:var(--track-gradient);cursor:pointer;text-align:left;border:1px solid #ffffff14;border-radius:24px;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s,border-color .2s;animation:.5s both track-enter;position:relative;overflow:hidden}@keyframes track-enter{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.careerpath-track:hover,.careerpath-track-hovered{box-shadow:0 24px 48px var(--track-glow), 0 8px 16px #0000004d;border-color:var(--track-accent);transform:translateY(-4px)scale(1.01)}.careerpath-track-inner{z-index:2;flex-direction:column;gap:16px;padding:28px 24px;display:flex;position:relative}.careerpath-track-top{justify-content:space-between;align-items:center;display:flex}.careerpath-track-icon-wrap{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1f;border:1px solid #ffffff26;border-radius:16px;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.careerpath-track-icon{font-size:26px}.careerpath-track-badge{letter-spacing:.08em;text-transform:uppercase;color:#fffc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1f;border:1px solid #ffffff26;border-radius:999px;padding:4px 12px;font-size:11px;font-weight:700}.careerpath-track-names{flex-direction:column;gap:4px;display:flex}.careerpath-track-name{color:#fff;letter-spacing:-.02em;margin:0;font-family:Syne,Segoe UI,system-ui,sans-serif;font-size:28px;font-weight:800}.careerpath-track-tagline{color:#ffffff80;margin:0;font-size:13px;font-style:italic}.careerpath-track-desc{color:#ffffffa6;margin:0;font-size:13px;line-height:1.6}.careerpath-track-stats{gap:20px;display:flex}.careerpath-stat{flex-direction:column;gap:2px;display:flex}.careerpath-stat-value{color:#fff;font-family:Syne,system-ui,sans-serif;font-size:22px;font-weight:800;line-height:1}.careerpath-stat-label{color:#ffffff73;text-transform:uppercase;letter-spacing:.06em;font-size:11px}.careerpath-track-divider{background:#ffffff1a;height:1px}.careerpath-track-features{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.careerpath-track-features li{color:#fff9;align-items:center;gap:8px;font-size:12px;display:flex}.careerpath-feature-dot{background:var(--track-accent);border-radius:999px;flex-shrink:0;width:5px;height:5px}.careerpath-track-tags{flex-wrap:wrap;gap:6px;display:flex}.careerpath-tag{color:#ffffffb3;background:#ffffff14;border:1px solid #ffffff1f;border-radius:999px;padding:4px 10px;font-size:11px}.careerpath-track-cta{color:#fff;align-items:center;gap:8px;margin-top:4px;font-size:14px;font-weight:700;transition:gap .2s;display:flex}.careerpath-track:hover .careerpath-track-cta{gap:12px}.careerpath-track-glow{z-index:1;opacity:0;background:radial-gradient(ellipse at 50% 120%, var(--track-glow) 0%, transparent 60%);pointer-events:none;transition:opacity .3s;position:absolute;inset:0}.careerpath-track:hover .careerpath-track-glow{opacity:1}.careerpath-note{color:#334155;text-align:center;z-index:1;margin-top:28px;font-size:12px;position:relative}.careerpath-root.light .careerpath-note{color:#94a3b8}.codepath-launch-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#4f46e5;border:none;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:7px 12px;font-size:12px;font-weight:600;transition:background .15s;display:inline-flex}.codepath-launch-btn:hover{background:#4338ca}@media (width<=360px){.codepath-launch-btn span{display:none}}.cp-container{flex-direction:column;width:100%;max-width:820px;min-height:100dvh;margin:0 auto;padding:12px 12px 32px;display:flex}@media (width>=640px){.cp-container{padding:20px 16px 40px}}.cp-header{margin-bottom:24px}.cp-back-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-bottom:10px;padding:4px 0;font-size:13px;display:inline-flex}.cp-back-btn:hover{color:#111827}.dark .cp-back-btn:hover{color:#f9fafb}.cp-title-row{align-items:center;gap:10px;margin-bottom:4px;display:flex}.cp-title{color:#111827;letter-spacing:-.01em;font-size:clamp(18px,4vw,24px);font-weight:800}.dark .cp-title{color:#f9fafb}.cp-title-icon{color:#4f46e5}.cp-subtitle{color:#6b7280;font-size:14px}.cp-breadcrumb{flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:10px;display:flex}.cp-breadcrumb-item{color:#9ca3af;font-size:12px}.cp-breadcrumb-link{color:#4f46e5;cursor:pointer}.cp-breadcrumb-link:hover{text-decoration:underline}.cp-breadcrumb-sep{color:#d1d5db}.cp-card-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}@media (width>=640px){.cp-card-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}.cp-lang-card{cursor:pointer;background:#fff;border:1.5px solid #e5e7eb;border-radius:20px;flex-direction:column;align-items:center;gap:10px;padding:28px 16px 20px;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative;overflow:hidden}.cp-lang-card:before{content:"";background:linear-gradient(135deg, var(--lang-color) 0%, transparent 100%);opacity:0;transition:opacity .2s;position:absolute;inset:0}.cp-lang-card:hover:before{opacity:.06}.cp-lang-card:hover{border-color:var(--lang-color);transform:translateY(-3px);box-shadow:0 12px 28px #0000001a}.dark .cp-lang-card{background:#111827;border-color:#1f2937}.dark .cp-lang-card:hover{border-color:var(--lang-color);box-shadow:0 12px 28px #0006}.cp-lang-icon{filter:drop-shadow(0 4px 8px #00000026);font-size:38px}.cp-lang-name{color:#111827;letter-spacing:-.01em;font-size:15px;font-weight:700}.dark .cp-lang-name{color:#f9fafb}.cp-lang-count{color:#9ca3af;font-size:11px;font-weight:500}.cp-module-grid{flex-direction:column;gap:8px;display:flex}.cp-module-card{cursor:pointer;text-align:left;background:#fff;border:1px solid #e5e7eb;border-radius:16px;align-items:center;gap:14px;padding:18px 20px;transition:all .2s;display:flex;position:relative;overflow:hidden}.cp-module-card:after{content:"";background:#4f46e5;border-radius:0 2px 2px 0;width:3px;transition:transform .2s;position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.cp-module-card:hover:after{transform:scaleY(1)}.cp-module-card:hover{background:#f5f3ff;border-color:#c7d2fe;transform:translate(4px)}.dark .cp-module-card{background:#111827;border-color:#1f2937}.dark .cp-module-card:hover{background:#0f0e2a;border-color:#4f46e5}.cp-module-name{color:#111827;letter-spacing:-.01em;flex:1;font-size:15px;font-weight:600}.dark .cp-module-name{color:#f9fafb}.cp-module-count{color:#9ca3af;background:#f3f4f6;border-radius:999px;padding:2px 8px;font-size:11px}.dark .cp-module-count{color:#6b7280;background:#1f2937}.cp-module-arrow{color:#9ca3af;transition:transform .2s,color .2s}.cp-module-card:hover .cp-module-arrow{color:#4f46e5;transform:translate(3px)}.cp-topic-list{flex-direction:column;gap:6px;display:flex}.cp-topic-item{cursor:pointer;text-align:left;background:#fff;border:1px solid #e5e7eb;border-radius:14px;align-items:center;gap:14px;padding:14px 16px;transition:all .18s;display:flex}.cp-topic-item:hover{background:#f5f3ff;border-color:#4f46e5;transform:translate(3px)}.dark .cp-topic-item{background:#111827;border-color:#1f2937}.dark .cp-topic-item:hover{background:#0f0e2a;border-color:#4f46e5}.cp-topic-num{color:#9ca3af;font-variant-numeric:tabular-nums;min-width:22px;font-family:Fira Code,monospace;font-size:11px;font-weight:700}.cp-topic-name{color:#111827;flex:1;font-size:14px;font-weight:500}.dark .cp-topic-name{color:#e5e7eb}.cp-topic-arrow{color:#d1d5db;transition:transform .18s,color .18s}.cp-topic-item:hover .cp-topic-arrow{color:#4f46e5;transform:translate(3px)}.cp-learn-title{color:#111827;letter-spacing:-.02em;margin-bottom:4px;font-size:clamp(20px,4vw,26px);font-weight:800}.dark .cp-learn-title{color:#f9fafb}.cp-learn-sub{color:#6b7280;margin-bottom:0;font-size:12px}.cp-tabs{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:16px;display:flex}.cp-tab{cursor:pointer;color:#475569;white-space:nowrap;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:7px 14px;font-size:12px;font-weight:500;transition:all .15s}.cp-tab:hover:not(:disabled){color:#1e293b;background:#f1f5f9;border-color:#cbd5e1}.cp-tab:disabled{opacity:.4;cursor:default}.cp-tab-active{color:#fff;background:#4f46e5;border-color:#4f46e5;font-weight:600;box-shadow:0 4px 12px #4f46e54d}.cp-tab-active:hover:not(:disabled){background:#4338ca;border-color:#4338ca}.cp-tab-reload{border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;margin-left:auto;padding:0;display:inline-flex}.dark .cp-tab{color:#d1d5db;background:#111827;border-color:#374151}.dark .cp-tab-active{color:#fff;background:#4f46e5;border-color:#4338ca}.cp-error{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca;border-radius:12px;align-items:center;gap:8px;margin-bottom:14px;padding:10px 14px;font-size:13px;display:flex}.cp-content-area{background:#fff;border:1px solid #e5e7eb;border-radius:18px;flex:1;min-height:300px;padding:22px;box-shadow:0 2px 12px #0000000a}.dark .cp-content-area{box-shadow:none;background:#0f172a;border-color:#1e293b}.cp-loading{color:#94a3b8;flex-direction:column;justify-content:center;align-items:center;gap:12px;height:200px;font-size:14px;display:flex}.cp-spin{color:#4f46e5;animation:1s linear infinite cp-spin}@keyframes cp-spin{to{transform:rotate(360deg)}}.cp-content-text{color:#1e293b;font-size:14px;line-height:1.75}.dark .cp-content-text{color:#cbd5e1}.cp-code-block{background:#0f172a;border-radius:10px;margin:12px 0;position:relative;overflow:hidden}.cp-code-pre{margin:0;padding:16px;font-size:13px;line-height:1.6;overflow-x:auto}.cp-code-pre code{color:#e2e8f0;font-family:Fira Code,Cascadia Code,Consolas,monospace}.cp-copy-btn{color:#94a3b8;cursor:pointer;background:#1e293b;border:1px solid #334155;border-radius:6px;align-items:center;gap:4px;padding:4px 8px;font-size:11px;transition:all .15s;display:inline-flex;position:absolute;top:8px;right:8px}.cp-copy-btn:hover{color:#e2e8f0;background:#334155}.cp-toggle-answers-btn{color:#4338ca;cursor:pointer;background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;margin-top:12px;padding:6px 14px;font-size:12px;transition:background .15s}.cp-toggle-answers-btn:hover{background:#e0e7ff}.dark .cp-toggle-answers-btn{color:#a5b4fc;background:#4f46e51a;border-color:#4f46e5}.cp-answers-block{color:#1e293b;white-space:pre-wrap;background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;margin-top:12px;padding:14px;font-size:14px;line-height:1.7}.dark .cp-answers-block{color:#cbd5e1;background:#0f172a;border-color:#1e293b}.cp-solution-label{color:#22c55e;margin-bottom:8px;font-size:12px;font-weight:700}.cp-challenge-block{border-bottom:1px solid #e5e7eb;margin-bottom:20px;padding-bottom:20px}.dark .cp-challenge-block{border-color:#1e293b}.cp-practice-output{flex-direction:column;display:flex}.cp-next-row{border-top:1px solid #e5e7eb;align-items:center;gap:10px;margin-top:16px;padding-top:14px;display:flex}.dark .cp-next-row{border-color:#1e293b}.cp-next-label{color:#9ca3af;font-size:12px}.cp-next-btn{color:#4338ca;cursor:pointer;background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;align-items:center;gap:4px;padding:6px 14px;font-size:13px;font-weight:600;transition:background .15s;display:inline-flex}.cp-next-btn:hover{background:#e0e7ff}.dark .cp-next-btn{color:#a5b4fc;background:#4f46e51a;border-color:#4f46e5}.cm-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#0009;justify-content:center;align-items:center;padding:12px;animation:.2s cm-fade;display:flex;position:fixed;inset:0}@keyframes cm-fade{0%{opacity:0}to{opacity:1}}.cm-panel{background:#fff;border-radius:20px;flex-direction:column;width:100%;max-width:780px;max-height:90vh;animation:.25s cm-slide;display:flex;overflow:hidden;box-shadow:0 24px 64px #0003}.dark .cm-panel{background:#0f172a;border:1px solid #1e293b}@keyframes cm-slide{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.cm-header{border-bottom:1px solid #f1f5f9;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 18px 10px;display:flex}.dark .cm-header{border-color:#1e293b}.cm-header-left{align-items:center;gap:10px;display:flex}.cm-header-icon{font-size:20px}.cm-title{color:#0f172a;margin:0;font-size:15px;font-weight:700}.dark .cm-title{color:#f8fafc}.cm-subtitle{color:#64748b;margin:2px 0 0;font-size:11px}.cm-header-right{align-items:center;gap:6px;display:flex}.cm-icon-btn{color:#64748b;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;transition:all .15s;display:flex}.cm-icon-btn:hover{color:#0f172a;background:#f1f5f9}.dark .cm-icon-btn{color:#94a3b8;background:#1e293b;border-color:#334155}.dark .cm-icon-btn:hover{color:#f8fafc;background:#334155}.cm-close-btn:hover{color:#dc2626;background:#fee2e2;border-color:#fecaca}.cm-legend{border-bottom:1px solid #f1f5f9;flex-wrap:wrap;flex-shrink:0;gap:12px;padding:8px 18px;display:flex}.dark .cm-legend{border-color:#1e293b}.cm-legend-item{color:#64748b;align-items:center;gap:5px;font-size:11px;display:flex}.cm-legend-dot{border-radius:999px;flex-shrink:0;width:8px;height:8px}.cm-graph-area{background:#f8fafc;flex:1;min-height:300px;position:relative;overflow:hidden}.dark .cm-graph-area{background:#020617}.cm-svg{width:100%;height:100%;min-height:300px;display:block}.cm-loading,.cm-error{color:#64748b;flex-direction:column;justify-content:center;align-items:center;gap:10px;font-size:13px;display:flex;position:absolute;inset:0}.cm-spin{color:#4f46e5;animation:1s linear infinite cm-spin}@keyframes cm-spin{to{transform:rotate(360deg)}}.cm-retry-btn{cursor:pointer;color:#4f46e5;background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:6px 14px;font-size:12px;transition:background .15s}.cm-retry-btn:hover{background:#f1f5f9}.cm-footer-hint{text-align:center;color:#94a3b8;flex-shrink:0;padding:6px 0 10px;font-size:11px}.cm-trigger-btn{color:#475569;cursor:pointer;white-space:nowrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:5px;padding:6px 12px;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.cm-trigger-btn:hover:not(:disabled){color:#1e293b;background:#f1f5f9;border-color:#cbd5e1}.cm-trigger-btn:disabled{opacity:.4;cursor:default}.app-container.dark .cm-trigger-btn{color:#64748b;background:#0f172a;border-color:#1e293b}.app-container.dark .cm-trigger-btn:hover:not(:disabled){color:#a5b4fc;background:#131325;border-color:#4f46e5}
