@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap";:root{--bg-main:#08090c;--bg-card:#12141db3;--bg-terminal:#0c0e14;--border-color:#ffffff14;--border-glow:#8b5cf626;--accent-primary:#8b5cf6;--accent-primary-rgb:139, 92, 246;--accent-secondary:#06b6d4;--accent-success:#10b981;--accent-warning:#f59e0b;--accent-error:#ef4444;--accent-error-rgb:239, 68, 68;--font-sans:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#475569;--border-radius-lg:16px;--border-radius-md:10px;--border-radius-sm:6px;--transition-normal:all .3s cubic-bezier(.4, 0, .2, 1);--transition-fast:all .15s cubic-bezier(.4, 0, .2, 1);background-color:var(--bg-main);color:var(--text-primary);font-family:var(--font-sans);box-sizing:border-box;min-height:100vh;margin:0;padding:0}*,:before,:after{box-sizing:inherit}body{background-image:radial-gradient(circle at 10% 20%,#8b5cf60a 0%,#0000 40%),radial-gradient(circle at 90% 80%,#0676d40a 0%,#0000 45%);background-attachment:fixed;margin:0;overflow-x:hidden}#app{flex-direction:column;max-width:1200px;min-height:100vh;margin:0 auto;padding:0 24px;display:flex}.app-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:32px;padding:24px 0;display:flex}.header-logo{cursor:pointer;align-items:center;gap:10px;display:flex}.logo-terminal{font-family:var(--font-mono);color:var(--accent-secondary);text-shadow:0 0 10px #06b6d44d;font-size:24px;font-weight:700}.logo-text{letter-spacing:-.5px;background:linear-gradient(135deg, var(--text-primary) 30%, var(--accent-primary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:26px;font-weight:700}.header-tagline{color:var(--text-secondary);letter-spacing:.5px;opacity:.8;font-size:14px;font-weight:400}.screen-section{opacity:0;flex-grow:1;transition:opacity .3s,transform .3s;display:none;transform:translateY(12px)}.screen-section.active{opacity:1;flex-direction:column;display:flex;transform:translateY(0)}.section-header{margin-bottom:28px}.section-header h2{letter-spacing:-.5px;margin:0 0 6px;font-size:32px;font-weight:600}.section-header p{color:var(--text-secondary);margin:0;font-size:16px}.filter-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px;display:flex}.search-box{flex-grow:1;max-width:400px;position:relative}.search-box input{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-md);width:100%;color:var(--text-primary);font-family:var(--font-sans);transition:var(--transition-fast);outline:none;padding:12px 16px 12px 42px;font-size:15px}.search-box input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #8b5cf626}.search-box .icon{color:var(--text-secondary);pointer-events:none;width:18px;height:18px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.filter-groups{border-radius:var(--border-radius-md);border:1px solid var(--border-color);background-color:#ffffff08;gap:8px;padding:4px;display:flex}.filter-btn{color:var(--text-secondary);border-radius:var(--border-radius-sm);font-family:var(--font-sans);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;padding:8px 16px;font-size:14px;font-weight:500}.filter-btn:hover{color:var(--text-primary)}.filter-btn.active{color:var(--text-primary);background-color:#ffffff14}.problems-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;margin-bottom:40px;display:grid}.problem-card{background-color:var(--bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);cursor:pointer;height:200px;transition:var(--transition-normal);flex-direction:column;justify-content:space-between;padding:24px;display:flex;position:relative;overflow:hidden}.problem-card:before{content:"";background:linear-gradient(90deg, var(--accent-primary), var(--accent-secondary));opacity:0;width:100%;height:3px;transition:var(--transition-normal);position:absolute;top:0;left:0}.problem-card:hover{box-shadow:0 12px 30px #0000004d, 0 0 20px var(--border-glow);border-color:#8b5cf64d;transform:translateY(-4px)}.problem-card:hover:before{opacity:1}.card-top{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.card-title{color:var(--text-primary);margin:0;font-size:20px;font-weight:600;line-height:1.3}.difficulty-badge{text-transform:uppercase;letter-spacing:.8px;border:1px solid #0000;border-radius:20px;padding:4px 10px;font-size:11px;font-weight:600}.difficulty-badge.easy{color:var(--accent-success);background-color:#10b98114;border-color:#10b98133}.difficulty-badge.medium{color:var(--accent-warning);background-color:#f59e0b14;border-color:#f59e0b33}.difficulty-badge.hard{color:var(--accent-error);background-color:#ef444414;border-color:#ef444433}.card-description{color:var(--text-secondary);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:14px;line-height:1.5;display:-webkit-box;overflow:hidden}.card-footer{border-top:1px solid #ffffff0a;justify-content:space-between;align-items:center;margin-top:14px;padding-top:14px;display:flex}.lang-indicator{color:var(--text-muted);font-size:13px;font-family:var(--font-mono);align-items:center;gap:6px;display:flex}.lang-dot{background-color:#f1e05a;border-radius:50%;width:8px;height:8px}.start-prompt{color:var(--accent-primary);opacity:0;transition:var(--transition-normal);align-items:center;gap:4px;font-size:13px;font-weight:600;display:flex;transform:translate(-4px)}.problem-card:hover .start-prompt{opacity:1;transform:translate(0)}.typing-nav{align-items:center;gap:16px;margin-bottom:16px;display:flex}.action-btn-secondary{border:1px solid var(--border-color);color:var(--text-primary);border-radius:var(--border-radius-md);font-family:var(--font-sans);cursor:pointer;transition:var(--transition-fast);background-color:#ffffff0a;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;display:flex}.action-btn-secondary:hover{background-color:#ffffff14;border-color:#ffffff26}.action-btn-secondary .icon{width:16px;height:16px}.typing-nav-title{align-items:center;gap:12px;font-size:20px;font-weight:600;display:flex}.problem-details-bar{border:1px dashed var(--border-color);border-radius:var(--border-radius-md);background-color:#ffffff05;margin-bottom:24px;padding:14px 20px}.problem-details-bar p{color:var(--text-secondary);margin:0;font-size:14.5px;line-height:1.5}.metrics-bar{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.metric-card{border:1px solid var(--border-color);border-radius:var(--border-radius-md);transition:var(--transition-fast);background-color:#ffffff05;flex-direction:column;align-items:center;padding:12px;display:flex}.metric-card:hover{border-color:#8b5cf633}.metric-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:12px}.metric-value{font-size:24px;font-weight:700;font-family:var(--font-mono);color:var(--text-primary)}.terminal-container{background-color:var(--bg-terminal);border-radius:var(--border-radius-lg);border:1px solid #ffffff14;flex-direction:column;height:480px;margin-bottom:24px;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 40px #00000080,inset 0 1px #ffffff0d}.terminal-header{background-color:#ffffff05;border-bottom:1px solid #ffffff0f;align-items:center;padding:12px 20px;display:flex;position:relative}.terminal-dots{gap:8px;display:flex;position:absolute;left:20px}.dot{border-radius:50%;width:12px;height:12px;display:inline-block}.dot.close{background-color:#ff5f56}.dot.minimize{background-color:#ffbd2e}.dot.expand{background-color:#27c93f}.terminal-tab{font-family:var(--font-mono);color:var(--text-secondary);border-radius:var(--border-radius-sm);background-color:#ffffff0a;border:1px solid #ffffff0a;align-items:center;gap:6px;margin:0 auto;padding:6px 14px;font-size:13px;display:flex}.tab-icon{width:12px;height:12px;color:var(--accent-secondary)}.terminal-body-wrapper{flex-grow:1;position:relative;overflow:hidden}.typing-input-hidden{opacity:0;cursor:default;resize:none;z-index:10;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.terminal-body{box-sizing:border-box;width:100%;height:100%;font-family:var(--font-mono);white-space:pre;tab-size:4;scrollbar-width:thin;scrollbar-color:#ffffff1a transparent;outline:none;padding:24px;font-size:16px;line-height:1.6;position:relative;overflow-y:auto}.terminal-body::-webkit-scrollbar{width:8px}.terminal-body::-webkit-scrollbar-track{background:0 0}.terminal-body::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.terminal-body::-webkit-scrollbar-thumb:hover{background:#fff3}.code-line{flex-wrap:wrap;display:flex;position:relative}.char{height:1.6em;transition:color .12s,background-color .12s;display:inline-block;position:relative}.caret{background-color:var(--accent-primary);pointer-events:none;z-index:5;border-radius:1px;width:2px;transition:left 80ms cubic-bezier(.2,.8,.2,1),top 80ms cubic-bezier(.2,.8,.2,1),height 80ms;animation:1.1s steps(2,start) infinite blink;position:absolute;box-shadow:0 0 8px #8b5cf6cc}.caret.typing{opacity:1;animation:none}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.char.pending{opacity:.35}.char.correct{opacity:1;text-shadow:0 0 1px #ffffff1a}.char.incorrect{opacity:1;border-bottom:2px wavy var(--accent-error);background-color:#ef44441f;border-radius:2px;color:var(--accent-error)!important}.char.indent{opacity:.12;pointer-events:none;font-size:12px}.char.newline{margin-left:2px;font-size:13px}.char.newline.pending{color:var(--text-muted)}.char.newline.correct{color:var(--accent-success);opacity:.5}.char.newline.incorrect{color:var(--accent-error);background-color:#ef444426}.char.space.incorrect{background-color:#ef444440}.char.keyword{color:#ff79c6}.char.string{color:#50fa7b}.char.number,.char.boolean{color:#bd93f9}.char.builtin{color:#8be9fd}.char.function{color:#50fa7b}.char.identifier{color:#f8f8f2}.char.operator{color:#ff79c6}.char.punctuation{color:#f8f8f2}.char.comment{color:#6272a4;font-style:italic}.char.whitespace{color:var(--text-muted)}.char.text{color:#f8f8f2}.focus-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:15;pointer-events:all;cursor:pointer;background-color:#08090cd9;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .2s;display:flex;position:absolute;top:0;left:0}.focus-overlay.hidden{opacity:0;pointer-events:none}.focus-message{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-md);align-items:center;gap:12px;padding:16px 28px;display:flex;box-shadow:0 10px 30px #0006}.message-icon{width:20px;height:20px;color:var(--accent-primary);animation:2s infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.typing-footer{color:var(--text-secondary);justify-content:space-between;align-items:center;padding:0 8px;font-size:14px;display:flex}.guideline-item{align-items:center;gap:8px;display:flex}.key-badge{border:1px solid var(--border-color);font-family:var(--font-mono);color:var(--text-primary);background-color:#ffffff0f;border-radius:4px;padding:2px 8px;font-size:12px;box-shadow:0 2px #0003}.status-indicator-dot{background-color:var(--accent-secondary);border-radius:50%;width:8px;height:8px}.status-indicator-dot.typing-status{background-color:var(--accent-success);box-shadow:0 0 8px var(--accent-success)}.results-header{text-align:center;margin-bottom:40px}.results-badge{color:var(--accent-success);text-transform:uppercase;letter-spacing:.5px;background-color:#10b98114;border:1px solid #10b98133;border-radius:20px;align-items:center;gap:8px;margin-bottom:12px;padding:6px 14px;font-size:14px;font-weight:600;display:inline-flex}.badge-icon{width:16px;height:16px}.results-header h2{letter-spacing:-1px;margin:0;font-size:40px;font-weight:700}.results-grid{grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:48px;display:grid}.result-card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);transition:var(--transition-normal);flex-direction:column;align-items:center;padding:32px 24px;display:flex;position:relative;overflow:hidden}.result-card.highlight{border-color:var(--accent-primary);background-image:radial-gradient(circle at 100% 0,#8b5cf614 0%,#0000 70%)}.result-card:hover{border-color:#ffffff26;transform:translateY(-2px)}.result-label{text-transform:uppercase;color:var(--text-secondary);letter-spacing:.8px;margin-bottom:8px;font-size:13px}.result-value{font-size:64px;font-weight:800;line-height:1;font-family:var(--font-mono);color:var(--text-primary);margin-bottom:6px}.result-card.highlight .result-value{color:var(--accent-primary);text-shadow:0 0 20px #8b5cf633}.result-unit{color:var(--text-muted);text-transform:uppercase;font-size:12px;font-weight:500}.results-actions{justify-content:center;gap:16px;display:flex}.action-btn-primary{background-color:var(--accent-primary);color:#fff;border-radius:var(--border-radius-md);font-family:var(--font-sans);cursor:pointer;transition:var(--transition-fast);border:1px solid #0000;align-items:center;gap:10px;padding:12px 24px;font-size:16px;font-weight:600;display:flex;box-shadow:0 4px 14px #8b5cf64d}.action-btn-primary:hover{background-color:#7c3aed;transform:translateY(-1px);box-shadow:0 6px 20px #8b5cf666}.action-btn-primary .icon{width:18px;height:18px}.app-footer{text-align:center;border-top:1px solid var(--border-color);color:var(--text-muted);margin-top:auto;padding:40px 0;font-size:14px}@media (width<=900px){.metrics-bar,.results-grid{grid-template-columns:repeat(2,1fr)}.app-header{flex-direction:column;align-items:flex-start;gap:12px}}@media (width<=500px){.metrics-bar,.results-grid{grid-template-columns:1fr}.results-actions{flex-direction:column;width:100%}.action-btn-primary,.action-btn-secondary{justify-content:center;width:100%}}
