@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-ext-wght-normal-DdQaqQDo.woff2)format("woff2-variations");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:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-wght-normal-Bc-8i84L.woff2)format("woff2-variations");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}:root,:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page-grain:.09;--site-noise:.32;--cream:#ffebb2;--cream-deep:#f0c95c;--card:#fff3cb;--ink:#33280c;--ink-soft:#7a5f1a2e;--ink-muted:#977f2e;--line:#543e0c29;--line-strong:#543e0c4d;--stroke:#4834088c;--accent:#e85d4a;--surface:#fffae8db;--surface-solid:#fffbf0;--shadow-soft:0 1px 2px #5a420c0f, 0 10px 30px #5a420c1a;--shadow-lift:0 2px 6px #5a420c14, 0 18px 44px #5a420c29;-webkit-font-smoothing:antialiased;font-family:Outfit Variable,Outfit,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.5}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page-grain:.12;--site-noise:.42;--cream:#0a290c;--cream-deep:#113315;--card:#123a17;--ink:#eaf3e7;--ink-soft:#cfe0cd30;--ink-muted:#93ad90;--line:#c6e4c626;--line-strong:#c6e4c64d;--stroke:#c6e4c680;--accent:#ff6b4a;--surface:#123418d6;--surface-solid:#123a17;--shadow-soft:0 1px 2px #00000059, 0 10px 30px #00000073;--shadow-lift:0 2px 6px #0006, 0 18px 44px #0000008c}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{background:var(--cream);color:var(--ink);overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;overflow:hidden}.filmic:after{content:"";pointer-events:none;z-index:2;opacity:var(--page-grain);mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:160px 160px;animation:.9s steps(3,end) infinite page-grain-shift;position:absolute;inset:-60px}@keyframes page-grain-shift{0%{transform:translate(0)}33%{transform:translate(-24px,18px)}66%{transform:translate(18px,-30px)}to{transform:translate(0)}}@media (prefers-reduced-motion:reduce){.filmic:after{animation:none}}body:after{content:"";z-index:2147483000;pointer-events:none;opacity:var(--site-noise);mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:150px 150px;animation:.8s steps(3,end) infinite page-grain-shift;position:fixed;inset:-80px}@media (prefers-reduced-motion:reduce){body:after{animation:none}}body.dragging-brick{cursor:grabbing}body.dragging-brick *{cursor:grabbing!important}button{font-family:inherit}kbd{font:inherit;background:var(--surface-solid);border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:0;padding:0 6px;font-size:.82em;font-weight:600}.home{background:var(--cream);width:100vw;height:100dvh;position:relative;overflow:hidden}.home-canvas{position:absolute;inset:0}.home-canvas canvas{touch-action:none;display:block}.home-hero{z-index:5;flex-direction:column;align-items:center;gap:11px;display:flex;position:absolute;top:61%;left:50%;transform:translate(-50%)}.home-subline{color:var(--ink-muted);letter-spacing:.01em;pointer-events:none;text-align:center;margin:0;font-size:14.5px;font-weight:500}.home-corner{top:calc(18px + env(safe-area-inset-top));right:calc(18px + env(safe-area-inset-right));z-index:5;align-items:center;gap:8px;display:flex;position:absolute}.home-actions{align-items:center;gap:14px;display:flex}.free-build-button,.all-sets-button,.daily-build-button{--brick:var(--surface-solid);--brick-side:var(--line-strong);--brick-text:var(--ink);letter-spacing:.01em;color:var(--brick-text);background:var(--brick);border:1.5px solid var(--brick-side);cursor:pointer;white-space:nowrap;border-bottom-width:3px;border-radius:0;align-items:center;gap:8px;padding:12px 22px;font-size:14.5px;font-weight:650;transition:background .14s,border-color .14s,transform .1s cubic-bezier(.22,1,.36,1),gap .18s,filter .15s;display:inline-flex}.daily-build-button{--brick:var(--accent);--brick-side:#b23d2e;--brick-text:#fff}.daily-build-button.done{--brick:#8ed99b;--brick-side:#5aa96a;--brick-text:#103d1c}@media (hover:hover){.daily-build-button:hover{filter:brightness(1.05);gap:11px}.free-build-button:hover,.all-sets-button:hover{border-color:var(--ink);gap:11px}}.free-build-button:active,.all-sets-button:active,.daily-build-button:active{transition-duration:60ms;transform:scale(.97)}.blitz-button{--brick:var(--surface-solid);--brick-side:var(--line-strong);--brick-text:var(--ink);letter-spacing:.01em;color:var(--brick-text);background:var(--brick);border:1.5px solid var(--brick-side);cursor:pointer;white-space:nowrap;border-bottom-width:3px;border-radius:0;align-items:center;gap:8px;padding:12px 22px;font-size:14.5px;font-weight:650;transition:background .14s,border-color .14s,transform .1s cubic-bezier(.22,1,.36,1),gap .18s;display:inline-flex}@media (hover:hover){.blitz-button:hover{border-color:var(--ink);gap:11px}}.blitz-button:active{transition-duration:60ms;transform:scale(.97)}.home-nav-left{top:calc(18px + env(safe-area-inset-top));left:calc(18px + env(safe-area-inset-left));z-index:5;position:absolute}.home-nav-left .all-sets-button{border-bottom-width:1.5px;height:34px;padding:0 16px}.home-greeting{font:inherit;color:inherit;animation:.5s cubic-bezier(.22,1,.36,1) both greeting-in;display:inline-block}@keyframes greeting-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.home-greeting{animation:none}}.profile-menu{position:relative}.profile-popover{background:var(--surface-solid);border:1.5px solid var(--stroke);min-width:172px;box-shadow:var(--shadow-lift);z-index:40;border-radius:0;flex-direction:column;padding:5px;animation:.16s cubic-bezier(.22,1,.36,1) menu-in;display:flex;position:absolute;top:calc(100% + 8px);right:0}.profile-menu-item{font:inherit;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:0;align-items:center;gap:9px;padding:9px 11px;font-size:13.5px;font-weight:600;transition:background .12s;display:flex}.profile-menu-item svg{color:var(--ink-muted);flex:none}@media (hover:hover){.profile-menu-item:hover{background:var(--cream-deep)}}.profile-menu-item:active{background:var(--cream-deep)}.surprise-link{letter-spacing:.01em;color:var(--ink-muted);cursor:pointer;background:0 0;border:none;border-radius:0;margin:0;padding:4px 8px;font-size:13px;font-weight:600;transition:color .15s}@media (hover:hover){.surprise-link:hover{color:var(--ink)}}.continue-strip{pointer-events:auto;flex-direction:column;align-items:center;gap:8px;margin-top:18px;display:flex}.continue-label{text-transform:uppercase;letter-spacing:.09em;color:var(--ink-muted);font-size:10.5px;font-weight:700}.continue-cards{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.continue-card{background:var(--surface);border:1px solid var(--line-strong);box-shadow:var(--shadow-soft);cursor:pointer;border-radius:0;align-items:center;gap:10px;padding:7px 12px 7px 7px;transition:transform .15s,box-shadow .15s;display:flex}@media (hover:hover){.continue-card:hover{box-shadow:var(--shadow-lift);transform:translateY(-1px)}}.continue-card img{object-fit:cover;background:var(--cream-deep);width:52px;height:40px;display:block}.continue-info{flex-direction:column;align-items:flex-start;gap:3px;display:flex}.continue-name{color:var(--ink);font-size:13px;font-weight:650;line-height:1.1}.continue-meter{background:var(--ink-soft);width:92px;height:4px;overflow:hidden}.continue-meter>span{background:var(--accent);height:100%;display:block}.continue-count{color:var(--ink-muted);font-variant-numeric:tabular-nums;font-size:10.5px;font-weight:650}.profile-chip-wrap{position:relative}.profile-tip{z-index:30;white-space:nowrap;color:#d9480f;background:var(--surface-solid);box-shadow:var(--shadow-lift);pointer-events:none;border:1.5px solid #e8590c52;border-radius:0;align-items:center;gap:5px;padding:7px 12px;font-size:12.5px;font-weight:650;transition:opacity .15s,transform .15s;display:inline-flex;position:absolute;top:calc(100% + 8px);right:0}.profile-tip svg{color:#f76707}:root[data-theme=dark] .profile-tip{color:#ffa94d;border-color:#ffa94d52}.profile-chip{background:var(--surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);height:34px;box-shadow:var(--shadow-soft);cursor:pointer;font:inherit;border-radius:0;align-items:center;gap:10px;padding:0 14px;display:inline-flex}.brick-border-3d{width:100%;position:relative}.brick-border-3d-content{background:var(--surface-solid);padding:10px;position:relative}.stats-row{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px;display:grid}.stat-tile{background:var(--card);border:1px solid var(--line);border-radius:0;flex-direction:column;align-items:center;gap:1px;padding:10px 6px;display:flex}.stat-tile strong{color:var(--ink);font-size:16px;font-weight:650}.stat-tile span{color:var(--ink-muted);font-size:10.5px}.modal-subtitle{color:var(--ink);margin:0 0 8px;font-size:13px;font-weight:650}.modal-panel.level-modal{width:min(400px,100%);max-height:92vh;box-shadow:none;background:0 0;border:none;padding:0;position:relative;overflow:hidden}.level-modal-close{z-index:2;background:var(--card);border:1px solid var(--line);width:30px;height:30px;color:var(--ink-muted);cursor:pointer;border-radius:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:28px;right:28px}.level-modal-close:active{background:var(--cream-deep);color:var(--ink)}@media (height<=700px){.modal-panel.level-modal{max-height:100%}.level-modal .brick-border-3d-content{overscroll-behavior:contain;max-height:calc(100dvh - 108px);overflow-y:auto}}.level-hero{flex-direction:column;align-items:center;gap:6px;margin:4px 0 16px;display:flex}.level-ring{width:108px;height:108px;position:relative}.level-ring svg{display:block}.level-ring-badge{flex-direction:column;justify-content:center;align-items:center;gap:0;display:flex;position:absolute;inset:0}.level-ring-num{color:var(--ink);letter-spacing:-.02em;font-size:30px;font-weight:650;line-height:1}.level-ring-label{letter-spacing:.14em;color:var(--ink-muted);font-size:9px;font-weight:650}.level-hero-xp{color:var(--ink);margin:0;font-size:13px;font-weight:650}.level-hero-xp span{color:var(--ink-muted);font-weight:500}.xp-chips{flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:16px;display:flex}.xp-chip{color:var(--ink);background:var(--card);border:1px solid var(--line);white-space:nowrap;border-radius:0;padding:5px 10px;font-size:11px;font-weight:650}.badge-shelf{-webkit-overflow-scrolling:touch;gap:10px;margin:0;padding:2px 2px 4px;list-style:none;display:flex;overflow-x:auto}.badge-chip{opacity:.4;filter:grayscale(.9);flex-direction:column;flex-shrink:0;align-items:center;gap:4px;width:60px;display:flex}.badge-chip.earned{opacity:1;filter:none}.badge-chip-icon{object-fit:contain;width:44px;height:44px}.badge-chip-name{text-align:center;color:var(--ink-muted);font-size:9px;font-weight:650;line-height:1.2}@media (height<=620px){.level-hero{margin:0 0 12px}.level-ring,.level-ring svg{width:84px;height:84px}.level-ring-num{font-size:24px}.stats-row,.xp-chips{margin-bottom:10px}}@media (height<=460px){.level-hero{gap:2px;margin:0 0 8px}.level-ring,.level-ring svg{width:60px;height:60px}.level-ring-num{font-size:17px}.level-ring-label{font-size:7px}.level-hero-xp{font-size:11px}.stats-row{gap:6px;margin-bottom:8px}.stat-tile{padding:6px 4px}.stat-tile strong{font-size:13px}.xp-chips{gap:4px;margin-bottom:8px}.xp-chip{padding:4px 8px;font-size:10px}.modal-subtitle{margin-bottom:4px;font-size:12px}.badge-chip{width:48px}.badge-chip-icon{width:34px;height:34px}.badge-chip-name{font-size:8px}}.profile-level{letter-spacing:.02em;color:var(--ink);font-size:13px;font-weight:650}.profile-xp-track{background:var(--ink-soft);border-radius:0;width:64px;height:6px;display:block;overflow:hidden}.profile-xp-fill{background:var(--accent);border-radius:0;height:100%;transition:width .4s cubic-bezier(.22,1,.36,1);display:block}.profile-streak{color:#e8590c;align-items:center;gap:3px;font-size:12.5px;font-weight:650;display:inline-flex}.coach{left:50%;top:calc(66px + env(safe-area-inset-top));z-index:30;background:var(--surface-solid);border:1.5px solid var(--stroke);width:min(360px,100vw - 28px);box-shadow:var(--shadow-lift);pointer-events:auto;border-radius:0;align-items:flex-start;gap:12px;padding:13px 15px;animation:.4s cubic-bezier(.22,1,.36,1) coach-in;display:flex;position:absolute;transform:translate(-50%)}@keyframes coach-in{0%{opacity:0;transform:translate(-50%)translateY(-10px)scale(.97)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}.coach-icon{background:var(--cream-deep);flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-size:17px;display:flex}.coach-body{flex:1;min-width:0}.coach-body p{color:var(--ink);margin:0 0 10px;font-size:13.5px;line-height:1.45}.coach-foot{justify-content:space-between;align-items:center;gap:8px;display:flex}.coach-dots{gap:6px;display:inline-flex}.coach-dots i{background:var(--line-strong);width:7px;height:7px;transition:background .2s,transform .2s}.coach-dots i.done{background:var(--ink-muted)}.coach-dots i.on{background:var(--accent);transform:scale(1.25)}.coach-skip{color:var(--ink-muted);cursor:pointer;background:0 0;border:none;margin:-4px -6px;padding:4px 6px;font-size:12px;font-weight:650}@media (hover:hover){.coach-skip:hover{color:var(--ink)}}@media (prefers-reduced-motion:reduce){.coach{animation:none}}.home-a11y-nav{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.home-a11y-nav button:focus{clip:auto;background:var(--surface-solid);border:1px solid var(--line-strong);border-radius:0;width:auto;height:auto;padding:8px 14px;position:fixed;top:16px;left:16px}.set-preview-canvas{width:100%;height:100%}.set-preview-canvas canvas{display:block}.workspace{width:100vw;height:100dvh;position:relative;overflow:hidden}.workspace>div:first-child{inset:0;position:absolute!important}.workspace canvas{touch-action:none;display:block}.topbar{padding:calc(14px + env(safe-area-inset-top)) calc(18px + env(safe-area-inset-right)) 14px calc(18px + env(safe-area-inset-left));pointer-events:none;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;display:grid;position:absolute;top:0;left:0;right:0}.topbar-side,.topbar-center{align-items:center;gap:6px;min-width:0;display:flex}.topbar-side.left{justify-content:flex-start}.topbar-center{justify-content:center}.topbar-side.right{justify-content:flex-end}.saved-pulse{letter-spacing:.04em;color:var(--ink-muted);opacity:0;white-space:nowrap;font-size:11px;font-weight:700;transition:opacity .35s,transform .35s;transform:translate(-3px)}.saved-pulse.show{opacity:1;transform:translate(0)}.back-chevron{pointer-events:auto;width:34px;height:34px;color:var(--ink-muted);cursor:pointer;background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;padding:0;transition:color .15s,background .15s;display:inline-flex}@media (hover:hover){.back-chevron:hover{color:var(--ink);background:var(--surface)}}.icon-button{pointer-events:auto;min-width:34px;height:34px;color:var(--ink);background:var(--surface);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line);box-shadow:var(--shadow-soft);cursor:pointer;border-radius:0;justify-content:center;align-items:center;gap:7px;padding:0 9px;font-size:13.5px;font-weight:550;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.icon-button.labeled{padding:0 12px 0 9px}@media (hover:hover){.icon-button:hover:not(:disabled){background:var(--surface-solid);border-color:var(--line-strong)}}.icon-button:active:not(:disabled){transform:scale(.96)}.icon-button:disabled{opacity:.38;cursor:default}.topbar-divider{background:var(--line-strong);width:1px;height:20px;margin:0 4px}.segmented{pointer-events:auto;background:var(--surface);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line);height:34px;box-shadow:var(--shadow-soft);border-radius:0;flex-shrink:0;align-items:stretch;gap:2px;padding:3px;display:inline-flex}.segmented button{letter-spacing:.02em;color:var(--ink-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:0;align-items:center;padding:0 12px;font-size:12.5px;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.segmented button.active{background:var(--ink);color:var(--cream)}.tray{z-index:5;padding:0 calc(16px + env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left));pointer-events:none;justify-content:center;display:flex;position:absolute;bottom:0;left:0;right:0}.tray-shelf{pointer-events:auto;background:var(--surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--line);width:min(720px,100vw - 32px);box-shadow:var(--shadow-lift);border-radius:0;flex-direction:column;gap:0;padding:12px 12px 10px;display:flex}.tray-header{justify-content:space-between;align-items:baseline;gap:12px;padding:0 4px 6px;display:flex}.tray-set-name{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:640;overflow:hidden}.tray-step-count{font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;font-size:12.5px;font-weight:600}.tray-of{color:var(--ink-muted);font-weight:400}.tray-progress{background:var(--cream-deep);border-radius:0;height:3px;margin:0 4px 10px;overflow:hidden}.tray-progress-fill{background:var(--accent);border-radius:0;height:100%;transition:width .4s cubic-bezier(.22,1,.36,1)}.tray-bricks{-webkit-overflow-scrolling:touch;gap:8px;display:flex;overflow-x:auto}.tray-tile{cursor:grab;touch-action:pan-x;background:0 0;border:1px solid #0000;border-radius:0;flex-direction:column;flex-shrink:0;align-items:center;gap:2px;width:86px;padding:8px 6px 7px;transition:background .15s,border-color .15s,opacity .2s,transform .15s;display:flex;position:relative}@media (hover:hover){.tray-tile:hover:not(:disabled){background:var(--surface-solid);border-color:var(--line)}}.tray-tile.lifting{background:var(--surface-solid);border-color:var(--line-strong);transform:translateY(-3px)}.tray-tile.next{border-color:var(--line-strong);background:var(--surface-solid)}.tray-tile.depleted{opacity:.32;cursor:default}.tray-tile.blocked{opacity:.55}.tray-shelf.free{gap:10px}.brush-toggle{pointer-events:auto;letter-spacing:.01em;height:34px;color:var(--ink-muted);border:1px solid var(--line-strong);cursor:pointer;white-space:nowrap;background:0 0;border-radius:0;flex-shrink:0;align-items:center;gap:6px;padding:0 11px;font-size:12.5px;font-weight:600;transition:background .14s,color .14s,border-color .14s;display:inline-flex}@media (hover:hover){.brush-toggle:hover{background:var(--cream-deep);color:var(--ink)}}.brush-toggle.active{background:var(--ink);border-color:var(--ink);color:var(--cream)}.submit-button{pointer-events:auto;letter-spacing:.01em;color:#fff;background:var(--accent);border:1px solid var(--accent);cursor:pointer;border-radius:0;align-items:center;gap:6px;height:34px;margin-left:8px;padding:0 12px;font-size:12.5px;font-weight:650;transition:background .14s,transform .14s;display:inline-flex}@media (hover:hover){.submit-button:hover:not(:disabled){background:#d54e3c}}.submit-button:active:not(:disabled){transform:scale(.97)}.submit-button:disabled{opacity:.4;cursor:default}.free-color-picker-wrap{pointer-events:auto;align-items:center;display:inline-flex;position:relative}.free-color-indicator{border:1.5px solid var(--line-strong);cursor:pointer;border-radius:0;width:34px;height:34px;transition:transform .12s;display:block}@media (hover:hover){.free-color-indicator:hover{transform:scale(1.08)}}.free-colors{background:var(--surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line-strong);box-shadow:var(--shadow-soft);z-index:1000;pointer-events:auto;border-radius:0;grid-template-columns:repeat(6,1fr);gap:6px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.free-colors .swatch{cursor:pointer;border:1px solid #4a3c2626;border-radius:0;width:22px;height:22px;transition:transform .12s,box-shadow .12s}@media (hover:hover){.free-colors .swatch:hover{transform:scale(1.15)}}.free-colors .swatch.selected{box-shadow:0 0 0 1.5px var(--cream), 0 0 0 3px var(--accent)}.free-parts{-webkit-overflow-scrolling:touch;gap:8px;display:flex;overflow-x:auto}.zoom-controls{right:calc(18px + env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));pointer-events:auto;background:var(--surface);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line);box-shadow:var(--shadow-soft);border-radius:0;flex-direction:row;align-items:center;gap:0;padding:4px;display:flex;position:absolute}.zoom-btn{width:32px;height:32px;color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;padding:0;transition:background .14s;display:inline-flex}@media (hover:hover){.zoom-btn:hover{background:var(--cream-deep)}}.zoom-divider,.dock-divider{background:var(--line);flex-shrink:0;width:1px;height:16px;margin:0 2px}.action-dock{left:calc(18px + env(safe-area-inset-left));bottom:calc(24px + env(safe-area-inset-bottom));pointer-events:auto;background:var(--surface);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line);box-shadow:var(--shadow-soft);z-index:5;border-radius:0;flex-direction:row;align-items:center;padding:4px;display:flex;position:absolute}.dock-btn{width:32px;height:32px;color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;padding:0;transition:background .14s,opacity .14s;display:inline-flex}@media (hover:hover){.dock-btn:hover:not(:disabled){background:var(--cream-deep)}}.dock-btn:disabled{opacity:.35;cursor:default}.workspace-menu{pointer-events:auto;display:none;position:relative}.menu-trigger{background:var(--surface);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line);width:34px;height:34px;box-shadow:var(--shadow-soft);color:var(--ink);cursor:pointer;border-radius:0;justify-content:center;align-items:center;padding:0;transition:background .14s;display:inline-flex}.menu-trigger.open{background:var(--cream-deep)}.menu-popover{background:var(--surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--line);box-shadow:var(--shadow-lift);z-index:40;border-radius:0;flex-direction:column;align-items:center;gap:0;padding:4px;animation:.16s cubic-bezier(.22,1,.36,1) menu-in;display:flex;position:absolute;top:calc(100% + 6px);right:0}@keyframes menu-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.menu-item{width:34px;height:34px;color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;padding:0;transition:background .14s,opacity .14s;display:inline-flex}.menu-item:active:not(:disabled){background:var(--cream-deep)}.menu-item:disabled{opacity:.35;cursor:default}.menu-divider{background:var(--line);width:22px;height:1px;margin:2px 0}.menu-item.wide{width:100%;min-width:136px;height:38px;font:inherit;white-space:nowrap;justify-content:flex-start;gap:8px;padding:0 10px;font-size:12.5px}.menu-item.wide.active{background:var(--cream-deep);color:var(--accent)}.menu-colors{grid-template-columns:repeat(5,1fr);gap:6px;width:100%;padding:8px 6px 4px;display:grid}.menu-colors .swatch{aspect-ratio:1;width:100%;height:auto}.profile-chip,.icon-button,.menu-trigger,.segmented,.zoom-controls,.action-dock{-webkit-backdrop-filter:none;backdrop-filter:none;border:1.5px solid var(--stroke);box-shadow:none;background:0 0}.back-chevron{border:1.5px solid var(--stroke);color:var(--ink);border-radius:0}@media (hover:hover){.icon-button:hover:not(:disabled),.menu-trigger:hover,.back-chevron:hover{border-color:var(--ink);background:0 0}}.tray-thumb{width:62px;height:48px}.tray-thumb img{object-fit:contain;width:100%;height:100%;display:block}.tile-meta{align-items:baseline;gap:5px;font-size:11.5px;display:flex}.tile-size{letter-spacing:.03em;color:var(--ink);font-weight:600}.tile-count{font-variant-numeric:tabular-nums;color:var(--ink-muted);font-weight:500}.tray-zoom{display:none}.reference-view{background:var(--surface);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line);box-shadow:var(--shadow-soft);-webkit-user-select:none;user-select:none;border-radius:0;flex-direction:column;align-items:center;gap:6px;padding:8px 10px 12px;display:flex;position:absolute}.reference-handle{cursor:grab;touch-action:none;align-items:center;gap:6px;width:100%;padding:2px 0;display:flex}.reference-handle:active{cursor:grabbing}.reference-min{width:22px;height:22px;color:var(--ink-muted);cursor:pointer;touch-action:none;background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;margin-left:auto;padding:0;display:inline-flex}.reference-min:active{background:var(--cream-deep)}.reference-view.collapsed{padding:6px 10px}.brick-remove-badge{background:var(--accent);border:2px solid var(--surface-solid);color:#fff;cursor:pointer;width:26px;height:26px;box-shadow:var(--shadow-soft);touch-action:none;border-radius:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.brick-remove-badge:active{transform:scale(.9)}.reference-label{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);font-size:10.5px;font-weight:650}.reference-handle svg{color:var(--ink-muted);opacity:.6}.reference-canvas{background:#f4efe0;border-radius:0;width:160px;height:128px;overflow:hidden}.hint-toggle{letter-spacing:.02em;color:var(--ink-muted);border:1px solid var(--line-strong);cursor:pointer;background:0 0;border-radius:0;padding:4px 14px;font-size:12px;font-weight:600;transition:background .15s,color .15s,border-color .15s}@media (hover:hover){.hint-toggle:hover{background:var(--surface-solid)}}.hint-toggle.on{background:var(--ink);border-color:var(--ink);color:var(--cream)}.color-panel-wrap{position:relative}.icon-button.pressed{background:var(--ink);border-color:var(--ink);color:var(--cream)}.swatch{cursor:pointer;border:1px solid #4a3c262e;border-radius:0;width:26px;height:26px;padding:0;transition:transform .12s,box-shadow .12s}@media (hover:hover){.swatch:hover{transform:scale(1.12)}}.swatch.selected{box-shadow:0 0 0 2px var(--cream), 0 0 0 4px var(--accent)}.swatch.locked,.free-colors .swatch.locked{opacity:.28;cursor:not-allowed;filter:saturate(.4)}@media (hover:hover){.swatch.locked:hover,.free-colors .swatch.locked:hover{transform:none}}.button{--brick:#e9e2d2;--brick-side:#c3b795;--brick-text:var(--ink);letter-spacing:.01em;color:var(--brick-text);background:var(--brick);border:1.5px solid var(--brick-side);cursor:pointer;border-radius:0;justify-content:center;align-items:center;padding:12px 22px;font-size:14px;font-weight:650;transition:background .14s,transform .1s cubic-bezier(.22,1,.36,1),filter .15s;display:inline-flex;position:relative}@media (hover:hover){.button:hover{filter:brightness(1.05)}}.button:active{transition-duration:60ms;transform:scale(.97)}.button.primary{--brick:#e85d4a;--brick-side:#b23d2e;--brick-text:#fff}:root[data-theme=dark] .button{--brick:#21512a;--brick-side:#143d1c}:root[data-theme=dark] .button.primary{--brick:#ff6b4a;--brick-side:#c94a2f;--brick-text:#fff}.completion-overlay{pointer-events:none;opacity:0;justify-content:flex-start;align-items:center;padding:0 clamp(16px,3.5vw,52px);transition:opacity .8s;display:flex;position:absolute;inset:0;overflow:hidden}.completion-overlay.visible{opacity:1}.completion-panel{pointer-events:auto;overscroll-behavior:contain;opacity:0;width:min(380px,34vw);max-height:100%;transition:transform .9s cubic-bezier(.22,1,.36,1),opacity .7s;overflow-y:auto;transform:translate(-24px)}.completion-overlay.visible .completion-panel{opacity:1;transform:translate(0)}.completion-panel>*{opacity:0;transition:opacity .55s,transform .7s cubic-bezier(.22,1,.36,1);transform:translateY(16px)}.completion-overlay.visible .completion-panel>*{opacity:1;transform:none}.completion-overlay.visible .completion-panel>:nth-child(2){transition-delay:.1s}.completion-overlay.visible .completion-panel>:nth-child(3){transition-delay:.18s}.completion-overlay.visible .completion-panel>:nth-child(4){transition-delay:.26s}.completion-overlay.visible .completion-panel>:nth-child(5){transition-delay:.34s}.completion-overlay.visible .completion-panel>:nth-child(6){transition-delay:.42s}.completion-head{align-items:center;gap:13px;margin-bottom:14px;display:flex}.completion-medal{color:#fff;background:var(--accent);border-radius:0;flex:none;justify-content:center;align-items:center;width:52px;height:52px;display:flex;transform:scale(0);box-shadow:0 6px 18px #e85d4a59}.completion-overlay.visible .completion-medal{animation:.55s cubic-bezier(.34,1.56,.64,1) .25s forwards medal-pop}@keyframes medal-pop{0%{transform:scale(0)rotate(-30deg)}to{transform:scale(1)rotate(0)}}.completion-head-text{min-width:0}.completion-kicker{letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:3px;font-size:9.5px;font-weight:650;display:block}.completion-title{letter-spacing:-.02em;color:var(--ink);margin:0;font-size:31px;font-weight:650;line-height:1.1}.score-rows{flex-direction:column;margin:0 0 16px;display:flex}.score-row{border-top:1px solid var(--line-strong);color:var(--ink-muted);justify-content:space-between;align-items:baseline;padding:8px 2px;font-size:13px;font-weight:600;display:flex}.score-row:last-child{border-bottom:1px solid var(--line-strong)}.score-row strong{color:var(--ink);font-size:16px;font-weight:650}.reward-rows{flex-wrap:wrap;align-items:center;gap:7px;margin:0 0 14px;display:flex}.reward-chip{white-space:nowrap;border-radius:0;padding:6px 11px;font-size:12px;font-weight:650}.reward-xp{color:#fff;background:var(--accent);box-shadow:0 3px 10px #e85d4a4d}.reward-levelup{color:#2b8a3e;background:#40c05729}.reward-streak{color:#d9480f;background:#e8590c24}:root[data-theme=dark] .reward-levelup{color:#69db7c}:root[data-theme=dark] .reward-streak{color:#ffa94d}.reward-hero{flex-direction:column;gap:10px;margin:6px 0 16px;display:flex}.reward-xp-big{letter-spacing:-.03em;color:var(--accent);font-variant-numeric:tabular-nums;align-items:baseline;gap:6px;font-size:46px;font-weight:750;line-height:1;display:inline-flex}.completion-overlay.visible .reward-xp-big{animation:.5s cubic-bezier(.34,1.56,.64,1) .15s both xp-pop}@keyframes xp-pop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.reward-xp-big span{letter-spacing:0;font-size:18px;font-weight:700}.reward-chips{flex-wrap:wrap;gap:7px;display:flex}.unlock-toast{background:#ffcd0329;border:1.5px solid #b8860b6b;align-items:center;gap:12px;margin:0 0 16px;padding:12px 14px;display:flex}.unlock-toast-star{color:#e0a900;flex:none;font-size:24px;animation:.7s cubic-bezier(.34,1.56,.64,1) both star-spin}@keyframes star-spin{0%{transform:scale(0)rotate(-120deg)}to{transform:scale(1)rotate(0)}}.unlock-toast-text strong{color:var(--ink);font-size:13.5px;font-weight:700;display:block}.unlock-toast-text span{color:var(--ink-muted);font-size:12.5px}:root[data-theme=dark] .unlock-toast-star{color:#ffd873}.completion-cta{align-items:stretch;gap:10px;margin-top:16px;display:flex}.button.again{flex:1;gap:8px}.cta-icon{width:48px;color:var(--ink);background:var(--surface-solid);border:1.5px solid var(--stroke);cursor:pointer;border-radius:0;flex:none;justify-content:center;align-items:center;transition:border-color .14s,background .14s,transform .1s;display:inline-flex}@media (hover:hover){.cta-icon:hover{border-color:var(--ink)}}.cta-icon:active{transform:scale(.94)}@media (prefers-reduced-motion:reduce){.completion-overlay.visible .reward-xp-big,.unlock-toast-star{animation:none}}.share-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;display:flex}.share-button{color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);cursor:pointer;border-radius:0;padding:7px 14px;font-size:12.5px;font-weight:650;transition:transform .1s}@media (hover:hover){.share-button:hover{transform:translateY(-1px)}}.share-note{width:100%;color:var(--ink-muted);font-size:12px;font-weight:600}.modal-overlay{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:auto;background:#14100873;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-panel{overscroll-behavior:contain;width:min(420px,100%);max-height:min(560px,100%);overflow-y:auto}.modal-panel:focus,.modal-panel:focus-visible{background:var(--surface-solid);border:1px solid var(--line);box-shadow:var(--shadow-lift);border-radius:0;outline:none;padding:22px}.modal-title{color:var(--ink);margin:0 0 6px;font-size:17px;font-weight:650}.modal-sub{color:var(--ink-muted);margin:0 0 14px;font-size:13px;line-height:1.5}.modal-input{width:100%;font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line-strong);border-radius:0;margin-bottom:14px;padding:10px 12px;font-size:14px}.modal-code{width:100%;height:72px;color:var(--ink);background:var(--card);border:1px solid var(--line-strong);resize:none;word-break:break-all;border-radius:0;margin-bottom:10px;padding:8px 10px;font-family:ui-monospace,monospace;font-size:11px}.modal-error{color:#e03131;margin:0 0 10px;font-size:12.5px;font-weight:600}.modal-actions{gap:10px;display:flex}.save-set-toggle{pointer-events:auto;height:34px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);cursor:pointer;white-space:nowrap;border-radius:0;flex-shrink:0;align-items:center;padding:0 14px;font-size:12.5px;font-weight:650;display:inline-flex}.save-set-toggle:disabled{opacity:.45;cursor:default}.my-sets-list{flex-direction:column;gap:8px;margin:0 0 14px;padding:0;list-style:none;display:flex}.my-sets-row{background:var(--card);border:1px solid var(--line);border-radius:0;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.my-sets-meta{flex-direction:column;min-width:0;display:flex}.my-sets-meta strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;overflow:hidden}.my-sets-meta span{color:var(--ink-muted);font-size:11.5px}.my-sets-actions{flex-shrink:0;gap:6px;display:flex}.button.small{padding:6px 12px;font-size:12px}.button.danger{color:#e03131}.sets-page{background:var(--cream);flex-direction:column;width:100vw;height:100dvh;display:flex;overflow-y:auto}.sets-header{z-index:10;padding:calc(14px + env(safe-area-inset-top)) 20px 12px;background:var(--cream);flex:none;align-items:center;gap:12px;display:flex;position:sticky;top:0}.sets-header h2{color:var(--ink);margin:0;font-size:17px;font-weight:650}.sets-header-right{margin-left:auto}.collections-grid{padding:16px calc(20px + env(safe-area-inset-right)) calc(28px + env(safe-area-inset-bottom)) calc(20px + env(safe-area-inset-left));grid-template-columns:repeat(auto-fill,minmax(288px,1fr));align-content:start;align-items:start;gap:16px;display:grid}.collection-card{text-align:left;font:inherit;background:var(--surface-solid);border:1px solid var(--line);cursor:pointer;animation:.6s cubic-bezier(.22,1,.36,1) backwards shelf-in;animation-delay:calc(var(--i,0) * 70ms);border-radius:0;flex-direction:column;padding:0;transition:background .16s,border-color .16s;display:flex;overflow:hidden}@keyframes shelf-in{0%{opacity:0;transform:translateY(22px)scale(.97)}to{opacity:1;transform:none}}@media (hover:hover){.collection-card:hover{background:var(--cream-deep);border-color:var(--line-strong)}}.collection-fan{background:var(--card);border-bottom:1px solid var(--line);justify-content:space-evenly;align-items:stretch;gap:12px;height:168px;padding:14px;display:flex;position:relative}.fan-slot{flex:1;min-width:0;transition:transform .3s cubic-bezier(.22,1,.36,1);position:relative}.fan-slot .set-card-preview{background:0 0;width:100%;height:100%}@media (hover:hover){.collection-card:hover .fan-slot{transform:translateY(-3px)}}.collection-info{flex-direction:column;gap:4px;padding:14px 16px 15px;display:flex}.collection-title{letter-spacing:-.01em;color:var(--ink);margin:0;font-size:17.5px;font-weight:650}.collection-blurb{color:var(--ink-dim);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.9em;margin:0;font-size:12.5px;font-weight:600;line-height:1.45;display:-webkit-box;overflow:hidden}.collection-meta{align-items:center;gap:8px;margin-top:7px;display:flex}.collection-count,.collection-built{text-transform:uppercase;letter-spacing:.06em;color:var(--ink);background:var(--ink-soft);border-radius:0;padding:4px 10px;font-size:10.5px;font-weight:650}.collection-detail{flex-direction:column;flex:1;animation:.45s cubic-bezier(.22,1,.36,1) backwards shelf-in;display:flex}.collection-hero{background:var(--cream);border-bottom:1px solid var(--line);border-radius:0;flex:none;align-items:center;gap:12px;padding:13px 20px;display:flex}.collection-hero-blurb{color:var(--ink);flex:1;margin:0;font-size:13px;font-weight:650}.sets-grid{padding:16px calc(20px + env(safe-area-inset-right)) calc(28px + env(safe-area-inset-bottom)) calc(20px + env(safe-area-inset-left));grid-template-columns:repeat(auto-fill,minmax(170px,1fr));align-content:start;gap:14px;display:grid}@media (width<=560px){.collections-grid{padding:12px calc(14px + env(safe-area-inset-right)) calc(22px + env(safe-area-inset-bottom)) calc(14px + env(safe-area-inset-left));grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.sets-grid{padding:12px calc(14px + env(safe-area-inset-right)) calc(22px + env(safe-area-inset-bottom)) calc(14px + env(safe-area-inset-left));grid-template-columns:repeat(2,1fr);gap:10px}.sets-header,.collection-hero{padding-left:calc(14px + env(safe-area-inset-left));padding-right:calc(14px + env(safe-area-inset-right))}}.collection-detail .set-card{animation:.5s cubic-bezier(.22,1,.36,1) backwards card-deal;animation-delay:calc(var(--i,0) * 45ms)}@keyframes card-deal{0%{opacity:0;transform:translateY(18px)rotate(-1.2deg)scale(.96)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.collection-card,.collection-detail,.collection-detail .set-card{animation:none}}.set-card{text-align:left;min-width:0;font:inherit;background:var(--surface-solid);border:1px solid var(--line);cursor:pointer;border-radius:0;flex-direction:column;align-items:flex-start;gap:0;padding:0;transition:background .12s,border-color .12s;display:flex;overflow:hidden}@media (hover:hover){.set-card:hover{background:var(--cream-deep);border-color:var(--line-strong)}}.set-card-preview{background:var(--surface-solid);flex:1;justify-content:center;align-items:center;width:100%;min-height:150px;display:flex;overflow:hidden}.set-thumb{object-fit:contain;width:100%;height:100%;animation:.28s cubic-bezier(.22,1,.36,1) thumb-in}@keyframes thumb-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.set-card-info{flex-direction:column;align-items:flex-start;gap:6px;width:100%;padding:12px 14px 14px;display:flex}.difficulty-chip{text-transform:uppercase;letter-spacing:.05em;background:var(--ink-soft);color:var(--ink);border-radius:0;padding:3px 9px;font-size:10.5px;font-weight:650}.set-chip-row{align-items:center;gap:6px;display:flex}.resume-chip{letter-spacing:.03em;background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent);font-variant-numeric:tabular-nums;padding:3px 8px;font-size:10.5px;font-weight:700}.resume-meter{background:var(--ink-soft);width:100%;height:4px;overflow:hidden}.resume-meter>span{background:var(--accent);height:100%;display:block}.built-badge{background:var(--accent);color:#fff;width:22px;height:22px;box-shadow:var(--shadow-soft);place-items:center;font-size:12px;font-weight:800;display:grid;position:absolute;top:8px;right:8px}.set-card-name{color:var(--ink);margin:0;font-size:15.5px;font-weight:650}.set-thumb-wrap{flex:none;height:156px;display:flex;position:relative}.set-thumb-wrap .set-card-preview{flex:1;height:100%;min-height:0}.set-card.trophy:not(.locked){border-color:#b8860b66}.trophy-badge{color:#b8860b;background:#ffcd0333;border:1px solid #b8860b73;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;display:inline-flex;position:absolute;top:8px;right:8px}.set-card.locked{cursor:default}.set-card.locked .set-card-preview{filter:grayscale(.85)opacity(.5)}@media (hover:hover){.set-card.locked:hover{background:var(--surface-solid);border-color:var(--line)}}.set-card.locked:active{transform:none}.lock-veil{color:var(--ink-muted);background:repeating-linear-gradient(45deg,#0000,#0000 11px,#5d4e3708 11px 22px);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.lock-veil svg{filter:drop-shadow(0 1px 2px #00000026)}.unlock-chip{text-transform:uppercase;letter-spacing:.05em;color:#8a6d1b;background:#ffcd032e;padding:3px 9px;font-size:10.5px;font-weight:650}.set-card.trophy:not(.locked) .difficulty-chip{color:#8a6d1b;background:#ffcd032e}:root[data-theme=dark] .unlock-chip,:root[data-theme=dark] .set-card.trophy:not(.locked) .difficulty-chip{color:#ffd873;background:#ffcd031f}.unlock-meter{background:var(--ink-soft);width:100%;height:4px;margin-top:4px;display:block;overflow:hidden}.unlock-meter span{background:#d9a520;height:100%;transition:width .5s cubic-bezier(.22,1,.36,1);display:block}.completion-fact{border-left:3px solid var(--accent);margin:0 0 18px;padding:2px 0 2px 14px}.fact-label{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:5px;font-size:9px;font-weight:650;display:block}.completion-fact p{color:var(--ink);margin:0;font-size:12.5px;font-weight:480;line-height:1.55}.completion-actions{grid-template-columns:1.4fr 1fr;align-items:stretch;gap:9px;display:grid;overflow:visible}.completion-actions .button{justify-content:center;width:100%}.blitz-hud{top:calc(58px + env(safe-area-inset-top));z-index:20;pointer-events:none;flex-direction:column;align-items:center;gap:6px;width:min(300px,100vw - 32px);display:flex;position:absolute;left:50%;transform:translate(-50%)}.blitz-clock-row{justify-content:space-between;align-items:baseline;width:100%;display:flex}.blitz-clock,.blitz-score{letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--ink);font-size:22px;font-weight:750;line-height:1}.blitz-clock.low{color:var(--accent);animation:.7s ease-in-out infinite blitz-pulse}@keyframes blitz-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.09)}}.blitz-bar{background:var(--ink-soft);border:1px solid var(--line);border-radius:0;width:100%;height:8px;overflow:hidden}.blitz-bar-fill{background:var(--accent);height:100%;transition:width .16s linear;display:block}.blitz-bar-fill.low{background:#e8590c}.blitz-combo{letter-spacing:.02em;color:#fff;background:var(--accent);box-shadow:var(--shadow-soft);border-radius:0;padding:3px 12px;font-size:13px;font-weight:750;animation:.28s cubic-bezier(.34,1.56,.64,1) combo-pop}@keyframes combo-pop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.blitz-clock.low,.blitz-combo{animation:none}}.share-button.primary-share{color:#fff;background:var(--accent);border-color:var(--accent)}@media (hover:hover){.share-button.primary-share:hover{filter:brightness(1.05)}}@media (pointer:coarse){.back-chevron{width:42px;height:42px}.icon-button,.profile-chip,.home-nav-left .all-sets-button{min-width:40px;height:40px}.menu-trigger,.zoom-btn,.dock-btn{width:40px;height:40px}.zoom-divider,.dock-divider{height:18px}.segmented{height:40px}.segmented button{padding:0 14px}.brush-toggle,.save-set-toggle,.submit-button{height:40px;padding:0 14px}.free-color-indicator{width:40px;height:40px}.free-colors .swatch,.swatch{width:30px;height:30px}.hint-toggle{padding:8px 16px}.level-modal-close{width:40px;height:40px}.brick-remove-badge{width:36px;height:36px}.reference-min{width:32px;height:32px}.button.small{min-height:38px;padding:0 14px}.share-button{justify-content:center;align-items:center;min-height:40px;padding:0 16px;display:inline-flex}.menu-item{width:40px;height:40px}.coach-skip{padding:8px 12px}.modal-input,.modal-code{font-size:16px}.modal-code{height:96px}}@media (width<=1120px) and (height>=600px){.zoom-controls{right:calc(10px + env(safe-area-inset-right));flex-direction:column;top:50%;bottom:auto;transform:translateY(-50%)}.action-dock{left:calc(10px + env(safe-area-inset-left));flex-direction:column;top:50%;bottom:auto;transform:translateY(-50%)}.zoom-divider,.dock-divider{width:16px;height:1px;margin:2px 0}}@media (height<=599px) and (orientation:landscape){.zoom-controls,.action-dock{flex-direction:column}.zoom-divider,.dock-divider{width:16px;height:1px;margin:2px 0}.tray-shelf{width:min(560px,100vw - 140px)}.reference-canvas{width:96px;height:60px}}@media (width<=640px){.topbar{padding:calc(10px + env(safe-area-inset-top)) calc(10px + env(safe-area-inset-right)) 10px calc(10px + env(safe-area-inset-left));gap:8px}.tray{padding:0 calc(8px + env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) calc(8px + env(safe-area-inset-left))}.tray-shelf{border-radius:0;max-width:calc(100vw - 16px);padding:10px 10px 8px}.tray-tile{width:72px;padding:7px 4px 6px}.tray-thumb{width:54px;height:42px}.reference-canvas{width:128px;height:102px}.home-hero{width:100%;padding:0 32px;top:47%}.home-subline{width:100%;font-size:13px}.home-actions{grid-template-columns:1fr 1fr;gap:10px;width:100%;max-width:340px;display:grid}.daily-build-button{grid-column:1/-1}.blitz-button,.free-build-button,.daily-build-button{justify-content:center;padding:10px 14px;font-size:12.5px}.home-nav-left .all-sets-button{padding:0 13px;font-size:12.5px}.home-nav-left,.home-corner{top:calc(12px + env(safe-area-inset-top))}.home-nav-left{left:calc(12px + env(safe-area-inset-left))}.home-corner{right:calc(12px + env(safe-area-inset-right));gap:6px}.profile-chip{gap:7px;padding:0 10px}.profile-xp-track{width:34px;height:5px}.profile-level{font-size:12px}.completion-overlay{justify-content:center;align-items:flex-end;padding:0}.completion-panel{width:100%;max-width:none;max-height:78dvh;padding:22px 20px calc(24px + env(safe-area-inset-bottom));background:var(--surface);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--line);box-shadow:var(--shadow-lift);border-radius:0;transform:translateY(32px)}.completion-overlay.visible .completion-panel{transform:translateY(0)}.completion-head{flex-direction:column;align-items:center;gap:10px;margin-bottom:2px}.completion-head-text{text-align:center;align-items:center}.reward-rows{justify-content:center}.completion-actions .button{flex:1}}@media (width<=640px),(orientation:landscape) and (height<=600px){.action-dock,.topbar [data-testid=share-button]{display:none}.workspace-menu{display:inline-flex}.submit-label{display:none}.submit-button{padding:8px}.zoom-controls{display:none}.tray-zoom{border-top:1px solid var(--line);justify-content:center;align-items:center;gap:4px;margin:8px 4px 0;padding-top:8px;display:flex}.tray-zoom .zoom-btn{width:34px;height:34px;color:var(--ink)}.tray-zoom .zoom-divider{background:var(--line-strong);width:1px;height:16px;margin:0 2px}.tray{padding:0;bottom:0}.tray-shelf{width:100%;max-width:none;padding:16px 16px calc(14px + env(safe-area-inset-bottom));border-bottom:none;border-radius:0}.tray-bricks,.free-parts{scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;overflow:auto hidden}.tray-bricks::-webkit-scrollbar{display:none}.free-parts::-webkit-scrollbar{display:none}.tray-tile{touch-action:pan-x;gap:4px;width:68px;padding:6px 4px 5px}.tray-thumb{width:52px;height:42px}.tray-shelf{max-height:46dvh;overflow-y:auto}.tile-meta{font-size:10.5px}.coach{align-items:center;gap:8px;width:calc(100vw - 24px);padding:8px 10px}.coach-icon{width:22px;height:22px;font-size:12px}.coach-body p{margin:0 0 5px;font-size:11.5px;line-height:1.35}.coach-dots i{width:5px;height:5px}.coach-skip{font-size:11px}.blitz-hud{gap:4px;width:min(232px,100vw - 32px)}.blitz-clock,.blitz-score{font-size:15.5px}.blitz-bar{height:5px}.blitz-combo{padding:2px 10px;font-size:11.5px}}@media (orientation:landscape) and (height<=600px){.reference-canvas{width:84px;height:48px}.reference-label{display:none}.tray-shelf{max-height:38dvh;padding:7px 12px calc(7px + env(safe-area-inset-bottom))}.tray-tile{width:58px;padding:4px 3px 3px}.tile-meta{font-size:9.5px}.coach{top:calc(56px + env(safe-area-inset-top));width:min(420px,100vw - 24px);padding:8px 11px}.coach-body p{margin:0 0 6px;font-size:12px}.coach-icon{width:22px;height:22px;font-size:12px}.blitz-clock,.blitz-score{font-size:14.5px}.tray-header{padding:0 4px 4px}.tray-set-name{font-size:12px}.tray-zoom{margin:5px 4px 0;padding-top:5px}.tray-zoom .zoom-btn{width:28px;height:28px}.tray-progress{margin:0 4px 5px}.tray-thumb{width:40px;height:30px}.tray-shelf{max-height:44dvh}.topbar{padding-top:calc(6px + env(safe-area-inset-top));padding-bottom:6px}}:focus-visible{outline:2.5px solid var(--accent);outline-offset:2px}.score-rows,.reward-rows,.collection-count,.collection-built,.profile-chip,.tray-header{font-variant-numeric:tabular-nums}.completion-title,.collection-title,.sets-header h2,.set-card-name,.tray-set-name{text-wrap:balance}.collection-blurb,.collection-hero-blurb,.completion-fact p,.home-subline{text-wrap:pretty}.dock-btn:active:not(:disabled),.zoom-btn:active:not(:disabled),.back-chevron:active,.segmented button:active,.hint-toggle:active,.share-button:active{transform:scale(.96)}.set-card:active,.collection-card:active{transition-duration:60ms;transform:scale(.98)}@keyframes screen-fade{0%{opacity:0}to{opacity:1}}.home,.sets-page{animation:.32s both screen-fade}@keyframes hero-rise{0%{opacity:0;transform:translate(-50%)translateY(12px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.home-hero{animation:.55s cubic-bezier(.22,1,.36,1) .15s both hero-rise}@media (hover:hover){.daily-build-button:hover,.blitz-button:hover,.free-build-button:hover,.all-sets-button:hover{transform:translateY(-2px)}}.home-nav-left .all-sets-button:active{transform:scale(.96)}@media (prefers-reduced-motion:reduce){.home,.sets-page,.home-hero{animation:none}@media (hover:hover){.daily-build-button:hover,.blitz-button:hover,.free-build-button:hover,.all-sets-button:hover{transform:none}}.set-thumb{animation:none}.completion-overlay.visible .completion-medal{animation:none;transform:scale(1)}.completion-overlay,.completion-panel,.completion-panel>*{transition-duration:10ms}}
