@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--font-sans:"Inter",sans-serif;--font-mono:"JetBrains Mono",monospace;--bg-color:#030712;--surface-color:#111827;--surface-hover:#1f2937;--surface-card:#0f172a;--border-color:#374151;--primary:#8b5cf6;--primary-hover:#7c3aed;--primary-glow:#8b5cf680;--accent-pink:#ec4899;--accent-pink-hover:#db2777;--accent-pink-glow:#ec489966;--accent-cyan:#06b6d4;--accent-cyan-hover:#0891b2;--accent-cyan-glow:#06b6d466;--success:#10b981;--success-glow:#10b98166;--error:#ef4444;--error-glow:#ef444466;--warning:#f59e0b;--warning-glow:#f59e0b66;--text-main:#f9fafb;--text-muted:#9ca3af;--glass-bg:#111827d9;--glass-border:#ffffff1a;--glass-blur:20px;--btn-secondary-bg:#ffffff0d;--btn-secondary-hover:#ffffff1a;--card-hover-bg:#1e293be6;--gradient-brand:linear-gradient(135deg,#8b5cf6 0%,#ec4899 50%,#06b6d4 100%);--gradient-brand-subtle:linear-gradient(135deg,#8b5cf633 0%,#ec48991a 50%,#06b6d433 100%);--heading-gradient:linear-gradient(135deg,#fff 0%,#94a3b8 100%);--code-bg:#ffffff1a;--code-text:#e2e8f0;--input-bg:#0003}:root.light{--bg-color:#f8fafc;--surface-color:#fff;--surface-hover:#f1f5f9;--surface-card:#fff;--border-color:#cbd5e1;--primary:#7c3aed;--primary-hover:#6d28d9;--primary-glow:#7c3aed26;--accent-pink:#db2777;--accent-pink-hover:#be185d;--accent-pink-glow:#db277726;--accent-cyan:#0891b2;--accent-cyan-hover:#0e7490;--accent-cyan-glow:#0891b226;--success:#059669;--success-glow:#05966926;--error:#dc2626;--error-glow:#dc262626;--warning:#d97706;--warning-glow:#d9770626;--text-main:#0f172a;--text-muted:#64748b;--glass-bg:#ffffffbf;--glass-border:#94a3b833;--btn-secondary-bg:#0000000a;--btn-secondary-hover:#00000014;--card-hover-bg:#fff;--gradient-brand:linear-gradient(135deg,#7c3aed 0%,#db2777 50%,#0891b2 100%);--gradient-brand-subtle:linear-gradient(135deg,#7c3aed1a 0%,#db27770d 50%,#0891b21a 100%);--heading-gradient:linear-gradient(135deg,#0f172a 0%,#7c3aed 100%);--code-bg:#0000000f;--code-text:#334155;--input-bg:#0000000a}*{box-sizing:border-box;margin:0;padding:0}html{max-width:100%;overflow-x:hidden}body{background-color:var(--bg-color);color:var(--text-main);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;max-width:100%;min-height:100vh;line-height:1.6;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(100% 80% at 20% 30%,#8b5cf626,#0000 60%),radial-gradient(80% 60% at 85% 15%,#ec489914,#0000 55%),radial-gradient(70% 50% at 50% 85%,#06b6d40f,#0000 55%),radial-gradient(60% 40% at 10% 80%,#ec48990a,#0000 50%);position:fixed;inset:0}:root.light body:before{background:radial-gradient(100% 80% at 20% 30%,#7c3aed14,#0000 60%),radial-gradient(80% 60% at 85% 15%,#db27770a,#0000 55%),radial-gradient(70% 50% at 50% 85%,#0891b208,#0000 55%),radial-gradient(60% 40% at 10% 80%,#db277705,#0000 50%)}a{color:inherit;text-decoration:none}.container{max-width:1400px;margin:0 auto;padding:0 1.5rem}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur))saturate(180%);border:1px solid var(--glass-border);border-radius:16px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 32px #0000002e,0 2px 8px -1px #0000001f,inset 0 1px 1px #ffffff1a,inset 0 -1px 1px #0000000d}.glass-panel:hover{-webkit-backdrop-filter:blur(calc(var(--glass-blur) + 4px))saturate(200%);border-color:#8b5cf633;box-shadow:0 12px 48px #8b5cf626,0 4px 12px -2px #ec48991a,inset 0 1px 1px #ffffff26,inset 0 -1px 1px #0000000d}:root.light .glass-panel{background:#ffffffd9;box-shadow:0 8px 32px #1f268726,0 2px 8px -1px #1f268714,inset 0 1px 1px #ffffffe6,inset 0 -1px 1px #00000005}:root.light .glass-panel:hover{border-color:#7c3aed26;box-shadow:0 12px 48px #7c3aed1f,0 4px 12px -2px #db277714,inset 0 1px 1px #fff,inset 0 -1px 1px #00000005}.btn-primary{background:linear-gradient(135deg,var(--primary)0%,var(--accent-pink)100%);color:#fff;cursor:pointer;box-shadow:0 4px 15px var(--primary-glow);border:none;border-radius:8px;padding:.75rem 1.5rem;font-weight:500;transition:all .3s;position:relative;overflow:hidden}.btn-primary:before{content:"";background:linear-gradient(90deg,#0000,#ffffff40,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.btn-primary:hover{background:linear-gradient(135deg,var(--primary-hover)0%,var(--accent-pink-hover)100%);box-shadow:0 8px 30px var(--primary-glow),0 4px 15px var(--accent-pink-glow);transform:translateY(-2px)}.btn-primary:hover:before{left:100%}.heading-gradient{background:linear-gradient(90deg,#06b6d4 0%,#3b82f6 20%,#8b5cf6 40%,#c084fc 50%,#8b5cf6 60%,#3b82f6 80%,#06b6d4 100%) 0 0/200%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;animation:5s ease-in-out infinite aurora-shimmer-heading}@keyframes aurora-shimmer-heading{0%,to{filter:brightness();background-position:0%}50%{filter:brightness(1.2);background-position:100%}}.theme-toggle{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.theme-toggle:hover{background:var(--surface-hover);color:var(--primary)}.animated-card{border-radius:16px;transition:all .3s;position:relative;overflow:hidden}.animated-card.glass-panel{border:none}.animated-card:before{content:"";-webkit-mask-composite:xor;opacity:0;z-index:0;background:linear-gradient(135deg,#8b5cf6,#ec4899,#06b6d4,#ec4899,#8b5cf6) 0 0/300% 300%;border-radius:16px;padding:2px;transition:opacity .3s;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.animated-card:after{content:"";opacity:0;pointer-events:none;z-index:0;background:radial-gradient(circle at 50% 0,#8b5cf626,#ec489914 40%,#0000 70%);border-radius:16px;transition:opacity .3s;position:absolute;inset:0}.animated-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px -12px #8b5cf640,0 8px 20px -8px #ec489926}.animated-card:hover:before{opacity:1;animation:4s linear infinite animated-card-gradient}.animated-card:hover:after{opacity:1}@keyframes animated-card-gradient{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.animated-card>*{z-index:1;position:relative}.animated-card.always-visible:before{opacity:.5;animation:4s linear infinite animated-card-gradient}.animated-card.always-visible:hover:before{opacity:1}.animated-card.subtle:hover{transform:translateY(-4px);box-shadow:0 12px 24px -8px #8b5cf626,0 4px 12px -4px #ec48991a}:root.light .animated-card:hover{box-shadow:0 20px 40px -12px #7c3aed33,0 8px 20px -8px #db27771f}:root.light .animated-card:after{background:radial-gradient(circle at 50% 0,#7c3aed1a,#db27770d 40%,#0000 70%)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-color)}::-webkit-scrollbar-thumb{background:var(--surface-hover);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-color)}@media (max-width:576px){.container{padding:0 1rem}body{font-size:14px}.btn-primary{padding:.625rem 1.25rem;font-size:.875rem}}@media (min-width:768px){.container{padding:0 2rem}}@media (min-width:992px){.container{padding:0 2.5rem}}@media (min-width:1200px){.container{padding:0 3rem}}.notification-prompt{z-index:1000;animation:.3s ease-out slideUp;position:fixed;bottom:2rem;right:2rem}@keyframes slideUp{0%{opacity:0;transform:translateY(100px)}to{opacity:1;transform:translateY(0)}}.notification-prompt-content{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:12px;align-items:center;gap:1rem;max-width:400px;padding:1rem 1.25rem;display:flex;box-shadow:0 10px 40px #0000004d}.notification-icon{color:var(--primary);flex-shrink:0}.notification-text h3{color:var(--text-main);margin:0;font-size:.95rem;font-weight:600}.notification-text p{color:var(--text-muted);margin:.25rem 0 0;font-size:.85rem}.notification-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.notification-actions .btn-enable{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background .2s}.notification-actions .btn-enable:hover{background:var(--primary-hover)}.notification-actions .btn-dismiss{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;padding:.5rem;transition:all .2s;display:flex}.notification-actions .btn-dismiss:hover{background:var(--btn-secondary-hover);color:var(--text-main)}@media (max-width:768px){.notification-prompt{bottom:1rem;left:1rem;right:1rem}.notification-prompt-content{gap:.75rem;max-width:none;padding:.875rem 1rem}.notification-text h3{font-size:.875rem}.notification-text p{font-size:.8rem}.notification-actions .btn-enable{padding:.45rem .875rem;font-size:.8rem}}.sp-wrapper{--sp-font-body:var(--font-sans);--sp-font-mono:var(--font-mono);overflow:hidden;border-radius:12px!important}:root:not(.light) .sp-wrapper{--sp-colors-surface1:var(--surface-color);--sp-colors-surface2:var(--surface-hover);--sp-colors-surface3:var(--surface-card);--sp-colors-clickable:var(--text-muted);--sp-colors-base:var(--text-main);--sp-colors-disabled:#4b5563;--sp-colors-hover:var(--primary);--sp-colors-accent:var(--primary)}:root.light .sp-wrapper{--sp-colors-surface1:#fff;--sp-colors-surface2:#f8fafc;--sp-colors-surface3:#f1f5f9;--sp-colors-clickable:var(--text-muted);--sp-colors-base:var(--text-main);--sp-colors-disabled:#9ca3af;--sp-colors-hover:var(--primary);--sp-colors-accent:var(--primary)}.sp-code-editor{border-radius:12px}.sp-cm{padding:1rem!important}.sp-preview-container{background:var(--surface-color)!important;border-left:1px solid var(--border-color)!important}.sp-preview-iframe{border-radius:0 12px 12px 0}.sp-console{background:var(--surface-color)!important;border-top:1px solid var(--border-color)!important}.sp-tabs{background:var(--surface-hover)!important;border-bottom:1px solid var(--border-color)!important}.sp-tab-button{transition:color .2s,background .2s;color:var(--text-muted)!important}.sp-tab-button:hover{color:var(--text-main)!important;background:var(--surface-hover)!important}.sp-tab-button[data-active=true]{color:var(--primary)!important;border-bottom-color:var(--primary)!important}.sp-loading{background:var(--surface-hover)!important}.sp-error-message{border-left:3px solid var(--error)!important;color:var(--text-main)!important;background:#ef44441a!important}.sp-cm .cm-scroller::-webkit-scrollbar{width:8px;height:8px}.sp-cm .cm-scroller::-webkit-scrollbar-track{background:var(--surface-hover);border-radius:4px}.sp-cm .cm-scroller::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.sp-cm .cm-scroller::-webkit-scrollbar-thumb:hover{background:var(--primary)}@media (max-width:768px){.sp-layout{flex-direction:column!important}.sp-preview-container{border-left:none!important;border-top:1px solid var(--border-color)!important}.sp-preview-iframe{border-radius:0 0 12px 12px}}.btn-secondary{background:var(--btn-secondary-bg);color:var(--text-main);border:1px solid var(--border-color);cursor:pointer;border-radius:8px;padding:.75rem 1.5rem;font-weight:500;transition:all .3s}.btn-secondary:hover{background:var(--btn-secondary-hover);border-color:var(--primary);transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf633}.practice-container{max-width:1400px;margin:0 auto;padding:2rem 1.5rem}.practice-header{text-align:center;margin-bottom:3rem}.practice-title{background:linear-gradient(90deg,#06b6d4 0%,#3b82f6 20%,#8b5cf6 40%,#c084fc 50%,#8b5cf6 60%,#3b82f6 80%,#06b6d4 100%) 0 0/200%;-webkit-text-fill-color:transparent;letter-spacing:-.02em;-webkit-background-clip:text;background-clip:text;margin-bottom:1rem;font-size:3.5rem;font-weight:800;animation:5s ease-in-out infinite aurora-shimmer-title}@keyframes aurora-shimmer-title{0%,to{filter:brightness();background-position:0%}50%{filter:brightness(1.2);background-position:100%}}.practice-subtitle{color:var(--text-muted);max-width:600px;margin:0 auto;font-size:1.25rem}.practice-grid{grid-template-columns:1fr;gap:2rem;margin-top:2rem;display:grid}@media (min-width:1024px){.practice-grid{grid-template-columns:1fr 1fr}}.question-card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:16px;margin-bottom:2rem;padding:2rem;transition:all .3s;box-shadow:0 4px 20px #0000001a}.question-card:hover{border-color:var(--primary);box-shadow:0 8px 30px var(--primary-glow)}.difficulty-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:999px;align-items:center;padding:.375rem .875rem;font-size:.8rem;font-weight:600;display:inline-flex}.difficulty-easy{color:var(--success);background:#10b98126;border:1px solid #10b9814d}.difficulty-medium{color:var(--warning);background:#f59e0b26;border:1px solid #f59e0b4d}.difficulty-hard{color:var(--error);background:#ef444426;border:1px solid #ef44444d}.editor-container{background:var(--surface-color);border:1px solid var(--border-color);border-radius:16px;overflow:hidden;box-shadow:0 4px 20px #0000001a}.test-result-card{border:1px solid;border-radius:12px;margin-bottom:.75rem;padding:1rem 1.25rem;transition:all .2s}.test-result-pass{background:#10b9811a;border-color:#10b9814d}.test-result-fail{background:#ef44441a;border-color:#ef44444d}.test-result-manual{background:var(--surface-hover);border-color:var(--border-color)}.instructions-panel{background:var(--surface-color);border:1px solid var(--border-color);border-radius:16px;margin-bottom:1.5rem;padding:1.5rem}.tips-panel{background:linear-gradient(135deg,#8b5cf61a,#ec48990d);border:1px solid #8b5cf633;border-radius:16px;padding:1.5rem}@media (max-width:1024px){.practice-title{font-size:2.5rem}.practice-container{padding:1.5rem 1rem}}@media (max-width:768px){.practice-title{font-size:2rem}.practice-subtitle{font-size:1rem}.question-card{padding:1.5rem}}
