:root{--bg-color: #0B0E14;--panel-bg: rgba(22, 27, 34, .7);--primary-color: #00F0FF;--secondary-color: #7000FF;--accent-color: #FF0055;--text-color: #E0E6ED;--grid-line: #1F2933;--wall-color: #161B22;--visited-color: rgba(112, 0, 255, .3);--path-color: #00F0FF;--font-main: "Inter", system-ui, -apple-system, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-main);min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow-y:auto;padding:2rem 0;background-image:radial-gradient(circle at 15% 50%,rgba(112,0,255,.08),transparent 25%),radial-gradient(circle at 85% 30%,rgba(0,240,255,.08),transparent 25%)}header{text-align:center;margin-bottom:2rem;animation:fadeInDown .8s ease-out}h1{font-size:2.5rem;font-weight:800;letter-spacing:-.05em;background:linear-gradient(135deg,#fff 0%,var(--primary-color) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.5rem;text-shadow:0 0 30px rgba(0,240,255,.3)}.subtitle{font-size:1rem;color:#e0e6ed99;font-weight:400}#app-container{background:var(--panel-bg);padding:2rem;border-radius:24px;border:1px solid rgba(255,255,255,.05);box-shadow:0 20px 50px #00000080,inset 0 0 0 1px #ffffff0d;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:flex;flex-direction:column;align-items:center;gap:1.5rem;animation:scaleIn .6s cubic-bezier(.16,1,.3,1)}canvas{border-radius:12px;box-shadow:0 0 0 1px var(--grid-line);background:var(--bg-color);transition:box-shadow .3s ease}canvas.solved{box-shadow:0 0 20px #00f0ff33,0 0 0 1px var(--primary-color)}.controls{display:flex;gap:1rem;width:100%;justify-content:center;flex-wrap:wrap}button{background:#ffffff08;border:1px solid rgba(255,255,255,.1);color:var(--text-color);padding:.8rem 1.5rem;border-radius:12px;font-weight:600;font-family:var(--font-main);cursor:pointer;transition:all .2s cubic-bezier(.2,0,0,1);display:flex;align-items:center;gap:.5rem;font-size:.9rem}button:hover{background:#ffffff14;transform:translateY(-2px);border-color:#fff3;box-shadow:0 5px 15px #0003}button:active{transform:translateY(0)}button.primary{background:var(--primary-color);color:#000;border:none;box-shadow:0 0 20px #00f0ff66}button.primary:hover{background:#4dffff;box-shadow:0 0 30px #00f0ff99}button.secondary{background:#7000ff1a;border-color:#7000ff66;color:#bfa3ff}button.secondary:hover{background:#7000ff33;border-color:#bfa3ff;color:#fff;box-shadow:0 0 20px #7000ff4d}button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none!important}.stats-panel{display:flex;gap:2rem;font-size:.85rem;color:#e0e6ed80;margin-top:.5rem}.stat-item{display:flex;align-items:center;gap:.5rem}.stat-value{color:var(--primary-color);font-weight:700}.settings-panel{background:#ffffff08;border-radius:16px;padding:1rem 1.5rem;width:100%;margin-bottom:1rem;display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;border:1px solid rgba(255,255,255,.05)}.setting-group{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}.setting-group label{font-size:.85rem;color:#e0e6edb3;font-weight:600}input[type=range]{-webkit-appearance:none;width:150px;height:6px;background:#ffffff1a;border-radius:3px;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;background:var(--primary-color);border-radius:50%;cursor:pointer;box-shadow:0 0 10px #00f0ff80;transition:transform .2s}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}select{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:var(--text-color);padding:.5rem;border-radius:8px;font-family:var(--font-main);outline:none;cursor:pointer}select:focus{border-color:var(--primary-color)}select option{background:#161b22;color:var(--text-color)}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (max-width: 600px){body{height:auto;padding:2rem 0;overflow-y:auto}#app-container{padding:1.5rem;width:90%;max-width:400px}canvas{width:100%!important;height:auto!important;aspect-ratio:1/1}.settings-panel{gap:1.5rem;padding:1rem}.controls{flex-direction:column}button{width:100%;justify-content:center}h1{font-size:2rem}}
