@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";
@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.06d3mdzz5bre_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.11.cyxs5p-0z~.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.16t1db8_9y2o~.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.0q3udbd2bu5yp.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.0gw~uztddq1df.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.0.q-h669a_dqa.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
:root{--bg-gradient:radial-gradient(circle at 50% 0%, #1a1a2e 0%, #0f0f16 100%);--glass-bg:#14141e99;--glass-border:#ffffff0d;--glass-shadow:0 20px 40px 0 #000c;--cell-empty:#12121c;--cell-empty-border:#212133;--cell-filled-map:#00e5ff;--cell-filled-part:#ff007f;--cell-new-move:#39ff14;--accent-color:#00e5ff;--accent-glow:0 0 20px #00e5ff80;--text-primary:#fff;--text-secondary:#8888a0}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-gradient);color:var(--text-primary);background-attachment:fixed;flex-direction:column;min-height:100vh;font-family:Outfit,sans-serif;display:flex}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:16px;padding:24px}.board-grid{border:1px solid var(--glass-border);aspect-ratio:1;background:#0003;border-radius:12px;grid-template-columns:repeat(8,1fr);gap:4px;width:100%;max-width:450px;margin:0 auto;padding:8px;display:grid}.board-cell{aspect-ratio:1;background:var(--cell-empty);border:1px solid var(--cell-empty-border);cursor:pointer;border-radius:4px;transition:all .2s,background .1s;box-shadow:inset 0 4px 8px #00000080}.board-cell:hover:not(:disabled){opacity:.8;transform:scale(1.05)}.board-cell.filled{background:var(--cell-filled-map);box-shadow:0 0 15px var(--cell-filled-map);border-color:var(--cell-filled-map)}.board-cell.new-move{background:var(--cell-new-move);box-shadow:0 0 15px var(--cell-new-move);border-color:var(--cell-new-move)}.board-cell.disabled{cursor:not-allowed;opacity:.9}.part-grid{border:1px solid var(--glass-border);aspect-ratio:1;background:#0006;border-radius:10px;grid-template-columns:repeat(5,1fr);gap:3px;width:100%;max-width:180px;padding:8px;display:grid}.parts-container{grid-template-columns:repeat(3,1fr);justify-items:center;gap:1.5rem;width:100%;display:grid}.part-cell{aspect-ratio:1;background:var(--cell-empty);border:1px solid var(--cell-empty-border);cursor:pointer;border-radius:3px;transition:all .15s;box-shadow:inset 0 2px 4px #00000080}.part-cell:hover:not(:disabled){border-color:var(--accent-color)}.part-cell.filled{background:var(--cell-filled-part);box-shadow:0 0 15px var(--cell-filled-part);border-color:var(--cell-filled-part)}.part-cell.disabled{cursor:not-allowed;opacity:.9}.mobile-tabs{background:#0003;border-radius:12px;gap:.5rem;margin-bottom:1rem;padding:.5rem;display:flex;overflow-x:auto}.mobile-tab-btn{color:var(--text-secondary);white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:8px;outline:none;flex:1;padding:12px;font-weight:600;transition:all .2s}.mobile-tab-btn.active{background:var(--accent-color);color:#fff;box-shadow:var(--accent-glow)}.main-layout{grid-template-columns:1fr 1fr;align-items:start;gap:2rem;display:grid}.desktop-right-col{flex-direction:column;gap:2rem;display:flex}@media (max-width:900px){html,body{background-color:#0d0d14;min-height:100vh;margin:0;padding:0}main{flex-direction:column;min-height:100vh;display:flex;overflow-y:auto;padding:10px!important}.main-layout{flex-direction:column;flex:1;gap:10px;display:flex}.desktop-right-col{display:contents}.tab-pane{display:none!important}.tab-pane.active-tab{flex:1;display:flex!important}.log-panel{max-height:60vh!important}.mobile-fullscreen-panel{flex:1;height:100%!important;max-height:none!important}.board-grid{gap:2px;margin:0 auto;width:95vw!important;max-width:95vw!important;height:95vw!important;max-height:95vw!important}.parts-container{justify-items:center;gap:1.5rem;width:100%;margin-top:5px;grid-template-columns:1fr 1fr!important;display:grid!important}.parts-container>div:nth-child(3){grid-column:1/-1}.part-grid{width:42vw!important;max-width:200px!important;height:42vw!important;max-height:200px!important;margin-bottom:0!important}}@media (min-width:901px){.mobile-tabs{display:none!important}.tab-pane{display:flex}}.btn{cursor:pointer;border:none;border-radius:8px;outline:none;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-family:inherit;font-size:.95rem;font-weight:600;transition:all .2s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none!important;transform:none!important}.btn-primary{color:#fff;background:linear-gradient(90deg,#3b82f6,#2563eb);box-shadow:0 4px 15px #3b82f666}.btn-primary:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 6px 20px #3b82f699}.btn-success{color:#fff;background:linear-gradient(90deg,#10b981,#059669);box-shadow:0 4px 15px #10b9814d}.btn-success:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 6px 20px #10b98180}.btn-warning{color:#fff;background:linear-gradient(90deg,#f59e0b,#d97706);box-shadow:0 4px 15px #f59e0b4d}.btn-warning:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 6px 20px #f59e0b80}.btn-danger{color:#fff;background:linear-gradient(90deg,#ef4444,#dc2626);box-shadow:0 4px 15px #ef44444d}.btn-danger:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 6px 20px #ef444480}.btn-glass{border:1px solid var(--glass-border);color:var(--text-primary);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff0d}.btn-glass:not(:disabled):hover{background:#ffffff1a}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.4s ease-out forwards fadeIn}.log-panel{border:1px solid var(--glass-border);background:#0000004d;border-radius:8px;max-height:400px;padding:16px;line-height:1.6;overflow-y:auto}.log-panel::-webkit-scrollbar{width:8px}.log-panel::-webkit-scrollbar-track{background:#0003;border-radius:4px}.log-panel::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:4px}.log-panel::-webkit-scrollbar-thumb:hover{background:#ffffff4d}h1,h2,h3,h4{font-weight:600}
