:root{--bg: #fff7ec;--bg-2: #ffe9c9;--panel: #ffffff;--panel-2: #fff3e0;--ink: #3a2d4d;--muted: #9b8aa8;--grape: #8b5cf6;--bubble: #ff5fa2;--sky: #38bdf8;--lime: #4ade80;--sun: #fbbf24;--tangerine: #fb923c;--accent: var(--grape);--accent-2: var(--sky);--easy: #22c55e;--medium: #f59e0b;--hard: #fb7185;--pass: #22c55e;--fail: #fb7185;--radius: 22px;--shadow: 0 10px 0 rgba(58,45,77,.1);--shadow-pop: 0 16px 34px rgba(139,92,246,.28);font-family:Fredoka,"Baloo 2",Nunito,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{overflow-x:clip;max-width:100%}body{margin:0;color:var(--ink);background:radial-gradient(900px 500px at 12% -8%,#ffe1f0 0%,transparent 60%),radial-gradient(900px 500px at 92% -6%,#d9f0ff 0%,transparent 60%),linear-gradient(180deg,var(--bg) 0%,var(--bg-2) 100%);background-attachment:fixed;min-height:100vh}body{isolation:isolate}body:before{content:"";position:fixed;top:-560px;right:-560px;bottom:-560px;left:-560px;pointer-events:none;z-index:-1;background-image:radial-gradient(circle,rgba(255,95,162,.18) 3px,transparent 4px),radial-gradient(circle,rgba(56,189,248,.18) 3px,transparent 4px),radial-gradient(circle,rgba(74,222,128,.16) 3px,transparent 4px);background-size:260px 260px,260px 260px,260px 260px;background-position:0 0,95px 150px,175px 60px;animation:dotsTravel 110s linear infinite;will-change:transform}@keyframes dotsTravel{0%{transform:translateZ(0)}to{transform:translate3d(-520px,260px,0)}}body:after{content:"";position:fixed;top:-22%;right:-22%;bottom:-22%;left:-22%;pointer-events:none;z-index:-1;background:radial-gradient(42% 34% at 24% 28%,color-mix(in srgb,var(--grape) 15%,transparent) 0%,transparent 70%),radial-gradient(38% 32% at 78% 68%,color-mix(in srgb,var(--sky) 13%,transparent) 0%,transparent 70%),radial-gradient(30% 26% at 60% 14%,color-mix(in srgb,var(--bubble) 11%,transparent) 0%,transparent 70%);animation:glowDrift 60s ease-in-out infinite alternate;will-change:transform}@keyframes glowDrift{0%{transform:translate3d(-4%,-2.5%,0) rotate(0) scale(1)}50%{transform:translate3d(2.5%,3%,0) rotate(2.6deg) scale(1.07)}to{transform:translate3d(4.5%,-2%,0) rotate(-2.2deg) scale(1.03)}}html[data-dark=on] body:after{background:radial-gradient(42% 34% at 24% 28%,color-mix(in srgb,var(--neb-1, #3a1a6e) 70%,transparent) 0%,transparent 70%),radial-gradient(38% 32% at 78% 68%,color-mix(in srgb,var(--neb-2, #16266e) 65%,transparent) 0%,transparent 70%);mix-blend-mode:screen}@media(prefers-reduced-motion:reduce){body:before,body:after{animation:none}}button{font-family:inherit;cursor:pointer;border:none}input,textarea{font-family:inherit}.muted{color:var(--muted)}@keyframes wiggle{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes popIn{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.login{min-height:100vh;display:grid;place-items:center;position:relative;z-index:1;padding:20px}.login-card{background:var(--panel);padding:44px 40px 40px;border-radius:32px;max-width:440px;width:100%;text-align:center;border:4px solid #fff;box-shadow:0 24px #8b5cf62e,0 30px 60px #8b5cf640;position:relative;max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);overflow-y:auto}.login-mascot{font-size:72px;display:inline-block;animation:floaty 3s ease-in-out infinite}.login-card h1{font-size:46px;margin:6px 0;font-weight:700;letter-spacing:.5px;background:linear-gradient(90deg,var(--bubble),var(--grape) 50%,var(--sky));-webkit-background-clip:text;background-clip:text;color:transparent}.login-card p{color:var(--muted);margin-bottom:24px;font-size:16px}.login-card p.login-trial{margin:-12px auto 20px;font-size:13.5px;font-weight:700;color:var(--ink);background:linear-gradient(180deg,color-mix(in srgb,#4ade80 18%,var(--panel)),var(--panel));border:2px solid color-mix(in srgb,#4ade80 40%,var(--panel));border-radius:12px;padding:8px 14px;max-width:320px}.login-card p.login-trial b{color:#16a34a}html[data-dark=on] .login-card p.login-trial b{color:#4ade80}.login-card form{display:flex;flex-direction:column;gap:14px}.login-card input{padding:16px;border-radius:18px;border:3px solid #ffe0ec;background:#fff;color:var(--ink);font-size:17px;text-align:center;font-weight:600;transition:border-color .2s,box-shadow .2s}.login-card input:focus{outline:none;border-color:var(--grape);box-shadow:0 0 0 4px #8b5cf62e}.login-card button{padding:16px;border-radius:18px;color:#fff;font-weight:700;font-size:18px;background:linear-gradient(180deg,#a78bfa,var(--grape));box-shadow:0 7px #6d28d9;transition:transform .08s,box-shadow .08s}.login-card button:active{transform:translateY(5px);box-shadow:0 2px #6d28d9}.app{min-height:100vh;position:relative;z-index:1;padding-bottom:28px}.app.no-dock{padding-bottom:28px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 26px;position:sticky;top:0;z-index:10;background:#ffffffd1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:3px solid #ffe6cf}.brand{font-weight:700;cursor:pointer;display:flex;align-items:center;gap:9px;margin-right:28px;background:linear-gradient(90deg,var(--bubble),var(--grape));-webkit-background-clip:text;background-clip:text;color:transparent}.brand:before{content:"🧩";-webkit-text-fill-color:initial;font-size:28px}.brand-stack{display:inline-flex;flex-direction:column;line-height:1}.brand-name{font-size:22px}.brand-dsa{font-size:11px;font-weight:800;font-style:italic;letter-spacing:.42em;margin-top:3px;opacity:.85}.login-brand{display:flex;flex-direction:column;align-items:center;line-height:1;gap:4px}.login-dsa{font-size:16px;font-weight:800;font-style:italic;letter-spacing:.5em;opacity:.8}.bc-build{margin:22px 0}.bc-build-intro{color:var(--muted);font-size:14px;margin:0 0 12px}.structure-puzzle{background:var(--panel-2);border:3px solid #fff;border-radius:18px;padding:16px}.sp-prompt{text-align:center;font-weight:700;color:var(--ink);margin-bottom:14px;min-height:22px}.structure-puzzle.solved .sp-prompt{color:#16a34a}.sp-row{display:flex;gap:10px;justify-content:center;align-items:flex-end;flex-wrap:wrap}.sp-row.linked{gap:4px}.sp-stack{display:flex;flex-direction:column;gap:8px;align-items:center;width:max-content;margin:0 auto}.sp-tree{display:flex;flex-direction:column;gap:12px;align-items:center}.sp-tree-row{display:flex;gap:14px;justify-content:center}.sp-slot{position:relative;min-width:52px;height:52px;border:2px dashed color-mix(in srgb,var(--grape) 35%,#fff);background:#fff;border-radius:12px;cursor:pointer;display:grid;place-items:center;font-weight:900;font-size:18px;color:var(--ink);transition:transform .12s,border-color .15s,background .15s}.sp-slot.open{border-color:var(--grape);background:color-mix(in srgb,var(--grape) 10%,#fff)}.sp-slot.right{border-style:solid;border-color:var(--lime);background:linear-gradient(180deg,#f1fff5,#fff)}.sp-slot.wrong{border-style:solid;border-color:#fda4af}.sp-tag{position:absolute;top:-9px;left:50%;transform:translate(-50%);font-size:10px;font-weight:800;color:var(--muted);background:var(--panel-2);padding:0 6px;border-radius:8px;text-transform:uppercase;letter-spacing:.03em}.sp-val{line-height:1}.sp-arrow{color:var(--grape);font-weight:900;font-size:18px;align-self:center}.sp-null{color:var(--muted);font-weight:900;align-self:center;margin-left:4px}.sp-tray{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:16px;padding-top:14px;border-top:2px dashed color-mix(in srgb,var(--grape) 18%,#fff);min-height:40px}.sp-piece{min-width:48px;height:48px;border:none;cursor:pointer;background:linear-gradient(180deg,var(--bubble),var(--grape));color:#fff;border-radius:12px;font-weight:900;font-size:18px;box-shadow:0 4px #8b5cf659;transition:transform .08s}.sp-piece:active{transform:translateY(2px)}.stats{display:flex;align-items:center;gap:12px}.avatar{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;font-weight:800;font-size:20px;color:#fff;transform:rotate(-4deg);background:linear-gradient(135deg,var(--bubble),var(--grape));box-shadow:0 5px #8b5cf659}.stats-main{min-width:220px}.stats-line{display:flex;gap:10px;align-items:center;font-size:15px;font-weight:700}.stats-line strong{color:var(--ink)}.lvl{background:var(--sun);color:#7c4a03;padding:2px 10px;border-radius:20px;font-size:13px;font-weight:800}.streak{font-size:14px}.xp-bar{height:12px;background:#ffe6cf;border-radius:20px;margin:6px 0 3px;overflow:hidden;border:2px solid #fff}.xp-fill{height:100%;border-radius:20px;background:linear-gradient(90deg,var(--lime),var(--sky));transition:width .6s cubic-bezier(.2,.8,.2,1)}.xp-text{font-size:12px;color:var(--muted);font-weight:700}.neuron-icon{display:inline-block;vertical-align:-.16em;flex:none}.neuron-icon.glow{filter:drop-shadow(0 0 5px rgba(167,139,250,.6))}.stats-compact{gap:9px}.stats-compact .avatar{width:40px;height:40px;border-radius:13px;font-size:18px}.stats-mini{display:flex;flex-direction:column;align-items:flex-start;gap:3px;line-height:1.05}.stats-mini-name{font-size:14px;color:var(--ink);font-weight:800;max-width:132px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xp-exp{flex:1 1 auto;min-width:0;max-width:540px;margin:0 18px;display:flex;align-items:center;gap:12px;background:linear-gradient(180deg,#ffffffb8,#ffffff75);border:1.5px solid #fff;border-radius:16px;padding:7px 14px 7px 8px;cursor:pointer;text-align:left;font:inherit;color:var(--ink);box-shadow:0 3px #3a2d4d14,inset 0 0 0 1px #8b5cf614;transition:transform .12s ease,box-shadow .12s ease,filter .15s ease}.xp-exp:hover{transform:translateY(-1px);box-shadow:0 5px #3a2d4d1a;filter:brightness(1.02)}.xp-exp:active{transform:translateY(1px);box-shadow:0 1px #3a2d4d1a}.xp-exp-badge{display:inline-flex;align-items:center;gap:6px;flex:none}.xp-exp-lvl{background:var(--sun);color:#7c4a03;font-weight:900;font-size:13px;padding:3px 10px;border-radius:999px;white-space:nowrap}.xp-exp-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:3px}.xp-exp-track{position:relative;height:12px;border-radius:999px;overflow:hidden;background:#ffe6cf;border:1.5px solid #fff}.xp-exp-fill{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:linear-gradient(90deg,var(--lime),var(--sky));transition:width .6s cubic-bezier(.2,.8,.2,1)}.xp-exp-ghost{position:absolute;top:0;bottom:0;border-radius:999px;background:linear-gradient(90deg,#a78bfaf2,#f9a8d4f2);box-shadow:0 0 8px #a78bfabf;transition:left .3s ease,width .3s ease;animation:xpGhostPulse 1s ease-in-out infinite}@keyframes xpGhostPulse{0%,to{opacity:.5}50%{opacity:1}}.xp-exp-pop{position:absolute;right:4px;top:-15px;font-size:12px;font-weight:900;color:var(--grape);text-shadow:0 1px 0 #fff;pointer-events:none;animation:xpPopRise .95s ease-out forwards}@keyframes xpPopRise{0%{opacity:0;transform:translateY(6px) scale(.7)}25%{opacity:1;transform:translateY(-2px) scale(1.12)}to{opacity:0;transform:translateY(-14px) scale(1)}}.xp-exp-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11.5px}.xp-exp-count{display:inline-flex;align-items:center;gap:4px;font-weight:900;color:var(--ink);white-space:nowrap}.xp-exp-sub{color:var(--muted);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.xp-exp-streak{color:#ea580c}@media(prefers-reduced-motion:reduce){.xp-exp-ghost{animation:none}}html[data-dark=on] .xp-exp{background:linear-gradient(180deg,#28224a99,#1c173880);border-color:#a78bfa4d;box-shadow:0 3px #00000038}html[data-dark=on] .xp-exp-track{background:#2a2550;border-color:#ffffff1a}html[data-dark=on] .xp-exp-count{color:#f4f1ff}.home{display:grid;grid-template-columns:1fr 300px;gap:26px;padding:28px;max-width:1320px;margin:0 auto}.home.problems-only{grid-template-columns:1fr;max-width:1120px}.problems-head{margin-bottom:8px}.problems-head h2{margin:4px 0;font-size:30px}.problems-head p{margin:0 0 6px;color:var(--muted);font-weight:600}.home-main{min-width:0}.home-main h2{margin:4px 0 18px;font-size:30px}.home-side{position:sticky;top:86px;align-self:start}.board{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.board.slider{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:20px;padding:4px 2px 8px}.board.slider .puzzle-card{flex:none}.puzzle-card{text-align:left;background:var(--panel);border:4px solid #fff;border-radius:24px;padding:20px;color:var(--ink);position:relative;overflow:hidden;box-shadow:0 10px #3a2d4d14;transition:transform .15s,box-shadow .15s}.puzzle-card:after{content:"";position:absolute;right:-14px;bottom:-14px;width:56px;height:56px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#8b5cf629,#8b5cf60d)}.puzzle-card:hover{transform:translateY(-6px) rotate(-1deg);box-shadow:var(--shadow-pop)}.puzzle-card.solved{border-color:var(--lime);background:linear-gradient(180deg,#f1fff5,#fff)}.card-top{display:flex;justify-content:space-between;align-items:center}.puzzle-card h3{margin:12px 0 6px;font-size:20px}.card-blurb{font-size:14px;color:var(--muted);min-height:50px;font-weight:500}.card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.xp-pill{background:var(--sun);color:#7c4a03;font-size:13px;font-weight:800;padding:4px 12px;border-radius:20px}.tags{font-size:12px;color:var(--muted);font-weight:600}.check{color:var(--pass);font-weight:900;font-size:22px}.diff{font-size:12px;font-weight:800;padding:4px 12px;border-radius:20px;text-transform:uppercase;letter-spacing:.03em}.diff.easy{background:#22c55e29;color:#16a34a}.diff.medium{background:#f59e0b2e;color:#d97706}.diff.hard{background:#fb71852e;color:#e11d48}.leaderboard{background:var(--panel);border:4px solid #fff;border-radius:24px;padding:20px;box-shadow:0 10px #3a2d4d14}.leaderboard h4{margin:0 0 14px;font-size:20px}.lb-row{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:9px 0;border-bottom:2px dashed #ffe6cf;font-size:15px;font-weight:700}.lb-row:last-child{border-bottom:none}.lb-rank{font-weight:900;text-align:center}.lb-xp{color:var(--muted);font-size:13px;font-weight:800}.lb-name{display:flex;align-items:center;gap:7px;min-width:0}.lb-avatar{font-size:18px}.lb-name-text{display:flex;flex-direction:column;min-width:0;line-height:1.15}.lb-nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.locker-free{font-size:11px;font-weight:900;color:#16a34a;background:#22c55e24;padding:2px 8px;border-radius:10px;vertical-align:middle;margin-left:6px;text-transform:uppercase;letter-spacing:.03em}.lb-lvl{font-size:10.5px;font-weight:800;color:var(--grape);letter-spacing:.01em}.records{margin:0 0 14px;background:var(--panel-2);border-radius:16px;padding:12px 14px;border:3px solid #fff}.records-title{margin:0 0 6px;font-size:14px}.records .lb-row{padding:7px 4px}.lb-time{color:var(--grape);font-size:13px;font-weight:900;white-space:nowrap}.records-stub{position:relative}.records-blur{filter:blur(5px);opacity:.5;pointer-events:none;-webkit-user-select:none;user-select:none}.records-unlock{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);white-space:nowrap;font-family:inherit;font-weight:800;font-size:13px;color:#fff;padding:10px 16px;border-radius:14px;cursor:pointer;border:none;background:linear-gradient(180deg,#a78bfa,var(--grape));box-shadow:0 5px #6d28d9;transition:transform .08s,box-shadow .08s}.records-unlock:active{transform:translate(-50%,calc(-50% + 3px));box-shadow:0 2px #6d28d9}.lb-row.you{background:color-mix(in srgb,var(--grape) 12%,#fff);border-radius:12px;padding-left:6px;padding-right:6px}.lb-you{font-size:10px;font-weight:900;color:#fff;background:var(--grape);padding:1px 7px;border-radius:10px;text-transform:uppercase}.lb-tabs{display:flex;gap:6px;margin-bottom:12px}.lb-tab{flex:1;background:var(--panel-2);color:var(--muted);font-weight:800;font-size:12.5px;padding:8px 6px;border-radius:12px;box-shadow:0 3px #3a2d4d14;transition:transform .08s}.lb-tab.active{color:#fff;background:linear-gradient(180deg,#a78bfa,var(--grape));box-shadow:0 4px #6d28d9}.lb-tab:active{transform:translateY(2px)}.lb-clickable{cursor:pointer;transition:transform .12s,box-shadow .12s}.lb-clickable:hover{transform:translateY(-2px);box-shadow:0 14px #3a2d4d1a}.lb-clickable .lb-tab,.lb-clickable .lb-login-btn{cursor:pointer}.lb-expand{float:right;font-size:16px;color:var(--muted)}.lb-modal-card{width:min(760px,94vw);max-width:760px;max-height:90vh;padding:32px 30px}.lb-modal-card .leaderboard.lb-big{max-height:78vh}.lb-modal-card .leaderboard.lb-big h4{font-size:30px}.lb-modal-card .leaderboard.lb-big .lb-row{font-size:18px;padding:14px 6px}.leaderboard.lb-big{border:none;box-shadow:none;padding:4px 2px 0;max-height:72vh;overflow-y:auto}.leaderboard.lb-big h4{font-size:24px;position:sticky;top:0;background:var(--panel);padding-bottom:6px;z-index:1}.leaderboard.lb-big .lb-tabs{position:sticky;top:40px;background:var(--panel);z-index:1;padding-bottom:8px}.leaderboard.lb-big .lb-row{font-size:17px;padding:12px 4px;grid-template-columns:42px 1fr auto}.leaderboard.lb-big .lb-avatar{font-size:22px}.leaderboard.lb-big .lb-xp{font-size:15px}.lb-locked{text-align:center;padding:10px 4px 4px}.lb-login-btn{margin-top:8px;color:#fff;font-weight:800;font-size:14px;padding:10px 18px;border-radius:14px;background:linear-gradient(180deg,#a78bfa,var(--grape));box-shadow:0 5px #6d28d9;transition:transform .08s}.lb-login-btn:active{transform:translateY(3px);box-shadow:0 2px #6d28d9}.workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,300px);gap:24px;padding:24px;max-width:1440px;margin:0 auto;align-items:start}.workspace .problem-panel{order:2}.workspace .code-panel{order:1}.workspace.solved{grid-template-columns:1fr;max-width:1000px}.workspace.solved .problem-panel.sticky-story{position:static}@media(min-width:1700px){.workspace{max-width:1560px}}.panel{background:var(--panel);border:4px solid #fff;border-radius:24px;padding:22px;box-shadow:0 10px #3a2d4d14;min-width:0}.panel>*{min-width:0;max-width:100%}.problem-panel p{overflow-wrap:anywhere}.viz-wrap,.examples{overflow-x:auto}.back{background:var(--panel-2);color:var(--ink);font-weight:800;padding:9px 16px;border-radius:16px;margin-bottom:14px;box-shadow:0 4px #3a2d4d1a;transition:transform .08s,box-shadow .08s}.back:active{transform:translateY(3px);box-shadow:0 1px #3a2d4d1a}.problem-panel{align-self:start}.problem-panel.sticky-story{position:sticky;top:74px}.problem-panel h2{margin:10px 0;font-size:26px}.problem-panel p{color:var(--muted);font-size:15px;font-weight:500}.viz-wrap{margin-top:18px;background:var(--panel-2);border-radius:20px;padding:16px;border:3px solid #fff}.viz-label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:12px;font-weight:800;display:flex;align-items:center;gap:8px}.viz-dot{width:9px;height:9px;border-radius:50%;background:var(--lime);box-shadow:0 0 10px var(--lime);animation:pulseDot 1.8s ease-in-out infinite}@keyframes pulseDot{0%,to{opacity:.5}50%{opacity:1}}.viz{min-height:120px;display:flex;align-items:flex-end;gap:6px}.array-viz{flex-direction:column;align-items:stretch;gap:12px;width:100%}.viz-goal{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--grape);font-weight:800}.viz-goal .goal-ico{font-size:20px;filter:drop-shadow(0 2px 2px rgba(0,0,0,.12))}.viz-goal .goal-text{text-transform:uppercase;letter-spacing:.05em;font-size:12px}.viz-goal b{background:#fff;color:var(--grape);padding:2px 12px;border-radius:12px;box-shadow:0 3px #8b5cf633}.shelf{display:flex;align-items:flex-end;justify-content:center;gap:12px;flex-wrap:wrap;width:100%;padding:6px 4px 10px;border-bottom:4px solid color-mix(in srgb,var(--grape) 22%,#fff);border-radius:0 0 14px 14px}.thing-col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;animation:thingPop .5s cubic-bezier(.2,.9,.3,1.25) both;animation-delay:var(--d, 0ms)}.thing{display:flex;flex-direction:column;align-items:center;gap:2px}.thing-ico{font-size:27px;line-height:1;filter:drop-shadow(0 3px 2px rgba(0,0,0,.14));transition:transform .15s}.thing-col:hover .thing-ico{transform:translateY(-4px) rotate(-5deg)}.thing-val{font-size:13px;font-weight:900;color:var(--ink);background:#fff;border-radius:9px;padding:0 7px;box-shadow:0 2px #00000014}.thing-stalk{width:4px;border-radius:4px;min-height:8px;background:linear-gradient(180deg,var(--bubble),var(--grape))}.thing-col:nth-child(3n) .thing-stalk{background:linear-gradient(180deg,var(--sky),#2563eb)}.thing-col:nth-child(3n+1) .thing-stalk{background:linear-gradient(180deg,var(--lime),#16a34a)}.thing-idx{font-size:11px;color:var(--muted);margin-top:5px;font-weight:800}@keyframes thingPop{0%{opacity:0;transform:translateY(12px) scale(.82)}}.num-viz{justify-content:center;gap:14px;flex-wrap:wrap;min-height:90px;align-items:center}.num-card{display:flex;flex-direction:column;align-items:center;gap:4px;background:#fff;border-radius:18px;padding:12px 18px;box-shadow:0 4px #00000014;animation:thingPop .45s cubic-bezier(.2,.9,.3,1.2) both;animation-delay:var(--d, 0ms)}.num-ico{font-size:26px;line-height:1}.num-val{font-size:24px;font-weight:900;color:var(--grape)}.list-viz{flex-direction:column;align-items:stretch;gap:10px}.list-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.list-chip{display:inline-flex;align-items:center;gap:6px;background:#fff;border-radius:12px;padding:5px 12px;font-weight:800;color:var(--ink);box-shadow:0 3px #00000014;animation:thingPop .4s ease both;animation-delay:var(--d, 0ms)}.list-chip .chip-idx{font-size:10px;font-weight:900;color:#fff;background:var(--bubble);border-radius:6px;padding:0 5px}.list-chip.hit{background:linear-gradient(180deg,var(--lime),#16a34a);color:#fff;box-shadow:0 4px #16a34a4d}.list-chip.hit .chip-idx{background:#ffffff59}.interval-viz{flex-direction:column;align-items:stretch;gap:8px;padding:4px 0}.interval-row{position:relative;height:28px;background:color-mix(in srgb,var(--grape) 8%,#fff);border-radius:9px}.interval-bar{position:absolute;top:3px;height:22px;display:grid;place-items:center;font-size:12px;font-weight:800;color:#fff;border-radius:8px;background:linear-gradient(180deg,var(--bubble),var(--grape));box-shadow:0 3px #8b5cf64d;animation:thingPop .45s ease both;animation-delay:var(--d, 0ms)}.pairs-viz{flex-direction:column;align-items:center;gap:8px}.pair{display:flex;align-items:center;gap:10px;animation:thingPop .4s ease both;animation-delay:var(--d, 0ms)}.pair-end{background:#fff;border-radius:12px;padding:5px 14px;font-weight:800;color:var(--ink);box-shadow:0 3px #00000014}.pair-link{color:var(--grape);font-weight:900;font-size:18px}.replay{margin-top:14px;background:var(--panel-2);border:3px solid #fff;border-radius:18px;padding:11px 12px;max-width:540px;margin-left:auto;margin-right:auto;animation:thingPop .4s ease both;font-size:13px}.rp-head{display:flex;align-items:center;gap:7px;font-weight:800;font-size:13px;color:var(--ink);margin-bottom:8px;flex-wrap:wrap}.rp-spark{font-size:18px}.rp-title{font-size:14px}.rp-target{background:#fff;color:var(--grape);font-size:12px;font-weight:800;padding:2px 10px;border-radius:10px;box-shadow:0 2px #8b5cf633}.rp-step{margin-left:auto;font-size:12px;color:var(--muted);font-weight:800;background:#fff;padding:2px 9px;border-radius:10px}.rp-close{border:none;cursor:pointer;background:#fff;color:var(--muted);font-weight:900;width:26px;height:26px;border-radius:50%;box-shadow:0 2px #0000001a;transition:transform .08s,color .15s}.rp-close:hover{color:var(--grape)}.rp-close:active{transform:translateY(2px)}.code-panel .replay{margin-top:0;margin-bottom:16px;border-color:color-mix(in srgb,var(--grape) 30%,#fff)}.legal-overlay{z-index:1200}.legal-card{position:relative;background:#fff;border-radius:22px;width:min(720px,94vw);max-height:86vh;display:flex;flex-direction:column;padding:26px 24px 18px;box-shadow:0 24px 60px #0000004d}.legal-body{overflow-y:auto;padding-right:8px;color:var(--ink);line-height:1.55}.legal-body h2{font-size:22px;margin:0 0 6px;color:var(--grape)}.legal-body h3{font-size:16px;margin:18px 0 4px}.legal-body p{margin:8px 0;font-size:14px}.legal-body ul{margin:6px 0 10px;padding-left:20px}.legal-body li{font-size:14px;margin:3px 0}.legal-body blockquote{margin:10px 0;padding:10px 14px;background:color-mix(in srgb,var(--grape) 8%,#fff);border-left:4px solid var(--bubble);border-radius:10px;font-size:13px}.legal-body hr{border:none;border-top:1px solid #eee;margin:16px 0}.legal-body em{color:var(--muted)}.legal-done{margin-top:14px;align-self:center;font-family:inherit;font-weight:800;border:none;cursor:pointer;padding:10px 26px;border-radius:14px;background:linear-gradient(180deg,var(--bubble),var(--grape));color:#fff;box-shadow:0 4px #8b5cf659}.legal-done:active{transform:translateY(2px)}html[data-dark=on] .legal-card{background:var(--panel);box-shadow:0 24px 60px #0009}html[data-dark=on] .legal-body{color:var(--ink)}html[data-dark=on] .legal-body blockquote{background:color-mix(in srgb,var(--grape) 16%,#14112f);border-left-color:var(--grape)}html[data-dark=on] .legal-body hr{border-top-color:#ffffff24}.share-win{margin-top:14px;width:100%;font-family:inherit;font-weight:800;font-size:15px;border:none;cursor:pointer;padding:12px;border-radius:16px;background:linear-gradient(180deg,#5eead4,#14b8a6);color:#08312b;box-shadow:0 4px #0d948866;transition:transform .08s}.share-win:active{transform:translateY(2px)}.next-problem{margin:0 0 14px;width:100%;font-family:inherit;font-weight:800;font-size:15px;border:none;cursor:pointer;padding:13px;border-radius:16px;background:linear-gradient(180deg,#a78bfa,#7c3aed);color:#fff;box-shadow:0 4px #5b21b666;transition:transform .08s}.next-problem b{font-weight:900}.next-problem:hover{filter:brightness(1.04)}.next-problem:active{transform:translateY(2px)}.path-done{margin:0 0 14px;text-align:center;font-weight:800;color:var(--grape);background:var(--panel-2);border-radius:16px;padding:13px}.acct-share{margin-left:auto;align-self:center;font-family:inherit;font-weight:800;font-size:13px;border:none;cursor:pointer;padding:8px 14px;border-radius:12px;background:var(--panel-2);color:var(--grape);box-shadow:0 3px #3a2d4d1f;transition:transform .08s}.acct-share:active{transform:translateY(2px)}.share-overlay{z-index:1200}.share-modal{max-width:420px;text-align:center}.share-card{position:relative;overflow:hidden;border-radius:22px;padding:22px 18px;color:#fff;background:linear-gradient(160deg,#7c3aed,#6d28d9 55%,#4f46e5);box-shadow:0 16px 40px #4f46e566}.share-card-tex{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:.75;filter:brightness(2.6) saturate(.6)}.share-card>:not(.share-card-tex){position:relative;z-index:1}.share-card.win{background:linear-gradient(160deg,#f59e0b,#ec4899 60%,#8b5cf6)}.share-brand{font-size:13px;font-weight:800;letter-spacing:.04em;opacity:.9}.share-trophy{font-size:52px;line-height:1;margin:8px 0 2px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.25))}.share-headline{font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;opacity:.95}.share-problem{font-size:24px;font-weight:900;margin:2px 0 8px}.share-avatar{font-size:56px;line-height:1;margin:10px 0 4px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.25))}.share-name{font-size:24px;font-weight:900}.share-premium{display:inline-block;margin-top:6px;background:#fff3;border-radius:20px;padding:2px 12px;font-size:12px;font-weight:800}.share-card .diff{margin-top:4px}.share-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px}.share-stat{background:#ffffff29;border-radius:14px;padding:10px 4px;display:flex;flex-direction:column;gap:2px}.share-stat b{font-size:16px;font-weight:900}.share-stat span{font-size:10px;text-transform:uppercase;letter-spacing:.04em;opacity:.85}.share-badges{margin-top:12px;font-size:22px}.share-actions{display:flex;gap:10px;justify-content:center;margin-top:18px}.share-btn{font-family:inherit;font-weight:800;font-size:14px;border:none;cursor:pointer;padding:11px 22px;border-radius:14px;background:var(--panel-2);color:var(--ink);box-shadow:0 3px #3a2d4d1f;transition:transform .08s}.share-btn.primary{background:linear-gradient(180deg,var(--bubble),var(--grape));color:#fff;box-shadow:0 3px #8b5cf659}.share-btn:active{transform:translateY(2px)}.share-hint{margin:12px 0 0;font-size:12px;color:var(--muted)}.examples{margin-top:14px;background:var(--panel-2);border-radius:16px;padding:12px 14px}.examples-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800;margin-bottom:8px}.example-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:5px 0}.example-row code{font-family:JetBrains Mono,Fira Code,monospace;font-size:12.5px;background:#fff;border-radius:8px;padding:3px 8px;box-shadow:0 2px #0000000f}.ex-in{color:var(--ink);word-break:break-all}.ex-arrow{color:var(--grape);font-weight:900}.ex-out{color:#16a34a;font-weight:700}.jp-floating{position:fixed;z-index:1000;pointer-events:none;transform:translate(-50%,-50%);filter:drop-shadow(0 12px 16px rgba(58,45,77,.35));animation:jpLift .14s ease-out}.jp-floating-inner{transform-origin:50% 50%;animation:jpSway 1.15s ease-in-out infinite}@keyframes jpSway{0%,to{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}@keyframes jpLift{0%{transform:translate(-50%,-45%) scale(.9);opacity:.4}}.sound-modal{max-width:380px}.snd-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:14px 0}.snd-row>span{font-weight:700;color:var(--ink)}.snd-toggle{font-family:inherit;font-weight:800;font-size:14px;border:none;cursor:pointer;padding:8px 16px;border-radius:12px;background:var(--panel-2);color:var(--muted);box-shadow:0 3px #3a2d4d1f;transition:transform .08s}.snd-toggle.on{background:linear-gradient(180deg,var(--bubble),var(--grape));color:#fff;box-shadow:0 3px #8b5cf659}.snd-toggle:active{transform:translateY(2px)}.snd-range{flex:1;max-width:200px;accent-color:var(--grape);cursor:pointer}.snd-range:disabled{opacity:.4;cursor:default}.hud-mini-group{display:inline-flex;gap:4px;background:var(--panel-2);padding:4px;border-radius:14px}.hud-mini{border:none;cursor:pointer;background:#fff;width:34px;height:34px;border-radius:11px;font-size:16px;line-height:1;display:grid;place-items:center;box-shadow:0 2px #3a2d4d1f;transition:transform .08s,background .12s}.hud-mini:hover{background:var(--panel-2)}.hud-mini:active{transform:translateY(2px)}.rp-stage{perspective:900px;perspective-origin:50% 30%;padding:9px 0 4px;position:relative}.rp-deck{transform:rotateX(18deg);transform-style:preserve-3d;transition:transform .4s ease}.rp-deck.live{animation:rpFloat 3.2s ease-in-out infinite}@keyframes rpFloat{0%,to{transform:rotateX(18deg) rotate(-.4deg)}50%{transform:rotateX(15deg) rotate(.4deg)}}.rp-floor{height:26px;margin:-4px auto 0;width:80%;border-radius:50%;background:radial-gradient(ellipse at center,rgba(139,92,246,.22),transparent 70%);filter:blur(2px);transform:rotateX(60deg)}.rp-array{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:4px 0 2px;transform-style:preserve-3d}.rp-col{display:flex;flex-direction:column;align-items:center;transform-style:preserve-3d}.rp-ptrs{height:18px;display:flex;gap:3px;align-items:flex-end}.rp-ptr{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.03em;color:#fff;background:var(--grape);padding:1px 5px;border-radius:7px;box-shadow:0 2px #0000001f;animation:ptrDrop .3s cubic-bezier(.2,.9,.3,1.4) both}@keyframes ptrDrop{0%{opacity:0;transform:translateY(-6px) translateZ(30px)}}.rp-cell{min-width:32px;height:34px;display:grid;place-items:center;font-weight:900;font-size:13px;color:var(--ink);background:#fff;border-radius:11px;box-shadow:0 3px #00000014;transition:transform .35s cubic-bezier(.2,.9,.3,1.2),background .3s,color .3s,box-shadow .3s;transform-style:preserve-3d}.rp-cell.dim{opacity:.3;transform:translateZ(-22px) scale(.95)}.rp-cell.active{background:linear-gradient(180deg,var(--bubble),var(--grape));color:#fff;transform:translateZ(46px) translateY(-4px) scale(1.12);box-shadow:0 14px 22px #8b5cf659}.rp-cell.done{background:linear-gradient(180deg,var(--lime),#16a34a);color:#fff;transform:translateZ(30px) translateY(-2px);box-shadow:0 12px 18px #16a34a4d}.rp-cell.bad{background:linear-gradient(180deg,#fda4af,#e11d48);color:#fff;transform:translateZ(30px);box-shadow:0 12px 18px #e11d484d}.rp-idx{font-size:10px;color:var(--muted);margin-top:4px;font-weight:800}.rp-code{background:#2a2540;border-radius:14px;padding:12px 10px;max-width:560px;margin:0 auto;overflow-x:auto;box-shadow:inset 0 2px 10px #00000040}.rp-line{display:flex;align-items:flex-start;gap:10px;padding:3px 8px;border-radius:8px;opacity:.5;transition:opacity .25s,background .25s,transform .25s}.rp-line.past{opacity:.8}.rp-line.active{opacity:1;background:linear-gradient(90deg,color-mix(in srgb,var(--grape) 55%,transparent),transparent);transform:translate(3px)}.rp-ln{color:#8b7fb0;font-size:12px;font-weight:700;min-width:18px;text-align:right;-webkit-user-select:none;user-select:none;padding-top:2px}.rp-line pre{margin:0;font-family:JetBrains Mono,Fira Code,monospace;font-size:13px;line-height:1.5;color:#f0ebff;white-space:pre}.rp-line.active pre{color:#fff}.rp-stack-wrap{display:flex;gap:18px;align-items:flex-start;justify-content:center;flex-wrap:wrap}.rp-stack{display:flex;flex-direction:column;align-items:center;gap:4px}.rp-stack-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800}.rp-stack-cells{display:flex;flex-direction:column-reverse;gap:4px;min-height:40px;padding:6px;background:#fff;border-radius:12px;box-shadow:inset 0 2px 6px #0000000f}.rp-stack-cell{min-width:30px;height:26px;display:grid;place-items:center;font-weight:900;background:linear-gradient(180deg,var(--sky),#2563eb);color:#fff;border-radius:8px;animation:thingPop .25s ease both}.rp-empty{font-size:11px;color:var(--muted);padding:6px}.rp-note{text-align:center;margin:7px 0 4px;font-weight:700;font-size:13px;color:var(--ink);min-height:18px;animation:rpNoteIn .35s cubic-bezier(.2,.9,.3,1.1) both}@keyframes rpNoteIn{0%{opacity:0;transform:translateY(6px)}}.rp-state{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:10px}.rp-chip{font-size:12px;background:#fff;border-radius:10px;padding:3px 10px;box-shadow:0 2px #00000014;color:var(--muted);font-weight:700}.rp-chip b{color:var(--grape);margin-right:3px}.rp-controls{display:flex;gap:8px;justify-content:center}.rp-btn{font-family:inherit;font-weight:800;font-size:13px;border:none;cursor:pointer;padding:8px 14px;border-radius:12px;background:#fff;color:var(--ink);box-shadow:0 3px #0000001a;transition:transform .08s}.rp-btn:active{transform:translateY(2px)}.rp-btn:disabled{opacity:.4;cursor:default}.rp-play{background:linear-gradient(180deg,var(--bubble),var(--grape));color:#fff;box-shadow:0 3px #8b5cf659}.rp-track{display:flex;gap:5px;justify-content:center;margin-top:12px;flex-wrap:wrap}.rp-dot{width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #00000014;cursor:pointer;transition:transform .15s,background .15s}.rp-dot.past{background:color-mix(in srgb,var(--grape) 35%,#fff)}.rp-dot.on{background:var(--grape);transform:scale(1.5)}.rp-tip{margin-top:14px;font-size:12.5px;line-height:1.5;color:var(--ink);background:color-mix(in srgb,var(--sun) 18%,#fff);border:2px solid color-mix(in srgb,var(--sun) 35%,#fff);border-radius:14px;padding:10px 13px;display:flex;flex-direction:column;gap:6px}.rp-tip-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rp-tip-label{font-weight:900;color:#b45309;text-transform:uppercase;letter-spacing:.04em;font-size:10px}.rp-pattern-name{font-weight:900;font-size:13px;color:var(--grape);background:color-mix(in srgb,var(--grape) 14%,#fff);border:1.5px solid color-mix(in srgb,var(--grape) 32%,#fff);padding:2px 11px;border-radius:999px}.rp-tip-text{font-weight:500}.rp-cell.active{animation:rpGlow 1.6s ease-in-out infinite}@keyframes rpGlow{0%,to{box-shadow:0 12px 20px #8b5cf652}50%{box-shadow:0 16px 30px #8b5cf699}}.rp-line.active{animation:rpLineGlow 1.8s ease-in-out infinite}@keyframes rpLineGlow{0%,to{background:linear-gradient(90deg,color-mix(in srgb,var(--grape) 50%,transparent),transparent)}50%{background:linear-gradient(90deg,color-mix(in srgb,var(--grape) 70%,transparent),transparent)}}.stack-viz{flex-wrap:wrap;align-items:center}.brick{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;font-weight:900;font-size:19px;color:#fff;background:linear-gradient(135deg,var(--tangerine),var(--bubble));box-shadow:0 4px #fb718559;animation:pop .4s ease both;animation-delay:var(--d, 0ms)}.brick.open{background:linear-gradient(135deg,#a78bfa,var(--grape))}.brick.close{background:linear-gradient(135deg,var(--sky),#2563eb)}@keyframes pop{0%{transform:scale(.4);opacity:0}}.ll-viz{align-items:center;flex-wrap:wrap;gap:4px}.node{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-weight:800;color:#fff;background:linear-gradient(135deg,#a78bfa,var(--grape));box-shadow:0 5px #8b5cf64d;animation:pop .4s ease both;animation-delay:var(--d, 0ms)}.arrow{color:var(--muted);font-size:20px}.ll-arrow{position:relative;width:34px;height:3px;background:#ffd9a8;border-radius:3px;align-self:center}.ll-arrow:after{content:"▶";position:absolute;right:-2px;top:50%;transform:translateY(-50%);font-size:11px;color:var(--tangerine)}.ll-flow{position:absolute;top:-1px;left:0;height:5px;width:10px;border-radius:4px;background:var(--lime);box-shadow:0 0 8px var(--lime);animation:flow 1.3s linear infinite}@keyframes flow{0%{left:-10px;opacity:0}20%{opacity:1}80%{opacity:1}to{left:34px;opacity:0}}.ll-null{align-self:center;color:var(--muted);font-size:18px;font-weight:800}.tree-viz{flex-direction:column;align-items:center;gap:10px;justify-content:center}.tree-row{display:flex;gap:18px}.tnode{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:800;background:linear-gradient(135deg,var(--lime),#16a34a);box-shadow:0 4px #16a34a4d}.tnode.null{background:#ffe6cf;color:var(--muted);box-shadow:none}.tree-svg{width:100%;max-width:360px;height:auto}.tree-edge{stroke:#ffd9a8;stroke-width:3;stroke-dasharray:240;stroke-dashoffset:240;animation:dash .9s ease forwards}@keyframes dash{to{stroke-dashoffset:0}}.tree-node{transform-box:fill-box;transform-origin:center;animation:pop .45s ease both;animation-delay:var(--d, 0ms)}.tree-node circle{fill:var(--lime);stroke:#16a34a;stroke-width:3;filter:drop-shadow(0 4px 0 rgba(22,163,74,.3))}.tree-node text{fill:#fff;font-weight:800;font-size:14px;font-family:inherit}.grid-viz{flex-direction:column;gap:4px;align-items:flex-start}.grid-row{display:flex;gap:4px}.cell{width:28px;height:28px;border-radius:8px;animation:cellIn .4s ease both;animation-delay:var(--d, 0ms)}@keyframes cellIn{0%{transform:scale(.2);opacity:0}}.cell.land{background:linear-gradient(135deg,var(--lime),#15803d)}.cell.land{animation:cellIn .4s ease both,landGlow 3s ease-in-out infinite}@keyframes landGlow{0%,to{box-shadow:0 0 #22c55e00}50%{box-shadow:0 0 10px #22c55e80}}.cell.water{background:linear-gradient(135deg,#bae6fd,var(--sky))}.editor{display:flex;background:#fffdf8;border-radius:18px;border:3px solid #ffe6cf;overflow:hidden;font-family:JetBrains Mono,Fira Code,SF Mono,monospace}.gutter{padding:14px 10px;text-align:right;color:#c9b8d6;-webkit-user-select:none;user-select:none;font-size:13px;line-height:1.6;background:#fff6e9}.editor textarea{flex:1;background:transparent;color:#4a3a5c;border:none;outline:none;padding:14px;font-family:inherit;font-size:14px;line-height:1.6;resize:vertical;min-height:min(54vh,500px)}.run-row{display:flex;gap:12px;margin:14px 0}.run-btn{color:#fff;font-weight:800;font-size:16px;padding:13px 26px;border-radius:18px;background:linear-gradient(180deg,#5eead4,var(--lime));box-shadow:0 6px #16a34a;transition:transform .08s,box-shadow .08s}.run-btn:active{transform:translateY(4px);box-shadow:0 2px #16a34a}.run-btn:disabled{opacity:.65;box-shadow:0 6px #16a34a}.ghost{background:var(--panel-2);color:var(--ink);font-weight:800;padding:13px 20px;border-radius:18px;box-shadow:0 5px #3a2d4d1f;transition:transform .08s,box-shadow .08s}.ghost:active{transform:translateY(3px);box-shadow:0 2px #3a2d4d1f}.results{background:var(--panel-2);border-radius:18px;padding:14px 16px;font-size:14px;border:3px solid #fff}.results.empty,.results.error{color:var(--muted)}.results.error{color:var(--fail);font-weight:700}.results.checking{display:flex;align-items:center;gap:10px}.results.checking .spin{width:15px;height:15px;border-radius:50%;border:2px solid color-mix(in srgb,var(--catc, #8b5cf6) 30%,transparent);border-top-color:var(--catc, #8b5cf6);display:inline-block;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.summary{font-weight:900;margin-bottom:10px;font-size:16px}.summary.all-pass{color:var(--pass)}.case{display:flex;gap:10px;align-items:center;padding:7px 0;border-bottom:2px dashed #ffe6cf;flex-wrap:wrap;font-weight:600}.case-status{font-weight:900;font-size:16px}.case.pass .case-status{color:var(--pass)}.case.fail .case-status{color:var(--fail)}.case code{color:var(--muted);font-size:12.5px;background:#fff;padding:2px 8px;border-radius:8px}.case-detail{color:var(--fail);font-size:12.5px;width:100%;padding-left:18px}.toast{position:fixed;bottom:190px;left:50%;transform:translate(-50%);background:var(--panel);border:4px solid var(--sun);padding:16px 28px;border-radius:22px;font-weight:800;font-size:16px;box-shadow:0 16px 40px #0000002e;z-index:50;animation:toastPop .35s ease}@keyframes toastPop{0%{transform:translate(-50%,24px) scale(.8);opacity:0}}.tabs{display:flex;gap:8px;margin-bottom:16px}.tab{background:var(--panel-2);color:var(--muted);padding:11px 20px;border-radius:16px;font-weight:800;font-size:14px;box-shadow:0 4px #3a2d4d14;transition:transform .1s,color .15s,background .15s,box-shadow .1s}.tab.active{color:#fff;background:linear-gradient(180deg,#a78bfa,var(--grape));box-shadow:0 5px #6d28d9}.tab:active{transform:translateY(2px)}.assembler{display:flex;flex-direction:column;gap:8px}.asm-signature,.asm-closing{font-family:JetBrains Mono,Fira Code,monospace;font-size:13px;color:var(--grape);padding:2px 4px;font-weight:700}.board-zone{--heat: 0;min-height:90px;display:flex;flex-direction:column;gap:8px;padding:12px;border:4px dashed #ffcf9e;border-radius:20px;background:radial-gradient(130% 90% at 50% 0%,rgba(74,222,128,calc(var(--heat) * .2)) 0%,transparent 70%),#fffaf2;box-shadow:0 0 calc(var(--heat) * 30px) rgba(74,222,128,calc(var(--heat) * .4));transition:background .45s ease,box-shadow .45s ease,border-color .2s;max-height:360px;overflow-y:auto}.board-zone.solved{border-color:var(--lime);border-style:solid;box-shadow:0 0 40px #4ade8066}.board-empty{color:var(--muted);font-size:14px;text-align:center;padding:18px 0;font-weight:600}.block{--pbg: #fff;--pborder: #ffd9a8;position:relative;background:var(--pbg);border:3px solid var(--pborder);border-radius:14px;padding:11px 18px 11px 16px;cursor:grab;font-family:JetBrains Mono,Fira Code,monospace;font-size:12.5px;display:flex;gap:10px;align-items:flex-start;overflow:visible;transition:transform .12s,border-color .12s,box-shadow .12s;box-shadow:0 4px #3a2d4d14}.block:active{cursor:grabbing}.block pre{margin:0;white-space:pre-wrap;color:var(--ink);line-height:1.45;font-weight:600}.block.tray:hover{transform:translate(3px) translateY(-2px);border-color:var(--sky)}.block.placed{--pbg: #fff8ee}.block.placed.right{--pbg: #f0fff5;--pborder: var(--lime);border-color:var(--lime);box-shadow:inset 4px 0 #4ade80b3,0 4px #16a34a26}.block.placed.flash{animation:flashGreen .7s ease}@keyframes flashGreen{0%{box-shadow:0 0 #4ade80cc;border-color:var(--lime)}to{box-shadow:0 0 0 16px #4ade8000}}.block.placed.linked{margin-top:-2px}.block-num{color:var(--grape);font-weight:900;min-width:16px}.block:before{content:"";position:absolute;left:-1px;top:50%;width:14px;height:14px;border-radius:50%;transform:translate(-50%,-50%);background:var(--znotch, #fffaf2);box-shadow:0 0 0 1px var(--pborder)}.block:after{content:"";position:absolute;right:-7px;top:50%;width:16px;height:16px;border-radius:50%;transform:translateY(-50%);background:var(--pbg);border:1px solid var(--pborder);clip-path:inset(0 0 0 45%)}.board-zone{--znotch: #fffaf2}.tray-zone{--znotch: #fff3e0}.block.tray{--pbg: #fff}.asm-hint{font-size:13px;color:var(--muted);padding:4px 2px;min-height:18px;font-weight:600}.asm-hint.good{color:#16a34a;font-weight:800}.tray-zone{background:var(--panel-2);border-radius:20px;padding:12px;margin-top:6px;border:3px solid #fff}.tray-label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:8px;font-weight:800}.tray-blocks{display:flex;flex-direction:column;gap:8px;max-height:320px;overflow-y:auto;padding-right:4px}.asm-reset{align-self:flex-start;margin-top:6px}.asm-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.asm-hint{align-self:flex-start;border-color:color-mix(in srgb,var(--catc, #8b5cf6) 40%,#fff);color:var(--catc, #8b5cf6);font-weight:800}.assembler .block pre{white-space:pre-wrap}.link-spark{position:absolute;left:16px;top:-10px;width:3px;height:16px;border-radius:3px;pointer-events:none;background:linear-gradient(180deg,#4ade8000,#4ade80f2,#4ade8000);background-size:100% 200%;animation:spark 1.1s linear infinite}@keyframes spark{0%{background-position:0 -16px;opacity:.25}50%{opacity:.9}to{background-position:0 16px;opacity:.25}}.dock{position:fixed;bottom:0;left:0;right:0;z-index:40;background:linear-gradient(180deg,#fff7ec00,#ffedc9f7 40%);padding:18px 18px 16px}.dock-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#b07d3a;margin:0 4px 10px;font-weight:800}.dock-track{display:flex;gap:14px;overflow-x:auto;padding:6px 4px 10px;scroll-snap-type:x proximity}.dock-track::-webkit-scrollbar{height:9px}.dock-track::-webkit-scrollbar-thumb{background:#ffcf9e;border-radius:10px}.piece{scroll-snap-align:start;flex:0 0 auto;width:138px;height:116px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:12px;border-radius:22px;background:var(--panel);border:4px solid #fff;color:var(--ink);box-shadow:0 7px #3a2d4d1a;transition:transform .15s,box-shadow .15s}.piece:hover{transform:translateY(-7px) rotate(-2deg);box-shadow:var(--shadow-pop)}.piece.active{border-color:var(--grape);box-shadow:0 0 0 4px #8b5cf640,0 7px #3a2d4d1a}.piece.done{border-color:var(--lime)}.piece.easy{background:linear-gradient(180deg,#f0fff5,#fff)}.piece.medium{background:linear-gradient(180deg,#fff7e6,#fff)}.piece.hard{background:linear-gradient(180deg,#fff0f3,#fff)}.piece-icon{font-size:32px;line-height:1}.piece-struct{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--grape);font-weight:800}.piece-title{font-size:12px;font-weight:700;text-align:center;line-height:1.15}.piece-xp{font-size:12px;color:#d97706;font-weight:800}.piece-check{position:absolute;top:6px;right:9px;color:var(--pass);font-weight:900;font-size:18px}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:#ffcf9e;border-radius:10px}*::-webkit-scrollbar-thumb:hover{background:var(--tangerine)}.run-btn,.piece,.puzzle-card,.block,.tab,.beam-btn,.ghost{-webkit-tap-highlight-color:transparent}@media(max-width:1100px){.workspace,.home{grid-template-columns:1fr}.workspace .code-panel{order:1}.workspace .problem-panel{order:2}.problem-panel,.problem-panel.sticky-story{position:static;max-height:none;overflow:visible}}@media(max-width:820px){.topbar{padding:10px 12px;gap:6px;position:relative}.topbar.has-xp .brand-stack{display:none}.topbar.has-xp .brand{margin-right:4px}.topbar.has-xp .brand:before{font-size:26px}.xp-exp{margin:0 4px;max-width:none;gap:9px;padding:6px 12px 6px 7px}.xp-exp-sub{display:none}.xp-exp-lvl{font-size:12px;padding:3px 8px}.xp-exp-count{font-size:12.5px}.topbar .hud-hamburger{display:inline-grid}.topbar .topbar-actions{display:none;position:absolute;top:calc(100% + 6px);right:10px;left:10px;flex-direction:column;align-items:stretch;gap:8px;background:var(--panel);border:3px solid #fff;border-radius:18px;padding:10px;box-shadow:0 18px 38px #3a2d4d42;z-index:30}.topbar .topbar-actions.open{display:flex;animation:toastPop .2s ease}.topbar-actions .hud-btn,.topbar-actions .profile-btn,.topbar-actions .premium-pill,.topbar-actions .hud-mini-group{width:100%}.topbar-actions .hud-btn{justify-content:flex-start;font-size:16px;padding:12px 14px}.topbar-actions .premium-pill{text-align:center}.hud-mini-group{justify-content:center;gap:12px}.profile-btn{justify-content:flex-start}.stats{flex:1;justify-content:flex-start}.stats-main{min-width:0;flex:1;max-width:none}.avatar{width:38px;height:38px}.home{grid-template-columns:1fr;padding:16px;gap:16px}.home-main h2{font-size:24px}.board{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}.board.slider{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));overflow-x:visible;gap:14px;scroll-snap-type:none}.board.slider .puzzle-card{flex:none}.card-blurb{min-height:0}.workspace{grid-template-columns:1fr;padding:14px;gap:16px}.panel{padding:16px}.app{padding-bottom:28px}.dock{padding:12px 12px 10px}.piece{width:120px;height:104px}.piece-icon{font-size:28px}.viz-wrap{padding:12px}.board-zone{max-height:300px}.tray-blocks{max-height:260px}.block{font-size:12px;padding:12px 16px 12px 14px}.cowork{height:380px}.tab{padding:12px 16px;font-size:15px}.run-btn,.ghost{padding:14px 20px}.toast{bottom:24px}.jp-board-wrap{max-height:68vh}.jp-tray{padding:10px}.jp-tray-pieces{max-height:220px;gap:12px}.jp-hint,.jp-tray-label{font-size:12px}.asm-reset{padding:12px 18px;font-size:14px}}@media(max-width:480px){.login-card{padding:32px 22px}.login-card h1{font-size:36px}.board{grid-template-columns:1fr 1fr}.stats-line{font-size:13px}.xp-text{display:none}.piece{width:108px;height:98px}.workspace{padding:10px;gap:12px}.panel{padding:13px}.problem-panel h2{font-size:21px}.jp-board-wrap{max-height:66vh}.jp-tray-pieces{max-height:190px}.sp-slot,.sp-piece{min-width:46px;height:46px}}@media(max-height:860px)and (min-width:821px){.jp-board-wrap{max-height:48vh}}@media(max-height:780px){.login-mascot{font-size:48px}.login-card{padding:22px 30px 26px}.login-card h1,.login-brand{font-size:34px;margin:2px 0 4px}.login-card p{margin-bottom:12px;font-size:14.5px}.login-card form{gap:10px}.login-card input{padding:12px;font-size:15px}.auth-tabs{margin:2px 0 10px}.auth-tab{padding:9px}.login-note{margin-top:10px}}.login-note{color:var(--muted);font-size:13px;margin-top:16px}.auth-tabs{display:flex;gap:8px;margin:4px 0 18px}.auth-tab{flex:1;background:var(--panel-2);color:var(--muted);font-weight:800;font-size:15px;padding:11px;border-radius:14px;box-shadow:0 4px #3a2d4d1a;transition:transform .08s}.auth-tab.active{color:#fff;background:linear-gradient(180deg,#a78bfa,var(--grape));box-shadow:0 5px #6d28d9}.auth-tab:active{transform:translateY(2px)}.auth-error{background:#fb718524;color:#e11d48;font-weight:700;font-size:13px;padding:9px 12px;border-radius:12px;text-align:left}.code-input{text-align:center;letter-spacing:10px;font-size:24px;font-weight:800;font-family:JetBrains Mono,monospace;padding-left:10px}.guest-free{margin:4px 0 18px;padding:14px 16px;border-radius:18px;background:linear-gradient(180deg,color-mix(in srgb,var(--lime) 16%,#fff),var(--panel-2));border:2px solid #fff;box-shadow:0 4px #3a2d4d14}.guest-free-head{font-weight:800;font-size:15px;color:var(--ink);margin-bottom:12px}html[data-dark=on] .guest-free{background:linear-gradient(180deg,#4ade8024,#1e193a80);border-color:#a78bfa47}.hn-intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1600;display:grid;place-items:center;cursor:pointer;background:radial-gradient(120% 100% at 50% 40%,#5b3785,#f7708f 55%,#ffc46b);animation:hnFade .4s ease}html[data-dark=on] .hn-intro{background:radial-gradient(120% 100% at 50% 40%,#0a0a1e,#241a4d 65%,#3a2a6a)}@keyframes hnFade{0%{opacity:0}to{opacity:1}}.hn-intro-stage{position:relative;display:grid;place-items:center}.hn-intro-avatar{width:min(64vmin,460px);height:min(64vmin,460px);transform-origin:50% 90%;animation:hnSlideIn .6s cubic-bezier(.2,.9,.25,1) both,hnHmm 2.6s .6s ease-in-out infinite}.hn-intro-avatar .avatar-stage{width:100%;height:100%;display:block}@keyframes hnSlideIn{0%{opacity:0;transform:translateY(90px) scale(.55)}60%{opacity:1}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes hnHmm{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}.hn-ponder{position:absolute;top:3%;left:60%;z-index:2;display:flex;align-items:center;gap:6px;padding:12px 16px;border-radius:22px 22px 22px 6px;background:#fffffff2;box-shadow:0 10px 26px #1e0f3c4d;animation:hnThinkPop .45s .25s both}html[data-dark=on] .hn-ponder{background:#281e42f2}.hn-ponder-piece{width:30px;height:30px;fill:var(--grape);animation:hnPieceTurn 1.8s ease-in-out infinite}.hn-ponder-q{font-family:var(--font-display, inherit);font-weight:900;font-size:26px;line-height:1;color:var(--grape);animation:hnQBob 1.1s ease-in-out infinite}@keyframes hnThinkPop{0%{opacity:0;transform:scale(.4) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes hnPieceTurn{0%,to{transform:rotate(-14deg)}50%{transform:rotate(16deg) scale(1.08)}}@keyframes hnQBob{0%,to{transform:translateY(0);opacity:.55}50%{transform:translateY(-5px);opacity:1}}@media(prefers-reduced-motion:reduce){.hn-intro-avatar{animation:hnFade .4s ease both}.hn-ponder-piece,.hn-ponder-q{animation:none}}.acct-reset{margin-top:10px}.acct-reset-hint{font-size:13px;color:var(--muted);font-weight:600;margin:0}.acct-reset-actions{display:flex;align-items:center;gap:12px}.acct-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:2px 0 8px}.acct-stat{background:var(--panel-2);border:2px solid #fff;border-radius:12px;padding:8px 6px;text-align:center}.acct-stat b{display:block;font-size:17px;color:var(--ink)}.acct-stat span{font-size:10.5px;color:var(--muted);font-weight:700}.acct-stat-line{font-size:13px;color:var(--muted);font-weight:700;text-align:center;margin:2px 0 8px}.acct-stat-line b{color:var(--grape)}.acct-cats{display:flex;flex-wrap:wrap;gap:6px 12px;justify-content:center;font-size:12.5px;color:var(--muted);font-weight:700;margin-bottom:4px}.acct-cats b{color:var(--grape)}html[data-dark=on] .acct-stat{background:#1e193a99;border-color:#a78bfa38}.lb-modal-sky{position:relative;overflow:hidden}.lb-modal-sky:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(120% 80% at 50% -10%,#5b3785,#f7708f 60%,#ffc46b);opacity:.14}html[data-dark=on] .lb-modal-sky:before{background:radial-gradient(120% 80% at 50% -10%,#0a0a1e,#241a4d 70%,#3a2a6a);opacity:.55}.lb-modal-sky>*{position:relative;z-index:1}.lb-row-click{cursor:pointer;border-radius:12px;transition:background .12s ease,transform .08s ease}.lb-row-click:hover{background:color-mix(in srgb,var(--grape) 12%,transparent);transform:translate(2px)}.lb-big .lb-avatar{width:42px;height:42px;font-size:25px}.lb-big .lb-photo{width:42px;height:42px}.user-stats-modal{max-width:420px;text-align:center}.us-head{display:flex;flex-direction:column;align-items:center;gap:9px;margin:6px 0 16px}.us-avatar{width:88px;height:88px;border-radius:24px;display:grid;place-items:center;font-size:46px;overflow:hidden;color:#fff;background:linear-gradient(135deg,var(--bubble),var(--grape));box-shadow:0 6px #8b5cf659}.us-avatar-photo{width:100%;height:100%;object-fit:cover}.us-id{display:flex;align-items:center;gap:10px}.us-id strong{font-size:21px}.us-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.us-stat{background:var(--panel-2);border:2px solid #fff;border-radius:14px;padding:12px 8px}.us-stat b{display:block;font-size:20px;color:var(--ink)}.us-stat span{font-size:12px;color:var(--muted);font-weight:700}html[data-dark=on] .us-stat{background:#1e193a99;border-color:#a78bfa38}.lb-podium{display:flex;align-items:flex-end;justify-content:center;gap:12px;margin:8px 0 14px}.lb-pod{background:none;border:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;padding:0;transition:transform .12s ease}.lb-pod:hover{transform:translateY(-3px)}.lb-pod-3d{width:104px;height:124px;border-radius:16px;overflow:hidden;box-shadow:0 8px 22px #1e0f3c4d,inset 0 0 0 2px #ffffff80}.lb-pod-r1 .lb-pod-3d{width:134px;height:158px;box-shadow:0 10px 28px #1e0f3c66,inset 0 0 0 2px color-mix(in srgb,var(--sun, #fbbf24) 70%,#fff)}.lb-pod-3d .avatar-stage{width:100%;height:100%;display:block}.lb-pod-medal{font-size:20px;margin-top:5px;line-height:1}.lb-pod-r1 .lb-pod-medal{font-size:26px}.lb-pod-name{font-weight:800;font-size:13.5px;color:var(--ink);max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:5px}.lb-pod-lvl{font-size:11.5px;color:var(--muted);font-weight:700;display:inline-flex;align-items:center;gap:3px}.lb-rest{margin-top:2px}html[data-dark=on] .lb-pod-name{color:#f4f1ff}@media(max-width:560px){.lb-pod-3d{width:84px;height:100px}.lb-pod-r1 .lb-pod-3d{width:104px;height:124px}}.auth-agree{display:flex;align-items:flex-start;gap:9px;text-align:left;font-size:12.5px;color:var(--muted);font-weight:600;cursor:pointer;padding:2px}.auth-agree input{width:18px;height:18px;margin-top:1px;flex:0 0 18px;accent-color:var(--grape);cursor:pointer}.link-btn{display:inline;background:none;color:var(--grape);font-weight:800;padding:0;font-size:inherit;line-height:inherit;border:none;border-radius:0;box-shadow:none;text-decoration:underline;vertical-align:baseline}.link-btn:active{transform:none;box-shadow:none}.link-btn:hover{filter:brightness(1.1)}.bootcamp-btn{color:#fff;background:linear-gradient(180deg,#34d399,#059669);box-shadow:0 4px #047857}.daily{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px;padding:18px 22px;border-radius:24px;border:4px solid #fff;background:linear-gradient(120deg,#fff4d6,#ffe3ec 60%,#ffd9c2);box-shadow:0 10px #fb923c33}.daily.done{background:linear-gradient(120deg,#eafff1,#f3fff7);box-shadow:0 10px #16a34a29}.daily-left{display:flex;align-items:center;gap:16px;min-width:0}.daily-cal{font-size:44px;line-height:1;animation:wiggle 2.4s ease-in-out infinite}.daily-kicker{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#d97706}.daily.done .daily-kicker{color:#16a34a}.daily-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:21px;font-weight:800;color:var(--ink);margin:3px 0 4px}.daily-blurb{margin:0;font-size:13.5px;color:var(--muted);font-weight:500;max-width:560px}.daily-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex:0 0 auto}.daily-reward{font-weight:900;font-size:16px;color:#db2777}.daily-play{color:#fff;font-weight:800;font-size:15px;padding:12px 20px;border-radius:16px;background:linear-gradient(180deg,#fb923c,#f97316);box-shadow:0 6px #ea580c;transition:transform .08s,box-shadow .08s}.daily-play:active{transform:translateY(4px);box-shadow:0 2px #ea580c}.daily-done-tag{font-weight:900;font-size:15px;color:#16a34a;background:#fff;padding:9px 16px;border-radius:16px;box-shadow:0 4px #16a34a33}@media(max-width:680px){.daily{flex-direction:column;align-items:flex-start;padding:14px 16px}.daily-cal{font-size:34px}.daily-right{flex-direction:row;align-items:center;align-self:stretch;justify-content:space-between}}.bc-hero{display:flex;align-items:center;gap:20px;margin-bottom:24px;padding:26px 28px;border-radius:26px;border:4px solid #fff;background:linear-gradient(125deg,#ede9fe,#d1fae5 55%,#cffafe);box-shadow:0 12px #8b5cf62e}.bc-hero-text{flex:1;min-width:0}.bc-hero-badge{display:inline-block;background:#fff;color:var(--grape);font-weight:900;font-size:12px;padding:5px 12px;border-radius:20px;box-shadow:0 3px #8b5cf633}.bc-hero h2{margin:12px 0 8px;font-size:34px;background:linear-gradient(90deg,var(--grape),#059669);-webkit-background-clip:text;background-clip:text;color:transparent}.bc-hero p{margin:0 0 14px;font-size:15.5px;line-height:1.55;color:#4a3a5c;font-weight:500;max-width:620px}.bc-hero em{font-style:normal;font-weight:800;color:var(--grape)}.bc-hero-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.bc-hero-chips span{background:#fffc;border:2px solid #fff;border-radius:14px;padding:6px 12px;font-size:13px;font-weight:800}.bc-hero-cta{color:#fff;font-weight:900;font-size:16px;padding:14px 24px;border-radius:18px;background:linear-gradient(180deg,#a78bfa,var(--grape));box-shadow:0 6px #6d28d9;transition:transform .08s,box-shadow .08s}.bc-hero-cta:active{transform:translateY(4px);box-shadow:0 2px #6d28d9}.bc-hero-art{font-size:90px;line-height:1;animation:floaty 3.5s ease-in-out infinite}@media(max-width:720px){.bc-hero-art{display:none}.bc-hero h2{font-size:26px}}.bc-takeaway{margin-top:22px;background:linear-gradient(180deg,#f0fff5,#fff);border:3px solid var(--lime);border-radius:16px;padding:14px 16px}.bc-takeaway-tag{font-size:12px;font-weight:900;color:#16a34a;text-transform:uppercase;letter-spacing:.04em}.bc-takeaway p{margin:6px 0 0;font-weight:700;font-size:15px;line-height:1.6;color:var(--ink)}.bc-mantra{margin-top:28px;background:var(--panel-2);border-radius:16px;padding:17px 20px;font-size:14.5px;line-height:1.72;color:#453a55;font-weight:500;border-left:6px solid var(--bubble);max-width:68ch}.bc-mantra strong{color:var(--bubble)}.bc-locked{position:relative;margin-top:22px;min-height:320px;border-radius:18px;overflow:hidden}.bc-locked-skeleton{filter:blur(6px);opacity:.6;padding:20px;display:flex;flex-direction:column;gap:12px;-webkit-user-select:none;user-select:none;pointer-events:none}.bc-skel{height:14px;border-radius:8px;background:linear-gradient(90deg,var(--panel-2),color-mix(in srgb,var(--grape) 12%,var(--panel-2)),var(--panel-2))}.bc-skel.bc-skel-h{height:22px;width:46%;margin-top:10px;background:color-mix(in srgb,var(--grape) 22%,var(--panel-2))}.bc-skel.w90{width:90%}.bc-skel.w80{width:80%}.bc-skel.w75{width:75%}.bc-skel.w70{width:70%}.bc-skel.w60{width:60%}.bc-locked-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:24px;background:radial-gradient(120% 90% at 50% 40%,color-mix(in srgb,var(--panel) 82%,transparent),color-mix(in srgb,var(--panel) 55%,transparent))}.bc-lock-badge{font-weight:900;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:#b45309;background:color-mix(in srgb,var(--sun) 22%,#fff);padding:4px 12px;border-radius:999px}.bc-locked-overlay h3{margin:4px 0 0;font-size:22px;color:var(--ink)}.bc-locked-overlay p{margin:0;max-width:40ch;color:var(--muted);font-size:14.5px;font-weight:500}.bc-lock-cta{margin-top:8px;font-family:inherit;font-weight:800;font-size:15px;padding:12px 22px;border-radius:15px;cursor:pointer;color:#fff;border:none;background:linear-gradient(180deg,#f9a8d4,var(--grape));box-shadow:0 5px #7c3aed;transition:transform .08s}.bc-lock-cta:active{transform:translateY(2px);box-shadow:0 2px #7c3aed}html[data-dark=on] .bc-lock-badge{color:#fbbf24;background:color-mix(in srgb,var(--sun) 20%,#14112f)}.bootcamp{display:grid;grid-template-columns:320px 1fr;gap:22px;padding:24px;max-width:1320px;margin:0 auto;align-items:start}.bc-nav-toggle{display:none;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 16px;border-radius:14px;font-family:inherit;font-weight:800;font-size:15px;cursor:pointer;background:var(--panel-2);color:var(--ink);border:2px solid #fff;box-shadow:0 4px #3a2d4d1a;transition:transform .08s}.bc-nav-toggle:active{transform:translateY(2px)}@keyframes bcDrawer{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.bc-side{background:var(--panel);border:4px solid #fff;border-radius:24px;padding:18px;box-shadow:0 10px #3a2d4d14;position:sticky;top:86px;max-height:calc(100vh - 110px);overflow-y:auto}.bc-title{margin:12px 0 4px;font-size:24px}.bc-intro{color:var(--muted);font-size:13px;font-weight:500;margin:0 0 14px}.bc-module{margin-bottom:18px}.bc-module-head{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px}.bc-module-emoji{font-size:24px}.bc-module-head strong{font-size:15px}.bc-module-blurb{font-size:12px;color:var(--muted);font-weight:500;margin-top:2px}.bc-lessons{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}.bc-lesson-link{width:100%;display:flex;align-items:center;gap:9px;background:var(--panel-2);border-radius:13px;padding:9px 11px;font-weight:700;font-size:13.5px;color:var(--ink);text-align:left;transition:transform .08s,background .12s}.bc-lesson-link:hover{transform:translate(3px)}.bc-lesson-link.active{background:linear-gradient(180deg,#a78bfa,var(--grape));color:#fff}.bc-num{width:20px;height:20px;flex:0 0 20px;display:grid;place-items:center;background:#00000014;border-radius:7px;font-size:11px;font-weight:900}.bc-lesson-link.active .bc-num{background:#ffffff40}.bc-lesson-icon{font-size:15px}.bc-lesson-name{flex:1;min-width:0}.bc-mins{font-size:11px;opacity:.7;font-weight:800}.bc-article{background:var(--panel);border:4px solid #fff;border-radius:24px;padding:32px 38px 34px;box-shadow:0 10px #3a2d4d14;animation:popIn .25s ease;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.bc-article-head{display:flex;align-items:center;gap:16px;margin-bottom:18px}.bc-article-icon{font-size:44px}.bc-article h1{margin:0;font-size:30px;line-height:1.2;letter-spacing:-.01em}.bc-meta{font-size:13px;color:var(--muted);font-weight:700}.bc-summary{font-size:16.5px;line-height:1.62;color:var(--ink);font-weight:600;background:var(--panel-2);padding:17px 20px;border-radius:16px;border-left:6px solid var(--grape);max-width:68ch}.bc-section{margin-top:28px}.bc-section h3{margin:0 0 9px;font-size:18.5px;letter-spacing:-.005em}.bc-section p{margin:0;font-size:16px;line-height:1.78;color:#453a55;font-weight:450;letter-spacing:.003em;max-width:66ch}.bc-bigo,.bc-patterns,.bc-examples{margin-top:26px}.bc-bigo h3,.bc-patterns h3,.bc-examples h3{font-size:18px;margin:0 0 12px}.bc-bigo table{width:100%;border-collapse:collapse}.bc-bigo td{padding:9px 12px;border-bottom:2px dashed #ffe6cf;font-weight:600}.bc-bigo td:last-child{text-align:right}.bc-bigo code{background:var(--panel-2);padding:3px 10px;border-radius:8px;color:var(--grape);font-weight:800}.bc-pattern{display:flex;flex-direction:column;gap:2px;background:var(--panel-2);border-radius:14px;padding:12px 14px;margin-bottom:9px;border:3px solid #fff}.bc-pattern strong{font-size:14.5px;color:var(--grape)}.bc-pattern span{font-size:13.5px;color:var(--muted);font-weight:500}.bc-example{width:100%;display:flex;align-items:center;gap:12px;background:linear-gradient(180deg,#f0fff5,#fff);border:3px solid var(--lime);border-radius:16px;padding:13px 16px;margin-bottom:10px;text-align:left;box-shadow:0 4px #16a34a2e;transition:transform .08s}.bc-example:active{transform:translateY(3px);box-shadow:0 1px #16a34a2e}.bc-example-label{font-weight:800;font-size:14.5px}.bc-example-note{flex:1;min-width:0;font-size:13px;color:var(--muted);font-weight:500}.bc-example-go{font-weight:900;color:#16a34a;white-space:nowrap}@media(max-width:900px){.bootcamp{grid-template-columns:1fr;padding:16px;gap:12px}.bc-nav-toggle{display:flex}.bc-side{position:static;max-height:none;display:none}.bc-side.open{display:block;animation:bcDrawer .18s ease}.bc-article{padding:22px 20px}.bc-article-icon{font-size:34px}.bc-article h1{font-size:24px}.bc-summary{font-size:15.5px;padding:14px 16px}.bc-section{margin-top:22px}.bc-section h3{font-size:17px}.bc-section p{font-size:15.5px;line-height:1.72}.bc-mantra{font-size:14px}.bc-example{flex-wrap:wrap}.bc-example-note{flex-basis:100%}}.cat-nav{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 14px;margin-bottom:6px;scroll-snap-type:x proximity}.cat-nav::-webkit-scrollbar{height:7px}.cat-nav::-webkit-scrollbar-thumb{background:#ffcf9e;border-radius:10px}.cat-chip{--cat: var(--grape);scroll-snap-align:start;flex:0 0 auto;white-space:nowrap;background:#fff;color:var(--ink);font-weight:800;font-size:14px;padding:10px 16px;border-radius:16px;border:3px solid color-mix(in srgb,var(--cat) 30%,#fff);box-shadow:0 4px color-mix(in srgb,var(--cat) 18%,transparent);transition:transform .14s ease,box-shadow .14s ease,background .15s,border-color .15s}.cat-chip:hover{transform:translateY(-3px);background:color-mix(in srgb,var(--cat) 9%,#fff);border-color:color-mix(in srgb,var(--cat) 55%,#fff);box-shadow:0 8px color-mix(in srgb,var(--cat) 26%,transparent)}.cat-chip:active{transform:translateY(2px);box-shadow:0 2px color-mix(in srgb,var(--cat) 18%,transparent)}.cat-chip.active{background:var(--cat);color:#fff;border-color:var(--cat)}.topbar-actions{display:flex;align-items:center;gap:10px}.hud-hamburger{display:none;place-items:center;width:46px;height:46px;border-radius:13px;background:var(--panel-2);color:var(--ink);font-size:22px;font-weight:900;line-height:1;box-shadow:0 4px #3a2d4d1f;transition:transform .08s}.hud-hamburger:active{transform:translateY(2px)}.hud-btn{position:relative;background:var(--panel-2);color:var(--ink);font-weight:800;font-size:15.5px;padding:11px 16px;border-radius:14px;box-shadow:0 4px #3a2d4d1f;transition:transform .13s ease,box-shadow .13s ease,filter .15s,background .15s}.hud-btn .nav-ico{font-size:1.3em;vertical-align:-.08em;margin-right:3px;transition:transform .13s ease}.hud-btn:hover{transform:translateY(-2px);box-shadow:0 6px #3a2d4d29;background:#fff}.hud-btn:hover .nav-ico{transform:translateY(-1px) scale(1.08)}.hud-btn:active{transform:translateY(3px);box-shadow:0 1px #3a2d4d1f}.hud-btn.upgrade{color:#fff;background:linear-gradient(180deg,#f9a8d4,var(--grape));box-shadow:0 4px #7c3aed}.hud-btn.upgrade:hover{background:linear-gradient(180deg,#f9a8d4,var(--grape));box-shadow:0 6px #7c3aed;filter:brightness(1.05)}.hud-btn.ghost-btn{background:transparent;box-shadow:none;color:var(--muted);font-size:18px;padding:8px 10px}.hud-btn.ghost-btn:hover{transform:translateY(-2px);box-shadow:none;background:var(--panel-2)}.hud-badge{position:absolute;top:-7px;right:-7px;background:var(--bubble);color:#fff;font-size:11px;font-weight:900;min-width:20px;height:20px;padding:0 5px;border-radius:12px;display:grid;place-items:center;box-shadow:0 2px #db2777;animation:floaty 1.6s ease-in-out infinite}.premium-pill{background:linear-gradient(180deg,#5eead4,#0ea5e9);color:#fff;font-weight:900;font-size:13px;padding:8px 14px;border-radius:14px;box-shadow:0 4px #0369a1;transition:transform .13s ease,box-shadow .13s ease,filter .15s}.premium-pill:hover{transform:translateY(-2px);box-shadow:0 6px #0369a1;filter:brightness(1.05)}.avatar-emoji{font-size:24px}.stat-badges{font-size:13px}.profile-btn{background:none;padding:4px 6px;border-radius:16px;transition:background .12s,transform .13s ease}.profile-btn:hover{background:var(--panel-2);transform:translateY(-2px)}.account-modal h2{margin-bottom:14px}.acct-profile{display:flex;align-items:center;gap:14px;background:var(--panel-2);border-radius:18px;padding:14px 16px;border:3px solid #fff;margin-bottom:8px}.acct-avatar{font-size:40px;width:56px;height:56px;flex:0 0 56px;display:grid;place-items:center;background:#fff;border-radius:16px;box-shadow:0 4px #8b5cf633}.acct-id strong{font-size:18px}.acct-email{font-size:13px;color:var(--muted);font-weight:600;margin:1px 0 5px}.acct-plan{font-size:12px;font-weight:800;color:var(--muted)}.acct-plan.premium{color:#b07d3a}.acct-head{margin:20px 0 10px;font-size:14px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.acct-form{display:flex;flex-direction:column;gap:10px}.acct-form input{padding:13px 14px;border-radius:14px;border:3px solid #ffe0ec;background:#fff;color:var(--ink);font-weight:600;font-size:15px}.acct-form input:focus{outline:none;border-color:var(--grape)}.acct-msg{font-size:13px;font-weight:700;padding:8px 12px;border-radius:12px}.acct-msg.ok{background:#22c55e24;color:#16a34a}.acct-msg.err{background:#fb718524;color:#e11d48}.acct-save{color:#fff;font-weight:800;font-size:15px;padding:12px;border-radius:14px;background:linear-gradient(180deg,#a78bfa,var(--grape));box-shadow:0 5px #6d28d9;transition:transform .08s,box-shadow .08s}.acct-save:active{transform:translateY(3px);box-shadow:0 2px #6d28d9}.acct-save:disabled{opacity:.6}.acct-billing p{margin:0 0 10px;font-size:14px}.acct-billing-btn,.acct-upgrade-btn{width:100%;font-weight:800;font-size:15px;padding:13px;border-radius:14px;transition:transform .08s,box-shadow .08s}.acct-billing-btn{background:var(--panel-2);color:var(--ink);box-shadow:0 5px #3a2d4d1f}.acct-upgrade-btn{color:#7c4a03;background:linear-gradient(180deg,#fde68a,var(--sun));box-shadow:0 5px #d97706}.acct-billing-btn:active,.acct-upgrade-btn:active{transform:translateY(3px)}.acct-logout{width:100%;margin-top:22px;background:none;color:var(--fail);font-weight:800;font-size:14px;padding:11px;border-radius:14px;border:2px solid rgba(251,113,133,.4)}.acct-logout:active{transform:translateY(2px)}.puzzle-card.locked{opacity:.82}.puzzle-card.locked:before{content:"🔒";position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:40px;opacity:0;transition:opacity .15s;z-index:2}.puzzle-card.locked:hover:before{opacity:.9}.puzzle-card.locked:hover{transform:translateY(-4px)}.lock-tag{background:linear-gradient(180deg,#fde68a,var(--sun));color:#7c4a03;font-size:11px;font-weight:900;padding:4px 10px;border-radius:20px}.piece.locked{opacity:.9;filter:saturate(.85)}.piece.locked .piece-struct{color:#d97706}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#3a2d4d73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:20px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}}.modal{position:relative;background:var(--panel);border:5px solid #fff;border-radius:28px;padding:28px;width:100%;max-width:460px;max-height:88vh;overflow-y:auto;box-shadow:0 30px 70px #3a2d4d66;animation:toastPop .3s ease}.modal h2{margin:0 0 6px;font-size:26px}.modal-x{position:absolute;top:12px;right:12px;z-index:6;display:grid;place-items:center;background:var(--panel-2);color:var(--ink);width:44px;height:44px;border:none;cursor:pointer;border-radius:14px;font-weight:900;font-size:20px;line-height:1;box-shadow:0 3px #3a2d4d1f;transition:background .12s,transform .08s}.modal-x:hover{background:#fff}.modal-x:active{transform:translateY(2px)}.quest-modal h2{margin-bottom:2px}.quest-note{color:#16a34a;font-weight:800;margin:4px 0 8px}.quest-head{margin:16px 0 10px;font-size:16px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.quest-list{display:flex;flex-direction:column;gap:10px}.quest{display:flex;align-items:center;gap:12px;background:var(--panel-2);border:3px solid #fff;border-radius:18px;padding:12px 14px;box-shadow:0 4px #3a2d4d12}.quest.done{border-color:var(--lime);background:linear-gradient(180deg,#f1fff5,var(--panel-2))}.quest.claimed{opacity:.65}.quest-emoji{font-size:26px}.quest-body{flex:1;min-width:0}.quest-label{font-weight:800;font-size:14px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.quest-badge{font-size:11px;background:#fff;padding:2px 8px;border-radius:12px;color:var(--grape);font-weight:800}.quest-bar{height:9px;background:#ffe6cf;border-radius:12px;margin:7px 0 4px;overflow:hidden;border:2px solid #fff}.quest-fill{height:100%;border-radius:12px;background:linear-gradient(90deg,var(--lime),var(--sky));transition:width .5s cubic-bezier(.2,.8,.2,1)}.quest-meta{font-size:12px;color:var(--muted);font-weight:700}.quest-claim{background:linear-gradient(180deg,#5eead4,var(--lime));color:#fff;font-weight:900;font-size:14px;padding:10px 16px;border-radius:14px;box-shadow:0 5px #16a34a;animation:wiggle 1.2s ease-in-out infinite}.quest-claim:active{transform:translateY(3px);box-shadow:0 2px #16a34a}.quest-tick{color:var(--lime);font-size:22px;font-weight:900}.upgrade-modal{text-align:center}.upgrade-crown{font-size:60px;animation:floaty 3s ease-in-out infinite}.upgrade-sub{color:var(--muted);margin:2px 0 18px;font-weight:600}.trial-banner{display:flex;flex-direction:column;align-items:center;gap:3px;max-width:340px;margin:10px auto 16px;padding:11px 18px;border-radius:16px;background:linear-gradient(180deg,color-mix(in srgb,#4ade80 20%,var(--panel)),var(--panel));border:2px solid color-mix(in srgb,#4ade80 45%,var(--panel));box-shadow:0 6px 16px color-mix(in srgb,#4ade80 22%,transparent)}.trial-badge{font-weight:900;font-size:19px;letter-spacing:.03em;color:#16a34a}html[data-dark=on] .trial-badge{color:#4ade80}.trial-line{font-size:13px;font-weight:700;color:var(--muted)}.challenge-hero{position:relative;text-align:left;margin:0 0 18px;padding:18px 18px 16px;border-radius:20px;color:#fff;overflow:hidden;background:linear-gradient(160deg,#f43f5e,#b91c1c);box-shadow:0 10px 26px #be123c57;border:3px solid rgba(255,255,255,.16);animation:chalHeroBeat 1.6s ease-in-out infinite}.challenge-hero-badge{display:inline-block;font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;background:#ffffff38;padding:4px 10px;border-radius:999px;margin-bottom:8px}.challenge-hero-title{font-size:24px;font-weight:900;line-height:1.05}.challenge-hero-text{font-size:13.5px;line-height:1.5;margin:6px 0 12px;color:#fffffff0;font-weight:500}.challenge-hero-text b{font-weight:900}.challenge-hero-tags{display:flex;flex-wrap:wrap;gap:8px}.challenge-hero-tags span{font-size:12px;font-weight:800;background:#ffffff29;border-radius:999px;padding:5px 11px}@keyframes chalHeroBeat{0%,to{box-shadow:0 10px 26px #be123c57}50%{box-shadow:0 10px 34px #f43f5e99}}@media(prefers-reduced-motion:reduce){.challenge-hero{animation:none}}.perks{display:flex;flex-direction:column;gap:12px;text-align:left;margin-bottom:22px}.perk{display:flex;gap:14px;align-items:center;background:var(--panel-2);border-radius:18px;padding:14px;border:3px solid #fff}.perk-icon{font-size:30px}.perk strong{font-size:15px}.perk-text{font-size:13px;color:var(--muted);font-weight:500}.upgrade-modal.compact{max-width:440px}.upgrade-modal.compact .upgrade-crown{font-size:38px}.upgrade-modal.compact h2{font-size:20px;margin:2px 0 0}.upgrade-modal.compact .trial-banner{margin:10px auto 14px;padding:9px 16px}.upgrade-modal.compact .trial-badge{font-size:17px}.upgrade-modal.compact .perks{gap:8px;margin-bottom:14px}.upgrade-modal.compact .perk{padding:9px 11px;gap:11px;border-width:2px;border-radius:14px}.upgrade-modal.compact .perk-icon{font-size:22px}.upgrade-modal.compact .perk strong{font-size:14px}.upgrade-modal.compact .perk-text{font-size:12px;line-height:1.35}.upgrade-modal.compact .upgrade-btn{padding:13px;font-size:16px}.upgrade-modal.compact .upgrade-fine{margin-top:8px}.upgrade-btn{width:100%;color:#7c4a03;font-weight:900;font-size:18px;padding:16px;border-radius:18px;background:linear-gradient(180deg,#fde68a,var(--sun));box-shadow:0 7px #d97706;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.upgrade-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 9px 22px #d9770680,0 9px #d97706;filter:brightness(1.04) saturate(1.05)}.upgrade-btn-top{margin:0 0 14px}.tour{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4000}.tour-dim{position:absolute;top:0;right:0;bottom:0;left:0;background:#1810269e}.tour-spot{position:fixed;border-radius:14px;pointer-events:none;box-shadow:0 0 0 9999px #1810269e,0 0 0 3px #fff,0 0 22px 5px #8b5cf699;transition:top .28s ease,left .28s ease,width .28s ease,height .28s ease}.tour-tip{position:fixed;width:300px;max-width:88vw;z-index:4001;background:var(--panel);color:var(--ink);border-radius:18px;padding:18px;box-shadow:0 18px 46px #00000057;border:2px solid color-mix(in srgb,var(--grape) 22%,#fff)}.tour-count{font-size:11px;font-weight:900;color:var(--muted);letter-spacing:.06em}.tour-emoji{font-size:30px;line-height:1;margin:2px 0 4px}.tour-tip h3{margin:2px 0 6px;font-size:18px}.tour-tip p{margin:0 0 14px;color:var(--muted);font-weight:500;font-size:14px;line-height:1.5}.tour-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.tour-nav{display:flex;gap:8px}.tour-skip{background:none;color:var(--muted);font-weight:700;font-size:13px;padding:8px 6px}.tour-back{background:var(--panel-2);color:var(--ink);font-weight:800;padding:9px 14px;border-radius:12px}.tour-next{background:linear-gradient(180deg,#a78bfa,var(--grape));color:#fff;font-weight:900;padding:9px 16px;border-radius:12px;box-shadow:0 4px #6d28d9;transition:transform .1s,box-shadow .1s}.tour-next:hover{transform:translateY(-1px)}.tour-next:active{transform:translateY(2px);box-shadow:0 2px #6d28d9}.tour-tip.arrow-up:before,.tour-tip.arrow-down:before{content:"";position:absolute;left:28px;width:14px;height:14px;background:var(--panel);border:2px solid color-mix(in srgb,var(--grape) 22%,#fff);transform:rotate(45deg)}.tour-tip.arrow-up:before{top:-8px;border-right:none;border-bottom:none}.tour-tip.arrow-down:before{bottom:-8px;border-left:none;border-top:none}@media(prefers-reduced-motion:reduce){.tour-spot{transition:none}}.rolo{display:flex;flex-direction:column;align-items:center;gap:8px;margin:4px auto 18px}.rolo-view{perspective:820px;width:260px;height:148px}.rolo-wheel{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.75,.2,1)}.rolo-card{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:22px;color:#fff;cursor:pointer;border:3px solid rgba(255,255,255,.55);box-shadow:0 16px 32px #0000003d;transition:opacity .4s ease}.rolo-card.back{opacity:.28}.rolo-card.diff-easy{background:linear-gradient(160deg,#4ade80,#16a34a)}.rolo-card.diff-medium{background:linear-gradient(160deg,#fbbf24,#d97706)}.rolo-card.diff-hard{background:linear-gradient(160deg,#fb7185,#e11d48)}.rolo-emoji{font-size:46px;line-height:1;filter:drop-shadow(0 3px 4px rgba(0,0,0,.25))}.rolo-label{font-size:25px;font-weight:900;letter-spacing:.02em;text-shadow:0 2px 6px rgba(0,0,0,.22)}.rolo-count{font-size:13px;font-weight:800;opacity:.95}.rolo-arrow{width:36px;height:32px;border-radius:12px;background:var(--panel);border:2px solid var(--panel-2);color:var(--ink);font-size:12px;cursor:pointer;box-shadow:0 3px #3a2d4d1f;transition:transform .08s}.rolo-arrow:hover{transform:translateY(-1px)}.rolo-arrow:active{transform:translateY(2px);box-shadow:none}.rolo-dots{display:flex;gap:8px;margin-top:2px}.rolo-dots button{width:10px;height:10px;padding:0;border:none;border-radius:50%;background:var(--panel-2);cursor:pointer;transition:transform .15s,background .15s}.rolo-dots button.on{background:var(--grape);transform:scale(1.25)}.empty-diff{text-align:center;color:var(--muted);font-weight:700;padding:24px 0}@media(prefers-reduced-motion:reduce){.rolo-wheel{transition:none}}.prolo-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:10px 0 20px;align-items:start}.rolo-cats{margin-bottom:6px}.prolo{display:flex;flex-direction:column;border-radius:22px;overflow:hidden;padding:0 0 14px;background:linear-gradient(180deg,var(--panel),color-mix(in srgb,var(--panel-2) 55%,var(--panel)));border:1px solid color-mix(in srgb,var(--ink) 9%,transparent);box-shadow:0 16px 34px #3a2d4d24,inset 0 1px #ffffffb3}.prolo-head{display:flex;align-items:center;gap:9px;padding:12px 16px;color:#fff}.prolo.diff-easy .prolo-head{background:linear-gradient(180deg,#67e29a,var(--easy))}.prolo.diff-medium .prolo-head{background:linear-gradient(180deg,#fbcf5c,var(--medium))}.prolo.diff-hard .prolo-head{background:linear-gradient(180deg,#fb8aa0,var(--hard))}.prolo-emoji{font-size:22px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.2))}.prolo-title{font-weight:900;font-size:17px;text-shadow:0 1px 3px rgba(0,0,0,.18)}.prolo-counter{margin-left:auto;font-size:12px;font-weight:800;color:#fff;background:#ffffff3d;padding:3px 9px;border-radius:999px}.prolo-empty{color:var(--muted);font-weight:700;text-align:center;padding:30px 0}.prolo-stage{position:relative;height:216px;margin:12px 12px 2px;border-radius:18px;perspective:720px;touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none;background:radial-gradient(130% 90% at 50% -12%,rgba(139,92,246,.08),transparent 60%),color-mix(in srgb,var(--panel-2) 72%,var(--panel));box-shadow:inset 0 2px 10px #3a2d4d1f}.prolo-stage:before{content:"";position:absolute;left:8px;right:8px;top:50%;height:2px;transform:translateY(-1px);background:linear-gradient(90deg,transparent,rgba(58,45,77,.16),transparent);z-index:0}.prolo-stage.dragging{cursor:grabbing}.prolo-stage.dragging .prolo-card{transition:none}.prolo-card{position:absolute;left:12px;right:12px;top:14px;min-height:172px;display:flex;flex-direction:column;gap:5px;text-align:left;padding:13px 15px;border-radius:16px;background:#fff;border:1px solid color-mix(in srgb,var(--ink) 8%,transparent);border-top:4px solid var(--cat, var(--grape));box-shadow:0 12px 22px #3a2d4d33;pointer-events:none;transform-origin:center;backface-visibility:hidden;transition:transform .5s cubic-bezier(.34,1.32,.5,1),opacity .4s ease}.prolo-card.solved{border-top-color:var(--lime);background:color-mix(in srgb,var(--lime) 7%,#fff)}.prolo-card.front{box-shadow:0 20px 34px #3a2d4d4d}.prolo-hint{position:absolute;left:50%;bottom:-4px;transform:translate(-50%);font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--muted);opacity:.6;pointer-events:none;animation:prolo-hint-bob 2.4s ease-in-out infinite}@keyframes prolo-hint-bob{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,-3px)}}@media(prefers-reduced-motion:reduce){.prolo-hint{animation:none}}.prolo-cat{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;color:var(--cat, var(--grape))}.prolo-cat-dot{width:9px;height:9px;border-radius:50%;background:var(--cat, var(--grape))}.prolo-card h3{margin:2px 0;font-size:16.5px}.prolo-blurb{margin:0;color:var(--muted);font-size:12.5px;font-weight:500;line-height:1.4;flex:1;overflow:hidden}.prolo-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.jigsaw-clip-def{position:absolute;width:0;height:0}.prolo-play{display:block;margin:10px 12px 0;font-weight:900;font-size:15px;padding:11px;border-radius:14px;color:#fff;background:linear-gradient(180deg,#a78bfa,var(--grape));box-shadow:0 5px #6d28d9;cursor:pointer;transition:transform .1s,box-shadow .1s}.prolo-play:hover{transform:translateY(-1px);box-shadow:0 6px #6d28d9}.prolo-play:active{transform:translateY(2px);box-shadow:0 3px #6d28d9}@media(prefers-reduced-motion:reduce){.prolo-card{transition:none}}@media(max-width:860px){.prolo-row{grid-template-columns:1fr}}.upgrade-btn:active{transform:translateY(4px);box-shadow:0 3px #d97706}.upgrade-note{font-size:12px;color:var(--muted);margin:10px 0 0}.upgrade-fine{font-size:11px;color:var(--muted);margin:14px 0 0}.locker-head{margin:18px 0 10px;font-size:16px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.locker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.locker-item{position:relative;background:var(--panel-2);border:3px solid #fff;border-radius:16px;padding:12px 6px;display:flex;flex-direction:column;align-items:center;gap:5px;box-shadow:0 4px #3a2d4d14;transition:transform .1s}.locker-item:active{transform:translateY(2px)}.locker-item.equipped{border-color:var(--grape);box-shadow:0 0 0 3px #8b5cf640,0 4px #3a2d4d14}.locker-item.locked{opacity:.85}.locker-emoji{font-size:30px}.locker-label{font-size:11px;font-weight:800;color:var(--ink)}.locker-lock{position:absolute;top:4px;right:6px;font-size:13px}.locker-check{position:absolute;top:4px;left:6px;color:var(--lime);font-weight:900}.swatch-dots{display:flex;gap:3px}.swatch-dots i{width:11px;height:11px;border-radius:50%}.theme-classic .swatch-dots i:nth-child(1){background:#ff5fa2}.theme-classic .swatch-dots i:nth-child(2){background:#8b5cf6}.theme-classic .swatch-dots i:nth-child(3){background:#38bdf8}.theme-ocean .swatch-dots i:nth-child(1){background:#22d3ee}.theme-ocean .swatch-dots i:nth-child(2){background:#0ea5e9}.theme-ocean .swatch-dots i:nth-child(3){background:#14b8a6}.theme-jungle .swatch-dots i:nth-child(1){background:#84cc16}.theme-jungle .swatch-dots i:nth-child(2){background:#16a34a}.theme-jungle .swatch-dots i:nth-child(3){background:#f59e0b}.theme-space .swatch-dots i:nth-child(1){background:#a78bfa}.theme-space .swatch-dots i:nth-child(2){background:#6366f1}.theme-space .swatch-dots i:nth-child(3){background:#ec4899}.theme-sunset .swatch-dots i:nth-child(1){background:#fb923c}.theme-sunset .swatch-dots i:nth-child(2){background:#f43f5e}.theme-sunset .swatch-dots i:nth-child(3){background:#fbbf24}.theme-bubblegum .swatch-dots i:nth-child(1){background:#f472b6}.theme-bubblegum .swatch-dots i:nth-child(2){background:#c084fc}.theme-bubblegum .swatch-dots i:nth-child(3){background:#38bdf8}@media(max-width:820px){.topbar-actions{gap:6px}.hud-btn{padding:9px 11px;font-size:14px}.hud-btn.upgrade,.premium-pill{font-size:12.5px;padding:9px 11px}.locker-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:680px){.topbar{padding:9px 10px}.topbar-actions{gap:5px}.hud-label{display:none}.hud-btn{padding:9px}.hud-btn .nav-ico{margin-right:0;font-size:1.4em}.brand{font-size:0}.brand:before{font-size:24px}.board.slider .puzzle-card{flex-basis:200px}.home-side{position:static}}.path{--cat: var(--grape);margin-bottom:26px;padding:6px 16px 16px;border-radius:24px;border:3px solid color-mix(in srgb,var(--cat) 22%,#fff);background:linear-gradient(180deg,color-mix(in srgb,var(--cat) 10%,#fff) 0%,transparent 120px),#fff;box-shadow:0 8px color-mix(in srgb,var(--cat) 12%,transparent)}.path-head{display:flex;align-items:center;gap:14px;margin:4px 0 16px;padding:12px 14px;border-radius:18px;background:color-mix(in srgb,var(--cat) 14%,#fff)}.path-emoji{font-size:30px;line-height:1;width:56px;height:56px;flex:0 0 56px;display:grid;place-items:center;border-radius:18px;background:#fff;box-shadow:0 4px color-mix(in srgb,var(--cat) 35%,transparent)}.path-meta{flex:1;min-width:0}.path-meta h3{margin:0;font-size:22px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:color-mix(in srgb,var(--cat) 65%,var(--ink))}.path-blurb{margin:3px 0 0;color:var(--muted);font-size:14px;font-weight:500}.path-progress{flex:0 0 auto;text-align:center;background:#fff;border-radius:16px;padding:8px 14px;box-shadow:0 4px color-mix(in srgb,var(--cat) 25%,transparent)}.path-count{display:block;font-size:20px;font-weight:900;color:var(--cat);line-height:1}.path-count-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800}.path-lock{background:linear-gradient(180deg,#fde68a,var(--sun));color:#7c4a03;font-size:11px;font-weight:800;padding:4px 10px;border-radius:20px;box-shadow:0 3px #d97706;transition:transform .08s}.path-lock:active{transform:translateY(2px)}@media(max-width:820px){.path{padding:4px 10px 12px}.path-head{flex-wrap:wrap;gap:10px;padding:10px}.path-emoji{width:46px;height:46px;flex-basis:46px;font-size:24px}.path-progress{padding:6px 10px}}.price-tag{display:flex;align-items:baseline;justify-content:center;gap:4px;margin:6px 0 14px}.price-amount{font-size:40px;font-weight:800;color:var(--grape)}.price-per{font-size:15px;color:var(--muted);font-weight:700}.path-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:20px}.path-chip{background:var(--panel-2);border:2px solid #fff;border-radius:14px;padding:6px 12px;font-size:13px;font-weight:800;box-shadow:0 3px #3a2d4d14}.efficiency{display:flex;align-items:center;gap:12px;margin-top:12px;padding:13px 15px;border-radius:16px;border:3px solid #ffe6cf;background:var(--panel-2)}.efficiency.optimal{border-color:var(--lime);background:linear-gradient(180deg,#f1fff5,#fff)}.eff-icon{font-size:26px}.eff-body{min-width:0}.eff-line{font-size:14px;font-weight:600;color:var(--ink)}.eff-line b{color:var(--grape)}.efficiency.optimal .eff-line b{color:#16a34a}.eff-sep{margin:0 7px;color:var(--muted)}.eff-note{font-size:12.5px;color:var(--muted);font-weight:600;margin-top:2px}.efficiency.optimal .eff-note{color:#16a34a}.flower-burst{position:fixed;top:80px;left:50%;transform:translate(-50%);z-index:60;pointer-events:none;display:grid;place-items:center}.flower-amount{font-weight:900;font-size:24px;color:#db2777;text-shadow:0 2px 0 #fff,0 0 16px rgba(236,72,153,.55);animation:flowerAmount 1.7s ease forwards}@keyframes flowerAmount{0%{transform:translateY(10px) scale(.5);opacity:0}18%{transform:translateY(0) scale(1.15);opacity:1}70%{opacity:1}to{transform:translateY(-30px) scale(1);opacity:0}}.petal{position:absolute;font-size:22px;opacity:0;animation:petalRise 1.7s ease-out forwards;animation-delay:var(--d)}@keyframes petalRise{0%{transform:translateY(12px) rotate(0) scale(.6);opacity:0}15%{opacity:1}to{transform:translate(var(--x),-130px) rotate(var(--r)) scale(1);opacity:0}}@media(prefers-reduced-motion:reduce){.petal{display:none}.flower-amount{animation-duration:.8s}}.jigsaw{display:flex;flex-direction:column;gap:12px;--catc: #8b5cf6}.jigsaw.diff-easy{--catc: #4ade80}.jigsaw.diff-medium{--catc: #f59e0b}.jigsaw.diff-hard{--catc: #fb7185}.jp-hint{font-size:13px;font-weight:700;color:var(--muted);min-height:18px}.jp-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.jp-ctrl-right{display:flex;align-items:center;gap:8px;flex:0 0 auto}.jp-zoom{display:inline-flex;align-items:center;gap:2px;background:var(--panel-2);border:2px solid #fff;border-radius:13px;padding:2px;box-shadow:0 3px #3a2d4d1a}.jp-zoom-btn{width:30px;height:30px;display:grid;place-items:center;border:none;border-radius:10px;background:none;color:var(--ink);font-size:20px;font-weight:900;line-height:1;cursor:pointer;transition:background .12s,transform .08s}.jp-zoom-btn:hover{background:#fff}.jp-zoom-btn:active{transform:translateY(1px)}.jp-zoom-btn:disabled{opacity:.4;cursor:default}.jp-zoom-val{min-width:44px;border:none;background:none;font-family:inherit;font-weight:800;font-size:12px;color:var(--muted);cursor:pointer}.jp-zoom-val:hover{color:var(--ink)}.lang-toggle{display:inline-flex;background:var(--panel-2);border-radius:12px;padding:2px;box-shadow:inset 0 0 0 1px #3a2d4d1a}.lang-opt{font-family:inherit;font-weight:800;font-size:12px;border:none;cursor:pointer;padding:6px 12px;border-radius:10px;background:transparent;color:var(--muted);transition:background .12s,color .12s}.lang-opt.on{background:linear-gradient(180deg,#a78bfa,var(--grape));color:#fff;box-shadow:0 2px #6d28d9}.chal-toggle{flex:0 0 auto;font-family:inherit;font-weight:800;font-size:13px;border:none;cursor:pointer;padding:8px 14px;border-radius:13px;background:var(--panel-2);color:var(--muted);box-shadow:0 3px #3a2d4d1f;transition:transform .08s,background .15s,color .15s}.chal-toggle.on{background:linear-gradient(180deg,#fb7185,#e11d48);color:#fff;box-shadow:0 3px #9f1239}.chal-toggle:active{transform:translateY(2px)}.chal-timer{position:relative;height:26px;border-radius:13px;background:var(--panel-2);overflow:hidden;margin:10px 0 2px;box-shadow:inset 0 2px 5px #3a2d4d1f}.chal-fill{height:100%;background:linear-gradient(90deg,var(--lime),#16a34a);transition:width .1s linear}.chal-timer.danger .chal-fill{background:linear-gradient(90deg,#fb7185,#e11d48)}.chal-secs{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:12px;font-weight:800;color:var(--ink);text-shadow:0 1px 0 rgba(255,255,255,.6)}.challenge-pulse{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1500;pointer-events:none;background:radial-gradient(ellipse at center,transparent 35%,rgba(225,29,72,.42) 100%);animation:chalRipple 3s ease-out infinite;opacity:0}@keyframes chalRipple{0%{opacity:0;transform:scale(1.12)}10%{opacity:.85;transform:scale(1)}24%{opacity:.25;transform:scale(1)}32%{opacity:.55;transform:scale(1)}46%{opacity:0;transform:scale(1)}to{opacity:0}}.jp-minimap{position:fixed;right:16px;bottom:16px;z-index:1400;pointer-events:none;padding:11px 12px 13px;border-radius:14px;background:#fffdf880;border:1px solid rgba(58,45,77,.12);box-shadow:0 8px 22px #3a2d4d29;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:.5;transition:opacity .3s ease}.jp-minimap:hover{opacity:.95}.jp-minimap.done{opacity:.9}.jp-mini-title{font-size:11px;font-weight:800;color:var(--grape);margin-bottom:7px;letter-spacing:.02em}.jp-mini-svg{display:block;width:clamp(210px,21vw,320px);height:auto;max-height:58vh;overflow:visible}.jp-mini-piece{fill:#3a2d4d12;stroke:#3a2d4d57;stroke-width:4;stroke-linejoin:round;transition:fill .2s ease,stroke .2s ease}.jp-mini-piece.on{fill:color-mix(in srgb,var(--catc, #8b5cf6) 55%,transparent);stroke:var(--catc, #8b5cf6)}.jp-mini-piece.bad{fill:#f43f5e61;stroke:#f43f5eb3}@media(max-width:900px){.jp-minimap{display:none}}@media(prefers-reduced-motion:reduce){.jp-mini-piece{transition:none}}.jp-flower-pops{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1600;pointer-events:none}.jp-flower-pop{position:absolute;transform:translate(-50%,-50%);font-weight:800;font-size:1.05rem;white-space:nowrap;color:#db2777;text-shadow:0 1px 0 #fff,0 2px 6px rgba(219,39,119,.45);animation:flowerPop 1.1s cubic-bezier(.22,.7,.3,1) forwards}@keyframes flowerPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.6)}18%{opacity:1;transform:translate(-50%,-60%) scale(1.15)}35%{transform:translate(-50%,-68%) scale(1)}to{opacity:0;transform:translate(-50%,-150%) scale(1)}}.jp-mobile{position:relative}.jp-mobile .jp-board-wrap{max-height:60vh;overflow:auto;border-radius:18px;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.jp-deck-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 26px;margin:10px 2px 4px}.jp-mobile-bar{display:flex;flex-direction:column;gap:8px}.jp-deck-shuffle,.jp-tilt-toggle{font-family:inherit;font-weight:800;font-size:14px;padding:10px 16px;border-radius:14px;cursor:pointer;white-space:nowrap;background:var(--panel-2);color:var(--ink);border:2px solid #fff;box-shadow:0 4px #3a2d4d24;transition:transform .08s}.jp-deck-shuffle:active,.jp-tilt-toggle:active{transform:translateY(2px)}.jp-deck-shuffle:disabled{opacity:.5}.jp-tilt-toggle.on{background:linear-gradient(180deg,#5eead4,#0ea5e9);color:#fff;border-color:#0ea5e9;box-shadow:0 4px #0369a1}.jp-deck{display:flex;flex-direction:column;align-items:center;gap:5px}.jp-deck-stack{position:relative;filter:drop-shadow(0 8px 12px rgba(58,45,77,.32))}.jp-deck-top{position:relative;z-index:3;background:none;padding:0;border:none;cursor:pointer;transition:transform .1s}.jp-deck-top:active{transform:scale(.95)}.jp-deck-back{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;background:#fff;border:2px solid color-mix(in srgb,var(--grape) 26%,#fff)}.jp-deck-back.b1{transform:translate(6px,6px) rotate(3.5deg);z-index:1}.jp-deck-back.b2{transform:translate(11px,11px) rotate(7deg);z-index:0;opacity:.82}.jp-deck-count{font-size:11px;font-weight:800;color:var(--muted)}.jp-deck-done{font-weight:800;color:var(--grape)}.jp-mobile-hint{flex-basis:100%;text-align:center;font-size:12.5px;font-weight:700;color:var(--muted)}.jp-mobile .asm-actions{margin-top:8px}.jp-held-center{position:fixed;z-index:1000;pointer-events:none;filter:drop-shadow(0 12px 18px rgba(58,45,77,.42));animation:jpHeldHover 1.7s ease-in-out infinite}@keyframes jpHeldHover{0%,to{transform:translate(-50%,-53%) scale(1)}50%{transform:translate(-50%,-47%) scale(1.05)}}@media(prefers-reduced-motion:reduce){.jp-held-center{animation:none;transform:translate(-50%,-50%)}}@media(prefers-reduced-motion:reduce){.jp-flower-pop{animation-duration:.6s}}.jp-board-scroll{position:relative}.jp-scroll-arrow{position:absolute;z-index:6;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#ffffffeb;color:var(--grape);border:1.5px solid color-mix(in srgb,var(--grape) 32%,#fff);box-shadow:0 3px 10px #3a2d4d38;font-size:12px;font-weight:900;cursor:pointer;animation:jpArrowPulse 1.5s ease-in-out infinite;transition:transform .1s ease,background .15s ease}.jp-scroll-arrow:hover{background:#fff;transform:scale(1.14);animation:none}.jp-scroll-arrow:active{transform:scale(.92)}.jp-scroll-arrow.up{top:8px;left:50%;margin-left:-15px}.jp-scroll-arrow.down{bottom:10px;left:50%;margin-left:-15px}.jp-scroll-arrow.left{left:8px;top:50%;margin-top:-15px}.jp-scroll-arrow.right{right:8px;top:50%;margin-top:-15px}@keyframes jpArrowPulse{0%,to{opacity:.68}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.jp-scroll-arrow{animation:none}}html[data-dark=on] .jp-scroll-arrow{background:#17143ae6;color:#c4b5fd;border-color:#a78bfa80}.jp-board-wrap{overflow:auto;max-height:min(58vh,560px);padding:8px 4px 12px}.jp-board-fit{position:relative;margin:0}.jigsaw:not(.jp-mobile) .jp-board-wrap{display:flex;justify-content:flex-start}.jp-board{position:relative;display:flex;flex-direction:column;border-radius:24px;padding:16px;margin:0;background:radial-gradient(120% 90% at 50% 0%,color-mix(in srgb,var(--catc, #8b5cf6) 14%,transparent),transparent 66%),radial-gradient(110% 80% at 50% 118%,color-mix(in srgb,var(--catc, #8b5cf6) 9%,transparent),transparent 70%),repeating-linear-gradient(45deg,rgba(58,45,77,.03) 0 10px,transparent 10px 20px),#fffdf8;border:3px dashed color-mix(in srgb,var(--catc, #8b5cf6) 34%,#fff);box-shadow:0 12px 30px #3a2d4d1f,inset 0 0 0 5px #ffffff8c,inset 0 3px 22px #3a2d4d0d;transition:box-shadow .4s ease,border-color .4s ease}.jp-board.solved{border-style:solid;border-color:color-mix(in srgb,var(--catc, #8b5cf6) 55%,#fff);box-shadow:0 0 40px color-mix(in srgb,var(--catc, #8b5cf6) 35%,transparent),0 12px 30px #3a2d4d1f,inset 0 0 0 5px #fff9}.jp-row{display:flex}.jp-slot{position:relative;box-sizing:border-box;cursor:pointer}.jp-mount{position:absolute}.jp-socket{position:absolute;background:#3a2d4d0d;transition:background .2s}.jp-board.holding .jp-socket{filter:brightness(1.12) saturate(1.08)}.jp-tile{position:relative;overflow:hidden;box-shadow:0 0 0 1px #3a2d4d1a}.jp-slot.wrong .jp-tile:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background:#f43f5e75;mix-blend-mode:multiply}.jp-slot.wrong .jp-mount{filter:drop-shadow(0 0 5px rgba(244,63,94,.85)) drop-shadow(0 1.5px 1.5px rgba(58,45,77,.18));animation:jpWrongShake .34s ease}@keyframes jpWrongShake{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(-3px) rotate(-1.6deg)}75%{transform:translate(3px) rotate(1.6deg)}}@media(prefers-reduced-motion:reduce){.jp-slot.wrong .jp-mount{animation:none}}.jp-image{position:absolute;top:0;left:0;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.55) 1.6px,transparent 2.4px) 0 0 / 24px 24px,linear-gradient(135deg,#ffd9ea,#ffe9c7 22%,#d9f3ff 48%,#d8ffe6 72%,#efe0ff)}.jp-code{position:relative;margin:0;padding:0 16px;width:100%;box-sizing:border-box;font-family:JetBrains Mono,Fira Code,SF Mono,monospace;font-size:16px;font-weight:500;letter-spacing:-.005em;font-feature-settings:"calt" 1,"liga" 1;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;color:#3a2d5c;white-space:pre;text-shadow:0 0 3px rgba(255,255,255,.95),0 1px 0 rgba(255,255,255,.85),0 0 7px rgba(255,255,255,.6)}.jp-tray{background:var(--panel-2);border-radius:16px;padding:12px;border:3px solid #fff}.jp-tray-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:10px;font-weight:800}.jp-tray-pieces{display:flex;flex-wrap:wrap;gap:14px;align-items:center;max-height:320px;overflow-y:auto;padding:4px}.jp-tray-piece{position:relative;background:none;padding:0;cursor:grab;transition:transform .12s}.jp-tray-piece:hover{transform:translateY(-3px) scale(1.04) rotate(-1deg);z-index:2}.jp-tray-piece .jp-tile{box-shadow:0 5px 12px #3a2d4d33,0 0 0 1px #3a2d4d1a}@media(max-width:820px){.jp-tray-pieces{gap:8px}}@media(orientation:landscape)and (max-width:950px){.jigsaw{flex-flow:row wrap;align-items:flex-start;column-gap:12px}.jp-controls,.chal-timer,.asm-reset{flex-basis:100%}.jp-board-scroll{flex:1 1 56%;min-width:0}.jp-board-wrap{max-height:82vh}.jp-tray{flex:1 1 40%;min-width:0;align-self:stretch;max-height:82vh;overflow-y:auto}.jp-tray-pieces{max-height:none}}.workspace{position:relative;overflow:hidden}.workspace>*{position:relative;z-index:1}.workspace:before{position:absolute;right:-24px;top:30px;font-size:220px;line-height:1;opacity:.06;pointer-events:none;z-index:0;filter:saturate(1.2)}.workspace.diff-easy:before{content:"🦊"}.workspace.diff-medium:before{content:"🐯"}.workspace.diff-hard:before{content:"🐲";opacity:.08}.workspace.diff-easy{background:radial-gradient(620px 420px at 92% 4%,rgba(74,222,128,.1),transparent 62%)}.workspace.diff-medium{background:radial-gradient(620px 420px at 92% 4%,rgba(245,158,11,.11),transparent 62%)}.workspace.diff-hard{background:radial-gradient(620px 420px at 92% 4%,rgba(244,63,94,.12),transparent 62%)}.hints{margin-top:16px}.hints-toggle{display:flex;align-items:center;gap:8px;width:100%;background:var(--panel-2);border-radius:14px;padding:11px 14px;font-weight:800;font-size:14px;color:var(--ink);box-shadow:0 4px #3a2d4d14;transition:transform .08s}.hints-toggle:active{transform:translateY(2px)}.hints-count{background:#fff;color:var(--grape);font-size:12px;padding:2px 9px;border-radius:10px;font-weight:900}.hints-chevron{margin-left:auto;font-size:10px;color:var(--muted)}.hints-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.hint-buy{width:100%;background:linear-gradient(180deg,#fce7f3,#fbcfe8);color:#9d174d;font-weight:800;font-size:13.5px;padding:11px;border-radius:12px;box-shadow:0 4px #f9a8d4;transition:transform .08s}.hint-buy:active{transform:translateY(2px);box-shadow:0 2px #f9a8d4}.hint-buy:disabled{opacity:.6}.hint-text{margin:0;background:linear-gradient(180deg,#fff7fb,#fff);border:3px solid #fbcfe8;border-radius:12px;padding:11px 13px;font-size:13.5px;font-weight:600;color:var(--ink);line-height:1.5}.shop-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-right:48px}.shop-head h2{margin:0}.shop-wallet{background:linear-gradient(180deg,#fce7f3,#fbcfe8);color:#9d174d;font-weight:900;font-size:15px;padding:7px 14px;border-radius:14px;box-shadow:0 3px #f9a8d4;white-space:nowrap}.shop-hint{font-size:12.5px;margin:6px 0 12px}.shop-item{position:relative;background:var(--panel-2);border:3px solid #fff;border-radius:16px;padding:12px 6px 10px;display:flex;flex-direction:column;align-items:center;gap:6px;box-shadow:0 4px #3a2d4d14}.shop-item.equipped{border-color:var(--grape);box-shadow:0 0 0 3px #8b5cf638,0 4px #3a2d4d14}.shop-label{font-size:11px;font-weight:800;color:var(--ink)}.shop-buy,.shop-equip,.shop-locked,.shop-tag{font-size:11px;font-weight:800;padding:5px 10px;border-radius:11px;transition:transform .08s}.shop-buy{background:linear-gradient(180deg,#fce7f3,#fbcfe8);color:#9d174d;box-shadow:0 3px #f9a8d4}.shop-buy:disabled{opacity:.45}.shop-equip{background:linear-gradient(180deg,#a78bfa,var(--grape));color:#fff;box-shadow:0 3px #6d28d9}.shop-locked{background:linear-gradient(180deg,#fde68a,var(--sun));color:#7c4a03;box-shadow:0 3px #d97706}.equipped-tag{background:var(--grape);color:#fff}.shop-buy:active,.shop-equip:active,.shop-locked:active{transform:translateY(2px)}html[data-theme=ocean]{--bg: #eef9ff;--bg-2: #d2efff;--panel-2: #e3f4ff;--grape: #0ea5e9;--bubble: #22d3ee;--sky: #14b8a6;--sun: #5eead4;--accent: #0ea5e9;--accent-2: #14b8a6}html[data-theme=ocean] body{background:radial-gradient(900px 500px at 12% -8%,#c7f0ff 0%,transparent 60%),radial-gradient(900px 500px at 92% -6%,#cffafe 0%,transparent 60%),linear-gradient(180deg,var(--bg) 0%,var(--bg-2) 100%)}html[data-theme=jungle]{--bg: #f3fbe9;--bg-2: #ddf3c4;--panel-2: #eef8df;--grape: #16a34a;--bubble: #84cc16;--sky: #f59e0b;--sun: #facc15;--accent: #16a34a;--accent-2: #f59e0b}html[data-theme=jungle] body{background:radial-gradient(900px 500px at 12% -8%,#d9f99d 0%,transparent 60%),radial-gradient(900px 500px at 92% -6%,#bbf7d0 0%,transparent 60%),linear-gradient(180deg,var(--bg) 0%,var(--bg-2) 100%)}html[data-theme=space]{--bg: #f3f0ff;--bg-2: #e0d7ff;--panel-2: #ede8ff;--grape: #6366f1;--bubble: #ec4899;--sky: #a78bfa;--sun: #c084fc;--accent: #6366f1;--accent-2: #a78bfa}html[data-theme=space] body{background:radial-gradient(900px 500px at 12% -8%,#ddd6fe 0%,transparent 60%),radial-gradient(900px 500px at 92% -6%,#fbcfe8 0%,transparent 60%),linear-gradient(180deg,var(--bg) 0%,var(--bg-2) 100%)}html[data-theme=sunset]{--bg: #fff4ec;--bg-2: #ffe0d6;--panel-2: #ffe9df;--grape: #f43f5e;--bubble: #fb923c;--sky: #f59e0b;--sun: #fbbf24;--accent: #f43f5e;--accent-2: #fb923c}html[data-theme=sunset] body{background:radial-gradient(900px 500px at 12% -8%,#fed7aa 0%,transparent 60%),radial-gradient(900px 500px at 92% -6%,#fecdd3 0%,transparent 60%),linear-gradient(180deg,var(--bg) 0%,var(--bg-2) 100%)}html[data-theme=bubblegum]{--bg: #fff0f8;--bg-2: #ffd9ef;--panel-2: #ffe4f4;--grape: #c084fc;--bubble: #f472b6;--sky: #38bdf8;--sun: #fbbf24;--accent: #c084fc;--accent-2: #f472b6}html[data-theme=bubblegum] body{background:radial-gradient(900px 500px at 12% -8%,#fbcfe8 0%,transparent 60%),radial-gradient(900px 500px at 92% -6%,#e9d5ff 0%,transparent 60%),linear-gradient(180deg,var(--bg) 0%,var(--bg-2) 100%)}html[data-dark=on]{--bg: #0b0a1a;--bg-2: #050410;--panel: #17143a;--panel-2: #201c49;--ink: #ece9ff;--muted: #a79fce;--grape: #a78bfa;--neb-1: #3a1a6e;--neb-2: #16266e;--shadow: 0 10px 0 rgba(0,0,0,.4);--shadow-pop: 0 16px 34px rgba(167,139,250,.45)}html[data-dark=on] body{background:radial-gradient(1.5px 1.5px at 12% 22%,#ffffff,transparent),radial-gradient(1.5px 1.5px at 34% 64%,rgba(255,255,255,.8),transparent),radial-gradient(2px 2px at 58% 34%,#ffffff,transparent),radial-gradient(1.5px 1.5px at 78% 72%,rgba(255,255,255,.75),transparent),radial-gradient(1.5px 1.5px at 88% 16%,#ffffff,transparent),radial-gradient(2px 2px at 26% 84%,rgba(255,255,255,.7),transparent),radial-gradient(1.5px 1.5px at 66% 90%,rgba(255,255,255,.7),transparent),radial-gradient(1200px 700px at 15% -10%,var(--neb-1) 0%,transparent 55%),radial-gradient(1200px 700px at 90% -8%,var(--neb-2) 0%,transparent 55%),linear-gradient(180deg,#0b0a1a,#050410);background-attachment:fixed;color:var(--ink)}html[data-dark=on][data-theme=ocean]{--neb-1: #0a3d63;--neb-2: #064744;--grape: #38bdf8}html[data-dark=on][data-theme=jungle]{--neb-1: #14431f;--neb-2: #2f3d08;--grape: #4ade80}html[data-dark=on][data-theme=space]{--neb-1: #3a1a6e;--neb-2: #521443;--grape: #818cf8}html[data-dark=on][data-theme=sunset]{--neb-1: #5e1620;--neb-2: #4d2706;--grape: #fb7185}html[data-dark=on][data-theme=bubblegum]{--neb-1: #4d1243;--neb-2: #2a1a5e;--grape: #f472b6}html[data-dark=on] .panel,html[data-dark=on] .leaderboard,html[data-dark=on] .quest,html[data-dark=on] .results,html[data-dark=on] .card,html[data-dark=on] .replay{border-color:#ffffff1a}html[data-dark=on] .hud-mini{background:var(--panel-2);color:var(--ink)}html[data-dark=on] .quest-badge{background:var(--panel);color:var(--sky)}html[data-dark=on] .quest-bar,html[data-dark=on] .xp-bar{background:#2a2550;border-color:#ffffff1a}html[data-dark=on] .tab.active{color:#fff}html[data-dark=on] .path{border-color:color-mix(in srgb,var(--cat) 30%,#2a2550);background:linear-gradient(180deg,color-mix(in srgb,var(--cat) 24%,#0d0b22) 0%,transparent 130px),#0d0b22;box-shadow:0 8px #0000004d}html[data-dark=on] .path-head{background:color-mix(in srgb,var(--cat) 20%,#17143a)}html[data-dark=on] .path-emoji,html[data-dark=on] .path-progress{background:#201c49}html[data-dark=on] .cat-chip{background:#17143a;border-color:color-mix(in srgb,var(--cat) 40%,#2a2550)}html[data-dark=on] .daily{border-color:#ffffff14;background:linear-gradient(120deg,#2a1d40,#241a3a 55%,#2e1b30);box-shadow:0 10px #0000004d}html[data-dark=on] .daily.done{background:linear-gradient(120deg,#16351f,#12281a)}html[data-dark=on] .daily-done-tag{background:var(--panel-2)}html[data-dark=on] .records{background:#14112f;border-color:#ffffff14}html[data-dark=on] .lb-row{border-bottom-color:#ffffff17}html[data-dark=on] .lb-row.you{background:color-mix(in srgb,var(--grape) 26%,#14112f)}html[data-dark=on] .rp-tip{background:color-mix(in srgb,var(--sun) 15%,#14112f);border-color:color-mix(in srgb,var(--sun) 35%,#2a2550)}html[data-dark=on] .rp-tip-label{color:#fbbf24}html[data-dark=on] .rp-pattern-name{color:#c4b5fd;background:color-mix(in srgb,var(--grape) 24%,#14112f);border-color:color-mix(in srgb,var(--grape) 40%,#2a2550)}html[data-dark=on] .jp-board{background:radial-gradient(120% 90% at 50% 0%,color-mix(in srgb,var(--catc, #a78bfa) 24%,transparent),transparent 70%),radial-gradient(110% 80% at 50% 118%,color-mix(in srgb,var(--catc, #a78bfa) 14%,transparent),transparent 72%),repeating-linear-gradient(45deg,rgba(255,255,255,.03) 0 10px,transparent 10px 20px),#100e29;border-color:color-mix(in srgb,var(--catc, #a78bfa) 45%,#2a2550);box-shadow:0 12px 30px #00000061,inset 0 0 0 5px #ffffff0d,inset 0 3px 22px #00000040}html[data-dark=on] .jp-board.solved{box-shadow:0 0 40px color-mix(in srgb,var(--catc, #a78bfa) 40%,transparent),0 12px 30px #00000061,inset 0 0 0 5px #ffffff0f}html[data-dark=on] .topbar{background:#0a0818d1;border-bottom-color:#ffffff14}.store-modal{max-width:880px}.store-layout{display:grid;grid-template-columns:300px 1fr;gap:18px;align-items:start;margin-bottom:6px}.store-stage-panel{position:sticky;top:0;display:flex;flex-direction:column;align-items:center;gap:10px}.store-stage{position:relative;width:100%;height:280px;border-radius:22px;border:4px solid #fff;overflow:hidden;box-shadow:0 6px #3a2d4d1a;background:#eef2ff}.avatar-stage{width:100%;height:100%;display:block;cursor:grab;touch-action:none}.avatar-stage:active{cursor:grabbing}.stage-fallback{display:flex;align-items:center;justify-content:center;height:100%;padding:16px;text-align:center}.stage-emoji{display:flex;align-items:center;justify-content:center;height:100%;font-size:90px}.stage-tier{position:absolute;top:10px;left:10px;font-size:10.5px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;padding:3px 9px;border-radius:10px;background:#ffffffd9;color:var(--ink)}.tier-tag-rare{color:#6d28d9}.tier-tag-epic{color:#b45309}.tier-tag-legendary{color:#be123c}.stage-title{display:flex;align-items:center;gap:8px;font-size:17px}.stage-emoji-sm{font-size:22px}.tone-row{display:flex;gap:8px}.tone-swatch{width:26px;height:26px;border-radius:50%;border:3px solid #fff;box-shadow:0 2px #3a2d4d26;transition:transform .1s}.tone-swatch.active{transform:scale(1.2);box-shadow:0 0 0 3px #8b5cf666}.stage-actions{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}.stage-actions .shop-buy,.stage-actions .shop-equip,.stage-actions .shop-locked{font-size:13px;padding:8px 18px}.stage-snap{font-size:13px;font-weight:800;padding:8px 16px;border-radius:13px;background:linear-gradient(180deg,#99f6e4,#2dd4bf);color:#134e4a;box-shadow:0 3px #0d9488;transition:transform .08s}.stage-snap:active{transform:translateY(2px)}.stage-snap:disabled{opacity:.55}.stage-clear-photo{font-size:11.5px;font-weight:700;color:var(--muted);text-decoration:underline;background:none}.store-catalog{min-width:0}.store-grid{grid-template-columns:repeat(4,1fr)}.store-card{cursor:pointer;border-width:3px}.store-card.selected{border-color:var(--sky, #38bdf8);box-shadow:0 0 0 3px #38bdf84d,0 4px #3a2d4d14}.store-card.equipped{border-color:var(--grape)}.store-price{font-size:10.5px;font-weight:800;color:#9d174d}.store-price.owned-txt{color:var(--muted)}.store-price.on{color:#7c3aed}.tier-head-legendary{color:#be123c}.tier-head-epic{color:#b45309}.tier-head-rare{color:#6d28d9}.lb-photo{width:26px;height:26px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 1px 3px #3a2d4d40}.leaderboard.lb-big .lb-photo{width:32px;height:32px}@media(max-width:760px){.store-layout{grid-template-columns:1fr}.store-stage-panel{position:static}.store-grid{grid-template-columns:repeat(3,1fr)}}.stage-controls{position:absolute;right:8px;bottom:8px;display:flex;flex-direction:column;gap:6px}.stage-ctl{width:30px;height:30px;border-radius:50%;background:#ffffffe6;font-size:13px;font-weight:900;display:grid;place-items:center;box-shadow:0 2px #3a2d4d2e;transition:transform .08s}.stage-ctl:active{transform:translateY(1px)}.avatar-photo,.acct-avatar-photo,.share-avatar-photo{object-fit:cover;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 4px #3a2d4d4d}.avatar-photo{width:100%;height:100%}.acct-avatar-photo{width:48px;height:48px}.share-avatar-photo{width:64px;height:64px;margin:10px 0 4px}.hud-mini{position:relative}.hud-mini .hud-badge{top:-6px;right:-6px}.shop-usd{font-size:13px;font-weight:800;padding:8px 18px;border-radius:13px;background:linear-gradient(180deg,#f0abfc,#d946ef);color:#fff;box-shadow:0 3px #a21caf;transition:transform .08s}.shop-usd:active{transform:translateY(2px)}.deluxe-premium-note{font-size:11.5px;font-weight:700;color:var(--muted);text-decoration:underline;background:none}.store-price.usd,.tier-head-deluxe,.tier-tag-deluxe{color:#a21caf}.r3d-wrap{position:relative;height:280px;border-radius:18px;overflow:hidden;border:3px solid #fff;background:#f1eefb}.r3d-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;cursor:grab;touch-action:none}.r3d-canvas:active{cursor:grabbing}.r3d-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.r3d-hint{position:absolute;bottom:6px;right:10px;font-size:10.5px;font-weight:700;color:var(--muted);pointer-events:none}.rp-mode{font-size:11px;font-weight:800;padding:4px 10px;border-radius:10px;background:var(--panel-2);color:var(--ink);box-shadow:0 2px #3a2d4d1f}html[data-dark=on] .r3d-wrap{background:#14112f;border-color:#ffffff1a}.system-quest{flex-direction:column;align-items:stretch;gap:10px}.sysq-head{display:flex;align-items:flex-start;gap:10px}.sysq-title{flex:1;min-width:0}.sysq-story{margin:4px 0 0;font-size:12px;color:var(--muted);line-height:1.45}.sysq-count{font-size:12px;font-weight:900;color:var(--grape);white-space:nowrap}.sysq-intro{font-size:12px;margin:-4px 0 8px}.sysq-pipe{display:flex;align-items:stretch;gap:6px;flex-wrap:wrap}.sysq-step{flex:1;min-width:130px;text-align:left;background:var(--panel-2);border:2.5px solid #fff;border-radius:14px;padding:8px 10px;display:flex;flex-direction:column;gap:3px;box-shadow:0 3px #3a2d4d14;cursor:pointer;transition:transform .08s}.sysq-step:active{transform:translateY(2px)}.sysq-step.done{border-color:var(--lime);background:#4ade801f}.sysq-step-status{width:20px;height:20px;border-radius:50%;background:var(--grape);color:#fff;font-size:11px;font-weight:900;display:grid;place-items:center}.sysq-step.done .sysq-step-status{background:var(--lime);color:#14532d}.sysq-step-name{font-size:12px;font-weight:800;color:var(--ink)}.sysq-step-role{font-size:10.5px;color:var(--muted);line-height:1.35}.sysq-arrow{align-self:center;font-size:16px;font-weight:900;color:var(--muted);opacity:.5}.sysq-arrow.flow{color:var(--lime);opacity:1}.sysq-reward{margin-top:2px}html[data-dark=on] .sysq-step{border-color:#ffffff1f}html[data-dark=on] .sysq-step.done{background:#4ade8024}.rp-structs{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:8px 0 2px}.rp-structs-label{font-size:10.5px;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.rp-struct{font-size:11.5px;font-weight:800;background:var(--panel-2);color:var(--ink);padding:4px 10px;border-radius:11px;box-shadow:0 2px #3a2d4d1a}.rp-state{align-items:center}.rp-state-label{font-size:10.5px;font-weight:900;color:var(--grape);text-transform:uppercase;letter-spacing:.04em;margin-right:4px}.locker-sub{font-size:10.5px;font-weight:700;color:var(--muted);text-transform:none;letter-spacing:0;margin-left:6px}.tex-btn{cursor:pointer}.tex-btn.cant{opacity:.45}.tex-swatch,.bd-swatch{width:44px;height:30px;border-radius:9px;border:2px solid #fff;box-shadow:0 2px #3a2d4d1f;background:#c4b5fd}.tex-none{background:#c4b5fd}.tex-candy{background:#fdf2f8;background-image:radial-gradient(circle at 25% 30%,#f9a8d4 0 4px,transparent 5px),radial-gradient(circle at 65% 60%,#93c5fd 0 4px,transparent 5px),radial-gradient(circle at 85% 25%,#86efac 0 3px,transparent 4px),radial-gradient(circle at 40% 75%,#fde68a 0 3px,transparent 4px)}.tex-zebra{background:repeating-linear-gradient(45deg,#f8fafc 0,#f8fafc 6px,#1f2937 6px,#1f2937 12px)}.tex-toxic{background:repeating-linear-gradient(0deg,#16a34a 0,#16a34a 5px,#052e16 5px,#052e16 10px)}.tex-holo{background:linear-gradient(135deg,#f472b6,#fbbf24,#4ade80,#38bdf8,#a78bfa)}.tex-lava{background:#1c0a0e;background-image:radial-gradient(circle at 30% 40%,#f97316 0 3px,transparent 5px),radial-gradient(circle at 70% 65%,#ef4444 0 4px,transparent 6px),radial-gradient(circle at 55% 20%,#fb923c 0 2px,transparent 4px)}.tex-galaxy{background:#1e1b4b;background-image:radial-gradient(circle at 25% 35%,#fff 0 1.5px,transparent 2.5px),radial-gradient(circle at 70% 25%,#fff 0 1px,transparent 2px),radial-gradient(circle at 55% 70%,#e9d5ff 0 1.5px,transparent 2.5px),radial-gradient(circle at 85% 60%,#fff 0 1px,transparent 2px)}.tex-gold{background:linear-gradient(135deg,#fde68a,#f5b301 45%,#b45309)}.tex-chrome{background:linear-gradient(135deg,#f8fafc,#94a3b8 35%,#475569 55%,#cbd5e1 80%,#64748b)}.tex-circuit{background:#06251a;background-image:linear-gradient(rgba(74,222,128,.55) 1px,transparent 1px),linear-gradient(90deg,rgba(74,222,128,.55) 1px,transparent 1px);background-size:9px 9px}.tex-aurora{background:linear-gradient(120deg,#34d399,#6ee7b7 30%,#8b5cf6,#a78bfa)}.bg-tex-bubbles{background-image:radial-gradient(circle at 20% 30%,rgba(139,92,246,.14) 0 7px,transparent 8px),radial-gradient(circle at 70% 60%,rgba(56,189,248,.13) 0 10px,transparent 11px),radial-gradient(circle at 45% 80%,rgba(244,114,182,.12) 0 5px,transparent 6px),radial-gradient(circle at 88% 22%,rgba(139,92,246,.1) 0 6px,transparent 7px);background-size:90px 70px}.bg-tex-grid{background-image:linear-gradient(rgba(56,189,248,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(56,189,248,.14) 1px,transparent 1px);background-size:16px 16px}.bg-tex-waves{background-image:repeating-radial-gradient(circle at 0 130%,transparent 0 18px,rgba(56,189,248,.12) 18px 20px)}.bg-tex-confetti{background-image:radial-gradient(circle at 15% 25%,rgba(244,114,182,.22) 0 3px,transparent 4px),radial-gradient(circle at 55% 15%,rgba(251,191,36,.22) 0 3px,transparent 4px),radial-gradient(circle at 80% 55%,rgba(74,222,128,.2) 0 3px,transparent 4px),radial-gradient(circle at 35% 70%,rgba(56,189,248,.2) 0 3px,transparent 4px),radial-gradient(circle at 68% 85%,rgba(139,92,246,.2) 0 3px,transparent 4px);background-size:80px 64px}.bg-tex-honeycomb{background-image:repeating-linear-gradient(0deg,rgba(251,191,36,.1) 0 1.5px,transparent 1.5px 14px),repeating-linear-gradient(60deg,rgba(251,191,36,.1) 0 1.5px,transparent 1.5px 14px),repeating-linear-gradient(120deg,rgba(251,191,36,.1) 0 1.5px,transparent 1.5px 14px)}.bg-tex-circuit{background-image:linear-gradient(rgba(74,222,128,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(74,222,128,.12) 1px,transparent 1px),radial-gradient(circle at 8px 8px,rgba(74,222,128,.28) 0 2px,transparent 3px);background-size:24px 24px,24px 24px,24px 24px}.bg-tex-stars{background-image:radial-gradient(circle at 12% 20%,rgba(139,92,246,.35) 0 1.5px,transparent 2.5px),radial-gradient(circle at 45% 65%,rgba(56,189,248,.3) 0 1px,transparent 2px),radial-gradient(circle at 75% 30%,rgba(139,92,246,.3) 0 1.5px,transparent 2.5px),radial-gradient(circle at 90% 75%,rgba(244,114,182,.3) 0 1px,transparent 2px),radial-gradient(circle at 28% 85%,rgba(56,189,248,.25) 0 1px,transparent 2px);background-size:110px 80px}.bg-tex-aurora{background-image:linear-gradient(115deg,rgba(74,222,128,.14) 0%,transparent 40%),linear-gradient(245deg,rgba(139,92,246,.16) 0%,transparent 45%),linear-gradient(180deg,rgba(56,189,248,.1) 0%,transparent 60%)}html[data-dark=on] .tex-swatch,html[data-dark=on] .bd-swatch{border-color:#ffffff29}.jp-tile:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(var(--sheen, 155deg),rgba(255,255,255,.55) 0%,rgba(255,255,255,.14) 20%,rgba(255,255,255,0) 44%,rgba(58,45,77,.05) 78%,rgba(58,45,77,.13) 100%)}.jp-mount{filter:drop-shadow(0 1.5px 1.5px rgba(58,45,77,.16))}.jp-slot.right .jp-mount{animation:jpSnapPop .34s cubic-bezier(.34,1.6,.64,1)}@keyframes jpSnapPop{0%{transform:scale(1.14);filter:brightness(1.18)}60%{transform:scale(.97)}to{transform:scale(1);filter:brightness(1)}}.jp-socket{opacity:.42;background-color:transparent;transition:opacity .2s,filter .2s}.jp-socket-outline{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.jp-socket-outline path{fill:none;stroke:#3a2d4d80;stroke-width:4;stroke-dasharray:6 7;stroke-linecap:round;stroke-linejoin:round}.jp-board.holding .jp-socket{animation:jpSocketBreathe 1.4s ease-in-out infinite}@keyframes jpSocketBreathe{0%,to{opacity:.5}50%{opacity:.82}}html[data-dark=on] .jp-socket{opacity:.5;background-color:transparent}html[data-dark=on] .jp-socket-outline path{stroke:#ffffff61}.jp-tray-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.jp-tray-top .jp-tray-label{margin-bottom:0}.jp-shuffle{font-size:12px;font-weight:800;padding:7px 14px;border-radius:12px;background:linear-gradient(180deg,#bae6fd,#7dd3fc);color:#075985;box-shadow:0 3px #0284c7;transition:transform .1s}.jp-shuffle:hover{transform:translateY(-1px) rotate(-1.5deg)}.jp-shuffle:active{transform:translateY(2px);box-shadow:0 1px #0284c7}html[data-dark=on] .jp-shuffle{background:linear-gradient(180deg,#0c4a6e,#075985);color:#bae6fd;box-shadow:0 3px #082f49}.jp-kbd{font-family:inherit;font-size:10px;font-weight:900;background:#ffffff80;border-radius:5px;padding:1px 6px;margin-left:4px;box-shadow:inset 0 -1px #00000026}html[data-dark=on] .jp-kbd{background:#ffffff24}.acct-hotkeys{background:var(--panel-2);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.hotkey-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.hotkey-name{font-size:14px;font-weight:700;color:var(--ink)}.hotkey-btn{min-width:52px;font-size:13px;font-weight:900;padding:7px 12px;border-radius:10px;background:#fff;color:var(--grape);border:2px solid var(--grape);box-shadow:0 2px #8b5cf659;transition:transform .08s}.hotkey-btn:active{transform:translateY(1px)}.hotkey-btn.capturing{background:var(--grape);color:#fff;animation:floaty 1.2s ease-in-out infinite}html[data-dark=on] .hotkey-btn{background:#201c49}.billing-modal{max-width:520px}.bill-sample-note{font-size:12px;font-weight:700;color:#9a3412;background:#ffedd5;border-radius:12px;padding:9px 12px;margin-bottom:12px}.bill-plan{background:var(--panel-2);border-radius:16px;padding:14px 16px;border:3px solid #fff}.bill-plan.premium{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f5b301}.bill-plan-main{display:flex;align-items:center;justify-content:space-between;gap:10px}.bill-plan-name{font-size:18px;font-weight:900;color:#7c4a03}.bill-plan:not(.premium) .bill-plan-name{color:var(--ink)}.bill-status{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;padding:4px 10px;border-radius:10px;background:#ffffffb3;color:#16a34a}.bill-status.s-none{color:var(--muted)}.bill-status.s-past_due,.bill-status.s-canceled{color:#dc2626}.bill-plan-meta{margin-top:6px;font-size:13px;font-weight:600;color:#7c4a03}.bill-plan:not(.premium) .bill-plan-meta{color:var(--muted)}.bill-plan .acct-upgrade-btn{margin-top:10px}.bill-table{width:100%;border-collapse:collapse;font-size:13.5px}.bill-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:6px 8px}.bill-table td{padding:9px 8px;border-top:2px dashed rgba(58,45,77,.12);font-weight:600}.bill-id{font-family:JetBrains Mono,Fira Code,monospace;font-size:12px;color:var(--muted)}.bill-pill{font-size:11px;font-weight:900;padding:3px 9px;border-radius:9px;background:#4ade802e;color:#15803d;text-transform:capitalize}.bill-pill.p-open{background:#fbbf2433;color:#b45309}.bill-pill.p-void,.bill-pill.p-uncollectible{background:#fb71852e;color:#be123c}.bill-dl{font-weight:800;color:var(--grape);text-decoration:none}.bill-dl.off{opacity:.35;cursor:default}.bill-empty{font-size:13.5px}.bill-portal{margin-top:14px}html[data-dark=on] .bill-plan{border-color:#ffffff1a}html[data-dark=on] .bill-plan.premium{background:linear-gradient(135deg,#3a2c08,#4a3a06);border-color:#f5b30180}html[data-dark=on] .bill-plan-name,html[data-dark=on] .bill-plan-meta{color:#fde68a}html[data-dark=on] .bill-status{background:#0000004d}html[data-dark=on] .bill-table td{border-top-color:#ffffff1a}html[data-dark=on] .bill-sample-note{background:#3a2408;color:#fdba74}.jp-tray-piece:hover .jp-tile:after{background:linear-gradient(155deg,#ffffff8c,#ffffff1f 34%,#fff0 50%,#3a2d4d0f 92%)}.jp-socket,.jp-mount{pointer-events:none}html[data-dark=on] .examples{background:#14112f;border:1px solid rgba(255,255,255,.07)}html[data-dark=on] .example-row code{background:#201c49;box-shadow:0 2px #00000059}html[data-dark=on] .ex-out{color:#4ade80}html[data-dark=on] .puzzle-card.solved{background:linear-gradient(180deg,#0f2a1c,#14173a 85%);border-color:color-mix(in srgb,var(--lime) 45%,#17143a);box-shadow:0 6px 16px #4ade8014}html[data-dark=on] .puzzle-card.solved:hover{box-shadow:0 10px 24px #4ade8029}.puzzle-card.solved{opacity:.85}.puzzle-card.solved:hover{opacity:1}html[data-dark=on] .puzzle-card.solved{background:linear-gradient(180deg,#0d2015,#110f2c 80%);border-color:color-mix(in srgb,var(--lime) 28%,#17143a);box-shadow:none;opacity:.72;filter:saturate(.8)}html[data-dark=on] .puzzle-card.solved:hover{opacity:1;filter:saturate(1);box-shadow:0 10px 24px #4ade8024}html[data-dark=on] .puzzle-card.solved .check{color:color-mix(in srgb,var(--pass) 70%,#17143a)}html[data-dark=on] .puzzle-card.solved .xp-pill{opacity:.7}.path-continue{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:7px;background:linear-gradient(135deg,color-mix(in srgb,var(--cat, #8b5cf6) 72%,#fff) 0%,var(--cat, #8b5cf6) 100%);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.25);font-weight:900;font-size:13.5px;letter-spacing:.02em;white-space:nowrap;padding:10px 20px;border-radius:999px;box-shadow:0 4px color-mix(in srgb,var(--cat, #8b5cf6) 55%,#1f1436),0 8px 18px color-mix(in srgb,var(--cat, #8b5cf6) 38%,transparent),inset 0 1px #ffffff73;transition:transform .13s,box-shadow .13s,filter .13s}.pc-ico{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#ffffff47;font-size:9px;line-height:1;box-shadow:inset 0 1px 2px #fff6}.path-continue:before{content:"";position:absolute;top:0;left:-70%;width:42%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.55),transparent);transform:skew(-20deg);animation:pcShine 3.4s ease-in-out infinite}@keyframes pcShine{0%,55%{left:-70%}to{left:140%}}.path-continue:hover{transform:translateY(-2px) scale(1.04);filter:brightness(1.07);box-shadow:0 6px color-mix(in srgb,var(--cat, #8b5cf6) 55%,#1f1436),0 12px 26px color-mix(in srgb,var(--cat, #8b5cf6) 50%,transparent),inset 0 1px #ffffff73}.path-continue:active{transform:translateY(1px) scale(.99);box-shadow:0 2px color-mix(in srgb,var(--cat, #8b5cf6) 55%,#1f1436)}html[data-dark=on] .bc-section p,html[data-dark=on] .bc-mantra{color:#cfc8e8}html[data-dark=on] .bc-takeaway{background:linear-gradient(180deg,#0f2a1c,#14173a);border-color:color-mix(in srgb,var(--lime) 40%,#17143a)}html[data-dark=on] .bc-takeaway-tag{color:var(--lime)}html[data-dark=on] .bc-example{background:linear-gradient(180deg,#0f2a1c,#14112f);border-color:color-mix(in srgb,var(--lime) 36%,#17143a);box-shadow:0 4px #0000004d}html[data-dark=on] .bc-example-go{color:var(--lime)}html[data-dark=on] .bc-bigo td{border-bottom-color:#ffffff1f}html[data-dark=on] .bc-pattern{border-color:#ffffff1a}html[data-dark=on] .bc-num{background:#ffffff1f}html[data-dark=on] .bc-hero{background:linear-gradient(125deg,#241d4d,#0f2b22 55%,#0c2733);border-color:#ffffff1a;box-shadow:0 12px #0000004d}html[data-dark=on] .bc-hero p{color:#cfc8e8}html[data-dark=on] .bc-hero-badge{background:#201c49}html[data-dark=on] .bc-hero-chips span{background:#ffffff14;border-color:#ffffff24}html[data-dark=on] .bc-hero h2{background:linear-gradient(90deg,#a78bfa,#4ade80);-webkit-background-clip:text;background-clip:text}.challenge-page{max-width:1180px;margin:0 auto;padding:18px 20px 60px}.challenge-loading{padding:60px 0;text-align:center;color:var(--muted);font-weight:700}.challenge-head{display:flex;align-items:center;gap:16px;margin-bottom:18px}.challenge-title{display:flex;align-items:baseline;gap:10px;margin:0 auto 0 6px}.challenge-title h1{font-size:26px;margin:0}.challenge-week{font-weight:800;color:var(--muted);font-size:13px;letter-spacing:.04em}.challenge-timer{display:inline-flex;align-items:center;gap:8px;background:var(--panel);border:3px solid color-mix(in srgb,var(--grape) 30%,transparent);border-radius:16px;padding:8px 16px;font-weight:900;font-size:22px;font-variant-numeric:tabular-nums;box-shadow:0 5px #3a2d4d1f}.challenge-timer .ct-ico{font-size:18px}.challenge-timer.urgent{border-color:var(--hard);color:var(--hard);animation:ct-pulse 1s ease-in-out infinite}@keyframes ct-pulse{50%{box-shadow:0 0 0 6px #fb718529}}.challenge-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:20px;align-items:start}.challenge-side{display:flex;flex-direction:column;gap:16px}.challenge-score{display:flex;flex-direction:column;align-items:center;background:linear-gradient(180deg,#a78bfa,var(--grape));color:#fff;border-radius:18px;padding:12px;box-shadow:0 6px #6d28d9}.challenge-score .cs-label{font-size:12px;font-weight:700;opacity:.85}.challenge-score .cs-value{font-size:34px;font-weight:900;line-height:1}.challenge-score .cs-mult{margin-top:6px;font-size:12px;font-weight:900;background:#ffffff38;padding:3px 9px;border-radius:999px}.cs-codemode{display:flex;align-items:flex-start;gap:12px;cursor:pointer;padding:14px;margin:4px 0 16px;border-radius:16px;border:2px dashed color-mix(in srgb,var(--grape) 40%,transparent);background:color-mix(in srgb,var(--grape) 6%,var(--panel));transition:border-color .12s,background .12s}.cs-codemode.on{border-style:solid;border-color:var(--grape);background:color-mix(in srgb,var(--grape) 12%,var(--panel))}.cs-codemode input{width:22px;height:22px;margin-top:2px;flex:0 0 22px;accent-color:var(--grape);cursor:pointer}.cs-cm-body{display:flex;flex-direction:column;gap:2px}.cs-cm-title{font-weight:900}.cs-cm-sub{font-size:12.5px;color:var(--muted);font-weight:600}.cr-rail{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.cr-node{width:100%;display:flex;align-items:center;gap:12px;background:var(--panel);border:2px solid var(--panel-2);border-radius:16px;padding:10px 12px;text-align:left;box-shadow:0 4px #3a2d4d14;transition:transform .1s,border-color .1s}.cr-node:hover{transform:translateY(-1px)}.cr-node.active{border-color:var(--grape)}.cr-node.done{background:color-mix(in srgb,var(--lime) 12%,var(--panel))}.cr-num{flex:0 0 30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--panel-2);font-weight:900;color:var(--ink)}.cr-node.done .cr-num{background:var(--lime);color:#fff}.cr-node.active .cr-num{background:var(--grape);color:#fff}.cr-body{display:flex;flex-direction:column;gap:2px;min-width:0}.cr-title{font-weight:800;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cr-diff{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.cr-diff.easy{color:var(--easy)}.cr-diff.medium{color:var(--medium)}.cr-diff.hard{color:var(--hard)}.cr-points{margin-left:auto;font-weight:900;color:var(--lime)}.challenge-board{background:var(--panel);border:2px solid var(--panel-2);border-radius:18px;padding:14px}.cb-title{margin:0 0 10px;font-size:16px}.cb-empty{color:var(--muted);font-size:13px;font-weight:600}.cb-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.cb-row{display:grid;grid-template-columns:24px 1fr auto auto;align-items:center;gap:8px;padding:6px 8px;border-radius:12px;font-weight:700}.cb-row.you{background:color-mix(in srgb,var(--grape) 12%,transparent)}.cb-rank{font-weight:900;color:var(--muted);text-align:center}.cb-who{display:flex;align-items:center;gap:8px;min-width:0}.cb-avatar{font-size:18px}.cb-photo{width:24px;height:24px;border-radius:50%;object-fit:cover}.cb-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.cb-solved{color:var(--muted);font-size:12px;font-weight:800}.cb-points{font-weight:900;color:var(--grape)}.challenge-stage{position:relative;background:var(--panel);border:2px solid var(--panel-2);border-radius:20px;padding:18px;min-height:420px}.challenge-prompt{margin-bottom:14px}.challenge-prompt h2{margin:6px 0 4px}.challenge-prompt p{color:var(--muted);margin:0}.cc-hint{font-weight:800;color:var(--grape);font-size:13px;margin-bottom:10px}.challenge-code .run-row{margin-top:12px}.challenge-board-wrap{position:relative}.challenge-wave-defs{position:absolute;width:0;height:0;overflow:hidden}.challenge-board-mover{filter:url(#pq-challenge-wave)}@media(prefers-reduced-motion:reduce){.challenge-board-mover{filter:none}}.jp-minimap.left{left:16px;right:auto}.challenge-solved-card{text-align:center;padding:48px 20px}.challenge-solved-card .csc-check{width:64px;height:64px;margin:0 auto 14px;border-radius:50%;background:var(--lime);color:#fff;font-size:34px;display:grid;place-items:center;box-shadow:0 6px #16a34a}.challenge-splash{display:grid;grid-template-columns:1fr 320px;gap:22px;align-items:start}.cs-intro{font-size:16px;line-height:1.5;color:var(--ink)}.cs-lineup{list-style:none;margin:16px 0;padding:0;display:flex;flex-direction:column;gap:10px}.cs-card{display:flex;align-items:center;gap:12px;background:var(--panel);border:2px solid var(--panel-2);border-radius:16px;padding:12px 14px;box-shadow:0 4px #3a2d4d14}.cs-num{flex:0 0 32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--grape);color:#fff;font-weight:900}.cs-card-body{display:flex;flex-direction:column}.cs-card-title{font-weight:800}.cs-card-diff{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.cs-card-diff.easy{color:var(--easy)}.cs-card-diff.medium{color:var(--medium)}.cs-card-diff.hard{color:var(--hard)}.cs-card-pts{margin-left:auto;font-weight:900;color:var(--muted)}.cs-rules{display:flex;flex-wrap:wrap;gap:8px 18px;margin:6px 0 18px;color:var(--muted);font-size:13px}.cs-rules b{color:var(--ink)}.cs-start{background:linear-gradient(180deg,#a78bfa,var(--grape));color:#fff;font-weight:900;font-size:16px;padding:14px 22px;border-radius:16px;box-shadow:0 6px #6d28d9}.cs-start:active{transform:translateY(2px);box-shadow:0 4px #6d28d9}.cs-start:disabled{opacity:.6}.challenge-results{max-width:620px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.cr-hero{text-align:center}.cr-hero .cr-emoji{font-size:52px}.cr-breakdown{display:flex;flex-direction:column;gap:6px}.cr-line{display:flex;justify-content:space-between;padding:10px 14px;border-radius:12px;background:var(--panel);border:2px solid var(--panel-2);font-weight:800}.cr-line.miss{opacity:.55}.cr-line.done{border-color:color-mix(in srgb,var(--lime) 40%,transparent)}.challenge-btn.active{color:var(--grape)}@media(max-width:900px){.challenge-grid,.challenge-splash{grid-template-columns:minmax(0,1fr)}.challenge-title h1{font-size:20px}}@media(max-width:820px){.challenge-page{padding:10px 10px 48px;overflow-x:hidden}.challenge-stage{order:-1;padding:10px;min-height:0;min-width:0}.challenge-side{order:0;gap:12px;min-width:0}.challenge-board-wrap{position:static;min-width:0}.challenge-head{gap:10px;margin-bottom:12px;flex-wrap:wrap}.challenge-title h1,.challenge-prompt h2{font-size:18px}.cc-hint{font-size:12px}.challenge-score{flex-direction:row;align-items:center;justify-content:center;gap:10px;padding:8px 12px}.challenge-score .cs-label{font-size:12px}.challenge-score .cs-value{font-size:22px}.challenge-score .cs-mult{margin-top:0}.cr-rail{flex-direction:row;overflow-x:auto;gap:8px;padding-bottom:4px;-webkit-overflow-scrolling:touch}.cr-node{flex:0 0 auto;min-width:150px}}.app.lobby-home{height:100vh;height:100dvh;display:flex;flex-direction:column;padding-bottom:0;overflow:hidden}.lobby-main{flex:1;min-height:0;display:flex}.lobby{position:relative;flex:1;min-height:0;overflow:hidden}.lobby-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;cursor:grab;touch-action:none}.lobby-canvas:active{cursor:grabbing}.lobby.no-gl{background:linear-gradient(180deg,#5b3785,#f7708f 62%,#ffc46b)}html[data-dark=on] .lobby.no-gl{background:linear-gradient(180deg,#060614,#141033 70%,#241a4d)}.lobby-ui{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.lobby-col{position:absolute;top:50%;transform:translateY(-54%);display:flex;flex-direction:column;gap:16px;width:min(290px,30vw)}.lobby-left{left:clamp(12px,4vw,56px)}.lobby-right{right:clamp(12px,4vw,56px)}.lobby-card{pointer-events:auto;display:flex;align-items:center;gap:14px;text-align:left;padding:17px 20px;border:0;border-radius:20px;cursor:pointer;background:#ffffffc7;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 10px 30px #1e0f3c40,inset 0 0 0 1.5px #ffffff8c;color:var(--ink);font:inherit;position:relative;animation:lobby-bob 5s ease-in-out infinite;transition:transform .18s ease,box-shadow .18s ease}.lobby-card:nth-child(2){animation-delay:-1.7s}.lobby-card:nth-child(3){animation-delay:-3.4s}.lobby-right .lobby-card{animation-delay:-.9s}.lobby-right .lobby-card:nth-child(2){animation-delay:-2.6s}.lobby-right .lobby-card:nth-child(3){animation-delay:-4.2s}.lobby-card:hover{transform:translateY(-4px) scale(1.04);box-shadow:0 16px 40px #1e0f3c59,0 0 24px color-mix(in srgb,var(--grape) 55%,transparent),inset 0 0 0 1.5px color-mix(in srgb,var(--grape) 60%,#fff);animation-play-state:paused}@keyframes lobby-bob{0%,to{translate:0 0}50%{translate:0 -7px}}.lobby-card-emoji{font-size:36px;filter:drop-shadow(0 3px 6px rgba(0,0,0,.25))}.lobby-card-text{display:flex;flex-direction:column;gap:3px;min-width:0}.lobby-card-label{font-weight:800;font-size:17px;display:flex;align-items:center;gap:6px}.lobby-card-sub{font-size:13.5px;opacity:.74}.lobby-lock{font-size:12px}.lobby-badge{position:absolute;top:-7px;right:-7px;min-width:21px;height:21px;border-radius:999px;background:var(--bubble);color:#fff;font-size:12px;font-weight:800;display:grid;place-items:center;padding:0 5px;box-shadow:0 3px 8px #0000004d}html[data-dark=on] .lobby-card{background:#17143ab8;box-shadow:0 10px 30px #00000080,inset 0 0 0 1.5px #a78bfa59}.lobby-bottom{position:absolute;left:50%;top:clamp(12px,3vh,28px);transform:translate(-50%);display:flex;flex-direction:column-reverse;align-items:center;gap:10px;width:min(560px,calc(100vw - 24px))}.lobby-plate{pointer-events:auto;display:flex;align-items:center;gap:9px;padding:7px 18px;border-radius:999px;background:#ffffffd1;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 8px 22px #1e0f3c40;font-weight:800;color:var(--ink)}.lobby-plate-avatar{font-size:20px}.lobby-login{border:0;border-radius:999px;padding:5px 13px;cursor:pointer;background:linear-gradient(90deg,var(--bubble),var(--grape));color:#fff;font-weight:800;font-size:13px}html[data-dark=on] .lobby-plate{background:#17143acc}.lobby-daily{pointer-events:auto;display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;border:0;border-radius:18px;cursor:pointer;text-align:left;font:inherit;color:var(--ink);background:#ffffffd9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 12px 34px #1e0f3c4d,inset 0 0 0 1.5px #fff9;transition:transform .18s ease,box-shadow .18s ease}.lobby-daily:hover{transform:translateY(-3px);box-shadow:0 16px 42px #1e0f3c61,0 0 26px color-mix(in srgb,var(--sun, #fbbf24) 55%,transparent)}.lobby-daily.done{opacity:.82}.lobby-daily-cal{font-size:26px}.lobby-daily-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.lobby-daily-kicker{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.6}.lobby-daily-title{font-weight:800;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lobby-daily-cta{font-weight:800;white-space:nowrap;color:var(--grape)}html[data-dark=on] .lobby-daily{background:#17143ac7;box-shadow:0 12px 34px #0000008c,inset 0 0 0 1.5px #a78bfa59}.lobby-hint{position:absolute;bottom:14px;left:50%;transform:translate(-50%);font-size:12px;font-weight:700;color:#fff;opacity:.75;text-shadow:0 1px 6px rgba(0,0,0,.45);pointer-events:none}@media(max-width:820px){.lobby-col{width:auto;gap:10px;transform:translateY(-62%)}.lobby-left{left:8px}.lobby-right{right:8px}.lobby-card{padding:11px 13px;border-radius:15px;gap:9px}.lobby-card-emoji{font-size:27px}.lobby-card-label{font-size:14.5px}.lobby-card-sub{display:none}.lobby-daily{padding:10px 12px;gap:9px}.lobby-daily-cal{font-size:21px}.lobby-daily-cta{font-size:13px}.lobby-hint{display:none}.lobby-bottom{top:10px;bottom:auto;flex-direction:column-reverse;width:min(94vw,460px);gap:8px}}.puzzle-cta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:0 0 8px;padding:4px 12px;border-radius:12px;background:linear-gradient(180deg,color-mix(in srgb,var(--grape) 12%,#fff),var(--panel-2));border:1.5px solid #fff;box-shadow:0 2px #3a2d4d14}.puzzle-cta-text{font-weight:800;font-size:13px;color:var(--ink)}.puzzle-cta-text b{color:var(--grape)}.coop-start{flex:none;font-weight:900;font-size:12.5px;padding:6px 13px;border-radius:11px;cursor:pointer;color:#fff;background:linear-gradient(180deg,#5eead4,#0ea5e9);box-shadow:0 3px #0369a1;transition:transform .1s,filter .15s}.coop-start:hover{filter:brightness(1.05);transform:translateY(-1px)}.coop-start:active{transform:translateY(2px);box-shadow:0 2px #0369a1}.coop-short{display:none}@media(max-width:700px){.cta-lead,.coop-full{display:none}.coop-short{display:inline}.coop-start{font-size:12px;padding:6px 11px}.puzzle-cta{padding:6px 10px}}html[data-dark=on] .puzzle-cta{background:linear-gradient(180deg,#8b5cf629,#1e193a80);border-color:#a78bfa47}.coop-main{flex:1;min-height:0}.coop{max-width:1100px;margin:0 auto;padding:18px 20px 60px}.coop-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.coop-players{display:flex;align-items:center;gap:10px}.coop-player{display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:14px;background:var(--panel-2);padding:6px 12px;border-radius:999px;position:relative}.coop-player.off{opacity:.6}.coop-ava{font-size:17px}.coop-vs{font-weight:900;color:var(--grape)}.coop-dot{width:9px;height:9px;border-radius:50%;background:#cbd5e1;margin-left:2px}.coop-dot.on{background:#22c55e;box-shadow:0 0 0 3px #22c55e38}.coop-progress{font-weight:900;color:var(--grape);font-size:15px}.coop-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0 6px}.coop-title h2{margin:0;font-size:24px}.coop-badge{display:inline-flex;align-items:center;gap:5px;font-weight:900;font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:#0369a1;background:color-mix(in srgb,#0ea5e9 16%,#fff);padding:5px 10px;border-radius:999px}.coop-tray{margin-top:14px;background:var(--panel-2);border:3px solid #fff;border-radius:16px;padding:12px}.coop-tray-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800;margin-bottom:10px}.coop-tray-pieces{display:flex;flex-wrap:wrap;gap:10px;max-height:260px;overflow-y:auto;padding:4px}.jp-slot.by-partner .jp-mount{filter:drop-shadow(0 0 5px rgba(14,165,233,.6)) drop-shadow(0 1.5px 1.5px rgba(58,45,77,.18))}.coop-wait{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1500;display:grid;place-items:center;background:#1e0f3c8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.coop-wait-card{background:var(--panel);border:4px solid #fff;border-radius:24px;padding:28px 26px;width:min(420px,92vw);text-align:center;box-shadow:0 24px 60px #1e0f3c66}.coop-wait-card h3{margin:8px 0 6px;font-size:22px}.coop-wait-card p{color:var(--muted);font-weight:600;margin:6px 0 14px}.coop-wait-spin{font-size:44px;animation:coopBob 1.6s ease-in-out infinite}@keyframes coopBob{0%,to{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-8px) rotate(4deg)}}.coop-copy,.coop-inv-cta{display:inline-block;font-weight:900;font-size:15px;padding:12px 20px;border-radius:14px;cursor:pointer;color:#fff;background:linear-gradient(180deg,#f9a8d4,var(--grape));box-shadow:0 4px #7c3aed;border:0;transition:transform .1s,filter .15s;margin:4px}.coop-copy:hover,.coop-inv-cta:hover{filter:brightness(1.05)}.coop-copy:active,.coop-inv-cta:active{transform:translateY(2px);box-shadow:0 2px #7c3aed}.coop-inv-cta.gold{background:linear-gradient(180deg,#fcd34d,#f59e0b);box-shadow:0 4px #b45309;color:#5b3b00}.coop-reward{color:var(--grape);font-weight:900!important;font-size:16px}.coop-time{font-weight:800!important}.coop-invite{text-align:center}.coop-inv-title{font-size:26px;margin:6px 0 4px}.coop-inv-problem{display:flex;align-items:center;justify-content:center;gap:8px;margin:4px 0 12px}.coop-inv-name{font-weight:900;font-size:17px}.coop-inv-note{color:var(--muted);font-weight:600;margin:6px 0 14px}.coop-board{margin-top:16px;background:var(--panel-2);border:3px solid #fff;border-radius:16px;padding:12px 14px}.coop-board-head{font-weight:900;font-size:13px;color:var(--grape);margin-bottom:8px}.coop-board-row{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;padding:6px 0;border-bottom:2px dashed #ffe6cf;font-weight:700}.coop-board-row:last-child{border-bottom:0}.coop-board-rank{font-size:17px;text-align:center}.coop-board-pair{display:inline-flex;align-items:center;gap:4px;min-width:0}.coop-board-names{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coop-board-time{font-weight:900;color:var(--grape)}html[data-dark=on] .coop-board-row{border-bottom-color:#ffffff14}@media(max-width:820px){.coop{padding:12px 12px 48px}.coop-bar{gap:8px}.coop-title h2{font-size:20px}.puzzle-cta{padding:10px 12px}.puzzle-cta-text{font-size:13.5px}}.coop-games-modal{max-width:560px}.coop-games-sub{color:var(--muted);font-weight:600;margin:2px 0 14px}.coop-games-empty{color:var(--muted);font-weight:600;text-align:center;padding:20px 6px}.coop-games-list{display:flex;flex-direction:column;gap:10px}.coop-game{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--panel-2);border:2px solid #fff;border-radius:16px;padding:12px 14px;box-shadow:0 3px #3a2d4d0f}.coop-game.active{border-color:color-mix(in srgb,#0ea5e9 40%,#fff)}.coop-game-main{min-width:0;flex:1}.coop-game-title{display:flex;align-items:center;gap:8px;font-weight:800;flex-wrap:wrap}.coop-game-status{font-size:10.5px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;padding:3px 8px;border-radius:999px}.coop-game-status.pending{background:#fef3c7;color:#92600a}.coop-game-status.active{background:color-mix(in srgb,#22c55e 20%,#fff);color:#15803d}.coop-game-meta{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);font-weight:700;margin-top:4px}.coop-game-prog{color:var(--grape)}.coop-game-bar{height:7px;background:#ffe6cf;border-radius:999px;overflow:hidden;margin-top:7px}.coop-game-fill{height:100%;background:linear-gradient(90deg,#5eead4,#0ea5e9);border-radius:999px}.coop-game-actions{display:flex;flex-direction:column;gap:6px;flex:none}.coop-game-resume{font-weight:900;font-size:13px;padding:9px 16px;border-radius:12px;cursor:pointer;color:#fff;background:linear-gradient(180deg,#5eead4,#0ea5e9);box-shadow:0 3px #0369a1;border:0}.coop-game-resume:active{transform:translateY(2px);box-shadow:0 1px #0369a1}html[data-dark=on] .coop-game{background:#1e193a99;border-color:#a78bfa38}.gate-main{max-width:880px;margin:18px auto 60px;padding:0 14px}.gate-panel{position:relative;overflow:hidden}.gate-topline{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.gate-skip{margin-left:auto}.gate-steps{display:flex;gap:6px;list-style:none;margin:0 auto;padding:0;align-items:center;flex-wrap:wrap;justify-content:center}.gate-step{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--panel-2);color:var(--muted);font-weight:700;font-size:13px;border:2px solid transparent;transition:all .25s ease}.gate-step.now{background:color-mix(in srgb,var(--accent) 14%,var(--panel));color:var(--ink);border-color:var(--accent);box-shadow:0 4px #3a2d4d14;transform:scale(1.05)}.gate-step.done{color:var(--ink);opacity:.75}.gate-step-emoji{font-size:15px}.gate-step:not(:last-child):after{content:"›";margin-left:6px;color:var(--muted)}.gate-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;margin-top:16px;flex-wrap:wrap}.gate-next{border:none;cursor:pointer;font:inherit;font-weight:800;padding:12px 22px;border-radius:16px;color:#fff;background:linear-gradient(135deg,var(--grape),var(--bubble));box-shadow:0 6px #3a2d4d2e;transition:transform .15s ease,box-shadow .15s ease,opacity .2s}.gate-next:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 8px #3a2d4d2e}.gate-next:disabled{opacity:.45;cursor:default}.story-intro{display:flex;flex-direction:column;gap:14px}.story-stage{position:relative;height:150px;border-radius:var(--radius);background:radial-gradient(500px 130px at 50% 115%,color-mix(in srgb,var(--sun) 32%,transparent) 0%,transparent 70%),linear-gradient(180deg,color-mix(in srgb,var(--sky) 18%,var(--panel-2)) 0%,var(--panel-2) 100%);overflow:hidden;border:2px solid color-mix(in srgb,var(--accent) 22%,transparent)}.story-drifter{position:absolute;left:-40px;animation:story-drift linear infinite;filter:drop-shadow(0 3px 2px rgba(58,45,77,.18))}@keyframes story-drift{0%{transform:translate(0) translateY(0) rotate(-8deg);opacity:0}8%{opacity:1}50%{transform:translate(46vw) translateY(-10px) rotate(6deg)}88%{opacity:1}to{transform:translate(92vw) translateY(4px) rotate(-4deg);opacity:0}}.story-goal{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:44px;z-index:1;animation:story-goal-bob 2.6s ease-in-out infinite;filter:drop-shadow(0 4px 3px rgba(58,45,77,.22))}@keyframes story-goal-bob{0%,to{transform:translateY(-50%) scale(1)}50%{transform:translateY(-58%) scale(1.08)}}.story-title-plate{position:absolute;left:16px;bottom:10px;z-index:1;display:flex;align-items:center;gap:10px}.story-title-plate h2{margin:0;font-size:24px;text-shadow:0 2px 0 rgba(255,255,255,.6)}.story-text{display:flex;gap:10px;align-items:flex-start;background:var(--panel-2);border-radius:var(--radius);padding:14px 16px;cursor:pointer;min-height:64px;border:2px dashed color-mix(in srgb,var(--accent) 30%,transparent)}.story-text.done{cursor:default;border-style:solid}.story-quill{font-size:22px}.story-text p{margin:2px 0 0;font-size:17px;line-height:1.55}.story-word{animation:story-word-in .18s ease both}@keyframes story-word-in{0%{opacity:0;filter:blur(2px)}to{opacity:1;filter:blur(0)}}.story-caret{color:var(--accent);animation:story-blink 1s steps(2) infinite}@keyframes story-blink{50%{opacity:0}}.story-speak.on{background:color-mix(in srgb,var(--accent) 16%,var(--panel))}.story-scene-wrap{display:flex;flex-direction:column;gap:8px}.ucheck{display:flex;flex-direction:column;gap:14px}.ucheck-progress{display:flex;align-items:center;gap:6px}.ucheck-dot{width:10px;height:10px;border-radius:50%;background:var(--panel-2);border:2px solid color-mix(in srgb,var(--muted) 45%,transparent)}.ucheck-dot.now{background:var(--accent);border-color:var(--accent);transform:scale(1.2)}.ucheck-dot.done{background:var(--lime);border-color:var(--lime)}.ucheck-count{margin-left:6px;color:var(--muted);font-size:13px;font-weight:700}.ucheck-q{display:flex;gap:10px;align-items:flex-start}.ucheck-mascot{font-size:30px}.ucheck-q p{margin:4px 0 0;font-size:18px;font-weight:700}.ucheck-code{display:inline-block;align-self:flex-start;background:var(--ink);color:#ffe9c9;padding:10px 14px;border-radius:12px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:15px}.ucheck-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.ucheck-choice{display:flex;align-items:center;gap:10px;text-align:left;font:inherit;cursor:pointer;background:var(--panel);color:var(--ink);border:2px solid color-mix(in srgb,var(--accent) 25%,transparent);border-radius:16px;padding:12px 14px;font-weight:700;box-shadow:0 4px #3a2d4d14;transition:transform .12s ease,border-color .12s ease,opacity .2s}.ucheck-choice:not(:disabled):hover{transform:translateY(-2px);border-color:var(--accent)}.ucheck-choice.dead{opacity:.38;text-decoration:line-through;cursor:default;box-shadow:none}.ucheck-choice.right{border-color:var(--pass);background:color-mix(in srgb,var(--pass) 14%,var(--panel));animation:ucheck-pop .4s ease}.ucheck-choice.wrong{animation:ucheck-shake .4s ease;border-color:var(--fail)}@keyframes ucheck-pop{40%{transform:scale(1.05)}}@keyframes ucheck-shake{20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}.ucheck-letter{flex:0 0 auto;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:13px;color:#fff;background:var(--accent)}.ucheck-code+.ucheck-choices code,.ucheck-text code{font-family:inherit}.ucheck-text{font-family:JetBrains Mono,ui-monospace,monospace;font-size:14px;overflow-wrap:anywhere}.ucheck-hint{background:color-mix(in srgb,var(--sun) 22%,var(--panel));border-radius:14px;padding:10px 14px;font-weight:600;animation:story-word-in .25s ease both}.ucheck-yay{font-weight:800;color:var(--pass);font-size:17px;animation:ucheck-pop .4s ease}.ppick{display:flex;flex-direction:column;gap:14px}.ppick-head{display:flex;gap:12px;align-items:flex-start}.ppick-mascot{font-size:34px}.ppick-head h3{margin:0;font-size:21px}.ppick-head p{margin:4px 0 0;color:var(--muted);font-weight:600}.ppick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.ppick-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;font:inherit;text-align:left;cursor:pointer;background:var(--panel);color:var(--ink);border:2px solid color-mix(in srgb,var(--accent) 25%,transparent);border-radius:var(--radius);padding:16px 16px 14px;box-shadow:0 6px #3a2d4d14;transition:transform .14s ease,border-color .14s ease,opacity .25s,box-shadow .14s ease;position:relative}.ppick-card:before{content:"";position:absolute;top:-9px;left:24px;width:18px;height:18px;border-radius:50%;background:inherit;border:inherit;border-bottom:none;clip-path:inset(0 0 50% 0)}.ppick-card:not(:disabled):hover{transform:translateY(-3px) rotate(-.5deg);border-color:var(--accent);box-shadow:0 9px #3a2d4d1a}.ppick-card.dead{opacity:.4;cursor:default;animation:ucheck-shake .4s ease;box-shadow:none}.ppick-card.faded{opacity:.35}.ppick-card.win{border-color:var(--pass);background:color-mix(in srgb,var(--pass) 12%,var(--panel));animation:ucheck-pop .45s ease}.ppick-emoji{font-size:30px}.ppick-name{font-weight:800;font-size:16px}.ppick-blurb{color:var(--muted);font-size:13.5px;font-weight:600;line-height:1.4}.ppick-why{display:flex;gap:12px;align-items:flex-start;background:color-mix(in srgb,var(--pass) 12%,var(--panel));border:2px solid var(--pass);border-radius:var(--radius);padding:14px 16px;animation:story-word-in .3s ease both}.ppick-why-emoji{font-size:30px}.ppick-go{margin-top:6px;font-weight:800;color:var(--grape)}.replay-intro{margin-left:8px}@media(max-width:700px){.gate-steps{order:3;width:100%;margin-top:6px}.gate-step-label{display:none}.gate-step{padding:6px 9px}.story-stage{height:120px}.story-goal{font-size:34px}.story-title-plate h2{font-size:19px}}.ppick-why{flex-direction:column}.ppick-why-text{display:flex;gap:12px;align-items:flex-start}.ppick-why .gate-actions{margin-top:4px;width:100%}.pviz{width:100%;min-height:84px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--panel) 70%,transparent);border-radius:14px;padding:16px 14px 22px}.pviz-row{position:relative;display:flex;gap:6px;align-items:flex-end;width:100%;max-width:430px;height:56px}.pviz-cell{flex:1;height:34px;border-radius:8px;background:color-mix(in srgb,var(--accent) 16%,var(--panel));border:2px solid color-mix(in srgb,var(--accent) 30%,transparent);display:grid;place-items:center;font-weight:800;font-size:13px;color:var(--ink);transform-origin:bottom}.pviz-sweep .pviz-cell,.pviz-bits .pviz-cell{animation:pviz-pop 2.6s infinite;animation-delay:calc(var(--i) * .28s)}@keyframes pviz-pop{0%,12%,to{transform:none;background:color-mix(in srgb,var(--accent) 16%,var(--panel))}5%{transform:translateY(-7px);background:var(--accent);color:#fff}}.pviz-winbox{position:absolute;bottom:-5px;left:0;height:46px;width:40%;border:3px solid var(--sun);border-radius:10px;animation:pviz-slide 2.8s ease-in-out infinite alternate;box-shadow:0 0 0 3px color-mix(in srgb,var(--sun) 25%,transparent)}@keyframes pviz-slide{to{left:60%}}.pviz-halving .pviz-cell{animation:pviz-dim 3.6s infinite}.pviz-halving .pviz-cell:nth-child(n+5){animation-delay:0s}.pviz-halving .pviz-cell:nth-child(3),.pviz-halving .pviz-cell:nth-child(4){animation-delay:.55s}.pviz-halving .pviz-cell:nth-child(2){animation-delay:1.1s}.pviz-halving .pviz-cell:nth-child(1){animation:pviz-found 3.6s infinite}@keyframes pviz-dim{0%{opacity:1}18%,80%{opacity:.14}95%,to{opacity:1}}@keyframes pviz-found{0%,45%{transform:none;background:color-mix(in srgb,var(--accent) 16%,var(--panel))}60%,78%{transform:translateY(-7px);background:var(--lime)}95%,to{transform:none;background:color-mix(in srgb,var(--accent) 16%,var(--panel))}}.pviz-build .pviz-cell{animation:pviz-fill 4s infinite;animation-delay:calc(var(--i) * .32s)}@keyframes pviz-fill{0%{opacity:.22;transform:scaleY(.45)}12%,78%{opacity:1;transform:none}92%,to{opacity:.22;transform:scaleY(.45)}}.pviz-sort .pviz-cell{height:var(--h);animation:pviz-sort 4.2s ease-in-out infinite}.pviz-sort .pviz-cell:nth-child(1){--hs: 24%}.pviz-sort .pviz-cell:nth-child(2){--hs: 33%}.pviz-sort .pviz-cell:nth-child(3){--hs: 42%}.pviz-sort .pviz-cell:nth-child(4){--hs: 51%}.pviz-sort .pviz-cell:nth-child(5){--hs: 60%}.pviz-sort .pviz-cell:nth-child(6){--hs: 70%}.pviz-sort .pviz-cell:nth-child(7){--hs: 80%}.pviz-sort .pviz-cell:nth-child(8){--hs: 90%}@keyframes pviz-sort{0%,15%{height:var(--h)}50%,85%{height:var(--hs)}to{height:var(--h)}}.pviz-pointers{padding-bottom:4px}.pviz-ptr{position:absolute;bottom:-22px;font-size:14px;color:var(--grape)}.pviz-ptr-l{left:2%;animation:pviz-ptr-l 3s ease-in-out infinite alternate}.pviz-ptr-r{right:2%;animation:pviz-ptr-r 3s ease-in-out infinite alternate}@keyframes pviz-ptr-l{to{left:42%}}@keyframes pviz-ptr-r{to{right:42%}}.pviz-col{display:flex;flex-direction:column-reverse;gap:4px}.pviz-block{width:74px;height:15px;border-radius:6px;background:color-mix(in srgb,var(--accent) 40%,var(--panel));border:2px solid color-mix(in srgb,var(--accent) 55%,transparent);animation:pviz-push 3.8s infinite;animation-delay:calc(var(--i) * .35s)}@keyframes pviz-push{0%{opacity:0;transform:translateY(-14px)}12%,72%{opacity:1;transform:none}84%,to{opacity:0;transform:translateY(-14px)}}.pviz-buckets{display:flex;gap:26px}.pviz-bucket{position:relative;font-size:30px}.pviz-drop{position:absolute;top:-20px;left:50%;width:11px;height:11px;border-radius:50%;background:var(--bubble);animation:pviz-dropin 2.1s infinite;animation-delay:calc(var(--i) * .65s)}@keyframes pviz-dropin{0%{transform:translate(-50%,-10px);opacity:0}25%{opacity:1}60%{transform:translate(-50%,20px);opacity:1}75%,to{transform:translate(-50%,20px);opacity:0}}.pviz-tree{width:170px;height:80px;overflow:visible}.pviz-tree line{stroke:color-mix(in srgb,var(--muted) 55%,transparent);stroke-width:2}.pviz-tree circle{fill:color-mix(in srgb,var(--accent) 20%,var(--panel));stroke:var(--accent);stroke-width:2;animation:pviz-visit 3.2s infinite;animation-delay:calc(var(--i) * .38s)}@keyframes pviz-visit{0%,6%,to{fill:color-mix(in srgb,var(--accent) 20%,var(--panel))}12%,24%{fill:var(--grape)}}.pviz-list{display:flex;align-items:center;gap:8px}.pviz-node{width:22px;height:22px;border-radius:50%;background:color-mix(in srgb,var(--accent) 22%,var(--panel));border:2px solid var(--accent);animation:pviz-pop 2.8s infinite;animation-delay:calc(var(--i) * .45s)}.pviz-link{font-weight:900;color:var(--muted);animation:pviz-linkglow 2.8s infinite;animation-delay:calc(var(--i) * .45s + .2s)}@keyframes pviz-linkglow{0%,10%,to{color:var(--muted)}5%{color:var(--grape)}}.pviz-coins{display:flex;align-items:center;gap:16px}.pviz-coin{animation:pviz-grab 3.2s infinite}.pviz-coins .pviz-coin:nth-child(1){animation-delay:0s}.pviz-coins .pviz-coin:nth-child(3){animation-delay:.7s}.pviz-coins .pviz-coin:nth-child(2){animation-delay:1.4s}.pviz-coins .pviz-coin:nth-child(4){animation-delay:2.1s}@keyframes pviz-grab{0%{transform:none;opacity:1}9%{transform:translateY(-12px) scale(1.22);opacity:1}18%,88%{transform:none;opacity:.3}to{opacity:1}}.pviz-math{display:flex;gap:18px;font-size:26px;font-weight:900;color:var(--grape)}.pviz-sym{animation:pviz-pop 2.6s infinite;animation-delay:calc(var(--i) * .45s);background:none!important}.jp-held-dock{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:1000;pointer-events:none;filter:drop-shadow(0 10px 16px rgba(58,45,77,.42));animation:jpHeldDock 1.7s ease-in-out infinite}@keyframes jpHeldDock{0%,to{transform:translate(-50%) translateY(0) scale(1)}50%{transform:translate(-50%) translateY(-6px) scale(1.04)}}@media(prefers-reduced-motion:reduce){.jp-held-dock{animation:none;transform:translate(-50%)}}.lobby-col.lobby-stacked{gap:9px;width:min(270px,28vw)}.lobby-stacked .lobby-card{padding:12px 16px}.lobby-stacked .lobby-card-emoji{font-size:28px}.lobby-stacked .lobby-card:nth-child(4){animation-delay:-2.2s}.lobby-stacked .lobby-card:nth-child(5){animation-delay:-.9s}.lobby-stacked .lobby-card:nth-child(6){animation-delay:-2.9s}.lobby-stacked .lobby-card:nth-child(7){animation-delay:-4.6s}.menu-stations{display:none}@media(max-width:820px){.lobby-home .lobby-col.lobby-stacked{display:none}.topbar .menu-stations{display:grid;grid-template-columns:1fr 1fr;gap:6px;width:100%;padding-bottom:8px;margin-bottom:4px;border-bottom:2px dashed color-mix(in srgb,var(--muted) 30%,transparent)}.menu-station{display:flex;align-items:center;gap:8px;font:inherit;font-weight:800;font-size:15px;color:var(--ink);background:var(--panel-2);border:0;border-radius:12px;padding:11px 12px;cursor:pointer;text-align:left}.menu-station:active{transform:scale(.97)}.menu-station-emoji{font-size:18px}}.story-actor{position:absolute;left:0;filter:drop-shadow(0 3px 2px rgba(58,45,77,.18));will-change:transform,opacity}.sd-drift{left:-40px;animation:story-drift linear infinite}.sd-seek{animation:sd-seek 3.4s ease-in-out infinite}@keyframes sd-seek{0%,12%,to{transform:none}4%{transform:translateY(-16px) scale(1.18) rotate(-8deg)}8%{transform:translateY(-13px) scale(1.14) rotate(8deg)}}.sd-pair-l{left:-34px;animation:sd-pair-l 4.4s ease-in-out infinite}.sd-pair-r{left:calc(100% + 34px);animation:sd-pair-r 4.4s ease-in-out infinite}@keyframes sd-pair-l{0%{transform:translate(0);opacity:0}12%{opacity:1}42%,58%{transform:translate(calc(50cqw - 8px));opacity:1}70%{transform:translate(calc(50cqw - 8px)) scale(1.25)}86%,to{transform:translate(calc(50cqw - 8px)) scale(0);opacity:0}}@keyframes sd-pair-r{0%{transform:translate(0);opacity:0}12%{opacity:1}42%,58%{transform:translate(calc(-50cqw + 8px));opacity:1}70%{transform:translate(calc(-50cqw + 8px)) scale(1.25)}86%,to{transform:translate(calc(-50cqw + 8px)) scale(0);opacity:0}}.sd-order{animation:sd-order 4.6s ease-in-out infinite}@keyframes sd-order{0%,14%{left:var(--l0);transform:none}22%{transform:translateY(-14px)}40%,82%{left:var(--l1);transform:none}92%,to{left:var(--l0)}}.sd-pile{transform:translate(-50%);animation:sd-pile 4.4s ease-in infinite}@keyframes sd-pile{0%{transform:translate(-50%,-110px);opacity:0}10%{opacity:1}18%,78%{transform:translate(-50%,calc(-1 * var(--stack)));opacity:1}90%,to{transform:translate(-50%,calc(-1 * var(--stack)));opacity:0}}.sd-chain{left:-44px;animation:sd-chain 5.2s linear infinite}@keyframes sd-chain{0%{transform:translate(0) translateY(0);opacity:0}8%{opacity:1}25%{transform:translate(28cqw) translateY(-8px)}50%{transform:translate(56cqw) translateY(6px);opacity:1}75%{transform:translate(84cqw) translateY(-8px)}96%,to{transform:translate(112cqw) translateY(0);opacity:0}}.sd-branch{animation:sd-branch 3.6s ease-in-out infinite}@keyframes sd-branch{0%,10%,to{transform:scale(1);filter:drop-shadow(0 3px 2px rgba(58,45,77,.18))}16%,26%{transform:scale(1.35);filter:drop-shadow(0 0 10px rgba(251,191,36,.85))}34%{transform:scale(1)}}.sd-walk{left:4%;animation:sd-walk 4.8s steps(9) infinite}@keyframes sd-walk{0%{transform:translate(0);opacity:0}8%{opacity:1}86%{transform:translate(80cqw);opacity:1}98%,to{transform:translate(88cqw);opacity:0}}.sd-collect{left:-34px;animation:sd-collect 4.2s ease-in infinite}@keyframes sd-collect{0%{transform:translate(0) scale(1);opacity:0}12%{opacity:1}70%{transform:translate(calc(100cqw - 46px)) scale(.95);opacity:1}88%,to{transform:translate(calc(100cqw - 24px)) scale(.15);opacity:0}}.sd-flip{animation:sd-flip 3.8s ease-in-out infinite}@keyframes sd-flip{0%,14%,to{transform:rotateY(0) scale(1)}30%,44%{transform:rotateY(540deg) scale(1.2)}58%{transform:rotateY(720deg) scale(1)}}.story-stage{container-type:size}@media(prefers-reduced-motion:reduce){.story-actor{animation:none!important;opacity:.85}}.gate-step-btn{display:flex;align-items:center;gap:6px;font:inherit;font-weight:700;color:inherit;background:none;border:0;padding:0;cursor:pointer}.gate-step.done:hover{border-color:var(--accent);color:var(--ink);opacity:1}.gate-backrow{display:flex;justify-content:flex-start;margin-top:2px}.ucheck-review-q{border:2px dashed color-mix(in srgb,var(--accent) 25%,transparent);border-radius:var(--radius);padding:12px 14px;display:flex;flex-direction:column;gap:10px}.ucheck-review-question{margin:0;font-weight:800}.ucheck-choice.static{cursor:default;box-shadow:none;position:relative}.ucheck-choice.static.right{border-color:var(--pass);background:color-mix(in srgb,var(--pass) 14%,var(--panel));animation:none}.ucheck-choice.static.was-pick{border-color:var(--fail);opacity:.85}.ucheck-mark{margin-left:auto;font-weight:900;color:var(--pass)}.ucheck-youpick,.ppick-youpick{position:absolute;top:-10px;right:10px;background:var(--sun);color:var(--ink);font-size:11px;font-weight:800;border-radius:999px;padding:2px 8px;box-shadow:0 2px #3a2d4d26}.ucheck-choice.static{overflow:visible}.ppick-card.was-pick{border-color:var(--sun)}.ppick-card{overflow:visible}html[data-dark=on] .ucheck-code{background:#0e0c24;color:#cfc7f2;border:1px solid rgba(255,255,255,.09)}html[data-dark=on] .story-text{border-color:#ffffff24}.sd-grow{animation:sd-grow 4.6s ease-out infinite}@keyframes sd-grow{0%{transform:translateY(26px);opacity:0}10%{transform:translateY(calc(-1 * var(--rise) - 9px));opacity:1}15%{transform:translateY(calc(-1 * var(--rise)))}18%,80%{transform:translateY(calc(-1 * var(--rise)));opacity:1}92%,to{transform:translateY(26px);opacity:0}}.sd-spiral{animation:sd-spiral 5.2s linear infinite}@keyframes sd-spiral{0%{transform:rotate(0) translate(72px) rotate(0) scale(1);opacity:1}25%{transform:rotate(180deg) translate(56px) rotate(-180deg) scale(1)}50%{transform:rotate(360deg) translate(40px) rotate(-360deg) scale(.9)}75%{transform:rotate(540deg) translate(24px) rotate(-540deg) scale(.75)}92%{transform:rotate(680deg) translate(8px) rotate(-680deg) scale(.45);opacity:1}to{transform:rotate(720deg) translate(0) rotate(-720deg) scale(.2);opacity:0}}.scene-spiral .story-goal{right:auto;left:50%;top:50%;transform:translate(-50%,-50%);font-size:30px}@keyframes story-goal-center-bob{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.1)}}.scene-spiral .story-goal{animation:story-goal-center-bob 2.6s ease-in-out infinite}.workspace{position:relative;padding-top:46px}.back-float{position:absolute;top:6px;left:24px;z-index:8;margin:0;padding:7px 14px;font-size:13.5px}@media(max-width:820px){.workspace{padding-top:44px}.back-float{left:10px;top:4px}}.lobby-companion{font-size:22px;margin-left:4px;display:inline-block;animation:companion-bob 2.2s ease-in-out infinite;filter:drop-shadow(0 3px 3px rgba(0,0,0,.25))}@keyframes companion-bob{0%,to{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-5px) rotate(5deg)}}.skin-swatch{width:44px;height:44px;border-radius:12px;display:inline-block;border:2px solid rgba(58,45,77,.15);background:linear-gradient(160deg,#f6f1ff,#e6dcff)}.skin-swatch-wood{background:repeating-linear-gradient(95deg,#b07b42 0,#b07b42 7px,#99662f 7px,#99662f 12px,#c08a50 12px,#c08a50 20px)}.skin-swatch-candy{background:linear-gradient(135deg,#ff8fc7,#ffd1e8 45%,#ff9ecf)}.skin-swatch-ice{background:linear-gradient(160deg,#bfe9ff,#e8f8ff 55%,#9ed8f7)}.skin-swatch-neon{background:#140a28 radial-gradient(circle at 30% 30%,rgba(34,211,238,.8),transparent 60%)}.skin-swatch-crystal{background:linear-gradient(120deg,#c084fc,#e9d5ff 40%,#a855f7 75%)}.skin-swatch-gold{background:linear-gradient(135deg,#ffd76a,#fff3c4 45%,#f0b429)}.skin-swatch-circuit{background:#0f3d3d repeating-linear-gradient(0deg,transparent 0 8px,rgba(45,212,191,.5) 8px 9px),repeating-linear-gradient(90deg,transparent 0 8px,rgba(45,212,191,.5) 8px 9px)}.skin-swatch-nebula{background:#1b1140 radial-gradient(circle at 30% 40%,rgba(217,70,239,.7),transparent 55%),radial-gradient(circle at 70% 60%,rgba(56,189,248,.6),transparent 55%)}.skin-swatch-none{background:linear-gradient(160deg,#fff,#efe9ff)}.jp-tile{position:relative}[class*=skin-] .jp-tile:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3}.skin-wood .jp-tile:after{background:repeating-linear-gradient(95deg,#7848144d 0,#7848144d 7px,#aa6e3024 7px,#aa6e3024 13px,#643c1042 13px,#643c1042 21px)}.skin-wood .jp-image{filter:sepia(.5) saturate(1.1) contrast(.96)}.skin-candy .jp-tile:after{background:linear-gradient(135deg,#ff69b461,#ffffff4d 42%,#ff50a052)}.skin-candy .jp-image{filter:saturate(1.45) hue-rotate(-12deg) brightness(1.05)}.skin-candy .jp-tile{filter:drop-shadow(0 0 5px rgba(255,105,180,.6))}.skin-ice .jp-tile:after{background:linear-gradient(160deg,#8cdcff73,#f0fcff2e 50%,#6ec3f561)}.skin-ice .jp-image{filter:saturate(.55) brightness(1.12) hue-rotate(160deg)}.skin-neon .jp-tile:after{background:linear-gradient(180deg,#10082880,#22d3ee29)}.skin-neon .jp-image{filter:saturate(1.7) contrast(1.1)}.skin-neon .jp-tile{filter:drop-shadow(0 0 9px rgba(34,211,238,.9))}.skin-neon .jp-code{color:#d8fbff}.skin-crystal .jp-tile:after{background:linear-gradient(120deg,#a855f761 0,#a855f761 30%,#ffffff57 34%,#ffffff57 40%,#a855f742 44%,#a855f742 70%,#ffffff42 74%,#ffffff42 79%,#9333ea57 83%)}.skin-crystal .jp-image{filter:hue-rotate(18deg) saturate(1.2)}.skin-crystal .jp-tile{filter:drop-shadow(0 0 6px rgba(168,85,247,.65))}.skin-gold .jp-tile:after{background:linear-gradient(135deg,#f0b42980,#fff6c857 45%,#d4961475)}.skin-gold .jp-image{filter:sepia(.7) saturate(1.6) brightness(1.05)}.skin-gold .jp-tile{filter:drop-shadow(0 0 8px rgba(240,180,41,.8))}.skin-circuit .jp-tile:after{background:repeating-linear-gradient(0deg,transparent 0 10px,rgba(20,160,145,.35) 10px 11.5px),repeating-linear-gradient(90deg,transparent 0 10px,rgba(20,160,145,.35) 10px 11.5px),#063c3629}.skin-circuit .jp-image{filter:hue-rotate(120deg) saturate(.9)}.skin-circuit .jp-tile{filter:drop-shadow(0 0 5px rgba(45,212,191,.55))}.skin-nebula .jp-tile:after{background:radial-gradient(circle at 28% 38%,rgba(217,70,239,.4),transparent 55%),radial-gradient(circle at 72% 62%,rgba(56,189,248,.36),transparent 55%),#140c384d}.skin-nebula .jp-image{filter:saturate(1.4) hue-rotate(-25deg) brightness(.96)}.skin-nebula .jp-tile{filter:drop-shadow(0 0 7px rgba(147,51,234,.7))}.skin-nebula .jp-code{color:#efe6ff}.store-layout{align-items:start}.store-stage-panel{position:sticky;top:10px;z-index:2}.store-stage{background:radial-gradient(120% 90% at 50% 108%,rgba(255,214,120,.55) 0%,transparent 55%),radial-gradient(90% 70% at 18% 12%,rgba(255,255,255,.5) 0%,transparent 60%),linear-gradient(180deg,#cfe6ff,#e8d9ff 46%,#ffd9ec 78%,#ffe9c9);overflow:hidden}.store-stage:before{content:"✦ ✧ ✦ ✧ ✦ ✧ ✦ ✧ ✦";position:absolute;inset:8px 0 auto 0;text-align:center;color:#fff;opacity:.7;font-size:12px;letter-spacing:18px;animation:stage-sparkle 4s ease-in-out infinite;pointer-events:none}@keyframes stage-sparkle{0%,to{opacity:.25}50%{opacity:.8}}html[data-dark=on] .store-stage{background:radial-gradient(120% 90% at 50% 108%,rgba(167,139,250,.4) 0%,transparent 55%),linear-gradient(180deg,#131034,#241a4d 60%,#3a1a6e)}.stage-mound{position:absolute;left:50%;bottom:-6px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;line-height:.78;pointer-events:none;z-index:1;filter:drop-shadow(0 6px 8px rgba(58,45,77,.3))}.mound-row{display:block;letter-spacing:-6px}.mound-r1{font-size:22px;transform:rotate(-2deg)}.mound-r2{font-size:24px;transform:rotate(1.5deg)}.mound-r3{font-size:26px;transform:rotate(-1deg)}.stage-mound:after{content:"";position:absolute;inset:auto -30px -10px -30px;height:26px;background:radial-gradient(50% 100% at 50% 100%,rgba(58,45,77,.28),transparent 70%);z-index:-1}.stage-wallet{position:absolute;top:10px;right:10px;z-index:3;background:#ffffffd9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:999px;padding:6px 12px;font-weight:900;font-size:14px;color:var(--ink);box-shadow:0 3px #3a2d4d24}html[data-dark=on] .stage-wallet{background:#17143ad9}.store-topbar{background:var(--panel-2)}@media(max-width:820px){.topbar .store-topbar{display:none}}.lobby-companion-3d{position:absolute;left:62%;top:46%;font-size:clamp(34px,5vw,54px);pointer-events:none;z-index:2;filter:drop-shadow(0 8px 10px rgba(0,0,0,.35));animation:companion-float 5.5s ease-in-out infinite}@keyframes companion-float{0%,to{transform:translate(0) rotate(-5deg)}25%{transform:translate(-14px,-16px) rotate(3deg)}50%{transform:translate(6px,-26px) rotate(-2deg)}75%{transform:translate(16px,-8px) rotate(5deg)}}@media(max-width:820px){.lobby-companion-3d{left:68%;top:40%}}.story-prop{position:absolute;opacity:.22;pointer-events:none;filter:saturate(.85);animation:story-prop-drift 7s ease-in-out infinite alternate}@keyframes story-prop-drift{0%{translate:0 0}to{translate:0 -7px}}@media(prefers-reduced-motion:reduce){.story-prop{animation:none}}.story-track{position:absolute;left:22px;bottom:14px;z-index:1;display:flex;gap:5px}.st-cell{width:34px;height:34px;border-radius:8px;position:relative;background:#fff9;border:2px solid color-mix(in srgb,var(--grape) 40%,transparent);display:grid;place-items:center;box-shadow:0 3px #3a2d4d1f}html[data-dark=on] .st-cell{background:#17143a99}.st-item{font-size:17px;display:inline-block}.scene-seek .st-cell{animation:st-hop 3.5s infinite;animation-delay:calc(var(--i) * .38s)}@keyframes st-hop{0%,10%,to{transform:none}4%{transform:translateY(-10px) scale(1.1)}}.scene-seek .st-cell:nth-child(5){animation:st-found 3.5s infinite}@keyframes st-found{0%,40%{transform:none;box-shadow:0 3px #3a2d4d1f}46%,66%{transform:translateY(-10px) scale(1.18);box-shadow:0 0 14px 4px #4ade80cc;border-color:var(--lime)}76%,to{transform:none;box-shadow:0 3px #3a2d4d1f}}.st-cursor{position:absolute;top:-30px;left:0;font-size:20px;animation:st-cursor 3.5s linear infinite}@keyframes st-cursor{0%{left:2px;opacity:1}57%{left:160px;opacity:1}63%,88%{left:160px;opacity:0}to{left:2px;opacity:1}}.st-ptr{position:absolute;top:-22px;font-size:15px;color:var(--grape)}.st-ptr-l{left:8px;animation:st-ptr-l 3.6s ease-in-out infinite}.st-ptr-r{right:8px;animation:st-ptr-r 3.6s ease-in-out infinite}@keyframes st-ptr-l{0%,10%{left:8px}48%,82%{left:106px}96%,to{left:8px}}@keyframes st-ptr-r{0%,10%{right:8px}48%,82%{right:106px}96%,to{right:8px}}.scene-pair .story-track:after{content:"✨";position:absolute;top:-34px;left:122px;opacity:0;font-size:18px;animation:st-spark 3.6s infinite}@keyframes st-spark{0%,50%{opacity:0;transform:scale(.4)}58%,74%{opacity:1;transform:scale(1.25)}86%,to{opacity:0;transform:scale(.4)}}.scene-order .st-cell:nth-child(odd){animation:st-swap-r 4s ease-in-out infinite;animation-delay:calc(var(--i) * .13s)}.scene-order .st-cell:nth-child(2n){animation:st-swap-l 4s ease-in-out infinite;animation-delay:calc(var(--i) * .13s)}@keyframes st-swap-r{0%,16%{transform:none}34%,58%{transform:translate(39px)}80%,to{transform:none}}@keyframes st-swap-l{0%,16%{transform:none}34%,58%{transform:translate(-39px)}80%,to{transform:none}}.scene-collect .st-item{animation:st-fly 4.2s ease-in infinite;animation-delay:calc(var(--i) * .5s)}@keyframes st-fly{0%,8%{transform:none;opacity:1}30%{transform:translate(150px,-78px) scale(.55);opacity:.95}34%,80%{transform:translate(168px,-88px) scale(.2);opacity:0}90%,to{transform:none;opacity:1}}.scene-flip .st-cell{animation:st-flipc 3.8s infinite;animation-delay:calc(var(--i) * .3s)}@keyframes st-flipc{0%,12%{transform:none}30%,46%{transform:rotateY(540deg);background:color-mix(in srgb,var(--sun) 45%,var(--panel))}62%,to{transform:rotateY(720deg)}}.st-window{position:absolute;top:-7px;bottom:-7px;left:-4px;width:118px;border:3px solid var(--sun);border-radius:11px;box-shadow:0 0 0 3px color-mix(in srgb,var(--sun) 30%,transparent),inset 0 0 12px #fbbf2440;animation:st-win 3.2s ease-in-out infinite alternate}@keyframes st-win{to{left:158px}}.story-grid{position:absolute;left:26px;bottom:12px;z-index:1;display:grid;grid-template-columns:repeat(4,34px);gap:4px}.sg-cell{width:34px;height:34px;border-radius:7px;background:#ffffff6b;border:2px solid color-mix(in srgb,var(--sky) 45%,transparent);display:grid;place-items:center;font-size:16px}html[data-dark=on] .sg-cell{background:#17143a80}.sg-walker{position:absolute;top:4px;left:6px;font-size:20px;z-index:2;filter:drop-shadow(0 3px 3px rgba(58,45,77,.35))}.sg-fill{opacity:0}.gmode-flood .sg-fill{animation:sg-paint 4.6s infinite;animation-delay:calc(var(--d) * .42s)}@keyframes sg-paint{0%,4%{opacity:0;transform:scale(.3)}12%,74%{opacity:1;transform:scale(1)}86%,to{opacity:0;transform:scale(.3)}}.gmode-flood .sg-cell{animation:sg-paint-bg 4.6s infinite;animation-delay:calc(var(--d) * .42s)}@keyframes sg-paint-bg{0%,4%{background:#ffffff6b}12%,74%{background:color-mix(in srgb,var(--lime) 30%,transparent);border-color:var(--lime)}86%,to{background:#ffffff6b}}.gmode-path .sg-walker{animation:sg-walk-path 4.6s ease-in-out infinite}@keyframes sg-walk-path{0%,6%{transform:translate(0);opacity:1}16%{transform:translate(38px)}26%{transform:translate(76px)}38%{transform:translate(76px,38px)}50%{transform:translate(114px,38px)}62%,74%{transform:translate(114px,76px);opacity:1}82%,92%{transform:translate(114px,76px);opacity:0}to{transform:translate(0);opacity:1}}.gmode-path .sg-on-path{animation:sg-trail 4.6s infinite;animation-delay:calc(var(--k) * .48s)}@keyframes sg-trail{0%,6%{background:#ffffff6b}14%,72%{background:color-mix(in srgb,var(--sun) 45%,transparent);border-color:var(--sun)}84%,to{background:#ffffff6b}}.gmode-spiralg .sg-walker{animation:sg-walk-spiral 7s linear infinite}@keyframes sg-walk-spiral{0%{transform:translate(0)}8%{transform:translate(38px)}16%{transform:translate(76px)}24%{transform:translate(114px)}32%{transform:translate(114px,38px)}40%{transform:translate(114px,76px)}48%{transform:translate(76px,76px)}56%{transform:translate(38px,76px)}64%{transform:translateY(76px)}72%{transform:translateY(38px)}80%{transform:translate(38px,38px)}88%,94%{transform:translate(76px,38px)}to{transform:translate(0)}}.sg-kernel{position:absolute;top:-3px;left:-3px;width:78px;height:78px;border:3px solid var(--bubble);border-radius:10px;box-shadow:0 0 10px #ff5fa280;animation:sg-kernel 4.8s steps(1,end) infinite}@keyframes sg-kernel{0%{transform:translate(0)}16%{transform:translate(38px)}33%{transform:translate(76px)}50%{transform:translateY(38px)}66%{transform:translate(38px,38px)}83%{transform:translate(76px,38px)}}.gmode-row .sg-row-mid{animation:sg-rowglow 3.6s infinite}@keyframes sg-rowglow{0%,18%{background:#ffffff6b}28%,78%{background:color-mix(in srgb,var(--grape) 32%,transparent);border-color:var(--grape)}92%,to{background:#ffffff6b}}.gmode-row .sg-walker{animation:sg-walk-row 3.6s ease-in-out infinite}@keyframes sg-walk-row{0%,18%{transform:translate(-26px,38px);opacity:0}26%{transform:translateY(38px);opacity:1}50%{transform:translate(57px,38px)}74%,84%{transform:translate(114px,38px);opacity:1}95%,to{transform:translate(114px,38px);opacity:0}}.gmode-scan .sg-cell{animation:sg-scan 3.9s infinite;animation-delay:calc(var(--i) * .18s)}@keyframes sg-scan{0%,6%,to{transform:none;background:#ffffff6b}3%{transform:scale(1.16);background:color-mix(in srgb,var(--sky) 45%,transparent)}}.gmode-scan .sg-walker{animation:sg-scan-walker 3.9s linear infinite}@keyframes sg-scan-walker{0%{transform:translate(0)}8%{transform:translate(38px)}16%{transform:translate(76px)}24%{transform:translate(114px)}33%{transform:translateY(38px)}41%{transform:translate(38px,38px)}49%{transform:translate(76px,38px)}57%{transform:translate(114px,38px)}66%{transform:translateY(76px)}74%{transform:translate(38px,76px)}82%{transform:translate(76px,76px)}90%,to{transform:translate(114px,76px)}}@media(prefers-reduced-motion:reduce){.st-cell,.st-item,.st-cursor,.st-ptr,.st-window,.sg-cell,.sg-fill,.sg-walker,.sg-kernel{animation:none!important}.sg-fill{opacity:1}}.story-stage{height:224px}.story-track{left:50%;top:44%;bottom:auto;transform:translate(-50%,-50%) scale(1.75);transform-origin:center}.story-grid{left:50%;top:47%;bottom:auto;transform:translate(-50%,-50%) scale(1.5);transform-origin:center}.story-goal{font-size:58px}.scene-spiral .story-goal{font-size:38px}.story-title-plate h2{font-size:26px}@media(max-width:700px){.story-stage{height:190px}.story-track{transform:translate(-50%,-50%) scale(1.15)}.story-grid{transform:translate(-50%,-50%) scale(1.08)}.story-goal{font-size:42px}}
