: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;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.problems-head h2{margin:4px 0;font-size:30px}.problems-head p{margin:0 0 6px;color:var(--muted);font-weight:600}.problems-search{position:relative;display:flex;align-items:center;flex:1 1 260px;min-width:220px;max-width:440px;margin-left:auto}.problems-search .ps-ico{position:absolute;left:14px;font-size:15px;opacity:.7;pointer-events:none}.ps-input{width:100%;padding:11px 38px 11px 40px;border-radius:999px;border:2px solid color-mix(in srgb,var(--grape) 30%,transparent);background:var(--panel);color:var(--ink);font-size:15px;font-weight:600;outline:none;caret-color:var(--ink);transition:border-color .15s,box-shadow .15s}.ps-input::placeholder{color:var(--muted);font-weight:500}.ps-input:focus{border-color:var(--grape);box-shadow:0 0 0 4px color-mix(in srgb,var(--grape) 18%,transparent)}.ps-input::-webkit-search-cancel-button{display:none}.ps-clear{position:absolute;right:8px;width:24px;height:24px;border:none;cursor:pointer;border-radius:50%;background:color-mix(in srgb,var(--grape) 16%,transparent);color:var(--grape);font-size:12px;line-height:1;display:grid;place-items:center}.ps-clear:hover{background:color-mix(in srgb,var(--grape) 28%,transparent)}.search-results{margin-top:6px}.search-count{color:var(--muted);font-weight:700;margin:6px 2px 14px}.search-empty{color:var(--muted);font-weight:600;padding:24px 2px}.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}html[data-dark=on] .thing-idx{color:#ded8ff;text-shadow:0 1px 2px rgba(0,0,0,.6)}html[data-dark=on] .ll-null,html[data-dark=on] .viz .muted{color:#cfc7f5}.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:88vh;display:flex;flex-direction:column;overflow:hidden;padding:0;box-shadow:0 24px 60px #0000004d}.legal-head{display:flex;align-items:center;gap:12px;padding:18px 20px;flex:0 0 auto;background:linear-gradient(180deg,color-mix(in srgb,var(--grape) 12%,#fff),#fff);border-bottom:1px solid color-mix(in srgb,var(--grape) 14%,transparent);transition:box-shadow .18s}.legal-head.is-stuck{box-shadow:0 8px 18px -10px #3c286e8c}.legal-emoji{font-size:26px;line-height:1}.legal-titles{flex:1;min-width:0}.legal-titles h2{margin:0;font-size:20px;color:var(--grape);line-height:1.15}.legal-titles span{font-size:12px;font-weight:700;color:var(--muted)}.legal-x{flex:0 0 auto;width:34px;height:34px;border-radius:50%;font-size:15px;font-weight:900;background:color-mix(in srgb,var(--grape) 10%,transparent);color:var(--grape)}.legal-x:hover{background:color-mix(in srgb,var(--grape) 20%,transparent)}.legal-body{flex:1 1 auto;overflow-y:auto;padding:4px 20px 18px;color:var(--ink);line-height:1.62;overscroll-behavior:contain}.legal-body:focus-visible{outline:2px solid var(--grape);outline-offset:-4px}.legal-body h3{font-size:15.5px;margin:22px 0 6px;color:var(--grape);scroll-margin-top:8px}.legal-body h3:first-child{margin-top:8px}.legal-body p{margin:9px 0;font-size:14px}.legal-body ul{margin:8px 0 12px;padding-left:18px}.legal-body li{font-size:14px;margin:5px 0;padding-left:2px}.legal-body li::marker{color:var(--grape)}.legal-body blockquote{margin:14px 0;padding:13px 16px;font-size:13.5px;line-height:1.6;background:color-mix(in srgb,var(--grape) 8%,#fff);border-left:4px solid var(--bubble);border-radius:12px}.legal-body hr{border:none;border-top:1px solid color-mix(in srgb,var(--grape) 16%,transparent);margin:18px 0}.legal-body em{color:var(--muted)}.legal-body a{color:var(--grape);font-weight:700;text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}.legal-jump{font:inherit;font-size:13px;font-weight:700;padding:3px 9px;margin:2px 1px;border-radius:999px;background:color-mix(in srgb,var(--grape) 10%,transparent);color:var(--grape);cursor:pointer}.legal-jump:hover{background:color-mix(in srgb,var(--grape) 20%,transparent)}.legal-foot{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px 14px;border-top:1px solid color-mix(in srgb,var(--grape) 14%,transparent);background:color-mix(in srgb,var(--grape) 5%,#fff)}.legal-contact{font-size:12.5px;font-weight:700;color:var(--muted);min-width:0;overflow-wrap:anywhere}.legal-contact a{color:var(--grape);text-decoration:underline;text-underline-offset:2px}.legal-done{flex:0 0 auto;font-family:inherit;font-weight:800;border:none;cursor:pointer;padding:10px 24px;border-radius:14px;background:linear-gradient(180deg,var(--bubble),var(--grape));color:#fff;box-shadow:0 4px #8b5cf659;transition:transform .08s,box-shadow .08s}.legal-done:active{transform:translateY(2px);box-shadow:0 2px #8b5cf659}@media(max-width:560px){.legal-card{width:96vw;max-height:92vh;border-radius:18px}.legal-head,.legal-body,.legal-foot{padding-left:15px;padding-right:15px}.legal-foot{flex-direction:column;align-items:stretch;text-align:center;gap:10px}.legal-done{width:100%}}html[data-dark=on] .legal-card{background:var(--panel);box-shadow:0 24px 60px #0009}html[data-dark=on] .legal-head{background:linear-gradient(180deg,color-mix(in srgb,var(--grape) 26%,var(--panel)),var(--panel));border-bottom-color:#ffffff1a}html[data-dark=on] .legal-head.is-stuck{box-shadow:0 8px 18px -10px #000c}html[data-dark=on] .legal-titles h2{color:#c4b5fd}html[data-dark=on] .legal-x{background:#ffffff1a;color:#ddd6fe}html[data-dark=on] .legal-body{color:var(--ink)}html[data-dark=on] .legal-body h3,html[data-dark=on] .legal-body a,html[data-dark=on] .legal-contact a{color:#c4b5fd}html[data-dark=on] .legal-body li::marker{color:#c4b5fd}html[data-dark=on] .legal-jump{background:#ffffff1a;color:#ddd6fe}html[data-dark=on] .legal-jump:hover{background:#ffffff2e}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}html[data-dark=on] .legal-foot{background:#ffffff0a;border-top-color:#ffffff1a}.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}}.toast-tappable{display:flex;align-items:center;gap:14px;cursor:pointer;font-family:inherit;color:var(--ink);text-align:left;border-color:var(--grape);padding-right:18px}.toast-tappable:hover{border-color:var(--bubble)}.toast-tappable:active{transform:translate(-50%,2px) scale(.99)}.toast-go{flex:0 0 auto;font-size:13px;font-weight:900;padding:6px 12px;border-radius:999px;background:linear-gradient(180deg,#a78bfa,var(--grape));color:#fff;white-space:nowrap}.trivia-card{max-width:480px;text-align:left}.trivia-head{font-weight:900;font-size:15px;color:var(--grape);margin-bottom:8px}.trivia-q{font-size:16px;font-weight:700;margin:0 0 14px;color:var(--ink);line-height:1.4}.trivia-choices{display:flex;flex-direction:column;gap:8px}.trivia-choice{display:flex;align-items:flex-start;gap:10px;text-align:left;width:100%;padding:11px 13px;border-radius:14px;font:inherit;font-size:14px;cursor:pointer;background:var(--panel-2);color:var(--ink);border:2px solid transparent;transition:transform .08s,border-color .15s,background .15s}.trivia-choice:not(:disabled):hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--grape) 40%,transparent)}.trivia-choice:disabled{cursor:default}.trivia-choice.right{background:#e7f9ec;border-color:#16a34a;color:#14532d;font-weight:700}.trivia-choice.wrong{background:#ffe4e8;border-color:#e11d48;color:#9f1239}.trivia-letter{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:12px;background:color-mix(in srgb,var(--grape) 18%,#fff);color:var(--grape)}.trivia-choice.right .trivia-letter{background:#16a34a;color:#fff}.trivia-choice.wrong .trivia-letter{background:#e11d48;color:#fff}.trivia-explain{margin:14px 0 4px;font-size:13.5px;line-height:1.5;padding:11px 13px;border-radius:12px}.trivia-explain.ok{background:color-mix(in srgb,#16a34a 12%,#fff);color:#14532d}.trivia-explain.no{background:var(--panel-2);color:var(--ink)}.trivia-continue{margin-top:14px;width:100%;border:none;cursor:pointer;font:inherit;font-weight:800;font-size:15px;padding:12px;border-radius:14px;color:#fff;background:linear-gradient(180deg,#a78bfa,var(--grape));box-shadow:0 4px #5b21b659;transition:transform .08s,opacity .2s}.trivia-continue:disabled{opacity:.45;cursor:default;box-shadow:none}.trivia-continue:not(:disabled):active{transform:translateY(2px)}html[data-dark=on] .trivia-choice.right{background:#12341f;color:#b7f3cd}html[data-dark=on] .trivia-choice.wrong{background:#3a1420;color:#ffd0da}html[data-dark=on] .trivia-explain.ok{background:#12341f;color:#b7f3cd}.lvlb{margin-top:18px}.lvlb>h4{display:flex;align-items:baseline;gap:8px;margin:0 0 10px}.lvlb-sub{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.lvlb-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.lvlb-col{background:var(--panel-2);border-radius:14px;padding:10px;border-top:4px solid var(--lv, var(--grape))}.lvlb-head{font-weight:800;font-size:13px;margin-bottom:8px;color:color-mix(in srgb,var(--lv) 78%,var(--ink));display:flex;align-items:center;gap:5px}.lvlb-emoji{font-size:15px}.lvlb-empty{font-size:12px;margin:6px 2px}.lvlb-row{display:flex;align-items:center;gap:7px;padding:5px 4px;border-radius:8px;font-size:13px;width:100%;border:none;background:none;font-family:inherit;color:inherit;text-align:left;transition:background .12s}.lvlb-row.click{cursor:pointer}.lvlb-row.click:hover{background:color-mix(in srgb,var(--lv) 14%,transparent)}.lvlb-row.you{background:color-mix(in srgb,var(--lv) 16%,transparent);font-weight:800}.lvlb-rank{flex:none;width:20px;text-align:center;font-weight:800}.lvlb-avatar{flex:none;font-size:17px;line-height:1}.lvlb-photo{flex:none;width:20px;height:20px;border-radius:50%;object-fit:cover}.lvlb-name{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:4px;line-height:1.2}.lvlb-nm{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lvlb-name .lb-bot{flex:none}.lvlb-count{flex:none;font-weight:900;color:color-mix(in srgb,var(--lv) 72%,var(--ink))}html[data-dark=on] .lvlb-count,html[data-dark=on] .lvlb-head{color:color-mix(in srgb,var(--lv) 55%,#ffffff)}@media(max-width:560px){.lvlb-cols{grid-template-columns:1fr}}.level-picker{display:flex;gap:8px;margin-bottom:16px}.level-tab{flex:1 1 0;display:flex;align-items:center;gap:9px;text-align:left;background:var(--panel-2);color:var(--ink);cursor:pointer;font:inherit;padding:8px 11px;border-radius:16px;border:2px solid color-mix(in srgb,var(--lv, var(--grape)) 30%,transparent);border-bottom-width:4px;transition:transform .1s,background .15s,box-shadow .1s,color .15s,border-color .15s}.level-num{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:13px;background:color-mix(in srgb,var(--lv, var(--grape)) 22%,#fff);color:color-mix(in srgb,var(--lv, var(--grape)) 82%,#2a2a2a)}.level-body{display:flex;flex-direction:column;line-height:1.15;min-width:0;flex:1 1 auto}.level-name{font-weight:800;font-size:14px;white-space:nowrap}.level-sub{font-size:11px;font-weight:700;color:var(--muted);white-space:nowrap;text-transform:uppercase;letter-spacing:.03em}.level-mult{flex:none;font-weight:900;font-size:12px;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--lv, var(--grape)) 16%,#fff);color:color-mix(in srgb,var(--lv, var(--grape)) 78%,#222)}.level-tab:hover{transform:translateY(-1px)}.level-tab:active{transform:translateY(2px);border-bottom-width:2px}.level-tab.active{background:linear-gradient(180deg,color-mix(in srgb,var(--lv) 76%,#fff),var(--lv));color:#fff;border-color:var(--lv);box-shadow:0 5px color-mix(in srgb,var(--lv) 55%,#000)}.level-tab.active .level-num{background:#ffffffeb;color:color-mix(in srgb,var(--lv) 80%,#333)}.level-tab.active .level-sub{color:#ffffffe6}.level-tab.active .level-mult{background:#ffffffeb;color:color-mix(in srgb,var(--lv) 78%,#222)}html[data-dark=on] .level-num{background:color-mix(in srgb,var(--lv) 34%,#1c1840);color:#fff}html[data-dark=on] .level-mult{background:color-mix(in srgb,var(--lv) 26%,#1c1840);color:#fff}@media(max-width:620px){.level-tab{flex-direction:column;align-items:center;gap:3px;padding:8px 5px;text-align:center}.level-sub{display:none}.level-name{font-size:12px}.level-mult{font-size:11px}}.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;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.gf-progress{font-size:12px;font-weight:800;color:var(--muted);background:color-mix(in srgb,var(--ink) 8%,transparent);padding:3px 10px;border-radius:999px}.gf-more{margin-left:auto;font:inherit;font-weight:800;font-size:12.5px;cursor:pointer;padding:6px 13px;border-radius:999px;border:none;white-space:nowrap;background:linear-gradient(180deg,#a78bfa,var(--grape));color:#fff;box-shadow:0 3px #6d28d9;transition:transform .08s,box-shadow .08s}.gf-more:active{transform:translateY(2px);box-shadow:0 1px #6d28d9}html[data-dark=on] .gf-progress{background:#ffffff1a}@media(max-width:560px){.gf-more{margin-left:0;width:100%;text-align:center}}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:.55;cursor:not-allowed}.acct-save:disabled:active{transform:none;box-shadow:0 5px #6d28d9}.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-welcome{margin:2px 0 10px;font-size:14px;color:var(--muted);font-weight:600}.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}.fillblanks{display:flex;flex-direction:column;gap:12px;--catc: #8b5cf6}.fillblanks.diff-easy{--catc: #4ade80}.fillblanks.diff-medium{--catc: #f59e0b}.fillblanks.diff-hard{--catc: #fb7185}.fb-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.fb-hint{font-weight:700;color:var(--ink);font-size:14px}.fb-ctrl-right{display:flex;align-items:center;gap:10px}.fb-progress{font-weight:800;color:var(--grape);font-size:13px;background:var(--panel-2);padding:4px 11px;border-radius:999px}.fb-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;line-height:2.15;background:#fffdf8;color:#3a2d4d;border:3px solid color-mix(in srgb,var(--catc) 30%,#fff);border-radius:18px;padding:14px 16px;overflow-x:auto;box-shadow:0 6px #3a2d4d14}.fb-line{white-space:pre}.fb-t.num{color:#d9480f}.fb-t.kw{color:#7048e8;font-weight:700}.fb-t.op{color:#868e96}.fb-ws{white-space:pre}.fb-blank{display:inline-flex;align-items:center;justify-content:center;vertical-align:baseline;height:1.75em;padding:0 6px;margin:0 1px;font:inherit;cursor:pointer;border-radius:7px;border:2px dashed color-mix(in srgb,var(--catc) 55%,#b8b0c8);background:color-mix(in srgb,var(--catc) 8%,#fff);color:#3a2d4d;transition:transform .08s,background .15s,border-color .15s}.fb-blank:hover{transform:translateY(-1px)}.fb-blank.ok{border-style:solid;border-color:#16a34a;background:#e7f9ec;color:#14532d;font-weight:700}.fb-blank.bad{border-style:solid;border-color:#e11d48;background:#ffe4e8;color:#9f1239;font-weight:700;animation:fbShake .3s ease}@keyframes fbShake{25%{transform:translate(-3px)}75%{transform:translate(3px)}}.fb-tray{background:var(--panel-2);border-radius:16px;padding:12px}.fb-tray-label{font-size:12px;font-weight:700;color:var(--muted);margin-bottom:8px}.fb-tray-chips{display:flex;flex-wrap:wrap;gap:8px}.fb-chip{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;font-weight:700;cursor:pointer;padding:7px 13px;border-radius:10px;border:none;background:linear-gradient(180deg,#fff,#f0ebff);color:#3a2d4d;box-shadow:0 3px #3a2d4d29;transition:transform .08s}.fb-chip:hover{transform:translateY(-2px)}.fb-chip:active{transform:translateY(1px)}.fb-chip.held{background:linear-gradient(180deg,var(--bubble),var(--grape));color:#fff;box-shadow:0 0 0 2px #fff,0 3px #8b5cf666;transform:translateY(-2px)}.fb-actions{display:flex;gap:10px;flex-wrap:wrap}.fillblanks.heat-warm .fb-code{animation:heatGlowWarm 1.5s ease-in-out infinite}.fillblanks.heat-fire .fb-code{animation:heatGlowFire 1.1s ease-in-out infinite}.fillblanks.heat-warm .fb-chip{box-shadow:0 3px #3a2d4d29,0 0 10px #ffd678b3}.fillblanks.heat-fire .fb-chip{box-shadow:0 3px #3a2d4d29,0 0 12px #ff5a37cc}@media(prefers-reduced-motion:reduce){.fillblanks.heat-warm .fb-code,.fillblanks.heat-fire .fb-code{animation:none}}.fb-floating-chip{position:fixed;z-index:1300;pointer-events:none;transform:translate(-50%,22px);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;font-weight:700;padding:7px 13px;border-radius:10px;background:linear-gradient(180deg,var(--bubble),var(--grape));color:#fff;box-shadow:0 0 0 2px #fff,0 8px 16px #3a2d4d66;animation:jpLift .12s ease-out}html[data-dark=on] .fb-code{background:#14112f;color:#ece9ff;border-color:color-mix(in srgb,var(--catc) 40%,#2a2550)}html[data-dark=on] .fb-t.num{color:#ffb37a}html[data-dark=on] .fb-t.kw{color:#c3a6ff}html[data-dark=on] .fb-t.op{color:#9a93c0}html[data-dark=on] .fb-blank{background:color-mix(in srgb,var(--catc) 16%,#1c1840);color:#ece9ff;border-color:color-mix(in srgb,var(--catc) 45%,#3a3560)}html[data-dark=on] .fb-blank.ok{background:#12341f;border-color:#34d399;color:#b7f3cd}html[data-dark=on] .fb-blank.bad{background:#3a1420;border-color:#fb7185;color:#ffd0da}html[data-dark=on] .fb-chip{background:linear-gradient(180deg,#2a2550,#201c49);color:#ece9ff;box-shadow:0 3px #00000059}.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}.jp-deck-top{filter:drop-shadow(0 6px 9px rgba(58,45,77,.3))}.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;box-shadow:0 6px 10px #3a2d4d38;transition:opacity .12s;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}@keyframes heatGlowWarm{0%,to{filter:drop-shadow(0 0 10px rgba(255,214,120,.45))}50%{filter:drop-shadow(0 0 20px rgba(255,224,138,.85))}}@keyframes heatGlowFire{0%,to{filter:drop-shadow(0 0 12px rgba(255,110,60,.55))}50%{filter:drop-shadow(0 0 22px rgba(255,72,40,.95))}}.jigsaw.heat-warm .jp-board{animation:heatGlowWarm 1.5s ease-in-out infinite}.jigsaw.heat-fire .jp-board{animation:heatGlowFire 1.1s ease-in-out infinite}.jigsaw.heat-warm .jp-deck-top,.jp-floating.heat-warm{animation:heatGlowWarm 1.4s ease-in-out infinite}.jigsaw.heat-fire .jp-deck-top,.jp-floating.heat-fire{animation:heatGlowFire 1s ease-in-out infinite}.jp-held-dock.heat-warm{animation:jpHeldDock 1.7s ease-in-out infinite,heatGlowWarm 1.4s ease-in-out infinite}.jp-held-dock.heat-fire{animation:jpHeldDock 1.7s ease-in-out infinite,heatGlowFire 1s ease-in-out infinite}@media(hover:hover)and (pointer:fine){.jigsaw.heat-warm .jp-slot.right .jp-tile{filter:drop-shadow(0 0 6px rgba(255,220,130,.8))}.jigsaw.heat-fire .jp-slot.right .jp-tile{filter:drop-shadow(0 0 7px rgba(255,90,55,.9))}}@media(prefers-reduced-motion:reduce){.jigsaw.heat-warm .jp-board,.jigsaw.heat-fire .jp-board,.jigsaw.heat-warm .jp-deck-top,.jigsaw.heat-fire .jp-deck-top,.jp-floating.heat-warm,.jp-floating.heat-fire,.jp-held-dock.heat-warm,.jp-held-dock.heat-fire{animation:none}}.heat-arrow{position:fixed;z-index:1450;pointer-events:none;transform-origin:0 0;will-change:transform,left,top}.heat-arrow svg{position:absolute;left:0;top:-13px;overflow:visible}.heat-arrow .ha-shaft{stroke-linecap:round;fill:none}.heat-arrow.warm .ha-shaft{stroke:#ffd23f;stroke-width:6}.heat-arrow.warm .ha-head{fill:#ffca28}.heat-arrow.warm{filter:drop-shadow(0 0 7px rgba(255,204,90,.85));opacity:1;animation:heatArrowPulse 1s ease-in-out infinite}.heat-arrow.fire .ha-shaft{stroke:#ff6a3c;stroke-width:7}.heat-arrow.fire .ha-head{fill:#ff4a28}.heat-arrow.fire{filter:drop-shadow(0 0 9px rgba(255,80,45,.95));animation:heatArrowPulse .7s ease-in-out infinite}@keyframes heatArrowPulse{0%,to{opacity:.8}50%{opacity:1}}.heat-banner{position:fixed;top:11%;left:50%;z-index:1500;pointer-events:none;transform:translate(-50%);white-space:nowrap;text-align:center;animation:heatBanner 1.9s cubic-bezier(.2,.9,.3,1.2) forwards}.heat-banner-text{position:relative;display:inline-block;font-family:inherit;font-weight:900;font-style:italic;font-size:clamp(40px,9vw,96px);line-height:1;letter-spacing:1px;text-transform:uppercase;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.heat-banner.warm .heat-banner-text{background-image:linear-gradient(180deg,#fff3b0,#ffd23f 45%,#ff9e2c);filter:drop-shadow(0 3px 0 rgba(180,110,10,.35)) drop-shadow(0 0 18px rgba(255,204,90,.7))}.heat-banner.fire .heat-banner-text{background-image:linear-gradient(180deg,#ffe07a,#ff8a3c 40%,#ff3b2f);filter:drop-shadow(0 3px 0 rgba(150,20,10,.4)) drop-shadow(0 0 22px rgba(255,80,40,.85))}.heat-banner-text:before{content:attr(data-text);position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;-webkit-text-fill-color:transparent;color:transparent;-webkit-text-stroke:3px rgba(30,12,40,.55)}@keyframes heatBanner{0%{opacity:0;transform:translate(-50%) translateY(14px) scale(.6)}16%{opacity:1;transform:translate(-50%) translateY(0) scale(1.12)}28%{transform:translate(-50%) translateY(0) scale(1)}70%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}to{opacity:0;transform:translate(-50%) translateY(-26px) scale(1.04)}}@media(prefers-reduced-motion:reduce){.heat-banner{animation:heatBannerFade 1.9s ease forwards}@keyframes heatBannerFade{0%,70%{opacity:1}to{opacity:0}}}.heat-ring{position:fixed;z-index:1440;pointer-events:none;border-radius:9px;box-sizing:border-box}.heat-ring.warm{box-shadow:0 0 0 2px #ffdc82bf,0 0 14px #ffd67899;animation:heatRingFade 1.9s ease-in-out infinite}.heat-ring.fire{box-shadow:0 0 0 3px #ff5a37f2,0 0 20px #ff4828bf;animation:heatRingPulse .8s ease-in-out infinite}@keyframes heatRingPulse{0%,to{transform:scale(1);opacity:.85}50%{transform:scale(1.06);opacity:1}}@keyframes heatRingFade{0%{opacity:0;transform:scale(.94)}35%{opacity:1;transform:scale(1.04)}55%{opacity:1;transform:scale(1.04)}to{opacity:0;transform:scale(.94)}}@media(prefers-reduced-motion:reduce){.heat-arrow.warm,.heat-arrow.fire,.heat-ring.warm,.heat-ring.fire{animation:none}}.heat-vignette{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1435;pointer-events:none;animation:heatVignette 1.1s ease-in-out infinite}@keyframes heatVignette{0%,to{box-shadow:inset 0 0 110px 16px #ff501e5c,inset 0 0 36px #ff8c2847}50%{box-shadow:inset 0 0 150px 30px #ff46198a,inset 0 0 60px #ff96326b}}.board-shake{animation:heatShake .46s cubic-bezier(.36,.07,.19,.97)}@keyframes heatShake{10%{transform:translate(-3px,1px) rotate(-.4deg)}25%{transform:translate(4px,-2px) rotate(.5deg)}40%{transform:translate(-5px,2px) rotate(-.5deg)}55%{transform:translate(4px,1px) rotate(.4deg)}70%{transform:translate(-3px,-1px) rotate(-.3deg)}85%{transform:translate(2px,1px) rotate(.2deg)}to{transform:translate(0) rotate(0)}}.heat-embers,.heat-mult-pops{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1455;pointer-events:none}.heat-ember{position:fixed;width:7px;height:7px;border-radius:50%;animation:heatEmber .72s ease-out forwards}.heat-ember.warm{background:radial-gradient(circle,#fff0a8,#ffbf3a);box-shadow:0 0 8px #ffc850e6}.heat-ember.fire{background:radial-gradient(circle,#ffd28a,#ff4a1e);box-shadow:0 0 9px #ff5a28f2}@keyframes heatEmber{0%{opacity:1;transform:translate(-50%,-50%) translate(0) scale(1)}to{opacity:0;transform:translate(-50%,-50%) translate(var(--dx),var(--dy)) scale(.3)}}.heat-mult-pop{position:fixed;font-weight:900;font-style:italic;font-size:22px;color:#ffca28;text-shadow:0 2px 0 rgba(120,60,0,.5),0 0 12px rgba(255,180,60,.85);animation:heatMultPop .9s ease-out forwards}@keyframes heatMultPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}25%{opacity:1;transform:translate(-50%,-50%) translateY(-6px) scale(1.15)}to{opacity:0;transform:translate(-50%,-50%) translateY(-46px) scale(1)}}@media(prefers-reduced-motion:reduce){.heat-vignette,.board-shake,.heat-ember,.heat-mult-pop{animation-duration:.01ms}}.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) 22%,#3a3560);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;position:relative}.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-card.affordable{border-color:var(--sun, #f59e0b);box-shadow:0 0 0 3px color-mix(in srgb,var(--sun, #f59e0b) 26%,transparent)}.store-card.affordable:after{content:"⚛️";position:absolute;top:-8px;right:-6px;font-size:13px;line-height:1;padding:3px;border-radius:50%;background:var(--panel);box-shadow:0 2px 6px #00000038;animation:affordPulse 2.4s ease-in-out infinite}.store-card.affordable.selected{border-color:var(--sky, #38bdf8)}.store-card.affordable.equipped{border-color:var(--grape)}@keyframes affordPulse{0%,to{transform:scale(1)}50%{transform:scale(1.16)}}@media(prefers-reduced-motion:reduce){.store-card.affordable:after{animation:none}}.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}.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{background:#f3e6d0}html[data-dark=on] .lobby{background:#14102a}.beach-room{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none}.lobby-canvas{z-index:1;background:transparent}.lobby-ui{z-index:2}.br-wall{position:absolute;left:0;right:0;top:0;height:66%;background:repeating-linear-gradient(180deg,rgba(150,110,70,.1) 0 1px,transparent 1px 30px),linear-gradient(180deg,#f6e7cf,#efdcbc 70%,#e6cfa8);box-shadow:inset 0 -18px 26px -14px #78502847}.br-floor{position:absolute;left:0;right:0;bottom:0;height:34%;background:linear-gradient(180deg,rgba(90,55,20,.28) 0%,rgba(90,55,20,.05) 14%,transparent 34%),repeating-linear-gradient(90deg,#caa06f 0,#caa06f 54px,#bd9160 54px,#bd9160 57px,#d1a878 57px,#d1a878 111px);box-shadow:inset 0 10px 20px #5a371438}.br-baseboard{position:absolute;left:0;right:0;bottom:34%;height:18px;background:linear-gradient(180deg,#fff6e8,#ecd9bd);box-shadow:0 3px 6px #5a371438}.br-window{position:absolute;top:13%;height:42%;width:15%;border-radius:10px 10px 4px 4px;border:9px solid #fff8ee;box-shadow:0 12px 30px #5a78964d,inset 0 0 0 2px #ffffff80;background:linear-gradient(180deg,#bfe6ff,#dff2ff 52%,#86caea 53%,#4ea6cf);overflow:hidden}.br-w1{left:8%}.br-w3{right:9%}.br-sea{position:absolute;left:0;right:0;top:53%;bottom:0;background:repeating-linear-gradient(180deg,rgba(255,255,255,.22) 0 3px,transparent 3px 10px)}.br-sun{position:absolute;top:14%;left:52%;transform:translate(-50%);width:44px;height:44px;border-radius:50%;background:radial-gradient(circle,#fff6d0,#ffe58a 55%,#ffe58a00 72%)}.br-mullion-v{position:absolute;top:0;bottom:0;left:50%;width:5px;margin-left:-2.5px;background:#fff8ee}.br-mullion-h{position:absolute;left:0;right:0;top:50%;height:5px;margin-top:-2.5px;background:#fff8ee}.br-beam{position:absolute;top:0;width:24%;height:108%;background:linear-gradient(180deg,rgba(255,244,200,.55),rgba(255,240,190,.05) 70%,transparent);filter:blur(7px);transform-origin:top center;opacity:.8;animation:br-beam-sway 9s ease-in-out infinite alternate}.br-b1{left:9%;transform:rotate(10deg)}.br-b2{right:12%;transform:rotate(-12deg);animation-delay:-4s}@keyframes br-beam-sway{0%{opacity:.45}to{opacity:.9}}.br-pendant{position:absolute;top:0;left:50%;width:2px;height:20%;margin-left:-1px;background:#7a6a4a}.br-pendant-bulb{position:absolute;bottom:-20px;left:50%;transform:translate(-50%);width:40px;height:34px;border-radius:0 0 24px 24px;background:linear-gradient(180deg,#d9b25e,#b98f3d)}.br-pendant-bulb:after{content:"";position:absolute;bottom:2px;left:50%;transform:translate(-50%);width:16px;height:12px;border-radius:50%;background:radial-gradient(circle,#fff6cf,#ffd873);box-shadow:0 8px 40px 14px #ffdc7859}.br-frame{position:absolute;top:18%;left:33%;width:92px;height:72px;border:6px solid #fff6e8;border-radius:4px;background:linear-gradient(180deg,#ffd9a0,#ffb36b 46%,#6fc2d8 47%,#3a92b6);box-shadow:0 8px 16px #5a371440}.br-frame:after{content:"🌴";position:absolute;bottom:2px;right:6px;font-size:22px;opacity:.8}.br-shelf{position:absolute;top:30%;right:30%;width:120px;height:8px;background:linear-gradient(180deg,#d8b98a,#b98f5d);box-shadow:0 6px 10px #5a371447}.br-trinket{position:absolute;bottom:8px;border-radius:50% 50% 40% 40%}.br-t1{left:8px;width:16px;height:22px;background:#6fc2d8;border-radius:50%}.br-t2{left:44px;width:20px;height:16px;background:#e2607a;border-radius:6px}.br-t3{right:10px;width:14px;height:26px;background:#4fae6a;border-radius:8px 8px 3px 3px}.br-surfboard{position:absolute;right:3%;bottom:28%;width:42px;height:226px;transform:rotate(12deg);background:linear-gradient(180deg,#ff8fab,#ffb347 34%,#ffe66d,#8ee06a 70%,#6fd0e0 86%,#6fa8f0);clip-path:path("M21 2 C 31 7, 41 42, 41 96 C 41 156, 35 206, 21 224 C 7 206, 1 156, 1 96 C 1 42, 11 7, 21 2 Z");filter:drop-shadow(0 12px 16px rgba(0,0,0,.24))}.br-surfboard:after{content:"";position:absolute;top:10px;bottom:10px;left:50%;width:2px;margin-left:-1px;background:#fff9}.br-garland{position:absolute;top:6%;left:4%;right:22%;height:22px;background:repeating-linear-gradient(90deg,#ff6b8a 0 14px,transparent 14px 16px,#ffd23f 16px 30px,transparent 30px 32px,#4fae6a 32px 46px,transparent 46px 48px,#5b8def 48px 62px,transparent 62px 64px);-webkit-mask:repeating-linear-gradient(90deg,#000 0 16px,transparent 16px 18px);clip-path:polygon(0 0,100% 0,100% 30%,96% 100%,92% 30%,88% 30%,84% 100%,80% 30%,76% 30%,72% 100%,68% 30%,64% 30%,60% 100%,56% 30%,52% 30%,48% 100%,44% 30%,40% 30%,36% 100%,32% 30%,28% 30%,24% 100%,20% 30%,16% 30%,12% 100%,8% 30%,4% 30%,0 100%);opacity:.92}html[data-dark=on] .br-wall{background:repeating-linear-gradient(180deg,rgba(0,0,0,.16) 0 1px,transparent 1px 30px),linear-gradient(180deg,#241d3f,#1d1734 70%,#171128);box-shadow:inset 0 -18px 26px -14px #00000080}html[data-dark=on] .br-floor{background:linear-gradient(180deg,rgba(0,0,0,.4) 0%,rgba(0,0,0,.1) 16%,transparent 34%),repeating-linear-gradient(90deg,#2f2317 0,#2f2317 54px,#281d13 54px,#281d13 57px,#34281b 57px,#34281b 111px);box-shadow:inset 0 10px 22px #00000073}html[data-dark=on] .br-baseboard{background:linear-gradient(180deg,#3a2f22,#241a12);box-shadow:0 3px 6px #0006}html[data-dark=on] .br-window{border-color:#2a2440;box-shadow:0 12px 30px #0000008c,inset 0 0 0 2px #ffffff0f;background:linear-gradient(180deg,#1b2a4a,#24365e 52%,#16243f 53%,#0e1830)}html[data-dark=on] .br-mullion-v,html[data-dark=on] .br-mullion-h{background:#2a2440}html[data-dark=on] .br-sun{background:radial-gradient(circle,#f4f7ff,#cdd8f0 55%,#cdd8f000 74%);top:12%}html[data-dark=on] .br-beam{display:none}html[data-dark=on] .br-frame{filter:brightness(.55)}html[data-dark=on] .br-garland{opacity:.35}html[data-dark=on] .br-surfboard{filter:brightness(.55) drop-shadow(0 12px 16px rgba(0,0,0,.45))}html[data-dark=on] .br-pendant-bulb:after{box-shadow:0 8px 44px 16px #ffd26e47}@media(prefers-reduced-motion:reduce){.br-beam{animation:none}}@media(max-width:700px){.br-window{width:22%}.br-frame,.br-shelf{display:none}}.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-join-toast{position:fixed;left:50%;top:16px;transform:translate(-50%);z-index:1600;cursor:pointer;padding:11px 20px;border-radius:999px;background:linear-gradient(180deg,#34d399,#10b981);color:#04241a;font-weight:800;font-size:14px;box-shadow:0 10px 30px #10b98173;animation:coopToastIn .35s ease both}@keyframes coopToastIn{0%{opacity:0;transform:translate(-50%) translateY(-14px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.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-skip{display:block;margin:12px auto 0;border:none;cursor:pointer;font:inherit;font-weight:700;font-size:13px;color:var(--muted);background:none;padding:6px 10px;border-radius:10px;text-decoration:underline;text-underline-offset:3px;transition:color .15s ease,background .15s ease}.story-skip:hover{color:var(--grape);background:color-mix(in srgb,var(--grape) 10%,transparent)}.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%;top:50%;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}.lobby-play{display:none}@media(max-width:820px){.lobby-play{pointer-events:auto;display:flex;align-items:center;gap:11px;width:100%;font:inherit;text-align:left;cursor:pointer;border:none;padding:12px 14px;border-radius:18px;color:#fff;background:linear-gradient(180deg,#a78bfa,var(--grape));box-shadow:0 5px #6d28d9,0 10px 24px #3c1e7857;transition:transform .08s,box-shadow .08s}.lobby-play:active{transform:translateY(3px);box-shadow:0 2px #6d28d9,0 6px 16px #3c1e784d}.lobby-play-emoji{font-size:27px;line-height:1}.lobby-play-text{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.lobby-play-text b{font-size:16.5px;font-weight:900}.lobby-play-text span{font-size:12.5px;opacity:.86}.lobby-play-go{font-size:20px;font-weight:900;opacity:.9}}.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}}@media(max-width:820px){.topbar{position:fixed;top:0;left:0;right:0;z-index:40;padding-top:calc(10px + env(safe-area-inset-top,0px))}.app{padding-top:calc(58px + env(safe-area-inset-top,0px))}}.story-stage{height:168px}.story-track{transform:translate(-50%,-50%) scale(1.3)}.story-grid{transform:translate(-50%,-50%) scale(1.05)}.story-goal{font-size:44px}.scene-spiral .story-goal{font-size:32px}.story-title-plate h2{font-size:22px}@media(max-width:700px){.story-stage{height:138px}.story-track{transform:translate(-50%,-50%) scale(.95)}.story-grid{transform:translate(-50%,-50%) scale(.85)}.story-goal{font-size:34px}}.cat-nav{position:sticky;top:62px;z-index:6;padding:10px 2px;margin:0 -4px 8px;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none}.cat-nav::-webkit-scrollbar{display:none}.cat-chip{scroll-snap-align:center;flex:0 0 auto}html[data-dark=on] .cat-nav{background:color-mix(in srgb,var(--bg) 88%,transparent)}.cat-list-top{scroll-margin-top:118px;height:0}.path{scroll-margin-top:118px}.to-top{display:none;position:fixed;right:14px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:30;width:46px;height:46px;border-radius:50%;border:0;cursor:pointer;font-size:20px;font-weight:900;color:#fff;background:linear-gradient(135deg,var(--grape),var(--bubble));box-shadow:0 6px 16px #3a2d4d59}.to-top:active{transform:translateY(2px)}@media(max-width:820px){.cat-nav{top:calc(56px + env(safe-area-inset-top,0px))}.cat-list-top,.path{scroll-margin-top:calc(112px + env(safe-area-inset-top,0px))}.to-top{display:grid;place-items:center}.home.problems-only{padding:12px 12px 30px}.problems-head h2{font-size:24px}.path{padding:4px 10px 12px;margin-bottom:16px;border-radius:18px}.path-head{gap:10px;padding:10px;margin:4px 0 12px;border-radius:14px}.path-head h3{font-size:17px}.path-blurb{display:none}.path-emoji{font-size:26px}.puzzle-card{padding:14px;border-radius:18px}.puzzle-card:hover{transform:none}.puzzle-card:active{transform:scale(.97);box-shadow:0 3px #3a2d4d1f}.puzzle-card h3{font-size:16px;margin:8px 0 4px}.card-blurb{font-size:12.5px;line-height:1.4}}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.path.single{border:0;background:none;box-shadow:none;padding:0 0 10px;margin-bottom:8px}.path-head.compact{justify-content:flex-end;gap:10px;background:none;padding:0 2px 4px;margin:0 0 10px}@media(max-width:820px){.path-head.compact{padding:0 2px 2px;margin:0 0 8px}}@media(max-width:700px){.path-head{display:grid;align-items:center;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"emoji meta" "prog  cont";gap:8px 10px;padding:10px 12px}.path-emoji{grid-area:emoji;width:38px;height:38px;flex-basis:auto;font-size:21px}.path-meta{grid-area:meta;min-width:0}.path-head h3{font-size:16px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.path-progress{grid-area:prog;justify-self:start;display:flex;align-items:baseline;gap:5px;padding:5px 11px;border-radius:999px;box-shadow:0 3px color-mix(in srgb,var(--cat) 22%,transparent)}.path-count{display:inline;font-size:15px}.path-count-label{font-size:9.5px}.path-continue{grid-area:cont;justify-self:end;padding:8px 14px;font-size:13.5px}.path-head.compact{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:0 2px 2px}}.store-topbar{position:relative}.store-badge{background:var(--lime);color:#14532d;animation:store-badge-pop .4s ease}@keyframes store-badge-pop{0%{transform:scale(0)}60%{transform:scale(1.25)}to{transform:scale(1)}}.menu-station{position:relative}.modal{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-padding-top:8px}.modal-overlay{overscroll-behavior:contain;touch-action:manipulation}.modal button:focus-visible,.modal input:focus-visible,.modal select:focus-visible,.modal a:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:10px}@media(max-width:700px){.modal-overlay{place-items:end center;padding:0}.modal{width:100%;max-width:none;max-height:92dvh;border-radius:26px 26px 0 0;border-width:4px 0 0 0;padding:26px 16px calc(22px + env(safe-area-inset-bottom,0px));box-shadow:0 -18px 50px #3a2d4d73;animation:sheetUp .28s cubic-bezier(.2,.8,.2,1)}@keyframes sheetUp{0%{transform:translateY(100%)}}.modal:before{content:"";position:sticky;top:-6px;z-index:7;display:block;width:44px;height:5px;margin:-14px auto 12px;border-radius:99px;background:color-mix(in srgb,var(--muted) 45%,transparent)}.modal-x{top:10px;right:10px;width:42px;height:42px;font-size:19px}.modal h2{font-size:22px;padding-right:48px}.modal .shop-buy,.modal .shop-equip,.modal .cs-start,.modal .login-submit,.modal .upgrade-cta{min-height:46px}.store-modal .store-layout{grid-template-columns:1fr}.store-modal .store-stage-panel{position:static}.store-modal .store-stage{height:210px}.locker-grid.store-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px}.store-card{padding:10px 8px}.locker-emoji{font-size:30px}.shop-label{font-size:12px}.lb-modal-card{padding-left:12px;padding-right:12px}}@media(prefers-reduced-motion:reduce){.modal{animation:none}}@media(max-width:700px){.modal input,.modal select,.modal textarea{font-size:16px;min-height:46px;border-radius:14px}.modal input:focus{scroll-margin-bottom:140px}}.lobby-emote{position:absolute;left:50%;top:34%;transform:translate(-50%,-50%);font-size:clamp(34px,6vw,54px);pointer-events:none;z-index:3;filter:drop-shadow(0 6px 8px rgba(0,0,0,.35));animation:lobby-emote 1.5s ease-out forwards}@keyframes lobby-emote{0%{opacity:0;transform:translate(-50%,-30%) scale(.3) rotate(-12deg)}18%{opacity:1;transform:translate(-50%,-60%) scale(1.2) rotate(6deg)}32%{transform:translate(-50%,-58%) scale(1) rotate(-3deg)}to{opacity:0;transform:translate(-50%,-120%) scale(.95) rotate(2deg)}}.lobby-canvas,.lobby-canvas:active{cursor:pointer}@media(prefers-reduced-motion:reduce){.lobby-emote{animation-duration:.8s}}.jp-ctrl-right .coop-start{height:34px;display:inline-flex;align-items:center;gap:5px;font-size:12.5px;padding:0 13px;border-radius:13px}.puzzle-cta{justify-content:center;text-align:center}@media(max-width:700px){.jp-ctrl-right{flex-wrap:wrap;justify-content:flex-end;gap:6px}.jp-ctrl-right .coop-start{height:32px;font-size:12px;padding:0 11px}.jp-ctrl-right .coop-full{display:inline}}.login-perks{list-style:none;margin:0 0 20px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;text-align:left;background:var(--panel-2);border-radius:16px;border:2px solid color-mix(in srgb,var(--grape) 18%,transparent)}.login-perks li{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;color:var(--ink)}.login-perks li span{font-size:18px;line-height:1}html[data-dark=on] .login-perks{border-color:#a78bfa47}@media(max-width:700px){.login-perks{margin-bottom:14px;padding:10px 12px;gap:6px}.login-perks li{font-size:13px}}@media(max-width:700px){.puzzle-cta{display:none}}.gl-wrap{position:relative;display:inline}.gl-term{display:inline;padding:0;margin:0;border:0;cursor:help;font:inherit;color:inherit;background:none;text-decoration:underline dotted;text-decoration-color:color-mix(in srgb,var(--grape) 70%,transparent);text-underline-offset:3px;text-decoration-thickness:2px;transition:color .12s,background .12s;border-radius:4px}.gl-term:hover,.gl-term.open{color:var(--grape);background:color-mix(in srgb,var(--grape) 12%,transparent)}html[data-dark=on] .gl-term:hover,html[data-dark=on] .gl-term.open{color:#c4b5fd}.gl-pop{position:fixed;z-index:200;display:flex;flex-direction:column;gap:7px;width:300px;max-width:calc(100vw - 20px);padding:14px 16px;border-radius:16px;background:var(--panel);color:var(--ink);border:2px solid color-mix(in srgb,var(--grape) 35%,transparent);box-shadow:0 16px 40px #3a2d4d57;font-size:14px;font-weight:600;line-height:1.5;text-align:left;animation:gl-pop-in .16s ease-out;cursor:default}@keyframes gl-pop-in{0%{opacity:0;transform:translateY(-4px)}}.gl-pop-title{font-size:15px;font-weight:900;color:var(--grape)}html[data-dark=on] .gl-pop-title{color:#c4b5fd}.gl-pop-def{color:var(--ink)}.gl-pop-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:2px}.gl-pop-more{font-size:13px;font-weight:800;color:var(--sky);text-decoration:none}.gl-pop-more:hover{text-decoration:underline}.gl-pop-close{border:0;cursor:pointer;font:inherit;font-size:13px;font-weight:800;color:#fff;background:var(--grape);border-radius:10px;padding:7px 14px}.gl-pop-close:active{transform:translateY(1px)}.gl-pop.phone{left:10px;right:10px;top:auto;bottom:calc(14px + env(safe-area-inset-bottom,0px));width:auto;max-width:none;box-shadow:0 -12px 44px #3a2d4d73;animation:gl-pop-up .2s ease-out}@keyframes gl-pop-up{0%{opacity:0;transform:translateY(12px)}}@media(max-width:700px){.gl-term{cursor:pointer}}@media(prefers-reduced-motion:reduce){.gl-pop{animation:none}}.wim{margin:14px 0 0;border-radius:20px;overflow:hidden;border:3px solid color-mix(in srgb,var(--sky) 32%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--sky) 12%,var(--panel)),var(--panel));box-shadow:0 6px color-mix(in srgb,var(--sky) 16%,transparent)}.wim-head{width:100%;display:flex;align-items:center;gap:12px;padding:14px 16px;border:0;cursor:pointer;text-align:left;font:inherit;color:var(--ink);background:none}.wim-icon{font-size:26px;flex:0 0 auto}.wim-head-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.wim-kicker{font-size:11px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:var(--sky)}.wim-headline{font-size:15px;font-weight:800;line-height:1.35}.wim-chev{font-size:12px;color:var(--muted);flex:0 0 auto}.wim-body{padding:0 16px 16px;display:flex;flex-direction:column;gap:6px}.wim-pattern{align-self:flex-start;display:inline-flex;align-items:center;background:var(--panel-2);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:700;margin-bottom:4px}.wim-sub{margin:8px 0 2px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.wim-list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:5px}.wim-list li{font-size:14px;font-weight:600;line-height:1.5}.wim-p{margin:0;font-size:14px;font-weight:600;line-height:1.55}.wim-next{margin:10px 0 0;padding:10px 12px;border-radius:14px;background:color-mix(in srgb,var(--sun) 20%,var(--panel));font-size:13.5px;font-weight:700;line-height:1.5}html[data-dark=on] .wim{border-color:#38bdf84d}@media(max-width:700px){.wim-headline{font-size:14px}.wim-list li,.wim-p{font-size:13.5px}}@media(max-width:700px){.daily{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"cal meta cta";align-items:center;gap:10px;padding:10px 12px;margin-bottom:14px;border-radius:16px;border-width:3px;box-shadow:0 5px #fb923c2e}.daily-left{display:contents}.daily-cal{grid-area:cal;font-size:26px;animation:none}.daily-left>div,.daily-meta{grid-area:meta;min-width:0}.daily-kicker{font-size:10px}.daily-title{font-size:15px;margin:1px 0 0;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.daily-blurb{display:none}.daily-right{grid-area:cta;flex-direction:column;align-items:flex-end;gap:2px;align-self:center}.daily-reward{font-size:12px}.daily-play{font-size:13px;padding:8px 14px;border-radius:12px;box-shadow:0 4px #ea580c}.daily-done-tag{font-size:12px;padding:6px 10px}}.puzzle-card.fav{border-color:color-mix(in srgb,var(--sun) 60%,#fff);box-shadow:0 8px #3a2d4d14,0 0 22px #fbbf2457}.puzzle-card.fav:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;z-index:0;background:linear-gradient(135deg,rgba(255,214,102,.18),transparent 46%)}.puzzle-card.fav:hover{box-shadow:var(--shadow-pop),0 0 28px #fbbf2473}html[data-dark=on] .puzzle-card.fav{border-color:#fbbf2480;box-shadow:0 8px #00000040,0 0 24px #fbbf2447}.piece-count{font-size:11px;font-weight:800;color:var(--muted);background:var(--panel-2);border-radius:999px;padding:3px 9px;white-space:nowrap}html[data-dark=on] .piece-count{background:#ffffff12}.puzzle-card{display:flex;flex-direction:column}.puzzle-card h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.4em}.card-blurb{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.card-foot{margin-top:auto}.card-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap}@media(max-width:700px){.puzzle-card h3{min-height:2.5em}.card-blurb{-webkit-line-clamp:3;min-height:0}.jp-controls{flex-wrap:wrap;gap:8px}.jp-ctrl-right{flex-wrap:wrap;width:100%;justify-content:flex-start;gap:6px}.jp-ctrl-right>*{flex:0 0 auto}.jp-ctrl-right .chal-toggle,.jp-ctrl-right .coop-start{max-width:100%}}.skin-picker{position:relative;display:inline-block}.skin-menu{position:absolute;bottom:calc(100% + 8px);left:0;z-index:60;display:grid;grid-template-columns:repeat(2,minmax(130px,1fr));gap:6px;padding:10px;border-radius:16px;background:var(--panel);border:2px solid color-mix(in srgb,var(--grape) 30%,transparent);box-shadow:0 14px 34px #3a2d4d4d;animation:gl-pop-in .14s ease-out}.skin-opt{display:flex;align-items:center;gap:8px;font:inherit;font-size:12.5px;font-weight:700;color:var(--ink);background:var(--panel-2);border:2px solid transparent;border-radius:12px;padding:7px 9px;cursor:pointer;text-align:left;white-space:nowrap}.skin-opt:hover{border-color:color-mix(in srgb,var(--grape) 40%,transparent)}.skin-opt.on{border-color:var(--grape);background:color-mix(in srgb,var(--grape) 14%,var(--panel))}.skin-opt .skin-swatch{width:24px;height:24px;border-radius:7px;flex:0 0 auto}@media(max-width:700px){.skin-menu{grid-template-columns:repeat(2,minmax(112px,1fr));left:auto;right:0}.skin-opt{font-size:12px;padding:6px 8px}}.jp-deck-back.hide{opacity:0}.jp-mobile .jp-deck-stack,.jp-mobile .jp-deck-top{transform:translateZ(0);backface-visibility:hidden}.jp-mobile .jp-deck-top{filter:none}.jp-mobile .jp-deck-back{box-shadow:0 4px 8px #3a2d4d38}.jp-piece-scale{backface-visibility:hidden}.login-card .field{display:flex;flex-direction:column;gap:5px}.field-note{font-size:12px;font-weight:600;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:5px}.scene-viz{flex-direction:column;align-items:stretch;justify-content:center;gap:12px;width:100%}.scene-caption{font-size:12px;font-weight:800;color:var(--muted);text-align:center;line-height:1.45}.sc-svg{width:100%;max-height:190px;overflow:visible;color:var(--grape)}.sc-txt{font-size:10px;font-weight:800;fill:var(--muted)}.sc-txt.dim{opacity:.65}.sc-row{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:nowrap}.sc-row.wrap{flex-wrap:wrap}.sc-arrow{font-size:12px;font-weight:900;color:var(--muted)}.pop,.sc-pop{animation:thingPop .5s cubic-bezier(.2,.9,.3,1.25) both;animation-delay:var(--d, 0ms)}.sc-ping{animation:scPing 1.6s ease-in-out .5s infinite;transform-box:fill-box;transform-origin:center}@keyframes scPing{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.28)}}.sc-swatch{width:62px;height:62px;border-radius:16px;border:3px solid #fff;box-shadow:0 4px #0000001f;display:grid;place-items:end center;padding-bottom:4px}.sc-swatch.sm{width:44px;height:44px}.sc-swatch.big{width:76px;height:76px}.sc-swatch span{font-size:9px;font-weight:900;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.85);letter-spacing:.03em}.sc-pair{display:flex;align-items:center;gap:8px}.sc-weights{display:flex;flex-direction:column;gap:5px;max-width:320px;margin:0 auto;width:100%}.sc-wrow{display:grid;grid-template-columns:16px 1fr auto;align-items:center;gap:8px;animation:thingPop .45s ease both;animation-delay:var(--d, 0ms)}.sc-wk{font-weight:900;font-size:12px}.sc-wbar{height:8px;border-radius:6px;background:#00000017;overflow:hidden}.sc-wbar i{display:block;height:100%;border-radius:6px;animation:scGrowX .7s cubic-bezier(.2,.9,.3,1.1) both;animation-delay:var(--d, 0ms)}.sc-wv{font-size:10px;font-weight:800;color:var(--muted)}@keyframes scGrowX{0%{width:0!important}}.sc-alpha{max-width:300px;width:100%;margin:0 auto}.sc-alpha-track{height:9px;border-radius:6px;background:#0000001a;overflow:hidden}.sc-alpha-track i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,var(--bubble),var(--grape));animation:scGrowX .8s ease both .2s}.sc-gradient{position:relative;height:34px;border-radius:12px;border:3px solid #fff;box-shadow:0 3px #0000001a}.sc-marker{position:absolute;top:-8px;transform:translate(-50%);animation:scSlide .9s cubic-bezier(.2,.9,.3,1.1) both}.sc-dot{display:block;width:22px;height:46px;border-radius:11px;border:3px solid #fff;box-shadow:0 3px 8px #00000047}@keyframes scSlide{0%{left:0;opacity:0}}.sc-tone{display:flex;flex-direction:column;gap:7px;width:100%}.sc-tone-row{display:grid;grid-template-columns:42px 1fr 54px;align-items:center;gap:8px;animation:thingPop .45s ease both;animation-delay:var(--d, 0ms)}.sc-tone-in,.sc-tone-out{font-size:11px;font-weight:900;text-align:center}.sc-tone-out{border-radius:8px;padding:3px 0;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.8);border:2px solid #fff}.sc-tone-track{position:relative;height:12px;border-radius:7px;background:#00000017;overflow:hidden}.sc-tone-track i{position:absolute;inset:0 auto 0 0;border-radius:7px;animation:scGrowX .8s ease both}.sc-tone-track .hdr{background:repeating-linear-gradient(90deg,#f59e0b 0,#f59e0b 6px,#fbbf24 6px,#fbbf24 12px);opacity:.55}.sc-tone-track .ldr{background:linear-gradient(90deg,var(--bubble),var(--grape))}.sc-box{fill:#8b5cf629;stroke:var(--grape);stroke-width:2.5;rx:6;animation:thingPop .5s cubic-bezier(.2,.9,.3,1.2) both;animation-delay:var(--d, 0ms);transform-box:fill-box;transform-origin:center}.sc-box.b{fill:#0ea5e929;stroke:var(--sky)}.sc-box.hit{fill:#22c55e33;stroke:#16a34a}.sc-box.miss{fill:#ef444424;stroke:#ef4444;stroke-dasharray:5 4}.sc-tri{stroke-width:2.5;animation:thingPop .55s cubic-bezier(.2,.9,.3,1.2) both;transform-box:fill-box;transform-origin:center}.sc-tri.front{fill:#22c55e2e;stroke:#16a34a}.sc-tri.back{fill:#ef444424;stroke:#ef4444;stroke-dasharray:6 4}.sc-vert{fill:#fff;stroke:var(--grape);stroke-width:2.5}.sc-point{fill:var(--grape);stroke:#fff;stroke-width:2.5}.sc-axis{stroke:var(--muted);stroke-width:1.5;opacity:.4}.sc-axis.dash{stroke-dasharray:4 5}.sc-sphere{fill:#0ea5e92e;stroke:var(--sky);stroke-width:2.5;animation:thingPop .5s cubic-bezier(.2,.9,.3,1.2) both;transform-box:fill-box;transform-origin:center}.sc-ray{stroke:var(--grape);stroke-width:2.5;stroke-linecap:round}.sc-ray.draw{stroke-dasharray:260;animation:scDraw 1.2s ease both .25s}@keyframes scDraw{0%{stroke-dashoffset:260}to{stroke-dashoffset:0}}.sc-origin{fill:var(--grape);stroke:#fff;stroke-width:2}.sc-hit{fill:#22c55e;stroke:#fff;stroke-width:2.5}.sc-pixgrid{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:4px;max-width:260px;margin:0 auto;width:100%}.sc-px{aspect-ratio:1;border-radius:5px;background:#00000012}.sc-px.on{background:linear-gradient(180deg,var(--bubble),var(--grape));box-shadow:0 0 12px #8b5cf680;animation:thingPop .4s cubic-bezier(.2,.9,.3,1.4) both;animation-delay:var(--d, 0ms)}.sc-texels{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:5px;width:170px;height:170px;margin:0 auto}.sc-texel{border-radius:10px;display:grid;place-items:center;font-weight:900;font-size:13px;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.85);border:3px solid #fff}.sc-sample{position:absolute;width:16px;height:16px;border-radius:50%;background:var(--lime);border:3px solid #fff;transform:translate(-50%,-50%);box-shadow:0 3px 10px #00000059;animation:scPing 1.8s ease-in-out infinite}.sc-depth{display:flex;flex-direction:column;gap:5px;align-items:center}.sc-depth-row{display:flex;gap:5px}.sc-dcell{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:52px;height:46px;border-radius:10px;background:#00000012;font-weight:900;font-size:13px;color:var(--ink);animation:thingPop .45s ease both;animation-delay:var(--d, 0ms)}.sc-dcell.win{background:linear-gradient(180deg,var(--lime),#16a34a);color:#fff;box-shadow:0 3px #0000001f}.sc-dcell i{font-style:normal;font-size:9px;opacity:.85;text-decoration:line-through}.sc-mask{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:4px;width:170px;margin:0 auto}.sc-mcell{aspect-ratio:1;border-radius:5px;animation:thingPop .4s ease both;animation-delay:var(--d, 0ms)}.sc-mcell.on{background:linear-gradient(180deg,var(--bubble),var(--grape))}.sc-mcell.off{background:#00000012}.sc-line{fill:none;stroke:var(--grape);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.sc-line.ghost{stroke:var(--muted);opacity:.4;stroke-dasharray:5 5;stroke-width:2}.sc-line.draw{stroke-dasharray:700;animation:scDrawLong 1.4s ease both .2s}@keyframes scDrawLong{0%{stroke-dashoffset:700}to{stroke-dashoffset:0}}.sc-pt{fill:#fff;stroke:var(--grape);stroke-width:2.5}.sc-pt.better{fill:var(--lime);stroke:#fff}.sc-pt.worse{fill:#fbbf24;stroke:#fff}.sc-pt.stop{fill:#ef4444;stroke:#fff}.sc-pt.after{fill:#fff;stroke:var(--muted);opacity:.45}.sc-marker-line{stroke:var(--lime);stroke-width:2.5;stroke-dasharray:3 3}.sc-bars{display:flex;align-items:flex-end;justify-content:center;gap:8px;height:140px}.sc-bar{display:flex;flex-direction:column;align-items:center;gap:4px;height:100%;justify-content:flex-end;animation:thingPop .5s cubic-bezier(.2,.9,.3,1.2) both;animation-delay:var(--d, 0ms)}.sc-btrack{width:30px;flex:1;display:flex;align-items:flex-end}.sc-btrack i{display:block;width:100%;border-radius:8px 8px 4px 4px;background:linear-gradient(180deg,var(--bubble),var(--grape));animation:scGrowY .7s cubic-bezier(.2,.9,.3,1.1) both;animation-delay:var(--d, 0ms)}@keyframes scGrowY{0%{height:0!important}}.sc-bar.win .sc-btrack i{background:linear-gradient(180deg,var(--lime),#16a34a);box-shadow:0 0 14px #22c55e80}.sc-bar.cut{opacity:.38}.sc-bar.cut .sc-btrack i{background:linear-gradient(180deg,#cbd5e1,#94a3b8)}.sc-bval{font-size:10px;font-weight:900;color:var(--ink)}.sc-bidx{font-size:10px;font-weight:800;color:var(--muted)}.sc-experts{display:flex;flex-direction:column;gap:7px}.sc-erow{display:flex;align-items:center;gap:6px;justify-content:center;animation:thingPop .45s ease both;animation-delay:var(--d, 0ms)}.sc-etok{font-size:10px;font-weight:900;color:var(--muted);width:46px}.sc-egate{position:relative;min-width:54px;padding:7px 4px;border-radius:9px;font-size:11px;font-weight:900;text-align:center;color:var(--ink);background:#00000012;overflow:hidden;z-index:0}.sc-egate:before{content:"";position:absolute;inset:0 auto 0 0;width:var(--fill);background:#8b5cf647;z-index:-1}.sc-egate.win{background:linear-gradient(180deg,var(--lime),#16a34a);color:#fff;box-shadow:0 3px #0000001f}.sc-seq-rows{display:flex;flex-direction:column;gap:8px}.sc-seq-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.sc-seq-row.center{justify-content:center}.sc-seq-tag{font-size:10px;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;min-width:46px}.sc-seq-tag.x{color:var(--grape)}.sc-seq-tag.y{color:var(--sky)}.sc-chip{display:inline-grid;place-items:center;min-width:34px;padding:7px 10px;border-radius:10px;background:#fff;font-weight:900;font-size:12px;color:var(--ink);box-shadow:0 3px #00000014;animation:thingPop .4s ease both;animation-delay:var(--d, 0ms)}.sc-chip.tiny{min-width:24px;padding:4px 7px;font-size:11px}.sc-chip.ok{background:linear-gradient(180deg,var(--lime),#16a34a);color:#fff}.sc-chip.bad{background:linear-gradient(180deg,#f87171,#ef4444);color:#fff}.sc-chip.shared{background:linear-gradient(180deg,#fbbf24,#f59e0b);color:#fff}.sc-chip.dim{opacity:.4}.sc-chip.evicted{opacity:.35;text-decoration:line-through}.sc-chunks{display:flex;flex-direction:column;gap:6px;align-items:center}.sc-chunk-row{display:flex;gap:4px;animation:thingPop .5s ease both;animation-delay:var(--d, 0ms)}.sc-rank{display:flex;gap:14px;justify-content:center}.sc-rank-col{display:flex;flex-direction:column;align-items:center;gap:5px}.sc-rank-col.fused .sc-chip{box-shadow:0 3px #16a34a4d}.sc-unit{fill:none;stroke:var(--muted);stroke-width:1.5;stroke-dasharray:4 4;opacity:.5}.sc-vec{stroke-width:3;stroke-linecap:round}.sc-vec.main{stroke:var(--grape)}.sc-vec.key{stroke:var(--sky);opacity:.75;animation:thingPop .5s ease both;animation-delay:var(--d, 0ms)}.sc-vec.ghost{stroke:var(--muted);opacity:.4;stroke-dasharray:5 4}.sc-vec.sc-draw{stroke-dasharray:120;animation:scDrawVec .8s ease both;animation-delay:var(--d, 0ms)}@keyframes scDrawVec{0%{stroke-dashoffset:120}to{stroke-dashoffset:0}}.sc-arc{fill:none;stroke:var(--lime);stroke-width:2.5;stroke-dasharray:3 3}.sc-divide{display:flex;flex-direction:column;gap:7px;max-width:300px;margin:0 auto;width:100%}.sc-drow{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;animation:thingPop .45s ease both;animation-delay:var(--d, 0ms)}.sc-dnum,.sc-dout{font-weight:900;font-size:13px;text-align:center;background:#fff;border-radius:9px;padding:5px 0;box-shadow:0 3px #00000012}.sc-dout{color:var(--grape)}.sc-dbar{font-size:10px;font-weight:800;color:var(--muted)}.sc-maps{display:flex;align-items:center;justify-content:center;gap:10px}.sc-map{position:relative;width:104px;height:104px;border-radius:12px;border:3px dashed var(--muted);background:#0000000a}.sc-map.screen{border-style:solid;border-color:var(--grape);background:#8b5cf614}.sc-map-tag{position:absolute;top:-9px;left:50%;transform:translate(-50%);white-space:nowrap;font-size:9px;font-weight:900;color:var(--muted);background:var(--panel-2);padding:0 5px}.sc-map-dot{position:absolute;width:14px;height:14px;border-radius:50%;background:var(--muted);transform:translate(-50%,50%)}.sc-map-dot.lit{background:var(--lime);transform:translate(-50%,-50%);box-shadow:0 0 12px #22c55e99;animation:scPing 1.8s ease-in-out infinite}.sc-bits{display:flex;flex-direction:column;gap:6px;align-items:center}.sc-bitrow{display:flex;align-items:center;gap:4px}.sc-bit{display:grid;place-items:center;width:24px;height:28px;border-radius:7px;font-weight:900;font-size:12px;color:#fff;animation:thingPop .4s ease both;animation-delay:var(--d, 0ms)}.sc-bit.x{background:linear-gradient(180deg,var(--bubble),var(--grape))}.sc-bit.y{background:linear-gradient(180deg,#38bdf8,#0284c7)}.sc-bitrow.woven .sc-bit{width:20px}.sc-quant{width:100%;max-width:320px;margin:0 auto;padding-top:34px}.sc-qline{position:relative;height:10px;border-radius:6px;background:linear-gradient(90deg,#94a3b8,#e2e8f0,#94a3b8)}.sc-qtick{position:absolute;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;animation:thingPop .5s cubic-bezier(.2,.9,.3,1.3) both;animation-delay:var(--d, 0ms)}.sc-qtick i{width:4px;height:22px;border-radius:3px;background:var(--grape)}.sc-qtick b{position:absolute;bottom:24px;font-size:10px;font-weight:900;color:var(--ink);white-space:nowrap}.sc-qtick em{position:absolute;top:24px;font-style:normal;font-size:10px;font-weight:900;color:var(--grape);background:#fff;border-radius:6px;padding:1px 5px;box-shadow:0 2px #00000014}.sc-qaxis{display:flex;justify-content:space-between;margin-top:30px;font-size:10px;font-weight:800;color:var(--muted)}@media(max-width:560px){.sc-swatch{width:50px;height:50px}.sc-swatch.big{width:60px;height:60px}.sc-bars{gap:5px;height:120px}.sc-btrack{width:22px}.sc-rank{gap:8px}}.grid-viz.numeric{align-items:center}.cell.val{width:auto;min-width:34px;height:30px;padding:0 7px;display:grid;place-items:center;border-radius:8px;font-size:12px;font-weight:900;color:var(--ink);background:color-mix(in srgb,var(--grape) calc(var(--t, 0) * 62% + 8%),#fff)}.cell.val span{line-height:1}.cell.val.tuple{font-size:11px;background:#fff;box-shadow:inset 0 0 0 2px #8b5cf640}.text-viz{flex-direction:column;align-items:flex-start;gap:10px}.text-row{display:flex;align-items:center;gap:8px}.text-tag{font-size:11px;font-weight:900;color:var(--muted);text-transform:uppercase}.text-chars{display:flex;flex-wrap:wrap;gap:4px}.char{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:24px;height:34px;padding:0 5px;border-radius:9px;background:#fff;box-shadow:0 3px #00000014;animation:thingPop .38s cubic-bezier(.2,.9,.3,1.25) both;animation-delay:var(--d, 0ms)}.char b{font-size:14px;font-weight:900;color:var(--ink);line-height:1}.char i{font-style:normal;font-size:8px;font-weight:800;color:var(--muted)}.char.vowel{background:linear-gradient(180deg,#fde68a,#fbbf24)}.char.space{background:repeating-linear-gradient(45deg,#e2e8f0 0,#e2e8f0 4px,#f1f5f9 4px,#f1f5f9 8px)}.char.space b{color:var(--muted)}.array-viz.paired{flex-direction:column;align-items:stretch;gap:10px}.shelf-wrap{display:flex;align-items:flex-end;gap:8px}.shelf-tag{font-size:11px;font-weight:900;color:var(--muted);text-transform:uppercase;min-width:14px;padding-bottom:18px}.list-line{display:flex;align-items:center;gap:8px}@media(max-width:820px){.guest-free{padding:12px}.guest-free-head{font-size:14px;margin-bottom:10px}.guest-free .board,.guest-free .board.slider{grid-template-columns:1fr;gap:10px;padding:0}.guest-free .puzzle-card{padding:11px 13px;border-width:3px;border-radius:16px;display:grid;grid-template-columns:1fr auto;grid-template-areas:"top top" "title foot" "blurb blurb";column-gap:10px;row-gap:2px;align-items:center}.guest-free .puzzle-card:after{display:none}.guest-free .card-top{grid-area:top;gap:6px;margin-bottom:2px}.guest-free .puzzle-card h3{grid-area:title;font-size:15px;margin:0;line-height:1.2}.guest-free .card-blurb{grid-area:blurb;font-size:12px;line-height:1.35;min-height:0;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.guest-free .card-foot{grid-area:foot;margin:0;justify-content:flex-end}.guest-free .xp-pill{font-size:11px;padding:2px 8px}.guest-free .diff,.guest-free .piece-count{font-size:10px;padding:1px 7px}}html[data-dark=on]{--chip: #2b2560;--chip-line: rgba(167,139,250,.3)}html[data-dark=on] .thing-val,html[data-dark=on] .list-chip,html[data-dark=on] .pair-end,html[data-dark=on] .rp-step,html[data-dark=on] .rp-close,html[data-dark=on] .rp-cell,html[data-dark=on] .rp-chip,html[data-dark=on] .rp-btn,html[data-dark=on] .sp-slot,html[data-dark=on] .case code,html[data-dark=on] .sc-chip,html[data-dark=on] .char,html[data-dark=on] .sc-dnum,html[data-dark=on] .sc-dout{background:var(--chip);box-shadow:0 2px #00000059}html[data-dark=on] .thing-val,html[data-dark=on] .list-chip,html[data-dark=on] .pair-end,html[data-dark=on] .rp-cell,html[data-dark=on] .rp-chip,html[data-dark=on] .sc-chip,html[data-dark=on] .char b,html[data-dark=on] .sc-dnum{color:var(--ink)}html[data-dark=on] .login-card input,html[data-dark=on] .acct-form input{background:var(--chip);color:var(--ink);border-color:var(--chip-line);caret-color:var(--ink)}html[data-dark=on] .login-card input::placeholder,html[data-dark=on] .acct-form input::placeholder{color:var(--muted)}html[data-dark=on] .sc-chip.ok,html[data-dark=on] .sc-chip.bad,html[data-dark=on] .sc-chip.shared,html[data-dark=on] .char.vowel{color:#1a1533}html[data-dark=on] .char.vowel{background:linear-gradient(180deg,#fde68a,#fbbf24)}html[data-dark=on] .viz-goal b,html[data-dark=on] .rp-target,html[data-dark=on] .hints-count,html[data-dark=on] .sc-qtick em{background:var(--chip);box-shadow:0 2px #00000059}.login-card input{text-align:left}.login-card .code-input{text-align:center;letter-spacing:.38em;font-size:22px}.login-card p.login-lead{color:var(--muted);font-size:15px;margin:2px 0 16px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:4px 0 14px;background:color-mix(in srgb,var(--grape) 10%,transparent);border-radius:14px;padding:4px}.login-card .auth-tabs button{padding:10px 8px;border-radius:11px;font-size:14.5px;font-weight:800;background:transparent;color:var(--muted);box-shadow:none;border:none;transition:background .18s,color .18s,transform .08s}.login-card .auth-tabs button.on{background:var(--panel);color:var(--ink);box-shadow:0 2px #3a2d4d1a}.login-card .auth-tabs button:active{transform:none}html[data-dark=on] .login-card .auth-tabs button.on{background:var(--chip);color:var(--ink)}.pw-wrap{position:relative;display:flex}.pw-wrap input{flex:1;padding-right:52px;width:100%}.login-card .pw-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:40px;height:40px;padding:0;border-radius:12px;font-size:17px;background:transparent;color:var(--muted);box-shadow:none;border:none;display:grid;place-items:center;opacity:.75}.login-card .pw-eye:hover{opacity:1;background:color-mix(in srgb,var(--grape) 12%,transparent)}.login-card .pw-eye:active{transform:translateY(-50%)}.field-hint{display:block;font-size:12px;font-weight:700;color:var(--muted);text-align:left;padding:4px 2px 0}.field-hint.ok{color:#16a34a}.field-hint.warn{color:#d97706}html[data-dark=on] .field-hint.ok{color:#4ade80}html[data-dark=on] .field-hint.warn{color:#fbbf24}.login-card .field-fix{margin-top:6px;padding:7px 11px;border-radius:11px;font-size:12.5px;font-weight:700;text-align:left;width:100%;color:var(--ink);box-shadow:none;border:none;background:color-mix(in srgb,var(--sun) 26%,transparent)}.login-card .field-fix b{color:var(--grape)}.login-card .field-fix:active{transform:none}.submit-why{display:block;font-size:12.5px;font-weight:700;color:var(--muted);margin-top:-4px}.login-card button[disabled]{opacity:.55;box-shadow:0 7px #6d28d9;cursor:not-allowed}.login-card button[disabled]:active{transform:none;box-shadow:0 7px #6d28d9}.login-card button.is-busy{opacity:.8}@media(max-width:820px){.login-card input{padding:14px;font-size:16px}.login-card .auth-tabs button{padding:12px 8px}.login-card .pw-eye{width:44px;height:44px}.login-perks{order:9}}@keyframes lobby-in{0%{opacity:0;scale:.88}to{opacity:1;scale:1}}@keyframes lobby-rise{0%{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}.lobby-card{animation-name:lobby-bob,lobby-in;animation-duration:5s,.5s;animation-timing-function:ease-in-out,cubic-bezier(.22,.9,.3,1.15);animation-iteration-count:infinite,1;animation-fill-mode:none,both;animation-delay:0s,60ms}.lobby-card:nth-child(2){animation-delay:-1.7s,.12s}.lobby-card:nth-child(3){animation-delay:-3.4s,.18s}.lobby-card:nth-child(4){animation-delay:-2.2s,.24s}.lobby-card:nth-child(5){animation-delay:-.9s,.3s}.lobby-card:nth-child(6){animation-delay:-4.1s,.36s}.lobby-bottom{animation:lobby-rise .5s cubic-bezier(.22,.9,.3,1.15) both .12s}.lobby-hint{animation:lobby-rise .6s ease both .7s}.lobby-card:active{transform:translateY(-1px) scale(.97);transition-duration:.06s}.lobby-daily:active,.lobby-plate:active{transform:scale(.98);transition:transform .06s}.lobby-card:hover .lobby-card-emoji{transform:scale(1.12) rotate(-6deg)}.lobby-card-emoji{transition:transform .22s cubic-bezier(.2,.9,.3,1.3)}.lobby-card:focus-visible,.lobby-daily:focus-visible,.lobby-login:focus-visible{outline:none;box-shadow:0 0 0 4px color-mix(in srgb,var(--grape) 55%,transparent),0 16px 40px #1e0f3c59}.lobby-col{transform:translate(var(--par-x, 0px),calc(-54% + var(--par-y, 0px)));transition:transform .35s cubic-bezier(.22,.61,.36,1)}.lobby-bottom{transform:translate(calc(-50% + var(--par-x2, 0px)),var(--par-y2, 0px));transition:transform .45s cubic-bezier(.22,.61,.36,1)}@media(prefers-reduced-motion:reduce){.lobby-card,.lobby-bottom,.lobby-hint{animation:none;opacity:1;scale:1;translate:none}.lobby-col{transform:translateY(-54%);transition:none}.lobby-bottom{transform:translate(-50%);transition:none}.lobby-card-emoji{transition:none}}@media(max-width:820px){.lobby-col{transform:translate(var(--par-x, 0px),calc(-62% + var(--par-y, 0px)))}}.acct-name{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.acct-name .acct-hint{grid-column:1 / -1;margin:0}.acct-name .acct-save{align-self:stretch;padding:0 20px;white-space:nowrap}.acct-hint{font-size:12.5px;font-weight:600;color:var(--muted);margin:6px 0 0}.acct-hint.acct-locked{background:color-mix(in srgb,var(--grape) 12%,transparent);border-radius:12px;padding:10px 12px;color:var(--ink)}.upgrade-modal{max-width:480px;padding-top:22px}.up-head{text-align:center}.upgrade-modal .upgrade-crown{font-size:44px;line-height:1}.upgrade-modal h2{font-size:24px;margin:4px 0 6px;line-height:1.15}.up-sub{color:var(--muted);font-weight:700;font-size:14.5px;margin:0 0 16px}.up-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:8px;margin-bottom:16px;background:color-mix(in srgb,var(--grape) 10%,transparent);border-radius:16px;padding:12px 8px}.up-stats div{display:flex;flex-direction:column;align-items:center;gap:2px}.up-stats b{font-size:20px;font-weight:900;color:var(--grape);line-height:1}.up-stats span{font-size:11.5px;font-weight:700;color:var(--muted);text-align:center}html[data-dark=on] .up-stats b{color:#c4b5fd}.up-cta{margin:0}@keyframes up-breathe{0%,to{transform:none}50%{transform:translateY(-2px)}}.up-cta{animation:up-breathe 2.8s ease-in-out infinite}.up-cta:hover:not(:disabled){animation-play-state:paused}.up-microcopy{text-align:center;font-size:12.5px;font-weight:700;color:var(--muted);margin:9px 0 18px}.upgrade-modal .perks{gap:9px;margin-bottom:16px}.upgrade-modal .perk{padding:11px 13px;gap:12px;border-width:2px;border-radius:15px;align-items:flex-start}.upgrade-modal .perk-icon{font-size:24px;line-height:1.2}.upgrade-modal .perk strong{font-size:14.5px}.upgrade-modal .perk-text{font-size:12.5px;line-height:1.4;margin-top:2px}.up-paths{margin-bottom:16px}.up-paths-label{display:block;text-align:center;font-size:11px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:9px}.up-path-chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.up-chip{font-size:12px;font-weight:800;padding:5px 10px;border-radius:999px;background:color-mix(in srgb,var(--cat) 16%,transparent);color:var(--ink);border:1.5px solid color-mix(in srgb,var(--cat) 40%,transparent)}.up-faq{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:7px}.up-faq li{text-align:left;font-size:12.5px;line-height:1.45;color:var(--muted);font-weight:600;background:var(--panel-2);border-radius:12px;padding:9px 12px}.up-faq b{color:var(--ink);font-weight:800}.up-cta-2{margin-top:2px}.up-trust{text-align:center;font-size:11.5px;font-weight:700;color:var(--muted);margin:10px 0 0}@media(max-width:560px){.upgrade-modal{padding:20px 16px}.upgrade-modal h2{font-size:21px}.up-stats b{font-size:18px}.up-path-chips{gap:5px}.up-chip{font-size:11px;padding:4px 8px}}@media(prefers-reduced-motion:reduce){.up-cta,.upgrade-modal .upgrade-crown{animation:none}}.lb-bot{display:inline-block;font-size:9.5px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;padding:1px 6px;border-radius:999px;vertical-align:middle;background:color-mix(in srgb,var(--muted) 26%,transparent);color:var(--muted);margin-left:6px}.lb-bot-note{display:flex;align-items:center;gap:4px;flex-wrap:wrap;font-size:12px;font-weight:700;color:var(--muted);margin:0 0 10px}.lb-bot-note .lb-bot{margin-left:0}.home.problems-map{padding:0;max-width:none}.pgraph-booting{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%;height:calc(100dvh - 132px);min-height:460px;border-radius:22px;border:3px solid #fff;background:radial-gradient(120% 90% at 50% 15%,#241f52,#14112e 55%,#0b0a1a);color:#ffffffb8;font-weight:800}.pgraph-booting p{margin:0}.pgraph-booting-glyph{font-size:40px;animation:pgraph-bob 1.6s ease-in-out infinite}@keyframes pgraph-bob{0%,to{translate:0 0}50%{translate:0 -8px}}@media(prefers-reduced-motion:reduce){.pgraph-booting-glyph{animation:none}}html[data-dark=on] .pgraph-booting{border-color:#a78bfa4d}@media(max-width:820px){.pgraph-booting{height:calc(100dvh - 118px);border-radius:16px}}.pgraph{position:relative;width:100%;height:calc(100dvh - 132px);min-height:460px;border-radius:22px;overflow:hidden;background:radial-gradient(120% 90% at 50% 15%,#241f52,#14112e 55%,#0b0a1a);border:3px solid #fff}html[data-dark=on] .pgraph{border-color:#a78bfa4d}.pgraph-canvas,.pgraph-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.pgraph-canvas{cursor:grab;touch-action:none}.pgraph-canvas:active{cursor:grabbing}.pgraph-overlay{pointer-events:none}.pgraph-ui{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;padding:12px;display:flex;flex-direction:column;gap:10px}.pgraph-ui>*{pointer-events:auto}.pgraph-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pgraph-search{display:flex;align-items:center;gap:7px;flex:1;min-width:0;max-width:340px;background:#ffffffe6;border-radius:999px;padding:8px 14px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 8px 22px #0a081e66}.pgraph-search input{flex:1;border:none;background:transparent;font:inherit;font-weight:700;font-size:14px;color:#241f52;outline:none}.pgraph-search button{border:none;background:transparent;cursor:pointer;font-weight:900;color:#6b6494}.pgraph-list-btn,.pgraph-map-btn{border:none;cursor:pointer;font:inherit;font-weight:800;font-size:13px;padding:9px 14px;border-radius:999px;background:#ffffffe6;color:#241f52;box-shadow:0 8px 22px #0a081e59}.pgraph-map-btn{margin-left:auto;background:linear-gradient(180deg,#a78bfa,var(--grape));color:#fff;box-shadow:0 4px #6d28d9}.pgraph-cats{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.pgraph-cats::-webkit-scrollbar{display:none}.pgraph-cats button{flex:none;border:none;cursor:pointer;font:inherit;font-weight:800;font-size:12px;padding:6px 12px;border-radius:999px;background:#ffffff29;color:#efeaff;border:1.5px solid transparent;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.pgraph-cats button.on{background:color-mix(in srgb,var(--cat, #a78bfa) 62%,transparent);border-color:#fff;color:#fff}.pgraph-card{margin-top:auto;width:min(340px,100%);background:#fffffff0;border-radius:20px;padding:14px;box-shadow:0 16px 40px #0a081e80;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--ink)}html[data-dark=on] .pgraph-card{background:#1c183cf0}.pgraph-card-head{display:flex;gap:10px;align-items:center;margin-bottom:8px}.pgraph-card-emoji{font-size:26px}.pgraph-card-head strong{font-size:16px;display:block}.pgraph-card-sub{font-size:12px;color:var(--muted);font-weight:700;text-transform:capitalize}.pgraph-done{color:#16a34a;margin-left:6px}.pgraph-techs{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:9px}.pgraph-tech{font-size:11px;font-weight:800;padding:3px 9px;border-radius:999px;background:color-mix(in srgb,var(--grape) 18%,transparent);color:var(--grape)}.pgraph-sib-label{font-size:10.5px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}.pgraph-sibs{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px;max-height:92px;overflow-y:auto}.pgraph-sibs button{border:none;cursor:pointer;font:inherit;font-size:11.5px;font-weight:700;padding:4px 9px;border-radius:10px;background:var(--panel-2);color:var(--ink);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pgraph-play{width:100%;border:none;cursor:pointer;font:inherit;font-weight:900;font-size:15px;padding:11px;border-radius:14px;background:linear-gradient(180deg,#a78bfa,var(--grape));color:#fff;box-shadow:0 5px #6d28d9}.pgraph-play:active{transform:translateY(3px);box-shadow:0 2px #6d28d9}.pgraph-hint{position:absolute;bottom:10px;right:14px;font-size:11px;font-weight:700;color:#fff9;pointer-events:none;text-shadow:0 1px 5px rgba(0,0,0,.6)}@media(max-width:820px){.pgraph{height:calc(100dvh - 118px);border-radius:16px}.pgraph-card{width:100%;padding:12px}.pgraph-search{flex:1 1 100%;max-width:none}.pgraph-mode{flex:1 1 auto;min-width:0}.pgraph-mode button{flex:1 1 0;padding:7px 8px;min-width:0}.pgraph-list-btn{flex:0 0 auto}.pgraph-hint{right:auto;left:14px;bottom:8px;font-size:10.5px;max-width:62%}}.pgraph.pg-dark{background:radial-gradient(120% 90% at 50% 15%,#241f52,#14112e 55%,#0b0a1a);border-color:#a78bfa4d}.pgraph.pg-light{background:radial-gradient(120% 90% at 50% 12%,#fff5e6,#ffe3ef 45%,#e7dcff);border-color:#fff}.pgraph-cats button{display:inline-flex;align-items:center;gap:6px;background:#fffffff0;color:#241f52;border:2px solid transparent;box-shadow:0 4px 12px #0a081e47;padding:7px 13px;font-size:12.5px}.pgraph-cats button:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--cat, #a78bfa);flex:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--cat, #a78bfa) 28%,transparent)}.pgraph-cats button:first-child:before{display:none}.pgraph-cats button.on{background:var(--cat, var(--grape));color:#fff;border-color:#ffffffe6;box-shadow:0 4px 16px color-mix(in srgb,var(--cat, #a78bfa) 55%,transparent)}.pgraph-cats button.on:before{background:#fff;box-shadow:none}.pgraph.pg-dark .pgraph-cats button{background:#201b48eb;color:#efeaff}.pgraph.pg-dark .pgraph-cats button.on{background:var(--cat, var(--grape));color:#fff}.pgraph.pg-light .pgraph-search,.pgraph.pg-light .pgraph-list-btn{background:#fffffff5;box-shadow:0 6px 18px #5a3c8c38}.pgraph.pg-light .pgraph-hint{color:#46326ebf;text-shadow:0 1px 4px rgba(255,255,255,.8)}.pgraph.pg-dark .pgraph-hint{color:#fff9;text-shadow:0 1px 5px rgba(0,0,0,.6)}.pgraph.pg-light .pgraph-card{background:#fffffff5;box-shadow:0 16px 40px #5a3c8c4d}.pgraph.pg-dark .pgraph-card{background:#1c183cf0;color:#efeaff}.pgraph.pg-dark .pgraph-sibs button{background:#ffffff1a;color:#efeaff}.pgraph.pg-dark .pgraph-card-sub{color:#a79fce}@media(max-width:820px){.pgraph-cats button{padding:8px 12px;font-size:12px}}.list-group{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin:0 0 8px;padding:4px;border-radius:999px;background:var(--panel-2);width:fit-content;max-width:100%}.list-group-label{font-size:12px;font-weight:800;color:var(--muted);padding:0 8px 0 6px}.list-group button{font:inherit;font-weight:800;font-size:13px;padding:7px 14px;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;white-space:nowrap}.list-group button.on{background:var(--grape);color:#fff}html[data-dark=on] .list-group{background:var(--chip)}html[data-dark=on] .list-group button.on{background:var(--grape);color:#fff}@media(max-width:560px){.list-group{width:100%;justify-content:center}.list-group button{flex:1 1 0;min-width:0;padding:8px 6px}.list-group-label{flex:1 1 100%;text-align:center;padding:2px 0}}.pgraph-mode{display:flex;gap:3px;background:#ffffffe6;border-radius:999px;padding:3px;box-shadow:0 8px 22px #0a081e59}.pgraph-mode button{border:none;cursor:pointer;font:inherit;font-weight:800;font-size:12.5px;padding:6px 13px;border-radius:999px;background:transparent;color:#6b6494}.pgraph-mode button.on{background:var(--grape);color:#fff}.pgraph.pg-dark .pgraph-mode{background:#201b48eb}.pgraph.pg-dark .pgraph-mode button{color:#b9b1de}.pgraph.pg-dark .pgraph-mode button.on{background:var(--grape);color:#fff}.pgraph-keys{position:absolute;left:14px;bottom:12px;display:flex;flex-direction:column;align-items:center;gap:3px;pointer-events:none;opacity:.82}.pgraph-key-row{display:flex;gap:3px}.pgraph-keys kbd{display:grid;place-items:center;width:25px;height:25px;border-radius:7px;font:800 11px Fredoka,"Baloo 2",Nunito,system-ui,sans-serif;background:#fffffff0;color:#241f52;box-shadow:0 3px #0a081e59;border:none}.pgraph-key-note{font-size:10.5px;font-weight:700;margin-top:3px}.pgraph.pg-dark .pgraph-keys kbd{background:#282256f2;color:#efeaff}.pgraph.pg-dark .pgraph-key-note{color:#ffffff9e}.pgraph.pg-light .pgraph-key-note{color:#46326ecc}
