:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh;background:#0a0a0a;color:#fafafa}.shell{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.menu-card{max-width:520px;width:100%;border:1px solid rgba(255,255,255,.1);padding:2rem;border-radius:.75rem;background:#ffffff08;display:flex;flex-direction:column;gap:1.25rem}h1{margin:0;font-size:1.75rem;font-weight:700;letter-spacing:-.02em}.subtitle{margin:0;color:#ffffff8c;font-size:.95rem}.option-group{display:flex;flex-direction:column;gap:.5rem}.option-group label{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:#ffffff73}.option-row{display:flex;gap:.5rem}.option-btn{flex:1;padding:.55rem .75rem;border-radius:.5rem;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#ffffffb3;font-size:.85rem;cursor:pointer;transition:all .15s}.option-btn:hover{border-color:#ffffff40;background:#ffffff14}.option-btn.active{border-color:#646cff;background:#646cff26;color:#fff}.start-btn{padding:.75rem 1.5rem;border-radius:.5rem;border:none;background:#646cff;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:background .15s}.start-btn:hover{background:#535bf2}.legend{display:flex;flex-wrap:wrap;gap:.5rem 1rem;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.06)}.legend-item{display:flex;align-items:center;gap:.35rem;font-size:.7rem;color:#ffffff80}.legend-dot{width:10px;height:10px;border-radius:2px;flex-shrink:0}.game-shell{min-height:100vh;display:flex;flex-direction:column;padding:.75rem;gap:.75rem;max-width:100vw;overflow-x:auto}.game-header{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:0 .25rem}.game-info{display:flex;gap:1rem;font-size:.85rem;font-weight:500}.question-counter{color:#ffffff80}.score-display{color:#646cff}.streak-display{color:#f1c40f}.timer-bar{flex:1;height:6px;border-radius:3px;background:#ffffff14;overflow:hidden;min-width:80px}.timer-fill{height:100%;border-radius:3px;background:#646cff;transition:width .3s linear}.timer-bar.urgent .timer-fill{background:#e74c3c}.timer-text{font-size:.85rem;font-weight:600;min-width:2.5rem;text-align:right;color:#fff9}.timer-bar.urgent+.timer-text{color:#e74c3c}.question-area{display:flex;justify-content:center}.question-prompt{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:1rem 2rem;border-radius:.75rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);transition:border-color .3s,background .3s;text-align:center}.question-prompt.correct-flash{border-color:#2ecc71;background:#2ecc7114}.question-prompt.wrong-flash{border-color:#e74c3c;background:#e74c3c14}.question-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:#fff6}.question-value{font-size:2.25rem;font-weight:700;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.hint-btn{margin-top:.25rem;padding:.3rem .75rem;border-radius:.35rem;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#ffffff8c;font-size:.75rem;cursor:pointer}.hint-btn:hover{background:#ffffff14}.hint-text{font-size:.8rem;color:#ffffff80}.feedback-text{font-size:1rem;font-weight:600;margin-top:.15rem}.feedback-text.correct{color:#2ecc71}.feedback-text.wrong{color:#e74c3c}.table-container{flex:1;display:flex;justify-content:center;align-items:flex-start;overflow:auto}.periodic-table{display:grid;grid-template-columns:repeat(18,minmax(42px,1fr));grid-template-rows:repeat(10,auto);gap:3px;width:100%;max-width:900px}.element-cell{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3px 2px;border-radius:4px;cursor:pointer;border:1.5px solid var(--cat-color);background:color-mix(in srgb,var(--cat-color) 12%,transparent);transition:transform .1s,box-shadow .1s,border-color .2s;aspect-ratio:1;min-width:0}.element-cell:hover{transform:scale(1.15);z-index:2;box-shadow:0 0 10px color-mix(in srgb,var(--cat-color) 40%,transparent)}.cell-number{font-size:.5rem;color:#ffffff73;line-height:1}.cell-symbol{font-size:.85rem;font-weight:700;line-height:1.1;color:#ffffffe6}.element-cell.cell-correct{border-color:#2ecc71!important;background:#2ecc714d!important;box-shadow:0 0 12px #2ecc7180;transform:scale(1.15);z-index:3}.element-cell.cell-wrong{border-color:#e74c3c!important;background:#e74c3c4d!important;box-shadow:0 0 12px #e74c3c80;z-index:3}.series-label{display:flex;align-items:center;justify-content:center;font-size:.55rem;color:#ffffff4d;font-weight:600}.result-card{max-width:420px;width:100%;border:1px solid rgba(255,255,255,.1);padding:2rem;border-radius:.75rem;background:#ffffff08;display:flex;flex-direction:column;align-items:center;gap:1.25rem;text-align:center}.grade{font-size:4rem;font-weight:800;line-height:1;background:linear-gradient(135deg,#646cff,#e84393);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.result-stats{display:flex;gap:2rem}.stat{display:flex;flex-direction:column;gap:.15rem}.stat-value{font-size:1.5rem;font-weight:700}.stat-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#fff6}.result-actions{display:flex;gap:.75rem}.back-btn{padding:.75rem 1.5rem;border-radius:.5rem;border:1px solid rgba(255,255,255,.15);background:#ffffff0a;color:#ffffffb3;font-size:1rem;cursor:pointer}.back-btn:hover{background:#ffffff14}
