:root{--primary-color: #00BCD4;--background-dark: #121212;--card-bg: #222;--button-primary: rgb(126, 242, 255);--button-hover: #00a3b3;--success-color: #4CAF50;--error-color: #F44336;--text-light: #e0e0e0;--panel-bg: #1a1a1a}body{margin:0;font-family:Inter,Segoe UI,sans-serif;background-color:var(--background-dark);color:var(--text-light)}.app-container{display:flex;height:100vh;width:100%;padding:2rem;box-sizing:border-box;overflow:auto}.main-layout{display:flex;flex:1;width:100%;flex-direction:row;gap:2rem;flex-wrap:wrap}.left-panel{flex:1;display:flex;justify-content:center;align-items:center;padding:3rem;min-width:300px;margin-left:2rem}.right-panel{flex:.7;flex-shrink:0;min-width:280px;display:flex;flex-direction:column;justify-content:flex-start;gap:2rem;padding:6rem;background-color:var(--panel-bg);border-radius:75px;box-shadow:0 0 20px #0006;box-sizing:border-box;margin-top:3rem;margin-bottom:3rem;margin-right:4rem}.title{font-size:2rem;color:var(--primary-color);margin:0;font-weight:700;text-align:center}.info-card,.status-card{background:var(--card-bg);padding:1.25rem;border-radius:10px;box-shadow:0 0 12px #0006}.status-card p{margin:0;font-size:1.2rem;font-weight:500;color:var(--primary-color);transition:color .3s ease,opacity .2s ease}.score-tracker{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}.solved{color:var(--success-color);font-weight:700}.failed{color:var(--error-color);font-weight:700}.difficulty-selector{display:flex;align-items:center;gap:1rem;margin-top:1rem}.difficulty-selector label{margin:0;font-size:1rem;color:#fff}select,.difficulty-selector select{flex:1;min-width:150px;max-width:100%;padding:.5rem;font-size:1rem;border-radius:6px;border:1px solid #555;background-color:#2a2a2a;color:var(--text-light);outline:none;box-shadow:inset 0 0 4px #0000004d}select:hover,select:focus{border-color:var(--primary-color)}.button-row{display:flex;flex-direction:column;gap:1rem;flex-wrap:nowrap;align-items:flex-start}button{padding:.8rem 1.5rem;font-size:1rem;border:none;border-radius:50px;cursor:pointer;font-weight:600;transition:all .2s ease-in-out;white-space:nowrap}button.primary{background-color:var(--button-primary);color:var(--background-dark)}button.primary:hover{background-color:var(--button-hover)}button.secondary,.analyze-button{background-color:#333;color:var(--text-light);border:1px solid #555;border-radius:50px;padding:.8rem 1.5rem;cursor:pointer;font-weight:600;font-size:1rem;transition:background-color .2s ease}button.secondary:hover,.analyze-button:hover{background-color:var(--button-hover)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:1rem}.spinner{width:40px;height:40px;border:4px solid var(--primary-color);border-top:4px solid transparent;border-radius:50%;animation:spin 1s linear infinite}.loading-text{font-size:1.5rem;color:var(--primary-color);font-weight:700}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 1024px){.main-layout{flex-direction:column;align-items:center}.left-panel,.right-panel{width:100%;padding:1rem}.right-panel{padding:1.5rem}.title{font-size:1.5rem}.status-card p{font-size:1rem}button{width:100%}.button-row{align-items:stretch}}.puzzle-rating{margin-top:10px;font-size:1rem;font-weight:700;color:#c944a1}@media (max-width: 480px){.app-container,.right-panel{padding:1rem}.button-row{align-items:stretch}}.score-tracker span{transition:transform .2s ease,color .2s ease}.score-tracker span:hover{transform:scale(1.05);color:var(--primary-color)}.status-card p{transition:color .3s ease,opacity .2s ease,transform .2s ease}.status-card p.highlight{transform:scale(1.02);color:var(--primary-color)}
