:root{--bg:#14171f;--surface:#1c2030;--surface-raised:#232838;--border:#2a2f42;--border-bright:#3a4060;--accent:#e8a33d;--accent-dim:#e8a33d33;--success:#4fb286;--success-dim:#4fb28622;--error:#e2675a;--error-dim:#e2675a22;--text:#edeef2;--text-muted:#8b91a6;--text-faint:#5c6178;--font-display:"Space Grotesk", system-ui, sans-serif;--font-body:"Inter", system-ui, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--radius:10px;--radius-sm:6px}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3{font-family:var(--font-display);margin:0}code,pre,textarea.code-input{font-family:var(--font-mono)}button{font-family:var(--font-body)}::selection{background:var(--accent-dim)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:8px}.page{flex-direction:column;gap:28px;max-width:760px;margin:0 auto;padding:48px 20px 80px;display:flex}.page-header{flex-direction:column;gap:10px;display:flex}.brand{align-items:center;gap:10px;display:flex}.brand-mark{font-family:var(--font-mono);color:var(--accent);font-size:22px;font-weight:700}.brand h1{letter-spacing:-.02em;font-size:26px;font-weight:700}.tagline{color:var(--text-muted);max-width:60ch;margin:0;font-size:15px;line-height:1.5}.page-main{flex-direction:column;gap:24px;display:flex}.page-footer{color:var(--text-faint);text-align:center;border-top:1px solid var(--border);padding-top:20px;font-size:13px}.problem-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:16px;padding:20px;display:flex}.form-row{gap:16px;display:flex}.field{flex-direction:column;flex:1;gap:6px;display:flex}.field-number{flex:0 0 120px}.field-language{flex:0 0 160px}.field label{color:var(--text-muted);font-size:13px;font-weight:500}.field input,.field select,.field textarea{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:10px 12px;font-size:14px}.field input::placeholder,.field textarea::placeholder{color:var(--text-faint)}.code-input{resize:vertical;min-height:220px;font-size:13px;line-height:1.55}.field-error{color:var(--error);margin:-4px 0 0;font-size:13px}.btn-primary{background:var(--accent);color:#1a1306;border-radius:var(--radius-sm);cursor:pointer;border:none;align-self:flex-start;padding:12px 20px;font-size:14px;font-weight:600;transition:opacity .15s}.btn-primary:hover:not(:disabled){opacity:.9}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{color:var(--accent);border:1px solid var(--border-bright);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:8px 14px;font-size:13px;font-weight:500}.btn-secondary:hover{background:var(--accent-dim)}.loading-state{color:var(--text-muted);align-items:center;gap:10px;padding:12px 4px;font-size:14px;display:flex}.loading-dot{background:var(--accent);border-radius:50%;width:7px;height:7px;animation:1.1s ease-in-out infinite pulse}.loading-dot:nth-child(2){animation-delay:.15s}.loading-dot:nth-child(3){animation-delay:.3s}@keyframes pulse{0%,80%,to{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.error-banner{background:var(--error-dim);border:1px solid var(--error);border-radius:var(--radius);flex-direction:column;gap:4px;padding:14px 16px;font-size:14px;display:flex}.error-banner strong{color:var(--error)}.result{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:18px;padding:24px;display:flex}.result-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.result-header h2{font-size:19px;font-weight:600}.tag-row{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.difficulty-badge{font-size:12px;font-weight:600;font-family:var(--font-mono);border-radius:100px;padding:3px 9px}.difficulty-easy{color:var(--success);background:var(--success-dim)}.difficulty-medium{color:var(--accent);background:var(--accent-dim)}.difficulty-hard{color:var(--error);background:var(--error-dim)}.topic-tag{color:var(--text-muted);background:var(--surface-raised);border:1px solid var(--border);border-radius:100px;padding:3px 9px;font-size:12px}.verdict-chip{font-family:var(--font-mono);letter-spacing:.04em;border-radius:var(--radius-sm);white-space:nowrap;border:1px solid #0000;padding:8px 14px;font-size:13px;font-weight:700}.verdict-pass{background:var(--success-dim);color:var(--success);border-color:var(--success)}.verdict-fail{background:var(--error-dim);color:var(--error);border-color:var(--error)}.verdict-neutral{background:var(--accent-dim);color:var(--accent);border-color:var(--accent)}.correctness-explanation{color:var(--text-muted);margin:0;font-size:14px;line-height:1.6}.hint-panel{background:var(--accent-dim);border:1px solid var(--accent);border-radius:var(--radius-sm);padding:14px 16px;font-size:14px;line-height:1.6}.hint-panel-correctness{color:var(--text)}.hint-label{color:var(--accent);font-weight:600;font-family:var(--font-mono);font-size:12px}.hint-panel-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.hint-panel-title{font-size:14px;font-weight:500}.hint-loading{color:var(--text-muted);margin:8px 0 0;font-size:13px}.hint-text{margin:10px 0 0}.hint-error{color:var(--error);justify-content:space-between;align-items:center;gap:12px;margin-top:8px;font-size:13px;display:flex}.result-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (width<=600px){.result-grid{grid-template-columns:1fr}.form-row{flex-direction:column}.field-number,.field-language{flex:1}}.result-card{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:8px;padding:14px 16px;display:flex}.result-card h3{text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);font-size:12px;font-family:var(--font-body);font-weight:600}.result-card p{color:var(--text-muted);margin:0;font-size:13px;line-height:1.55}.pill{font-size:12px;font-weight:600;font-family:var(--font-mono);border-radius:100px;align-self:flex-start;padding:3px 10px}.pill-likely{background:var(--success-dim);color:var(--success)}.pill-likely-tle{background:var(--error-dim);color:var(--error)}.pill-unknown{background:var(--border);color:var(--text-muted)}.complexity-row{flex-wrap:wrap;gap:8px;display:flex}.complexity-badge{font-family:var(--font-mono);color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 10px;font-size:13px;font-weight:600}.pattern-tag{font-family:var(--font-mono);color:var(--accent);align-self:flex-start;font-size:13px;font-weight:600}.quality-notes{color:var(--text-muted);margin:0;padding-left:18px;font-size:13px;line-height:1.6}.execution-section h3{text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);margin-bottom:10px;font-size:13px;font-weight:600}.execution-unavailable{color:var(--text-muted);background:var(--surface-raised);border:1px dashed var(--border-bright);border-radius:var(--radius-sm);margin:0;padding:12px 14px;font-size:13px;line-height:1.5}.case-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.case-item{border-radius:var(--radius-sm);border:1px solid var(--border);padding:10px 12px}.case-pass{border-color:var(--success);background:var(--success-dim)}.case-fail{border-color:var(--error);background:var(--error-dim)}.case-item-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.case-status{font-family:var(--font-mono);font-size:12px;font-weight:700}.case-pass .case-status{color:var(--success)}.case-fail .case-status{color:var(--error)}.case-judge-status{color:var(--text-faint);font-size:11px}.case-detail{flex-direction:column;gap:3px;display:flex}.case-detail code{color:var(--text-muted);white-space:pre-wrap;word-break:break-word;font-size:12px}
