*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;overflow:hidden;background:#111;touch-action:none;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}#canvas{display:block;position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%}#start-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#111;display:flex;align-items:center;justify-content:center;z-index:100;cursor:pointer}#fullscreen-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#111;display:flex;align-items:center;justify-content:center;z-index:200;cursor:pointer}#fullscreen-overlay[hidden]{display:none}.start-content{display:flex;flex-direction:column;align-items:center;gap:12px;color:#e0e0e0}.nut-icon{width:80px;height:80px;padding:20px;background:#c8a84b;border-radius:28px;box-shadow:0 0 40px #c8a84b8c,0 0 80px #c8a84b40;animation:bob 2.4s ease-in-out infinite}@keyframes bob{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(15deg)}}.start-content h1{font-family:system-ui,-apple-system,sans-serif;font-size:36px;font-weight:700;letter-spacing:.08em;color:#c8a84b;text-transform:uppercase}.start-content p{font-family:system-ui,-apple-system,sans-serif;font-size:16px;color:#666;letter-spacing:.12em;text-transform:uppercase}#toolbar{position:fixed;top:max(10px,env(safe-area-inset-top,10px));left:50%;transform:translate(-50%);display:none;gap:8px;z-index:50;padding:6px 10px;background:#141414b8;border-radius:99px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08);pointer-events:none}#toolbar:not([hidden]){display:flex}.toolbar-btn{width:40px;height:40px;border-radius:50%;border:none;background:transparent;color:#bbb;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s;flex-shrink:0;pointer-events:auto;-webkit-tap-highlight-color:transparent}.toolbar-btn:active{background:#ffffff26}.toolbar-btn.active{color:#8fce8f;background:#8fce8f26}.toolbar-btn.kind-nut{color:#c8a84b}.toolbar-btn.kind-gem{color:#80a8ff}.toolbar-btn.kind-balloon{color:#f46}.toolbar-btn.kind-metalnut{color:#c0c8d8}.toolbar-btn.kind-rock{color:#9a7858}.toolbar-btn.kind-random{color:#aaa}#size-pill{position:fixed;top:max(68px,calc(env(safe-area-inset-top,10px) + 58px));left:50%;transform:translate(-50%);z-index:49;background:#141414e0;border-radius:99px;border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:10px 18px;display:none;align-items:center;gap:12px;min-width:240px;pointer-events:none}#size-pill:not([hidden]){display:flex;pointer-events:auto}.size-pill-value{font-family:system-ui,-apple-system,sans-serif;font-size:14px;font-weight:600;color:#c8a84b;min-width:28px;text-align:right}#settings-panel{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80}#settings-panel:not([hidden]){display:block}.panel-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0009}.panel-sheet{position:absolute;bottom:0;left:0;right:0;background:#1e1e1e;border-radius:20px 20px 0 0;padding:12px 24px max(24px,env(safe-area-inset-bottom,24px));display:flex;flex-direction:column;gap:16px;font-family:system-ui,-apple-system,sans-serif;color:#e0e0e0}.panel-handle{width:36px;height:5px;background:#444;border-radius:3px;align-self:center;margin-bottom:4px}.panel-sheet h2{font-size:18px;font-weight:600;color:#fff}.setting-row{display:flex;justify-content:space-between;align-items:center;font-size:15px}.setting-value{font-weight:600;color:#c8a84b;min-width:28px;text-align:right}input[type=range]{-webkit-appearance:none;width:100%;height:6px;border-radius:3px;background:#333;outline:none;margin-top:-8px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:#c8a84b;cursor:pointer;box-shadow:0 2px 6px #0006}input[type=range]::-moz-range-thumb{width:26px;height:26px;border-radius:50%;background:#c8a84b;cursor:pointer;border:none;box-shadow:0 2px 6px #0006}.action-btn{background:#2a2a2a;border:1px solid #3a3a3a;color:#ccc;font-size:15px;padding:12px 16px;border-radius:10px;cursor:pointer;font-family:inherit;text-align:center;transition:background .15s}.action-btn:active{background:#333}.action-btn.active{background:#2a3a2a;border-color:#4a7a4a;color:#8fce8f}.close-btn{background:#c8a84b;border:none;color:#111;font-size:16px;font-weight:600;padding:14px 16px;border-radius:12px;cursor:pointer;font-family:inherit;transition:opacity .15s}.close-btn:active{opacity:.85}.panel-links{display:flex;justify-content:center;gap:12px;font-size:14px}.panel-links a{color:#c8a84b;text-decoration:none}.panel-links a:active{opacity:.7}.panel-links span{color:#444}.pool-section{display:flex;flex-direction:column;gap:10px}.pool-label{font-size:13px;color:#888;margin:0;text-transform:uppercase;letter-spacing:.05em}.pool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pool-btn{background:#2a2a2a;border:1px solid #3a3a3a;color:#888;font-size:13px;padding:9px 6px;border-radius:9px;cursor:pointer;font-family:inherit;text-align:center;transition:background .15s,color .15s}.pool-btn.active{background:#1e2e1e;border-color:#4a7a4a;color:#c0e0c0}.pool-btn:active{opacity:.8}.attribution{font-size:12px;color:#555;text-align:center}.attribution a{color:#666;text-decoration:underline;text-underline-offset:2px}.no-vibration-note{font-size:13px;color:#666;margin:0;line-height:1.45}#perf-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#000000bf;display:flex;align-items:center;justify-content:center}#perf-overlay[hidden]{display:none}.perf-box{background:#1e1e1e;border-radius:16px;padding:28px 24px;max-width:320px;width:calc(100% - 48px);display:flex;flex-direction:column;gap:14px;font-family:system-ui,-apple-system,sans-serif}.perf-msg{color:#ccc;font-size:15px;line-height:1.5;margin:0;text-align:center}.perf-btn{background:#c8a84b;border:none;color:#111;font-size:15px;font-weight:600;padding:13px 16px;border-radius:11px;cursor:pointer;font-family:inherit;transition:opacity .15s}.perf-btn:active{opacity:.8}.perf-btn-secondary{background:#2a2a2a;border:1px solid #3a3a3a;color:#aaa;font-weight:400}.share-section{display:flex;flex-direction:column;align-items:center;gap:10px;padding-top:4px;border-top:1px solid #2a2a2a}.share-label{font-size:13px;color:#666;align-self:flex-start}#qr-canvas{border-radius:10px;background:#fff;padding:8px;width:160px;height:160px}#vibration-hint{position:fixed;bottom:max(24px,env(safe-area-inset-bottom,24px));left:50%;transform:translate(-50%);background:#1e1e1eeb;color:#e0e0e0;font-family:system-ui,-apple-system,sans-serif;font-size:13px;line-height:1.5;padding:10px 16px;border-radius:12px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.08);white-space:nowrap;z-index:60;pointer-events:auto;cursor:pointer;opacity:1;transition:opacity .4s}#vibration-hint.fade-out{opacity:0}
