.zira-avatar{position:relative;display:inline-block;line-height:0;flex-shrink:0}.zira-avatar img{width:100%;height:100%;object-fit:contain;transform-origin:50% 90%}.zira-avatar .zira-mood-badge{position:absolute;top:-4px;right:-6px;font-size:22px;line-height:1;filter:drop-shadow(0 2px 3px rgba(0,0,0,.18));animation:zira-badge-in .35s var(--bounce) both}.zira-mood-idle img{animation:zira-bob 3.2s ease-in-out infinite}.zira-mood-happy img,.zira-mood-proud img{animation:zira-hop .6s var(--bounce) 2}.zira-mood-excited img,.zira-mood-celebrating img{animation:zira-cheer .7s var(--bounce) 3}.zira-mood-thinking img{animation:zira-tilt 1.6s ease-in-out infinite}.zira-mood-surprised img{animation:zira-gasp .45s var(--bounce) 1}.zira-mood-eating img{animation:zira-chomp .32s ease-in-out 5}.zira-mood-sleepy img{animation:zira-breathe 4s ease-in-out infinite;filter:saturate(.75) brightness(.96)}@keyframes zira-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes zira-hop{0%,to{transform:translateY(0)}40%{transform:translateY(-12px) scale(1.04)}}@keyframes zira-cheer{0%,to{transform:translateY(0) rotate(0)}30%{transform:translateY(-14px) rotate(-6deg)}60%{transform:translateY(-6px) rotate(6deg)}}@keyframes zira-tilt{0%,to{transform:rotate(0)}50%{transform:rotate(-7deg)}}@keyframes zira-gasp{0%{transform:scale(1)}50%{transform:scale(1.14)}to{transform:scale(1)}}@keyframes zira-chomp{0%,to{transform:scaleY(1)}50%{transform:scaleY(.9) scaleX(1.05)}}@keyframes zira-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes zira-badge-in{0%{transform:scale(0) rotate(-20deg);opacity:0}to{transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){.zira-avatar img,.zira-avatar .zira-mood-badge{animation:none!important}}.zira-companion{position:fixed;right:18px;bottom:var(--zira-bottom, 18px);z-index:400;display:flex;flex-direction:column;align-items:flex-end;gap:10px;pointer-events:none}.zira-companion>*{pointer-events:auto}.zira-bubble{pointer-events:none!important;max-width:260px;padding:12px 16px;border-radius:18px 18px 4px;background:var(--card);border:2px solid var(--orange);box-shadow:var(--lift);font-family:var(--font-display);font-weight:800;font-size:17px;line-height:1.3;color:var(--ink);animation:zira-bubble-in .3s var(--bounce) both}@keyframes zira-bubble-in{0%{opacity:0;transform:translateY(8px) scale(.9)}to{opacity:1;transform:none}}.zira-pill-btn{display:flex;align-items:center;gap:12px;cursor:pointer;text-align:left;background:var(--card);border:3px solid var(--orange);border-radius:var(--r-pill);padding:8px 20px 8px 8px;box-shadow:var(--lift),0 0 26px #f2882f52;font:inherit;color:inherit}.zira-pill-btn:focus-visible{outline:3px solid var(--sky);outline-offset:3px}.zira-pill-btn.is-compact{padding:4px;gap:0}.zira-panel{width:340px;max-width:calc(100vw - 32px);max-height:min(72vh,620px);overflow-y:auto;background:var(--card);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--lift-lg);padding:18px;animation:zira-bubble-in .25s var(--bounce) both}.zira-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--r-pill);background:var(--surface-2);font-weight:800;font-size:15px;color:var(--ink-soft);white-space:nowrap}.zira-btn{padding:12px 18px;border-radius:var(--r-pill);border:none;cursor:pointer;background:var(--orange);color:#fff;font-family:var(--font-display);font-weight:800;font-size:16px;box-shadow:var(--lift-sm);min-height:44px}.zira-btn.is-ghost{background:var(--surface-2);color:var(--ink-soft);box-shadow:none}.zira-btn:disabled{opacity:.55;cursor:default}.zira-xpbar{height:10px;border-radius:99px;background:var(--surface-3);overflow:hidden}.zira-xpbar>span{display:block;height:100%;background:linear-gradient(90deg,var(--tangerine),var(--orange));border-radius:99px;transition:width .5s var(--bounce)}.zira-mission-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:var(--r);background:var(--surface-2);font-weight:800;font-size:17px}.zira-mission-row.is-done{background:#4fbf8729;color:var(--success)}.zira-food-fly{animation:zira-food-fly .6s var(--bounce) forwards}@keyframes zira-food-fly{0%{transform:translate(-70px,30px) scale(1);opacity:1}75%{transform:translateY(-6px) scale(.8);opacity:1}to{transform:translate(0) scale(.4);opacity:0}}.zira-subject-fx{position:absolute;inset:-6px;pointer-events:none}.zira-subject-fx i{position:absolute;bottom:10%;left:calc(8% + var(--i) * 24%);font-style:normal;font-size:13px;line-height:1;opacity:0;animation:zira-subject-rise 3.6s ease-out infinite;animation-delay:calc(var(--i) * .9s)}@keyframes zira-subject-rise{0%{opacity:0;transform:translateY(0) scale(.6)}20%{opacity:.9}to{opacity:0;transform:translateY(-46px) scale(1)}}@media(prefers-reduced-motion:reduce){.zira-subject-fx{display:none}}@media(max-width:640px){.zira-companion{right:12px}.zira-bubble{max-width:210px;font-size:15px;padding:10px 13px}.zira-panel{position:fixed;left:16px;right:16px;bottom:calc(var(--zira-bottom, 18px) + 70px);width:auto;max-width:none}}.entry-page{position:relative;padding:28px 20px 60px}.entry-grid{position:relative;z-index:1;display:grid;align-items:start;justify-content:center;grid-template-columns:minmax(0,660px) 250px;gap:44px;pointer-events:none}.entry-grid>*{pointer-events:auto}.entry-grid.is-wide{grid-template-columns:minmax(0,780px) 270px;gap:32px}.entry-main{min-width:0}.entry-side{position:sticky;top:72px;display:flex;flex-direction:column;gap:10px}.entry-side .lp{position:static}@media(max-width:899px){.entry-grid,.entry-grid.is-wide{grid-template-columns:minmax(0,660px)}.entry-page{padding-bottom:140px}}.entry-kicker{margin:0 0 2px;font-family:var(--font-display);font-weight:800;font-size:15px;letter-spacing:.06em;text-transform:uppercase}.lp{position:sticky;top:76px;display:flex;flex-direction:column;align-items:center;gap:12px}.lp-bubble-slot{height:128px;width:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}.lp-bubble{position:relative;max-width:250px;padding:12px 16px;border-radius:18px;background:var(--card);border:2px solid var(--orange);box-shadow:var(--lift);font-family:var(--font-display);font-weight:800;font-size:17px;line-height:1.3;color:var(--ink);text-align:center;white-space:pre-line;animation:zira-bubble-in .3s var(--bounce) both}.lp-bubble:after{content:"";position:absolute;left:50%;bottom:-9px;width:14px;height:14px;background:var(--card);border-right:2px solid var(--orange);border-bottom:2px solid var(--orange);transform:translate(-50%) rotate(45deg)}.lp-portrait{position:relative;width:210px;height:210px;padding:6px;cursor:pointer;display:grid;border-radius:36px;background:#fdfdfd;border:3px solid var(--lp-accent);box-shadow:0 14px 34px var(--lp-glow);animation:lp-enter .9s var(--bounce) both;transition:translate .2s var(--bounce)}.lp-portrait>.zira-avatar{border-radius:30px;overflow:hidden;transition:transform .35s var(--bounce)}.lp-portrait:hover{translate:0 -3px}.lp.is-looking .lp-portrait>.zira-avatar{transform:rotate(-4deg) translate(-4px)}.lp-halo{position:absolute;inset:-9px;border-radius:44px;border:2px solid var(--lp-accent);pointer-events:none;animation:lp-halo 2.6s ease-out infinite}@keyframes lp-enter{0%{opacity:0;transform:translateY(46px) scale(.7) rotate(-7deg)}to{opacity:1;transform:none}}@keyframes lp-halo{0%{opacity:.55;transform:scale(1)}to{opacity:0;transform:scale(1.1)}}.lp-actions{display:flex;flex-direction:column;gap:8px;width:100%}.lp-btn{min-height:46px;padding:10px 18px;border-radius:var(--r-pill);cursor:pointer;background:var(--card);border:2px solid var(--line);box-shadow:var(--lift-sm);font-family:var(--font-display);font-weight:800;font-size:17px;color:var(--ink);transition:transform .12s var(--bounce),box-shadow .12s ease,border-color .12s ease}.lp-btn:hover{transform:translateY(-2px);border-color:var(--lp-accent, var(--orange));box-shadow:var(--lift)}.lp-btn:active{transform:scale(.96);box-shadow:var(--lift-press)}.lp-btn.is-primary{background:linear-gradient(135deg,var(--peach-lt),var(--peach));border-color:transparent}.lp.is-small{gap:8px}.lp.is-small .lp-bubble-slot{height:96px}.lp.is-small .lp-bubble{font-size:16px;padding:10px 14px}.lp.is-small .lp-portrait{width:150px;height:150px;padding:4px;border-radius:30px}.lp.is-small .lp-portrait>.zira-avatar{border-radius:25px}.lp.is-small .lp-halo{border-radius:36px}.lp.is-compact{position:fixed;top:auto;right:12px;bottom:14px;z-index:40;align-items:flex-end;gap:8px;pointer-events:none}.lp.is-compact>*{pointer-events:auto}.lp.is-compact .lp-bubble-slot{height:auto;width:auto;align-items:flex-end}.lp.is-compact .lp-bubble{max-width:220px;font-size:15px;padding:10px 13px;text-align:left;border-radius:18px 18px 4px;cursor:pointer}.lp.is-compact .lp-bubble:after{display:none}.lp.is-compact .lp-portrait{width:78px;height:78px;padding:3px;border-radius:22px}.lp.is-compact .lp-portrait>.zira-avatar{border-radius:18px}.lp.is-compact .lp-halo{inset:-6px;border-radius:26px}.mission-card{position:relative;transition:transform .22s var(--bounce),box-shadow .22s ease}.mission-card:hover,.mission-card:focus-visible{transform:translateY(-4px);box-shadow:var(--lift)}.mc-icon{position:absolute;top:14px;right:16px;font-size:26px;line-height:1;transition:transform .3s var(--bounce),opacity .3s ease,filter .3s ease}.fx-spin:hover .mc-icon,.fx-spin:focus-visible .mc-icon{animation:mc-wiggle .6s ease-in-out}.fx-glow:hover .mc-icon,.fx-glow:focus-visible .mc-icon{filter:drop-shadow(0 0 8px rgba(251,138,110,.95));transform:scale(1.18)}.fx-appear .mc-icon{opacity:0;transform:translateY(8px) scale(.5)}.fx-appear:hover .mc-icon,.fx-appear:focus-visible .mc-icon{opacity:1;transform:none}@keyframes mc-wiggle{0%,to{transform:none}30%{transform:rotate(-16deg) scale(1.2)}65%{transform:rotate(12deg) scale(1.15)}}.amb{position:fixed;inset:56px 0 0;z-index:0;pointer-events:none;overflow:hidden}.amb-interactive{display:none}@media(min-width:1180px){.amb-interactive{display:block}}.amb-bubble{position:absolute;bottom:-40px;border-radius:50%;background:radial-gradient(circle at 32% 28%,#fff,#a99bf059 60%,#a99bf01a 72%);border:1px solid rgba(169,155,240,.35);animation:amb-rise linear infinite}@keyframes amb-rise{0%{transform:translate(0);opacity:0}10%{opacity:.85}50%{transform:translate(12px,-50vh)}to{transform:translate(-6px,-105vh);opacity:0}}.amb-float{position:absolute;opacity:.55;animation:amb-float 7s ease-in-out infinite}.amb-float.slow,.amb-symbol.slow{animation-duration:10s}@keyframes amb-float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-16px) rotate(var(--r, 10deg))}}.amb-symbol{position:absolute;font-family:var(--font-display);font-weight:800;font-size:22px;color:#7c6bd961;animation:amb-float 8s ease-in-out infinite}.amb-droplet{position:absolute;width:14px;height:14px;border-radius:0 50% 50%;rotate:45deg;background:var(--c, #5BA9F5);box-shadow:0 0 14px var(--c, #5BA9F5);animation:amb-glow 3.6s ease-in-out infinite}@keyframes amb-glow{0%,to{opacity:.25}50%{opacity:.7}}.amb-dna{position:absolute;opacity:.5;animation:amb-twist 6s ease-in-out infinite}@keyframes amb-twist{0%,to{transform:scaleX(1)}50%{transform:scaleX(-1)}}.amb-leaf{position:absolute;top:-40px;animation:amb-fall 16s linear infinite;opacity:0}@keyframes amb-fall{0%{transform:translate(0) rotate(0);opacity:0}10%{opacity:.7}50%{transform:translate(24px,50vh) rotate(160deg)}to{transform:translate(-10px,100vh) rotate(320deg);opacity:0}}.amb-microbe{position:absolute;opacity:.55;animation:amb-wiggle 3s ease-in-out infinite}@keyframes amb-wiggle{0%,to{transform:translate(0) rotate(-6deg)}50%{transform:translate(10px,-6px) rotate(6deg)}}.amb-hit{position:absolute;pointer-events:auto;background:none;border:none;padding:0;cursor:pointer;transition:scale .2s var(--bounce),opacity .2s ease}.amb-hit:hover{scale:1.12}.amb-popper{width:46px;height:46px;border-radius:50%;background:radial-gradient(circle at 30% 28%,#fff 0 12%,#a99bf059 45%,#5ba9f533 70%);border:2px solid rgba(169,155,240,.6);box-shadow:0 0 20px #a99bf066;animation:amb-float 5s ease-in-out infinite}.amb-popper.is-popped{opacity:0;scale:1.6;pointer-events:none;transition:opacity .18s ease,scale .18s ease}.amb-beaker{width:58px;height:58px;opacity:.8}.amb-beaker-fizz i{position:absolute;bottom:40px;left:50%;width:9px;height:9px;border-radius:50%;border:1.5px solid #8B7BE8;background:#fffc;opacity:0;animation:amb-fizz 1.1s ease-out forwards}.amb-beaker-fizz i:nth-child(1){--x: -12px}.amb-beaker-fizz i:nth-child(2){--x: 4px;animation-delay:.15s}.amb-beaker-fizz i:nth-child(3){--x: 14px;animation-delay:.3s;width:6px;height:6px}.amb-beaker-fizz i:nth-child(4){--x: -4px;animation-delay:.45s}@keyframes amb-fizz{0%{transform:translate(-50%) scale(.5);opacity:1}to{transform:translate(calc(-50% + var(--x)),-46px) scale(1.15);opacity:0}}.amb-cell{animation:amb-wander 9s ease-in-out infinite}.amb-cell svg{transition:transform .35s var(--bounce)}.amb-cell.is-grown svg{transform:scale(1.7)}@keyframes amb-wander{0%,to{transform:translate(0)}25%{transform:translate(-14px,18px)}50%{transform:translate(8px,34px)}75%{transform:translate(12px,8px)}}.amb-scope{opacity:.85}.amb-paw{font-size:26px;opacity:.55}.amb-paw:hover{opacity:1}.amb-trail i{position:absolute;font-size:20px;font-style:normal;opacity:0;rotate:-18deg;animation:amb-paw 2.6s ease-out forwards;animation-delay:calc(var(--i) * .18s)}@keyframes amb-paw{0%{opacity:0;scale:.4}15%{opacity:.85;scale:1}70%{opacity:.85}to{opacity:0}}@media(max-width:899px){.amb-float,.amb-symbol,.amb-droplet,.amb-dna,.amb-microbe{display:none}.amb-bubble,.amb-leaf{opacity:.5}}@media(prefers-reduced-motion:reduce){.amb{display:none}}.fx-burst{position:fixed;width:0;height:0;z-index:80;pointer-events:none}.fx-burst i{position:absolute;left:-4px;top:-4px;width:8px;height:8px;border-radius:50%;font-style:normal;font-size:15px;line-height:8px;animation:fx-burst .75s cubic-bezier(.2,.7,.3,1) forwards}.fx-burst i.is-star{width:auto;height:auto}@keyframes fx-burst{0%{transform:rotate(var(--a)) translate(0) scale(var(--s));opacity:1}to{transform:rotate(var(--a)) translate(var(--d)) scale(calc(var(--s) * .2));opacity:0}}.kit-bench{position:relative;overflow:hidden;margin-bottom:16px;padding:16px 14px 30px;border-radius:var(--r-xl);border:1px solid var(--line);box-shadow:var(--lift-sm);background:linear-gradient(180deg,#fff,#f8f5ff)}.kit-bench-edge{position:absolute;left:0;right:0;bottom:0;height:16px;background:linear-gradient(180deg,#ffd9bd,#f7b98e);border-top:1px solid rgba(224,120,74,.35)}.kit-bench-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px}@media(max-width:560px){.kit-bench-items{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:4px}.kit-item{min-height:116px}.kit-name{font-size:14px}}.kit-item{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;min-height:128px;padding:10px 6px;border-radius:16px;cursor:grab;background:transparent;border:2px solid transparent;color:var(--ink);touch-action:none;user-select:none;-webkit-user-select:none;transition:transform .18s var(--bounce),background .18s ease,border-color .18s ease,box-shadow .18s ease,opacity .2s ease}.kit-item:hover:not(:disabled){transform:translateY(-4px);background:#fffffff2;border-color:var(--line);box-shadow:var(--lift-sm)}.kit-item:hover:not(:disabled) .kit-obj{animation:kit-jiggle .5s ease-in-out}.kit-item:active:not(:disabled){cursor:grabbing}.kit-item.is-lifted{opacity:.25}.kit-item.is-placed{cursor:default}.kit-item.is-placed .kit-obj,.kit-item.is-placed .kit-name,.kit-item.is-placed .kit-kind{opacity:.22;filter:grayscale(1)}.kit-done{position:absolute;top:40px;left:50%;translate:-50% 0;white-space:nowrap;padding:3px 10px;border-radius:99px;background:var(--success);color:#fff;font-weight:800;font-size:13px;animation:pop-in .3s var(--bounce) both}@keyframes kit-jiggle{0%,to{transform:none}30%{transform:rotate(-7deg) translateY(-2px)}65%{transform:rotate(6deg)}}.kit-obj{position:relative;isolation:isolate;display:grid;place-items:center;width:58px;height:58px}.kit-obj:after{content:"";position:absolute;z-index:-1;left:14%;bottom:-3px;width:72%;height:8px;border-radius:50%;background:#543ea829;filter:blur(2px)}.kit-name{font-size:16px;font-weight:700;line-height:1.2;text-align:center;overflow-wrap:anywhere}.kit-kind{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute)}.bo-emoji{display:grid;place-items:center;line-height:1}.bo-svg{display:block;overflow:visible}.kit-ghost{position:fixed;z-index:70;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;border-radius:16px;background:#fff;border:2px solid var(--orange);color:var(--ink);box-shadow:0 18px 40px #543ea847;transform:scale(1.08) rotate(-3deg);transition:transform .15s var(--bounce),box-shadow .15s ease}.kit-ghost.is-over{transform:scale(1.14);box-shadow:0 0 0 6px #f2882f40,0 18px 40px #f2882f59}.kit-ghost.is-returning{transform:scale(1);opacity:.5;transition:left .38s var(--bounce),top .38s var(--bounce),transform .38s ease,opacity .38s ease}.kit-tray{position:relative;margin-bottom:20px;padding:14px 14px 16px;border-radius:var(--r-xl);background:linear-gradient(180deg,#fff9f3,#fff0e6);border:2.5px dashed rgba(242,136,47,.45);transition:border-color .2s ease,box-shadow .25s ease,transform .25s var(--bounce),background .25s ease}.kit-tray.is-armed{border-color:var(--orange);box-shadow:0 0 0 6px #f2882f1f}.kit-tray.is-over{transform:scale(1.012);background:#fff1e2;box-shadow:0 0 0 8px #f2882f33,0 16px 40px #f2882f4d}.kit-tray.is-ready{border-style:solid;border-color:var(--success);background:linear-gradient(180deg,#f1fcf7,#e4f8f1);animation:kit-ready 2.2s ease-in-out infinite}@keyframes kit-ready{0%,to{box-shadow:0 0 0 5px #3fc9a429,0 0 26px #3fc9a440}50%{box-shadow:0 0 0 8px #3fc9a438,0 0 46px #3fc9a473}}.kit-tray-head{display:flex;align-items:center;gap:14px;margin-bottom:12px}.kit-count{font-family:var(--font-display);font-size:20px;font-weight:700;color:var(--ink);white-space:nowrap}.kit-count b{font-size:28px;color:var(--orange)}.kit-tray.is-ready .kit-count b{color:var(--success)}.kit-meter{flex:1;height:12px;border-radius:99px;background:#f2882f26;overflow:hidden}.kit-meter>span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--tangerine),var(--orange));transition:width .45s var(--bounce)}.kit-tray.is-ready .kit-meter>span{background:var(--success)}.kit-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.kit-slot{min-height:58px;border-radius:14px;border:2px dashed rgba(145,139,176,.32);background:#ffffff80}.kit-slot.is-filled{border:none;background:none}.kit-tray.is-armed .kit-slot.is-next{border-color:var(--orange);background:#ffffffe6;animation:kit-slot-pulse 1s ease-in-out infinite}@keyframes kit-slot-pulse{50%{box-shadow:0 0 0 5px #f2882f38}}.kit-chip{width:100%;height:100%;display:flex;align-items:center;gap:6px;padding:6px 10px 6px 6px;border-radius:14px;background:#fff;border:1.5px solid var(--line);box-shadow:var(--lift-sm);font-size:14px;font-weight:700;line-height:1.15;color:var(--ink);text-align:left;cursor:pointer}.kit-chip>span:last-child{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.kit-chip>*{flex-shrink:0}.kit-chip>span:last-child{flex-shrink:1}.kit-slot.is-fresh .kit-chip{animation:kit-snap .45s var(--bounce) both}@keyframes kit-snap{0%{transform:scale(.4) translateY(-14px);opacity:0}60%{transform:scale(1.08)}to{transform:none;opacity:1}}.kit-tray-hint{position:absolute;inset:58px 0 16px;margin:0;pointer-events:none;display:grid;place-items:center;text-align:center;font-family:var(--font-display);font-weight:700;font-size:19px;color:#e0784abf}.kit-tray.is-side{margin-bottom:0;padding:12px}.kit-tray.is-side .kit-tray-head{flex-wrap:wrap;gap:6px 10px;margin-bottom:10px}.kit-tray.is-side .kit-meter{flex-basis:100%}.kit-tray.is-side .kit-slots{grid-template-columns:repeat(4,1fr);gap:7px}.kit-tray.is-side .kit-slot{min-height:0;aspect-ratio:1}.kit-tray.is-side .kit-chip{justify-content:center;padding:2px}.kit-tray.is-side .kit-tray-hint{top:70px;font-size:16px}.kit-tray-go{width:100%;margin-top:12px}.kit-go{animation:kit-go 1.8s ease-in-out infinite}@keyframes kit-go{0%,to{box-shadow:0 10px 24px #f0963c59;transform:scale(1)}50%{box-shadow:0 16px 38px #f0963c99;transform:scale(1.02)}}.mg-scrim{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:16px;background:#241d4f61;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:mg-fade .25s ease both;font-family:var(--font-body)}@keyframes mg-fade{0%{opacity:0}to{opacity:1}}.mg-card{width:min(620px,100%);padding:20px 22px 18px;border-radius:28px;background:var(--card);box-shadow:var(--lift-lg);animation:pop-in .4s var(--bounce) both}.mg-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.mg-title{margin:2px 0 0;font-family:var(--font-display);font-size:30px;font-weight:800;line-height:1.1;color:var(--ink)}.mg-dots{display:flex;gap:8px}.mg-dots span{width:18px;height:18px;border-radius:50%;background:var(--surface-3);transition:all .3s var(--bounce)}.mg-dots span.is-on{background:var(--lp-accent);scale:1.2;box-shadow:0 0 12px var(--lp-glow)}.mg-stage{position:relative;height:300px;overflow:hidden;border-radius:20px;border:1px solid var(--line);background:radial-gradient(circle at 30% 25%,#f7f4ff,#e6e0fb)}.mg-biology .mg-stage{background:radial-gradient(circle at 30% 25%,#f2fcf8,#d6f2e7)}.mg-target{position:absolute;width:64px;height:64px;display:grid;place-items:center;padding:0;background:none;border:none;cursor:pointer;touch-action:manipulation;animation:mg-drift ease-in-out infinite alternate;transition:scale .2s var(--bounce),opacity .25s ease}.mg-target:hover{scale:1.1}@keyframes mg-drift{0%{transform:translate(0)}to{transform:translate(var(--dx),var(--dy))}}.mg-target.is-good svg{animation:mg-glow 1.4s ease-in-out infinite}@keyframes mg-glow{0%,to{filter:drop-shadow(0 0 6px var(--lp-glow)) drop-shadow(0 0 3px #fff)}50%{filter:drop-shadow(0 0 16px var(--lp-glow)) drop-shadow(0 0 6px #fff)}}.mg-target.is-gone{opacity:0;scale:1.7;pointer-events:none}.mg-target.is-wobble svg{animation:mg-wobble .45s ease-in-out}@keyframes mg-wobble{25%{transform:rotate(-16deg)}75%{transform:rotate(16deg)}}.mg-unlocked{position:absolute;inset:0;display:grid;place-items:center;padding:20px;text-align:center;background:#fff9;font-family:var(--font-display);font-weight:800;font-size:34px;color:var(--ink);animation:pop-in .45s var(--bounce) both}.mg-foot{display:flex;align-items:center;gap:12px;margin-top:14px}.mg-zira{display:grid;width:64px;height:64px;flex-shrink:0;padding:2px;overflow:hidden;border-radius:18px;background:#fdfdfd;border:2px solid var(--lp-accent)}.mg-line{flex:1;margin:0;font-family:var(--font-display);font-weight:800;font-size:19px;line-height:1.25;color:var(--ink);animation:zira-bubble-in .3s var(--bounce) both}.mg-skip{flex-shrink:0;white-space:nowrap}@media(max-width:560px){.mg-foot{flex-wrap:wrap}.mg-skip{width:100%}.mg-stage{height:260px}.mg-title{font-size:25px}}.mg-card{width:min(680px,100%);max-height:calc(100dvh - 32px);overflow-y:auto}.mg-instruction{margin:4px 0 0;font-weight:800;font-size:17px;color:var(--ink-soft)}.mg-stage.is-board{height:auto;min-height:260px;padding:16px;overflow:visible;display:grid;align-content:center}.mg-stage.is-board .mg-unlocked{border-radius:20px}.mg-catch-emoji{font-size:48px;line-height:1;filter:drop-shadow(0 0 8px var(--lp-glow)) drop-shadow(0 0 3px #fff);animation:mg-glow 1.4s ease-in-out infinite}.mg-catch-emoji.is-decoy{font-size:36px;filter:none;animation:none;opacity:.85}.mg-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:64px;padding:10px 12px;border-radius:16px;border:2px solid var(--line);background:var(--card);font-family:var(--font-display);font-weight:800;color:var(--ink);cursor:pointer;touch-action:manipulation;box-shadow:0 3px #241d4f14;transition:transform .15s var(--bounce),border-color .15s,background .15s,opacity .2s}.mg-tile:hover{transform:translateY(-2px);border-color:var(--lp-accent)}.mg-tile.is-picked{border-color:var(--lp-accent);background:color-mix(in srgb,var(--lp-accent) 14%,var(--card));box-shadow:0 0 0 4px var(--lp-glow)}.mg-tile.is-wobble{animation:mg-wobble .45s ease-in-out;border-color:#f59e9e}.mg-tile.is-right,.mg-tile.is-placed{border-color:#3fc9a4;background:#e6f8f1}.mg-tile.is-placed{opacity:.75;cursor:default}.mg-tile.is-matched{border-color:var(--pc);background:color-mix(in srgb,var(--pc) 16%,var(--card));cursor:default}.mg-emoji{font-size:40px;line-height:1.05}.mg-text{font-size:17px;line-height:1.2;text-align:center}.is-easy .mg-text{font-size:19px}.is-hard .mg-emoji{font-size:26px}.mg-badge{position:absolute;top:-10px;left:-10px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#3fc9a4;color:#fff;font-size:16px;box-shadow:0 2px 6px #0000002e}.mg-sort{display:grid;gap:14px}.mg-tray{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;min-height:70px}.mg-tray-done{align-self:center;font-family:var(--font-display);font-weight:800;font-size:20px;color:var(--ink-soft)}.mg-drag{touch-action:none;user-select:none;min-width:96px;cursor:grab}.mg-drag.is-dragging{z-index:5;cursor:grabbing;transition:none;box-shadow:0 12px 26px #241d4f38}.mg-bins{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mg-sort.is-three .mg-bins{grid-template-columns:repeat(3,minmax(0,1fr))}.mg-bin{display:grid;align-content:start;gap:8px;min-height:120px;padding:10px;border-radius:18px;cursor:pointer;border:3px dashed color-mix(in srgb,var(--lp-accent) 55%,transparent);background:#ffffffb3;font-family:var(--font-display);transition:background .15s,border-color .15s}.mg-bin.is-ready{background:color-mix(in srgb,var(--lp-accent) 10%,#fff);border-style:solid}.mg-bin__head{display:flex;align-items:center;justify-content:center;gap:8px;font-weight:800;color:var(--ink)}.mg-bin__head .mg-emoji{font-size:30px}.mg-bin__items{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.mg-chip{padding:4px 10px;border-radius:999px;background:#e6f8f1;color:#1f7a5c;font-weight:800;font-size:14px;animation:pop-in .35s var(--bounce) both}.mg-memory{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:10px}.mg-card-flip{display:grid;place-items:center;min-height:92px;padding:8px;border-radius:16px;cursor:pointer;border:2px solid var(--line);background:var(--card);font-family:var(--font-display);font-weight:800;color:var(--ink);transition:transform .2s var(--bounce)}.mg-card-flip:not(.is-up){background:linear-gradient(135deg,var(--lp-accent),color-mix(in srgb,var(--lp-accent) 60%,#fff));border-color:transparent}.mg-card-flip:not(.is-up):hover{transform:scale(1.04)}.mg-card-flip.is-up{animation:pop-in .3s var(--bounce) both}.mg-card-flip.is-matched{border-color:var(--pc);background:color-mix(in srgb,var(--pc) 16%,var(--card))}.mg-card-back{font-size:34px;color:#fff}.mg-memory .mg-emoji{font-size:46px}.mg-memory.is-text .mg-card-flip{min-height:74px}.mg-memory.is-text .mg-text{font-size:15px}.mg-order{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.mg-order.is-text{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.mg-order:not(.is-text) .mg-tile{min-height:130px}.mg-order:not(.is-text) .mg-emoji{font-size:52px}.mg-match{display:grid;grid-template-columns:1fr 1fr;gap:14px}.mg-col{display:grid;gap:10px;align-content:start}.mg-match .mg-tile{flex-direction:row;justify-content:flex-start;min-height:58px;text-align:left}.mg-match .mg-text{text-align:left}.mg-match:not(.is-text) .mg-emoji{font-size:34px}.mg-rounds{display:grid;gap:12px;text-align:center}.mg-round-count{margin:0;font-weight:800;font-size:14px;color:var(--ink-mute);letter-spacing:.04em;text-transform:uppercase}.mg-show{margin:0;font-size:54px;letter-spacing:8px;line-height:1.1}.mg-q{margin:0;font-family:var(--font-display);font-weight:800;font-size:22px;line-height:1.3;color:var(--ink);animation:pop-in .3s var(--bounce) both}.is-hard .mg-q{font-size:20px}.mg-blank{display:inline-block;min-width:70px;margin:0 4px;padding:0 8px;border-bottom:3px solid var(--lp-accent);color:var(--lp-accent)}.mg-options{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:10px}.mg-rounds.is-count .mg-text{font-size:34px}.mg-rounds.is-odd:not(.is-text) .mg-emoji{font-size:50px}.mg-rounds.is-tf .mg-tile{min-height:76px}@media(max-width:560px){.mg-stage.is-board{padding:12px;min-height:0}.mg-instruction{font-size:15px}.mg-sort.is-three .mg-bins{gap:6px}.mg-bin{min-height:84px;padding:6px}.mg-bin__head{flex-direction:column;gap:2px;font-size:14px;text-align:center}.mg-chip{font-size:12px;padding:3px 7px}.mg-drag{min-width:84px}.mg-memory{grid-template-columns:repeat(3,minmax(0,1fr))}.mg-card-flip{min-height:74px}.mg-order:not(.is-text) .mg-tile{min-height:104px}.mg-match{gap:8px}.mg-match .mg-tile{flex-direction:column;text-align:center;padding:8px}.mg-match .mg-text,.mg-text{font-size:15px}.mg-options{grid-template-columns:repeat(2,minmax(0,1fr))}.mg-rounds.is-count .mg-options{grid-template-columns:repeat(3,minmax(0,1fr))}.mg-show{font-size:42px}.mg-q{font-size:19px}}.labfx-canvas{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:28}.labfx-zira-wrap{position:fixed;left:12px;bottom:calc(6px + env(safe-area-inset-bottom));z-index:29;pointer-events:none;display:flex;flex-direction:column;align-items:flex-start;gap:4px}.labfx-zira{position:relative;width:116px;height:116px}.labfx-zira img{width:100%;height:100%;object-fit:contain;display:block;transform-origin:50% 100%;filter:drop-shadow(0 8px 12px rgba(20,16,58,.35))}.labfx-shadow{position:absolute;left:22%;right:22%;bottom:-2px;height:10px;border-radius:50%;background:#00000047;z-index:-1;transform-origin:center}.labfx-idle img{animation:labfx-bob 3.2s ease-in-out infinite}.labfx-happy img{animation:labfx-jump .7s cubic-bezier(.3,.7,.4,1) 2}.labfx-happy .labfx-shadow{animation:labfx-shadow .7s cubic-bezier(.3,.7,.4,1) 2}.labfx-party img{animation:labfx-party .8s cubic-bezier(.3,.7,.4,1) 4}.labfx-party .labfx-shadow{animation:labfx-shadow .8s cubic-bezier(.3,.7,.4,1) 4}.labfx-think img{animation:labfx-tilt 1.3s ease-in-out 2}@keyframes labfx-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes labfx-jump{0%{transform:translateY(0) scale(1)}15%{transform:translateY(0) scale(1.12,.84)}45%{transform:translateY(-58px) scale(.94,1.08) rotate(-6deg)}70%{transform:translateY(0) scale(1.1,.88)}85%{transform:translateY(-8px) scale(.98,1.03)}to{transform:translateY(0) scale(1)}}@keyframes labfx-party{0%{transform:translateY(0) scale(1.1,.86) rotate(0)}40%{transform:translateY(-74px) scale(.95,1.08) rotate(-12deg)}60%{transform:translateY(-74px) scale(.95,1.08) rotate(12deg)}85%{transform:translateY(0) scale(1.1,.88)}to{transform:translateY(0) scale(1)}}@keyframes labfx-shadow{0%,to{transform:scale(1);opacity:1}45%{transform:scale(.55);opacity:.45}}@keyframes labfx-tilt{0%,to{transform:rotate(0)}30%{transform:rotate(-9deg)}65%{transform:rotate(5deg)}}.labfx-bubble{order:1;margin-left:40px;padding:10px 15px;border-radius:18px 18px 18px 4px;white-space:nowrap;background:#fff;border:3px solid var(--orange);font-family:var(--font-display);font-weight:800;font-size:18px;line-height:1.25;color:#241d4f;box-shadow:0 10px 24px #14103a4d;animation:labfx-bubble .35s var(--bounce) both}.labfx-zira{order:2}.labfx-bubble-happy{border-color:var(--mint)}.labfx-bubble-party{border-color:var(--amber);font-size:20px}.labfx-bubble-think{border-color:var(--amber)}@keyframes labfx-bubble{0%{opacity:0;transform:translateY(10px) scale(.85)}to{opacity:1;transform:none}}.labfx-lean{width:100%;height:100%;transform-origin:50% 100%;transition:transform .45s cubic-bezier(.34,1.56,.64,1)}.labfx-directed .labfx-idle img{animation:labfx-breathe 3.6s ease-in-out infinite}.labfx-look img{animation:labfx-nod 1.6s ease-in-out infinite}.labfx-point img{animation:labfx-hop .55s cubic-bezier(.3,.7,.4,1) infinite}.labfx-point .labfx-shadow{animation:labfx-shadow .55s cubic-bezier(.3,.7,.4,1) infinite}.labfx-pour img{animation:labfx-wiggle .42s ease-in-out infinite}.labfx-shake img{animation:labfx-headshake .9s ease-in-out 2}@keyframes labfx-breathe{0%,to{transform:scale(1) rotate(0)}30%{transform:scale(1.012,1.028) rotate(-1.2deg)}60%{transform:scaleY(1.008) rotate(1deg)}}@keyframes labfx-nod{0%,to{transform:rotate(0) translateY(0)}50%{transform:rotate(3deg) translateY(-3px)}}@keyframes labfx-hop{0%,to{transform:translateY(0) scale(1.04,.96)}45%{transform:translateY(-16px) scale(.97,1.04) rotate(3deg)}}@keyframes labfx-wiggle{0%,to{transform:rotate(-5deg) scale(1.02,.98)}50%{transform:rotate(5deg) scale(.98,1.03) translateY(-5px)}}@keyframes labfx-headshake{0%,to{transform:rotate(0)}15%{transform:rotate(-7deg)}35%{transform:rotate(6deg)}55%{transform:rotate(-5deg)}75%{transform:rotate(3deg)}}.labfx-pointer{position:absolute;left:70%;top:18%;width:34px;height:34px;margin:-17px 0 0 -17px;display:grid;place-items:center;transform-origin:50% 50%;transition:transform .3s ease}.labfx-pointer svg{color:#ff8a3d;filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 1px #fff) drop-shadow(0 2px 3px rgba(20,16,58,.4));animation:labfx-poke .6s ease-in-out infinite}@keyframes labfx-poke{0%,to{transform:translate(14px)}50%{transform:translate(24px)}}.labfx-bubble-look,.labfx-bubble-point,.labfx-bubble-pour{border-color:var(--sky)}.labfx-bubble-shake{border-color:var(--amber)}@media(max-width:780px){.labfx-zira{width:76px;height:76px}.labfx-bubble{font-size:15px;margin-left:24px;max-width:200px;white-space:normal}}@media(prefers-reduced-motion:reduce){.labfx-zira img,.labfx-shadow,.labfx-bubble,.labfx-pointer svg{animation:none!important}}.zs{--zs-size: 170px;position:relative;width:var(--zs-size);height:var(--zs-size);flex-shrink:0}.zs-aura{position:absolute;inset:10% 8% 0;border-radius:50%;pointer-events:none;background:radial-gradient(circle at 50% 55%,color-mix(in srgb,var(--zs-aura) 42%,transparent) 0%,transparent 66%);animation:zs-aura 3.6s ease-in-out infinite;transition:opacity .8s}@keyframes zs-aura{0%,to{transform:scale(.94);opacity:.75}50%{transform:scale(1.04);opacity:1}}.zs-body{all:unset;box-sizing:border-box;position:absolute;inset:0;display:block;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:40%;transform-origin:50% 96%;animation:zs-sway 8s ease-in-out infinite;transition:transform .6s var(--bounce)}.zs-body:focus-visible{outline:3px solid var(--sky);outline-offset:4px}.zs-body:hover .zs-pose{filter:brightness(1.04)}.zs-pose{position:absolute;inset:0;transform-origin:50% 96%;animation:zs-breathe 3.4s ease-in-out infinite}.zs-pose .zs-art{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:contain;pointer-events:none;user-select:none;transform:scale(var(--zs-scale, 1));transform-origin:50% 100%;filter:drop-shadow(0 10px 14px rgba(40,20,80,.2));transition:filter .8s,transform .8s var(--bounce)}.zm-wrap>.zm-poster,.zm-wrap>.zm-media{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;background:transparent;pointer-events:none}.zs.zs-giant{width:calc(var(--zs-size) * .9);height:calc(var(--zs-size) * 1.32)}.zs.zs-giant .zs-aura{inset:4% -6% 0}@keyframes zs-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.012,1.028)}}@keyframes zs-sway{0%,to{transform:rotate(0)}18%{transform:rotate(-1.6deg)}36%{transform:rotate(1.2deg)}52%{transform:rotate(0)}60%,70%{transform:rotate(3.5deg) translate(2%)}78%{transform:rotate(-1deg)}}.zs.zs-do-wake .zs-body{animation:zs-wake 1s var(--bounce)}@keyframes zs-wake{0%{transform:none}14%{transform:translateY(3%) scale(1.06,.9)}38%{transform:translateY(-15%) rotate(-5deg) scale(1.03)}60%{transform:translateY(-3%) rotate(4deg) scale(1.1)}80%{transform:rotate(-2deg) scale(1.03)}to{transform:none}}.zs.zs-do-notice .zs-body{animation:zs-excited .38s ease-in-out 3}@keyframes zs-excited{0%,to{transform:none}50%{transform:translateY(-7%) rotate(-3deg)}}.zs.zs-do-eat .zs-pose{animation:zs-chomp .3s ease-in-out 4}@keyframes zs-chomp{0%,to{transform:scale(1)}50%{transform:scale(1.05,.93)}}.zs.zs-do-happy .zs-body{animation:zs-happy .5s var(--bounce) 2}@keyframes zs-happy{0%,to{transform:none}45%{transform:translateY(-9%) rotate(3deg)}}.zs.zs-do-restore .zs-body{animation:zs-stand 1.3s var(--bounce)}.zs.zs-do-restore .zs-aura{animation:zs-flare 1.6s ease-out}@keyframes zs-stand{0%{transform:translateY(7%) scale(.93)}55%{transform:translateY(-8%) scale(1.06)}to{transform:none}}@keyframes zs-flare{0%{transform:scale(.6);opacity:.3}40%{transform:scale(1.3);opacity:1}to{transform:scale(1);opacity:.9}}.zs-vit-bright .zs-aura{opacity:1}.zs-vit-bright .zs-pose .zs-art{filter:drop-shadow(0 10px 14px rgba(40,20,80,.2)) drop-shadow(0 0 18px color-mix(in srgb,var(--zs-aura) 45%,transparent))}.zs-vit-low .zs-body{animation-duration:12s}.zs-vit-low .zs-pose{animation-duration:5.2s}.zs-vit-low .zs-aura{opacity:.45;animation-duration:6s}.zs-vit-low .zs-pose .zs-art{filter:saturate(.86) drop-shadow(0 8px 12px rgba(40,20,80,.16))}.zs-vit-crumble .zs-body{animation:zs-rest 7s ease-in-out infinite}.zs-vit-crumble .zs-pose{animation-duration:6s}.zs-vit-crumble .zs-aura{opacity:.22;animation-duration:7s}.zs-vit-crumble .zs-pose .zs-art{filter:saturate(.72) brightness(.96) drop-shadow(0 6px 10px rgba(40,20,80,.14))}@keyframes zs-rest{0%,to{transform:translateY(7%) scale(.93) rotate(-1deg)}44%{transform:translateY(7%) scale(.93) rotate(1deg)}50%{transform:translateY(5%) scale(.93,.97) rotate(0)}56%{transform:translateY(7%) scale(.93) rotate(0)}}.zs-vit-woken .zs-aura{opacity:.5}.zs-vit-woken .zs-pose .zs-art{filter:saturate(.92) drop-shadow(0 10px 14px rgba(40,20,80,.18))}.zs-motes{position:absolute;inset:0;pointer-events:none}.zs-motes i{position:absolute;left:calc(16% + var(--i) * 5.8%);top:34%;width:calc(var(--zs-size) * .035);height:calc(var(--zs-size) * .035);border-radius:50%;background:radial-gradient(circle,#FFF3C4 0%,#F6C04A 55%,transparent 72%);box-shadow:0 0 8px #f9c86ae6;opacity:0}.zs-motes.is-falling i{animation:zs-fall 4.2s ease-in infinite;animation-delay:calc(var(--i) * -.37s)}@keyframes zs-fall{0%{opacity:0;transform:translate(0) scale(1)}15%{opacity:.95}to{opacity:0;transform:translate(calc((var(--i) - 6) * 1.5px),calc(var(--zs-size) * .58)) scale(.3)}}.zs-motes.is-rising i{top:96%;animation:zs-rise 1.6s cubic-bezier(.2,.7,.3,1) forwards;animation-delay:calc(var(--i) * .06s)}@keyframes zs-rise{0%{opacity:0;transform:scale(.4)}25%{opacity:1}to{opacity:0;transform:translate(calc((6 - var(--i)) * 3px),calc(var(--zs-size) * -.62)) scale(1.3)}}.zs-sparks{position:absolute;inset:0;pointer-events:none}.zs-sparks i{position:absolute;left:50%;top:42%;font-style:normal;line-height:1;font-size:calc(var(--zs-size) * .1);color:#ffc53d;text-shadow:0 0 8px rgba(255,197,61,.8);transform:translate(-50%,-50%) rotate(var(--a));animation:zs-spark .85s ease-out forwards}@keyframes zs-spark{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--a)) translateY(0) scale(.4)}25%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--a)) translateY(calc(var(--zs-size) * -.6)) scale(.9)}}.zs-emblem{position:absolute;right:0;top:6%;display:grid;place-items:center;width:calc(var(--zs-size) * .22);height:calc(var(--zs-size) * .22);border-radius:50%;background:var(--card);box-shadow:0 0 0 3px color-mix(in srgb,var(--zs-aura) 55%,transparent),var(--lift-sm);font-size:calc(var(--zs-size) * .12);pointer-events:none;animation:zs-emblem-in .5s var(--bounce) both}@keyframes zs-emblem-in{0%{transform:scale(0) rotate(-30deg)}to{transform:none}}.zs-thought{position:absolute;left:-4%;top:4%;padding:5px 8px;border-radius:16px;background:var(--card);box-shadow:var(--lift-sm);font-size:calc(var(--zs-size) * .1);line-height:1;pointer-events:none;animation:zs-float 3.2s ease-in-out infinite;opacity:.92}.zs-thought:after{content:"";position:absolute;right:-6px;bottom:-6px;width:9px;height:9px;border-radius:50%;background:var(--card);box-shadow:var(--lift-sm)}@keyframes zs-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.zs-zzz{position:absolute;right:14%;top:0;pointer-events:none;font-family:var(--font-display);font-weight:800;color:var(--lavender);font-size:calc(var(--zs-size) * .1);animation:zs-zzz 3.4s ease-in-out infinite}.zs-zzz small{font-size:.7em;margin-left:2px}@keyframes zs-zzz{0%{opacity:0;transform:translateY(6px)}30%,70%{opacity:.85}to{opacity:0;transform:translate(8px,-12px)}}.zs-food{position:absolute;left:-6%;bottom:8%;z-index:2;pointer-events:none;font-size:calc(var(--zs-size) * .22);line-height:1}.zs-food-hand{position:absolute;left:0;top:55%;animation:zs-hand 1.15s ease-out forwards}.zs-food-item{position:relative;display:inline-block;animation:zs-food-fly 1.15s ease-in-out forwards}@keyframes zs-hand{0%{opacity:0;transform:translateY(12px)}20%,55%{opacity:1;transform:none}to{opacity:0;transform:translateY(10px)}}@keyframes zs-food-fly{0%{opacity:0;transform:translateY(10px) scale(.7)}18%{opacity:1;transform:translate(0) scale(1)}40%{transform:translateY(-4px) rotate(-8deg) scale(1.08)}82%{opacity:1;transform:translate(calc(var(--zs-size) * .5),calc(var(--zs-size) * -.45)) rotate(10deg) scale(.8)}to{opacity:0;transform:translate(calc(var(--zs-size) * .55),calc(var(--zs-size) * -.48)) scale(.3)}}.zs-xp{left:50%;top:2%}.zira-hero-center{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;margin-bottom:22px;min-height:calc(100svh - 190px);transition:min-height .7s cubic-bezier(.3,.9,.3,1)}.zira-hero-center:before{content:"";position:absolute;left:50%;top:50%;width:min(760px,100%);aspect-ratio:1.5;transform:translate(-50%,-50%);pointer-events:none;z-index:-1;background:radial-gradient(closest-side,color-mix(in srgb,var(--wash-peach) 85%,transparent),transparent)}.zira-hero-center.is-revealed{min-height:0}.zira-hero-center .zs{--zs-size: clamp(230px, 46vh, 400px);transition:width .7s var(--bounce),height .7s var(--bounce)}.zira-hero-center.is-revealed .zs{--zs-size: 190px}.zira-hero-char{position:relative;display:flex;flex-direction:column;align-items:center;flex-shrink:0}.zhc-bubble{position:relative;max-width:min(480px,100%);padding:14px 26px;background:var(--card);border-radius:24px;box-shadow:var(--lift)}.zhc-bubble:after{content:"";position:absolute;left:50%;bottom:-9px;width:18px;height:18px;background:var(--card);transform:translate(-50%) rotate(45deg);border-radius:3px}.zhc-hello{margin:0;font-family:var(--font-display);font-weight:800;font-size:var(--step-1);color:var(--ink)}.zhc-line{margin:4px 0 0;font-weight:700;font-size:18px;color:var(--ink-soft);animation:zira-bubble-in .3s var(--bounce) both}.zhc-hint{margin:0;font-weight:700;font-size:16px;color:var(--ink-mute);animation:zhc-hint 2.4s ease-in-out infinite}@keyframes zhc-hint{0%,to{opacity:.7}50%{opacity:1}}.zhc-explore{padding:11px 22px;border-radius:var(--r-pill);border:none;cursor:pointer;background:linear-gradient(135deg,var(--peach-lt),var(--peach));color:var(--ink);font-family:var(--font-display);font-weight:800;font-size:var(--step-0);box-shadow:var(--lift-sm)}.zira-hero-center .zira-tap-cta{font-size:17px;padding:11px 24px 11px 18px}.zira-hero-center .zira-tap-cta .paw{font-size:21px}.zgm{display:grid;gap:5px;width:min(300px,100%);padding:9px 14px 8px;background:var(--card);border-radius:16px;box-shadow:var(--lift-sm);text-align:left}.zgm-title{display:flex;justify-content:space-between;gap:8px;font-family:var(--font-display);font-weight:800;font-size:15px;color:var(--ink)}.zgm-next{color:var(--ink-mute);font-size:14px;white-space:nowrap}.zgm-bar{height:10px;border-radius:99px;background:var(--surface-3);overflow:hidden}.zgm-bar>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--zgm-from, #F2882F),var(--zgm-to, #4FBF87));transition:width .9s cubic-bezier(.3,.9,.3,1)}.zgm-note{font-size:13px;font-weight:800;color:var(--ink-mute)}.zgm.is-final{width:auto;text-align:center;background:linear-gradient(135deg,#fff6d6,#ffe7a8);box-shadow:0 0 0 2px #ffd058,0 6px 18px #ffb4004d}.zgm.is-final .zgm-title{justify-content:center}.zira-reveal.is-open>*{animation:zira-reveal-in .5s var(--bounce) both}.zira-reveal.is-open>:nth-child(2){animation-delay:.08s}.zira-reveal.is-open>:nth-child(3){animation-delay:.16s}.zira-reveal.is-open>:nth-child(4){animation-delay:.24s}@keyframes zira-reveal-in{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}.zira-tap-cta{position:relative;z-index:2;margin-top:-14px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:8px 16px 8px 12px;border:2px solid #fff;border-radius:var(--r-pill);background:linear-gradient(135deg,var(--peach-lt, #FFD9A8),var(--orange));color:#fff;font-family:var(--font-display);font-weight:800;font-size:15px;letter-spacing:.06em;text-shadow:0 1px 2px rgba(120,50,0,.35);white-space:nowrap;box-shadow:0 6px 16px #f2882f66;animation:zira-cta-bob 2.4s ease-in-out infinite;transition:transform .15s var(--bounce)}.zira-tap-cta:hover{transform:scale(1.06)}.zira-tap-cta:active{transform:scale(.95)}.zira-tap-cta:focus-visible{outline:3px solid var(--sky);outline-offset:3px}.zira-tap-cta .paw{font-size:18px;display:inline-block;animation:zira-paw 2.4s ease-in-out infinite}.zira-tap-cta:before{content:"";position:absolute;inset:-2px;border-radius:inherit;pointer-events:none;box-shadow:0 0 #f2882f8c;animation:zira-cta-ring 2.4s ease-out infinite}.zira-tap-cta.is-open{animation:none;background:var(--card);color:var(--ink-soft);text-shadow:none;border-color:var(--line);box-shadow:var(--lift-sm)}.zira-tap-cta.is-open:before{display:none}@keyframes zira-cta-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes zira-cta-ring{0%{box-shadow:0 0 #f2882f80}70%,to{box-shadow:0 0 0 12px #f2882f00}}@keyframes zira-paw{0%,70%,to{transform:rotate(0)}78%{transform:rotate(-18deg)}86%{transform:rotate(12deg)}}.zsp{position:relative;margin:0 0 22px;padding:20px;overflow:hidden;background:var(--card);border-radius:var(--r-xl);border:2px solid color-mix(in srgb,var(--orange) 28%,transparent);box-shadow:var(--lift);transform-origin:12% 0;animation:zsp-in .45s var(--bounce) both}.zsp:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.6;background:radial-gradient(420px 180px at 6% 0%,var(--wash-peach),transparent 65%)}@keyframes zsp-in{0%{opacity:0;transform:translateY(-14px) scale(.96)}to{opacity:1;transform:none}}.zsp-head{position:relative;display:flex;align-items:center;gap:12px;margin-bottom:14px}.zsp-title{margin:0;font-family:var(--font-display);font-weight:800;font-size:22px;color:var(--ink)}.zsp-sub{margin:2px 0 0;font-weight:800;font-size:15px;color:var(--ink-mute)}.zsp-grid{position:relative;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:1100px){.zsp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.zsp-tile{padding:14px 16px;border-radius:var(--r-lg);background:var(--surface-2);animation:zsp-tile-in .45s var(--bounce) both;animation-delay:calc(var(--d, 0) * 70ms + .12s)}@keyframes zsp-tile-in{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}.zsp-label{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:0 0 8px}.zsp-label b{font-family:var(--font-display);font-size:16px;color:var(--ink)}.zsp-label span{font-weight:800;font-size:15px;color:var(--ink-soft);white-space:nowrap}.zsp-note{margin:6px 0 0;font-size:14px;font-weight:700;color:var(--ink-mute)}.zsp-bar{height:14px;border-radius:99px;background:var(--surface-3);overflow:hidden}.zsp-bar>span{display:block;height:100%;border-radius:99px;width:var(--w);background:linear-gradient(90deg,var(--tangerine, #FFB347),var(--orange));animation:zsp-fill 1s cubic-bezier(.3,.9,.3,1) both;animation-delay:.35s}.zsp-bar.is-xp>span{background:linear-gradient(90deg,#ffd84d,#f5a623)}.zsp-bar.is-growth>span{background:linear-gradient(90deg,var(--zsp-from, #F2882F),var(--zsp-to, #4FBF87))}@keyframes zsp-fill{0%{width:0}to{width:var(--w)}}.zsp-feed{position:relative;display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px;padding:12px 16px;border-radius:var(--r-lg);background:var(--wash-peach);animation:zsp-tile-in .45s var(--bounce) both}.zsp-feed p{margin:0;flex:1 1 180px;font-family:var(--font-display);font-weight:800;font-size:17px;color:var(--ink)}.zsp-contrib{display:grid;grid-template-columns:auto 1fr auto;gap:6px 10px;align-items:center;font-size:15px;font-weight:800;color:var(--ink-soft)}.zsp-contrib .pips{letter-spacing:1px;font-size:14px}.zira-xp-float{position:absolute;transform:translate(-50%);pointer-events:none;white-space:nowrap;z-index:3;font-family:var(--font-display);font-weight:800;font-size:18px;color:#e8900c;text-shadow:0 1px 0 #fff,0 0 10px rgba(255,255,255,.9);animation:zira-xp-float 1.5s ease-out forwards}@keyframes zira-xp-float{0%{opacity:0;transform:translate(-50%,6px) scale(.7)}20%{opacity:1;transform:translate(-50%,-4px) scale(1.15)}75%{opacity:1;transform:translate(-50%,-22px) scale(1)}to{opacity:0;transform:translate(-50%,-34px) scale(.95)}}@media(max-width:640px){.zira-hero-center{min-height:calc(100svh - 240px);gap:10px}.zira-hero-center .zs{--zs-size: clamp(190px, 36vh, 280px)}.zira-hero-center.is-revealed .zs{--zs-size: 150px}.zhc-bubble{padding:12px 18px}.zhc-line{font-size:16px}.zsp-grid{grid-template-columns:1fr;gap:10px}.zsp-title{font-size:19px}}@media(prefers-reduced-motion:reduce){.zs *,.zs-body,.zira-tap-cta,.zira-tap-cta *,.zsp,.zsp-tile{animation-duration:.01ms!important;animation-iteration-count:1!important}}.mocktest-page{display:flex;flex-direction:column;align-items:center}.mocktest-frame{width:100%;max-width:480px;margin:0 auto;min-height:100dvh;background:var(--bg);display:flex;flex-direction:column}@media(min-width:900px){.mocktest-frame{max-width:520px;min-height:800px;margin:28px auto;border-radius:var(--r-xl);box-shadow:var(--lift-lg);border:1px solid var(--line);overflow:hidden}}.mocktest-frame:fullscreen,.mocktest-frame:-webkit-full-screen{max-width:100%;width:100%;height:100dvh;min-height:100dvh;margin:0;border-radius:0;box-shadow:none;border:none}.mocktest-progress-track{height:8px;border-radius:99px;background:var(--bg-alt);overflow:hidden;border:1px solid var(--line)}.mocktest-progress-fill{height:100%;background:linear-gradient(90deg,var(--sky, var(--cyan)),var(--mint, var(--lime)));transition:width .3s var(--bounce)}.mocktest-answer{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:16px 18px;border-radius:var(--r-lg);border:2px solid var(--line);background:var(--card);font-size:var(--step-0);font-weight:600;cursor:pointer;transition:border-color .12s,background .12s,transform .12s var(--bounce)}.mocktest-answer:active{transform:scale(.98)}.mocktest-answer:disabled{cursor:default}.mocktest-answer.is-selected{border-color:var(--lavender);background:color-mix(in srgb,var(--lavender) 14%,var(--card))}.mocktest-answer-dot{width:22px;height:22px;border-radius:50%;flex-shrink:0;border:2px solid var(--line);display:grid;place-items:center}.mocktest-answer.is-selected .mocktest-answer-dot{border-color:var(--lavender);background:var(--lavender)}.mocktest-question-image{display:block;width:100%;height:220px;object-fit:contain;background:var(--bg-alt);border-radius:var(--r-lg);border:1px solid var(--line);margin:0 0 4px}.mocktest-bottom-nav{position:sticky;bottom:0;display:flex;gap:10px;padding:14px 18px calc(14px + env(safe-area-inset-bottom,0px));background:var(--card);border-top:1px solid var(--line)}@media(max-width:400px){.mocktest-answer{padding:14px;font-size:var(--step--1)}}.ol-hero.sci-hero{height:clamp(176px,31vh,320px)}.ol-page.ol-sci{box-sizing:border-box}.sci-scene{touch-action:manipulation}.sci-scene .sci-par{transform:translate(calc(var(--sci-px, 0) * var(--d, 1) * 1px),calc(var(--sci-py, 0) * var(--d, 1) * 1px));transition:transform .25s ease-out}.sci-scene .sci-obj{transform-box:fill-box;transform-origin:50% 60%;cursor:pointer}.sci-scene .sci-bob{animation:sci-bob var(--du, 5s) ease-in-out var(--dl, 0s) infinite}.sci-scene .sci-obj.is-pop{animation:sci-pop .7s cubic-bezier(.3,1.6,.5,1)}.sci-scene .sci-spin{animation:sci-spin 60s linear infinite;transform-box:view-box;transform-origin:200px 150px}.sci-scene .sci-spin.sci-rev{animation-direction:reverse;animation-duration:90s}.sci-scene .sci-tw{animation:sci-tw 2.6s ease-in-out var(--dl, 0s) infinite;transform-box:fill-box;transform-origin:center}.sci-scene .sci-rise,.ol-decor .sci-rise{animation:sci-rise 3.2s ease-in var(--dl, 0s) infinite;transform-box:fill-box}.sci-scene .sci-pulse,.ol-decor .sci-pulse{animation:sci-pulse 2.4s ease-in-out infinite}@keyframes sci-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes sci-pop{0%{transform:scale(1) rotate(0)}25%{transform:scale(1.14) rotate(-4deg)}55%{transform:scale(.96) rotate(3deg)}to{transform:scale(1) rotate(0)}}@keyframes sci-spin{to{transform:rotate(360deg)}}@keyframes sci-tw{0%,to{opacity:.25;transform:scale(.6)}50%{opacity:1;transform:scale(1.1)}}@keyframes sci-rise{0%{transform:translateY(0);opacity:0}15%{opacity:.9}to{transform:translateY(-34px);opacity:0}}@keyframes sci-pulse{0%,to{opacity:.55}50%{opacity:1}}@media(max-height:960px){.ol-page.ol-sci{padding-top:8px;padding-bottom:8px}.ol-sci .ol-shell{min-height:calc(100dvh - 16px);gap:5px;padding:8px 16px 10px}.ol-sci .ol-head{padding:5px 10px}.ol-sci .ol-head-text h2{font-size:20px}.ol-sci .ol-head-text span{font-size:14px}.ol-sci .ol-icon-btn{width:36px;height:36px}.ol-sci .ol-hero.sci-hero{height:clamp(140px,31vh,290px)}.ol-sci .ol-title{padding:2px 22px 0}.ol-sci .ol-title.has-cloud{padding:8px 34px}.ol-sci .ol-title h1{font-size:clamp(30px,5.6vh,46px)}.ol-sci .ol-tagline{margin-top:3px;font-size:17px}.ol-sci .ol-chip{padding:6px 10px}.ol-sci .ol-chip b{font-size:17px}.ol-sci .ol-chip small{font-size:13px}.ol-sci .ol-q{padding:4px 20px 4px 6px}.ol-sci .ol-q-mark{width:34px;height:34px;font-size:20px}.ol-sci .ol-cta{min-height:56px;padding:10px 26px;font-size:23px}.ol-sci .ol-energy{padding:4px 12px 4px 6px}.ol-sci .ol-energy img{width:42px;height:42px}}@media(max-height:700px)and (min-width:421px){.ol-sci .ol-hero.sci-hero{height:clamp(120px,25vh,200px)}}@media(max-width:420px){.ol-sci .ol-hero.sci-hero{height:clamp(130px,23vh,230px)}.ol-sci .ol-title.has-cloud{padding:6px 24px}.ol-sci .ol-tagline{font-size:16px;flex-wrap:nowrap;white-space:nowrap}.ol-sci .ol-sep{margin:0 5px}.ol-sci .ol-chip{padding:5px 10px}.ol-sci .ol-chips{gap:6px}}@media(max-width:420px)and (max-height:760px){.ol-sci .ol-hero.sci-hero{height:clamp(110px,19vh,200px)}.ol-sci .ol-title h1{font-size:34px}}body.ol-landing-open .zira-pill{display:none!important}@media(prefers-reduced-motion:reduce){.sci-scene *,.ol-decor .sci-rise,.ol-decor .sci-pulse{animation:none!important}}.olympiad-card{position:relative;max-width:560px;width:100%;margin:0 auto;padding:30px 26px;border-radius:var(--r-xl);background:var(--card);border:3px solid var(--line);box-shadow:var(--lift);overflow:hidden;text-align:center}.olympiad-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin:18px 0 22px}.olympiad-stat{padding:12px 8px;border-radius:var(--r-lg);background:var(--surface-2);border:1px solid var(--line)}.olympiad-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:18px 26px;border:none;border-radius:var(--r-pill);font-family:var(--font-display);font-weight:800;font-size:var(--step-1);color:#fff;cursor:pointer;box-shadow:var(--lift);transition:transform .14s var(--bounce),box-shadow .14s ease}.olympiad-cta:active{transform:scale(.97)}.olympiad-cta:disabled{opacity:.45;cursor:default;box-shadow:none}@keyframes olympiad-xp-pop{0%{transform:translateY(0) scale(.6);opacity:0}30%{transform:translateY(-6px) scale(1.08);opacity:1}to{transform:translateY(-38px) scale(1);opacity:0}}.olympiad-xp-fly{position:absolute;left:50%;top:-6px;transform:translate(-50%);font-family:var(--font-display);font-weight:800;font-size:var(--step-0);color:var(--amber);animation:olympiad-xp-pop 1s var(--bounce) forwards;pointer-events:none}.ol-page{position:relative;min-height:100dvh;overflow:hidden;background:var(--ol-bg);color:var(--ol-ink);font-family:var(--ol-font);display:flex;justify-content:center;align-items:flex-start;padding:18px 14px;isolation:isolate}.ol-page:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(60% 30% at 15% 90%,rgba(255,255,255,.55),transparent 70%),radial-gradient(50% 26% at 90% 70%,rgba(255,255,255,.4),transparent 70%),radial-gradient(70% 34% at 50% 8%,rgba(255,255,255,.5),transparent 70%)}.ol-page.is-dark:before{background:radial-gradient(50% 30% at 50% 0%,rgba(139,123,255,.28),transparent 70%),radial-gradient(60% 30% at 10% 100%,rgba(217,180,95,.12),transparent 70%)}.ol-shell{position:relative;z-index:2;width:100%;max-width:520px;min-height:calc(100dvh - 36px);display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px 18px 14px;border-radius:calc(var(--ol-radius) + 6px);background:var(--ol-shell);border:1px solid var(--ol-line);box-shadow:0 24px 60px #3c1e8c29;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.is-dark .ol-shell{box-shadow:0 24px 70px #0006}.ol-head{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--ol-radius);background:var(--ol-panel);border:1px solid var(--ol-line)}.ol-shield{display:grid;flex-shrink:0;filter:drop-shadow(0 3px 5px rgba(90,47,208,.3))}.ol-head-text{flex:1;min-width:0}.ol-head-text h2{margin:0;font-size:22px;line-height:1.15;font-weight:800;color:var(--ol-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ol-head-text span{font-size:16px;font-weight:700;color:var(--ol-mute)}.ol-icon-btn{width:42px;height:42px;flex-shrink:0;display:grid;place-items:center;border:none;border-radius:50%;cursor:pointer;background:#7c5af01f;color:var(--ol-a);transition:transform .14s var(--bounce, ease),background .14s ease}.is-dark .ol-icon-btn{background:#ffffff1a;color:var(--ol-ink)}.ol-icon-btn:hover{background:#7c5af038}.ol-icon-btn:active{transform:scale(.92)}.ol-hero{width:100%;height:clamp(150px,24vh,260px);display:grid;place-items:center}.ol-hero{position:relative}.ol-hero-art{position:absolute;inset:0;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 12px 18px rgba(60,30,140,.18))}.is-dark .ol-hero-art{filter:drop-shadow(0 12px 24px rgba(0,0,0,.45))}.ol-title{position:relative;text-align:center;padding:4px 26px 2px}.ol-title.has-cloud{padding:18px 40px 14px;background:radial-gradient(60% 90% at 50% 55%,rgba(255,255,255,.95),rgba(255,255,255,.7) 70%,transparent 100%);border-radius:50% 50% 46% 46%/62% 62% 46% 46%;box-shadow:0 14px 30px #7c3aed1f,inset 0 2px #ffffffe6}.ol-title h1{margin:0;display:flex;flex-direction:column;align-items:center;font-family:var(--ol-title-font);font-weight:var(--ol-title-w);font-size:clamp(36px,10vw,52px);line-height:1;letter-spacing:-.5px}.ol-t1{color:var(--ol-title-1)}.ol-t2{background:var(--ol-title-2);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 0 rgba(255,255,255,.55))}.ol-tagline{margin:8px 0 0;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;font-size:19px;font-weight:800;color:var(--ol-mute);letter-spacing:.3px}.ol-sep{display:inline-flex;vertical-align:middle;margin:0 10px;color:var(--ol-gold)}.ol-tone-professional .ol-tagline,.ol-tone-academic .ol-tagline{font-family:var(--ol-title-font);font-weight:600;font-style:italic;letter-spacing:.6px}.ol-chips{width:100%;display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.ol-chip{display:flex;align-items:center;gap:9px;min-width:0;padding:10px 12px;border-radius:var(--ol-radius);background:var(--ol-panel);border:1px solid var(--ol-line);box-shadow:0 6px 16px #3c1e8c14}.ol-chip svg{flex-shrink:0}.ol-chip span{display:flex;flex-direction:column;min-width:0}.ol-chip b{font-size:18px;line-height:1.15;color:var(--ol-ink);font-weight:800}.ol-chip small{font-size:14px;line-height:1.25;color:var(--ol-mute);font-weight:600}.ol-chip-ready{transform:rotate(-2.5deg)}.ol-chips .ol-chip:last-child{transform:rotate(2deg)}.ol-ready-star{width:38px;height:38px;object-fit:contain;flex-shrink:0}.ol-tone-modern .ol-chip,.ol-tone-academic .ol-chip,.ol-tone-professional .ol-chip{transform:none}.ol-q{display:inline-flex;align-items:center;gap:12px;padding:8px 24px 8px 10px;border-radius:999px;background:var(--ol-panel);border:1px solid var(--ol-line)}.ol-q-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(180deg,var(--ol-b),var(--ol-a));color:#fff;font-size:24px;font-weight:900;box-shadow:0 4px 10px #5a2fd04d}.ol-q span{display:flex;flex-direction:column}.ol-q b{font-size:20px;line-height:1.1;color:var(--ol-ink)}.ol-q small{font-size:15px;color:var(--ol-mute);font-weight:600}.ol-cta-wrap{width:100%;display:flex;flex-direction:column;align-items:center;gap:10px}.ol-cta{position:relative;width:min(100%,360px);min-height:64px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 28px;border:none;border-radius:999px;cursor:pointer;font-family:var(--font-display);font-weight:800;font-size:25px;color:#fff;background:var(--ol-cta);box-shadow:0 10px 26px var(--ol-cta-glow),inset 0 2px #ffffff59,0 0 0 4px #ffffff2e;text-shadow:0 2px 0 rgba(0,0,0,.18);animation:ol-pulse 2.6s ease-in-out infinite;transition:transform .14s var(--bounce, ease)}.ol-cta:hover:not(:disabled){transform:translateY(-2px)}.ol-cta:active:not(:disabled){transform:scale(.97)}.ol-cta:disabled{opacity:.5;cursor:default;animation:none;box-shadow:none}.ol-cta-sm{font-size:20px;min-height:54px}.ol-test-list{width:100%;display:grid;justify-items:center;gap:10px}.ol-note{margin:0;text-align:center;font-size:17px;font-weight:700;color:var(--ol-mute)}@keyframes ol-pulse{0%,to{box-shadow:0 10px 26px var(--ol-cta-glow),inset 0 2px #ffffff59,0 0 0 4px #ffffff2e}50%{box-shadow:0 12px 38px var(--ol-cta-glow),inset 0 2px #ffffff59,0 0 0 9px #ffffff1a}}.ol-energy{align-self:flex-end;margin-top:auto;display:flex;align-items:center;gap:10px;padding:8px 14px 8px 8px;border-radius:999px;background:#ffffffeb;border:3px solid #ffc83d;box-shadow:0 8px 20px #7846002e}.ol-energy img{width:52px;height:52px;object-fit:contain}.ol-energy-body{display:flex;flex-direction:column;gap:3px}.ol-energy-label{font-size:13px;font-weight:900;letter-spacing:.6px;color:#5a3a12}.ol-energy-bar{display:inline-flex;gap:2px;padding:3px 8px;border-radius:999px;background:linear-gradient(180deg,#ffe9a6,#f7d36a);box-shadow:inset 0 1px 3px #78460040}.ol-bolt{margin-left:-2px}.ol-decor{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}.ol-float{position:absolute;display:block;animation:ol-bob 5.5s ease-in-out infinite}@keyframes ol-bob{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-12px) rotate(3deg)}}.ol-letter{display:block;font-family:var(--font-display);font-weight:900;line-height:1;text-shadow:0 2px 0 rgba(255,255,255,.55),0 5px 0 rgba(0,0,0,.12),0 10px 14px rgba(60,30,140,.25)}.ol-sym{display:block;font-family:var(--font-display);font-weight:900;line-height:1;color:var(--ol-a);opacity:.7;text-shadow:0 0 14px rgba(139,123,255,.45)}.is-dark .ol-sym{color:var(--ol-b);opacity:.55}.ol-tone-modern .ol-sym,.ol-tone-academic .ol-sym,.ol-tone-professional .ol-sym{font-family:Playfair Display,Georgia,serif;font-weight:700;opacity:.5}@media(min-width:640px){.ol-page{padding:16px 24px}.ol-shell{min-height:calc(100dvh - 32px)}}@media(max-width:420px){.ol-shell{padding:12px}.ol-chips{grid-template-columns:1fr}.ol-chip-ready,.ol-chips .ol-chip:last-child{transform:none}.ol-energy img{width:44px;height:44px}}@media(prefers-reduced-motion:reduce){.ol-float,.ol-cta{animation:none}}.tsl-admin{--a-bg: #EFEBFB;--a-surface: #ffffff;--a-surface-2: #f8fafc;--a-border: #e2e8f0;--a-border-strong: #cbd5e1;--a-ink: #0f172a;--a-ink-soft: #475569;--a-ink-mute: #94a3b8;--a-brand: #0f766e;--a-brand-soft: #ccfbf1;--a-brand-ink: #134e4a;--a-accent: #4f46e5;--a-sidebar: #0b1220;--a-sidebar-soft: #1e293b;--a-sidebar-ink: #cbd5e1;--a-danger: #dc2626;--a-danger-soft: #fee2e2;--a-warn: #d97706;--a-warn-soft: #fef3c7;--a-ok: #16a34a;--a-ok-soft: #dcfce7;--a-info: #2563eb;--a-info-soft: #dbeafe;--a-radius: 12px;--a-radius-sm: 8px;--a-shadow: 0 1px 2px rgba(15, 23, 42, .06), 0 8px 24px rgba(15, 23, 42, .06);--a-shadow-sm: 0 1px 2px rgba(15, 23, 42, .08);--a-font: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--a-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, monospace;font-family:var(--a-font);color:var(--a-ink);background:radial-gradient(900px 520px at 84% -4%,#E2D9FF 0%,transparent 58%),radial-gradient(760px 480px at 6% 102%,#FFE6D6 0%,transparent 56%),radial-gradient(620px 420px at 44% 44%,#E4F1FF 0%,transparent 62%),var(--a-bg);min-height:100dvh;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}.tsl-admin *,.tsl-admin *:before,.tsl-admin *:after{box-sizing:border-box}.tsl-admin h1,.tsl-admin h2,.tsl-admin h3,.tsl-admin h4{font-family:var(--a-font);font-weight:650;margin:0;letter-spacing:-.01em;color:var(--a-ink)}.tsl-admin p{margin:0}.tsl-admin a{color:var(--a-accent);text-decoration:none}.tsl-admin a:hover{text-decoration:underline}.tsl-admin button{font-family:inherit}.tsl-admin .mono{font-family:var(--a-mono);font-variant-numeric:tabular-nums}.tsl-admin .a-shell{display:flex;min-height:100dvh}.tsl-admin .a-sidebar{width:244px;flex-shrink:0;background:var(--a-sidebar);color:var(--a-sidebar-ink);display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:50}.tsl-admin .a-sidebar__brand{display:flex;align-items:center;gap:10px;padding:18px 18px 14px;font-weight:700;color:#fff;font-size:15px;letter-spacing:-.01em}.tsl-admin .a-sidebar__mark{width:30px;height:30px;border-radius:8px;background:var(--a-brand);display:grid;place-items:center;flex-shrink:0}.tsl-admin .a-sidebar__nav{flex:1;overflow-y:auto;padding:8px 12px 16px}.tsl-admin .a-sidebar__sep{height:1px;background:#ffffff14;margin:10px 8px}.tsl-admin .a-navlink{display:flex;align-items:center;gap:11px;padding:9px 10px;margin-bottom:2px;border-radius:var(--a-radius-sm);color:var(--a-sidebar-ink);font-weight:550;font-size:13.5px;width:100%;text-align:left;background:transparent;border:0;cursor:pointer}.tsl-admin .a-navlink:hover{background:var(--a-sidebar-soft);color:#fff;text-decoration:none}.tsl-admin .a-navlink.is-active{background:var(--a-brand);color:#fff}.tsl-admin .a-navlink svg{flex-shrink:0}.tsl-admin .a-main{flex:1;margin-left:244px;min-width:0;display:flex;flex-direction:column}.tsl-admin .a-topbar{height:60px;background:var(--a-surface);border-bottom:1px solid var(--a-border);display:flex;align-items:center;gap:14px;padding:0 24px;position:sticky;top:0;z-index:30}.tsl-admin .a-topbar__title{font-weight:650;font-size:15px}.tsl-admin .a-burger{display:none;background:none;border:0;cursor:pointer;color:var(--a-ink)}.tsl-admin .a-content{padding:24px;max-width:1240px;width:100%}.tsl-admin .a-scrim{display:none}.tsl-admin .a-avatar{width:32px;height:32px;border-radius:50%;background:var(--a-accent);color:#fff;display:grid;place-items:center;font-weight:650;font-size:13px;flex-shrink:0}.tsl-admin .a-pagehead{margin-bottom:20px;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.tsl-admin .a-pagehead h1{font-size:22px}.tsl-admin .a-pagehead p{color:var(--a-ink-soft);margin-top:4px;font-size:13.5px}.tsl-admin .a-card{background:var(--a-surface);border:1px solid var(--a-border);border-radius:var(--a-radius);box-shadow:var(--a-shadow-sm);padding:18px}.tsl-admin .a-card__title{font-size:14px;font-weight:650}.tsl-admin .a-card__sub{color:var(--a-ink-mute);font-size:12.5px;margin-top:2px}.tsl-admin .a-grid{display:grid;gap:14px}.tsl-admin .a-grid--stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.tsl-admin .a-grid--2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.tsl-admin .a-stat{display:flex;flex-direction:column;gap:6px}.tsl-admin .a-stat__label{color:var(--a-ink-soft);font-size:12.5px;font-weight:550;display:flex;align-items:center;gap:7px}.tsl-admin .a-stat__value{font-size:26px;font-weight:700;letter-spacing:-.02em}.tsl-admin .a-stat__delta{font-size:12px;font-weight:600}.tsl-admin .a-stat__delta.up{color:var(--a-ok)}.tsl-admin .a-stat__delta.down{color:var(--a-danger)}.tsl-admin .a-stat__icon{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:var(--a-brand-soft);color:var(--a-brand-ink)}.tsl-admin .a-badge{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:600;background:var(--a-surface-2);color:var(--a-ink-soft);border:1px solid var(--a-border)}.tsl-admin .a-badge--ok{background:var(--a-ok-soft);color:#14532d;border-color:transparent}.tsl-admin .a-badge--warn{background:var(--a-warn-soft);color:#92400e;border-color:transparent}.tsl-admin .a-badge--danger{background:var(--a-danger-soft);color:#991b1b;border-color:transparent}.tsl-admin .a-badge--info{background:var(--a-info-soft);color:#1e40af;border-color:transparent}.tsl-admin .a-badge--brand{background:var(--a-brand-soft);color:var(--a-brand-ink);border-color:transparent}.tsl-admin .a-badge--muted{background:var(--a-surface-2);color:var(--a-ink-mute)}.tsl-admin .a-tablewrap{overflow-x:auto;border:1px solid var(--a-border);border-radius:var(--a-radius);background:var(--a-surface)}.tsl-admin table.a-table{width:100%;border-collapse:collapse;font-size:13px}.tsl-admin .a-table th{text-align:left;padding:11px 14px;background:var(--a-surface-2);color:var(--a-ink-soft);font-weight:600;font-size:12px;white-space:nowrap;border-bottom:1px solid var(--a-border);cursor:default;user-select:none}.tsl-admin .a-table th.sortable{cursor:pointer}.tsl-admin .a-table th.sortable:hover{color:var(--a-ink)}.tsl-admin .a-table td{padding:11px 14px;border-bottom:1px solid var(--a-border);vertical-align:middle}.tsl-admin .a-table tr:last-child td{border-bottom:0}.tsl-admin .a-table tbody tr.clickable{cursor:pointer}.tsl-admin .a-table tbody tr.clickable:hover{background:var(--a-surface-2)}.tsl-admin .a-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.tsl-admin .a-label{font-size:12.5px;font-weight:600;color:var(--a-ink-soft)}.tsl-admin .a-input,.tsl-admin .a-select,.tsl-admin .a-textarea{width:100%;padding:9px 11px;border:1px solid var(--a-border-strong);border-radius:var(--a-radius-sm);font:inherit;color:var(--a-ink);background:var(--a-surface);outline:none}.tsl-admin .a-input:focus,.tsl-admin .a-select:focus,.tsl-admin .a-textarea:focus{border-color:var(--a-brand);box-shadow:0 0 0 3px var(--a-brand-soft)}.tsl-admin .a-input.is-error{border-color:var(--a-danger)}.tsl-admin .a-field__error{color:var(--a-danger);font-size:12px;font-weight:550}.tsl-admin .a-input-group{position:relative;display:flex}.tsl-admin .a-input-group .a-input{padding-right:44px}.tsl-admin .a-input-group__btn{position:absolute;right:4px;top:50%;transform:translateY(-50%);background:none;border:0;padding:6px;cursor:pointer;color:var(--a-ink-mute);display:grid;place-items:center}.tsl-admin .a-input-group__btn:hover{color:var(--a-ink-soft)}.tsl-admin .a-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 15px;border-radius:var(--a-radius-sm);font-weight:600;font-size:13px;border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:filter .12s ease}.tsl-admin .a-btn:disabled{opacity:.6;cursor:not-allowed}.tsl-admin .a-btn--primary{background:var(--a-brand);color:#fff}.tsl-admin .a-btn--primary:hover:not(:disabled){filter:brightness(1.08)}.tsl-admin .a-btn--ghost{background:var(--a-surface);color:var(--a-ink-soft);border-color:var(--a-border-strong)}.tsl-admin .a-btn--ghost:hover:not(:disabled){background:var(--a-surface-2)}.tsl-admin .a-btn--danger{background:var(--a-danger);color:#fff}.tsl-admin .a-btn--sm{padding:6px 10px;font-size:12px}.tsl-admin .a-btn--block{width:100%}.tsl-admin .a-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}.tsl-admin .a-toolbar .a-input,.tsl-admin .a-toolbar .a-select{width:auto}.tsl-admin .a-search{min-width:220px;flex:1;max-width:340px}.tsl-admin .a-progress{height:8px;border-radius:999px;background:var(--a-border);overflow:hidden}.tsl-admin .a-progress__fill{height:100%;border-radius:999px;background:var(--a-brand)}.tsl-admin .a-feed{display:flex;flex-direction:column}.tsl-admin .a-feed__row{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid var(--a-border)}.tsl-admin .a-feed__row:last-child{border-bottom:0}.tsl-admin .a-feed__dot{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;flex-shrink:0;background:var(--a-surface-2);color:var(--a-ink-soft)}.tsl-admin .a-feed__body{min-width:0;flex:1}.tsl-admin .a-feed__time{color:var(--a-ink-mute);font-size:11.5px;margin-top:2px}.tsl-admin .a-empty{text-align:center;padding:48px 20px;color:var(--a-ink-mute)}.tsl-admin .a-empty svg{margin-bottom:10px;opacity:.5}.tsl-admin .a-empty h3{color:var(--a-ink-soft);font-size:15px;margin-bottom:4px}.tsl-admin .a-error-box{background:var(--a-danger-soft);color:#991b1b;border:1px solid #fecaca;border-radius:var(--a-radius-sm);padding:10px 12px;font-size:13px;font-weight:550;display:flex;gap:8px;align-items:center}.tsl-admin .a-skeleton{background:linear-gradient(90deg,var(--a-surface-2) 25%,#eef2f7 37%,var(--a-surface-2) 63%);background-size:400% 100%;animation:a-shimmer 1.4s ease infinite;border-radius:6px}@keyframes a-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.tsl-admin .a-spinner{width:18px;height:18px;border:2px solid var(--a-border);border-top-color:var(--a-brand);border-radius:50%;animation:a-spin .7s linear infinite;display:inline-block}@keyframes a-spin{to{transform:rotate(360deg)}}.tsl-admin .a-modal-scrim{position:fixed;inset:0;background:#0f172a73;z-index:100;display:grid;place-items:center;padding:20px}.tsl-admin .a-modal{background:var(--a-surface);border-radius:var(--a-radius);width:100%;max-width:520px;max-height:88vh;overflow-y:auto;box-shadow:0 24px 64px #0f172a4d}.tsl-admin .a-modal__head{padding:16px 20px;border-bottom:1px solid var(--a-border);display:flex;justify-content:space-between;align-items:center}.tsl-admin .a-modal__body{padding:20px}.tsl-admin .a-modal__foot{padding:14px 20px;border-top:1px solid var(--a-border);display:flex;justify-content:flex-end;gap:10px}.tsl-admin .a-iconbtn{background:none;border:0;cursor:pointer;color:var(--a-ink-mute);padding:4px;display:grid;place-items:center}.tsl-admin .a-iconbtn:hover{color:var(--a-ink)}.tsl-admin .a-toasts{position:fixed;bottom:20px;right:20px;z-index:200;display:flex;flex-direction:column;gap:10px;max-width:340px}.tsl-admin .a-toast{background:var(--a-sidebar);color:#fff;padding:12px 14px;border-radius:var(--a-radius-sm);font-size:13px;font-weight:550;box-shadow:var(--a-shadow);display:flex;gap:10px;align-items:flex-start;animation:a-toast-in .22s ease}@keyframes a-toast-in{0%{transform:translateY(8px);opacity:0}}.tsl-admin .a-toast--ok{border-left:3px solid var(--a-ok)}.tsl-admin .a-toast--error{border-left:3px solid var(--a-danger)}.tsl-admin .a-toast--info{border-left:3px solid var(--a-info)}.tsl-admin .a-auth{min-height:100dvh;display:grid;grid-template-columns:1fr;place-items:center;padding:24px;background:radial-gradient(1000px 500px at 15% -10%,#1e293b 0%,transparent 55%),radial-gradient(900px 500px at 110% 120%,#134e4a 0%,transparent 50%),var(--a-sidebar)}.tsl-admin .a-auth__card{width:100%;max-width:400px;background:var(--a-surface);border-radius:16px;padding:30px;box-shadow:0 30px 80px #0006}.tsl-admin .a-auth__brand{display:flex;align-items:center;gap:10px;margin-bottom:6px;font-weight:750;font-size:17px}.tsl-admin .a-auth__sub{color:var(--a-ink-soft);font-size:13px;margin-bottom:22px}.tsl-admin .a-auth__foot{margin-top:18px;font-size:12.5px;color:var(--a-ink-mute);text-align:center}.tsl-admin .a-auth__devnote{margin-top:16px;padding:10px 12px;background:var(--a-warn-soft);border-radius:var(--a-radius-sm);font-size:11.5px;color:#92400e;line-height:1.45}.tsl-admin .a-kv{display:grid;grid-template-columns:140px 1fr;gap:8px 14px;font-size:13px}.tsl-admin .a-kv dt{color:var(--a-ink-mute)}.tsl-admin .a-kv dd{margin:0;color:var(--a-ink);font-weight:550}.tsl-admin .a-chartbox{width:100%;height:260px}.tsl-admin .a-divider{height:1px;background:var(--a-border);margin:16px 0}.tsl-admin .a-row{display:flex;align-items:center;gap:10px}.tsl-admin .a-between{display:flex;align-items:center;justify-content:space-between;gap:12px}.tsl-admin .a-muted{color:var(--a-ink-mute)}.tsl-admin .a-tabs{display:flex;gap:4px;border-bottom:1px solid var(--a-border);margin-bottom:16px}.tsl-admin .a-tab{padding:8px 12px;font-size:13px;font-weight:600;color:var(--a-ink-mute);background:none;border:0;border-bottom:2px solid transparent;cursor:pointer}.tsl-admin .a-tab.is-active{color:var(--a-brand);border-bottom-color:var(--a-brand)}@media(max-width:900px){.tsl-admin .a-sidebar{transform:translate(-100%);transition:transform .22s ease;box-shadow:0 0 60px #0006}.tsl-admin .a-sidebar.is-open{transform:none}.tsl-admin .a-main{margin-left:0}.tsl-admin .a-burger{display:grid;place-items:center}.tsl-admin .a-scrim.is-open{display:block;position:fixed;inset:0;background:#0f172a80;z-index:40}.tsl-admin .a-content{padding:16px}}@media(prefers-reduced-motion:reduce){.tsl-admin *{animation-duration:.01ms!important;transition-duration:.01ms!important}}.tp{--tp-bg: #F4F2FA;--tp-surface: #FFFFFF;--tp-surface-2: #F8F7FC;--tp-sunken: #EFECF8;--tp-ink: #1E1A3C;--tp-ink-2: #4A4568;--tp-ink-3: #77729A;--tp-line: #E4E0F0;--tp-line-2: #D6D0EA;--tp-brand: #5A48B8;--tp-brand-600: #4A3AA0;--tp-brand-50: #EFECFD;--tp-brand-100: #E1DBFB;--tp-accent: #F2882F;--tp-navy: #1E1A3C;--tp-navy-2: #2E2766;--tp-good: #13795B;--tp-good-bg: #E3F5EE;--tp-warn: #9A5B00;--tp-warn-bg: #FFF3DC;--tp-bad: #B42318;--tp-bad-bg: #FDECEA;--tp-info: #1C6FB0;--tp-info-bg: #E5F1FB;--tp-radius: 12px;--tp-radius-lg: 16px;--tp-shadow-sm: 0 1px 2px rgba(30, 26, 60, .06);--tp-shadow: 0 1px 3px rgba(30, 26, 60, .06), 0 8px 24px rgba(30, 26, 60, .06);--tp-shadow-lg: 0 20px 60px rgba(30, 26, 60, .18);--tp-ring: 0 0 0 3px rgba(90, 72, 184, .22);font-family:Nunito,system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.5;color:var(--tp-ink);background:var(--tp-bg);min-height:100dvh;-webkit-font-smoothing:antialiased}.tp *,.tp *:before,.tp *:after{box-sizing:border-box}.tp h1,.tp h2,.tp h3,.tp h4{font-family:inherit;font-weight:800;letter-spacing:-.015em;margin:0;color:var(--tp-ink)}.tp h1{font-size:26px;line-height:1.2}.tp h2{font-size:18px}.tp h3{font-size:15px}.tp p{margin:0}.tp a:where(:not([class])){color:var(--tp-brand)}.tp button{font-family:inherit}.tp .muted{color:var(--tp-ink-3)}.tp .small{font-size:13px}.tp .mono{font-family:JetBrains Mono,ui-monospace,monospace}.tp .nowrap{white-space:nowrap}.tp .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.tp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border-radius:10px;border:1px solid transparent;font-weight:700;font-size:14px;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,box-shadow .15s,transform .08s,color .15s;text-decoration:none}.tp-btn:active:not(:disabled){transform:translateY(1px)}.tp-btn:focus-visible{outline:none;box-shadow:var(--tp-ring)}.tp-btn:disabled{opacity:.5;cursor:not-allowed}.tp-btn svg{width:16px;height:16px;flex-shrink:0}.tp-btn--primary{background:var(--tp-brand);color:#fff;box-shadow:0 1px 2px #4a3aa04d}.tp-btn--primary:hover:not(:disabled){background:var(--tp-brand-600)}.tp-btn--secondary{background:var(--tp-surface);color:var(--tp-ink);border-color:var(--tp-line-2)}.tp-btn--secondary:hover:not(:disabled){background:var(--tp-surface-2);border-color:#c5bde3}.tp-btn--ghost{background:transparent;color:var(--tp-ink-2)}.tp-btn--ghost:hover:not(:disabled){background:var(--tp-sunken);color:var(--tp-ink)}.tp-btn--danger{background:var(--tp-bad);color:#fff}.tp-btn--danger:hover:not(:disabled){background:#93190f}.tp-btn--danger-soft{background:var(--tp-bad-bg);color:var(--tp-bad)}.tp-btn--danger-soft:hover:not(:disabled){background:#fad8d4}.tp-btn--sm{height:32px;padding:0 12px;font-size:13px;border-radius:8px}.tp-btn--lg{height:48px;padding:0 22px;font-size:15px}.tp-btn--block{width:100%}.tp-btn--icon{width:36px;padding:0}.tp-btn--icon.tp-btn--sm{width:32px}.tp-field{display:grid;gap:6px}.tp-label{font-size:13px;font-weight:700;color:var(--tp-ink-2);display:flex;justify-content:space-between;gap:8px}.tp-hint{font-size:12.5px;color:var(--tp-ink-3)}.tp-error-text{font-size:12.5px;color:var(--tp-bad);font-weight:600}.tp-input,.tp-select,.tp-textarea{width:100%;height:42px;padding:0 12px;border-radius:10px;border:1px solid var(--tp-line-2);background:var(--tp-surface);color:var(--tp-ink);font:inherit;font-size:14.5px;transition:border-color .15s,box-shadow .15s}.tp-textarea{height:auto;min-height:84px;padding:10px 12px;resize:vertical}.tp-select{appearance:none;padding-right:34px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2377729A' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.tp-input:hover,.tp-select:hover,.tp-textarea:hover{border-color:#c5bde3}.tp-input:focus,.tp-select:focus,.tp-textarea:focus{outline:none;border-color:var(--tp-brand);box-shadow:var(--tp-ring)}.tp-input[aria-invalid=true]{border-color:var(--tp-bad)}.tp-input--sm,.tp-select--sm{height:36px;font-size:13.5px}.tp-input-wrap{position:relative}.tp-input-wrap>svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--tp-ink-3);pointer-events:none}.tp-input-wrap>.tp-input{padding-left:38px}.tp-input-wrap>.tp-input-action{position:absolute;right:6px;top:50%;transform:translateY(-50%)}.tp-check{display:inline-flex;align-items:center;gap:8px;cursor:pointer;user-select:none;font-size:14px}.tp-check input{width:16px;height:16px;accent-color:var(--tp-brand);cursor:pointer;margin:0}.tp-alert{display:flex;gap:10px;align-items:flex-start;padding:11px 14px;border-radius:10px;font-size:13.5px;line-height:1.45}.tp-alert svg{width:17px;height:17px;flex-shrink:0;margin-top:1px}.tp-alert--error{background:var(--tp-bad-bg);color:var(--tp-bad)}.tp-alert--success{background:var(--tp-good-bg);color:var(--tp-good)}.tp-alert--info{background:var(--tp-info-bg);color:var(--tp-info)}.tp-alert--warn{background:var(--tp-warn-bg);color:var(--tp-warn)}.tp-badge{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.tp-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.tp-badge--plain:before{display:none}.tp-badge--good{background:var(--tp-good-bg);color:var(--tp-good)}.tp-badge--warn{background:var(--tp-warn-bg);color:var(--tp-warn)}.tp-badge--bad{background:var(--tp-bad-bg);color:var(--tp-bad)}.tp-badge--info{background:var(--tp-info-bg);color:var(--tp-info)}.tp-badge--neutral{background:var(--tp-sunken);color:var(--tp-ink-2)}.tp-cat{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border-radius:7px;font-size:12.5px;font-weight:700;white-space:nowrap;background:color-mix(in srgb,var(--c) 11%,white);color:color-mix(in srgb,var(--c) 82%,black);border:1px solid color-mix(in srgb,var(--c) 22%,white)}.tp-cat i{width:7px;height:7px;border-radius:2px;background:var(--c)}.tp-cats{display:flex;flex-wrap:wrap;gap:4px}.tp-card{background:var(--tp-surface);border:1px solid var(--tp-line);border-radius:var(--tp-radius-lg);box-shadow:var(--tp-shadow-sm)}.tp-card__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--tp-line);flex-wrap:wrap}.tp-card__head p{font-size:13px;color:var(--tp-ink-3);margin-top:2px}.tp-card__body{padding:20px}.tp-grid{display:grid;gap:16px}.tp-grid-2{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}.tp-grid>*,.tp-grid-2>*,.tp-content>*{min-width:0}.tp-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tp-spacer{flex:1}.tp-divider{height:1px;background:var(--tp-line);margin:16px 0}.tp-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.tp-page-head p{color:var(--tp-ink-3);margin-top:4px;font-size:14px}.tp-crumbs{display:flex;gap:6px;align-items:center;font-size:13px;color:var(--tp-ink-3);margin-bottom:6px}.tp-crumbs a{color:var(--tp-ink-3);text-decoration:none;font-weight:600}.tp-crumbs a:hover{color:var(--tp-brand)}.tp-stats{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr))}.tp-stat{padding:16px 18px;display:grid;gap:4px;position:relative;overflow:hidden;text-decoration:none;color:inherit;transition:box-shadow .15s,border-color .15s,transform .15s}a.tp-stat:hover{border-color:var(--tp-line-2);box-shadow:var(--tp-shadow);transform:translateY(-1px)}.tp-stat__icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;margin-bottom:6px;background:color-mix(in srgb,var(--c, var(--tp-brand)) 12%,white);color:var(--c, var(--tp-brand))}.tp-stat__icon svg{width:18px;height:18px}.tp-stat__label{font-size:13px;color:var(--tp-ink-3);font-weight:700}.tp-stat__value{font-size:28px;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.tp-stat__sub{font-size:12.5px;color:var(--tp-ink-3)}.tp-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.tp-table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}.tp-table th{position:sticky;top:0;z-index:1;text-align:left;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--tp-ink-3);background:var(--tp-surface-2);padding:10px 14px;border-bottom:1px solid var(--tp-line);white-space:nowrap}.tp-table th button{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.tp-table th button:hover{color:var(--tp-ink)}.tp-table th button svg{width:13px;height:13px}.tp-table td{padding:12px 14px;border-bottom:1px solid var(--tp-line);vertical-align:middle}.tp-table tr:last-child td{border-bottom:none}.tp-table tbody tr{transition:background .12s}.tp-table tbody tr:hover{background:#faf9fe}.tp-table tbody tr.is-selected{background:var(--tp-brand-50)}.tp-table tbody tr.is-bad{background:#fff8f7}.tp-table tbody tr.is-warn{background:#fffcf3}.tp-table .col-check{width:44px;padding-right:0}.tp-table .col-actions{text-align:right;width:1%;white-space:nowrap}.tp-person{display:flex;align-items:center;gap:10px;min-width:180px}.tp-person a,.tp-person b{color:var(--tp-ink);font-weight:700;text-decoration:none}.tp-person a:hover{color:var(--tp-brand)}.tp-person>div span{display:block;font-size:12.5px;color:var(--tp-ink-3)}.tp-avatar{width:34px;height:34px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;font-size:13px;font-weight:800;color:#fff;background:var(--av, var(--tp-brand))}.tp-avatar--lg{width:64px;height:64px;font-size:22px}.tp-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:14px 16px;border-bottom:1px solid var(--tp-line)}.tp-toolbar .tp-input-wrap{flex:1 1 240px;min-width:200px}.tp-toolbar .tp-select{width:auto;min-width:140px;flex:0 1 180px}@media(max-width:640px){.tp-toolbar .tp-select{flex:1 1 calc(50% - 5px);min-width:0}.tp-page-head>.tp-row{width:100%}}.tp-bulkbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 16px;background:var(--tp-brand-50);border-bottom:1px solid var(--tp-brand-100);font-size:14px;font-weight:700;color:var(--tp-brand-600);animation:tp-drop .18s ease-out}.tp-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-top:1px solid var(--tp-line);font-size:13.5px;color:var(--tp-ink-3);flex-wrap:wrap}.tp-empty{display:grid;place-items:center;text-align:center;gap:8px;padding:48px 20px;color:var(--tp-ink-3)}.tp-empty svg{width:36px;height:36px;color:var(--tp-line-2)}.tp-empty b{color:var(--tp-ink);font-size:15px}.tp-skel{background:linear-gradient(90deg,var(--tp-sunken) 25%,#F7F5FC 50%,var(--tp-sunken) 75%);background-size:200% 100%;animation:tp-shimmer 1.2s infinite;border-radius:6px;height:14px}@keyframes tp-shimmer{to{background-position:-200% 0}}.tp-spin{width:18px;height:18px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:tp-rot .7s linear infinite}@keyframes tp-rot{to{transform:rotate(360deg)}}.tp-menu{position:relative;display:inline-block}.tp-menu__list{position:absolute;right:0;top:calc(100% + 4px);z-index:30;min-width:210px;padding:6px;background:var(--tp-surface);border:1px solid var(--tp-line);border-radius:12px;box-shadow:var(--tp-shadow-lg);animation:tp-drop .14s ease-out;text-align:left}.tp-menu__list.up{top:auto;bottom:calc(100% + 4px)}.tp-menu__item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;background:none;border-radius:8px;font-size:14px;font-weight:600;color:var(--tp-ink);cursor:pointer;text-align:left;text-decoration:none}.tp-menu__item:hover{background:var(--tp-sunken)}.tp-menu__item svg{width:16px;height:16px;color:var(--tp-ink-3)}.tp-menu__item.danger{color:var(--tp-bad)}.tp-menu__item.danger svg{color:var(--tp-bad)}.tp-menu__sep{height:1px;background:var(--tp-line);margin:4px 2px}@keyframes tp-drop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.tp-overlay{position:fixed;inset:0;z-index:1000;background:#14102c73;backdrop-filter:blur(3px);display:grid;place-items:center;padding:16px;animation:tp-fade .15s ease-out}.tp-dialog{width:min(560px,100%);max-height:calc(100dvh - 32px);display:flex;flex-direction:column;background:var(--tp-surface);border-radius:18px;box-shadow:var(--tp-shadow-lg);animation:tp-pop .2s cubic-bezier(.2,.9,.3,1.2)}.tp-dialog--wide{width:min(820px,100%)}.tp-dialog__head{padding:20px 22px 0;display:flex;gap:12px;align-items:flex-start}.tp-dialog__head p{color:var(--tp-ink-3);font-size:14px;margin-top:4px}.tp-dialog__body{padding:18px 22px;overflow-y:auto}.tp-dialog__foot{padding:14px 22px 18px;display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;border-top:1px solid var(--tp-line)}@keyframes tp-fade{0%{opacity:0}}@keyframes tp-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}}.tp-toasts{position:fixed;right:16px;bottom:16px;z-index:1100;display:grid;gap:8px;width:min(380px,calc(100vw - 32px))}.tp-toast{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:var(--tp-navy);color:#fff;font-size:14px;font-weight:600;box-shadow:var(--tp-shadow-lg);animation:tp-pop .2s ease-out}.tp-toast svg{width:18px;height:18px;flex-shrink:0;margin-top:1px}.tp-toast--success svg{color:#6ee7b7}.tp-toast--error{background:#7a1a12}.tp-shell{display:grid;grid-template-columns:256px 1fr;min-height:100dvh}.tp-side{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;background:linear-gradient(180deg,var(--tp-navy) 0%,#251F55 100%);color:#cfcaeb;z-index:50}.tp-side__brand{display:flex;align-items:center;gap:10px;padding:18px 18px 14px}.tp-side__brand img{height:36px;width:auto}.tp-side__brand b{color:#fff;font-size:16px;font-weight:800;letter-spacing:-.01em;display:block;line-height:1.1}.tp-side__brand small{color:#9d96cc;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.tp-side__nav{flex:1;overflow-y:auto;padding:8px 10px;display:grid;gap:2px;align-content:start}.tp-side__group{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#7e77b5;padding:14px 10px 6px}.tp-nav{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:10px;color:#cfcaeb;text-decoration:none;font-weight:700;font-size:14px;transition:background .12s,color .12s}.tp-nav svg{width:18px;height:18px;flex-shrink:0;opacity:.85}.tp-nav:hover{background:#ffffff12;color:#fff}.tp-nav.active{background:#ffffff21;color:#fff;box-shadow:inset 3px 0 0 var(--tp-accent)}.tp-nav .count{margin-left:auto;background:var(--tp-accent);color:#fff;font-size:11px;font-weight:800;padding:1px 7px;border-radius:999px}.tp-side__foot{padding:12px;border-top:1px solid rgba(255,255,255,.08)}.tp-me{display:flex;align-items:center;gap:10px;padding:8px;border-radius:10px}.tp-me b{color:#fff;font-size:13.5px;display:block;line-height:1.2}.tp-me>div span{font-size:12px;color:#9d96cc}.tp-main{min-width:0;display:flex;flex-direction:column}.tp-topbar{position:sticky;top:0;z-index:40;display:none;align-items:center;gap:10px;padding:10px 16px;background:#ffffffeb;backdrop-filter:blur(8px);border-bottom:1px solid var(--tp-line)}.tp-content{padding:28px 32px 48px;max-width:1400px;width:100%;margin:0 auto;animation:tp-fade .2s ease-out}.tp-scrim{display:none}@media(max-width:960px){.tp-shell{grid-template-columns:1fr}.tp-side{position:fixed;left:0;top:0;width:272px;transform:translate(-100%);transition:transform .22s ease;box-shadow:var(--tp-shadow-lg)}.tp-shell.nav-open .tp-side{transform:none}.tp-shell.nav-open .tp-scrim{display:block;position:fixed;inset:0;background:#14102c66;z-index:45}.tp-topbar{display:flex}.tp-content{padding:20px 16px 40px}}.tp-steps{display:flex;gap:0;list-style:none;margin:0;padding:0;counter-reset:s;overflow-x:auto}.tp-steps li{flex:1;min-width:96px;display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;font-size:12.5px;font-weight:700;color:var(--tp-ink-3);text-align:center}.tp-steps li:before{counter-increment:s;content:counter(s);width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--tp-surface);border:2px solid var(--tp-line-2);color:var(--tp-ink-3);font-size:13px;z-index:1;transition:all .2s}.tp-steps li:not(:first-child):after{content:"";position:absolute;top:15px;right:50%;width:100%;height:2px;background:var(--tp-line-2);z-index:0}.tp-steps li.done:before{content:"✓";background:var(--tp-good);border-color:var(--tp-good);color:#fff}.tp-steps li.done:after,.tp-steps li.current:after{background:var(--tp-good)}.tp-steps li.current{color:var(--tp-brand)}.tp-steps li.current:before{border-color:var(--tp-brand);background:var(--tp-brand);color:#fff;box-shadow:0 0 0 5px var(--tp-brand-50)}.tp-drop{display:grid;place-items:center;gap:10px;text-align:center;padding:44px 20px;border:2px dashed var(--tp-line-2);border-radius:var(--tp-radius-lg);background:var(--tp-surface-2);cursor:pointer;transition:border-color .15s,background .15s}.tp-drop:hover,.tp-drop.is-over{border-color:var(--tp-brand);background:var(--tp-brand-50)}.tp-drop__icon{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:var(--tp-brand-100);color:var(--tp-brand)}.tp-drop__icon svg{width:26px;height:26px}.tp-summary{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.tp-summary>div{padding:14px 16px;border-radius:12px;border:1px solid var(--tp-line);background:var(--tp-surface)}.tp-summary b{display:block;font-size:26px;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}.tp-summary span{font-size:13px;font-weight:700;color:var(--tp-ink-3)}.tp-summary .is-good b{color:var(--tp-good)}.tp-summary .is-warn b{color:var(--tp-warn)}.tp-summary .is-bad b{color:var(--tp-bad)}.tp-summary .is-info b{color:var(--tp-info)}.tp-issue{font-size:12.5px;font-weight:600;display:flex;gap:5px;align-items:flex-start;line-height:1.35}.tp-issue svg{width:13px;height:13px;flex-shrink:0;margin-top:2px}.tp-issue.error{color:var(--tp-bad)}.tp-issue.warning{color:var(--tp-warn)}.tp-catpick{display:flex;flex-wrap:wrap;gap:6px}.tp-catpick button{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;border:1px solid var(--tp-line-2);background:var(--tp-surface);color:var(--tp-ink-2);transition:all .12s}.tp-catpick button:hover{border-color:var(--c)}.tp-catpick button[aria-pressed=true]{background:color-mix(in srgb,var(--c) 12%,white);border-color:var(--c);color:color-mix(in srgb,var(--c) 85%,black)}.tp-catpick button .box{width:14px;height:14px;border-radius:4px;border:1.5px solid currentColor;display:grid;place-items:center}.tp-catpick button[aria-pressed=true] .box{background:var(--c);border-color:var(--c);color:#fff}.tp-catpick button .box svg{width:10px;height:10px}.tp-catpick--sm button{height:26px;padding:0 8px;font-size:12px}.tp-cred{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;padding:12px 14px;border-radius:12px;background:var(--tp-surface-2);border:1px solid var(--tp-line)}.tp-cred+.tp-cred{margin-top:8px}.tp-secret{font-family:JetBrains Mono,ui-monospace,monospace;font-size:15px;font-weight:600;letter-spacing:.04em;color:var(--tp-ink);background:var(--tp-surface);border:1px dashed var(--tp-line-2);padding:3px 8px;border-radius:6px}.tp-timeline{list-style:none;margin:0;padding:0;display:grid}.tp-timeline li{display:grid;grid-template-columns:28px 1fr;gap:12px;position:relative;padding-bottom:16px}.tp-timeline li:not(:last-child):before{content:"";position:absolute;left:13px;top:28px;bottom:0;width:2px;background:var(--tp-line)}.tp-timeline .dot{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--tp-brand-50);color:var(--tp-brand)}.tp-timeline .dot svg{width:14px;height:14px}.tp-timeline b{font-size:14px}.tp-timeline span{display:block;font-size:12.5px;color:var(--tp-ink-3)}.tp-dl{display:grid;grid-template-columns:minmax(120px,170px) 1fr;gap:10px 16px;font-size:14px}.tp-dl dt{color:var(--tp-ink-3);font-weight:700}.tp-dl dd{margin:0;font-weight:600;min-width:0;overflow-wrap:anywhere}@media(max-width:520px){.tp-dl{grid-template-columns:1fr;gap:2px}.tp-dl dd{margin-bottom:8px}}.tp-switch{position:relative;width:38px;height:22px;flex-shrink:0;border-radius:999px;background:var(--tp-line-2);border:0;cursor:pointer;transition:background .15s}.tp-switch:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:transform .15s}.tp-switch[aria-checked=true]{background:var(--tp-good)}.tp-switch[aria-checked=true]:after{transform:translate(16px)}.tp-switch:disabled{opacity:.5;cursor:not-allowed}.tp-chart-card .tp-card__body{padding:12px 16px 16px}.tp-chart-tip{background:var(--tp-navy);color:#fff;padding:8px 11px;border-radius:8px;font-size:13px;box-shadow:var(--tp-shadow-lg)}.tp-chart-tip b{display:block;font-size:12px;color:#b8b2e0;font-weight:700}.tp-auth{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:100dvh;background:var(--tp-surface)}.tp-auth__brand{position:relative;overflow:hidden;color:#fff;padding:44px 52px;display:flex;flex-direction:column;background:radial-gradient(120% 90% at 0% 0%,#3A2F8C 0%,var(--tp-navy) 55%,#140F33 100%)}.tp-auth__brand>*{position:relative;z-index:1}.tp-auth__brand .logo{display:flex;align-items:center;gap:12px}.tp-auth__brand .logo img{height:52px;width:auto}.tp-auth__brand .logo b{font-size:20px;font-weight:800;letter-spacing:-.01em}.tp-auth__brand .logo b em{font-style:normal;color:#ffae63}.tp-auth__brand .logo small{display:block;font-size:12px;color:#a79fd9;font-weight:700}.tp-auth__hero{margin:auto 0;max-width:480px;padding:40px 0}.tp-auth__hero h1{color:#fff;font-size:clamp(30px,3.4vw,42px);line-height:1.12;letter-spacing:-.025em}.tp-auth__hero h1 span{background:linear-gradient(90deg,#ffae63,#f59bc3);-webkit-background-clip:text;background-clip:text;color:transparent}.tp-auth__hero p{color:#c3bde6;font-size:16px;margin-top:14px;line-height:1.6}.tp-auth__points{display:grid;gap:12px;margin-top:28px;list-style:none;padding:0}.tp-auth__points li{display:flex;gap:12px;align-items:center;color:#e4e0fa;font-weight:600;font-size:14.5px}.tp-auth__points li span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#ffffff17;border:1px solid rgba(255,255,255,.12);flex-shrink:0}.tp-auth__points li svg{width:17px;height:17px;color:#ffc58f}.tp-auth__foot{font-size:12.5px;color:#8e86c4}.tp-auth__art{position:absolute;inset:0;z-index:0;pointer-events:none}.tp-auth__art .orb{position:absolute;border-radius:50%;filter:blur(2px)}.tp-auth__art .float{animation:tp-float 9s ease-in-out infinite;transform-origin:center}.tp-auth__art .float.d2{animation-delay:-3s;animation-duration:11s}.tp-auth__art .float.d3{animation-delay:-6s;animation-duration:13s}@keyframes tp-float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-14px) rotate(4deg)}}.tp-auth__panel{display:grid;place-items:center;padding:40px 24px;background:radial-gradient(60% 50% at 100% 0%,#F3EFFF 0%,transparent 70%),var(--tp-surface)}.tp-auth__box{width:min(420px,100%);animation:tp-pop .35s ease-out}.tp-auth__box h2{font-size:26px;letter-spacing:-.02em}.tp-auth__box>p{color:var(--tp-ink-3);margin-top:6px;font-size:14.5px}.tp-roles{position:relative;display:grid;grid-template-columns:repeat(3,1fr);padding:4px;margin:26px 0 22px;border-radius:12px;background:var(--tp-sunken)}.tp-roles__pill{position:absolute;top:4px;bottom:4px;left:4px;width:calc((100% - 8px) / 3);border-radius:9px;background:var(--tp-surface);box-shadow:0 1px 3px #1e1a3c1f,0 4px 12px #1e1a3c0f;transition:transform .28s cubic-bezier(.3,.8,.3,1)}.tp-roles button{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:7px;height:40px;border:0;background:none;border-radius:9px;font-weight:800;font-size:14px;color:var(--tp-ink-3);cursor:pointer;transition:color .2s}.tp-roles button svg{width:16px;height:16px}.tp-roles button[aria-selected=true]{color:var(--tp-brand)}.tp-roles button:focus-visible{outline:none;box-shadow:var(--tp-ring)}.tp-auth__form{display:grid;gap:16px;animation:tp-fade .25s ease-out}.tp-auth__meta{display:flex;justify-content:space-between;align-items:center;font-size:13.5px}.tp-auth__meta a,.tp-linkbtn{color:var(--tp-brand);font-weight:700;text-decoration:none;background:none;border:0;cursor:pointer;font-size:inherit;padding:0}.tp-auth__meta a:hover,.tp-linkbtn:hover{text-decoration:underline}.tp-auth__note{margin-top:22px;padding-top:18px;border-top:1px solid var(--tp-line);font-size:13.5px;color:var(--tp-ink-3);text-align:center}.tp-auth__mobile-logo{display:none;align-items:center;gap:10px;margin-bottom:26px}.tp-auth__mobile-logo img{height:42px}.tp-auth__mobile-logo b{font-size:18px;font-weight:800}.tp-auth__mobile-logo b em{font-style:normal;color:var(--tp-accent)}.tp-auth__role-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--tp-brand-50);color:var(--tp-brand);margin-bottom:16px}.tp-auth__role-icon svg{width:24px;height:24px}.tp-strength{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:2px}.tp-strength i{height:4px;border-radius:2px;background:var(--tp-line);transition:background .2s}.tp-rules{display:grid;gap:4px;list-style:none;padding:0;margin:4px 0 0;font-size:12.5px}.tp-rules li{display:flex;gap:6px;align-items:center;color:var(--tp-ink-3)}.tp-rules li svg{width:13px;height:13px}.tp-rules li.ok{color:var(--tp-good)}@media(max-width:900px){.tp-auth{grid-template-columns:1fr}.tp-auth__brand{display:none}.tp-auth__mobile-logo{display:flex}.tp-auth__panel{align-items:start;padding:32px 16px}}@media(prefers-reduced-motion:reduce){.tp *,.tp *:before,.tp *:after{animation:none!important;transition:none!important}}.tp-ft-groups{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr))}.tp-ft-group{all:unset;box-sizing:border-box;cursor:pointer;display:grid;gap:4px;padding:14px 16px;border-radius:var(--tp-radius);border:1.5px solid var(--tp-line);background:var(--tp-surface);transition:border-color .15s,box-shadow .15s,background .15s}.tp-ft-group:hover{border-color:var(--tp-line-2);box-shadow:var(--tp-shadow)}.tp-ft-group:focus-visible{box-shadow:var(--tp-ring)}.tp-ft-group.is-active{border-color:var(--tp-brand);background:var(--tp-brand-50);box-shadow:0 0 0 1px var(--tp-brand) inset}.tp-ft-group__label{font-size:16px;font-weight:800;color:var(--tp-ink)}.tp-ft-group__status{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:800}.tp-ft-group__status svg{width:14px;height:14px}.tp-ft-group__status.is-good{color:var(--tp-good)}.tp-ft-group__status.is-warn{color:var(--tp-warn)}.tp-ft-group__meta{font-size:12.5px;color:var(--tp-ink-3)}.tp-ft-bar{position:sticky;top:12px;z-index:20;display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:14px 18px;border-left:4px solid var(--tp-line-2);box-shadow:var(--tp-shadow);transition:border-color .2s,box-shadow .2s}.tp-ft-bar.is-complete{border-left-color:var(--tp-good)}.tp-ft-bar.is-limit{border-left-color:var(--tp-bad);animation:tp-ft-shake .35s ease}.tp-ft-bar__count{display:grid;gap:1px;min-width:220px}.tp-ft-bar__eyebrow{font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--tp-brand)}.tp-ft-bar__count b{font-size:16px}.tp-ft-bar__num{font-variant-numeric:tabular-nums;color:var(--tp-brand)}.tp-ft-bar.is-complete .tp-ft-bar__num{color:var(--tp-good)}.tp-ft-bar__hint{font-size:13px;color:var(--tp-ink-3)}.tp-ft-bar.is-limit .tp-ft-bar__hint{color:var(--tp-bad);font-weight:700}.tp-ft-bar__chips{display:flex;gap:8px;flex:1 1 320px;flex-wrap:wrap;min-width:0}.tp-ft-chip{display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:100%;flex:1 1 200px;padding:6px 6px 6px 10px;border-radius:10px;background:var(--tp-good-bg);color:var(--tp-ink);font-size:13.5px;font-weight:700;line-height:1.25}.tp-ft-chip>svg{width:16px;height:16px;color:var(--tp-good);flex-shrink:0}.tp-ft-chip>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.tp-ft-chip small{display:block;font-size:11px;font-weight:800;color:var(--tp-good)}.tp-ft-chip button{all:unset;cursor:pointer;display:grid;place-items:center;width:26px;height:26px;border-radius:7px;color:var(--tp-ink-3);flex-shrink:0}.tp-ft-chip button:hover{background:#0000000f;color:var(--tp-ink)}.tp-ft-chip button svg{width:15px;height:15px}.tp-ft-chip.is-empty{justify-content:center;background:none;border:1.5px dashed var(--tp-line-2);color:var(--tp-ink-3);font-weight:700;padding:12px 10px}.tp-ft-bar__actions{display:flex;gap:8px;margin-left:auto;flex-wrap:wrap}.tp-ft-grid{display:grid;gap:16px;padding:16px;grid-template-columns:repeat(4,minmax(0,1fr))}.tp-ft-card{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;min-width:0;background:var(--tp-surface);border:1.5px solid var(--tp-line);border-radius:var(--tp-radius-lg);overflow:hidden;transition:transform .15s,box-shadow .15s,border-color .15s,opacity .15s}.tp-ft-card:hover{transform:translateY(-2px);box-shadow:var(--tp-shadow);border-color:var(--tp-line-2)}.tp-ft-card:focus-visible{box-shadow:var(--tp-ring)}.tp-ft-card.is-selected{border-color:var(--tp-good);box-shadow:0 0 0 1px var(--tp-good),var(--tp-shadow)}.tp-ft-card.is-dim{opacity:.62}.tp-ft-card.is-dim:hover{opacity:.85}.tp-ft-card__media{position:relative;display:grid;place-items:center;height:118px;background:linear-gradient(135deg,color-mix(in srgb,var(--c) 10%,#fff),color-mix(in srgb,var(--c) 20%,#fff))}.tp-ft-card__media img{width:100%;height:100%;object-fit:cover}.tp-ft-badge{position:absolute;top:10px;right:10px;display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;background:var(--tp-good);color:#fff;font-size:11px;font-weight:800;letter-spacing:.06em;box-shadow:0 2px 8px #13795b59}.tp-ft-badge svg{width:13px;height:13px}.tp-ft-card__body{display:grid;gap:6px;padding:14px 16px 10px;flex:1;align-content:start}.tp-ft-card__num{font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--tp-ink-3)}.tp-ft-card__name{font-size:15.5px;font-weight:800;line-height:1.3;color:var(--tp-ink)}.tp-ft-card__desc{font-size:13px;line-height:1.45;color:var(--tp-ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tp-ft-card__tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}.tp-ft-tag{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11.5px;font-weight:800;color:var(--c);background:color-mix(in srgb,var(--c) 12%,#fff)}.tp-ft-tag.is-band{--c: #4A4568}.tp-ft-tag.is-other{--c: #9A5B00}.tp-ft-tag.is-plain{--c: #77729A;background:var(--tp-sunken)}.tp-ft-card__foot{display:flex;align-items:center;gap:10px;padding:11px 16px;border-top:1px solid var(--tp-line);font-size:13.5px;font-weight:800;color:var(--tp-ink-2);background:var(--tp-surface-2)}.tp-ft-card.is-selected .tp-ft-card__foot{background:var(--tp-good-bg);color:var(--tp-good);border-top-color:transparent}.tp-ft-check{width:20px;height:20px;border-radius:6px;border:2px solid var(--tp-line-2);background:#fff;display:grid;place-items:center;flex-shrink:0;transition:all .15s}.tp-ft-check svg{width:13px;height:13px;color:#fff}.tp-ft-card.is-selected .tp-ft-check{background:var(--tp-good);border-color:var(--tp-good)}.tp-ft-cell{display:grid;gap:1px}@keyframes tp-ft-shake{0%,to{transform:none}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@media(max-width:1280px){.tp-ft-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:960px){.tp-ft-bar{top:64px}}@media(max-width:820px){.tp-ft-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px;gap:12px}}@media(max-width:520px){.tp-ft-grid{grid-template-columns:1fr}.tp-ft-bar{position:static}.tp-ft-bar__actions{width:100%;margin-left:0}.tp-ft-bar__actions .tp-btn{flex:1}}.tp-empty .tp-btn svg{width:16px;height:16px;color:inherit}.zg{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;align-content:center;gap:10px;padding:20px;text-align:center;background:#14112db8;backdrop-filter:blur(5px);animation:zg-dim .5s ease-out both}@keyframes zg-dim{0%{background:#14112d00;backdrop-filter:blur(0)}}.zg-stage{position:relative;width:min(300px,62vw);aspect-ratio:1}.zg-zira{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 16px 24px rgba(0,0,0,.35))}.zg-charge .zg-zira{animation:zg-charge var(--zg-charge, 2.3s) ease-in forwards}@keyframes zg-charge{0%{transform:scale(.82);filter:drop-shadow(0 16px 24px rgba(0,0,0,.35)) brightness(1)}70%{transform:scale(.86) translateY(-2%)}85%,to{transform:scale(.9) translateY(-3%);filter:drop-shadow(0 0 30px var(--zg-from)) brightness(1.5) saturate(.6)}}.zg-reveal .zg-zira{animation:zg-arrive .9s var(--bounce) both,zg-cheer 1.2s ease-in-out .9s 2}@keyframes zg-arrive{0%{transform:scale(.6);filter:brightness(2.2) saturate(.2)}to{transform:scale(1);filter:drop-shadow(0 16px 24px rgba(0,0,0,.35))}}@keyframes zg-cheer{0%,to{transform:none}30%{transform:translateY(-8%) rotate(-4deg)}60%{transform:translateY(-3%) rotate(4deg)}}.zg-glow{position:absolute;inset:-18%;border-radius:50%;pointer-events:none;background:radial-gradient(circle,color-mix(in srgb,var(--zg-from) 70%,#fff) 0%,color-mix(in srgb,var(--zg-from) 40%,transparent) 30%,transparent 64%);animation:zg-glow var(--zg-charge, 2.3s) ease-in forwards}.zg-reveal .zg-glow{background:radial-gradient(circle,color-mix(in srgb,var(--zg-to) 55%,#fff) 0%,color-mix(in srgb,var(--zg-to) 35%,transparent) 32%,transparent 66%);animation:zg-glow-soft 3s ease-in-out infinite}@keyframes zg-glow{0%{opacity:.2;transform:scale(.6)}to{opacity:1;transform:scale(1.15)}}@keyframes zg-glow-soft{0%,to{opacity:.7;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}}.zg-orbit{position:absolute;inset:-6%;pointer-events:none;animation:zg-spin var(--zg-charge, 2.3s) cubic-bezier(.5,0,.8,.6) forwards}.zg-orbit i{position:absolute;left:50%;top:50%;font-style:normal;font-size:clamp(20px,5vw,30px);transform:rotate(calc(var(--i) * 45deg)) translateY(calc(min(300px,62vw)*-.62)) rotate(calc(var(--i) * -45deg));margin:-.5em 0 0 -.5em;filter:drop-shadow(0 0 8px rgba(255,255,255,.7))}@keyframes zg-spin{0%{transform:rotate(0) scale(1.15);opacity:0}15%{opacity:1}to{transform:rotate(540deg) scale(.35);opacity:0}}.zg-reveal .zg-orbit{animation:zg-spin-slow 9s linear infinite;opacity:.75}@keyframes zg-spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.zg-flash{position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 42%,#fff,#ffffffd9 30%,#fff0 70%);animation:zg-flash .45s ease-out both}@keyframes zg-flash{0%{opacity:0}40%{opacity:1}to{opacity:.2}}.zg-emblem{position:absolute;right:2%;top:4%;display:grid;place-items:center;width:25%;height:25%;border-radius:50%;background:#fff;font-size:clamp(26px,7vw,40px);box-shadow:0 0 0 5px color-mix(in srgb,var(--zg-to) 60%,transparent),0 10px 24px #0000004d;animation:zg-badge .7s var(--bounce) .5s both}@keyframes zg-badge{0%{transform:scale(0) rotate(-40deg)}to{transform:none}}.zg-text{min-height:150px;color:#fff}.zg-text h2{margin:8px 0 4px;font-family:var(--font-display);font-weight:800;font-size:clamp(34px,7vw,52px);letter-spacing:.02em;color:#ffd76a;text-shadow:0 3px 0 #B8621B,0 8px 24px rgba(0,0,0,.35);animation:zg-pop .6s var(--bounce) .2s both}.zg-unlock{margin:0 0 4px;font-family:var(--font-display);font-weight:800;font-size:clamp(20px,4vw,26px);animation:zg-pop .5s var(--bounce) .45s both}.zg-sub{margin:0 0 16px;font-size:17px;opacity:.85;animation:zg-pop .5s var(--bounce) .6s both}.zg-charging{margin:16px 0 0;font-family:var(--font-display);font-weight:800;font-size:20px;opacity:.9;animation:zg-pulse 1.1s ease-in-out infinite}@keyframes zg-pop{0%{opacity:0;transform:translateY(10px) scale(.9)}to{opacity:1;transform:none}}@keyframes zg-pulse{0%,to{opacity:.55}50%{opacity:1}}.zg-btn{padding:16px 36px;border-radius:var(--r-pill);border:none;cursor:pointer;min-height:52px;background:var(--orange);color:#fff;font-family:var(--font-display);font-weight:800;font-size:20px;box-shadow:0 8px 24px #f2882f73;animation:zg-pop .5s var(--bounce) .8s both}.zg-btn:focus-visible{outline:3px solid #fff;outline-offset:3px}.zg-zira.zm-wrap{display:block}.zg-stage.is-giant{width:min(300px,56vw,32vh);aspect-ratio:2 / 3}.zg-award{display:inline-block;margin:0 0 4px;padding:6px 16px;border-radius:99px;background:linear-gradient(135deg,#ffe27a,#f5a623);color:#5a3300;font-family:var(--font-display);font-weight:800;font-size:16px;letter-spacing:.03em;box-shadow:0 0 0 3px #ffffff59,0 8px 22px #f5a62373;animation:zg-pop .5s var(--bounce) .1s both}.zg-tier-light{background:#14112d8c}.zg-rays{position:absolute;inset:-45%;border-radius:50%;pointer-events:none;opacity:0;background:repeating-conic-gradient(from 0deg,color-mix(in srgb,var(--zg-to) 55%,#fff) 0deg 6deg,transparent 6deg 22deg);mask-image:radial-gradient(circle,#000 18%,transparent 68%);-webkit-mask-image:radial-gradient(circle,#000 18%,transparent 68%)}.zg-reveal .zg-rays{animation:zg-rays-in .8s ease-out forwards,zg-spin-slow 16s linear infinite}@keyframes zg-rays-in{to{opacity:.55}}.zg-tier-ultimate{background:radial-gradient(circle at 50% 40%,#5a3c0ac7,#14112ddb 70%)}.zg-tier-ultimate .zg-text h2{color:#ffe27a;text-shadow:0 3px 0 #B8621B,0 0 30px rgba(255,210,90,.8),0 8px 24px rgba(0,0,0,.35)}.zg-tier-ultimate.zg-reveal .zg-glow{inset:-30%}@media(max-height:640px){.zg-stage{width:min(240px,50vw)}.zg-stage.is-giant{width:min(200px,44vw,30vh)}.zg-text{min-height:0}}@media(prefers-reduced-motion:reduce){.zg *,.zg{animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--bg: #EFEBFB;--bg-alt: #F7F4FF;--surface: #FFFFFF;--surface-2: #F6F3FF;--surface-3: #EBE5FC;--card: #FFFFFF;--ink: #241D4F;--ink-soft: #575080;--ink-mute: #918BB0;--ink-invert: #FFFFFF;--line: #E3DDF7;--line-soft: rgba(124, 107, 217, .14);--header-bg: rgba(247, 244, 255, .88);--footer-bg: #F7F4FF;--lavender: #7C6BD9;--lavender-lt: #A99BF0;--lavender-dk: #5A48B8;--peach: #F7A87A;--peach-lt: #FFC7A3;--peach-dk: #E0784A;--orange: #F2882F;--tangerine: #FFAE63;--wash-lavender: #EFEAFE;--wash-peach: #FFF0E6;--wash-mint: #E4F8F1;--wash-sky: #E6F3FE;--wash-lemon: #FFF6DC;--wash-rose: #FFEBF1;--grape: #8B7BE8;--violet: #A78BFA;--berry: #F472A8;--coral: #FB8A6E;--amber: #FBBF4A;--mint: #3FC9A4;--teal: #2BB8B0;--sky: #5BA9F5;--leaf: #66C97A;--sidebar-1: #241D4F;--sidebar-2: #3B2E86;--sidebar-ink: #D8D2F8;--sidebar-ink-mute: #9A90D6;--sidebar-active: rgba(255,255,255,.14);--sidebar-glow: 0 0 0 1px rgba(255,255,255,.16), 0 6px 18px rgba(0,0,0,.22);--primary: var(--lavender);--accent: var(--peach);--yellow: var(--amber);--magenta: var(--berry);--purple: var(--grape);--cyan: var(--sky);--red: var(--coral);--lime: var(--leaf);--biology: var(--mint);--chemistry: var(--grape);--success: var(--mint);--danger: var(--coral);--locked: #CFC8E8;--hydrogen: var(--berry);--oxygen: var(--sky);--bubblegum: #FFA6C9;--r-sm: 9px;--r: 13px;--r-lg: 17px;--r-xl: 22px;--r-pill: 999px;--stroke: 0px;--lift-xs: 0 2px 8px rgba(84, 62, 168, .07);--lift-sm: 0 4px 14px rgba(84, 62, 168, .1);--lift: 0 10px 28px rgba(84, 62, 168, .14);--lift-lg: 0 18px 44px rgba(84, 62, 168, .18);--lift-press: 0 2px 8px rgba(84, 62, 168, .12);--font-display: "Baloo 2", system-ui, sans-serif;--font-body: "Nunito", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--step--1: .86rem;--step-0: 1rem;--step-1: 1.3rem;--step-2: 1.9rem;--step-3: 2.7rem;--step-4: 3.8rem;--bounce: cubic-bezier(.34,1.56,.64,1)}.skin-play{--r-sm:12px;--r:17px;--r-lg:22px;--step-0:1.16rem;--step-1:1.52rem;--step-2:2.2rem}.skin-lab{--r-sm:7px;--r:10px;--r-lg:13px;--step--1:.82rem;--step-0:.96rem}.paper-bg{background:radial-gradient(900px 520px at 84% -4%,#E2D9FF 0%,transparent 58%),radial-gradient(760px 480px at 6% 102%,#FFE6D6 0%,transparent 56%),radial-gradient(620px 420px at 44% 44%,#E4F1FF 0%,transparent 62%),var(--bg)}.doodles:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(closest-side,rgba(169,155,240,.3),transparent),radial-gradient(closest-side,rgba(255,199,163,.28),transparent),radial-gradient(closest-side,rgba(91,169,245,.2),transparent);background-size:380px 380px,300px 300px,340px 340px;background-position:8% 12%,88% 68%,62% 8%;background-repeat:no-repeat;filter:blur(12px)}.bubbles{position:absolute;inset:0;overflow:hidden;pointer-events:none}.bubbles span{position:absolute;bottom:-70px;border-radius:50%;background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.95),rgba(169,155,240,.2) 60%,transparent 72%);animation:float-up linear infinite}@keyframes float-up{0%{transform:translateY(0) translate(0) scale(.7);opacity:0}14%{opacity:.8}to{transform:translateY(-108vh) translate(30px) scale(1.15);opacity:0}}@keyframes pop-in{0%{transform:scale(.72) translateY(14px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}@keyframes halo{0%{transform:scale(.92);opacity:.5}to{transform:scale(1.55);opacity:0}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes wiggle{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}@keyframes dash-flow{to{stroke-dashoffset:-240}}@keyframes slide-up{0%{transform:translateY(26px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes confetti{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(380px) rotate(700deg);opacity:0}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.anim-pop{animation:pop-in .38s var(--bounce) both}.anim-bob{animation:bob 3.4s ease-in-out infinite}.anim-wiggle{animation:wiggle 2.6s ease-in-out infinite}.anim-up{animation:slide-up .48s var(--bounce) both}.anim-halo{animation:halo 2s ease-out infinite}.current-flow{stroke-dasharray:9 11;animation:dash-flow 1.1s linear infinite}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.bubbles{display:none}}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--lavender);outline-offset:3px;border-radius:var(--r-sm)}.dash-shell{display:flex;min-height:100dvh}.dash-sidebar{width:226px;flex-shrink:0;background:linear-gradient(165deg,var(--sidebar-1) 0%,var(--sidebar-2) 100%);display:flex;flex-direction:column;padding:18px 14px 20px;position:sticky;top:0;height:100dvh;z-index:50}.dash-nav-item{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:var(--r-lg);color:var(--sidebar-ink-mute);text-decoration:none;font-family:var(--font-display);font-weight:700;font-size:15px;transition:background .15s ease,color .15s ease,transform .15s var(--bounce);position:relative}.dash-nav-item:hover{background:#ffffff14;color:var(--sidebar-ink);transform:translate(2px)}.dash-nav-item.is-active{background:var(--sidebar-active);color:#fff;box-shadow:var(--sidebar-glow)}.dash-nav-item.is-active:before{content:"";position:absolute;left:-14px;top:50%;transform:translateY(-50%);width:4px;height:22px;border-radius:3px;background:var(--tangerine)}.dash-nav-icon{font-size:20px;flex-shrink:0;width:24px;text-align:center}.dash-main{flex:1;min-width:0;position:relative}.dash-topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:12px 20px;background:var(--header-bg);border-bottom:1px solid var(--line);backdrop-filter:blur(6px)}.dash-content{position:relative;z-index:5;max-width:1220px;margin:0 auto;padding:20px 22px 90px}.hud-chip{display:flex;align-items:center;gap:8px;padding:7px 14px;border-radius:var(--r-pill);background:var(--surface-2);box-shadow:var(--lift-sm);font-family:var(--font-display);font-weight:800;font-size:14px}.dash-bottomnav{display:none}@keyframes coin-bump{0%{transform:scale(1)}40%{transform:scale(1.22)}to{transform:scale(1)}}.coin-bump{animation:coin-bump .5s var(--bounce)}@keyframes coin-fly{0%{opacity:0;transform:translate(-50%,6px) scale(.8)}25%{opacity:1;transform:translate(-50%,-6px) scale(1.05)}85%{opacity:1;transform:translate(-50%,-20px) scale(1)}to{opacity:0;transform:translate(-50%,-28px) scale(.9)}}.coin-fly{animation:coin-fly 1.3s ease-out forwards}.hero-panel{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.hero-speech{position:relative;background:var(--surface);border-radius:var(--r-xl);padding:16px 20px;box-shadow:var(--lift-sm);max-width:320px}.hero-speech:after{content:"";position:absolute;left:-10px;top:34px;border:10px solid transparent;border-right-color:var(--surface)}.energy-segments{display:flex;gap:5px}.energy-seg{flex:1;height:20px;border-radius:7px;background:var(--surface-3);transition:background .2s,box-shadow .2s}.energy-seg.is-filled{background:linear-gradient(180deg,var(--tangerine),var(--orange));box-shadow:0 0 0 1px #f2882f59}.collection-slot{width:46px;height:46px;border-radius:var(--r-lg);border:none;cursor:pointer;display:grid;place-items:center;font-size:22px;position:relative;transition:transform .15s var(--bounce)}.collection-slot:hover{transform:translateY(-3px)}.collection-pop{position:absolute;z-index:80;top:calc(100% + 8px);left:50%;transform:translate(-50%);width:190px;padding:12px 14px;background:var(--surface);border-radius:var(--r);box-shadow:var(--lift);text-align:center;font-size:var(--step--1);color:var(--ink-soft)}.exp-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.exp-card{position:relative}@media(max-width:980px){.dash-sidebar{width:74px;align-items:center;padding:16px 8px}.dash-sidebar .dash-brand-text,.dash-nav-label{display:none}.dash-nav-item{justify-content:center;padding:12px 0;width:52px}.dash-nav-item.is-active:before{left:50%;top:-4px;transform:translate(-50%);width:22px;height:4px}.hud-chip .hud-chip-label{display:none}}@media(max-width:640px){.dash-sidebar{display:none}.dash-content{padding:14px 14px 96px}.dash-topbar{padding:10px 12px;justify-content:space-between}.hero-panel{justify-content:center;text-align:center}.hero-speech{max-width:100%}.hero-speech:after{display:none}.exp-grid{grid-template-columns:repeat(2,1fr);gap:10px}.dash-bottomnav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;background:linear-gradient(165deg,var(--sidebar-1) 0%,var(--sidebar-2) 100%);padding:8px 6px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -6px 20px #0000002e}.dash-bottomnav a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0;border-radius:var(--r);color:var(--sidebar-ink-mute);text-decoration:none;font-size:11px;font-weight:800;font-family:var(--font-display)}.dash-bottomnav a.is-active{color:#fff;background:var(--sidebar-active)}.dash-bottomnav .dash-nav-icon{font-size:20px}.zira-pill{bottom:78px!important}}@media(max-width:400px){.exp-grid{grid-template-columns:1fr}}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-body);font-size:var(--step-0);color:var(--ink);background:var(--space-900);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;margin:0;letter-spacing:-.01em}button{font-family:inherit;color:inherit;border:0;background:none;cursor:pointer}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--ink-mute);border-radius:99px}.card{background:var(--card);border-radius:var(--r-lg);box-shadow:var(--lift-sm)}
