body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.cube-container{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:radial-gradient(circle at 50% 42%,#30343d 0%,#1d2026 55%,#121417 100%);width:100%;height:100dvh;position:relative;overflow:hidden}.cube-canvas{position:absolute;inset:0}.cube-canvas canvas{-webkit-user-drag:none;width:100%;height:100%;display:block}.cube-popups{z-index:60;pointer-events:none;position:absolute;inset:0;overflow:hidden}.float-points{color:#fde68a;white-space:nowrap;text-shadow:0 1px 3px #000000d9;font-size:18px;font-weight:800;animation:1s ease-out forwards float-points;position:absolute;transform:translate(-50%,-50%)}@keyframes float-points{0%{opacity:1;transform:translate(-50%,-50%)scale(.8)}20%{transform:translate(-50%,-90%)scale(1.15)}to{opacity:0;transform:translate(-50%,-260%)scale(1)}}.nav-cube-scene{z-index:100;perspective:260px;width:64px;height:64px;position:absolute;bottom:84px;right:26px}.nav-cube{width:64px;height:64px;transform-style:preserve-3d;position:relative}.nav-face{background-color:#3b82f6d9;background-color:color-mix(in srgb, var(--nav-color,#3b82f6) 72%, #0b0c0f);color:#fff;backface-visibility:hidden;cursor:pointer;border:1px solid #fff9;flex-direction:column;justify-content:center;align-items:center;gap:1px;width:64px;height:64px;padding:0;font-family:inherit;display:flex;position:absolute;inset:0}.nav-face:hover{filter:brightness(1.3)}.nav-face:focus-visible{outline-offset:-4px;outline:2px solid #fff}.nav-face.nav-empty{color:#9ca3af;background-color:#373a40eb}.nav-label{opacity:.85;font-size:10px}.nav-count{text-shadow:0 1px 2px #0009;font-size:14px;font-weight:700}.nav-face-0{transform:translateZ(32px)}.nav-face-1{transform:rotateY(180deg)translateZ(32px)}.nav-face-2{transform:rotateX(90deg)translateZ(32px)}.nav-face-3{transform:rotateX(-90deg)translateZ(32px)}.nav-face-4{transform:rotateY(-90deg)translateZ(32px)}.nav-face-5{transform:rotateY(90deg)translateZ(32px)}.cube-controls{z-index:100;gap:6px;display:flex;position:absolute;bottom:12px;right:12px}.cube-controls button{color:#fff;cursor:pointer;background-color:#3b82f6e6;border:none;border-radius:6px;min-width:44px;height:44px;padding:0 12px;font-size:15px}.cube-controls button:hover{background-color:#2563eb}.cube-controls button:focus-visible{outline-offset:2px;outline:2px solid #fff}.cube-hint{z-index:90;color:#e5e7eb;text-align:center;pointer-events:none;background-color:#000000b3;border-radius:6px;width:max-content;max-width:min(560px,100vw - 140px);padding:8px 14px;font-size:14px;position:absolute;bottom:68px;left:50%;transform:translate(-50%)}.menu{z-index:100;flex-direction:column;align-items:flex-start;display:flex;position:absolute;top:10px;left:10px}.menu button{color:#fff;cursor:pointer;text-align:left;background-color:#3b82f6;border:none;width:120px;margin:5px 0;padding:10px}.menu button:hover{background-color:#2563eb}.menu button:last-child{background-color:#dc2626}.menu button:last-child:hover{background-color:#b91c1c}.menu button.disabled,.menu button:disabled{cursor:not-allowed;background-color:#555}.menu button.disabled:hover,.menu button:disabled:hover{background-color:#555}.menu .points-display,.menu .layer-display{color:#fff;margin-bottom:10px;font-size:18px}.menu .blocks-left{color:#bbb;margin-top:-6px;margin-bottom:10px;font-size:14px}.menu .layer-material{color:#ddd;vertical-align:middle;background-color:#ffffff1f;border-radius:4px;margin-left:8px;padding:2px 6px;font-size:13px}.overlay-content{width:400px;max-height:80vh;overflow-y:auto}.overlay-content.upgrades-panel{width:480px;max-height:85vh}.upgrade-category{margin-bottom:24px}.upgrade-category h3{color:#3b82f6;border-bottom:1px solid #444;margin-bottom:12px;padding-bottom:8px}.upgrade-list{gap:10px;display:grid}.upgrade-item{text-align:left;background:#2a2a2a;border-radius:6px;justify-content:space-between;align-items:center;padding:12px;display:flex}.upgrade-item.is-locked{opacity:.6}.upgrade-info{flex-grow:1}.upgrade-name{color:#fff;margin-bottom:2px;font-weight:600}.upgrade-description{color:#d1d5db;margin-bottom:4px;font-size:.85em;line-height:1.35}.upgrade-cost{color:#9ca3af;font-size:.85em}.upgrade-button{color:#fff;text-align:center;background-color:#555;border:none;border-radius:4px;flex-shrink:0;min-width:104px;margin-left:14px;padding:8px 12px;font-weight:500}.upgrade-button.buy,.upgrade-button.use{cursor:pointer;background-color:#3b82f6}.upgrade-button.buy:hover,.upgrade-button.use:hover{background-color:#2563eb}.upgrade-button.owned{background-color:#059669}.upgrade-button:disabled{cursor:default}.upgrade-button.use:disabled{background-color:#555}.points-display{color:#3b82f6;background:#2a2a2a;border-radius:6px;margin-bottom:24px;padding:12px;font-size:1.1em;font-weight:500}.leaderboard-list{margin-top:20px}.leaderboard-item{background-color:#444;border-radius:4px;justify-content:space-between;align-items:center;margin:5px 0;padding:10px;display:flex}.leaderboard-item.current-user{background-color:#1e3a5f;outline:1px solid #3b82f6}.rank{min-width:40px;font-weight:700}.username{flex-grow:1;margin:0 10px}.points{color:#3b82f6;font-weight:700}.App{background-color:#222;min-height:100vh;position:relative;overflow:hidden}.overlay{z-index:1000;background-color:#000c;width:100%;height:100%;position:fixed;top:0;left:0}.overlay-content{color:#fff;box-sizing:border-box;text-align:center;background-color:#333;border-radius:8px;width:300px;max-width:calc(100vw - 32px);margin:50px auto;padding:20px;position:relative}.loading-screen{z-index:50;color:#ddd;text-align:center;background-color:#222;justify-content:center;align-items:center;padding:16px;font-size:18px;display:flex;position:fixed;inset:0}.connection-status{z-index:200;color:#fbbf24;background-color:#000000bf;border-radius:6px;align-items:center;gap:10px;max-width:calc(100vw - 160px);padding:8px 12px;font-size:14px;display:flex;position:absolute;top:10px;right:10px}.connection-status.expired{color:#fca5a5}.connection-status button{color:#fff;cursor:pointer;background-color:#3b82f6;border:none;border-radius:4px;padding:6px 10px}.overlay-content h2{margin-top:0}.overlay-content .close-button{color:#fff;cursor:pointer;background:0 0;border:none;font-size:20px;position:absolute;top:10px;right:10px}.layer-toast{z-index:150;color:#fff;pointer-events:none;background-color:#000000b8;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:14px 22px;font-size:22px;font-weight:600;animation:4s forwards layer-toast;display:flex;position:absolute;top:18%;left:50%;transform:translate(-50%)}.layer-toast-material{color:#93c5fd;font-size:15px;font-weight:500}@keyframes layer-toast{0%{opacity:0;transform:translate(-50%,-10px)}10%{opacity:1;transform:translate(-50%)}80%{opacity:1}to{opacity:0}}.App{-webkit-user-select:none;user-select:none}.notice-toast{z-index:160;color:#fde68a;text-align:center;pointer-events:none;background-color:#000c;border-radius:6px;max-width:min(520px,100vw - 32px);padding:10px 16px;font-size:15px;animation:4.5s forwards layer-toast;position:absolute;top:28%;left:50%;transform:translate(-50%)}
