.project-page-shell{width:min(100%,1180px);padding:0 var(--page-gutter);margin:0 auto}.project-page-header,.project-page-footer{border-bottom:1px solid var(--line);min-height:4.25rem;color:var(--ink-soft);font-family:var(--font-mono);font-size:var(--fs-meta);letter-spacing:.04em;justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.project-page-header a,.project-page-footer a{color:inherit;text-decoration:none}.project-page-header a:hover,.project-page-header a:focus-visible,.project-page-footer a:hover,.project-page-footer a:focus-visible{color:var(--accent-wire)}.project-page-status{color:var(--accent-wire);white-space:nowrap;background:#ffffff9e;border:1px solid #2f4bc752;border-radius:999px;padding:.35rem .8rem}.project-intro{max-width:52rem;padding:clamp(1.75rem,4vw,2.75rem) 0 clamp(1.25rem,3vw,2rem)}.eyebrow{color:var(--accent-wire);font-family:var(--font-mono);font-size:var(--fs-meta);letter-spacing:.1em;text-transform:uppercase;margin:0;line-height:1.5}.project-intro h1{color:var(--brand-ink);letter-spacing:-.02em;margin:.75rem 0 0;font-size:clamp(2.1rem,4.2vw,3.25rem);font-weight:750;line-height:1.12}.project-intro-lead{max-width:38rem;color:var(--ink-muted);margin:1rem 0 0;font-size:clamp(.98rem,1.4vw,1.15rem);line-height:1.65}.project-intro-notes{color:var(--ink-soft);flex-wrap:wrap;gap:.5rem;margin-top:1.4rem;font-size:.78rem;display:flex}.project-intro-notes p{border:1px solid var(--line);background:#ffffffa8;border-radius:999px;margin:0;padding:.32rem .75rem}.prompt-builder{border:1px solid var(--line-strong);background:#ffffff8c;border-radius:1.35rem;margin:0 0 clamp(3rem,8vw,6rem);padding:clamp(1rem,2.5vw,2rem);box-shadow:0 2rem 5rem #4b71b41a,inset 0 1px #ffffffe6}.builder-heading{border-bottom:1px solid var(--line);padding-bottom:1.25rem}.builder-heading h2{letter-spacing:-.02em;margin:.45rem 0 0;font-size:clamp(1.3rem,2.2vw,1.75rem);line-height:1.3}.builder-heading>p:last-child{max-width:42rem;color:var(--ink-muted);margin:.7rem 0 0;font-size:.92rem;line-height:1.65}.builder-progress{color:var(--ink-soft);font-family:var(--font-mono);font-size:var(--fs-meta);align-items:center;gap:1rem;padding:1rem 0 1.25rem;display:flex}.builder-progress p{text-align:right;flex:0 0 10rem;margin:0}.builder-progress-track{background:#2f4bc721;border-radius:99px;flex:1;height:2px;overflow:hidden}.builder-progress-track span{border-radius:inherit;background:linear-gradient(90deg, var(--brand-cyan), var(--accent-wire));width:0;height:100%;transition:width .32s var(--ease-out);display:block}.builder-step{min-height:0;padding:clamp(.75rem,1.6vw,1.25rem) 0}.step-heading{align-items:flex-start;gap:1rem;margin-bottom:1.1rem;display:flex}.step-heading h3{letter-spacing:-.01em;margin:.3rem 0 0;font-size:clamp(1.15rem,1.8vw,1.45rem);line-height:1.35}.step-number{background:var(--brand-ink);color:#fff;width:2.05rem;height:2.05rem;font-family:var(--font-mono);font-size:var(--fs-meta);border-radius:50%;flex:none;place-items:center;display:inline-grid}.selection-limit{color:var(--accent-wire);font-family:var(--font-mono);font-size:var(--fs-meta);white-space:nowrap;border:1px solid #2f4bc74d;border-radius:99px;margin-left:auto;padding:.45rem .75rem}.builder-field{max-width:32rem;color:var(--brand-ink);gap:.45rem;margin-top:.85rem;font-size:.92rem;font-weight:700;display:grid}.builder-field em{color:var(--ink-soft);font-size:.8em;font-style:normal;font-weight:500}.builder-field input,.builder-field textarea{border:1px solid var(--line-strong);width:100%;color:var(--brand-ink);font:inherit;resize:vertical;background:#ffffffd1;border-radius:.85rem;padding:.65rem .8rem;font-weight:500;line-height:1.5}.builder-field--large input{min-height:3rem;font-size:clamp(1rem,1.5vw,1.2rem)}.builder-field input::placeholder,.builder-field textarea::placeholder{color:#4a55689e}.builder-field input:focus-visible,.builder-field textarea:focus-visible{border-color:var(--accent-wire);outline-offset:2px;outline:3px solid #2f4bc733}.field-hint{color:var(--ink-soft);margin:.6rem 0 0;font-size:.82rem}.choice-grid{border:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin:0;padding:0;display:grid}.choice-grid--avatars{grid-template-columns:repeat(4,minmax(0,1fr))}.choice-grid--styles,.choice-grid--layouts{grid-template-columns:repeat(3,minmax(0,1fr))}.choice-card{border:1px solid var(--line);cursor:pointer;background:#ffffffa3;border-radius:.9rem;align-content:start;gap:.3rem;min-height:0;padding:.75rem;transition:border-color .18s,background-color .18s,transform .18s,box-shadow .18s;display:grid;position:relative}.choice-card:hover{border-color:#2f4bc78c;transform:translateY(-2px)}.choice-card:has(input:focus-visible){outline-offset:2px;outline:3px solid #2f4bc733}.choice-card:has(input:checked){border-color:var(--accent-wire);background:linear-gradient(145deg,#e1f6fff2,#e8e5ffc2);box-shadow:0 .7rem 1.5rem #2f4bc71f}.choice-card input{opacity:0;width:1px;height:1px;position:absolute}.choice-card-mark{border:1px solid var(--line-strong);width:1.3rem;height:1.3rem;color:var(--accent-wire);border-radius:50%;place-items:center;font-size:.72rem;display:inline-grid}.choice-card:has(input:checked) .choice-card-mark{border-color:var(--accent-wire);background:var(--accent-wire);color:#fff}.choice-card-label{color:var(--brand-ink);font-size:.92rem;font-weight:700;line-height:1.32}.choice-card-description{color:var(--ink-soft);font-size:.76rem;line-height:1.45}.choice-card--compact{grid-template-columns:auto 1fr;align-items:center;min-height:0;padding:.6rem .75rem}.choice-card--compact .choice-card-label{align-self:center}.choice-card--compact .choice-card-mark{grid-row:span 2}.choice-card--color{grid-template-columns:auto 1fr;align-items:center;min-height:0}.color-swatch{background:var(--swatch);border:1px solid #11131529;border-radius:50%;width:1.5rem;height:1.5rem}.builder-fields-stack{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.builder-fields-stack .builder-field{max-width:none;margin-top:0}.builder-error{color:#a62c39;min-height:1.25rem;margin:.75rem 0 0;font-size:.9rem;font-weight:700}.summary-grid{gap:0;margin:.75rem 0 0;font-size:.92rem;display:grid}.summary-row{border-bottom:1px solid var(--line);grid-template-columns:max-content 1fr;align-items:baseline;column-gap:0;padding:.5rem 0;display:grid}.summary-row:last-child{border-bottom:0}.summary-row dt{color:var(--ink-soft);font-weight:600}.summary-row dd{min-width:0;color:var(--brand-ink);overflow-wrap:anywhere;margin:0}.builder-actions{border-top:1px solid var(--line);align-items:center;gap:.75rem;padding-top:1rem;display:flex}.builder-actions-spacer{flex:1}.builder-button{min-height:2.75rem;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:999px;padding:.6rem 1.1rem;font-size:.9rem;font-weight:750;transition:transform .18s,background-color .18s,border-color .18s}.builder-button:hover,.builder-button:focus-visible{transform:translateY(-2px)}.builder-button:focus-visible{outline-offset:3px;outline:3px solid #2f4bc73b}.builder-button--primary{background:var(--brand-ink);color:#fff}.builder-button--primary:hover,.builder-button--primary:focus-visible{background:var(--accent-wire)}.builder-button--secondary{border-color:var(--brand-ink);color:var(--brand-ink);background:0 0}.builder-button--secondary:hover,.builder-button--secondary:focus-visible{background:#ffffffbf}.builder-button--quiet{color:var(--ink-muted);background:0 0;padding-left:.25rem;padding-right:.25rem}.builder-button--quiet:hover,.builder-button--quiet:focus-visible{color:var(--accent-wire)}.builder-result{border-top:1px solid var(--brand-ink);margin-top:1.5rem;padding-top:1.5rem}.result-heading h3{letter-spacing:-.02em;margin:.45rem 0 0;font-size:clamp(1.25rem,2.1vw,1.6rem);line-height:1.3}.result-heading p:last-child{color:var(--ink-muted);max-width:42rem;margin:.7rem 0 0;font-size:.92rem;line-height:1.65}.prompt-output{border:1px solid var(--line-strong);color:#f4f8ff;max-height:22rem;font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;background:#111315;border-radius:.9rem;margin:1rem 0 0;padding:1rem;font-size:.84rem;line-height:1.65;overflow:auto}.result-actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.copy-feedback{min-height:1.5rem;color:var(--accent-wire);margin:.8rem 0 0;font-weight:700}.project-page-footer{border-top:1px solid var(--line);border-bottom:0}.project-page-footer p{margin:0}@media (width<=900px){.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.builder-fields-stack{grid-template-columns:1fr}}@media (width<=600px){.project-page-shell{padding:0 1.25rem}.project-page-header{min-height:4.5rem;font-size:.65rem}.project-page-status{text-align:right}.project-intro{padding-top:3rem}.project-intro h1{font-size:clamp(1.9rem,9vw,2.6rem)}.prompt-builder{border-radius:1.1rem;padding:1rem}.builder-progress{gap:.7rem;display:grid}.builder-progress p{text-align:left}.choice-grid,.choice-grid--avatars,.choice-grid--styles,.choice-grid--layouts{grid-template-columns:1fr 1fr}.choice-card{padding:.7rem}.choice-card-description{font-size:.74rem}.step-heading{flex-wrap:wrap}.selection-limit{width:100%;margin-left:3.2rem}.builder-actions{flex-wrap:wrap}.builder-actions-spacer{display:none}.builder-button--secondary,.builder-button--primary{flex:1}.project-page-footer{flex-direction:column;align-items:flex-start;padding:1.5rem 0}}@media (prefers-reduced-motion:reduce){.builder-progress-track span,.choice-card,.builder-button{transition:none}}.lesson-hub{grid-template-columns:repeat(auto-fit,minmax(19rem,1fr));gap:clamp(1rem,2.4vw,1.75rem);margin:0 0 clamp(3rem,8vw,6rem);display:grid}.lesson-card{border:1px solid var(--line-strong);min-height:17rem;color:inherit;transition:transform .26s var(--ease-out), box-shadow .26s var(--ease-out), border-color .26s var(--ease-out);background:#ffffffa8;border-radius:1.35rem;flex-direction:column;padding:clamp(1.15rem,2.4vw,1.7rem);text-decoration:none;display:flex;position:relative;box-shadow:0 1.5rem 3.5rem #4b71b41a,inset 0 1px #ffffffe6}.lesson-card:hover,.lesson-card:focus-visible{border-color:#2f4bc780;transform:translateY(-4px);box-shadow:0 2rem 4.5rem #4b71b42e,inset 0 1px #fffffff2}.lesson-card-top{align-items:center;gap:.65rem;margin-bottom:1rem;display:flex}.lesson-card-index{background:var(--brand-ink);color:#fff;width:2.4rem;height:2.4rem;font-family:var(--font-mono);letter-spacing:.02em;border-radius:50%;place-items:center;font-size:.85rem;display:inline-grid}.lesson-card-label{color:var(--accent-wire);font-family:var(--font-mono);letter-spacing:.08em;font-size:.78rem}.lesson-card-meta{border:1px solid var(--line);color:var(--ink-soft);white-space:nowrap;border-radius:999px;margin-left:auto;padding:.24rem .65rem;font-size:.72rem}.lesson-card-title{color:var(--brand-ink);letter-spacing:-.015em;margin:0;font-size:clamp(1.25rem,2vw,1.55rem);line-height:1.3}.lesson-card-description{color:var(--ink-muted);margin:.7rem 0 1.4rem;font-size:.92rem;line-height:1.7}.lesson-card-action{color:var(--accent-wire);margin-top:auto;font-size:.9rem;font-weight:650}.upgrade-builder{border:1px solid var(--line-strong);background:#ffffff8c;border-radius:1.35rem;margin:0 0 clamp(3rem,8vw,6rem);padding:clamp(1rem,2.5vw,2rem);box-shadow:0 2rem 5rem #4b71b41a,inset 0 1px #ffffffe6}.avatar-orbit{grid-template-columns:minmax(0,1fr) minmax(15rem,22rem) minmax(0,1fr);grid-template-areas:"top-left preview top-right""mid-left preview mid-right""bot-left preview bot-right";align-items:center;gap:.7rem 1rem;margin-bottom:.6rem;display:grid;position:relative}.avatar-preview{grid-area:preview;place-items:center;padding:.5rem;display:grid;position:relative}.avatar-art{aspect-ratio:1;cursor:pointer;isolation:isolate;touch-action:manipulation;-webkit-tap-highlight-color:transparent;filter:drop-shadow(0 .9rem 1.2rem #2b1e1638);width:min(100%,21rem);margin:0;display:block;position:relative}.avatar-photo{object-fit:contain;user-select:none;-webkit-user-drag:none;width:100%;height:100%;position:absolute;inset:0}.avatar-eye,.avatar-mouth{pointer-events:none;display:block;position:absolute}.avatar-eye-gaze,.avatar-mouth-frame{user-select:none;width:100%;height:100%;position:absolute;inset:0}.avatar-eye{overflow:hidden}.avatar-eye--left{width:14.4444%;height:10%;top:25%;left:38.3333%}.avatar-eye--right{width:14.4444%;height:10%;top:28.3333%;left:55.5556%}.avatar-eye-gaze{background-image:var(--eye-src);background-repeat:no-repeat;background-size:500% 500%;background-position:var(--eye-x,50%) var(--eye-y,50%);transform-origin:50% 60%;transition:background-position 90ms linear, transform 90ms var(--ease-out);-webkit-mask-image:radial-gradient(62% 58%,#000 38%,#0000 72%);mask-image:radial-gradient(62% 58%,#000 38%,#0000 72%);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.avatar-preview.fx-blink .avatar-eye-gaze{animation:5.4s infinite avatar-eye-blink}.avatar-preview.is-patting .avatar-eye-gaze,.avatar-preview.expression-happy .avatar-eye-gaze,.avatar-preview.expression-wink .avatar-eye--right .avatar-eye-gaze{animation:none;transform:translateY(9%)scaleY(.15)}.avatar-mouth{width:12.4444%;height:8.4444%;top:43.1111%;left:47.1111%}.avatar-mouth-frame{background-image:var(--mouth-src);background-repeat:no-repeat;background-size:500% 100%;background-position:var(--mouth-x,0%) 0;transition:background-position .11s var(--ease-out)}.avatar-preview.expression-happy .avatar-mouth-frame,.avatar-preview.expression-wink .avatar-mouth-frame{--mouth-x:25%}.avatar-preview.expression-ooh .avatar-mouth-frame{--mouth-x:100%}.avatar-preview.is-patting .avatar-mouth-frame{--mouth-x:50%}@keyframes avatar-eye-blink{0%,91%,96%,to{transform:translateY(0)scaleY(1)}93%,94%{transform:translateY(9%)scaleY(.15)}}.avatar-preview-hint{color:var(--ink-soft);text-align:center;margin:.4rem 0 0;font-size:.78rem;line-height:1.55}.avatar-body{transform-box:border-box;transform-origin:50% 88%;transition:transform .26s var(--ease-out);position:absolute;inset:0}.avatar-art{transform-box:border-box;transform-origin:50%;transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .32s var(--ease-out), filter .32s var(--ease-out)}.avatar-art:focus-visible{outline-offset:7px;border-radius:50%;outline:3px solid #2f4bc7b8}.avatar-aura,.avatar-aura-ring,.avatar-aura-sparks{opacity:0;transform-box:fill-box;transform-origin:50%;transition:opacity .4s var(--ease-out)}.avatar-aura-ring{fill:none;stroke:#85d4ffd9;stroke-width:2.4px;stroke-dasharray:10 14;filter:blur(.4px)}.avatar-aura-sparks circle{fill:#cfeaff}.avatar-preview.fx-glow .avatar-aura{opacity:1;animation:2.6s ease-in-out infinite avatar-breathe}.avatar-preview.fx-glow .avatar-aura-ring{opacity:1;animation:2.6s ease-in-out infinite avatar-halo}.avatar-preview.fx-glow .avatar-aura-sparks{opacity:1;animation:1.9s ease-in-out infinite avatar-twinkle}.avatar-preview.fx-glow .avatar-art{filter:drop-shadow(0 0 1.1rem #7ac7ffd9)drop-shadow(0 .9rem 1.2rem #2b1e162e)}.avatar-preview.fx-float .avatar-body{animation:3.4s ease-in-out infinite avatar-float}.avatar-preview.is-cheering .avatar-body{animation:avatar-cheer .42s var(--ease-out)}.avatar-preview.is-patting .avatar-body{animation:avatar-pat 1s var(--ease-out)}.avatar-preview.fx-expression .avatar-art{cursor:pointer}.avatar-bubble-card{z-index:3;color:var(--brand-ink);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .18s var(--ease-out), transform .22s var(--ease-out);background:#ffffffeb;border:1px solid #2f4bc72e;border-radius:999px;padding:.4rem .85rem;position:absolute;top:1.2rem;left:50%;transform:translate(-50%,5px)scale(.96);box-shadow:0 .6rem 1.4rem #2f4bc72e}.avatar-bubble-card.is-visible{opacity:1;transform:translate(-50%)scale(1)}.avatar-bubble{color:var(--brand-ink);font-size:.78rem;font-weight:700}.avatar-sparkles{pointer-events:none;position:absolute;inset:0}.avatar-sparkles span{color:var(--brand-cyan);opacity:0;font-size:.9rem;position:absolute;top:50%;left:50%}.avatar-sparkles.is-bursting span{animation:sparkle-burst .6s var(--ease-out)}.avatar-sparkles span:first-child{--sx:-62px;--sy:-54px}.avatar-sparkles span:nth-child(2){--sx:58px;--sy:-62px;color:var(--brand-peri)}.avatar-sparkles span:nth-child(3){--sx:-54px;--sy:48px;color:var(--brand-peri)}.avatar-sparkles span:nth-child(4){--sx:62px;--sy:42px}.effect-orbit{border:0;margin:0;padding:0;display:contents}.effect-chip{border:1px solid var(--line);cursor:pointer;transition:border-color .2s var(--ease-out), background .2s var(--ease-out), transform .2s var(--ease-out), box-shadow .2s var(--ease-out);background:#ffffffdb;border-radius:.85rem;align-items:flex-start;gap:.55rem;padding:.6rem .75rem;display:flex;position:relative}.effect-chip:hover{border-color:#2f4bc76b;transform:translateY(-2px)}.effect-chip:has(input:checked){border-color:var(--accent-wire);background:#e9f2fdf2;box-shadow:0 .6rem 1.4rem #2f4bc724}.effect-chip:has(input:focus-visible){outline:2px solid var(--accent-wire);outline-offset:2px}.effect-chip input{opacity:0;width:1px;height:1px;position:absolute}.effect-chip-mark{width:1.25rem;height:1.25rem;color:var(--accent-wire);border:1px solid #2f4bc766;border-radius:50%;flex:none;place-items:center;margin-top:.1rem;font-size:.6rem;line-height:1;display:inline-grid}.effect-chip:has(input:checked) .effect-chip-mark{background:var(--accent-wire);border-color:var(--accent-wire);color:#fff}.effect-chip-copy{gap:.15rem;display:grid}.effect-chip-label{color:var(--brand-ink);font-size:.88rem;font-weight:650;line-height:1.35}.effect-chip-description{color:var(--ink-soft);font-size:.74rem;line-height:1.5}.effect-chip--1{grid-area:top-left}.effect-chip--2{grid-area:top-right}.effect-chip--3{grid-area:mid-left}.effect-chip--4{grid-area:mid-right}.effect-chip--5{grid-area:bot-left}.effect-chip--6{grid-area:bot-right}.upgrade-trail-stage,.upgrade-pet-stage{grid-template-columns:minmax(12rem,20rem) minmax(0,1fr);align-items:start;gap:clamp(1rem,2.4vw,2rem);display:grid}.trail-preview{border:1px dashed var(--line-strong);background:radial-gradient(circle at 50% 40%,#7ba4f029,#0000 65%),#e9f2fd80;border-radius:1rem;min-height:12rem;position:relative;overflow:hidden}.trail-preview canvas{width:100%;height:12rem;display:block}.trail-preview-label,.pet-preview-label{color:var(--ink-soft);text-align:center;pointer-events:none;margin:0;font-size:.75rem;position:absolute;inset:auto 0 .6rem}.pet-diorama{background:radial-gradient(60% 42% at 50% 8%,#ffe2b080,#0000 70%),radial-gradient(80% 50% at 50% 92%,#7858a057,#0000 72%),linear-gradient(#2a2440 0%,#38304f 40%,#241f34 78%,#1a1626 100%);border-radius:1.1rem;min-height:17rem;position:relative;overflow:hidden;box-shadow:inset 0 0 4rem #0a0812a6,inset 0 -1rem 2.4rem #0a081280,0 1.4rem 2.6rem #22183847}.pet-diorama:before{content:"";clip-path:polygon(34% 0,66% 0,100% 100%,0 100%);filter:blur(6px);pointer-events:none;background:linear-gradient(#ffe2b257,#ffd0940f 62%,#0000 100%);width:78%;height:82%;position:absolute;top:-6%;left:50%;transform:translate(-50%)}.pet-diorama:after{content:"";pointer-events:none;background:radial-gradient(#ffd69e57,#0000 70%);border-radius:50%;width:13rem;height:3.4rem;position:absolute;bottom:2.1rem;left:50%;transform:translate(-50%)}.pet-diorama-scene{perspective:800px;place-items:center;height:17rem;display:grid;position:relative}.pet-lamp-glow{pointer-events:none;background:radial-gradient(circle,#ffe2b29e,#ffbe7e33 44%,#0000 68%);border-radius:50%;width:16rem;height:16rem;animation:6.5s ease-in-out infinite lamp-flicker;position:absolute;top:-24%;left:50%;transform:translate(-50%)}.pet-island{width:10.8rem;height:5rem;transform-style:preserve-3d;position:absolute;bottom:2.35rem;left:50%;transform:translate(-50%)rotateX(4deg)}.pet-island-top{z-index:2;background:linear-gradient(#a8e6b4 0%,#74c48c 46%,#4b9463 100%);border-radius:50%;height:1.35rem;position:relative;box-shadow:0 .3rem .55rem #121a146b,inset 0 .18rem .3rem #e2ffe299,inset 0 -.2rem .4rem #204e305c}.pet-island-top:after{content:"";background:radial-gradient(circle at 18% 60%,#93dd9f 0 2px,#0000 3px),radial-gradient(circle at 34% 40%,#a8eab2 0 1.6px,#0000 2.6px),radial-gradient(circle at 62% 66%,#86d295 0 2px,#0000 3px),radial-gradient(circle at 82% 44%,#9fe3ab 0 1.6px,#0000 2.6px);border-radius:50%;height:.6rem;position:absolute;inset:.1rem 0 auto}.pet-island-body{z-index:1;clip-path:polygon(0 0,100% 0,88% 26%,76% 54%,63% 78%,54% 94%,50% 100%,46% 94%,37% 78%,24% 54%,12% 26%);background:linear-gradient(96deg,#ffd69e3d 0%,#0000 34%),linear-gradient(#7d6650 0%,#5b4836 34%,#40311f 70%,#2a2014 100%);width:9.6rem;height:4.1rem;margin:-.4rem auto 0;position:relative}.pet-island-body:after{content:"";background:repeating-linear-gradient(178deg,#ffeccd17 0 2px,#0000 2px 11px),radial-gradient(at 30% 26%,#ffe2b233,#0000 56%);position:absolute;inset:0}.pet-figure{z-index:3;filter:drop-shadow(0 .85rem .7rem #0a07108c);width:9.6rem;transition:transform .2s var(--ease-out);cursor:pointer;margin-bottom:-2.6rem;position:relative}.pet-figure svg{width:100%;height:auto;overflow:visible}[data-pet-shape][data-hidden]{display:none}.pet-body-group{transform-box:fill-box;transform-origin:bottom;animation:3.6s ease-in-out infinite pet-idle}.pet-figure.is-jumping .pet-body-group{animation:pet-jump .46s var(--ease-out)}.pet-fireflies span{background:#ffd79a;border-radius:50%;width:.35rem;height:.35rem;animation:5s ease-in-out infinite firefly;position:absolute;box-shadow:0 0 .65rem .22rem #ffc88299}.pet-fireflies span:first-child{animation-delay:0s;top:26%;left:16%}.pet-fireflies span:nth-child(2){animation-delay:1.4s;top:38%;right:15%}.pet-fireflies span:nth-child(3){animation-delay:2.6s;bottom:30%;left:24%}.pet-diorama .pet-preview-label{color:#fff4e2d1;text-shadow:0 1px 3px #0c0814bf}.upgrade-pet-details{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem;margin:1rem 0;display:grid}.choice-grid--pet-actions legend,.choice-grid--pet-types legend,.choice-grid--cursor-effects legend{color:var(--ink-soft);margin-bottom:.6rem;font-size:.8rem}.roadshow-card{border:1px solid var(--line);background:#e9f2fd80;border-radius:.9rem;margin-top:1.4rem;padding:1rem 1.15rem}.upgrade-checklist h4,.roadshow-card h4{margin:0 0 .6rem;font-size:.95rem}.upgrade-checklist ul{color:var(--ink-muted);gap:.4rem;margin:0;padding-left:1.2rem;font-size:.86rem;line-height:1.6;display:grid}.roadshow-output{border:1px solid var(--line);color:var(--brand-ink);font-family:var(--font-sans);white-space:pre-wrap;background:#fff;border-radius:.7rem;margin:0 0 .8rem;padding:.9rem 1rem;font-size:.88rem;line-height:1.85;overflow-x:auto}.lesson-next-link{color:var(--accent-wire);border-bottom:1px solid #2f4bc759;font-size:.86rem;font-weight:600;text-decoration:none;display:inline-block}.lesson-next-link:hover,.lesson-next-link:focus-visible{border-bottom-color:var(--accent-wire)}@keyframes avatar-breathe{0%,to{opacity:.22;transform:scale(.86)}50%{opacity:1;transform:scale(1.14)}}@keyframes avatar-halo{0%,to{opacity:.18;transform:scale(.9)rotate(0)}50%{opacity:.95;transform:scale(1.06)rotate(24deg)}}@keyframes avatar-twinkle{0%,to{opacity:.15;transform:scale(.9)}45%{opacity:1;transform:scale(1.25)}}@keyframes avatar-float{0%,to{transform:translateY(2px)rotate(-.6deg)}50%{transform:translateY(-12px)rotate(.6deg)}}@keyframes avatar-blink{0%,62%,68%,84%,86%,to{transform:scaleY(1)}64%,66%{transform:scaleY(.06)}82%{transform:scaleY(.06)}}@keyframes avatar-cheer{0%,to{transform:scale(1)rotate(0)translateY(0)}22%{transform:scale(1.07)rotate(-3.4deg)translateY(-5px)}52%{transform:scale(1.03)rotate(3deg)translateY(-2px)}78%{transform:scale(1.05)rotate(-1.4deg)}}@keyframes avatar-pat{0%,to{transform:translateY(0)scale(1)rotate(0)}18%{transform:translateY(4px)scale(.97)rotate(-1.2deg)}46%{transform:translateY(-11px)scale(1.06)rotate(1.6deg)}72%{transform:translateY(-2px)scale(1.01)rotate(-.8deg)}}@keyframes pet-idle{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-2.5px)scale(1.014)}}@keyframes lamp-flicker{0%,to{opacity:.72}38%{opacity:1}62%{opacity:.84}81%{opacity:.96}}@keyframes firefly{0%,to{opacity:.22;transform:translateY(0)scale(.85)}40%{opacity:1;transform:translateY(-9px)scale(1.15)}70%{opacity:.5;transform:translateY(-3px)scale(.95)}}@keyframes pet-jump{0%,to{transform:translateY(0)scale(1)}14%{transform:translateY(3px)scale(1.07,.9)}42%{transform:translateY(-19px)scale(.96,1.06)}68%{transform:translateY(-3px)scale(1.02,.99)}84%{transform:translateY(2px)scale(1.05,.95)}}@keyframes sparkle-burst{0%{opacity:0;transform:translate(0)scale(.4)}30%{opacity:1}to{opacity:0;transform:translate(var(--sx), var(--sy)) scale(1.15)}}@media (width<=62rem){.avatar-orbit{grid-template-columns:minmax(0,1fr) minmax(13rem,18rem) minmax(0,1fr);gap:.55rem .7rem}.effect-chip-description{display:none}}@media (width<=48rem){.avatar-orbit{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"preview preview""top-left top-right""mid-left mid-right""bot-left bot-right";gap:.6rem}.avatar-preview{padding-bottom:.2rem}.effect-chip-description{display:block}.upgrade-trail-stage,.upgrade-pet-stage{grid-template-columns:minmax(0,1fr)}.trail-preview,.pet-diorama{width:100%}.upgrade-builder .step-heading{row-gap:.5rem}.upgrade-builder .selection-limit{width:auto;margin-left:0}}@media (width<=34rem){.builder-progress{flex-wrap:wrap}.builder-progress p{text-align:left;flex:100%}.upgrade-builder{padding:.85rem}.avatar-orbit{grid-template-columns:minmax(0,1fr);grid-template-areas:"preview""top-left""top-right""mid-left""mid-right""bot-left""bot-right"}}@media (prefers-reduced-motion:reduce){.lesson-card,.avatar-art,.avatar-body,.avatar-mesh-stage,.avatar-aura,.avatar-bubble,.avatar-sparkles span,.effect-chip,.pet-figure,.pet-body-group,.pet-lamp-glow,.pet-fireflies span,.avatar-aura-ring,.avatar-aura-sparks,.trail-preview canvas{transition:none!important;animation:none!important;transform:none!important}.avatar-preview.fx-glow .avatar-mesh-stage{box-shadow:0 0 1.4rem #7ac7ff73}.avatar-bubble,.avatar-bubble-card,.avatar-sparkles span{opacity:0}.avatar-preview.fx-glow .avatar-aura{opacity:.85}.avatar-preview.fx-glow .avatar-aura-ring{opacity:.6}.avatar-preview.fx-glow .avatar-aura-sparks{opacity:.8}.avatar-eye-gaze,.avatar-mouth-frame{transition:none!important;animation:none!important}}.avatar-mesh-stage{aspect-ratio:1;border-radius:1.4rem;place-items:center;width:min(100%,22rem);display:grid;position:relative;overflow:hidden}.avatar-mesh-stage mesh-avatar{cursor:pointer;touch-action:manipulation;width:100%;height:100%;display:block}.avatar-mesh-stage mesh-avatar:focus-visible{outline-offset:4px;border-radius:1.2rem;outline:3px solid #2f4bc7b8}.avatar-mesh-fallback{color:var(--ink-soft);text-align:center;margin:0;padding:1.2rem;font-size:.82rem;line-height:1.6}.avatar-preview.fx-glow .avatar-mesh-stage{animation:2.8s ease-in-out infinite avatar-mesh-breathe;box-shadow:0 0 2.4rem #7ac7ff8c}.avatar-preview.fx-float .avatar-mesh-stage{animation:3.6s ease-in-out infinite avatar-mesh-float}.avatar-preview.fx-expression .avatar-mesh-stage mesh-avatar{cursor:pointer}.result-next{width:100%;margin-top:1rem;display:block}.result-next[hidden]{display:none}@keyframes avatar-mesh-breathe{0%,to{filter:drop-shadow(0 0 .4rem #7ac7ff4d);transform:scale(1)}50%{filter:drop-shadow(0 0 1.4rem #7ac7ffbf);transform:scale(1.018)}}@keyframes avatar-mesh-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}
