:root{--cream: #fbf4e6;--cream-2: #f4ecdd;--panel: rgba(255, 250, 240, .82);--panel-solid: #fff9ef;--ink: #4a4034;--ink-soft: #857a6a;--coral: #ff6b5e;--coral-dark: #ec5347;--amber: #ffb54d;--mint: #4fc79a;--sky: #58b6f0;--violet: #9b7bff;--danger: #e5544b;--shadow: 0 10px 30px rgba(120, 90, 50, .18);--shadow-soft: 0 4px 14px rgba(120, 90, 50, .14);--radius: 18px;--radius-sm: 12px;--font: "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--ease: cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;width:100%}body{font-family:var(--font);color:var(--ink);background:var( --bg-base, radial-gradient(circle at 50% 20%, #fdf6ea 0%, #efe2cd 60%, #e6d6bd 100%) );overflow:hidden;overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:var( --bg-overlay, radial-gradient(circle at 20% 30%, rgba(255, 107, 94, .16), transparent 40%), radial-gradient(circle at 80% 20%, rgba(88, 182, 240, .16), transparent 40%), radial-gradient(circle at 65% 80%, rgba(155, 123, 255, .14), transparent 45%), radial-gradient(circle at 30% 75%, rgba(79, 199, 154, .14), transparent 45%) );animation:floaty 12s ease-in-out infinite alternate}.app{position:fixed;inset:0;overflow:hidden}.app canvas{display:block;touch-action:none}.panel{background:var(--panel);backdrop-filter:blur(14px) saturate(1.1);-webkit-backdrop-filter:blur(14px) saturate(1.1);border:1px solid rgba(255,255,255,.6);border-radius:var(--radius);box-shadow:var(--shadow)}.btn{font-family:var(--font);font-weight:700;font-size:15px;color:var(--ink);background:var(--panel-solid);border:1px solid rgba(0,0,0,.06);border-radius:999px;padding:11px 20px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .18s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease),filter .18s var(--ease);box-shadow:var(--shadow-soft)}.btn:hover{transform:translateY(-1px);filter:brightness(1.02)}.btn:active{transform:translateY(1px) scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn.primary{background:linear-gradient(180deg,#ff7b6f,var(--coral-dark));color:#fff;border:none}.btn.secondary{background:linear-gradient(180deg,#7ec8f2,var(--sky));color:#fff;border:none}.btn.ghost{background:#fff6}.btn.danger{background:linear-gradient(180deg,#ef6a62,var(--danger));color:#fff;border:none}.btn.big{font-size:18px;padding:15px 30px}.btn.small{font-size:13px;padding:7px 14px}.btn.tiny{font-size:12px;padding:5px 10px;gap:5px;border-radius:999px}.icon-btn{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;border:none;color:var(--ink);background:var(--panel);cursor:pointer;transition:transform .15s var(--ease),background .15s}.icon-btn:hover{transform:translateY(-1px);background:var(--panel-solid)}.icon-btn:active{transform:scale(.94)}.title-screen{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .5s var(--ease)}.title-stack{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;max-width:520px}.title-brick{position:absolute;top:-83px;left:50%;transform:translate(-50%);z-index:2;pointer-events:none}.title-card{position:relative;width:100%;padding:34px 32px;text-align:center}.title-card:before{content:"";position:absolute;top:10px;left:50%;width:200px;height:68px;transform:translate(-50%);border-radius:50%;background:radial-gradient(ellipse at center,#281c3c7a,#281c3c00 72%);filter:blur(6px);pointer-events:none;z-index:0}.title-logo{font-size:60px;margin:40px 0 6px;font-weight:900;letter-spacing:-1px;color:var(--coral-dark);text-shadow:0 3px 0 rgba(255,255,255,.6)}.title-logo span{color:var(--sky)}.title-tag{color:var(--ink-soft);margin:0 0 22px;line-height:1.5}.mode-picker{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.mode-btn{text-align:left;border:2px solid transparent;background:#ffffff8c;border-radius:var(--radius-sm);padding:12px 16px;cursor:pointer;display:flex;flex-direction:column;gap:3px;transition:all .18s var(--ease)}.mode-btn:hover{background:#fff}.mode-btn.active{border-color:var(--coral);background:#fff;box-shadow:var(--shadow-soft)}.mode-name{font-weight:800;font-size:16px}.mode-desc{font-size:13px;color:var(--ink-soft)}.seed-row{display:flex;gap:8px;margin-bottom:20px}.seed-input{flex:1;border-radius:var(--radius-sm);border:1px solid rgba(0,0,0,.1);padding:11px 14px;font-family:var(--font);font-size:15px;background:#fff;color:var(--ink)}.title-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.title-actions .btn,.title-actions .btn.big{flex:1 1 0;min-width:0;font-size:16px;padding:14px 20px}.title-progress{display:flex;flex-direction:column;align-items:center;gap:10px;margin:-6px 0 18px}.title-progress-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft)}.title-progress-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%}.title-stat-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;border-radius:12px;background:#0000000a}.title-stat-value{font-size:18px;font-weight:800;color:var(--ink);line-height:1.1}.title-stat-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft)}.title-reset{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:14px}.title-reset-q{font-size:13px;color:var(--ink-soft)}.title-reset-actions{display:flex;gap:8px;align-items:center}.title-reset-actions .btn{min-width:96px}.title-reset-link{display:block;margin:12px auto 0;background:none;border:none;color:var(--ink-soft);font-size:12px;text-decoration:underline;cursor:pointer;opacity:.7}.title-reset-link:hover{opacity:1}.title-foot{margin:22px 0 0;font-size:12px;color:var(--ink-soft)}.loading-screen{position:absolute;inset:0;display:grid;place-items:center;animation:fadeIn .3s var(--ease)}.loading-card{width:min(440px,90vw);padding:34px;text-align:center}.loading-count{font-size:44px;font-weight:900;color:var(--coral-dark)}.loading-sub{color:var(--ink-soft);margin-bottom:22px}.progress-track{height:14px;border-radius:999px;background:#00000014;overflow:hidden}.progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--amber),var(--coral));transition:width .25s var(--ease)}.loading-row{display:flex;justify-content:space-between;margin-top:12px;font-size:14px;color:var(--ink-soft)}.overlay-center{position:absolute;inset:0;display:grid;place-items:center;padding:16px;background:#3c2d1947;backdrop-filter:blur(3px);z-index:40;animation:fadeIn .25s var(--ease)}.target-card{width:min(520px,94vw);padding:26px 28px;text-align:center;animation:popIn .32s var(--ease)}.target-badge{display:inline-block;background:var(--coral);color:#fff;font-weight:800;font-size:12px;padding:4px 12px;border-radius:999px;letter-spacing:1px;text-transform:uppercase}.target-card h2{margin:12px 0 18px;font-size:26px}.target-body{display:flex;gap:20px;align-items:center;justify-content:center;flex-wrap:wrap;margin-bottom:16px}.target-preview{background:#ffffff8c;border-radius:var(--radius-sm);box-shadow:inset 0 0 20px #0000000d}.target-specs{list-style:none;margin:0;padding:0;text-align:left;min-width:220px}.target-specs li{display:flex;justify-content:space-between;gap:16px;padding:8px 4px;border-bottom:1px dashed rgba(0,0,0,.08)}.target-specs span{color:var(--ink-soft)}.target-specs strong{text-transform:capitalize}.target-hint-text{color:var(--ink-soft);font-size:14px;line-height:1.5;margin:4px 0 18px}.hud{position:absolute;inset:0;pointer-events:none;padding:14px;z-index:20}.fps-meter{position:absolute;bottom:12px;left:12px;z-index:30;padding:3px 8px;border-radius:8px;background:#0000008c;color:#7ee0b8;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums;pointer-events:none;user-select:none}.fps-meter.mid{color:#ffcf4d}.fps-meter.bad{color:#ff6b5e}.hud>*{pointer-events:auto}.hud-tl{position:absolute;top:14px;left:14px;display:flex;gap:12px;padding:12px;max-width:320px}.objective-preview{background:#ffffff80;border-radius:12px;overflow:hidden;flex-shrink:0}.objective-text{display:flex;flex-direction:column;gap:4px;min-width:0}.objective-label{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--ink-soft);font-weight:700}.objective-detail{font-weight:800;font-size:15px;text-transform:capitalize}.hint-btn{align-self:flex-start;background:#ffb54d40}.hint-text{font-size:12px;color:var(--coral-dark);font-weight:600;line-height:1.35}.hud-tl-col{position:absolute;top:14px;left:14px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.hud-tc{display:flex;flex-direction:row;align-items:center;gap:10px;padding:6px 10px 6px 18px}.timer{font-size:26px;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:1px}.mode-tag{font-size:11px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:1px}.timer-toggle{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:none;border:none;cursor:pointer;color:var(--ink-soft);opacity:.5;padding:0;transition:opacity .12s,background .12s}.timer-toggle:hover{opacity:1;background:#0000000f}.hud-tc-show:hover{transform:translateY(-1px)}.hud-tc-show:active{transform:scale(.94)}.hud-tr{position:absolute;top:14px;right:14px;display:flex;flex-direction:column;gap:8px;align-items:flex-end}.coins{display:flex;align-items:center;gap:8px;padding:10px 16px;font-weight:900;font-size:17px;color:var(--amber)}.coins.inline{padding:6px 12px;font-size:15px;border-radius:999px;background:#ffb54d29}.hud-side{position:absolute;right:14px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:8px}.hud-music{display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 8px}.cam-help{position:relative}.cam-help-pop{position:absolute;top:0;right:calc(100% + 10px);width:250px;padding:14px 16px;text-align:left;animation:fadeIn .15s var(--ease);z-index:5}.cam-help-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.cam-help-head h3{margin:0;font-size:15px;font-weight:900}.cam-help-close{background:none;border:none;color:var(--ink);cursor:pointer;padding:2px;display:inline-flex;opacity:.6}.cam-help-close:hover{opacity:1}.cam-help-tabs{display:flex;gap:4px;padding:3px;background:#0000000f;border-radius:999px;margin-bottom:12px}.cam-help-tabs button{flex:1;border:none;background:none;cursor:pointer;font-family:var(--font);font-weight:700;font-size:13px;color:var(--ink);padding:6px 10px;border-radius:999px;opacity:.6;transition:background .15s var(--ease),opacity .15s var(--ease)}.cam-help-tabs button.on{background:var(--panel-solid);opacity:1;box-shadow:var(--shadow-soft)}.cam-help-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.cam-help-list li{display:flex;flex-direction:row;align-items:center;gap:12px}.cam-help-fig{flex:none;width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:#0000000d}.cam-help-do{font-weight:700;font-size:13px}.music-mute{background:none;border:none;cursor:pointer;font-size:18px;line-height:1;padding:0}.music-slider{writing-mode:vertical-lr;direction:rtl;width:22px;height:90px;cursor:pointer;accent-color:#ff6b5e}.hud-counter{padding:8px 18px;text-align:center;white-space:nowrap}.counter-main{font-weight:900;font-size:15px;display:block}.counter-sub{display:block;margin-top:2px;font-size:13px;font-weight:700;color:var(--ink-soft)}.score-label{font-size:11px;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em}.colorbar{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;z-index:20;width:min(96vw,720px)}.colorbar-chips{display:flex;flex-wrap:nowrap;justify-content:center;width:100%;gap:6px;padding:10px}.color-chip{display:flex;flex-direction:column;align-items:center;gap:3px;flex:1 1 0;min-width:0;max-width:52px;padding:6px 4px;border:2px solid transparent;border-radius:12px;background:#0000000a;cursor:pointer;transition:transform .12s var(--ease),border-color .12s,background .12s}.color-chip:hover{background:#00000014}.color-chip.active{border-color:var(--ink);border-radius:8px;transform:scale(1.16);box-shadow:0 8px 18px #00000038;background:#fff}.color-chip-swatch{width:100%;max-width:30px;aspect-ratio:1;border-radius:8px;border:2px solid rgba(0,0,0,.12);box-shadow:inset 0 -3px 5px #0003}.color-chip-count{font-weight:900;font-size:13px;line-height:1;color:var(--ink)}.color-chip-pct{font-size:10px;color:var(--ink-soft);line-height:1}.colorbar-special{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:10px 16px;color:var(--amber)}.special-count{font-weight:900;font-size:16px}.toolbar{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;gap:12px;align-items:stretch;z-index:20;max-width:96vw}.tool-group{display:flex;gap:6px;padding:8px}.tool-btn{position:relative;width:72px;border:none;background:transparent;border-radius:14px;padding:8px 4px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--ink);transition:all .16s var(--ease)}.tool-btn:hover{background:#fff9}.tool-btn.active{background:linear-gradient(180deg,#fff,#ffe9e5);box-shadow:inset 0 0 0 2px var(--coral)}.tool-btn.locked{opacity:.72}.tool-label{font-size:11px;font-weight:700}.tool-cost{display:flex;align-items:center;gap:3px;font-size:11px;font-weight:800;color:var(--amber)}.bin{display:flex;align-items:center;gap:10px;padding:10px 14px}.bin-info{display:flex;flex-direction:column}.bin-count{font-weight:900;font-size:15px}.bin-label{font-size:11px;color:var(--ink-soft)}.cursor-feedback{position:fixed;transform:translate(-50%,-140%);padding:6px 12px;border-radius:999px;font-size:13px;font-weight:700;color:#fff;pointer-events:none;z-index:60;white-space:nowrap;animation:floatUp 1.1s var(--ease) forwards;box-shadow:var(--shadow-soft)}.tone-wrong{background:#b9a48a}.tone-close{background:var(--mint)}.tone-right{background:var(--amber)}.tone-info{background:var(--sky)}.tone-rare{background:var(--violet)}.toasts{position:fixed;bottom:120px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;align-items:center;z-index:55;pointer-events:none}.toast{padding:10px 18px;border-radius:999px;color:#fff;font-weight:700;font-size:14px;box-shadow:var(--shadow);animation:popIn .25s var(--ease)}.toast.tone-info{background:var(--ink)}.toast.tone-reward{background:var(--mint)}.toast.tone-rare{background:linear-gradient(90deg,var(--violet),var(--coral))}.modal{width:min(500px,94vw);max-height:88vh;overflow-y:auto;padding:24px;animation:popIn .3s var(--ease)}.modal-head{display:flex;align-items:center;gap:12px;margin-bottom:18px}.modal-head h2{margin:0;flex:1;font-size:22px}.settings-section{margin-bottom:20px}.settings-section h3{margin:0 0 10px;font-size:14px;text-transform:uppercase;letter-spacing:1px;color:var(--ink-soft)}.seg{display:flex;gap:6px;background:#0000000d;padding:4px;border-radius:999px;margin-bottom:12px}.seg-btn{flex:1;border:none;background:transparent;padding:9px;border-radius:999px;font-weight:700;cursor:pointer;color:var(--ink-soft);transition:all .16s var(--ease)}.seg-btn.active{background:#fff;color:var(--ink);box-shadow:var(--shadow-soft)}.toggle-row,.slider-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 0;font-weight:600}.slider-row input[type=range]{flex:1;max-width:60%;accent-color:var(--coral)}.toggle-row input[type=checkbox]{width:20px;height:20px;accent-color:var(--coral)}.render-overlay{position:fixed;top:12px;left:12px;bottom:12px;z-index:40;pointer-events:none}.render-overlay .render-panel{pointer-events:auto;width:min(340px,92vw);max-height:calc(100vh - 24px);animation:none}.render-panel .slider-row,.render-panel .toggle-row{padding:5px 0;font-size:14px}.render-panel select{font-weight:700;padding:4px 8px;border-radius:8px;border:1px solid rgba(0,0,0,.15);background:#fff;cursor:pointer}.render-panel input[type=color]{width:44px;height:26px;padding:0;border:1px solid rgba(0,0,0,.15);border-radius:6px;cursor:pointer;background:none}.modal-actions{display:flex;gap:10px}.modal-actions .btn{flex:1}.pause-seed{display:flex;align-items:center;gap:10px;margin-bottom:16px;font-weight:600;color:var(--ink-soft)}.pause-seed code{background:#0000000f;padding:3px 8px;border-radius:8px;color:var(--ink);font-weight:800}.pause-actions,.upgrade-list{display:flex;flex-direction:column;gap:10px}.upgrade-row{display:flex;align-items:center;gap:12px;padding:12px;background:#ffffff80;border-radius:var(--radius-sm)}.upgrade-info{flex:1;display:flex;flex-direction:column}.upgrade-name{font-weight:800}.upgrade-desc{font-size:12px;color:var(--ink-soft)}.upgrade-level{font-size:13px;font-weight:700;color:var(--sky)}.collection-total{flex:1;color:var(--ink-soft);font-weight:700}.collection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.collection-item{background:#ffffff80;border-radius:var(--radius-sm);padding:16px 10px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;opacity:.5;filter:grayscale(.6);transition:all .2s var(--ease)}.collection-item.found{opacity:1;filter:none;box-shadow:var(--shadow-soft)}.collection-icon{color:var(--violet)}.collection-name{font-size:12px;font-weight:700}.collection-count{font-size:13px;color:var(--ink-soft);font-weight:800}.victory{background:#3c2d1966}.victory-card{width:min(560px,94vw);padding:30px;text-align:center;animation:popIn .4s var(--ease)}.victory-trophy{color:var(--amber);animation:pulse 1.6s ease-in-out infinite}.victory-title{font-size:46px;font-weight:900;margin:6px 0 2px;background:linear-gradient(90deg,var(--amber),var(--coral));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:2px}.victory-sub{color:var(--ink-soft);margin:0 0 20px}.victory-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px}.victory-stat{background:#ffffff8c;border-radius:var(--radius-sm);padding:12px;display:flex;flex-direction:column;gap:2px}.stat-label{font-size:12px;color:var(--ink-soft)}.stat-value{font-size:20px;font-weight:900}.victory-colors{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;margin-bottom:22px;max-height:40vh;overflow-y:auto}.victory-color{display:flex;align-items:center;gap:8px;font-size:13px}.victory-color-swatch{width:14px;height:14px;border-radius:4px;flex-shrink:0;box-shadow:inset 0 0 0 1px #0000001f}.victory-color-name{flex:1;color:var(--ink-soft);text-transform:capitalize;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.victory-color-count{font-weight:800;font-variant-numeric:tabular-nums}.victory-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}body.victory-flash{animation:flash .9s ease-out}.tutorial-card{width:min(440px,92vw);padding:26px;text-align:center;animation:popIn .3s var(--ease)}.tutorial-progress{display:flex;gap:8px;justify-content:center;margin-bottom:16px}.tutorial-progress .dot{width:9px;height:9px;border-radius:50%;background:#0000001f;transition:all .2s var(--ease)}.tutorial-progress .dot.on{background:var(--coral);transform:scale(1.15)}.tutorial-card h2{margin:0 0 10px}.tutorial-card p{color:var(--ink-soft);line-height:1.55}.tutorial-card .cam-help-tabs{width:fit-content;margin:16px auto 4px}.tutorial-card .cam-help-tabs button{flex:none;min-width:96px}.tutorial-controls{list-style:none;width:fit-content;margin:16px auto 4px;padding:0;display:flex;flex-direction:column;gap:8px}.tutorial-controls li{display:flex;flex-direction:row;align-items:center;gap:14px;text-align:left}.tutorial-controls li::marker{content:""}.tutorial-actions{display:flex;justify-content:space-between;margin-top:12px}.tutorial-actions.center{justify-content:center}.tutorial-actions.center .btn{min-width:260px}.debug-panel{position:absolute;bottom:14px;left:14px;z-index:30;background:#1e1a14d1;color:#f0e8da;border-radius:12px;padding:10px 14px;font-size:12px;font-family:Consolas,monospace;min-width:190px}.debug-row{display:flex;justify-content:space-between;gap:12px;padding:2px 0}.debug-row .good{color:#7ee0b8}.debug-row .mid{color:#ffcf4d}.debug-row .bad{color:#ff8f80}.debug-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}.debug-panel .btn.tiny{width:100%}.theme-overlay{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:16px;pointer-events:none}.theme-overlay .theme-panel{pointer-events:auto;width:min(340px,92vw);max-height:84vh;overflow-y:auto;padding:14px;animation:popIn .25s var(--ease)}.theme-panel .modal-head{margin-bottom:10px}.theme-panel .modal-head h2{font-size:15px}.theme-panel .modal-head .icon-btn{width:32px;height:32px}.theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:2px 0 10px}.theme-card{border:2px solid transparent;border-radius:8px;padding:0;overflow:hidden;cursor:pointer;background:#0000000a;text-align:left;transition:transform .12s var(--ease),border-color .12s,box-shadow .12s}.theme-card:hover{transform:translateY(-2px)}.theme-card.active{border-color:var(--coral);box-shadow:var(--shadow-soft)}.theme-swatch{display:block;height:34px;width:100%}.theme-name{display:block;padding:3px 5px;font-size:10px;font-weight:700;line-height:1.15;color:var(--ink);background:#ffffffb8}.theme-panel .modal-actions{gap:6px}.theme-panel .modal-actions .btn{font-size:12px;padding:8px 10px}.shapes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;margin:4px 0 14px}.shape-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;background:#0000000a;border-radius:12px}.shape-name{font-size:12px;font-weight:600;color:#4a4034;text-align:center}.modal-subhead{margin:6px 0 8px;font-size:16px}.colors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:10px;margin:4px 0 14px}.color-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 4px;background:#0000000a;border-radius:12px}.color-swatch{width:44px;height:44px;border-radius:10px;border:2px solid rgba(0,0,0,.12);box-shadow:inset 0 -3px 6px #0000002e}.leaderboard{width:min(460px,94vw)}.leaderboard .modal-head{align-items:flex-start}.lb-title{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.lb-title h2{flex:0 0 auto}.lb-counts{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;font-size:13px;font-weight:700;color:var(--ink-soft)}.lb-online{display:inline-flex;align-items:center;gap:5px;color:var(--mint, #3fb27f)}.lb-dot{width:8px;height:8px;border-radius:50%;background:#3fb27f;box-shadow:0 0 #3fb27f99;animation:lbPulse 1.6s infinite}@keyframes lbPulse{0%{box-shadow:0 0 #3fb27f99}70%{box-shadow:0 0 0 6px #3fb27f00}to{box-shadow:0 0 #3fb27f00}}.leaderboard .seg{margin-bottom:14px}.lb-empty{text-align:center;color:var(--ink-soft);padding:24px 0}.lb-list{list-style:none;margin:0;padding:0;max-height:52vh;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.lb-row{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:10px;background:#0000000a}.lb-row.me{background:#ffb54d38;box-shadow:inset 0 0 0 2px var(--amber)}.lb-rank{width:26px;font-weight:900;color:var(--ink-soft);text-align:right}.lb-name{flex:1;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-value{font-weight:900;font-variant-numeric:tabular-nums}.lb-me-pinned{margin-top:6px;padding-top:6px;border-top:1px dashed rgba(0,0,0,.15);display:flex;flex-direction:column;gap:4px}.lb-sep{text-align:center;color:var(--ink-soft);font-weight:900;letter-spacing:2px;line-height:.5}.seed-browser{position:fixed;left:16px;top:50%;transform:translateY(-50%);width:min(340px,88vw);padding:18px;z-index:60;box-shadow:0 12px 40px #00000047}.seed-hint{color:var(--ink-soft);font-size:13px;margin:0 0 16px;line-height:1.5}.seed-hint code{background:#0000000f;padding:1px 5px;border-radius:5px;font-size:12px}.seed-current{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:#0000000a;margin-bottom:14px}.seed-current-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft)}.seed-current-value{flex:1;font-weight:900;font-size:18px;font-variant-numeric:tabular-nums}.seed-random{width:100%;justify-content:center;margin-bottom:14px}.seed-manual{display:flex;gap:8px}.seed-manual .seed-input{flex:1}.rare-swatch{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;background:#ffcf4d2e;color:var(--amber, #f0a500)}.rare-reward{font-size:11px;font-weight:800;color:var(--amber, #f0a500)}.photo-exit{position:absolute;bottom:20px;left:50%;transform:translate(-50%);z-index:30;background:var(--panel);border:none;border-radius:999px;padding:12px 22px;font-weight:700;cursor:pointer;box-shadow:var(--shadow)}.fallback{position:fixed;inset:0;display:grid;place-items:center;padding:20px}.fallback-card{max-width:460px;padding:30px;text-align:center;line-height:1.5}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:scale(.92) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes floatUp{0%{opacity:0;transform:translate(-50%,-110%)}20%{opacity:1}to{opacity:0;transform:translate(-50%,-220%)}}@keyframes floaty{0%{transform:translateY(-8px)}to{transform:translateY(8px)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}@keyframes flash{0%{background:#fff0c800}30%{background:#fff0c88c}to{background:#fff0c800}}@media (max-width: 720px){.title-logo{font-size:46px}.title-actions{flex-direction:column;align-items:stretch}.hud-tl{max-width:220px;padding:8px}.objective-preview{display:none}.timer{font-size:20px}.hud-tc{padding:6px 14px}.hud-counter{font-size:12px}.counter-main{font-size:13px}.colorbar-chips{gap:3px;padding:6px}.color-chip{padding:4px 1px;gap:2px}.color-chip-count{font-size:11px}.color-chip-pct{font-size:9px}.toolbar{bottom:10px;gap:8px;flex-wrap:wrap;justify-content:center}.tool-btn{width:60px}.victory-stats{grid-template-columns:1fr}}@media (max-width: 420px){.tool-btn{width:54px}.tool-label{font-size:10px}}
