@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap";:root{--bg: #0b0f14;--bg-surface: rgba(10, 14, 20, .85);--bg-code: #060a0f;--bg-card: #0d1117;--bg-gradient: radial-gradient(circle at top, #0f1722, #0b0f14 45%, #06080b);--text: #d7fbe8;--text-muted: rgba(214, 255, 233, .7);--text-dim: rgba(214, 255, 233, .5);--accent: #7cf7c0;--accent-alt: #8bd3ff;--accent-warm: #ffd166;--accent-danger: #ff6b6b;--easy: #50fa7b;--medium: #ffd166;--hard: #ff6b6b;--border: rgba(117, 255, 171, .2);--border-hover: rgba(117, 255, 171, .5);--glow: rgba(124, 247, 192, .35);--syn-keyword: #ff79c6;--syn-string: #f1fa8c;--syn-comment: #6272a4;--syn-number: #bd93f9;--syn-flag: #8bd3ff;--syn-variable: #50fa7b;--syn-path: #ffb86c;--radius: 16px;--radius-sm: 8px;--radius-xs: 4px;--font: "JetBrains Mono", "Fira Code", "SF Mono", Menlo, monospace;--shadow-card: 0 20px 40px rgba(0, 0, 0, .35);--shadow-heavy: 0 30px 60px rgba(0, 0, 0, .45), 0 0 30px rgba(63, 255, 178, .12);--ease: cubic-bezier(.4, 0, .2, 1);--duration: .2s;--duration-slow: .4s}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;background:var(--bg-gradient);color:var(--text);font-family:var(--font);font-size:.95rem;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}.sparks-layer{position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(120% 90% at 12% 18%,rgba(124,247,192,.06) 0%,transparent 60%),radial-gradient(120% 90% at 85% 12%,rgba(139,211,255,.05) 0%,transparent 62%);mix-blend-mode:screen;animation:ambientDrift 28s ease-in-out infinite;will-change:transform}@keyframes ambientDrift{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(-4%,3%,0) scale(1.04)}to{transform:translateZ(0) scale(1)}}.navbar{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:1.5rem;padding:.8rem 1.5rem;background:#0b0f14e6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}.nav-logo{font-size:1.1rem;font-weight:700;color:var(--accent);display:flex;align-items:center;gap:.5rem}.nav-logo .logo-bracket{color:var(--text-dim)}.nav-hamburger{display:none;background:none;border:none;color:var(--text-muted);font-size:1.4rem;padding:.3rem .5rem;margin-left:auto;min-width:44px;min-height:44px;align-items:center;justify-content:center}.nav-links{display:flex;gap:.2rem;margin-left:auto}.nav-link{padding:.5rem 1rem;border-radius:var(--radius-sm);color:var(--text-muted);font-size:.85rem;transition:all var(--duration) var(--ease)}.nav-link:hover,.nav-link.active{color:var(--accent);background:#7cf7c014}.nav-user{display:flex;align-items:center;gap:.6rem;padding:.4rem .8rem;border-radius:var(--radius-sm);border:1px solid var(--border);font-size:.85rem;color:var(--text-muted)}.nav-avatar{width:28px;height:28px;border-radius:50%;border:1px solid var(--border)}.workspace{display:flex;position:fixed;inset:0;padding-top:var(--navbar-h, 52px);overflow:hidden;z-index:50}.pane{height:100%}.pane-problem{padding:1.5rem;background:var(--bg-card);border-right:1px solid var(--border);overflow-y:auto;height:100%}.pane-editor{display:flex;flex-direction:column;background:var(--bg-code);overflow:hidden;height:100%;min-height:0}.gutter{background:var(--bg);position:relative;flex-shrink:0}.gutter:after{content:"";position:absolute;inset:0;background:var(--border);transition:background var(--duration) var(--ease)}.gutter:hover:after,.gutter-dragging:after{background:var(--accent);box-shadow:0 0 12px var(--glow)}.gutter-horizontal{cursor:col-resize;width:6px}.gutter-horizontal:after{width:2px;margin:0 auto;left:0;right:0}.gutter-vertical{cursor:row-resize;height:6px}.gutter-vertical:after{height:2px;margin:auto 0;top:0;bottom:0}.problem-header{display:flex;align-items:center;gap:.8rem;margin-bottom:1.2rem}.problem-title{font-size:1.3rem;font-weight:700}.difficulty-badge{display:inline-flex;align-items:center;padding:.2rem .7rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.difficulty-badge.easy{background:#50fa7b26;color:var(--easy);border:1px solid rgba(80,250,123,.3)}.difficulty-badge.medium{background:#ffd16626;color:var(--medium);border:1px solid rgba(255,209,102,.3)}.difficulty-badge.hard{background:#ff6b6b26;color:var(--hard);border:1px solid rgba(255,107,107,.3)}.problem-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.tag{padding:.15rem .6rem;border-radius:var(--radius-xs);font-size:.7rem;background:#8bd3ff1a;color:var(--accent-alt);border:1px solid rgba(139,211,255,.2)}.problem-description{color:var(--text-muted);line-height:1.7}.problem-description p{margin:.8rem 0}.problem-description p:first-child{margin-top:0}.problem-description h3{color:var(--text);margin:1.5rem 0 .6rem;font-size:1rem;border-bottom:1px solid rgba(124,247,192,.08);padding-bottom:.3rem}.problem-description pre{background:var(--bg-code);padding:1rem;border-radius:var(--radius-sm);border:1px solid var(--border);overflow-x:auto;font-size:.85rem;margin:.5rem 0}.problem-description ul{padding-left:1.5rem;margin:.5rem 0}.problem-description li{margin-bottom:.3rem}.problem-description code{background:#7cf7c014;padding:.15rem .4rem;border-radius:3px;font-size:.85em;color:var(--accent)}.example-box{background:#7cf7c008;border:1px solid rgba(124,247,192,.15);border-left:3px solid var(--accent);border-radius:6px;padding:1.1rem 1.3rem;margin:1.2rem 0;font-size:.9rem;box-shadow:0 2px 8px #0000004d}.example-box+.example-box{margin-top:1rem}.example-box .example-title{color:var(--accent);font-weight:700;margin-bottom:.8rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;padding-bottom:.4rem;border-bottom:1px solid rgba(124,247,192,.1)}.example-box .example-row{margin-bottom:.5rem;display:flex;gap:.6rem;line-height:1.6;font-size:.85rem}.example-box .example-label{color:var(--accent);font-weight:700;flex-shrink:0;min-width:5rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;opacity:.8}.example-box .example-value{color:var(--text);word-break:break-word}.example-box .example-value code{background:#7cf7c01f;padding:.15rem .4rem;border-radius:3px;font-size:.85em;color:var(--accent)}.example-box .example-explanation{color:var(--text-muted);margin-top:.7rem;padding-top:.7rem;border-top:1px solid rgba(124,247,192,.1);font-size:.82rem;line-height:1.65;font-style:italic;opacity:.85}.hint-toggle{display:flex;align-items:center;gap:.5rem;padding:.6rem 0;color:var(--accent-warm);font-size:.85rem;cursor:pointer;border:none;background:none}.hint-toggle:before{content:"▸";transition:transform var(--duration) var(--ease)}.hint-toggle.open:before{transform:rotate(90deg)}.hint-content{max-height:0;overflow:hidden;transition:max-height var(--duration-slow) var(--ease);color:var(--text-dim);padding-left:1rem;border-left:2px solid rgba(255,209,102,.3)}.hint-content.visible{max-height:200px}.editor-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);background:#0b0f1499;flex-shrink:0}.tab{padding:.6rem 1.2rem;font-size:.8rem;font-weight:600;color:var(--text-dim);background:none;border:none;border-bottom:2px solid transparent;transition:all var(--duration) var(--ease);position:relative}.tab:hover{color:var(--text-muted);background:#7cf7c00a}.tab.active{color:var(--accent);border-bottom-color:var(--accent);background:#7cf7c00f}.tab-content{display:none;flex:1;overflow:auto;min-height:0}.tab-content.active{display:flex;flex-direction:column;min-height:0}#editor-container{flex:1;overflow:hidden;min-height:0}#editor-container .cm-editor{height:100%}.editor-actions{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-top:1px solid var(--border);background:#0b0f14cc;flex-shrink:0}#turnstile-widget:empty{display:none}#turnstile-widget{max-height:65px;max-width:150px;overflow:hidden;border-radius:var(--radius-xs);transform:scale(.78);transform-origin:left center;margin:-8px 0}.btn{padding:.5rem 1.2rem;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;border:1px solid var(--border);background:#7cf7c014;color:var(--text-muted);transition:all var(--duration) var(--ease);display:flex;align-items:center;gap:.5rem}.btn kbd{font-size:.7rem;padding:.1rem .4rem;background:#0000004d;border-radius:3px;color:var(--text-dim)}.btn:hover{border-color:var(--border-hover);background:#7cf7c026;color:var(--accent)}.btn-run{border-color:#8bd3ff4d;color:var(--accent-alt)}.btn-run:hover{background:#8bd3ff26;border-color:var(--accent-alt);box-shadow:0 0 12px #8bd3ff33}.btn-submit{border-color:#50fa7b4d;color:var(--easy)}.btn-submit:hover{background:#50fa7b26;border-color:var(--easy);box-shadow:0 0 12px #50fa7b33}.btn.loading{pointer-events:none;opacity:.6}.btn.loading:after{content:"";width:14px;height:14px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .6s linear infinite}#results-container{padding:1rem}.results-summary{display:flex;align-items:center;gap:1rem;padding:.8rem 1rem;border-radius:var(--radius-sm);margin-bottom:1rem;font-weight:600;animation:resultReveal .4s var(--ease)}.results-summary.pass{background:#50fa7b1a;border:1px solid rgba(80,250,123,.3);color:var(--easy)}.results-summary.fail{background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);color:var(--hard)}.test-case{margin-bottom:.8rem;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;animation:resultReveal .4s var(--ease);animation-fill-mode:both}.test-case:nth-child(2){animation-delay:.05s}.test-case:nth-child(3){animation-delay:.1s}.test-case:nth-child(4){animation-delay:.15s}.test-case:nth-child(5){animation-delay:.2s}.test-case-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .8rem;background:#0b0f1499;font-size:.8rem;font-weight:600}.test-case-header .status-icon{font-size:1rem}.test-case-header.pass{color:var(--easy)}.test-case-header.fail{color:var(--hard)}.test-case-body{padding:.6rem .8rem;font-size:.8rem;display:grid;grid-template-columns:auto 1fr;gap:.3rem 1rem}.test-case-body .label{color:var(--text-dim);white-space:nowrap}.test-case-body .value{color:var(--text);font-family:var(--font)}.test-case-body .value.wrong{color:var(--hard)}#submissions-container{padding:1rem}.submission-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:1rem;align-items:center;padding:.6rem .8rem;border-bottom:1px solid rgba(117,255,171,.08);font-size:.8rem;transition:background var(--duration) var(--ease)}.submission-row:hover{background:#7cf7c00a}.submission-status{font-weight:600;padding:.15rem .6rem;border-radius:999px;font-size:.7rem;text-transform:uppercase}.submission-status.accepted{color:var(--easy);background:#50fa7b1f}.submission-status.wrong_answer{color:var(--hard);background:#ff6b6b1f}.submission-status.runtime_error{color:var(--accent-warm);background:#ffd1661f}.submission-status.time_limit{color:var(--accent-alt);background:#8bd3ff1f}.submission-time{color:var(--text-dim)}.submission-runtime{color:var(--text-muted)}.problem-list-page{max-width:1000px;margin:0 auto;padding:2rem 1.5rem;position:relative;z-index:1}.problem-list-header{margin-bottom:1.5rem}.problem-list-header h1{font-size:1.8rem;margin-bottom:.3rem}.problem-list-header h1 .accent{color:var(--accent)}.problem-list-header p{color:var(--text-dim);font-size:.85rem}.filters-bar{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.2rem;align-items:center}.search-input{flex:1;min-width:200px;padding:.5rem 1rem .5rem 2.2rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font);font-size:.85rem;transition:border-color var(--duration) var(--ease);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%236272a4' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85zm-5.242.156a5 5 0 1 1 0-10 5 5 0 0 1 0 10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:.7rem center}.search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #7cf7c026}.search-input::placeholder{color:var(--text-dim)}.filter-btn{padding:.5rem .9rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);font-size:.8rem;font-weight:600;transition:all var(--duration) var(--ease)}.filter-btn:hover{border-color:var(--border-hover);color:var(--text)}.filter-btn.active{border-color:var(--accent);color:var(--accent);background:#7cf7c014}.filter-btn.easy.active{border-color:var(--easy);color:var(--easy);background:#50fa7b14}.filter-btn.medium.active{border-color:var(--medium);color:var(--medium);background:#ffd16614}.filter-btn.hard.active{border-color:var(--hard);color:var(--hard);background:#ff6b6b14}.problem-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.problem-table th{text-align:left;padding:.7rem 1rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);border-bottom:1px solid var(--border);background:#0b0f1480}.problem-table td{padding:.8rem 1rem;border-bottom:1px solid rgba(117,255,171,.06);font-size:.85rem}.problem-table tr:last-child td{border-bottom:none}.problem-table tbody tr{transition:background var(--duration) var(--ease);cursor:pointer}.problem-table tbody tr:hover{background:#7cf7c00a}.problem-table .col-status{width:40px;text-align:center}.problem-table .col-number{width:50px;color:var(--text-dim)}.problem-table .col-title{color:var(--text);font-weight:600}.problem-table .col-title:hover{color:var(--accent)}.problem-table .col-category{color:var(--text-muted)}.problem-table .col-difficulty{width:90px}.status-solved{color:var(--easy)}.status-attempted{color:var(--accent-warm)}.status-none{color:var(--text-dim);opacity:.3}.stats-row{display:flex;gap:1.5rem;margin-bottom:1rem}.stat-card{padding:.8rem 1.2rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);flex:1;text-align:center}.stat-card .stat-value{font-size:1.4rem;font-weight:700}.stat-card .stat-label{font-size:.7rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em}.stat-card.easy .stat-value{color:var(--easy)}.stat-card.medium .stat-value{color:var(--medium)}.stat-card.hard .stat-value{color:var(--hard)}.landing-page{max-width:700px;margin:0 auto;padding:2rem 1.5rem;position:relative;z-index:1;min-height:calc(100vh - 52px)}.matrix-rain{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.matrix-col{position:absolute;top:-100%;font-size:.7rem;color:var(--accent);white-space:pre;line-height:1.4;font-family:var(--font);animation:matrixFall linear infinite}@keyframes matrixFall{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}.landing-main{opacity:1;transform:translateY(0);position:relative;z-index:1}.stagger-in{opacity:0;transform:translateY(14px);animation:staggerReveal .5s var(--ease) forwards;animation-delay:calc(var(--stagger, 0) * .12s + .15s)}.hero-reveal{opacity:0;transform:translateY(18px) scale(.985);animation:heroReveal .55s var(--ease) forwards}@keyframes staggerReveal{to{opacity:1;transform:translateY(0)}}@keyframes heroReveal{to{opacity:1;transform:translateY(0) scale(1)}}.hero-terminal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-heavy);overflow:hidden;margin-bottom:1.5rem}.terminal-bar{display:flex;align-items:center;gap:.5rem;padding:.8rem 1.2rem;background:#0f151ed9;border-bottom:1px solid rgba(117,255,171,.15)}.dot{width:10px;height:10px;border-radius:999px}.dot.red{background:#ff6b6b}.dot.yellow{background:#ffd166}.dot.green{background:#69db7c}.terminal-title{margin-left:.6rem;color:var(--text-dim);font-size:.8rem}.terminal-body{padding:1.2rem 1.5rem;font-size:.82rem;line-height:1.7;min-height:280px}.sim-problem{margin-bottom:.8rem}.sim-code .code-line{animation:codeFadeIn .2s var(--ease) forwards}@keyframes codeFadeIn{0%{opacity:0}to{opacity:1}}.sim-output{margin-top:.8rem}.result-accepted{color:var(--easy);font-weight:700;text-shadow:0 0 12px rgba(80,250,123,.5)}.accepted-line{animation:acceptedGlow 1s ease-out}@keyframes acceptedGlow{0%{text-shadow:0 0 20px rgba(80,250,123,.8)}to{text-shadow:0 0 12px rgba(80,250,123,.5)}}.syn-keyword{color:var(--syn-keyword)}.syn-variable{color:var(--syn-variable)}.landing-stats{display:flex;align-items:center;gap:.6rem;justify-content:center;margin-bottom:1.5rem;font-size:.85rem;flex-wrap:wrap}.stat-pill{color:var(--text-muted)}.stat-pill.easy{color:var(--easy)}.stat-pill.medium{color:var(--medium)}.stat-pill.hard{color:var(--hard)}.stat-dot{color:var(--text-dim)}.hero-cta{display:block;text-align:center;padding:.8rem 2rem;margin:0 auto 2rem;background:#7cf7c01a;border:1px solid var(--accent);border-radius:var(--radius-sm);color:var(--accent);font-weight:600;font-size:1rem;transition:all var(--duration) var(--ease);width:fit-content}.hero-cta:hover{background:#7cf7c033;box-shadow:0 0 24px #7cf7c04d;transform:translateY(-2px)}.mini-problems{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;font-size:.8rem}.mini-problems-header{padding:.6rem 1rem;color:var(--text-dim);border-bottom:1px solid var(--border);background:#0f151e80}.mini-problem-row{display:flex;align-items:center;gap:.8rem;padding:.55rem 1rem;border-bottom:1px solid rgba(117,255,171,.06);transition:background var(--duration) var(--ease)}.mini-problem-row:hover{background:#7cf7c00a}.mini-problem-title{flex:1;color:var(--text)}.mini-problems-more{display:block;padding:.5rem 1rem;text-align:center;transition:color var(--duration) var(--ease)}.mini-problems-more:hover{color:var(--accent)}.profile-page{max-width:800px;margin:0 auto;padding:2rem 1.5rem;position:relative;z-index:1}.profile-header{display:flex;align-items:center;gap:1.5rem;padding:1.5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1.5rem}.profile-avatar{width:72px;height:72px;border-radius:50%;border:2px solid var(--accent)}.profile-name{font-size:1.3rem;font-weight:700}.profile-joined{color:var(--text-dim);font-size:.8rem}.progress-section{padding:1.5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1rem}.progress-bar-track{height:8px;background:#7cf7c014;border-radius:999px;overflow:hidden;margin-top:.5rem}.progress-bar-fill{height:100%;border-radius:999px;transition:width .8s var(--ease)}.progress-bar-fill.easy{background:var(--easy)}.progress-bar-fill.medium{background:var(--medium)}.progress-bar-fill.hard{background:var(--hard)}.leaderboard-page{max-width:800px;margin:0 auto;padding:2rem 1.5rem;position:relative;z-index:1}.leaderboard-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.leaderboard-table th{padding:.7rem 1rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);border-bottom:1px solid var(--border);text-align:left}.leaderboard-table td{padding:.7rem 1rem;border-bottom:1px solid rgba(117,255,171,.06);font-size:.85rem}.rank-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-weight:700;font-size:.8rem}.rank-badge.gold{background:#ffd16633;color:var(--accent-warm)}.rank-badge.silver{background:#d6ffe91a;color:var(--text-muted)}.rank-badge.bronze{background:#ffb86c33;color:var(--syn-path)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes resultReveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.cursor-blink{display:inline-block;width:9px;height:1.1em;background:var(--accent);animation:blink 1s step-end infinite;vertical-align:text-bottom;margin-left:2px}@keyframes typing{0%{width:0}to{width:100%}}.typing-text{overflow:hidden;white-space:nowrap;border-right:2px solid var(--accent);animation:typing 2s steps(30) .5s forwards,blink 1s step-end infinite;width:0}@keyframes successPulse{0%{box-shadow:0 0 #50fa7b66}70%{box-shadow:0 0 0 15px #50fa7b00}to{box-shadow:0 0 #50fa7b00}}.success-pulse{animation:successPulse .8s ease-out}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.shake{animation:shake .4s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.page-enter{animation:fadeIn .3s var(--ease)}.scanlines:after{content:"";position:fixed;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.02) 0px,rgba(0,0,0,.02) 1px,transparent 1px,transparent 2px);pointer-events:none;z-index:9999}.mobile-panel-toggle{display:none}.mobile-panel-btn{flex:1;padding:.6rem;text-align:center;font-size:.75rem;font-weight:600;color:var(--text-dim);background:none;border:none;border-top:2px solid transparent;transition:all var(--duration) var(--ease);display:flex;flex-direction:column;align-items:center;gap:.15rem;min-height:48px;justify-content:center}.mobile-panel-btn .panel-icon{font-size:1.1rem}.mobile-panel-btn.active{color:var(--accent);border-top-color:var(--accent)}.mobile-code-toolbar{display:none}@media(max-width:768px){.mobile-code-toolbar{display:flex;gap:.25rem;padding:.4rem;background:#0b0f14f2;border-top:1px solid var(--border);overflow-x:auto;-webkit-overflow-scrolling:touch;flex-shrink:0;scrollbar-width:none}.mobile-code-toolbar::-webkit-scrollbar{display:none}.mobile-code-toolbar button{flex-shrink:0;padding:.4rem .6rem;min-width:36px;min-height:36px;border:1px solid var(--border);border-radius:var(--radius-xs);background:#7cf7c00f;color:var(--text-muted);font-family:var(--font);font-size:.8rem;font-weight:600;display:flex;align-items:center;justify-content:center}.mobile-code-toolbar button:active{background:#7cf7c033;color:var(--accent)}.mobile-code-toolbar .toolbar-sep{width:1px;background:var(--border);margin:.2rem .1rem;flex-shrink:0}}@media(max-width:1024px)and (min-width:769px){.workspace{padding-top:var(--navbar-h, 52px)}.sd-controls{flex-wrap:wrap;gap:.5rem}.sd-buttons{flex-wrap:wrap}.sd-buttons .btn{padding:.35rem .6rem;font-size:.75rem}.pane-problem{min-width:280px}.sd-results{max-height:200px}}@media(max-width:768px){.navbar{padding:.6rem 1rem;gap:.5rem;flex-wrap:wrap}.nav-hamburger{display:flex}.nav-links{display:none;width:100%;flex-direction:column;gap:0;order:10;border-top:1px solid var(--border);margin-top:.4rem;padding-top:.4rem}.nav-links.open{display:flex}.nav-link{padding:.6rem .5rem;min-height:44px;display:flex;align-items:center}.workspace{position:relative!important;display:flex;flex-direction:column;height:calc(100vh - var(--navbar-h, 52px) - 52px);min-height:0;overflow:hidden}.mobile-panel-toggle{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:200;background:#0b0f14f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom,0)}.pane-problem,.pane-editor{width:100%!important;border-right:none}.workspace .pane{display:none}.workspace.show-problem .pane-problem{display:block;overflow-y:auto;height:100%}.workspace.show-editor .pane-editor,.workspace.show-results .pane-editor{display:flex;height:100%}.workspace.show-results .tab-content{display:none!important}.workspace.show-results #tab-results{display:flex!important;flex-direction:column}.gutter{display:none}.pane-problem{padding:1rem}.problem-description{font-size:1rem;line-height:1.7}.problem-description pre{font-size:.82rem;overflow-x:auto}.problem-description code{font-size:.85em}.problem-title{font-size:1.15rem}#editor-container .cm-editor .cm-content{font-size:14px!important}#editor-container .cm-editor .cm-gutters{font-size:12px!important}#editor-container .cm-editor{font-size:14px!important}.btn{min-height:44px;padding:.6rem 1rem;font-size:.85rem}.btn kbd{display:none}.editor-actions{flex-wrap:wrap;gap:.4rem;padding:.5rem}.editor-actions .btn{flex:1;justify-content:center;min-width:0}.editor-tabs{flex-wrap:nowrap;overflow-x:auto}.tab{min-height:44px;padding:.6rem 1rem;white-space:nowrap}.sd-controls{flex-direction:column;gap:.5rem;padding:.5rem}.sd-buttons{flex-wrap:wrap}.sd-buttons .btn{flex:1;min-width:80px;justify-content:center;font-size:.8rem}.sd-buttons .btn kbd{display:none}.sd-status{min-width:auto}.file-tabs{flex-wrap:nowrap;overflow-x:auto}.file-tab{white-space:nowrap;min-height:38px}.filters-bar{flex-direction:column;align-items:stretch}.search-input{min-width:100%;font-size:16px}.stats-row{flex-direction:column;gap:.8rem}.problem-table{font-size:.85rem}.problem-table .col-category{display:none}.problem-table td{padding:.7rem .8rem;min-height:44px}.hero-body{padding:1.5rem}.features-grid{grid-template-columns:1fr}.profile-header{flex-direction:column;text-align:center}.leaderboard-table{font-size:.85rem}.hint-toggle{min-height:44px;padding:.8rem 0}.filter-btn{min-height:44px;padding:.6rem 1rem}.scanlines:after{display:none}body:before{display:none}.guest-banner{font-size:.8rem;padding:.6rem 1rem}.nav-user{font-size:.8rem;padding:.4rem .6rem}.landing-page{padding:1.5rem 1rem}.terminal-body{padding:1rem;min-height:200px;font-size:.78rem}.hero-cta{font-size:.95rem;min-height:48px;display:flex;align-items:center;justify-content:center}}@media(max-width:480px){.problem-table .col-number{display:none}.editor-actions{flex-wrap:wrap}.btn{justify-content:center}.btn kbd{display:none}.problem-title{font-size:1.05rem}.difficulty-badge{font-size:.7rem}.pane-problem{padding:.8rem}}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9998;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px;opacity:.4}:focus-visible{outline:2px solid var(--accent)!important;outline-offset:2px;box-shadow:0 0 12px #7cf7c04d}button:focus-visible,.btn:focus-visible{outline-offset:1px}a:not(.btn):not(.hero-cta):not(.nav-link):not(.mini-problem-row):not(.mini-problems-more){position:relative}.problem-description a,.profile-page a{color:var(--accent);position:relative;display:inline}.problem-description a:after,.profile-page a:after{content:"";position:absolute;bottom:-1px;left:0;width:0;height:1px;background:var(--accent);transition:width .3s var(--ease)}.problem-description a:hover:after,.profile-page a:hover:after{width:100%}.tab.active{border-bottom:2px solid transparent;border-image:linear-gradient(90deg,var(--accent),var(--accent-alt),var(--accent)) 1;animation:tabGradient 3s linear infinite}@keyframes tabGradient{0%{border-image:linear-gradient(90deg,var(--accent),var(--accent-alt),var(--accent)) 1}33%{border-image:linear-gradient(90deg,var(--accent-alt),var(--accent),var(--accent-warm)) 1}66%{border-image:linear-gradient(90deg,var(--accent-warm),var(--accent),var(--accent-alt)) 1}to{border-image:linear-gradient(90deg,var(--accent),var(--accent-alt),var(--accent)) 1}}.problem-title{position:relative;display:inline-block}.problem-title:after{content:"";position:absolute;bottom:-4px;left:0;width:100%;height:2px;background:linear-gradient(90deg,var(--accent),var(--accent-alt),transparent);background-size:200% 100%;animation:shimmerUnderline 4s linear infinite}@keyframes shimmerUnderline{0%{background-position:100% 0}to{background-position:-100% 0}}.results-summary.pass.celebrate{animation:acCelebrate 1.5s ease-out}@keyframes acCelebrate{0%{box-shadow:0 0 #50fa7b99,inset 0 0 30px #50fa7b33}30%{box-shadow:0 0 40px 10px #50fa7b4d,inset 0 0 20px #50fa7b1a}to{box-shadow:none}}.verdict-icon-ac{display:inline-block;width:24px;height:24px;vertical-align:middle}.verdict-icon-ac svg{overflow:visible}.verdict-icon-ac .checkmark-path{stroke-dasharray:30;stroke-dashoffset:30;animation:drawCheck .5s ease-out .2s forwards}@keyframes drawCheck{to{stroke-dashoffset:0}}.verdict-icon-fail{display:inline-block;width:24px;height:24px;vertical-align:middle}.verdict-icon-fail .x-line{stroke-dasharray:20;stroke-dashoffset:20;animation:drawX .3s ease-out forwards}.verdict-icon-fail .x-line:nth-child(2){animation-delay:.15s}@keyframes drawX{to{stroke-dashoffset:0}}.console-body:after{content:"█";color:var(--accent);animation:blink 1s step-end infinite}.problem-table tbody tr:nth-child(2n){background:#7cf7c004}.problem-table tbody tr:hover{background:#7cf7c00f;box-shadow:inset 0 0 20px #7cf7c008}.problem-table tbody tr:hover .difficulty-badge{animation:badgePulse .8s ease-in-out}@keyframes badgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.1);filter:brightness(1.3)}}.stat-card{position:relative;transition:all var(--duration) var(--ease)}.stat-card:hover{border-color:var(--border-hover);transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.test-case{animation:testCaseReveal .4s var(--ease) both}.test-case:nth-child(1){animation-delay:0s}.test-case:nth-child(2){animation-delay:.08s}.test-case:nth-child(3){animation-delay:.16s}.test-case:nth-child(4){animation-delay:.24s}.test-case:nth-child(5){animation-delay:.32s}.test-case:nth-child(6){animation-delay:.4s}.test-case:nth-child(7){animation-delay:.48s}.test-case:nth-child(8){animation-delay:.56s}@keyframes testCaseReveal{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.hero-terminal{position:relative}.hero-terminal:before{content:"";position:absolute;inset:-2px;border-radius:calc(var(--radius) + 2px);background:linear-gradient(135deg,rgba(124,247,192,.15),transparent 40%,transparent 60%,rgba(139,211,255,.1));z-index:-1;animation:heroGlow 4s ease-in-out infinite alternate}@keyframes heroGlow{0%{opacity:.5;filter:blur(8px)}to{opacity:1;filter:blur(16px)}}.matrix-col{opacity:.08!important}.problem-description pre code .syn-hl-number{color:var(--syn-number)}.problem-description pre code .syn-hl-string{color:var(--syn-string)}.problem-description pre code .syn-hl-keyword{color:var(--syn-keyword)}.problem-description pre code .syn-hl-bracket{color:var(--syn-variable)}.problem-description pre code .syn-hl-label{color:var(--syn-flag);font-weight:600}.problem-description pre code .syn-hl-arrow{color:var(--syn-path)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.text-accent{color:var(--accent)}.text-muted{color:var(--text-muted)}.text-dim{color:var(--text-dim)}.text-easy{color:var(--easy)}.text-medium{color:var(--medium)}.text-hard{color:var(--hard)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#0b0f1480}::-webkit-scrollbar-thumb{background:#7cf7c033;border-radius:5px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#7cf7c066;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-corner{background:var(--bg)}*{scrollbar-width:auto;scrollbar-color:rgba(124,247,192,.2) rgba(11,15,20,.5)}.guest-banner{padding:.4rem 1rem;background:#ffd1661a;border-bottom:1px solid rgba(255,209,102,.2);color:var(--accent-warm);font-size:.75rem;flex-shrink:0;display:flex;align-items:center;gap:.5rem}.timeout-overlay{position:fixed;inset:0;z-index:9999;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;animation:fadeIn .3s var(--ease)}.timeout-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;max-width:400px;text-align:center;box-shadow:var(--shadow-heavy)}.timeout-modal h3{color:var(--accent-warm);margin-bottom:.5rem}.timeout-modal p{color:var(--text-muted);font-size:.85rem}.console-output{margin:.5rem 0;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.console-header{padding:.4rem .8rem;background:#0b0f1499;border-bottom:1px solid var(--border);font-size:.8rem;font-weight:600;color:var(--text-muted)}.console-body{padding:.8rem;margin:0;background:var(--bg-code);color:var(--accent);font-size:.8rem;line-height:1.5;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto}.problem-description pre code .syn-hl-type{color:var(--syn-flag)}.sd-badge{background:#8bd3ff26;color:var(--accent-alt);padding:.2rem .6rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;margin-left:.5rem;letter-spacing:.5px}.sd-tag{background:#8bd3ff26;color:var(--accent-alt);padding:.1rem .3rem;border-radius:3px;font-size:.65rem;font-weight:600;margin-left:.3rem;vertical-align:middle}.sd-controls{display:flex;align-items:center;gap:1rem;padding:.6rem 1rem;background:var(--bg-surface);border-top:1px solid var(--border);flex-shrink:0}.sd-status{display:flex;align-items:center;gap:.5rem;font-size:.85rem;min-width:180px}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--text-dim);flex-shrink:0}.status-dot.offline{background:var(--text-dim)}.status-dot.starting,.status-dot.deploying,.status-dot.testing{background:var(--accent-warm);animation:pulse 1s infinite}.status-dot.ready{background:var(--accent-alt)}.status-dot.running{background:var(--easy)}.status-dot.passed{background:var(--easy);box-shadow:0 0 8px var(--easy)}.status-dot.failed,.status-dot.error{background:var(--accent-danger)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.sd-buttons{display:flex;gap:.5rem;flex:1}.sd-buttons .btn{padding:.4rem .8rem;font-size:.8rem}.btn-danger{background:transparent;color:var(--accent-danger);border:1px solid var(--accent-danger)}.btn-danger:hover{background:#ff6b6b1a}.sandbox-timer{display:flex;align-items:center;gap:.3rem;font-size:.8rem;color:var(--accent-warm);font-family:var(--font-mono)}.sd-results{padding:.8rem 1rem;border-top:1px solid var(--border);max-height:250px;overflow-y:auto;flex-shrink:0}.sd-results-header{display:flex;align-items:center;gap:.8rem;margin-bottom:.6rem}.sd-test-list{display:flex;flex-direction:column;gap:.3rem}.sd-test-item{display:flex;align-items:flex-start;gap:.5rem;padding:.4rem .6rem;border-radius:var(--radius-sm);font-size:.85rem}.sd-test-item.test-pass{background:#50fa7b0d}.sd-test-item.test-fail{background:#ff6b6b0d}.test-icon{flex-shrink:0;width:1.2em}.test-pass .test-icon{color:var(--easy)}.test-fail .test-icon{color:var(--accent-danger)}.test-error{font-size:.78rem;color:var(--accent-danger);margin-top:.2rem}.sd-logs{padding:.8rem 1rem;border-top:1px solid var(--border);max-height:150px;overflow-y:auto;flex-shrink:0}.log-output{background:var(--bg-code);padding:.6rem;border-radius:var(--radius-sm);font-size:.75rem;max-height:100px;overflow-y:auto;color:var(--text-dim);white-space:pre-wrap;margin:0}.file-tabs{display:flex;gap:2px}.file-tab{background:var(--bg-surface);border:1px solid var(--border);border-bottom:none;color:var(--text-dim);padding:.3rem .8rem;font-size:.78rem;cursor:pointer;font-family:var(--font-mono);border-radius:var(--radius-sm) var(--radius-sm) 0 0}.file-tab.active{background:var(--bg-code);color:var(--accent);border-color:var(--accent)}.sample-test-item{padding:.3rem .6rem;margin-bottom:.2rem;font-size:.85rem;font-family:var(--font-mono)}.sd-deploy-progress{display:flex;align-items:center;gap:.6rem;padding:.5rem 1rem;background:#8bd3ff14;border-top:1px solid rgba(139,211,255,.2);font-size:.8rem;color:var(--accent-alt);flex-shrink:0}.deploy-spinner{width:16px;height:16px;border:2px solid rgba(139,211,255,.2);border-top-color:var(--accent-alt);border-radius:50%;animation:spin .6s linear infinite;flex-shrink:0}.sd-testing-spinner{display:flex;align-items:center;gap:.6rem;padding:.5rem 0;font-size:.85rem;color:var(--accent-alt)}.sandbox-timer.timer-warning{color:var(--accent-danger)!important;animation:timerPulse 1s ease-in-out infinite;font-weight:700;font-size:.9rem}@keyframes timerPulse{0%,to{opacity:1}50%{opacity:.5}}.sd-error-banner{background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);border-radius:var(--radius-sm);padding:.5rem .8rem;margin-bottom:.5rem;font-size:.8rem;color:var(--accent-danger)}.test-response-body{margin-top:.2rem;font-size:.75rem;color:var(--text-dim);max-height:80px;overflow-y:auto}.test-response-body code{font-size:.72rem;word-break:break-all}.test-details{flex:1;min-width:0}.sandbox-timer{display:flex;align-items:center;gap:.3rem;font-size:.85rem;color:var(--accent-warm);font-weight:600;padding:.2rem .6rem;background:#ffd16614;border-radius:var(--radius-sm);border:1px solid rgba(255,209,102,.2)}.type-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.type-tab{background:transparent;border:1px solid var(--border);color:var(--text-muted);padding:.5rem 1.2rem;border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-mono);font-size:.85rem;transition:all .2s}.type-tab:hover{border-color:var(--accent);color:var(--text)}.type-tab.active{background:#7cf7c01a;border-color:var(--accent);color:var(--accent)}@media(max-width:768px){.pane-editor{padding-bottom:0}.editor-actions{position:relative;z-index:100;padding:.5rem;gap:.4rem}.editor-actions .btn{min-height:44px;font-size:.85rem;padding:.5rem .8rem}#turnstile-widget{max-width:120px;transform:scale(.65);transform-origin:left center;margin:-12px 0}.workspace.show-editor .pane-editor{height:100%;display:flex;flex-direction:column}.workspace.show-editor #editor-container{flex:1;min-height:0;overflow:hidden}.workspace.show-editor .cm-editor{max-height:100%}}.opt-container{padding:1rem;overflow-y:auto;max-height:calc(100vh - 200px)}.opt-title{color:var(--text);font-size:1.1rem;margin:0 0 .25rem}.opt-subtitle{color:var(--text-dim);font-size:.85rem;margin:0 0 1rem;line-height:1.5}.opt-roadmap{display:flex;align-items:center;gap:.25rem;margin-bottom:1.25rem;padding:.75rem;background:var(--bg-code);border-radius:var(--radius-sm);border:1px solid var(--border);overflow-x:auto;flex-wrap:wrap}.opt-roadmap-node{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.5rem .75rem;border-radius:var(--radius-sm);min-width:80px;text-align:center}.opt-roadmap-node.solved{background:#10b9811a;border:1px solid rgba(16,185,129,.3)}.opt-roadmap-node.unlocked{background:#3b82f61a;border:1px solid rgba(59,130,246,.3)}.opt-roadmap-node.locked{background:#6b728014;border:1px solid rgba(107,114,128,.2);opacity:.6}.opt-roadmap-icon{font-size:1.2rem}.opt-roadmap-label{font-size:.65rem;color:var(--text-dim);font-weight:700;text-transform:uppercase;letter-spacing:.05em}.opt-roadmap-name{font-size:.7rem;color:var(--text);white-space:nowrap}.opt-roadmap-connector{color:var(--text-dim);font-size:1rem;padding:0 .15rem}.opt-tier-card{border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:.75rem;overflow:hidden;transition:border-color .2s}.opt-tier-card.tier-solved{border-color:#10b98166}.opt-tier-card.tier-active{border-color:#3b82f666}.opt-tier-card.tier-locked{opacity:.55}.opt-tier-header{padding:.65rem .85rem;display:flex;justify-content:space-between;align-items:center;cursor:default;background:var(--bg-code);flex-wrap:wrap;gap:.5rem}.opt-tier-title{display:flex;align-items:center;gap:.5rem}.opt-tier-badge{font-size:.75rem;color:var(--accent);font-weight:700}.opt-tier-card.tier-solved .opt-tier-badge{color:#10b981}.opt-tier-card.tier-locked .opt-tier-badge{color:var(--text-dim)}.opt-tier-name{font-size:.9rem;color:var(--text);font-weight:600}.opt-badges{display:flex;gap:.4rem;flex-wrap:wrap}.opt-badge{font-size:.7rem;padding:.15rem .45rem;border:1px solid;border-radius:3px;font-family:var(--font-mono, monospace)}.opt-tier-body{padding:.75rem .85rem}.opt-tier-body.locked-body{padding:.5rem .85rem}.opt-locked-msg{color:var(--text-dim);font-size:.85rem;margin:0;font-style:italic}.opt-target{color:var(--text-dim);font-size:.8rem;margin-bottom:.75rem;padding:.4rem .65rem;background:var(--bg-code);border-radius:var(--radius-sm);border-left:3px solid var(--accent);font-family:var(--font-mono, monospace)}.opt-solved-banner{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.75rem;padding:.5rem .75rem;background:#10b98114;border:1px solid rgba(16,185,129,.25);border-radius:var(--radius-sm);font-size:.8rem;color:#10b981;font-weight:600}.opt-runtime{color:var(--text);font-weight:400;font-family:var(--font-mono, monospace)}.opt-benchmark{color:var(--text-dim);font-weight:400;font-family:var(--font-mono, monospace)}.opt-peeked-tag{color:#f59e0b;font-weight:400;font-size:.75rem}.opt-thinking-box{display:flex;gap:.65rem;margin-bottom:.75rem;padding:.65rem .85rem;background:#3b82f60f;border:1px solid rgba(59,130,246,.2);border-radius:var(--radius-sm)}.opt-thinking-icon{font-size:1.3rem;flex-shrink:0;margin-top:.1rem}.opt-thinking-text{color:var(--text);font-size:.85rem;line-height:1.6;font-style:italic}.opt-stuck-box{margin-bottom:.65rem}.opt-stuck-toggle{background:none;border:1px solid var(--border);color:var(--text-dim);padding:.35rem .7rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.8rem;transition:all .15s}.opt-stuck-toggle:hover{border-color:#f59e0b;color:#f59e0b}.opt-stuck-content{color:var(--text);font-size:.85rem;padding:.5rem .75rem;background:var(--bg-code);border-radius:var(--radius-sm);border-left:3px solid #f59e0b;margin-top:.5rem;line-height:1.5}.opt-stuck-content.hidden{display:none}.opt-solution-revealed{margin-top:.5rem}.opt-solution-toggle-wrap{margin-bottom:.5rem}.opt-solution-toggle{background:none;border:1px solid var(--border);color:var(--text-dim);padding:.35rem .7rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.8rem;transition:all .15s}.opt-solution-toggle:hover{border-color:var(--accent);color:var(--accent)}.opt-solution-content{margin-top:.5rem}.opt-solution-content.hidden{display:none}.opt-peek-box{margin-top:.5rem}.opt-peek-btn{background:none;border:1px dashed var(--border);color:var(--text-dim);padding:.4rem .8rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.8rem;transition:all .15s}.opt-peek-btn:hover{border-color:#f59e0b;color:#f59e0b}.opt-peek-btn:disabled{opacity:.5;cursor:not-allowed}.opt-code{background:var(--bg-code);padding:.75rem;border-radius:var(--radius-sm);border:1px solid var(--border);font-size:.8rem;overflow-x:auto;margin:0 0 .5rem}.opt-code code{color:var(--text);font-family:var(--font-mono, monospace);white-space:pre}.opt-explanation{color:var(--text-dim);font-size:.8rem;line-height:1.5;margin-bottom:.5rem;padding:.5rem .75rem;background:var(--bg-code);border-radius:var(--radius-sm);border-left:3px solid #10b981}.opt-try-btn{background:var(--accent);color:#000;border:none;padding:.4rem .8rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.8rem;font-weight:600;transition:opacity .15s;margin-top:.25rem}.opt-try-btn:hover{opacity:.85}.editor-tabs{position:relative}.editor-tabs-right{display:flex;align-items:center;gap:.5rem;margin-left:auto;padding-right:.5rem}.save-indicator{font-size:.7rem;color:var(--easy);opacity:0;transition:opacity .3s var(--ease);white-space:nowrap}.save-indicator.visible{opacity:1}.last-saved{font-size:.65rem;color:var(--text-dim);white-space:nowrap}.settings-dropdown-wrap{position:relative}.btn-settings{background:none;border:1px solid var(--border);border-radius:var(--radius-xs);padding:.3rem .5rem;font-size:.85rem;color:var(--text-muted);transition:all var(--duration) var(--ease);cursor:pointer}.btn-settings:hover{border-color:var(--accent);color:var(--accent)}.settings-dropdown{display:none;position:absolute;top:calc(100% + 4px);right:0;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.8rem;min-width:200px;z-index:500;box-shadow:var(--shadow-card)}.settings-dropdown.open{display:block}.settings-title{font-size:.8rem;font-weight:700;color:var(--text);margin-bottom:.6rem}.settings-group{margin-bottom:.5rem}.settings-group label{font-size:.7rem;color:var(--text-dim);display:block;margin-bottom:.25rem}.settings-toggle-row{display:flex;gap:.25rem}.settings-opt{padding:.25rem .6rem;border:1px solid var(--border);border-radius:var(--radius-xs);background:none;color:var(--text-muted);font-size:.75rem;font-weight:600;transition:all var(--duration) var(--ease);cursor:pointer}.settings-opt:hover{border-color:var(--accent);color:var(--accent)}.settings-opt.active{background:#7cf7c026;border-color:var(--accent);color:var(--accent)}.settings-divider{height:1px;background:var(--border);margin:.5rem 0}.settings-link{background:none;border:none;color:var(--text-muted);font-size:.75rem;cursor:pointer;padding:.25rem 0;width:100%;text-align:left}.settings-link:hover{color:var(--accent)}.shortcuts-modal-overlay{position:fixed;inset:0;z-index:10000;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;animation:fadeIn .2s var(--ease)}.shortcuts-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);max-width:400px;width:90%;box-shadow:var(--shadow-heavy)}.shortcuts-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.2rem;border-bottom:1px solid var(--border)}.shortcuts-header h3{margin:0;font-size:1rem;color:var(--text)}.shortcuts-close{background:none;border:none;color:var(--text-dim);font-size:1.5rem;cursor:pointer}.shortcuts-close:hover{color:var(--text)}.shortcuts-body{padding:1rem 1.2rem}.shortcut-row{display:flex;justify-content:space-between;align-items:center;padding:.4rem 0;border-bottom:1px solid rgba(117,255,171,.06);font-size:.85rem}.shortcut-row kbd{background:#7cf7c01a;padding:.2rem .5rem;border-radius:3px;font-size:.75rem;color:var(--accent);border:1px solid var(--border)}.shortcut-row span{color:var(--text-muted)}.toast-container{position:fixed;top:70px;right:1rem;z-index:10000;display:flex;flex-direction:column;gap:.5rem}.toast{background:var(--bg-card);border:1px solid var(--accent);border-radius:var(--radius-sm);padding:.6rem 1rem;color:var(--text);font-size:.8rem;max-width:360px;box-shadow:0 8px 24px #0006;opacity:0;transform:translate(20px);transition:all .3s var(--ease)}.toast.visible{opacity:1;transform:translate(0)}.completion-stats{display:flex;gap:1.5rem;margin-bottom:.8rem;font-size:.85rem;color:var(--text-muted)}.completion-stat{display:flex;align-items:center;gap:.3rem}.theme-toggle{background:none;border:1px solid var(--border);border-radius:var(--radius-xs);padding:.3rem .6rem;font-size:.85rem;color:var(--text-muted);cursor:pointer;transition:all var(--duration) var(--ease)}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}body.light-theme{--bg: #f5f5f5;--bg-surface: rgba(255, 255, 255, .9);--bg-code: #ffffff;--bg-card: #ffffff;--bg-gradient: radial-gradient(circle at top, #e8f0fe, #f5f5f5 45%, #eee);--text: #1a1a2e;--text-muted: rgba(26, 26, 46, .75);--text-dim: rgba(26, 26, 46, .5);--border: rgba(26, 26, 46, .15);--border-hover: rgba(26, 26, 46, .35);--glow: rgba(16, 185, 129, .2);--shadow-card: 0 4px 12px rgba(0,0,0,.08);--shadow-heavy: 0 8px 24px rgba(0,0,0,.12)}body.light-theme .sparks-layer{display:none}body.light-theme:before{display:none}body.light-theme .matrix-col{display:none}@media(max-width:768px){.editor-tabs-right{gap:.3rem;padding-right:.3rem}.save-indicator{font-size:.6rem}.last-saved{display:none}.settings-dropdown{right:-1rem;min-width:180px}}.sd-onboarding{background:#4ecdc414;border:1px solid rgba(78,205,196,.25);border-radius:8px;padding:.8rem 1rem;margin-bottom:1rem}.sd-onboarding-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.sd-onboarding-title{font-weight:600;color:var(--accent);font-size:.95rem}.sd-onboarding-close{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:1.1rem;padding:0 .3rem}.sd-onboarding-close:hover{color:var(--text)}.sd-onboarding-steps{display:grid;gap:.35rem}.sd-onboarding-step{display:flex;align-items:center;gap:.6rem;font-size:.85rem;color:var(--text-dim)}.sd-onboarding-step strong{color:var(--text)}.step-num{display:inline-flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;border-radius:50%;background:var(--accent);color:#000;font-size:.75rem;font-weight:700;flex-shrink:0}.btn-cta{animation:cta-pulse 2s ease-in-out infinite;box-shadow:0 0 12px #4ecdc44d}@keyframes cta-pulse{0%,to{box-shadow:0 0 8px #4ecdc433}50%{box-shadow:0 0 18px #4ecdc473}}.btn-greyed{opacity:.4;cursor:not-allowed}.btn-greyed:hover{opacity:.5}.btn-assistant-toggle{background:#7cf7c01a!important;border:1px solid rgba(124,247,192,.3)!important;color:var(--accent)!important;font-size:.8rem!important;padding:.35rem .75rem!important;transition:all var(--duration) var(--ease)}.btn-assistant-toggle:hover{background:#7cf7c033!important;border-color:#7cf7c080!important}.btn-assistant-toggle.active{background:#7cf7c040!important;border-color:var(--accent)!important;box-shadow:0 0 12px #7cf7c033}.assistant-panel{position:fixed;top:0;right:-420px;width:400px;height:100vh;background:var(--bg);border-left:1px solid var(--border);display:flex;flex-direction:column;z-index:200;transition:right .3s var(--ease);box-shadow:-8px 0 30px #0006}.assistant-panel.open{right:0}.assistant-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border);background:#0b0f14f2;flex-shrink:0}.assistant-title{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;color:var(--text)}.assistant-icon{font-size:1.1rem}.assistant-status{font-size:.6rem;color:var(--text-dim);transition:color .3s}.assistant-status.status-active{color:var(--easy)}.assistant-status.status-thinking{color:var(--accent-warm);animation:statusPulse 1s infinite}.assistant-status.status-expired{color:var(--accent-danger)}@keyframes statusPulse{0%,to{opacity:1}50%{opacity:.3}}.assistant-close{background:none;border:none;color:var(--text-dim);font-size:1.4rem;padding:.2rem .4rem;border-radius:var(--radius-xs);transition:all var(--duration)}.assistant-close:hover{background:#ff6b6b26;color:var(--accent-danger)}.assistant-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.assistant-messages::-webkit-scrollbar{width:4px}.assistant-messages::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.assistant-welcome{text-align:center;padding:2rem 1rem;color:var(--text-dim);font-size:.85rem;line-height:1.6}.assistant-welcome-icon{font-size:2.5rem;margin-bottom:1rem}.assistant-welcome p{margin-bottom:.5rem}.assistant-msg{max-width:95%;animation:msgSlideIn .2s var(--ease)}.assistant-msg-user{align-self:flex-end}.assistant-msg-user .assistant-msg-text{background:#7cf7c01f;border:1px solid rgba(124,247,192,.2);border-radius:var(--radius-sm) var(--radius-sm) var(--radius-xs) var(--radius-sm);padding:.6rem .85rem;font-size:.85rem;color:var(--text);white-space:pre-wrap;word-break:break-word}.assistant-msg-assistant{align-self:flex-start}.assistant-msg-assistant .assistant-msg-text{background:#8bd3ff0f;border:1px solid rgba(139,211,255,.12);border-radius:var(--radius-sm) var(--radius-sm) var(--radius-sm) var(--radius-xs);padding:.6rem .85rem;font-size:.85rem;color:var(--text);line-height:1.6;word-break:break-word}.assistant-msg-assistant .assistant-msg-text code.assistant-inline-code{background:#7cf7c01a;padding:.15rem .35rem;border-radius:3px;font-size:.82rem;color:var(--accent)}.assistant-msg-assistant .assistant-msg-text pre.assistant-code{background:var(--bg-code);border:1px solid var(--border);border-radius:var(--radius-xs);padding:.6rem;margin:.5rem 0;overflow-x:auto;font-size:.8rem}@keyframes msgSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.assistant-thinking{margin-bottom:.4rem}.thinking-toggle{background:none;border:none;color:var(--text-dim);font-size:.75rem;padding:.2rem 0;cursor:pointer;opacity:.7;transition:opacity var(--duration)}.thinking-toggle:hover{opacity:1}.thinking-text{max-height:0;overflow:hidden;transition:max-height .3s var(--ease);font-size:.75rem;color:var(--text-dim);font-style:italic;padding:0;white-space:pre-wrap}.thinking-text.expanded{max-height:300px;overflow-y:auto;padding:.4rem 0}.assistant-edit-badge{font-size:.75rem;color:var(--accent);background:#7cf7c014;border:1px solid rgba(124,247,192,.15);border-radius:var(--radius-xs);padding:.25rem .5rem;margin-top:.4rem;display:inline-block}.typing-indicator{display:inline-flex;gap:4px;padding:.2rem 0}.typing-indicator span{width:6px;height:6px;background:var(--text-dim);border-radius:50%;animation:typingBounce 1.2s infinite}.typing-indicator span:nth-child(2){animation-delay:.15s}.typing-indicator span:nth-child(3){animation-delay:.3s}@keyframes typingBounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.assistant-gate{padding:1.5rem;text-align:center;color:var(--text-dim);font-size:.85rem}.assistant-gate p{margin-bottom:1rem}.assistant-input-area{display:flex;flex-direction:column;padding:.75rem;border-top:1px solid var(--border);background:#0b0f14f2;flex-shrink:0}.assistant-input-wrap{display:flex;align-items:flex-end;gap:.5rem;background:#060a0fcc;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.4rem .5rem;transition:border-color var(--duration)}.assistant-input-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px #7cf7c01a}#assistant-input{flex:1;background:none;border:none;color:var(--text);font-family:var(--font);font-size:.85rem;resize:none;outline:none;min-height:24px;max-height:120px;line-height:1.5}#assistant-input::placeholder{color:var(--text-dim);font-size:.8rem}.assistant-send{width:28px;height:28px;border-radius:50%;border:none;background:var(--accent);color:var(--bg);font-size:.85rem;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all var(--duration);flex-shrink:0}.assistant-send:hover:not(:disabled){background:#5de8a8;transform:scale(1.05)}.assistant-send:disabled{opacity:.3;cursor:not-allowed}.assistant-footer{display:flex;justify-content:space-between;align-items:center;padding:.3rem .2rem 0;font-size:.65rem;color:var(--text-dim)}.assistant-model{opacity:.5}.assistant-edit-highlight{pointer-events:none;z-index:10;border-radius:2px;transition:opacity 1s var(--ease)}.assistant-edit-highlight.assistant-edit-insert{background:#50fa7b1f;border-left:2px solid rgba(80,250,123,.5)}.assistant-edit-highlight.assistant-edit-delete{background:#ff6b6b1f;border-left:2px solid rgba(255,107,107,.5)}.assistant-edit-highlight.fade-out{opacity:0}@media(max-width:768px){.assistant-panel{width:100vw;right:-100vw;top:0}.assistant-panel.open{right:0}}
