@font-face{font-family:Gabarito Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/assets/gabarito-latin-ext-wght-normal-C-_vgDbo.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Gabarito Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/assets/gabarito-latin-wght-normal-ZpvQqcqY.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAa0ABQAAAAADOwAAAZHAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbbhwoP0hWQVJtP01WQVJGBmA/U1RBVIEcAGQvXBEICoMkgmcLFgAwhEwBNgIkAyYEIAWGXAdiDAcbOgtRlHLSRcD8TEzkdoghPRuspKefbVnJIM5yRfA8vZv9uTNJSCZY21Scrigr6qyJ/C3sE1OFKuVP3e+lxUTbYio1zb/kFdk2bufY2BlhWERRBrcDUBhB5GEpd2Cy+MDxqf9zLPX+XVsk5r+s50d6IpWLatqbdT6f2MAikiOKQocbjya2QT0DqPDX4R0jQBgAUAiCRhDA0EkvYeLk9X3I2bEWI8jBAihIANm+kUWQBgggWChcBBdFhXlAUgOCAgBA0AgKjUJ8HKvjddFCKSgAVklEBYAeEJgCQJH0qB3B+neDg4sAA4hAD0AVIEAA0IACJGeaUjMIIIhBUE/zNABjTQMBwEVRcwcYBUCObLERABAgjAA1M/ZSa9hSi4OlpsnZ2KBOVUsAZlRGl1W0NZ6gSwhQPIAFs7YFL0QS91vRQgdgx2VDAnIegKpQvwAJIoLgooBAGtCJcHizg0TDiz8vhPgIcVXaDJu37ZyDAIjFy4AAiC1JAA0olJwN6nFAACQk/zfQVUuA3t5ELKMT9hpBSRj+HBSggYCIAIEkUoC4PCIQIWHGA8+IStxf0PW15ntP22gc+Wo+BLyQAHECQiAVd+c3Ba8gZ4NOACBaLOhsbIMkAXEmuHsSAvkf4oJaAogH6nEQAzoBIEihUAwAA0AACAObAGcANYAAABaqgMmpWAhiiVyrvNyqFV8tMQ5Iyq6r9Lf7W82i8ILl2cv8zbfdJ5lnPzSnvt/XXPfRR/5pH3xA+u5uS0798EPJ3Fft33w36Wc+8E/7aIB/9fvvb1pE9erNXLB9mkw//cSg8Cnx03VGXDvZnRzKqV9Xkhn7eRHb3wVjHpg19nkZpX9bBU+vnHegrsuQcbW9Bi7oO33h+8SU0Tly/MbeYUuG1cftVz6oNxrW0qH1iezq446fkDFo/rgvTkqt7zmteFzncZ0uxXti09FFF2z+C7CODpjUudOE5NSeb3bv/mbPKcmOEzpWQ3VBgBAuj/AOY3qMm7UvgA8qo3+qvAUBBAX0wADQG4AG+jCKaSxkBe/zvcTG8jRpRZgqhCog4sd++cOo7J+/RdvaaMoc78Ri/PNPSclx6fDvG1Kt3qQFi1rq+5EaavTtt9TVvfvucYsA5wc4oESU+E1ikF9TkrOkIsIH5Fawx7SBNLnMcWlM3skBluCmQNs7GeyFvYVDamsqwhxx18n/+WdxzDgOLU1AqbUlb3m+KOT9+ONvY/7XlrdLS//5v7nN97XHj0VzJpJvz4spq0V7ioXDuv2YrSxtF/KZmvbWfKtorXSh8dfvgGu+ev/nFSaXM6jyuCE/f/EpmuP7Rqu8R98vP/+tXUdrOgKlZP9Q/s+fRF9+3CHZd4EugfPv158me9X7v/6aSMCxMJmIr//65bNXngl7+uiPP5oKx+y27D8trp+psUzMacpm80XlnYeMAct0LynxhNYgaP3dtn8/LBAi+ksr+7NvjjtJV+UXrz0uLXV1x08AZRN1S2A8EaVE5afk/dfGjz//+fdHn36Xdttz2d9/z+bawZ8/slNN1aYtq+ZPGzNuPGdwOsfYflwmHCkPgs5DcKizvdpS/3gEUMW9/lvQvWp1bGTW1fpngC/uSVYAfH3TeSusL8TtlHUD4KAAEHjahk4YpuffGwEBN/dUmpHqdHyJ3Ap8O3UlQ4gCNrMRwLBBKiskL6a+RoBi/9XGlgc8L4/CUejQxaiIyqmomdhktOhfgDbDfaNDb4+yKIPd6IgmzDa0CByijWFmL2dlSRKagTIWXeIU9HDphoZiJeBTjAefHMxDhVSRFUgVcOkW3EGMahYVMFjWHhMluB2wAcbHYqF1LpsDF9C6s+CI2fDgh4wSuFEyGadjXAmIk3CugIRibLIti9ZtC8S4VSqfikGqPaoI122XyRYLBmsOmdiiTpqK1OklUQzpMcZmQRQV4M4oJCMkfRQXK+qvjifUcQd1bRdetW/LWjacYxvcttnVjWg5h0q4xw6rZyejSpZVZ78LzC4uyDNRQ4bymHSTMyM+SZ7D75mg/7YTlmNz7W8T00h0VEiGKB+F7iWYZFvSTiA4LVxttm2ATt5EoUWLJbY4EnLGrfsvEROlHtzlKn3H9VUT5tU/2dt3/EBv7foYzV/W4upyj04woO/gh6Vwwt3WGQAA)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#0d0a1f;--surface:#1e1442;--surface-2:#281b54;--surface-glass:#1e1442b8;--border:#40316e;--ink:#fdf7ff;--ink-soft:#b4a8d6;--primary:#ff5edb;--secondary:#7b5cff;--gold:#ffd84d;--mint:#2ee6a8;--sky:#06b6d4;--rose:#f43f5e;--rose-ink:#ffb3c1;--cta-gradient:linear-gradient(135deg, #c92e90, #5c3fd9);--font-display:"Gabarito Variable", "Gabarito", system-ui, sans-serif;--font-body:"Plus Jakarta Sans Variable", "Plus Jakarta Sans", system-ui, sans-serif;--radius-sm:12px;--radius-md:18px;--radius-lg:24px;--radius-pill:999px;--shadow-card:0 1.5px 0 #ffffff29 inset, 0 24px 48px -10px #02010aa6, 0 8px 20px #02010a66;--spring:cubic-bezier(.34, 1.56, .64, 1);--ease-out:cubic-bezier(.2,.8,.2,1);--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-6:24px;--sp-8:32px;--sp-12:48px}*{box-sizing:border-box}body{min-height:100dvh;font-family:var(--font-body);color:var(--ink);background:var(--bg);margin:0;overflow:hidden auto}#root{flex-direction:column;height:100dvh;display:flex;overflow:hidden}button{color:inherit;cursor:pointer;border:none;font-family:inherit}input,select{font-family:inherit}input::placeholder,textarea::placeholder{color:var(--ink-soft);opacity:1}.app-header{color:#fff;flex-wrap:wrap;align-items:center;gap:14px;padding:14px 22px;display:flex}@media (width<=640px){.app-header{gap:8px;padding:10px 12px}.app-logo{font-size:20px}.header-btn{padding:7px 11px;font-size:13px}.profile-chip{padding:4px 10px 4px 4px;font-size:13px}.profile-chip .avatar{width:26px;height:26px;font-size:15px}}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.type-card,.mission-card>*,.chat-row{opacity:1!important}.type-card:hover,.type-card:focus-visible,.type-card:active{transform:none}.idea-ticker{display:none}}.bg-aurora{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.bg-aurora .blob{will-change:transform;border-radius:50%;width:66vw;max-width:980px;height:66vw;max-height:980px;position:absolute}.bg-aurora .blob-1{background:radial-gradient(circle,#7c3aed6b 0%,#0000 72%);animation:32s ease-in-out infinite alternate drift-a;top:-10%;left:-10%}.bg-aurora .blob-2{background:radial-gradient(circle,#f43f5e57 0%,#0000 72%);animation:38s ease-in-out -8s infinite alternate drift-b;top:20%;right:-15%}.bg-aurora .blob-3{background:radial-gradient(circle,#06b6d44d 0%,#0000 72%);animation:28s ease-in-out -14s infinite alternate drift-c;bottom:-15%;left:20%}.bg-aurora .grain{opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:180px 180px;position:absolute;inset:-50px}@keyframes drift-a{0%{transform:translate(-5%,-5%)}to{transform:translate(8%,6%)}}@keyframes drift-b{0%{transform:translate(4%,-6%)}to{transform:translate(-8%,5%)}}@keyframes drift-c{0%{transform:translate(-6%,4%)}to{transform:translate(6%,-8%)}}.pet-mascot-wrap{line-height:0;display:inline-block}.pet-mascot-btn{cursor:grab;transition:transform .18s var(--spring);background:0 0;border-radius:50%;padding:0;line-height:0;display:inline-flex}.pet-mascot-btn:hover{transform:scale(1.06)}.pet-mascot-btn:active{cursor:grabbing;transform:scale(.96)}.pet-mascot{-webkit-user-select:none;user-select:none;place-items:center;line-height:1;display:inline-grid;position:relative}.pet-mascot-motion{transform-origin:bottom;place-items:center;display:inline-grid;position:relative}.pet-mascot-idle .pet-mascot-motion{animation:3.6s ease-in-out infinite pet-idle-bob}.pet-mascot-working .pet-mascot-motion{animation:1.1s ease-in-out infinite pet-working-wobble}.pet-mascot-celebrating .pet-mascot-motion{animation:pet-celebrate-hop 1s var(--spring) infinite}.pet-mascot-motion.is-poke{animation:pet-poke-hop .7s var(--spring)}.pet-mascot-emoji{filter:drop-shadow(0 6px 10px #140c3038);line-height:1;display:block}.pet-mascot-sparks,.pet-mascot-stars{pointer-events:none;font-size:.35em;position:absolute;inset:-8px -10px auto auto}.pet-spark{animation:1.6s ease-in-out infinite pet-spark-twinkle;position:absolute}.pet-spark:first-child{top:0;right:0}.pet-spark:nth-child(2){top:14px;right:-10px}.pet-spark:nth-child(3){top:-8px;right:12px}.pet-mascot-stars{font-size:.42em;animation:1s ease-in-out infinite pet-spark-twinkle;top:-6px;right:-4px}.pet-particle{pointer-events:none;border-radius:2px;width:8px;height:8px;margin:-4px 0 0 -4px;animation:.7s ease-out forwards pet-particle-fly;position:absolute;top:50%;left:50%}@keyframes pet-idle-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes pet-working-wobble{0%,to{transform:rotate(-5deg)translateY(0)}50%{transform:rotate(5deg)translateY(-3px)}}@keyframes pet-celebrate-hop{0%,to{transform:translateY(0)scale(1)}40%{transform:translateY(-10px)scale(1.08)}70%{transform:translateY(-2px)scale(1.02)}}@keyframes pet-poke-hop{0%{transform:translateY(0)scale(1)}35%{transform:translateY(-12px)scale(1.1)}to{transform:translateY(0)scale(1)}}@keyframes pet-spark-twinkle{0%,to{opacity:.35;transform:scale(.85)rotate(0)}50%{opacity:1;transform:scale(1.15)rotate(12deg)}}@keyframes pet-particle-fly{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(var(--dx), var(--dy)) scale(.4)}}@media (prefers-reduced-motion:reduce){.pet-mascot-idle .pet-mascot-motion,.pet-mascot-working .pet-mascot-motion,.pet-mascot-celebrating .pet-mascot-motion,.pet-mascot-motion.is-poke,.pet-spark,.pet-mascot-stars,.pet-particle,.profile-pet-preview-emoji{animation:none!important}}.penguin-wrap{line-height:0;display:inline-block}.penguin-btn{background:0 0;border-radius:50%;padding:0;line-height:0;display:inline-flex}.penguin{overflow:visible}.penguin-motion.penguin-idle{animation:3.6s ease-in-out infinite penguin-idle-bob}.penguin-motion.penguin-working{transform-box:fill-box;transform-origin:bottom;animation:1.1s ease-in-out infinite penguin-working-wobble}.penguin-motion.penguin-celebrating{animation:penguin-celebrate-hop 1s var(--spring) infinite}.penguin-motion.penguin-idle{transform-box:fill-box;transform-origin:bottom}.penguin-poke{animation:penguin-poke-hop .7s var(--spring);transform-box:fill-box;transform-origin:bottom}.penguin-eyes{transform-box:fill-box;transform-origin:50%}.penguin-motion.penguin-idle .penguin-eyes,.penguin-motion.penguin-working .penguin-eyes{animation:5s ease-in-out infinite penguin-blink}.penguin-spark{transform-box:fill-box;transform-origin:50%;animation:1.6s ease-in-out infinite penguin-spark-twinkle}.penguin-particle{transform-box:fill-box;transform-origin:50%;animation:.7s ease-out forwards penguin-particle-fly}@keyframes penguin-idle-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes penguin-blink{0%,92%,to{transform:scaleY(1)}96%{transform:scaleY(.1)}}@keyframes penguin-working-wobble{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}@keyframes penguin-celebrate-hop{0%{transform:translateY(0)}30%{transform:translateY(-11px)}55%{transform:translateY(-15px)}75%{transform:translateY(-5px)}to{transform:translateY(0)}}@keyframes penguin-poke-hop{0%{transform:translateY(0)}35%{transform:translateY(-14px)}65%{transform:translateY(2px)}to{transform:translateY(0)}}@keyframes penguin-spark-twinkle{0%,to{opacity:0;transform:scale(.6)}50%{opacity:1;transform:scale(1)}}@keyframes penguin-particle-fly{0%{opacity:1;transform:translate(0)scale(1)}to{transform:translate(var(--dx), var(--dy)) scale(.2);opacity:0}}.logo-shimmer-text{background:linear-gradient(90deg, var(--primary), var(--gold), var(--mint), var(--sky), var(--secondary), var(--primary));color:#0000;background-size:300% 100%;-webkit-background-clip:text;background-clip:text;animation:1.5s ease-in-out logo-shimmer}@keyframes logo-shimmer{0%{background-position:0%}to{background-position:200%}}.logo-spark-layer{pointer-events:none;position:absolute;inset:0;overflow:visible}.logo-particle{border-radius:50%;width:6px;height:6px;animation:.65s ease-out forwards logo-spark-fly;position:absolute;top:50%;left:12px}@keyframes logo-spark-fly{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(.3);opacity:0}}.app-logo{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);background:0 0;padding:0;font-size:26px;font-weight:800;position:relative}.logo-kids{color:var(--gold)}.header-spacer{flex:1}.header-btn{color:#fff;background:#ffffff24;border-radius:999px;padding:9px 16px;font-size:16px;text-decoration:none;transition:background .15s}.header-btn:hover{background:#ffffff42}.header-building-badge{background:linear-gradient(135deg, var(--gold), #ff9d3a);color:#2a1500;transition:transform .12s var(--ease-out), box-shadow .12s var(--ease-out);border-radius:999px;align-items:center;gap:7px;padding:8px 14px;font-size:15px;font-weight:800;animation:1.8s ease-in-out infinite header-building-pulse;display:inline-flex;box-shadow:0 6px 18px -6px #ffd84d99,inset 0 2px #0000001f}.header-building-badge:hover{transform:translateY(-2px)scale(1.03);box-shadow:0 10px 22px -6px #ffd84db3,inset 0 2px #0000001f}.header-building-badge:active{transform:translateY(0)scale(.98)}.header-building-dot{background:#2a1500;border-radius:50%;width:9px;height:9px;animation:1s steps(2,end) infinite header-building-blink}.header-building-peek{opacity:.85;font-size:12px;font-style:italic;font-weight:800}@keyframes header-building-pulse{0%,to{box-shadow:0 6px 18px -6px #ffd84d99,inset 0 2px #0000001f}50%{box-shadow:0 6px 22px -4px #ffd84de6,inset 0 2px #0000001f}}@keyframes header-building-blink{0%,to{opacity:1}50%{opacity:.25}}.profile-chip{color:#fff;background:#ffffff24;border-radius:999px;align-items:center;gap:8px;padding:6px 14px 6px 6px;font-size:16px;display:flex}.profile-chip .avatar{background:#fff;border-radius:50%;place-items:center;width:32px;height:32px;font-size:19px;display:grid}.profile-chip-gear{opacity:.85;margin-left:2px;font-size:13px}.profile-chip:hover{background:#ffffff3d;transform:translateY(-1px)}.page{flex:1;width:100%;max-width:1100px;min-height:0;margin:0 auto;padding:18px 22px 40px;overflow-y:auto}.page-title{font-family:var(--font-display);color:var(--ink);letter-spacing:-.03em;text-align:center;margin:10px 0 4px;font-size:clamp(26px,5vw,44px);font-weight:800}.page-sub{color:var(--ink-soft);text-align:center;margin:0 0 26px;font-size:18px}.image-preview{isolation:isolate;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:18px;min-height:0;padding:clamp(18px,4vw,42px);display:flex;position:relative;overflow:auto}.image-preview-glow{aspect-ratio:1;filter:blur(18px);z-index:-1;background:radial-gradient(circle,#7b5cff6b,#0000 68%);border-radius:50%;width:min(70%,520px);animation:4s ease-in-out infinite image-glow-pulse;position:absolute}.image-preview-image{object-fit:contain;width:min(100%,620px);max-height:min(70vh,620px);animation:image-pop-in .65s var(--spring) both;border:8px solid #ffffff1f;border-radius:28px;display:block;box-shadow:0 24px 70px #04011699,0 0 0 1px #ffffff2e}.image-preview-caption{max-width:620px;color:var(--ink-soft);text-align:center;font-size:13px;line-height:1.5}@keyframes image-glow-pulse{0%,to{opacity:.65;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}}@keyframes image-pop-in{0%{opacity:0;transform:scale(.94)rotate(-1deg)}to{opacity:1;transform:scale(1)rotate(0)}}.card-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;display:grid}.type-card-perspective{perspective:900px}.type-card{--mx:0;--my:0;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:1px solid var(--border);text-align:center;transition:transform .15s var(--ease-out), box-shadow .15s var(--ease-out);border-top:10px solid var(--sky);width:100%;transform-style:preserve-3d;opacity:0;animation:card-fade-up .48s var(--ease-out) both;animation-delay:calc(var(--i,0) * 60ms);flex-direction:column;align-items:center;gap:8px;padding:26px 20px 22px;display:flex}.type-card:hover,.type-card:focus-visible{transform:translateY(-5px) scale(1.02) rotateX(calc(var(--my) * -8deg)) rotateY(calc(var(--mx) * 8deg));box-shadow:0 18px 40px #05021499}.type-card:active{transition-duration:.1s;transform:translateY(-1px)scale(.97)}.type-card.pink{border-top-color:var(--primary);box-shadow:var(--shadow-card), 0 0 32px -8px #ff5edb73}.type-card.blue{border-top-color:var(--sky);box-shadow:var(--shadow-card), 0 0 32px -8px #06b6d473}.type-card.purple{border-top-color:var(--secondary);box-shadow:var(--shadow-card), 0 0 32px -8px #7b5cff73}.type-card.amber{border-top-color:var(--gold);box-shadow:var(--shadow-card), 0 0 32px -8px #ffd84d73}.type-card.green{border-top-color:var(--mint);box-shadow:var(--shadow-card), 0 0 32px -8px #2ee6a873}@keyframes card-fade-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.type-card .emoji{animation:3.2s ease-in-out infinite emoji-idle-bob;animation-delay:calc(var(--i,0) * .15s);font-size:54px;display:inline-block}@keyframes emoji-idle-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.type-card .name{font-family:var(--font-display);letter-spacing:-.02em;font-size:24px;font-weight:800}.type-card .blurb{color:var(--ink-soft);font-size:15px}.big-btn{background:var(--cta-gradient);color:#fff;border-radius:var(--radius-pill);transition:transform .15s var(--spring);padding:14px 26px;font-size:19px;font-weight:700;box-shadow:0 6px #9a2fa8}.big-btn:hover{transform:translateY(-2px)}.big-btn:active{transform:translateY(4px);box-shadow:0 2px #9a2fa8}.big-btn.blue{background:var(--sky);color:var(--bg);box-shadow:0 6px #047c93}.big-btn.blue:active{box-shadow:0 2px #047c93}.big-btn.sky{color:#04293a;background:linear-gradient(135deg,#38bdf8 0%,#06b6d4 100%);box-shadow:0 6px #036a85}.big-btn.sky:active{box-shadow:0 2px #036a85}.big-btn.green{background:var(--mint);color:var(--bg);box-shadow:0 6px #159c6e}.big-btn.green:active{box-shadow:0 2px #159c6e}.big-btn.amber{background:var(--gold);color:#4a3000;box-shadow:0 6px #b8860b}.big-btn.amber:active{box-shadow:0 2px #b8860b}.big-btn.purple{background:var(--secondary);box-shadow:0 6px #4a2fa8}.big-btn.purple:active{box-shadow:0 2px #4a2fa8}.big-btn.purple.copied{background:var(--mint);animation:.45s share-copy-bounce}@keyframes share-copy-bounce{0%{transform:scale(1)}40%{transform:scale(1.08)translateY(-2px)}to{transform:scale(1)}}.big-btn.undo-btn,.big-btn.redo-btn{background:linear-gradient(180deg, #ffe9a8 0%, var(--gold,#ffd76a) 100%);color:#2a1b00}.big-btn.undo-btn:active:not(:disabled),.big-btn.redo-btn:active:not(:disabled){filter:brightness(.96)}.big-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.save-btn.save-pop{animation:save-pop .45s var(--spring)}@keyframes save-pop{0%{transform:scale(1)}40%{transform:scale(1.08)translateY(-2px)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.save-btn.save-pop{animation:none}}.save-recovery{border-radius:var(--radius,18px);border:2px solid var(--gold,#f4b942);background:linear-gradient(135deg,#fff3d6,#ffe3ec);flex-wrap:wrap;align-items:center;gap:12px;margin:10px 16px 0;padding:12px 16px;display:flex;box-shadow:0 6px 18px #783c0026}.save-recovery-emoji{font-size:28px;animation:2.2s ease-in-out infinite save-recovery-bob}.save-recovery-text{color:#4a2c10;flex:220px;font-size:15px;line-height:1.35}.save-recovery-retry{flex:none}@keyframes save-recovery-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.save-recovery-emoji{animation:none}}.leave-guard-force-link{color:#8a6d4a;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;background:0 0;border:none;padding:6px 4px;font-size:12.5px;text-decoration:underline}.leave-guard-force-link:active{color:#5c4426}.share-modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0c081c8c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.share-modal{color:#2a1e52;text-align:center;background:#fff;border-radius:28px;width:min(440px,100%);padding:28px 24px 22px;animation:.28s share-pop;box-shadow:0 18px #0000001f,0 30px 60px #280a5047}@keyframes share-pop{0%{opacity:0;transform:scale(.92)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.share-modal-emoji{margin-bottom:8px;font-size:48px;line-height:1;animation:2.2s ease-in-out infinite share-bob}@keyframes share-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.share-modal-title{margin:0 0 8px;font-size:26px;font-weight:800}.share-modal-sub{color:#5b4b8a;margin:0 0 16px;font-size:15px;line-height:1.4}.share-url-box{color:#2a1e52;word-break:break-all;-webkit-user-select:all;user-select:all;background:#f4efff;border:2px dashed #c7b3ff;border-radius:16px;margin-bottom:16px;padding:12px 14px;font-size:14px;font-weight:700}.share-modal-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.share-modal-actions a.big-btn{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.share-badge{color:#6b2fd6;vertical-align:middle;background:#efe4ff;border-radius:999px;align-items:center;gap:4px;margin-left:8px;padding:2px 8px;font-size:12px;font-weight:800;display:inline-flex;box-shadow:0 2px #6b2fd62e}.building-badge{background:linear-gradient(135deg, var(--gold), #ff9d3a);color:#2a1500;vertical-align:middle;border-radius:999px;align-items:center;gap:5px;margin-left:8px;padding:2px 9px;font-size:12px;font-weight:800;display:inline-flex;box-shadow:0 2px #00000024}.building-badge-dot{background:#2a1500;border-radius:50%;width:7px;height:7px;animation:1s steps(2,end) infinite header-building-blink}.gallery-card.is-building{box-shadow:var(--shadow-card), 0 0 0 3px #ffd84d38;border-color:#ffd84d8c;position:relative;overflow:hidden}.gallery-card.is-building:after{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 30%,#ffd84d38 48%,#0000 66%) 0 0/220% 100%;animation:2.2s linear infinite gallery-building-shimmer;position:absolute;inset:0}@keyframes gallery-building-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}.soft-btn{background:var(--surface-2);color:var(--ink);border-radius:999px;padding:9px 16px;font-size:15px;font-weight:700}.soft-btn:hover:not(:disabled){background:var(--border)}.soft-btn:disabled{opacity:.5;cursor:not-allowed}.studio{flex-direction:column;flex:1;gap:12px;width:100%;max-width:1500px;min-height:0;margin:0 auto;padding:0 22px 18px;display:flex;overflow:hidden}.studio-toolbar{color:var(--ink);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:12px;display:flex}.toolbar-emoji{font-size:22px}.toolbar-spacer{flex:1}.project-name-input{background:var(--surface-2);border:1px solid var(--border);color:var(--ink);border-radius:var(--radius-sm);min-width:220px;padding:8px 14px;font-size:20px;font-weight:800}.project-name-input:focus{border-color:var(--secondary)}.project-name-input:focus:not(:focus-visible){outline:none}.project-name-input:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.save-status-slot{flex:none;align-self:stretch;width:0;position:relative}.save-status{white-space:nowrap;background:var(--surface-2);border:1px solid var(--border);color:var(--ink-soft);border-radius:var(--radius-pill);z-index:40;pointer-events:none;text-overflow:ellipsis;max-width:min(70vw,340px);padding:5px 12px;font-size:14px;font-weight:700;animation:3.5s forwards save-status-life;position:absolute;top:calc(100% + 6px);left:50%;overflow:hidden;box-shadow:0 4px 14px #0c081c59}@keyframes save-status-life{0%{opacity:0;transform:translate(-50%,-4px)}8%{opacity:1;transform:translate(-50%)}80%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%)}}.save-status:empty{display:none}.studio-main{flex:1;grid-template-columns:minmax(320px,400px) 1fr;gap:14px;min-height:0;display:grid;overflow:hidden auto}@media (width<=900px){.studio-main{grid-template-columns:1fr}.chat-panel{min-height:320px;max-height:min(52vh,480px)}.preview-panel{min-height:360px}}.chat-panel{background:var(--surface-glass);-webkit-backdrop-filter:blur(18px)saturate(140%);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:1px solid var(--border);flex-direction:column;gap:10px;height:100%;min-height:0;padding:14px 14px 12px;display:flex;overflow:hidden}.chat-header{border-bottom:2px solid var(--border);align-items:center;gap:10px;padding-bottom:4px;display:flex;position:relative}.chat-mascot{background:linear-gradient(145deg, var(--secondary), var(--primary));border-radius:50%;flex-shrink:0;place-items:center;width:56px;height:56px;font-size:24px;display:grid;box-shadow:0 4px 12px #05021466}.chat-header-text{flex:1;min-width:0}.chat-title-row{align-items:center;gap:8px;min-width:0;display:flex}.pet-rename-btn{cursor:pointer;background:0 0;border:none;border-radius:8px;padding:2px 4px;font-size:14px;line-height:1;transition:transform .15s,background .15s}.pet-rename-btn:hover{background:var(--surface-2);transform:scale(1.2)rotate(-8deg)}.pet-name-card{background:linear-gradient(145deg, var(--surface-2), var(--surface));border:2px dashed var(--primary);border-radius:16px;flex-direction:column;gap:10px;margin:4px 0 10px;padding:12px 14px;display:flex}.pet-name-card-text{font-family:var(--font-display);letter-spacing:-.01em;font-size:15px;font-weight:800}.pet-name-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pet-name-input{border:2px solid var(--border);background:var(--surface);min-width:120px;color:var(--ink);border-radius:12px;outline:none;flex:1;padding:10px 12px;font-family:inherit;font-size:15px;transition:border-color .15s,box-shadow .15s}.pet-name-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #ff5edb40}.pet-name-dice{flex-shrink:0}.pet-name-save{flex-shrink:0;padding:10px 14px;font-size:14px}.chat-title{font-family:var(--font-display);letter-spacing:-.02em;font-size:18px;font-weight:800;line-height:1.2}.chat-subtitle{color:var(--ink-soft);margin-top:2px;font-size:13px}.chat-busy-dot{background:var(--primary);border-radius:50%;flex-shrink:0;width:12px;height:12px;animation:1.2s ease-out infinite pulse-dot;box-shadow:0 0 #ff5edb80}@keyframes pulse-dot{0%{box-shadow:0 0 #ff5edb73}70%{box-shadow:0 0 0 10px #ff5edb00}to{box-shadow:0 0 #ff5edb00}}.chat-log{scroll-behavior:smooth;flex-direction:column;flex:1;gap:10px;min-height:0;padding:4px 2px 8px;display:flex;overflow-y:auto}.chat-row{max-width:100%;animation:chat-row-in .32s var(--ease-out) both;align-items:flex-end;gap:8px;display:flex}@keyframes chat-row-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-row.user{justify-content:flex-end}.chat-row.helper{justify-content:flex-start}.chat-row.status{justify-content:center}.chat-avatar{background:var(--surface-2);border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:16px;display:grid}.bubble{word-wrap:break-word;border-radius:18px;max-width:min(100%,320px);padding:10px 14px;font-size:15px;line-height:1.35}.bubble-user{background:var(--cta-gradient);color:#fff;border-bottom-right-radius:6px;font-weight:700;box-shadow:0 4px 12px #ff5edb4d}.bubble-helper{background:var(--surface-2);color:var(--ink);border-bottom-left-radius:6px}.bubble-helper.tone-success{color:var(--mint);background:#2ee6a81f;border:2px solid #2ee6a866}.bubble-helper.tone-error{color:var(--rose-ink);background:#f43f5e1f;border:2px solid #f43f5e66}.bubble-status{color:var(--ink-soft);background:#ffd84d1f;border-radius:999px;align-items:center;gap:6px;max-width:100%;padding:8px 14px;font-size:14px;font-weight:700;display:inline-flex}.status-spark{animation:1.1s ease-in-out infinite bob}.bubble-typing{align-items:center;gap:5px;padding:14px 16px;display:inline-flex}.typing-dot{background:var(--ink-soft);border-radius:50%;width:7px;height:7px;animation:1.1s ease-in-out infinite typing-bounce}.typing-dot:nth-child(2){animation-delay:.15s}.typing-dot:nth-child(3){animation-delay:.3s}@keyframes typing-bounce{0%,60%,to{opacity:.45;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}.retry-build-btn{border-radius:var(--radius-pill);min-height:44px;color:var(--ink);font-family:var(--font-display);cursor:pointer;transition:transform .15s var(--spring), filter .15s ease;background:linear-gradient(135deg,#ffd84d38,#ff8e5338);border:2px solid #ffd84db8;align-self:flex-start;padding:10px 16px;font-size:15px;font-weight:800;box-shadow:0 4px #00000047}.retry-build-btn:hover{filter:brightness(1.12);transform:translateY(-2px)scale(1.03)}.retry-build-btn:active{transform:translateY(1px)scale(.98)}.magic-chips{flex-wrap:wrap;gap:8px;display:flex}.chip{background:var(--surface-2);color:var(--ink);border-radius:var(--radius-pill);min-height:44px;transition:transform .15s var(--spring), border-color .15s var(--spring);border:2px solid #b4a8d659;padding:10px 14px;font-size:14px;font-weight:700;box-shadow:0 3px #0000004d}.chip:nth-child(odd){transform:rotate(-1.5deg)}.chip:nth-child(2n){transform:rotate(1.5deg)}.chip:hover:not(:disabled){border-color:var(--secondary);transform:rotate(0)scale(1.05)}.chip:active:not(:disabled){transform:rotate(0)scale(.98)}.chip:disabled{opacity:.55;cursor:not-allowed}.chat-attachments{flex-wrap:wrap;align-items:center;gap:8px;padding:2px 0;display:flex}.chat-attachment{border-radius:var(--radius-sm);border:2px solid var(--border);width:56px;height:56px;box-shadow:var(--shadow-card);background:var(--surface-2);animation:.22s cubic-bezier(.34,1.56,.64,1) attach-pop;position:relative;overflow:hidden}.chat-attachment img{object-fit:cover;width:100%;height:100%;display:block}.chat-attachment-remove{color:#fff;background:#050214b8;border-radius:50%;place-items:center;width:20px;height:20px;font-size:11px;line-height:1;transition:transform .12s,background .12s;display:grid;position:absolute;top:2px;right:2px}.chat-attachment-remove:hover{background:var(--danger,#e5484d);transform:scale(1.15)}.chat-attachment-error{color:var(--ink-soft);font-size:14px}@keyframes attach-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.chat-attachment{animation:none}.chat-attachment-remove{transition:none}}.attach-btn{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);place-items:center;width:48px;min-height:48px;font-size:20px;transition:transform .12s,border-color .12s;display:grid}.attach-btn:hover:not(:disabled){border-color:var(--secondary);transform:translateY(-2px)rotate(-4deg)}.attach-btn:active:not(:disabled){transform:translateY(0)scale(.94)}.attach-btn:disabled{opacity:.4;cursor:not-allowed}@media (prefers-reduced-motion:reduce){.attach-btn{transition:none}.attach-btn:hover:not(:disabled){transform:none}}.mic-btn{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);flex:0 0 48px;place-items:center;width:48px;min-height:48px;font-size:20px;transition:transform .12s,border-color .12s,background .12s;display:grid}.mic-btn:hover:not(:disabled){border-color:var(--secondary);transform:translateY(-2px)rotate(-4deg)}.mic-btn:active:not(:disabled){transform:translateY(0)scale(.94)}.mic-btn:disabled{opacity:.4;cursor:not-allowed}.mic-btn.is-listening{background:var(--rose);border-color:var(--rose);color:var(--ink);animation:1.1s ease-out infinite mic-pulse}.mic-btn.is-listening.is-quiet{animation:2.4s ease-in-out infinite mic-breathe}@keyframes mic-pulse{0%{box-shadow:0 0 #f43f5e80}70%{box-shadow:0 0 0 10px #f43f5e00}to{box-shadow:0 0 #f43f5e00}}@keyframes mic-breathe{0%{transform:scale(1);box-shadow:0 0 #f43f5e47}50%{transform:scale(1.05);box-shadow:0 0 0 7px #f43f5e00}to{transform:scale(1);box-shadow:0 0 #f43f5e00}}@media (prefers-reduced-motion:reduce){.mic-btn{transition:none}.mic-btn:hover:not(:disabled){transform:none}.mic-btn.is-listening,.mic-btn.is-listening.is-quiet{animation:none}}.chat-voice-error{color:var(--rose);border-radius:var(--radius-sm);background:#f43f5e1f;border:1px solid #f43f5e66;margin-top:8px;padding:6px 10px;font-size:13px}.chat-voice-status{color:var(--ink-soft);border-radius:var(--radius-sm);background:#7b5cff24;border:1px solid #7b5cff66;margin-top:8px;padding:6px 10px;font-size:13px}.chat-input-row{align-items:stretch;gap:8px;display:flex}textarea{color:inherit;font-family:inherit}.chat-input{background:var(--surface-2);border:1px solid var(--border);color:var(--ink);border-radius:var(--radius-sm);resize:none;flex:1;min-height:48px;max-height:140px;padding:12px 14px;font-size:16px;line-height:1.4;overflow-y:auto}.chat-input:focus{border-color:var(--secondary)}.chat-input:focus:not(:focus-visible){outline:none}.chat-input:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.send-btn,.stop-btn{color:var(--bg);border-radius:14px;min-width:52px;min-height:48px;padding:0 18px;font-size:20px;transition:transform .12s,opacity .12s}.send-btn{background:var(--sky)}.stop-btn{background:var(--primary)}.send-btn:hover:not(:disabled),.stop-btn:hover:not(:disabled){transform:translateY(-1px)}.send-btn:disabled{opacity:.5}.preview-panel{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:1px solid var(--border);flex-direction:column;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.preview-frame{background:#fff;border:none;flex:1;width:100%}.playtest-fab{z-index:4;cursor:pointer;min-width:56px;min-height:56px;font-family:var(--font-display);letter-spacing:-.02em;color:#0d0a1f;transition:transform .15s var(--ease-out), box-shadow .15s var(--ease-out);background:linear-gradient(#ffe56a,#ffc93c);border:none;border-radius:999px;align-items:center;gap:8px;padding:12px 18px;font-size:18px;font-weight:800;animation:2.4s ease-in-out infinite playtest-fab-bob;display:inline-flex;position:absolute;bottom:14px;right:14px;box-shadow:0 6px #c49212,0 12px 28px #05021459}.playtest-fab:hover,.playtest-fab:active,.playtest-fab:focus-visible{animation:none}.playtest-fab:hover{transform:translateY(-2px)scale(1.04)}.playtest-fab:active{transform:translateY(3px)scale(.98);box-shadow:0 2px #c49212,0 6px 14px #0502144d}.playtest-fab:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.playtest-fab-label{line-height:1}@keyframes playtest-fab-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.playtest-exit-bar{z-index:12;padding:calc(12px + env(safe-area-inset-top,0px)) calc(14px + env(safe-area-inset-right,0px)) 12px calc(14px + env(safe-area-inset-left,0px));pointer-events:none;background:linear-gradient(#0d0a1fb8,#0000);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex;position:absolute;top:0;left:0;right:0}.playtest-exit-bar>*{pointer-events:auto}.playtest-exit-hint{color:#fdf7ffc7;padding:6px 10px;font-size:13px;font-weight:700}.playtest-focus-hint{color:var(--ink);cursor:pointer;background:#0d0a1fb8;border:1px solid #fdf7ff47;border-radius:999px;min-height:44px;padding:10px 14px;font-size:14px;font-weight:700}.playtest-focus-hint:hover{background:#0d0a1fe6}.playtest-exit-btn{cursor:pointer;min-height:56px;font-family:var(--font-display);letter-spacing:-.02em;color:#0d0a1f;transition:transform .12s var(--ease-out), box-shadow .12s var(--ease-out);background:linear-gradient(#7dffb3,#3edc8a);border:none;border-radius:18px;padding:14px 22px;font-size:20px;font-weight:800;box-shadow:0 6px #1f9a58,0 12px 28px #05021459}.playtest-exit-btn:hover{transform:translateY(-2px)scale(1.03)}.playtest-exit-btn:active{transform:translateY(3px)scale(.98);box-shadow:0 2px #1f9a58,0 6px 14px #0502144d}.playtest-exit-btn:focus-visible{outline:3px solid var(--mint);outline-offset:3px}.studio.is-playtesting{gap:0;max-width:none;padding:0}.studio.is-playtesting .studio-toolbar,.studio.is-playtesting .chat-panel{display:none!important}.studio.is-playtesting .studio-main{min-height:100%;display:block;overflow:hidden}.studio.is-playtesting .preview-panel,.preview-panel.is-playtesting{z-index:200;width:100vw;height:100dvh;max-height:none;box-shadow:none;overscroll-behavior:none;background:#0d0a1f;border:none;border-radius:0;position:fixed;inset:0;overflow:hidden}.preview-panel:fullscreen{z-index:200;width:100vw;height:100dvh;max-height:none;box-shadow:none;overscroll-behavior:none;background:#0d0a1f;border:none;border-radius:0;position:fixed;inset:0;overflow:hidden}.preview-panel:-webkit-full-screen{z-index:200;width:100vw;height:100dvh;max-height:none;box-shadow:none;overscroll-behavior:none;background:#0d0a1f;border:none;border-radius:0;position:fixed;inset:0;overflow:hidden}.studio.is-touch-immersive .playtest-exit-hint,.studio.is-touch-immersive .playtest-focus-hint{display:none!important}.studio.is-touch-immersive .progress-chip{top:calc(env(safe-area-inset-top,0px) + 72px)}:-webkit-any(.studio.is-playtesting .preview-frame,.preview-panel.is-playtesting .preview-frame,.preview-panel:fullscreen .preview-frame,.preview-panel:-webkit-full-screen .preview-frame){background:#0d0a1f;flex:1;width:100%;height:100%;min-height:100%}:is(.studio.is-playtesting .preview-frame,.preview-panel.is-playtesting .preview-frame,.preview-panel:fullscreen .preview-frame,.preview-panel:fullscreen .preview-frame){background:#0d0a1f;flex:1;width:100%;height:100%;min-height:100%}@media (pointer:coarse){.playtest-exit-hint{display:none}}@media (prefers-reduced-motion:reduce){.playtest-fab{animation:none}.playtest-fab:hover,.playtest-fab:active,.playtest-exit-btn:hover,.playtest-exit-btn:active{transform:none}}.preview-canvas-wrap{background:linear-gradient(#10182e,#1b2a4d);flex:1;position:relative}.preview-canvas{touch-action:none;width:100%;height:100%;position:absolute;inset:0}.model-download-btn{position:absolute;bottom:14px;right:14px}.preview-hint{color:var(--ink-soft);pointer-events:none;font-size:13px;position:absolute;bottom:10px;left:12px}.making-overlay{-webkit-backdrop-filter:blur(10px);z-index:5;text-align:center;transition:background .3s var(--ease-out), backdrop-filter .3s var(--ease-out);background:#0d0a1fc7;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:20px;display:flex;position:absolute;inset:0}.making-overlay.is-celebrating{-webkit-backdrop-filter:blur(4px);pointer-events:none;background:#0d0a1f66}.making-overlay .spinner{font-size:54px;animation:1.1s ease-in-out infinite bob}.making-overlay .line{color:var(--ink);font-size:20px;font-weight:800}.making-overlay .chars{color:var(--ink-soft);font-size:14px}.making-comeback-hint{color:var(--gold);letter-spacing:.01em;background:#ffd84d29;border:1px solid #ffd84d47;border-radius:999px;max-width:90%;margin-top:6px;padding:7px 14px;font-size:13px;font-weight:700;animation:2.4s ease-in-out infinite making-comeback-pulse}@keyframes making-comeback-pulse{0%,to{opacity:.78;transform:scale(1)}50%{opacity:1;transform:scale(1.03)}}.confetti-layer{pointer-events:none;z-index:6;position:absolute;inset:0;overflow:hidden}.confetti-piece{opacity:.95;border-radius:2px;width:8px;height:14px;animation:1.2s ease-in forwards confetti-fall;position:absolute;top:-12px}@keyframes confetti-fall{to{opacity:.85;transform:translateY(110vh)rotate(540deg)}}@keyframes bob{0%,to{transform:translateY(0)rotate(-6deg)}50%{transform:translateY(-12px)rotate(6deg)}}.mission-wrap{max-width:640px;margin:46px auto 30px;position:relative}.mission-penguin{z-index:2;filter:drop-shadow(0 8px 14px #02010a80);position:absolute;top:-38px;left:50%;transform:translate(-50%)}.mission-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card), 0 0 40px -12px #7b5cff80;border:1px solid var(--border);text-align:center;flex-direction:column;gap:18px;margin:0;padding:34px 30px 30px;display:flex;position:relative}.mission-card>*{opacity:0;animation:card-fade-up .42s var(--ease-out) both}.mission-card>:first-child{animation-delay:60ms}.mission-card>:nth-child(2){animation-delay:.12s}.mission-card>:nth-child(3){animation-delay:.18s}.mission-card>:nth-child(4){animation-delay:.24s}.mission-card>:nth-child(5){animation-delay:.3s}.mission-emoji{font-size:54px}.mission-question{font-family:var(--font-display);letter-spacing:-.03em;font-size:34px;font-weight:800}.mission-card .magic-chips{justify-content:center}.mission-input{background:var(--surface-2);border:1px solid var(--border);color:var(--ink);border-radius:var(--radius-md);text-align:center;padding:14px 16px;font-size:18px}.idea-ticker{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.idea-ticker-track{gap:0;width:max-content;animation:32s linear infinite idea-ticker-scroll;display:flex}.idea-ticker-group{gap:28px;padding-right:28px;display:flex}.idea-ticker:hover .idea-ticker-track{animation-play-state:paused}.idea-ticker-item{color:var(--ink-soft);white-space:nowrap;flex-shrink:0;font-size:14px;font-weight:600}@keyframes idea-ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.mission-input:focus{border-color:var(--secondary)}.mission-input:focus:not(:focus-visible){outline:none}.mission-input:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;display:grid}.gallery-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:1px solid var(--border);text-align:center;flex-direction:column;align-items:center;gap:6px;padding:20px;transition:transform .15s;display:flex}.gallery-card:hover{transform:translateY(-4px)}.gallery-card .emoji{font-size:44px}.gallery-card .name{font-family:var(--font-display);letter-spacing:-.02em;word-break:break-word;font-size:17px;font-weight:800}.gallery-card .date{color:var(--ink-soft);font-size:13px}.gallery-card .row{gap:8px;margin-top:8px;display:flex}.empty-note{color:var(--ink-soft);text-align:center;margin-top:30px;font-size:18px}.auth-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:1px solid var(--border);flex-direction:column;gap:14px;max-width:420px;margin:40px auto;padding:30px;display:flex}.auth-card h2{font-family:var(--font-display);letter-spacing:-.02em;text-align:center;margin:0;font-size:24px}.auth-card input{background:var(--surface-2);border:1px solid var(--border);color:var(--ink);border-radius:var(--radius-sm);padding:12px 14px;font-size:16px}.auth-card input:focus{border-color:var(--secondary)}.auth-card input:focus:not(:focus-visible){outline:none}.auth-card input:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.auth-error{color:var(--rose-ink);background:#f43f5e1f;border:1px solid #f43f5e59;border-radius:12px;padding:10px 12px;font-size:14px}.auth-note{color:var(--ink-soft);text-align:center;font-size:14px}.profile-grid{max-width:700px;margin:0 auto}.auth-card-spaced{margin-top:30px}.avatar-pick{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.avatar-pick button{background:var(--surface-2);border:3px solid #0000;border-radius:12px;padding:6px 10px;font-size:26px}.avatar-pick button.selected{border-color:var(--primary);background:#ff5edb26}.avatar-pick button:hover{transform:translateY(-2px)scale(1.06)}.profile-settings{flex-direction:column;align-items:center;display:flex}.profile-settings-hero{text-align:center;flex-direction:column;align-items:center;gap:8px;margin:8px 0 18px;display:flex}.profile-settings-card{flex-direction:column;gap:18px;width:100%;display:flex}.profile-field{text-align:left;flex-direction:column;gap:8px;display:flex}.profile-field-label{font-family:var(--font-display);color:var(--ink);font-size:18px;font-weight:800}.profile-field-hint{color:var(--ink-soft);margin:0;font-size:14px}.profile-pet-preview{background:var(--surface-2);border-radius:16px;justify-content:center;align-items:center;gap:10px;margin-top:6px;padding:10px 14px;font-size:15px;display:flex}.profile-pet-preview-emoji{font-size:28px;animation:3.2s ease-in-out infinite pet-idle-bob}.profile-saved-flash{text-align:center;color:var(--mint);animation:pet-card-pop .42s var(--spring) both;background:#50e6b424;border-radius:12px;padding:10px 12px;font-weight:700}@keyframes pet-card-pop{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}.profile-switch-btn{margin-top:4px}.auth-card-wide{max-width:560px}.math-challenge{text-align:center;font-size:30px;font-weight:800}.welcome-auth .pin-dots{justify-content:center;gap:12px;margin:4px 0 8px;display:flex}.pin-dot{border:3px solid var(--border);background:0 0;border-radius:50%;width:18px;height:18px}.pin-dot.filled{background:var(--gold);border-color:var(--gold)}.pin-pad{grid-template-columns:repeat(3,1fr);gap:8px;max-width:280px;margin:0 auto;display:grid}.pin-key{font-family:var(--font-display);border:1px solid var(--border);background:var(--surface-2);min-height:52px;color:var(--ink);border-radius:16px;font-size:22px;font-weight:800}.pin-key:active{transform:scale(.96)}.family-add-kid{flex-direction:column;gap:10px;max-width:560px;margin-top:12px;display:flex}.family-add-kid input{background:var(--surface-2);border:1px solid var(--border);color:var(--ink);border-radius:var(--radius-sm);padding:12px 14px;font-size:16px}.family-kid-actions{flex-wrap:wrap;flex:1 0 100%;gap:6px;margin-top:6px;display:flex}.family-kid-open{border-color:var(--gold);color:var(--ink);background:color-mix(in srgb, var(--gold) 18%, transparent);font-weight:800}.family-kid-open:hover:not(:disabled){background:color-mix(in srgb, var(--gold) 30%, transparent)}.family-kid-open:disabled{opacity:.6}.parent-view-bar{z-index:45;background:color-mix(in srgb, var(--gold) 26%, var(--surface-glass));border-bottom:1px solid color-mix(in srgb, var(--gold) 55%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--ink);flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 16px;padding:8px 18px;font-size:14px;display:flex;position:sticky;top:62px}.parent-view-text strong{font-weight:800}.parent-view-exit{border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:var(--radius-sm);cursor:pointer;padding:5px 12px;font-size:13px;font-weight:700}.parent-view-exit:hover{border-color:var(--gold)}@media (width<=640px){.parent-view-bar{padding:7px 12px;font-size:13px;top:54px}}.family-reset-pin{flex:1 0 100%;gap:8px;width:100%;margin-top:8px;display:flex}.family-reset-pin input{background:var(--surface);border:1px solid var(--border);color:var(--ink);border-radius:var(--radius-sm);flex:1;min-width:0;padding:10px 12px;font-size:15px}.family-reset-pin input:focus{border-color:var(--secondary);outline:none}.status-table{border-collapse:collapse;width:100%;font-size:15px}.status-table td{border-bottom:1px solid var(--border);padding:8px 6px}.status-table td:first-child{width:45%;font-weight:800}.ok{color:var(--mint);font-weight:800}.bad{color:var(--rose);font-weight:800}.page.family-settings{flex-direction:column;width:100%;min-width:0;max-width:none;padding:18px clamp(16px,3vw,56px);display:flex;overflow:hidden}.family-head{text-align:left;flex-shrink:0;width:100%;max-width:1320px;margin:8px auto 0}.family-head h2{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 6px;font-size:26px}.family-head .auth-note{max-width:52ch;margin:0}.family-shell{flex:1;grid-template-columns:228px minmax(0,1fr);align-items:stretch;gap:20px;width:100%;min-width:0;max-width:1320px;min-height:0;margin:14px auto 0;display:grid}.family-nav{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:0;height:fit-content;min-height:0;box-shadow:var(--shadow-card);align-self:start;padding:10px;overflow-y:auto}.family-nav-list{flex-direction:column;gap:4px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.family-nav-item{border-radius:var(--radius-md);width:100%;min-height:44px;color:var(--ink);font-family:var(--font-display);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:10px;padding:8px 12px;font-size:15px;font-weight:700;display:flex}.family-nav-item:hover{background:var(--surface-2)}.family-nav-item[aria-current=page]{background:color-mix(in oklch, var(--primary) 13%, var(--surface-2));border-color:color-mix(in oklch, var(--primary) 55%, var(--border))}.family-nav-emoji{text-align:center;flex-shrink:0;width:1.4em;font-size:18px;line-height:1}.family-nav-label{flex:1;min-width:0}.family-nav-alert{border-radius:50%;flex-shrink:0;width:8px;height:8px}.family-nav-alert-warn{background:var(--gold);box-shadow:0 0 10px var(--glow-gold,#ffd84d73)}.family-nav-alert-unknown{background:var(--ink-soft)}.family-nav-alert-bad{background:var(--rose)}.family-section h3:focus{outline:none}.family-section h3:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.family-pane{scrollbar-width:thin;scrollbar-color:var(--surface-2) transparent;min-height:0;overflow-y:auto}.family-pane::-webkit-scrollbar{width:10px}.family-pane::-webkit-scrollbar-track{background:0 0}.family-pane::-webkit-scrollbar-thumb{background:var(--surface-2);border-radius:var(--radius-pill);background-clip:content-box;border:2px solid #0000}.family-pane::-webkit-scrollbar-thumb:hover{background:var(--border);background-clip:content-box}.family-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);min-width:0;padding:20px 22px}.family-you-card{align-items:center;gap:var(--sp-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 14px;display:flex}.family-you-text{flex-direction:column;gap:2px;min-width:0;display:flex}.family-you-text .family-hint{margin:0}.family-you .big-btn{margin-top:var(--sp-3)}.family-add-kid-grid{gap:var(--sp-2);grid-template-columns:1fr 1fr;display:grid}.family-add-kid-grid input{background:var(--surface-2);border:1px solid var(--border);color:var(--ink);border-radius:var(--radius-sm);padding:12px 14px;font-size:16px}.family-add-kid-grid input:focus{border-color:var(--secondary);outline:none}.family-add-kid .avatar-pick button{min-width:54px;padding:6px 0}@media (width<=840px){.family-shell{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;gap:12px;margin-top:10px}.family-nav{padding:8px;overflow:visible}.family-nav-list{scrollbar-width:thin;flex-direction:row;gap:6px;width:100%;padding-bottom:2px;overflow:auto hidden}.family-nav-item{white-space:nowrap;flex-shrink:0;width:auto;padding:8px 14px}.family-nav-label{flex:none}}@media (width<=720px){.page.family-settings{padding-left:14px;padding-right:14px}.family-add-kid-grid{grid-template-columns:1fr}}.family-section{margin-top:0}.family-section h3{margin:0 0 var(--sp-4);font-family:var(--font-display);letter-spacing:-.02em;font-size:22px}.family-subhead{margin:var(--sp-4) 0 var(--sp-2);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);font-size:13px;font-weight:800}.family-hint{margin:var(--sp-3) 0 0;color:var(--ink-soft);font-size:13px}.family-kid-list{gap:var(--sp-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.family-kid{align-items:center;gap:var(--sp-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);flex-wrap:wrap;padding:10px 14px;display:flex}.family-kid-avatar{font-size:26px}.family-kid-name{font-weight:800}.family-kid-pet{color:var(--ink-soft);margin-left:auto;font-size:13px}.guard-row{align-items:center;gap:var(--sp-4);padding:var(--sp-3) 0;border-bottom:1px dashed var(--border);display:flex}.guard-row:last-of-type{border-bottom:none}.guard-row-text{flex-direction:column;gap:2px;min-width:0;display:flex}.guard-row-label{font-size:15px;font-weight:800}.guard-row-desc{color:var(--ink-soft);font-size:13px}.guard-row>.ok,.guard-row>.bad{white-space:nowrap;flex-shrink:0;margin-left:auto}.guard-switch{border-radius:var(--radius-pill);border:2px solid var(--border);background:var(--surface-2);cursor:pointer;width:56px;height:32px;transition:background .2s var(--ease-out), border-color .2s var(--ease-out);flex-shrink:0;margin-left:auto;padding:0;position:relative}.guard-switch.on{background:var(--mint);border-color:var(--mint)}.guard-knob{background:var(--ink);width:22px;height:22px;transition:left .22s var(--spring), transform .22s var(--spring);border-radius:50%;position:absolute;top:50%;left:3px;transform:translateY(-50%);box-shadow:0 2px 6px #02010a80}.guard-switch.on .guard-knob{left:calc(100% - 25px)}.guard-switch:active .guard-knob{transform:translateY(-50%)scale(1.15)}@media (prefers-reduced-motion:reduce){.guard-switch,.guard-knob{transition:none}}.family-safe-list{padding-left:var(--sp-6);gap:var(--sp-2);flex-direction:column;margin:0;font-size:14px;display:flex}.family-neutral{color:var(--ink-soft);font-weight:800}.family-warning{color:var(--gold);font-weight:700}.paused-card{cursor:default;opacity:.85;text-align:center}.family-trouble .status-table,.family-section .soft-btn{margin-top:var(--sp-3)}.box-select-overlay{z-index:6;pointer-events:none;position:absolute;inset:0}.box-select-overlay.active{pointer-events:auto;cursor:crosshair;background:#06b6d414}.box-select-rect{border:4px dashed var(--sky);pointer-events:none;background:#06b6d42e;border-radius:8px;position:absolute;box-shadow:inset 0 0 0 2px #fdf7ff59}.box-select-overlay.shaking .box-select-rect{border-color:var(--primary);background:#ff5edb33;animation:.4s ease-in-out boxshake}@keyframes boxshake{0%,to{transform:translate(0)}20%{transform:translate(-7px)}40%{transform:translate(7px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}.box-select-hint{background:var(--surface);width:fit-content;height:fit-content;color:var(--ink);box-shadow:var(--shadow-card);pointer-events:none;white-space:normal;text-align:center;border-radius:999px;max-width:90%;margin:auto;padding:14px 24px;font-size:17px;font-weight:700;animation:1.1s ease-in-out infinite bob;position:absolute;inset:0}.region-popover-overlay{z-index:10;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a061e59;justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0}.region-popover{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);flex-direction:column;gap:14px;width:100%;max-width:380px;padding:22px;animation:.28s cubic-bezier(.34,1.56,.64,1) popoverin;display:flex}@keyframes popoverin{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}.region-popover-label{color:var(--ink);text-align:center;font-size:18px;font-weight:800;line-height:1.35}.region-popover-chips{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.region-popover-again{border-radius:var(--radius-pill);color:var(--rose-ink);background:#f43f5e24;border:1px solid #f43f5e59;align-self:center;padding:8px 16px;font-size:14px;font-weight:700}.region-popover-again:hover{background:#f43f5e38}.region-popover-looking{flex-direction:column;align-items:center;gap:12px;padding:12px 6px 6px;display:flex}.looking-eyes{font-size:46px;line-height:1;animation:1.1s ease-in-out infinite looking-bob}.looking-text{color:var(--ink);text-align:center;font-size:17px;font-weight:800}@keyframes looking-bob{0%,to{transform:translateY(0)rotate(-7deg)}50%{transform:translateY(-7px)rotate(7deg)}}@media (prefers-reduced-motion:reduce){.looking-eyes{animation:none}}@media (width<=640px){.region-popover{max-width:100%;padding:16px}.box-select-hint{padding:10px 16px;font-size:15px}}.auth-splash{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;padding:40px 20px;display:flex}.auth-splash-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);font-size:28px;font-weight:800}.auth-splash-sub{color:var(--ink-soft);font-size:16px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.type-card.rainbow{border-top:10px solid;border-image:linear-gradient(90deg, var(--primary), var(--gold), var(--mint), var(--sky), var(--secondary), var(--primary)) 1;box-shadow:var(--shadow-card), 0 0 38px -6px #7b5cff99;border-image-slice:1;position:relative}.type-card.rainbow .name{background:linear-gradient(90deg, var(--primary), var(--gold), var(--mint), var(--sky), var(--secondary));color:#0000;background-size:200%;-webkit-background-clip:text;background-clip:text;animation:5s linear infinite rainbow-name-slide}@keyframes rainbow-name-slide{to{background-position:200%}}.type-card .rainbow-spark{pointer-events:none;font-size:18px;animation:2.4s ease-in-out infinite spark-twinkle;position:absolute;top:12px;right:16px}@keyframes spark-twinkle{0%,to{opacity:.35;transform:scale(.9)rotate(0)}50%{opacity:1;transform:scale(1.25)rotate(20deg)}}.ideas-screen{flex-direction:column;gap:12px;min-height:0;display:flex}.page.ideas-screen{height:100%;padding-bottom:18px;overflow:hidden}.ideas-screen .page-title{margin:2px 0;font-size:clamp(24px,3.4vw,34px)}.ideas-screen .page-sub{margin:0 0 4px;font-size:16px}.ideas-top{text-align:center;flex-direction:column;align-items:center;gap:4px;display:flex;position:relative}.ideas-back{position:absolute;top:0;left:0}.ideas-mascot{margin-bottom:2px}.ideas-chat-wrap{flex:1;min-height:0;display:flex}.ideas-chat-wrap>.chat-panel{flex:1}.ideas-chat-wrap .bubble{max-width:min(88%,640px)}@media (width<=900px){.ideas-chat-wrap>.chat-panel{min-height:0;max-height:none}}.decision-banner{border:2px solid var(--mint);border-radius:var(--radius-lg);animation:decision-pop .42s var(--spring) both;background:linear-gradient(135deg,#2ee6a82e,#7b5cff2e);align-items:center;gap:16px;padding:14px 18px;display:flex;box-shadow:0 12px 30px -10px #2ee6a873}@keyframes decision-pop{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.decision-banner-emoji{flex-shrink:0;font-size:40px;animation:3.2s ease-in-out infinite emoji-idle-bob}.decision-banner-text{flex:1;min-width:0}.decision-banner-kicker{font-family:var(--font-display);color:var(--mint);letter-spacing:.04em;text-transform:uppercase;font-size:13px;font-weight:800}.decision-banner-idea{font-family:var(--font-display);color:var(--ink);letter-spacing:-.01em;word-break:break-word;font-size:20px;font-weight:800;line-height:1.25}.decision-banner-type{color:var(--ink-soft);margin-top:2px;font-size:13px}.decision-make-btn{flex-shrink:0;animation:2.2s ease-in-out infinite decision-cta-pulse}@keyframes decision-cta-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@media (width<=640px){.decision-banner{flex-wrap:wrap}.decision-make-btn{width:100%}.ideas-back{align-self:flex-start;position:static}}.leave-guard-backdrop{z-index:1000;-webkit-backdrop-filter:blur(8px);background:#0d0a1fb8;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.leave-guard-modal{background:var(--panel,#1f1840);text-align:center;border:2px solid #ffffff1f;border-radius:24px;flex-direction:column;align-items:center;gap:12px;width:min(420px,100%);padding:28px 24px;display:flex;box-shadow:0 20px 60px #0006}.leave-guard-title{margin:0;font-size:24px;font-weight:800}.leave-guard-body{color:var(--ink-soft);margin:0;line-height:1.45}.leave-guard-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px;display:flex}.game-loader{flex-direction:column;align-items:stretch;gap:10px;width:min(520px,100%);max-width:100%;display:flex}.game-loader.is-compact{width:min(280px,100%)}.game-loader-top{text-align:left;align-items:center;gap:10px;display:flex}.game-loader-copy{flex:1;min-width:0}.game-loader-label{font-family:var(--font-display);align-items:center;min-height:40px;font-size:16px;font-weight:800;display:flex}.game-loader.is-compact .game-loader-label{min-height:34px;font-size:14px}.game-loader-progress{color:var(--ink-soft);font-size:13px}.making-overlay .game-loader{pointer-events:auto}.game-loader-bar{border-radius:var(--radius-pill);background:var(--surface-2);border:2px solid #ffffff1a;height:22px;position:relative;overflow:hidden;box-shadow:inset 0 2px 6px #02010a80}.game-loader-bar-fill{border-radius:var(--radius-pill);background:linear-gradient(90deg, var(--gold), var(--primary));transition:width .5s var(--ease-out);position:absolute;inset:0 auto 0 0}.game-loader-bar-fill:after{content:"";border-radius:var(--radius-pill);background:linear-gradient(100deg,#fff0 30%,#ffffff6b 50%,#fff0 70%) 0 0/220% 100%;animation:1.8s linear infinite game-bar-shimmer;position:absolute;inset:0}.game-loader-bar-text{text-align:center;line-height:18px;font-family:var(--font-display);color:var(--ink);text-shadow:0 1px 3px #02010abf;white-space:nowrap;text-overflow:ellipsis;padding:0 10px;font-size:12px;font-weight:800;display:block;position:relative;overflow:hidden}@keyframes game-bar-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}.game-shell{flex-direction:column;gap:8px;width:100%;display:flex}.game-shell-hud{align-items:center;gap:6px;min-width:0;display:flex}.game-shell-title{font-family:var(--font-display);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;flex-shrink:1;min-width:0;font-size:15px;font-weight:800;overflow:hidden}.game-shell-stat{border-radius:var(--radius-pill);background:var(--surface-2);font-family:var(--font-display);color:var(--ink);border:1px solid #ffffff1a;flex-shrink:0;padding:3px 10px;font-size:13px;font-weight:800}.game-shell-stat.is-best{color:var(--gold)}.game-shell-hud-spacer{flex:1;min-width:0}.game-shell-icon-btn{cursor:pointer;width:34px;height:34px;color:var(--ink);transition:transform .14s var(--spring), background .14s var(--ease-out);background:#ffffff1f;border:0;border-radius:50%;flex-shrink:0;place-items:center;font-size:15px;line-height:1;display:grid}.game-shell-icon-btn:hover{background:#ffffff38;transform:scale(1.08)}.game-shell-icon-btn:active{transform:scale(.94)}.game-shell-switch-btn{background:#ffd84d2e;animation:1.8s ease-in-out infinite game-switch-bob;box-shadow:0 0 0 1px #ffd84d47}.game-shell-switch-btn:hover{background:#ffd84d52;animation:none}@keyframes game-switch-bob{0%,to{transform:translateY(0)rotate(0)}40%{transform:translateY(-2px)rotate(-8deg)}70%{transform:translateY(-1px)rotate(6deg)}}.game-shell-switch{min-height:42px;font-weight:800}.game-shell-stage{aspect-ratio:16/10;background:var(--bg);border:2px solid #ffffff1f;border-radius:18px;width:100%;min-height:200px;max-height:min(52vh,420px);position:relative;overflow:hidden}.game-shell.is-compact .game-shell-stage{aspect-ratio:4/3;min-height:170px;max-height:240px}.game-shell-canvas{background:var(--bg);touch-action:pan-y;border:0;width:100%;height:100%;display:block;position:absolute;inset:0}.game-shell-canvas:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}.game-shell-overlay{-webkit-backdrop-filter:blur(4px);text-align:center;background:#0d0a1fbd;place-items:center;padding:10px;display:grid;position:absolute;inset:0;overflow:hidden}.game-shell-card{max-width:100%;animation:game-card-pop .42s var(--spring) both;flex-direction:column;align-items:center;gap:8px;display:flex}.game-shell-card.is-win .game-shell-card-title{color:var(--gold)}@keyframes game-card-pop{0%{opacity:0;transform:scale(.86)translateY(10px)}to{opacity:1;transform:none}}.game-shell-card-title{font-family:var(--font-display);color:var(--ink);font-size:22px;font-weight:800;line-height:1.15}.game-shell-goal{font-family:var(--font-body);color:var(--ink-soft);max-width:30ch;font-size:15px;line-height:1.35}.game-shell-controls{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.game-shell-control{border-radius:var(--radius-pill);background:var(--surface-2);color:var(--ink);white-space:nowrap;border:1px solid #ffffff1f;padding:4px 10px;font-size:12.5px;font-weight:700}.game-shell-play{padding:10px 26px;font-size:17px}.game-shell-final{font-family:var(--font-display);color:var(--ink);align-items:baseline;gap:10px;font-size:26px;font-weight:800;display:flex}.game-shell-final-best{color:var(--gold);font-size:14px}.game-shell-newbest{font-family:var(--font-display);color:var(--mint);animation:game-newbest-bounce .9s var(--spring) infinite alternate;font-size:14px;font-weight:800}@keyframes game-newbest-bounce{0%{transform:translateY(0)scale(1)}to{transform:translateY(-3px)scale(1.06)}}.game-shell-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.game-shell-dots{gap:6px;display:flex}.game-shell-dots span{background:var(--primary);border-radius:50%;width:9px;height:9px;animation:1s ease-in-out infinite game-dot-bob}.game-shell-dots span:nth-child(2){background:var(--gold);animation-delay:.14s}.game-shell-dots span:nth-child(3){background:var(--mint);animation-delay:.28s}@keyframes game-dot-bob{0%,to{opacity:.6;transform:translateY(0)}50%{opacity:1;transform:translateY(-6px)}}.game-shell.is-compact .game-shell-card-title{font-size:17px}.game-shell.is-compact .game-shell-goal{font-size:13px}.game-shell.is-compact .game-shell-controls{display:none}.game-shell.is-compact .game-shell-play{padding:8px 18px;font-size:15px}.game-shell.is-compact .game-shell-final{font-size:20px}.game-shell.is-compact .game-shell-title{font-size:13px}.game-shell.is-compact .game-shell-icon-btn{width:34px;height:34px;font-size:14px}.game-shell.is-compact .game-shell-switch{min-height:36px;padding:6px 12px;font-size:13px}.share-modal .game-loader-label,.share-modal .game-shell-title{color:#2a1e52}.share-modal .game-loader-progress{color:#5b4b8a}.share-modal .game-shell-icon-btn{color:#2a1e52;background:#2a1e521a}.share-modal .game-shell-icon-btn:hover{background:#2a1e522e}@media (prefers-reduced-motion:reduce){.game-loader-bar-fill{transition:none}.game-loader-bar-fill:after{opacity:0;animation:none}.game-shell-card,.game-shell-newbest,.game-shell-dots span,.game-shell-switch-btn{animation:none}}.chat-md{display:block}.chat-md-p{margin:0}.chat-md-p+.chat-md-p{margin-top:4px}.chat-md-gap{height:6px}.chat-md-list{gap:3px;margin:4px 0 2px;padding-left:20px;display:grid}.chat-md code{background:#ffffff2e;border-radius:6px;padding:0 5px;font-size:.92em}.app-toast{z-index:900;background:var(--panel,#1f1840);border:2px solid #ffffff29;border-radius:999px;align-items:center;gap:12px;max-width:min(520px,100vw - 24px);padding:12px 16px 12px 20px;font-weight:800;animation:.35s ease-out toast-pop;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000059}.app-toast-message{flex:1;min-width:0;line-height:1.25}.app-toast-action{font:inherit;cursor:pointer;color:#1a1230;background:var(--gold,#ffd76a);border:0;border-radius:999px;flex-shrink:0;padding:8px 14px;font-weight:900;transition:transform .12s,filter .12s;box-shadow:0 2px #0000002e}.app-toast-action:hover{filter:brightness(1.05);transform:translateY(-1px)}.app-toast-action:active{transform:translateY(1px)}.app-toast-action:focus-visible{outline:3px solid var(--sky,#7ec8ff);outline-offset:2px}@keyframes toast-pop{0%{opacity:0;transform:translate(-50%)translateY(12px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.lab-shell{color:#f4f4ff;z-index:50;background:radial-gradient(1200px 800px at 70% -10%,#2b1d6b 0%,#161347 45%,#0d0b2a 100%);font-family:system-ui,-apple-system,Segoe UI,sans-serif;position:fixed;inset:0;overflow:auto}.lab-content{max-width:1400px;margin:0 auto;padding:28px 24px 64px}.lab-header h1{letter-spacing:-.02em;margin:0 0 6px;font-size:2rem}.lab-tagline{color:#b9b8e6;max-width:80ch;margin:0 0 22px;font-size:.95rem}.lab-muted{color:#9b9ad4}.lab-code{color:#ffd8a8;word-break:break-word;background:#ffffff0f;border-radius:8px;padding:8px 10px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.85rem}.lab-gate{text-align:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff0d;border:1px solid #ffffff1f;border-radius:18px;max-width:560px;margin:12vh auto 0;padding:32px 28px}.lab-gate h1{margin-bottom:14px;font-size:2.2rem}.lab-gate p{margin:8px 0}.lab-gate code{background:#ffffff14;border-radius:6px;padding:2px 6px;font-family:ui-monospace,monospace}.lab-controls{background:#ffffff0d;border:1px solid #ffffff1f;border-radius:16px;grid-template-columns:minmax(240px,1fr) repeat(3,130px) 1fr 1fr auto;align-items:end;gap:12px;margin-bottom:24px;padding:16px;display:grid}.lab-openrouter-picker{background:#6c8cff17;border:1px solid #6c8cff3d;border-radius:14px;flex-direction:column;grid-column:1/-1;gap:12px;padding:16px;display:flex}.lab-openrouter-heading{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.lab-catalog-status{color:#8ce99a;flex:none;font-size:.78rem;font-weight:700}.lab-catalog-status.is-warning{color:#ffd43b}.lab-openrouter-add{grid-template-columns:minmax(180px,.7fr) minmax(300px,1.3fr) auto;align-items:end;gap:10px;width:100%;display:grid}.lab-model-search,.lab-model-select{min-width:0}.lab-add-model{border-radius:10px;min-height:39px}.lab-selected-models{gap:8px;width:100%;display:grid}.lab-selected-model{background:#0000003d;border:1px solid #ffffff1a;border-radius:11px;grid-template-columns:minmax(220px,1fr) minmax(190px,260px) auto;align-items:end;gap:12px;padding:10px 12px;display:grid}.lab-selected-model-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.lab-selected-model-copy strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lab-selected-model-copy span{color:#9b9ad4;text-overflow:ellipsis;white-space:nowrap;font:.72rem ui-monospace,monospace;overflow:hidden}.lab-effort-select{flex-direction:column;gap:4px;display:flex}.lab-effort-select>span{color:#b9b8e6;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}.lab-remove-model{color:#ffc9c9;cursor:pointer;background:#ff6b6b1a;border:1px solid #ff6b6b59;border-radius:9px;min-height:39px;padding:8px 12px}.lab-model-empty{color:#b9b8e6;text-align:center;border:1px dashed #ffffff2e;border-radius:10px;width:100%;padding:12px;font-size:.82rem}.lab-field{flex-direction:column;gap:6px;display:flex}.lab-field>span{text-transform:uppercase;letter-spacing:.04em;color:#b9b8e6;font-size:.78rem}.lab-input{color:#fff;background:#0000004d;border:1px solid #ffffff26;border-radius:10px;outline:none;padding:9px 12px;font-size:.92rem}.lab-input:focus{border-color:#6c8cff;box-shadow:0 0 0 3px #6c8cff40}.lab-field-narrow{width:100%}.lab-field-types .lab-chips{flex-wrap:wrap;gap:8px;display:flex}.lab-chip{color:#d9d8f8;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff26;border-radius:999px;padding:7px 13px;font-size:.85rem;transition:transform .12s,background .15s,border-color .15s}.lab-chip:hover{transform:translateY(-1px)}.lab-chip.on{color:#fff;background:linear-gradient(135deg,#6c8cff,#9775ff);border-color:#0000;font-weight:600}.lab-run{color:#042b14;cursor:pointer;background:linear-gradient(135deg,#51cf66,#38d9a9);border:none;border-radius:12px;padding:12px 22px;font-size:1rem;font-weight:700;transition:transform .12s,filter .15s;box-shadow:0 6px 18px #38d9a94d}.lab-run:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-2px)}.lab-run:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.lab-leaderboard{margin-bottom:24px}.lab-leaderboard h2{margin:0 0 12px;font-size:1.15rem}.lab-leader-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.lab-leader-card{background:#ffffff0d;border:2px solid #ffffff26;border-radius:14px;padding:14px 16px;position:relative}.lab-leader-rank{color:#9b9ad4;font-size:.8rem;position:absolute;top:10px;right:12px}.lab-leader-name{margin-bottom:4px;font-size:1.02rem;font-weight:700}.lab-leader-score{letter-spacing:-.02em;font-size:1.4rem;font-weight:800}.lab-leader-meta{color:#b9b8e6;margin-top:4px;font-size:.8rem}.lab-matrix{flex-direction:column;gap:2px;display:flex}.lab-row{background:#ffffff0a;border-radius:14px;gap:2px;margin-bottom:8px;display:grid;overflow:hidden}.lab-row-head{background:0 0;margin-bottom:4px}.lab-cell{background:#00000047;flex-direction:column;gap:8px;min-height:80px;padding:12px;display:flex}.lab-cell-model{background:#ffffff0f;justify-content:center}.lab-cell-type{background:#6c8cff1f;justify-content:center;font-size:.92rem;font-weight:700}.lab-model-name{font-size:.98rem;font-weight:700}.lab-model-prov{color:#b9b8e6;font-size:.78rem}.lab-model-price{color:#ffd8a8;margin-top:4px;font-size:.72rem}.lab-status{font-size:.85rem}.lab-status-top{justify-content:space-between;align-items:baseline;display:flex}.lab-reliability{font-size:1.05rem;font-weight:800}.lab-reps{color:#d9d8f8;font-size:.8rem}.lab-status-stats{color:#b9b8e6;flex-wrap:wrap;gap:4px 10px;font-size:.74rem;display:flex}.lab-status-fails{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.lab-fail-pill{cursor:help;border-radius:999px;padding:2px 8px;font-size:.72rem}.lab-fail-death{color:#ffa8a8;background:#ff6b6b2e}.lab-fail-invalid{color:#ffe08a;background:#fab0052e}.lab-status-detail{color:#9b9ad4;margin-top:2px;font-size:.74rem;display:block}.lab-quality{flex-direction:column;gap:4px;margin-top:4px;display:flex}.lab-quality-tiers,.lab-leader-tiers{flex-wrap:wrap;gap:4px;display:flex}.lab-leader-tiers{justify-content:center;margin-top:6px}.lab-quality-pill{white-space:nowrap;cursor:help;border:1px solid #0000;border-radius:999px;padding:2px 7px;font-size:.68rem}.lab-quality-pill.full{color:#8ce99a;background:#51cf662e;border-color:#51cf6659}.lab-quality-pill.partial{color:#ffe08a;background:#fab00529;border-color:#fab00552}.lab-quality-pill.none{color:#8a89bd;background:#ffffff0d}.lab-quality-checks{color:#b9b8e6;margin:4px 0 0;padding-left:16px;font-size:.72rem}.lab-field-types[disabled]{opacity:.45}.lab-running{color:#d9d8f8;align-items:center;gap:8px;display:flex}.lab-error{color:#ffa8a8}.lab-spinner{border:2px solid #ffffff40;border-top-color:#6c8cff;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite lab-spin;display:inline-block}@keyframes lab-spin{to{transform:rotate(360deg)}}.lab-preview{background:#fff;border:1px solid #ffffff1a;border-radius:10px;flex:1;min-height:220px;display:flex;overflow:hidden}.lab-preview .preview-frame{min-height:220px}.lab-preview-image{background:#fffffff2;justify-content:center;align-items:center;padding:8px}.lab-preview-image img{object-fit:contain;border-radius:8px;max-width:100%;max-height:240px}.lab-image-caption{color:#555;text-align:center;margin-top:6px;font-size:.78rem}.lab-empty{color:#9b9ad4;text-align:center;flex:1;justify-content:center;align-items:center;padding:20px;font-size:.82rem;display:flex}.lab-raw-toggle{color:#d9d8f8;cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:8px;align-self:flex-start;padding:4px 10px;font-size:.74rem}.lab-raw{color:#c9c9ef;white-space:pre-wrap;word-break:break-word;background:#00000073;border:1px solid #ffffff1a;border-radius:8px;max-height:200px;margin:0;padding:8px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.72rem;overflow:auto}.lab-footer{margin-top:28px}.lab-footer p{font-size:.78rem}@media (width<=900px){.lab-controls{grid-template-columns:1fr 1fr}.lab-content{padding-inline:14px}.lab-openrouter-add{grid-template-columns:1fr 1fr}.lab-add-model{grid-column:1/-1}.lab-selected-model{grid-template-columns:1fr minmax(170px,230px)}.lab-remove-model{grid-column:1/-1}@media (width<=520px){.lab-openrouter-heading{flex-direction:column;align-items:flex-start}.lab-openrouter-add,.lab-selected-model{grid-template-columns:1fr}.lab-add-model,.lab-remove-model{grid-column:auto;width:100%}}.lab-matrix{padding-bottom:8px;overflow-x:auto}.lab-matrix .lab-row{min-width:max-content}}@media (prefers-reduced-motion:reduce){.lab-spinner{animation:none}.lab-chip,.lab-run,.lab-raw-toggle{transition:none}}.lab-preview-clickable{cursor:zoom-in;position:relative}.lab-preview-clickable iframe,.lab-preview-clickable .preview-frame{pointer-events:none}.lab-preview-clickable:hover{outline-offset:-2px;outline:2px solid #6c8cff80}.lab-expand-hint{color:#fff;opacity:0;pointer-events:none;background:#000000a6;border-radius:6px;padding:2px 8px;font-size:.68rem;transition:opacity .2s;position:absolute;bottom:6px;right:6px}.lab-preview-clickable:hover .lab-expand-hint{opacity:1}.lab-modal-overlay{z-index:100;background:#000000e0;justify-content:center;align-items:center;padding:clamp(8px,1.5vw,20px);animation:.2s lab-fade-in;display:flex;position:fixed;inset:0}@keyframes lab-fade-in{0%{opacity:0}to{opacity:1}}.lab-modal{background:#1a1830;border:1px solid #ffffff26;border-radius:16px;flex-direction:column;width:100%;max-width:none;height:100%;max-height:none;display:flex;overflow:hidden}.lab-modal-header{border-bottom:1px solid #ffffff1a;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.lab-modal-title{color:#f4f4ff;font-size:1.05rem;font-weight:700}.lab-modal-close{color:#f4f4ff;cursor:pointer;background:#ffffff1a;border:none;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.2rem;transition:background .15s;display:flex}.lab-modal-close:hover{background:#ff6b6b4d}.lab-modal-body{background:#fff;flex:1;justify-content:stretch;align-items:stretch;min-height:0;display:flex;overflow:hidden}.lab-modal-body .preview-frame{border:none;flex:1;width:100%;height:100%;min-height:0}.lab-modal-body .preview-canvas-wrap{flex:1;width:100%;height:100%;min-height:0}.lab-modal-image-wrap{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;max-height:100%;padding:20px;display:flex}.lab-modal-image-wrap img{object-fit:contain;border-radius:12px;max-width:100%;max-height:80vh}.lab-modal-caption{color:#555;text-align:center;font-size:.9rem}.lab-modal-body .lab-empty{color:#999;padding:40px;font-size:1rem}:root{--fg:var(--ink);--muted:var(--ink-soft);--accent:var(--primary);--glow-pink:#ff5edb73;--glow-sky:#06b6d473;--glow-violet:#7b5cff73;--glow-gold:#ffd84d73;--glow-mint:#2ee6a873;--shadow-pop:0 2px 0 #fff3 inset, 0 40px 90px -12px #02010ae6;--font-mono:ui-monospace, "SF Mono", Menlo, monospace}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.app-header{z-index:50;background:var(--surface-glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);position:sticky;top:0}.header-btn{background:var(--surface-2);border:1px solid var(--border);min-height:44px;color:var(--ink);align-items:center;gap:8px;font-weight:600;display:inline-flex;position:relative}.header-btn:hover{background:color-mix(in oklch, var(--surface-2) 70%, var(--surface));border-color:color-mix(in oklch, var(--border) 40%, var(--ink-soft));transform:translateY(-2px);box-shadow:0 10px 22px -8px #02010ab3}.header-btn.active{border-color:color-mix(in oklch, var(--primary) 55%, var(--border));background:color-mix(in oklch, var(--primary) 13%, var(--surface-2))}.nav-dot{background:var(--gold);width:8px;height:8px;box-shadow:0 0 10px var(--glow-gold);border-radius:50%;position:absolute;top:6px;right:8px}.header-building-badge.is-done{background:linear-gradient(135deg, var(--gold), #ffb347);box-shadow:0 0 24px -6px var(--glow-gold);animation:none}.sound-btn{background:var(--surface-2);border:1px solid var(--border);width:44px;height:44px;transition:transform .25s var(--spring);border-radius:50%;flex-shrink:0;place-items:center;font-size:17px;display:grid}.sound-btn:hover{transform:scale(1.1)rotate(6deg)}.profile-chip .streak{font-family:var(--font-mono);color:var(--gold);font-size:13px}.profile-pop-scrim{z-index:55;cursor:default;background:0 0;border:0;position:fixed;inset:0}.profile-pop{z-index:60;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:264px;box-shadow:var(--shadow-pop);text-align:center;animation:handoff-pop-in .3s var(--spring);padding:22px;position:fixed;top:66px;right:16px}.profile-pop .big-avatar{font-size:48px;line-height:1}.profile-pop h3{font-family:var(--font-display);margin:6px 0 0;font-size:24px}.profile-pop .pet-line{color:var(--ink-soft);margin-top:2px;font-size:14px}.profile-pop .stat-line{margin-top:12px;font-size:14px}.profile-pop-actions{margin-top:16px}@keyframes handoff-pop-in{0%{opacity:0;transform:translateY(8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.home-root{flex:1;min-height:0;overflow-y:auto}.page.home-hero{max-width:1160px;padding-bottom:42px}.page.home-foot{max-width:1160px;padding-top:8px}.page-title-left,.page-sub-left{text-align:left}.page-sub-left{margin-bottom:0}.greet-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.pet-greet{flex-direction:column;flex:none;align-items:center;gap:8px;display:flex}.pet-bubble{background:var(--surface);border:1px solid var(--border);max-width:220px;color:var(--ink);box-shadow:var(--shadow-card);border-radius:16px 16px 4px;padding:10px 14px;font-size:13.5px;line-height:1.35}.pet-buddy-btn{background:var(--surface-2);border:2px solid var(--border);width:72px;height:72px;box-shadow:var(--shadow-card), 0 0 28px -8px var(--glow-violet);transition:transform .25s var(--spring);border-radius:50%;font-size:40px;animation:3.2s ease-in-out infinite pet-bob}.pet-buddy-btn:hover{transform:scale(1.08)rotate(-4deg)}.pet-buddy-btn:active{transform:scale(1.2)rotate(8deg)}@keyframes pet-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.sec-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.sec-eyebrow{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;margin:0 0 3px;font-size:11px}.eb-sky{color:var(--sky)}.eb-violet{color:var(--secondary)}.eb-gold{color:var(--gold)}.strip-title{font-family:var(--font-display);margin:0;font-size:21px;font-weight:700}.shelf-meta{font-family:var(--font-mono);color:var(--ink-soft);font-size:12px}.resume-strip{margin-top:36px}.resume-row{scroll-snap-type:x proximity;cursor:grab;gap:16px;margin-top:14px;padding:6px 2px 14px;display:flex;overflow-x:auto}.resume-row.dragging{cursor:grabbing}.resume-row::-webkit-scrollbar{height:8px}.resume-row::-webkit-scrollbar-thumb{background:var(--surface-2);border-radius:99px}.resume-card{scroll-snap-align:start;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);transition:transform .25s var(--spring), box-shadow .25s;flex-direction:column;flex:0 0 272px;gap:10px;padding:14px;display:flex}.resume-card:hover{transform:translateY(-4px)}.resume-top{align-items:center;gap:12px;display:flex}.resume-cover{border-radius:var(--radius-sm);border:1px solid var(--border);flex:none;place-items:center;width:56px;height:56px;font-size:28px;display:grid}.cover-game{background:color-mix(in oklch, var(--sky) 22%, var(--surface-2))}.cover-image{background:color-mix(in oklch, var(--secondary) 22%, var(--surface-2))}.cover-website{background:color-mix(in oklch, var(--primary) 22%, var(--surface-2))}.cover-model3d{background:color-mix(in oklch, var(--gold) 22%, var(--surface-2))}.cover-app{background:color-mix(in oklch, var(--mint) 22%, var(--surface-2))}.resume-name{font-family:var(--font-display);font-size:17px;font-weight:700}.resume-meta{font-family:var(--font-mono);color:var(--ink-soft);margin-top:2px;font-size:11.5px}.resume-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.mini-progress{background:var(--surface-2);border:1px solid var(--border);border-radius:99px;height:8px;overflow:hidden}.mini-progress i{background:linear-gradient(90deg, var(--sky), var(--mint));border-radius:inherit;height:100%;transition:width .25s var(--spring);display:block}.make-band{border-block:1px solid color-mix(in oklch, var(--border) 80%, transparent);background:linear-gradient(180deg, color-mix(in oklch, var(--secondary) 8%, transparent), transparent 90%)}.make-band .band-inner{max-width:1160px;padding-top:34px;padding-bottom:40px}.make-band .card-grid{margin-top:16px}.shelf{margin-top:8px}.badge-row{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-top:14px;display:grid}.badge{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);text-align:center;box-shadow:var(--shadow-card);flex-direction:column;align-items:center;gap:4px;padding:14px 12px;display:flex}.badge.earned{border-color:color-mix(in oklch, var(--gold) 55%, var(--border));box-shadow:var(--shadow-card), 0 0 22px -10px var(--glow-gold)}.badge.locked{opacity:.55;filter:saturate(.4)}.badge .b-emoji{font-size:28px;line-height:1}.badge.earned .b-emoji{filter:drop-shadow(0 0 8px var(--glow-gold))}.badge .b-name{font-family:var(--font-display);font-size:13.5px;font-weight:700}.badge .b-hint{color:var(--ink-soft);font-size:11.5px;line-height:1.3}.ticker-wrap{border:1px solid var(--border);background:var(--surface-glass);border-radius:var(--radius-pill);align-items:center;gap:14px;margin-top:40px;padding:10px 20px;display:flex;overflow:hidden}.ticker-label{font-family:var(--font-display);color:var(--gold);flex:none;font-size:15px;font-weight:700}.ticker{flex:1;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000);mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000)}.ticker-track{white-space:nowrap;gap:12px;animation:44s linear infinite handoff-ticker;display:inline-flex}.ticker:hover .ticker-track{animation-play-state:paused}.idea-chip{border-radius:var(--radius-pill);background:var(--surface-2);border:1px solid var(--border);align-items:center;gap:6px;padding:6px 12px;font-size:13.5px;display:inline-flex}@keyframes handoff-ticker{to{transform:translate(-50%)}}.filter-row{flex-wrap:wrap;justify-content:center;gap:8px;margin:8px 0 22px;display:flex}.chip-filter{border-radius:var(--radius-pill);background:var(--surface-2);border:1px solid var(--border);min-height:40px;color:var(--ink-soft);transition:transform .2s var(--spring), border-color .15s, background .15s;align-items:center;gap:8px;padding:6px 14px;font-size:13.5px;font-weight:600;display:inline-flex}.chip-filter:hover{transform:translateY(-1px)}.chip-filter.active{color:var(--ink);border-color:color-mix(in oklch, var(--primary) 55%, var(--border));background:color-mix(in oklch, var(--primary) 14%, var(--surface-2))}.chip-filter .num{opacity:.8}.gallery-grid-rich{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.gallery-card-rich{text-align:left;align-items:stretch;padding:0;overflow:hidden}.gallery-card-rich .g-cover{border-bottom:1px solid var(--border);place-items:center;height:120px;font-size:44px;display:grid;position:relative;overflow:hidden}.gallery-card-rich .g-body{flex-direction:column;gap:8px;padding:14px 16px 16px;display:flex}.gallery-card-rich .g-name{font-family:var(--font-display);flex-wrap:wrap;align-items:center;gap:8px;font-size:16px;font-weight:800;display:flex}.gallery-card-rich .g-meta{font-family:var(--font-mono);color:var(--ink-soft);font-size:11.5px}.gallery-card-rich .g-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.soft-btn.icon{min-width:40px;padding-inline:10px}.soft-btn.icon.danger:hover{border-color:color-mix(in oklch, var(--rose) 50%, var(--border));color:var(--rose-ink)}.g-shimmer{background:linear-gradient(110deg,#0000 30%,#ffffff1f 50%,#0000 70%);animation:1.8s linear infinite g-shimmer;position:absolute;inset:0}@keyframes g-shimmer{to{transform:translate(100%)}}.g-progress{background:#00000040;border-radius:99px;height:8px;position:absolute;bottom:10px;left:12px;right:12px;overflow:hidden}.g-progress i{background:linear-gradient(90deg, var(--sky), var(--mint));height:100%;display:block}.state-pill{border-radius:var(--radius-pill);font-family:var(--font-mono);letter-spacing:.04em;align-items:center;gap:6px;padding:2px 10px;font-size:10.5px;font-weight:700;display:inline-flex}.state-pill i{background:currentColor;border-radius:50%;width:7px;height:7px;animation:1s steps(2,end) infinite header-building-blink}.pill-building{color:var(--sky);background:color-mix(in oklch, var(--sky) 16%, var(--surface-2));border:1px solid color-mix(in oklch, var(--sky) 45%, var(--border))}.pill-new{color:#2a1500;background:color-mix(in oklch, var(--gold) 70%, white);border:1px solid color-mix(in oklch, var(--gold) 60%, var(--border))}.pill-live{color:var(--mint);background:color-mix(in oklch, var(--mint) 14%, var(--surface-2));border:1px solid color-mix(in oklch, var(--mint) 45%, var(--border))}.empty-state{text-align:center;background:var(--surface);border:1px dashed color-mix(in oklch, var(--border) 55%, var(--ink-soft));border-radius:var(--radius-lg);max-width:460px;box-shadow:var(--shadow-card);margin:48px auto 0;padding:40px 30px}.empty-state .pet-sit{font-size:58px;line-height:1;animation:3.2s ease-in-out infinite pet-bob;display:inline-block}.empty-state h2{font-family:var(--font-display);margin:12px 0 0;font-size:26px}.empty-state p{color:var(--ink-soft);max-width:34ch;margin:10px auto 22px;font-size:15px}.celebrate{z-index:100;background:color-mix(in oklch, var(--bg) 55%, transparent);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);place-items:center;padding:20px;display:grid;position:fixed;inset:0}.celebrate .confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.celebrate .confetti i{animation-name:confetti-fall;animation-timing-function:linear;animation-fill-mode:forwards;position:absolute;top:-12px}.celebrate-card{text-align:center;background:var(--surface);border:1px solid color-mix(in oklch, var(--gold) 40%, var(--border));border-radius:var(--radius-lg);width:100%;max-width:430px;box-shadow:var(--shadow-pop), 0 0 60px -12px var(--glow-gold);animation:handoff-pop-in .45s var(--spring);padding:36px 30px 32px;position:relative}.celebrate-pet{animation:cheer .8s var(--spring) infinite alternate;font-size:64px;line-height:1;display:inline-block}@keyframes cheer{0%{transform:scale(1)rotate(-4deg)}to{transform:scale(1.08)rotate(4deg)}}.celebrate-card h2{font-family:var(--font-display);margin:10px 0 0;font-size:clamp(28px,5vw,36px);font-weight:800}.celebrate-card .sub{color:var(--ink-soft);margin-top:6px;font-size:16px}.badge-earned{border-radius:var(--radius-pill);background:color-mix(in oklch, var(--gold) 18%, var(--surface-2));border:1px solid color-mix(in oklch, var(--gold) 50%, var(--border));margin-top:14px;padding:8px 14px;font-size:14px;font-weight:700;display:inline-flex}.celebrate-cta{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:24px;display:flex}.wizard{z-index:90;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.wiz-scrim{background:color-mix(in oklch, var(--bg) 55%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;border:0;position:absolute;inset:0}.wiz-sheet{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(560px,100%);max-height:min(92vh,760px);box-shadow:var(--shadow-pop);animation:handoff-pop-in .4s var(--spring);flex-direction:column;display:flex;position:relative;overflow:auto}.wiz-head{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:16px 18px;display:flex}.wiz-type{font-family:var(--font-display);font-size:16px;font-weight:800}.wiz-dots{align-items:center;gap:6px;margin-left:auto;display:inline-flex}.wiz-dots i{background:var(--surface-2);border:1px solid var(--border);border-radius:50%;place-items:center;width:8px;height:8px;font-size:10px;font-style:normal;display:inline-grid}.wiz-dots i.on{background:var(--primary);border-color:color-mix(in oklch, var(--primary) 60%, var(--border));box-shadow:0 0 10px var(--glow-pink)}.wiz-dots i.star{opacity:.45;background:0 0;border:0;width:auto;height:auto}.wiz-dots i.star.on{opacity:1}.wiz-close{background:var(--surface-2);border:1px solid var(--border);border-radius:50%;width:36px;height:36px;font-size:16px}.wiz-body{padding:22px 22px 8px}.wiz-q{font-family:var(--font-display);margin:0;font-size:24px;font-weight:800}.wiz-sub{color:var(--ink-soft);margin:6px 0 16px;font-size:14.5px}.wiz-opts{grid-template-columns:1fr 1fr;gap:10px;display:grid}.wiz-opt{border-radius:var(--radius-md);background:var(--surface-2);border:1px solid var(--border);min-height:88px;transition:transform .2s var(--spring), border-color .15s, box-shadow .15s;flex-direction:column;align-items:center;gap:6px;padding:14px 10px;font-size:14px;font-weight:700;display:flex}.wiz-opt:hover:not(:disabled){transform:translateY(-2px)}.wiz-opt:disabled{opacity:.55;cursor:not-allowed}.wiz-opt.sel{border-color:color-mix(in oklch, var(--primary) 55%, var(--border));box-shadow:0 0 22px -8px var(--glow-pink);background:color-mix(in oklch, var(--primary) 12%, var(--surface-2))}.wiz-opt .w-emoji{font-size:26px;line-height:1}.wiz-own{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.wiz-prompt-row{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.wiz-prompt-row .wiz-prompt{flex:1;min-width:0}.wiz-own .chat-voice-status,.wiz-own .chat-voice-error,.wiz-prompt-row .chat-voice-status,.wiz-prompt-row .chat-voice-error{flex-basis:100%;order:10;margin-top:0}.wiz-own input{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-2);min-width:0;color:var(--ink);flex:1;padding:12px 14px;font-size:15px}.wiz-recipe{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.wiz-chip{border-radius:var(--radius-pill);background:color-mix(in oklch, var(--secondary) 14%, var(--surface-2));border:1px solid color-mix(in oklch, var(--secondary) 45%, var(--border));align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:700;display:inline-flex}.wiz-chip small{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;opacity:.75;font-size:10px}.wiz-prompt{resize:vertical;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-2);width:100%;min-height:110px;color:var(--ink);font:inherit;padding:14px;font-size:15px}.wiz-make{width:100%;margin-top:14px}.wiz-foot{justify-content:space-between;align-items:center;gap:12px;padding:12px 18px 18px;display:flex}.wiz-skip{color:var(--ink-soft);text-underline-offset:3px;background:0 0;border:0;min-height:44px;margin-left:auto;font-size:14px;font-weight:700;text-decoration:underline}.wiz-skip:hover:not(:disabled){color:var(--ink)}.wiz-skip:disabled{opacity:.5;cursor:not-allowed;text-decoration:none}@media (width<=720px){.greet-row{flex-direction:column;align-items:stretch}.pet-greet{flex-direction:row-reverse;justify-content:flex-end}.pet-bubble{border-radius:16px 16px 16px 4px;flex:1;max-width:none}.resume-card{flex-basis:240px}.ticker-label{display:none}.profile-pop{width:auto;left:10px;right:10px}}@media (prefers-reduced-motion:reduce){.pet-buddy-btn,.empty-state .pet-sit,.celebrate-pet,.ticker-track,.g-shimmer{animation:none!important}.celebrate .confetti{display:none}}.progress-chip{z-index:5;max-width:min(92%,560px);font-family:var(--font-display);color:#fffbe8;animation:progress-chip-pop .42s var(--spring) both;background:linear-gradient(#26184cf0,#150c30f0);border-radius:999px;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:10px 14px;font-size:16px;font-weight:800;display:flex;position:absolute;top:56px;left:50%;transform:translate(-50%);box-shadow:0 4px #09041ccc,0 14px 34px #05021473}.progress-chip-text{white-space:nowrap}.progress-chip-btn{cursor:pointer;min-height:40px;font-family:var(--font-display);transition:transform .12s var(--ease-out), filter .12s var(--ease-out);border:none;border-radius:999px;padding:8px 16px;font-size:15px;font-weight:800}.progress-chip-btn.keep{color:#0d0a1f;background:linear-gradient(#ffe56a,#ffc93c);box-shadow:0 3px #c49212}.progress-chip-btn.over{color:#fffbe8;background:#ffffff24;box-shadow:0 3px #09041c99}.progress-chip-btn:hover,.progress-chip-btn:focus-visible{filter:brightness(1.08);transform:translateY(-2px)scale(1.04)}.progress-chip-btn:active{transform:translateY(1px)scale(.97)}@keyframes progress-chip-pop{0%{opacity:0;transform:translate(-50%)translateY(-14px)scale(.85)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}@media (width<=560px){.progress-chip{gap:8px;padding:8px 12px;font-size:14px}.progress-chip-text{white-space:normal;text-align:center}}@media (prefers-reduced-motion:reduce){.progress-chip{animation:none}.progress-chip-btn,.progress-chip-btn:hover,.progress-chip-btn:active{transition:none;transform:none}}.preview-device-toggle{flex:none;justify-content:center;gap:6px;padding:8px 10px 4px;display:flex}.device-toggle-btn{border-radius:var(--radius-pill);background:var(--surface-2);min-height:44px;color:var(--ink);cursor:pointer;transition:transform .15s var(--spring), border-color .15s var(--spring), background .15s var(--spring);border:2px solid #b4a8d659;padding:8px 16px;font-size:14px;font-weight:800;box-shadow:0 3px #0000004d}.device-toggle-btn:hover{border-color:var(--secondary);transform:translateY(-2px)rotate(-1deg)}.device-toggle-btn.is-active{background:var(--secondary);color:#fff;border-color:var(--secondary);transform:scale(1.04);box-shadow:0 3px #00000059,0 0 14px #7a6fd673}.phone-frame-wrap{flex:1;min-height:0;display:flex}.phone-frame{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.phone-frame-wrap.is-phone{justify-content:center;align-items:stretch;padding:14px}.phone-frame-wrap.is-phone .phone-frame{background:#fff;border:10px solid #2b2740;border-radius:36px;flex:none;width:410px;max-width:100%;animation:5s ease-in-out infinite phone-bob;overflow:hidden;box-shadow:0 18px 40px #140e3073,0 0 0 4px #b4a8d640}.phone-notch{border-radius:var(--radius-pill);background:#2b2740;flex:none;align-self:center;width:96px;height:8px;margin-top:8px;display:none}.phone-frame-wrap.is-phone .phone-notch{display:block}.phone-frame-wrap.is-desktop-emu{overflow:hidden}.phone-frame-wrap.is-phone .preview-frame{border-radius:0 0 24px 24px}@keyframes phone-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){.phone-frame-wrap.is-phone .phone-frame{animation:none}}@media (width<=480px){.phone-frame-wrap.is-phone{padding:0}.phone-frame-wrap.is-phone .phone-frame{border-width:4px;border-radius:20px;width:100%}}.scope-chip-card{border-radius:var(--radius-lg);background:var(--surface-2);min-height:44px;color:var(--ink);text-align:left;cursor:pointer;transition:transform .15s var(--spring), border-color .15s var(--spring), background .15s var(--spring), box-shadow .15s var(--spring);border:2px dashed #b4a8d673;align-items:center;gap:10px;margin:8px 12px 0;padding:10px 14px;display:flex}.scope-chip-card:hover:not(:disabled){border-color:var(--secondary);transform:translateY(-2px)rotate(-.5deg)}.scope-chip-card.is-active{border-style:solid;border-color:var(--secondary);background:#7a6fd629;box-shadow:0 0 14px #7a6fd659}.scope-chip-icon{flex:none;font-size:24px}.scope-chip-card.is-active .scope-chip-icon{animation:2.5s ease-in-out infinite phone-bob}.scope-chip-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.scope-chip-text strong{font-size:14px;font-weight:800}.scope-chip-text small{opacity:.85;font-size:12px;line-height:1.3}.scope-chip-pill{letter-spacing:.06em;border-radius:var(--radius-pill);background:#b4a8d64d;flex:none;padding:4px 10px;font-size:11px;font-weight:900}.scope-chip-card.is-active .scope-chip-pill{background:var(--secondary);color:#fff}.app-header:after{content:"";background:linear-gradient(90deg, var(--primary), var(--gold), var(--mint), var(--sky), var(--secondary), var(--primary));opacity:.75;pointer-events:none;background-size:200% 100%;height:2.5px;animation:9s linear infinite vk-rainbow-slide;position:absolute;bottom:-1px;left:0;right:0}@keyframes vk-rainbow-slide{to{background-position:200% 0}}@media (width>=1024px) and (pointer:fine){.studio-toolbar{gap:8px}.studio-toolbar .big-btn{min-height:44px;padding:10px 18px;font-size:15px}.project-name-input{min-width:180px;font-size:17px}}@media (width>=1600px){.studio{max-width:min(96vw,1900px)}}.project-name-input{font-family:var(--font-display)}.chat-mascot{border:2px solid color-mix(in oklab, var(--primary) 50%, transparent);box-shadow:0 4px 12px #05021466, 0 0 18px color-mix(in oklab, var(--primary) 28%, transparent);animation:7s ease-in-out infinite vk-pet-wiggle}@keyframes vk-pet-wiggle{0%,86%,to{rotate:0deg}90%{rotate:-8deg}95%{rotate:7deg}}.bubble{border-radius:20px}.bubble-helper{background:color-mix(in oklab, var(--secondary) 14%, var(--surface));border:1.5px solid color-mix(in oklab, var(--secondary) 28%, transparent)}.chat-log{isolation:isolate;position:relative}.chat-log:before,.chat-log:after{z-index:-1;opacity:.09;pointer-events:none;font-size:22px;animation:7s ease-in-out infinite vk-doodle-float;position:absolute}.chat-log:before{content:"⭐" / "";top:38%;left:16%}.chat-log:after{content:"🪄" / "";animation-delay:2.4s;top:58%;right:18%}@keyframes vk-doodle-float{50%{transform:translateY(-14px)rotate(9deg)}}.magic-chips .chip:nth-child(5n+1){background:color-mix(in oklab, var(--gold) 14%, var(--surface-2));border-color:color-mix(in oklab, var(--gold) 45%, transparent)}.magic-chips .chip:nth-child(5n+2){background:color-mix(in oklab, var(--sky) 15%, var(--surface-2));border-color:color-mix(in oklab, var(--sky) 48%, transparent)}.magic-chips .chip:nth-child(5n+3){background:color-mix(in oklab, var(--primary) 14%, var(--surface-2));border-color:color-mix(in oklab, var(--primary) 45%, transparent)}.magic-chips .chip:nth-child(5n+4){background:color-mix(in oklab, var(--mint) 13%, var(--surface-2));border-color:color-mix(in oklab, var(--mint) 42%, transparent)}.magic-chips .chip:nth-child(5n+5){background:color-mix(in oklab, var(--secondary) 17%, var(--surface-2));border-color:color-mix(in oklab, var(--secondary) 50%, transparent)}.chat-input{border:1.5px solid color-mix(in oklab, var(--primary) 20%, var(--border));scrollbar-width:thin;scrollbar-color:color-mix(in oklab, var(--primary) 40%, var(--surface-2)) transparent;border-radius:16px}.chat-input:focus{border-color:color-mix(in oklab, var(--primary) 60%, var(--border));box-shadow:0 0 0 4px color-mix(in oklab, var(--primary) 14%, transparent)}.chat-input::-webkit-scrollbar{width:6px}.chat-input::-webkit-scrollbar-thumb{background:color-mix(in oklab, var(--primary) 40%, var(--surface-2));border-radius:999px}.chat-input::-webkit-scrollbar-track{background:0 0}.chat-input::-webkit-scrollbar-button{height:0;display:none}.chat-log{scrollbar-width:thin;scrollbar-color:color-mix(in oklab, var(--primary) 35%, var(--surface-2)) transparent}.chat-log::-webkit-scrollbar{width:8px}.chat-log::-webkit-scrollbar-thumb{background:color-mix(in oklab, var(--primary) 35%, var(--surface-2));border-radius:999px}.chat-log::-webkit-scrollbar-track{background:0 0}.send-btn{box-shadow:0 4px 0 color-mix(in oklab, var(--sky) 55%, black)}.stop-btn{box-shadow:0 4px 0 color-mix(in oklab, var(--primary) 55%, black)}.send-btn:active:not(:disabled),.stop-btn:active:not(:disabled){box-shadow:0 1px 0 color-mix(in oklab, var(--bg) 60%, black);transform:translateY(3px)}@media (prefers-reduced-motion:reduce){.app-header:after,.chat-mascot,.chat-log:before,.chat-log:after{animation:none}}.studio-toolbar{position:relative}.studio-toolbar:after{content:"";background:linear-gradient(90deg, var(--primary), var(--gold), var(--mint), var(--sky), var(--secondary), var(--primary));opacity:.75;pointer-events:none;background-size:200% 100%;border-radius:2px;height:3px;animation:9s linear infinite vk-rainbow-slide;position:absolute;bottom:-7px;left:0;right:0}.preview-toolbar{flex-wrap:wrap;flex:none;align-items:center;gap:10px;padding:10px 12px 6px;display:flex}.preview-toolbar .preview-device-toggle{padding:0}.preview-toolbar .big-btn.preview-tool-btn{padding:9px 15px;font-size:14.5px}.chat-collapse-btn{border-radius:var(--radius-sm);width:44px;height:44px;color:var(--ink-soft);background:0 0;flex:none;place-items:center;font-size:18px;font-weight:800;transition:background .15s,color .15s;display:grid}.chat-collapse-btn:hover{background:var(--surface-2);color:var(--ink)}.chat-reopen-tab{z-index:6;background:var(--surface-2);width:52px;height:52px;transition:transform .15s var(--spring);border:2px solid #b4a8d659;border-radius:999px;font-size:22px;position:absolute;bottom:14px;left:10px;box-shadow:0 4px #0000004d,0 12px 28px #05021459}.chat-reopen-tab:hover{transform:translateY(-2px)scale(1.06)}.studio-main{position:relative}@media (width>=901px){.studio-main.is-chat-hidden{grid-template-columns:1fr;padding-left:72px}.studio-main.is-chat-hidden .chat-panel{display:none}}@media (width<=900px){.chat-collapse-btn,.chat-reopen-tab{display:none}}.magic-chips-label{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:color-mix(in oklab, var(--primary) 55%, var(--ink-soft));margin-bottom:-4px;font-size:12px;font-weight:800}@media (prefers-reduced-motion:reduce){.studio-toolbar:after{animation:none}}@media (width<=900px){.preview-toolbar{scrollbar-width:none;flex-wrap:nowrap;gap:6px;padding:8px 10px 4px;overflow-x:auto}.preview-toolbar::-webkit-scrollbar{display:none}.preview-toolbar .preview-device-toggle{flex:none}.preview-toolbar .big-btn.preview-tool-btn{white-space:nowrap;flex:none;min-height:44px;padding:8px 12px;font-size:13px}.preview-toolbar .device-toggle-btn{white-space:nowrap;min-height:44px;padding:6px 12px;font-size:13px}}.kb-cat-adventure{--c:var(--rose)}.kb-cat-racing{--c:var(--sky)}.kb-cat-puzzles{--c:var(--secondary)}.kb-cat-art{--c:var(--primary)}.kb-cat-space{--c:var(--gold)}.kb-cat-animals{--c:var(--mint)}.kb-grid{grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:18px;display:grid}.kb-card{--c:var(--primary);text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);transition:transform .28s var(--spring), box-shadow .28s var(--spring), border-color .2s;cursor:pointer;flex-direction:column;gap:10px;min-height:44px;padding:12px;display:flex}.kb-card:hover{border-color:color-mix(in oklch, var(--c) 55%, var(--border));box-shadow:0 1.5px 0 #ffffff29 inset, 0 24px 48px -10px #02010aa6, 0 0 34px color-mix(in oklch, var(--c) 32%, transparent);transform:translateY(-7px)rotate(-1deg)}.kb-card:focus-visible{outline:3px solid color-mix(in oklch, var(--c) 70%, transparent);outline-offset:2px}.kb-cover{aspect-ratio:16/10;border-radius:var(--radius-sm);background:radial-gradient(120% 120% at 20% 0%, color-mix(in oklch, var(--c) 26%, var(--surface-2)), var(--surface-2));place-items:center;display:grid;position:relative;overflow:hidden}.kb-cover img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.kb-cover-emoji{filter:drop-shadow(0 6px 14px #02010a80);font-size:52px}.kb-cover.kb-bob .kb-cover-emoji,.kb-bob{animation:3.4s ease-in-out infinite kb-bob}@keyframes kb-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.kb-cover-shimmer{background:linear-gradient(100deg,#0000 30%,#ffffff14 50%,#0000 70%) 0 0/220% 100%;animation:1.6s linear infinite kb-shimmer;position:absolute;inset:0}@keyframes kb-shimmer{0%{background-position:200% 0}to{background-position:-20% 0}}.kb-badge-new{font:800 10px var(--font-display);letter-spacing:.08em;color:#1a1302;background:var(--gold);border-radius:var(--radius-pill);padding:4px 8px;position:absolute;top:8px;right:8px;box-shadow:0 4px 12px #02010a66}.kb-badge-free{font:800 10px var(--font-display);letter-spacing:.06em;color:#04231a;background:var(--mint);border-radius:var(--radius-pill);padding:4px 8px;position:absolute;top:8px;left:8px}.kb-card-title{font:800 17px var(--font-display);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kb-card-maker{color:var(--ink-soft);align-items:center;gap:6px;min-width:0;font-size:13px;display:flex}.kb-card-maker .kb-cat-tag{color:color-mix(in oklch, var(--c) 78%, var(--ink));white-space:nowrap;margin-left:auto;font:700 11px ui-monospace,SF Mono,Menlo,monospace}.kb-card-stats{color:var(--ink-soft);align-items:center;gap:12px;font:600 12px ui-monospace,SF Mono,Menlo,monospace;display:flex}.kb-chip-row{flex-wrap:wrap;gap:8px;display:flex}.kb-chip{--c:var(--primary);border-radius:var(--radius-pill);border:1.5px solid var(--border);background:var(--surface);min-height:44px;color:var(--ink);font:700 14px var(--font-display);transition:transform .22s var(--spring), border-color .2s, background .2s;align-items:center;gap:7px;padding:8px 14px;display:inline-flex}.kb-chip:hover{transform:translateY(-2px)}.kb-chip:focus-visible{outline:3px solid color-mix(in oklch, var(--c) 70%, transparent);outline-offset:2px}.kb-chip.active{border-color:var(--c);background:color-mix(in oklch, var(--c) 16%, var(--surface))}.kb-status{border-radius:var(--radius-pill);font:800 11px var(--font-display);letter-spacing:.04em;white-space:nowrap;align-items:center;gap:5px;padding:4px 10px;display:inline-flex}.kb-status.sent{background:color-mix(in oklch, var(--gold) 22%, var(--surface-2));color:var(--gold)}.kb-status.note{background:color-mix(in oklch, var(--rose) 22%, var(--surface-2));color:var(--rose-ink)}.kb-status.live{background:color-mix(in oklch, var(--mint) 22%, var(--surface-2));color:var(--mint)}.kb-ticker{border-block:1px solid var(--border);padding:8px 0;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.kb-ticker-track{white-space:nowrap;color:var(--ink-soft);gap:40px;font:600 13px ui-monospace,SF Mono,Menlo,monospace;animation:36s linear infinite kb-ticker;display:inline-flex}.kb-ticker:hover .kb-ticker-track{animation-play-state:paused}@keyframes kb-ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}.kb-hero{--c:var(--primary);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);grid-template-columns:minmax(260px,420px) 1fr;align-items:center;gap:26px;padding:22px;display:grid}@media (width<=700px){.kb-hero{grid-template-columns:1fr}}.kb-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font:800 12px ui-monospace,SF Mono,Menlo,monospace}.kb-hero-title{font:900 clamp(26px, 4vw, 42px) var(--font-display);margin:6px 0}.kb-loading{--c:var(--primary);text-align:center;background:radial-gradient(120% 90% at 50% 0%, color-mix(in oklch, var(--c) 20%, transparent), transparent 60%), var(--surface);place-content:center;justify-items:center;gap:8px;padding:24px;display:grid;position:absolute;inset:0}.kb-loading .kb-cover{width:min(300px,60vw)}.kb-loading-title{font:900 clamp(24px, 4vw, 38px) var(--font-display);margin:10px 0 0}.kb-loading-maker{color:var(--ink-soft);margin:0;font-weight:700}.kb-loading-tip{font:700 14px var(--font-display);color:var(--ink-soft);align-items:center;gap:8px;margin:14px 0 0;display:inline-flex}.kb-runend{pointer-events:none;z-index:5;place-items:end center;padding:20px;display:grid;position:absolute;inset:0}.kb-runend-card{--c:var(--primary);pointer-events:auto;text-align:center;background:color-mix(in oklch, var(--surface) 94%, var(--c));border:1.5px solid color-mix(in oklch, var(--c) 50%, var(--border));border-radius:var(--radius-lg);width:min(430px,100%);animation:kb-sheet-in .34s var(--spring);padding:20px;box-shadow:0 18px 50px #0006}.kb-runend-emoji{font-size:46px}.kb-runend-title{font:900 26px var(--font-display);margin:6px 0 2px}.kb-runend-score{margin:4px 0;font-size:16px}.kb-runend-best{color:var(--gold);font-weight:700}.kb-runend-pet{color:var(--ink-soft);align-items:center;gap:8px;margin:8px 0 0;font-weight:700;display:inline-flex}.kb-runend-pet .kb-bob{font-size:24px}.kb-runend-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:14px;display:flex}.kb-runend-next{margin-top:14px}.kb-runend-next-label{font:800 11px var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 8px}.kb-runend-next-row{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.kb-runend-next-card{--c:var(--primary);border-radius:var(--radius-pill);border:1.5px solid color-mix(in oklch, var(--c) 45%, var(--border));background:var(--surface-2);max-width:130px;min-height:44px;color:var(--ink);font:700 12.5px var(--font-display);transition:transform .18s var(--spring), border-color .2s;align-items:center;gap:6px;padding:6px 12px;display:inline-flex}.kb-runend-next-card:hover{border-color:var(--c);transform:translateY(-2px)}.kb-runend-next-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kb-board{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);margin:18px 0 4px;padding:14px 16px}.kb-board-title{font:800 15px var(--font-display);margin:0 0 10px}.kb-board-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.kb-board-row{border-radius:var(--radius-sm);font:700 14px var(--font-display);align-items:center;gap:10px;padding:6px 10px;display:flex}.kb-board-row.me{background:color-mix(in oklch, var(--gold) 18%, transparent)}.kb-board-rank{text-align:center;min-width:22px;color:var(--ink-soft);font-weight:900}.kb-board-row:first-child .kb-board-rank{color:var(--gold)}.kb-board-row:nth-child(2) .kb-board-rank{color:silver}.kb-board-row:nth-child(3) .kb-board-rank{color:#cd7f32}.kb-board-avatar{font-size:18px}.kb-board-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.kb-board-score{font-variant-numeric:tabular-nums;font-weight:900}.kb-badges{margin:16px 0 4px}.kb-badges-title{font:800 15px var(--font-display);margin:0 0 10px}.kb-badges-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;display:grid}.kb-badge{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:inherit;font:inherit;cursor:pointer;opacity:.55;transition:transform .2s var(--spring), opacity .2s, border-color .2s;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;display:flex}.kb-badge:hover{opacity:.85;transform:translateY(-2px)}.kb-badge:active{transform:translateY(0)scale(.96)}.kb-badge:focus-visible{outline:3px solid color-mix(in oklch, var(--primary) 70%, transparent);outline-offset:2px}.kb-badge.earned{opacity:1;border-color:color-mix(in oklch, var(--gold) 60%, var(--border));background:color-mix(in oklch, var(--gold) 14%, var(--surface-2))}.kb-badge.earned:hover{opacity:1}.kb-badge-emoji{font-size:24px}.kb-badge-name{font:700 10.5px var(--font-display);text-align:center;color:var(--ink-soft)}.kb-badge.earned .kb-badge-name{color:var(--ink)}.kb-badge-prog{color:var(--primary);background:color-mix(in oklch, var(--primary) 16%, var(--surface-2));border-radius:var(--radius-pill);padding:1px 7px;font:800 9.5px ui-monospace,SF Mono,Menlo,monospace}.kb-badges-error{border:1.5px dashed var(--border);border-radius:var(--radius-sm);color:var(--ink-soft);align-items:center;gap:10px;padding:10px 14px;font-size:13.5px;display:flex}.kb-badge-retry{border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface-2);min-height:36px;color:var(--ink);font:800 13px var(--font-display);cursor:pointer;transition:transform .2s var(--spring);padding:0 14px}.kb-badge-retry:hover{transform:scale(1.05)}.kb-badge-retry:focus-visible{outline:3px solid color-mix(in oklch, var(--primary) 70%, transparent);outline-offset:2px}.kb-badgesheet{text-align:center}.kb-badgesheet-x{position:absolute;top:12px;right:12px}.kb-badgesheet{position:relative}.kb-badgesheet-emoji{margin-bottom:8px;font-size:64px;line-height:1.2}.kb-badgesheet-name{font:900 24px var(--font-display);margin:0 0 6px}.kb-badgesheet-status{font:700 14.5px var(--font-body);color:var(--ink);margin:12px 0 0}.kb-badgesheet-status.is-earned{color:var(--gold)}.kb-badgesheet-progress{margin-top:14px}.kb-badgesheet-bar{border-radius:var(--radius-pill);background:var(--surface-2);border:1px solid var(--border);height:14px;overflow:hidden}.kb-badgesheet-fill{border-radius:var(--radius-pill);background:linear-gradient(90deg, var(--primary), var(--secondary));height:100%;transition:width .5s var(--spring)}.kb-badgesheet-rarity{font:600 13px var(--font-body);color:var(--ink-soft);margin:14px 0 0}.kb-myarcade{background:linear-gradient(120deg, color-mix(in oklch, var(--primary) 10%, var(--surface)), var(--surface));border:1px solid var(--border);border-radius:var(--radius-lg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:6px 0 14px;padding:16px 18px;display:flex}.kb-myarcade-id{align-items:center;gap:14px;min-width:0;display:flex}.kb-myarcade-avatar{background:var(--surface-2);border:1px solid var(--border);width:58px;height:58px;box-shadow:var(--shadow-card);border-radius:20px;flex:none;place-items:center;font-size:34px;display:grid}.kb-myarcade-name{font:800 18px var(--font-display)}.kb-myarcade-sub{color:var(--ink-soft);margin-top:2px;font-size:13.5px}.kb-myarcade .kb-badges{flex-basis:100%;margin-top:12px}.kb-hub{flex-direction:column;gap:6px;display:flex}.kb-hub-hello{font:800 16px var(--font-display);align-items:center;gap:8px;margin:4px 0 10px;display:flex}.kb-hub-hello .kb-bob{font-size:26px}.kb-hero-carousel{margin-bottom:8px}.kb-hero-dots{gap:7px;margin-left:4px;display:inline-flex}.kb-hero-dot{border:2px solid var(--border);background:var(--surface-2);width:12px;min-width:12px;height:12px;min-height:12px;transition:transform .2s var(--spring), background .2s, border-color .2s;border-radius:50%;padding:0}.kb-hero-dot.on{background:var(--c,var(--primary));border-color:var(--c,var(--primary));transform:scale(1.25)}.kb-hero-dot:hover{transform:scale(1.35)}.kb-rail{margin:20px 0 4px}.kb-rail-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.kb-rail-title{font:800 clamp(17px, 2.4vw, 22px) var(--font-display);margin:0}.kb-rail-side{align-items:center;gap:6px;display:flex}.kb-rail-hint{color:var(--ink-soft);font:600 12px ui-monospace,SF Mono,Menlo,monospace}.kb-rail-arrow{border:1.5px solid var(--border);background:var(--surface-2);min-width:40px;min-height:40px;color:var(--ink);font:800 20px/1 var(--font-display);transition:transform .18s var(--spring), border-color .2s;border-radius:50%}.kb-rail-arrow:hover{border-color:var(--primary);transform:scale(1.12)}.kb-rail-track{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;cursor:grab;gap:14px;padding:4px 2px 12px;display:flex;overflow-x:auto}.kb-rail-track:active{cursor:grabbing}.kb-rail-track::-webkit-scrollbar{display:none}.kb-rail-item{scroll-snap-align:start;flex:0 0 220px;width:220px;position:relative}.kb-rail-item .kb-card{width:100%;height:100%}.kb-rail-rank{z-index:2;background:var(--gold);color:#221a00;min-width:34px;height:34px;font:900 15px var(--font-display);box-shadow:var(--shadow-card);border-radius:12px;place-items:center;padding:0 6px;display:grid;position:absolute;top:-8px;left:-6px;transform:rotate(-6deg)}@media (width<=560px){.kb-rail-item{flex-basis:178px;width:178px}}.kb-player{z-index:90;overscroll-behavior:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:100vw;height:100dvh;animation:kb-fade-in .22s var(--ease-out);background:#060412e6;flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.kb-player.is-touch-immersive{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0d0a1f}.kb-player.is-touch-immersive .kb-player-bar{z-index:12;width:auto;padding:calc(10px + env(safe-area-inset-top,0px)) calc(12px + env(safe-area-inset-right,0px)) 10px 12px;pointer-events:none;background:0 0;border:0;position:absolute;top:0;left:auto;right:0}.kb-player.is-touch-immersive .kb-player-bar>*{pointer-events:auto}.kb-player.is-touch-immersive .kb-player-done{min-height:52px;font:800 18px var(--font-display);color:#0d0a1f;background:linear-gradient(#7dffb3,#3edc8a);border:none;border-radius:18px;padding:12px 18px;box-shadow:0 6px #1f9a58,0 12px 28px #05021459}.kb-player.is-touch-immersive .kb-player-stage{position:absolute;inset:0}.kb-player.is-touch-immersive .progress-chip{top:calc(env(safe-area-inset-top,0px) + 72px)}@keyframes kb-fade-in{0%{opacity:0}to{opacity:1}}.kb-player-bar{color:var(--ink);background:var(--surface-glass);border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:10px 16px;display:flex}.kb-player-title{font:800 16px var(--font-display);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kb-player-stage{background:#000;flex:1;min-height:0;position:relative}.kb-player-stage iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.kb-player-hints{color:var(--ink-soft);background:var(--surface-glass);border-top:1px solid var(--border);justify-content:center;gap:18px;padding:8px;font:600 12px ui-monospace,SF Mono,Menlo,monospace;display:flex}@media (width<=640px){.kb-player-hints{flex-wrap:wrap;gap:10px}}.kb-btn{border-radius:var(--radius-pill);min-height:44px;font:800 15px var(--font-display);transition:transform .22s var(--spring), filter .2s;background:var(--surface-2);color:var(--ink);border:1.5px solid var(--border);justify-content:center;align-items:center;gap:8px;padding:10px 20px;display:inline-flex}.kb-btn:hover{transform:translateY(-2px)}.kb-btn:active{transform:translateY(0)scale(.97)}.kb-btn:focus-visible{outline:3px solid color-mix(in oklch, var(--primary) 70%, transparent);outline-offset:2px}.kb-btn:disabled{opacity:.55;cursor:default;transform:none}.kb-btn.grad{background:var(--cta-gradient);color:#fff;border:none;box-shadow:0 10px 26px -8px #c92e90b3}.kb-btn.mint{background:var(--mint);color:#04231a;border:none}.kb-btn.ghost{background:0 0}.kb-btn.liked{border-color:var(--rose);background:color-mix(in oklch, var(--rose) 18%, var(--surface))}.kb-empty{text-align:center;color:var(--ink-soft);flex-direction:column;align-items:center;gap:10px;padding:40px 20px;display:flex}.kb-empty .kb-empty-title{font:800 18px var(--font-display);color:var(--ink)}.kb-pip{cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .22s var(--spring);background:0 0;border:none;min-width:44px;min-height:44px;padding:6px;font-size:44px;animation:3.4s ease-in-out infinite kb-breathe;display:inline-block}.kb-pip:hover{transform:scale(1.12)rotate(-4deg)}@keyframes kb-breathe{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-5px)scale(1.04)}}.kb-pip.burst{animation:kb-burst .7s var(--spring)}@keyframes kb-burst{0%{transform:scale(1)}35%{transform:scale(1.55)rotate(10deg)}to{transform:scale(1)}}.kb-field{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.kb-star{background:#fdf7ff80;border-radius:50%;width:3px;height:3px;animation:3.6s ease-in-out infinite kb-twinkle;position:absolute}@keyframes kb-twinkle{0%,to{opacity:.25}50%{opacity:.9}}.kb-petal{opacity:.5;filter:blur(.3px);font-size:16px;animation:linear infinite kb-drift;position:absolute;top:-30px}@keyframes kb-drift{0%{transform:translateY(-4vh)rotate(0)}to{transform:translateY(108vh)rotate(280deg)}}.kb-spark{pointer-events:none;z-index:120;width:8px;height:8px;animation:kb-spark-fall 1.15s var(--ease-out) forwards;border-radius:50%;position:fixed}@keyframes kb-spark-fall{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(var(--dx,0), var(--dy,90px)) scale(.4)}}.kb-sheet-backdrop{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:kb-fade-in .2s var(--ease-out);background:#060412b8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.kb-sheet{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(440px,100%);max-height:min(86vh,720px);box-shadow:var(--shadow-card);animation:kb-sheet-in .32s var(--spring);padding:24px;overflow-y:auto}@keyframes kb-sheet-in{0%{opacity:0;transform:translateY(26px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.kb-sheet h2{font:900 24px var(--font-display);margin:0 0 6px}.kb-sheet .kb-sub{color:var(--ink-soft);margin:0 0 16px;font-size:14px}.kb-field-label{font:700 13px var(--font-display);color:var(--ink-soft);margin:12px 0 5px;display:block}.kb-input{border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--surface-2);width:100%;min-height:44px;color:var(--ink);font:600 15px var(--font-body);padding:10px 14px}.kb-input:focus-visible{outline:3px solid color-mix(in oklch, var(--primary) 60%, transparent);outline-offset:1px;border-color:var(--primary)}.kb-error{color:var(--rose-ink);margin-top:8px;font-size:13px}.kb-avatar-row{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.kb-avatar-pick{border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--surface-2);min-width:44px;min-height:44px;transition:transform .2s var(--spring), border-color .2s;place-items:center;font-size:22px;display:grid}.kb-avatar-pick:hover{transform:scale(1.1)}.kb-avatar-pick.active{border-color:var(--primary);background:color-mix(in oklch, var(--primary) 18%, var(--surface-2))}.kb-handle-display{font:900 clamp(22px, 5vw, 32px) var(--font-display);text-align:center;border-radius:var(--radius-md);background:var(--surface-2);border:1.5px dashed var(--border);word-break:break-all;margin:10px 0;padding:16px 10px}.kb-handle-state{text-align:center;min-height:18px;font:600 12px ui-monospace,SF Mono,Menlo,monospace}.kb-handle-state.ok{color:var(--mint)}.kb-handle-state.bad{color:var(--rose-ink)}.kb-approval-card{--c:var(--primary);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:12px;padding:16px;display:flex}.kb-approval-head{align-items:flex-start;gap:14px;display:flex}.kb-approval-cover{flex:none;width:128px}.kb-checks{flex-direction:column;gap:4px;font:600 12px ui-monospace,SF Mono,Menlo,monospace;display:flex}.kb-checks .ok{color:var(--mint)}.kb-checks .bad{color:var(--rose-ink)}.kb-tag-chip{border-radius:var(--radius-pill);border:1.5px solid var(--border);background:var(--surface);min-height:34px;color:var(--ink);font:600 12px var(--font-body);align-items:center;gap:5px;padding:6px 12px;transition:border-color .2s,opacity .2s;display:inline-flex}.kb-tag-chip.off{opacity:.4;text-decoration:line-through}.kb-inline-play{border:1px solid var(--border);border-radius:var(--radius-sm);aspect-ratio:16/9;background:#000;position:relative;overflow:hidden}.kb-inline-play iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.kb-lockcard{text-align:center;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;align-items:center;gap:10px;padding:26px 18px;display:flex}.kb-lockcard-big{font-size:44px}.kb-lockcard-line{color:var(--ink-soft);max-width:40ch;margin:0;font-size:14px}.kb-hold{border-radius:var(--radius-pill);border:1.5px solid var(--border);background:var(--surface);min-width:230px;min-height:54px;color:var(--ink);font:800 16px var(--font-display);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;padding:14px 30px;position:relative;overflow:hidden}.kb-hold-fill{background:color-mix(in oklch, var(--mint) 40%, transparent);pointer-events:none;width:0%;position:absolute;inset:0}.kb-hold-label{position:relative}.kb-hold:focus-visible{outline:3px solid color-mix(in oklch, var(--mint) 70%, transparent);outline-offset:2px}.kb-desk{flex-direction:column;gap:14px;display:flex}.kb-approval-msg{border-radius:var(--radius-sm);background:color-mix(in oklch, var(--mint) 14%, var(--surface-2));border:1px solid color-mix(in oklch, var(--mint) 34%, var(--border));color:var(--ink);margin:0;padding:10px 14px;font-size:14px;font-weight:600}.kb-approval-info{flex:1;min-width:0}.kb-approval-title{font:800 18px var(--font-display);flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 4px;display:flex}.kb-update-pill{border-radius:var(--radius-pill);background:color-mix(in oklch, var(--gold) 22%, var(--surface));color:var(--gold);font:800 10.5px var(--font-display);letter-spacing:.08em;text-transform:uppercase;padding:3px 10px}.kb-approval-meta{color:var(--ink-soft);margin:0;font-size:13px}.kb-approval-meta .kb-cat-tag{color:var(--c);font-weight:700}.kb-approval-blurb{color:var(--ink);margin:6px 0 0;font-size:13.5px;font-style:italic}.kb-approval-warning{color:var(--rose-ink);margin:0;font-size:13px;font-weight:600}.kb-approval-tags{flex-wrap:wrap;gap:6px;display:flex}.kb-approval-actions{flex-wrap:wrap;gap:10px;display:flex}.kb-notebox{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);flex-direction:column;gap:10px;padding:14px;display:flex}.kb-notebox .kb-field-label{margin:0}.kb-notebox .kb-btn{align-self:flex-start}@media (width<=520px){.kb-approval-head{flex-direction:column}.kb-approval-cover{width:100%}}.kb-detail{width:min(560px,100%);position:relative}.kb-sheet-x{z-index:2;background:var(--surface-2);border:1px solid var(--border);min-width:44px;min-height:44px;color:var(--ink-soft);font:800 16px var(--font-display);transition:transform .2s var(--spring), color .2s;border-radius:50%;position:absolute;top:12px;right:12px}.kb-sheet-x:hover{color:var(--ink);transform:rotate(90deg)}.kb-sheet-x:focus-visible{outline:3px solid color-mix(in oklch, var(--primary) 70%, transparent);outline-offset:2px}.kb-detail-head{align-items:center;gap:16px;margin-bottom:12px;display:flex}.kb-detail-head .kb-cover{flex:none;width:132px}.kb-detail-head h2{margin:4px 0}.kb-detail-blurb{color:var(--ink-soft);margin:0 0 14px;font-size:15px}.kb-detail-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.kb-detail-plays{color:var(--ink-soft);font:600 13px ui-monospace,SF Mono,Menlo,monospace}.kb-detail-similar{flex-wrap:wrap;gap:8px;display:flex}@media (width<=480px){.kb-detail-head{flex-direction:column;align-items:flex-start}.kb-detail-head .kb-cover{width:100%}}.big-btn.boomlok-btn{color:#2a0a24;background:linear-gradient(135deg,#ff5edb,#ffd84d)}.big-btn.boomlok-btn:disabled{background:var(--surface-2);color:var(--ink-soft)}.boomlok-note{border-radius:var(--radius-sm);background:color-mix(in oklch, var(--rose) 12%, var(--surface-2));border:1px solid color-mix(in oklch, var(--rose) 34%, var(--border));margin:8px 0 4px;padding:10px 12px}.boomlok-note p{color:var(--ink);margin:0 0 8px;font-size:13.5px;font-style:italic}@media (prefers-reduced-motion:reduce){.kb-card,.kb-chip,.kb-btn,.kb-pip,.kb-cover.kb-bob .kb-cover-emoji,.kb-bob,.kb-ticker-track,.kb-star,.kb-petal,.kb-spark,.kb-sheet,.kb-sheet-x,.kb-player,.kb-badge,.kb-badgesheet-fill,.kb-cover-shimmer{transition:none!important;animation:none!important}}
