.settings-page{max-width:820px;margin:0 auto;padding:2.5rem 1.25rem 4rem}.settings-page h1{margin:0 0 1rem;font-size:clamp(2.3rem,1.7rem + 2.2vw,3.2rem)}.settings-tabs{flex-wrap:wrap;gap:.5rem;margin:1rem 0 .5rem;display:flex}.settings-tabs button{min-height:40px;color:var(--text-2);outline:1.5px dashed var(--st-soft);outline-offset:-4px;cursor:pointer;transition:transform var(--dur-1) var(--ease-spring), background var(--dur-1) var(--ease);background:#f3ead80f;border:none;border-radius:13px;padding:0 16px;font-weight:600}.settings-tabs button:hover{color:var(--text);background:#f3ead81f;transform:translateY(-2px)rotate(-1deg)}.settings-tabs button:active{transform:translateY(2px)scale(.97)}.settings-tabs button.active{background:var(--violet);color:var(--violet-ink);outline:2px dashed var(--stk);box-shadow:0 3px 0 var(--violet-lo)}.settings-card{background:var(--knit), var(--panel);outline:var(--stitch);outline-offset:-8px;border:none;border-radius:28px;margin-top:18px;padding:28px 30px}.settings-card h2{margin:0 0 .6rem;font-size:1.65rem}.settings-card p{line-height:1.6}.settings-form label{color:var(--text-2);margin:.9rem 0;font-size:.93rem;font-weight:600;display:block}.settings-form label :is(input,select,textarea){margin-top:.4rem;display:block}.settings-form .btn{margin-top:.4rem}.settings-ok{color:var(--pass);outline:1.5px dashed var(--tint-mint-border);outline-offset:-4px;background:#8fd9b61a;border-radius:14px;padding:.7rem .95rem}.settings-danger{background:var(--knit), var(--paper-coral);outline-color:#f08a8a73}.token-create{align-items:center;gap:.75rem;margin:1rem 0;display:flex}.token-create input{flex:1}.token-fresh{background:var(--knit), var(--paper-mint);outline:2px dashed var(--tint-mint-border);outline-offset:-6px;border-radius:18px;margin:1rem 0;padding:1rem 1.2rem}.token-value{align-items:center;gap:.6rem;margin:.6rem 0;display:flex}.token-value code{background:var(--panel-sunk);font:.88rem var(--mono);white-space:nowrap;border-radius:12px;flex:1;padding:.6rem .8rem;overflow-x:auto}.token-table{margin-top:.75rem;font-size:.92rem}.billing-actions{flex-wrap:wrap;gap:.75rem;margin-top:.9rem;display:flex}.pill.pill-ok,.pill.pill-warn{color:var(--mint);font:500 .78rem var(--mono);background:#8fd9b624;border:none;border-radius:9px;padding:5px 10px}.pill.pill-warn{color:var(--gold);background:#e8cf8724}.consent-row{align-items:flex-start;gap:.6rem;margin:.9rem 0;display:flex}.consent-row input[type=checkbox]{width:1.1rem;height:1.1rem;margin-top:.25rem}.avatar-picker{border-top:2px dashed #f3ead81a;margin-top:1.25rem;padding-top:1.1rem}.avatar-picker-current{--avatar-size:min(200px, 44vw);align-items:center;gap:1.25rem;margin-bottom:.9rem;display:flex}.avatar-picker-current .avatar{width:var(--avatar-size);height:var(--avatar-size);background:var(--panel-2);border:6px solid var(--frame,var(--border));border-radius:50%;justify-content:center;align-items:center;display:inline-flex;overflow:hidden;box-shadow:0 6px #00000059}.avatar-picker-current .avatar img{object-fit:cover;width:100%;height:100%}.avatar-preset-grid{flex-wrap:wrap;gap:.7rem;margin:.6rem 0 1rem;display:flex}.avatar-preset-grid button{background:var(--panel-3);outline:1.5px dashed var(--st-soft);outline-offset:-3px;cursor:pointer;width:62px;height:62px;transition:transform var(--dur-1) var(--ease-spring), box-shadow var(--dur-1) var(--ease);border:none;border-radius:50%;padding:5px;box-shadow:0 3px #16141b}.avatar-preset-grid button img{width:100%;height:100%;display:block}.avatar-preset-grid button:hover{transform:translateY(-3px)rotate(-3deg);box-shadow:0 6px #16141b}.avatar-preset-grid button:active{transform:translateY(2px)scale(.95);box-shadow:0 1px #16141b}.avatar-preset-grid button.active{background:var(--mint);outline:2px dashed var(--stk);box-shadow:0 3px 0 var(--mint-lo)}.avatar-actions{flex-wrap:wrap;gap:.7rem;margin:.6rem 0;display:flex}.avatar-upload-btn{cursor:pointer}.avatar-crop-overlay{z-index:60;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0d0c10bd;place-items:center;display:grid;position:fixed;inset:0}.avatar-crop-dialog{background:var(--knit), var(--panel);outline:var(--stitch);outline-offset:-9px;width:min(92vw,440px);box-shadow:var(--shadow-3);border-radius:30px;padding:26px 26px 24px}.avatar-crop-dialog h3{margin-top:0;font-size:1.4rem}.avatar-crop-frame{background:#000;border-radius:18px;height:min(60vw,300px);position:relative;overflow:hidden}.avatar-crop-zoom{font:500 .8rem var(--mono);color:var(--muted);align-items:center;gap:.6rem;margin:.9rem 0;display:flex}.avatar-crop-zoom input{flex:1}.avatar-crop-actions{justify-content:flex-end;gap:.7rem;display:flex}@media (max-width:560px){.settings-card{padding:22px 20px}.token-create{flex-direction:column;align-items:stretch}}@media (prefers-reduced-motion:reduce){.settings-tabs button,.avatar-preset-grid button{transition:none}.settings-tabs button:hover,.settings-tabs button:active,.avatar-preset-grid button:hover,.avatar-preset-grid button:active{transform:none}}.profile{max-width:920px;margin:0 auto;padding:2.5rem 1.5rem 4rem}.profile-head{border-radius:var(--radius-xl);outline:2px dashed var(--st);outline-offset:-10px;background:linear-gradient(#1d2140 0%,#2a2447 55%,#3a2c4a 100%);align-items:center;gap:1.5rem;margin-bottom:18px;padding:40px 44px;display:flex;position:relative;overflow:hidden}.profile-head:before{content:"";background:radial-gradient(circle at 48% 22%, var(--moon) 0 1.5px, transparent 2.5px), radial-gradient(circle at 62% 70%, var(--moon) 0 1px, transparent 2px), radial-gradient(circle at 70% 18%, var(--moon) 0 1.5px, transparent 2.5px), radial-gradient(circle at 93% 78%, var(--moon) 0 1px, transparent 2px);pointer-events:none;animation:4s ease-in-out infinite twinkle;position:absolute;inset:0}.profile-head:after{content:"";background:radial-gradient(circle at 38% 36%,#fff8e6,#f1e2bf 70%);border-radius:50%;width:78px;height:78px;position:absolute;top:30px;right:64px;box-shadow:0 0 70px 18px #f6ecd229}.profile-head>*{z-index:1;position:relative}.profile-head .role-badge{--avatar-size:96px;flex-direction:column;gap:.6rem}.profile-head .role-name{color:var(--text-2);background:#16141bb3;border-radius:9px;padding:4px 9px}.profile-id h1{margin:0}.profile-id p{font:500 .95rem var(--mono);color:var(--gold);margin:.3rem 0 0}.profile-facts{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:0;display:grid}.profile-facts>div{background:var(--knit), var(--panel);outline:var(--stitch);outline-offset:-7px;border-radius:22px;padding:18px 20px}.profile-facts dt{font:500 .78rem var(--mono);color:var(--muted)}.profile-facts dd{font:700 1.5rem/1.2 var(--display);margin:4px 0 0}.profile-facts>div:nth-child(2) dd{color:var(--gold)}@media (max-width:560px){.profile-head{flex-direction:column;align-items:flex-start;padding:30px 28px}.profile-head:after{width:56px;height:56px;top:26px;right:28px}}@media (prefers-reduced-motion:reduce){.profile-head:before{animation:none}}
.cert-sheet{--cert-paper:#fdfbf5;--cert-gold:#b08d3d;--cert-ink:#1a202c;--cert-muted:#7a7060;border-radius:var(--radius-m);background:var(--cert-paper);max-width:900px;box-shadow:var(--shadow-3);aspect-ratio:297/210;margin:0 auto;padding:10px;container-type:inline-size}.cert-frame{border:1px solid var(--cert-gold);outline:5px solid var(--cert-gold);outline-offset:4px;text-align:center;height:100%;color:var(--cert-ink);flex-direction:column;justify-content:center;align-items:center;gap:0;padding:4cqw 6cqw;display:flex}.cert-wordmark{font-family:var(--body);letter-spacing:.42em;text-indent:.42em;color:var(--cert-gold);margin:0;font-size:1.5cqw;font-weight:700}.cert-rule-short,.cert-rule-long{border:0;border-top:1px solid var(--cert-gold);margin:1.2cqw 0}.cert-rule-short{width:18%}.cert-rule-long{width:62%}.cert-heading{color:var(--cert-ink);margin:1.6cqw 0 0;font-family:Georgia,Times New Roman,serif;font-size:5.4cqw;font-style:italic;font-weight:700;line-height:1.1}.cert-ornament{align-items:center;gap:1.4cqw;margin:1.6cqw 0 2.6cqw;display:flex}.cert-ornament span{background:var(--cert-gold);width:8cqw;height:1px}.cert-ornament i{background:var(--cert-gold);width:.8cqw;height:.8cqw;transform:rotate(45deg)}.cert-lead{color:var(--cert-muted);margin:0;font-family:Georgia,Times New Roman,serif;font-size:2.1cqw}.cert-recipient{overflow-wrap:anywhere;max-width:100%;margin:1.4cqw 0 0;font-family:Georgia,Times New Roman,serif;font-size:5.6cqw;font-weight:700;line-height:1.15}.cert-subject{color:var(--cert-gold);overflow-wrap:anywhere;margin:1.2cqw 0 0;font-family:Georgia,Times New Roman,serif;font-size:3.6cqw;font-weight:700;line-height:1.2}.cert-seal{border:1.5px solid var(--cert-gold);background:repeating-conic-gradient(var(--cert-gold) 0 3deg, transparent 3deg 15deg);border-radius:50%;place-content:center;gap:0;width:11cqw;height:11cqw;margin:2.4cqw 0 0;display:grid;position:relative;overflow:hidden}.cert-seal:before{content:"";border:1px solid var(--cert-gold);background:var(--cert-paper);border-radius:50%;position:absolute;inset:1.2cqw}.cert-seal-mark,.cert-seal-year{color:var(--cert-gold);font-family:Georgia,Times New Roman,serif;line-height:1;position:relative}.cert-seal-mark{font-size:3cqw;font-weight:700}.cert-seal-year{font-family:var(--body);letter-spacing:.08em;margin-top:.5cqw;font-size:1.2cqw}.cert-signatures{justify-content:center;gap:14cqw;width:100%;margin-top:3cqw;display:flex}.cert-signatures>div{min-width:22cqw}.cert-sig-value{border-bottom:1px solid var(--cert-muted);margin:0 0 .6cqw;padding-bottom:.6cqw;font-family:Georgia,Times New Roman,serif;font-size:2.2cqw}.cert-sig-script{font-style:italic;font-weight:700}.cert-sig-label{font-family:var(--body);letter-spacing:.22em;text-transform:uppercase;color:var(--cert-muted);margin:0;font-size:1.1cqw}.cert-serial{font-family:var(--body);color:var(--cert-muted);margin:2.2cqw 0 0;font-size:1.2cqw}.cert-page{max-width:1000px;padding:var(--space-6) var(--space-4) var(--space-8);margin:0 auto}.cert-page-head{margin-bottom:var(--space-5);text-align:center}.cert-page-head h1{margin:0 0 var(--space-2);font-size:clamp(2.2rem,1.7rem + 2vw,3rem)}.cert-page .cert-sheet{outline:2px dashed var(--st);outline-offset:12px}.cert-page-actions{justify-content:center;gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.cert-shelf-heading{margin-top:var(--space-5)}.cert-shelf{background:var(--panel-sunk);outline:1.5px dashed var(--st-soft);outline-offset:-4px;border-radius:20px;margin:0;padding:6px;list-style:none;display:grid}.cert-shelf li{justify-content:space-between;align-items:center;gap:var(--space-4);transition:background var(--dur-1) var(--ease);border-radius:14px;flex-wrap:wrap;padding:14px 16px;display:flex}.cert-shelf li+li{border-top:1px solid #2a2630}.cert-shelf li:hover{background:#2a2530}.cert-shelf-id{gap:4px;min-width:0;display:grid}.cert-shelf-id .muted{font:500 .78rem var(--mono)}.cert-shelf-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.cert-kind{color:var(--mint);font:500 .75rem var(--mono);background:#8fd9b624;border-radius:9px;justify-self:start;padding:4px 9px}.cert-kind-path{color:var(--gold);background:#e8cf8724}@media print{.site-header,.site-footer,.cert-page-head,.cert-page-actions{display:none!important}.cert-page{max-width:none;padding:0}.cert-sheet{box-shadow:none;max-width:none}}.leaderboard{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;gap:0 20px;max-width:1120px;margin:0 auto;padding:2.5rem 1.5rem 4rem;display:grid}.leaderboard>h1,.leaderboard>.fail,.stats-dashboard{grid-column:1/-1}.leaderboard>.lb-table-wrap:first-of-type{grid-row:span 2}.stats-dashboard{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin:.75rem 0 24px;display:grid}.stat-card{outline:var(--stitch);outline-offset:-7px;border:none;border-radius:22px;flex-direction:column-reverse;justify-content:flex-end;gap:4px;padding:18px 20px;display:flex}.stat-value{font:700 2rem/1.1 var(--display);color:var(--gold)}.stat-card:nth-child(4n+2) .stat-value{color:var(--mint)}.stat-card:nth-child(4n+3) .stat-value{color:var(--violet)}.stat-card:nth-child(4n+4) .stat-value{color:var(--coral)}.stat-label{font:500 .78rem var(--mono);color:var(--muted)}.lb-table-wrap{background:var(--knit), var(--panel);outline:var(--stitch);outline-offset:-8px;border-radius:28px;margin-bottom:20px;padding:26px 26px 22px}.lb-table-wrap h2{margin:0 0 .3rem;font-size:1.6rem}.lb-table-wrap .window{font:500 .78rem var(--mono);color:var(--muted);margin:0 0 1rem}.lb-table tbody tr{transition:background var(--dur-1) var(--ease)}.lb-table tbody tr:hover{background:#2a2530}.lb-table .rank{text-align:center;width:3rem;color:var(--dim);font-variant-numeric:tabular-nums}.lb-table td.rank{font:700 1.35rem var(--display)}.lb-table tbody tr:first-child td.rank{color:var(--gold);font-size:1.6rem}.lb-table tbody tr:nth-child(2) td.rank{color:var(--moon)}.lb-table tbody tr:nth-child(3) td.rank{color:var(--coral)}.lb-table .xp{text-align:right;font:500 .95rem var(--mono);color:var(--gold);font-variant-numeric:tabular-nums}.lb-table th.xp{color:var(--dim);font-size:.78rem}.lb-table .learner .name{font-weight:700}.lb-table .learner{align-items:center;gap:.6rem;display:flex}.lb-table .learner .name,.author-link .name,.review-author .name{font-weight:700}@media (max-width:900px){.leaderboard{grid-template-columns:minmax(0,1fr)}.leaderboard>.lb-table-wrap:first-of-type{grid-row:auto}}@media (max-width:560px){.lb-table-wrap{padding:22px 18px}}
.btn{--btn:var(--panel-3);--btn-lo:#16141b;--btn-ink:var(--text);--btn-stitch:var(--st-soft);border-radius:var(--radius-m);min-height:42px;color:var(--btn-ink);background:var(--btn);font-family:var(--body);box-shadow:0 4px 0 var(--btn-lo);outline:2px dashed var(--btn-stitch);outline-offset:-5px;transition:transform var(--dur-1) var(--ease-spring), box-shadow var(--dur-1) var(--ease), background var(--dur-1) var(--ease), filter var(--dur-1) var(--ease);border:none;justify-content:center;align-items:center;gap:.45rem;padding:0 1.1rem;font-size:.95rem;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex}.btn:hover{color:var(--btn-ink);box-shadow:0 7px 0 var(--btn-lo);text-decoration:none;transform:translateY(-3px)rotate(-1.5deg)}.btn:nth-of-type(2n):hover{transform:translateY(-3px)rotate(1.5deg)}.btn:active{box-shadow:0 1px 0 var(--btn-lo);transform:translateY(3px)scale(.96)}.btn:focus-visible{outline:2px dashed var(--btn-stitch);box-shadow:0 4px 0 var(--btn-lo), 0 0 0 3px var(--bg), 0 0 0 5px var(--mint)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;box-shadow:0 4px 0 var(--btn-lo);transform:none}.btn.primary{--btn:var(--violet);--btn-lo:var(--violet-lo);--btn-ink:var(--violet-ink);--btn-stitch:var(--stk)}.btn.gold{--btn:var(--gold);--btn-lo:var(--gold-lo);--btn-ink:var(--gold-ink);--btn-stitch:var(--stk)}.btn.coral{--btn:var(--coral);--btn-lo:var(--coral-lo);--btn-ink:var(--coral-ink);--btn-stitch:var(--stk)}.btn.violet{--btn:var(--violet);--btn-lo:var(--violet-lo);--btn-ink:var(--violet-ink);--btn-stitch:var(--stk)}.btn.ghost{--btn:#f3ead814;--btn-stitch:#f3ead84d;box-shadow:none}.btn.ghost:hover{--btn:#f3ead824;box-shadow:none;transform:translateY(-2px)rotate(1deg)}.btn.ghost:active{box-shadow:none;transform:translateY(2px)scale(.97)}.btn.danger{--btn:#f08a8a1f;--btn-ink:var(--fail);--btn-stitch:#f08a8a80;box-shadow:none}.btn.danger:hover{--btn:#f08a8a33;box-shadow:none}.btn.sm{min-height:34px;box-shadow:0 3px 0 var(--btn-lo);outline-offset:-4px;border-radius:11px;padding:0 .8rem;font-size:.85rem}.btn.sm:hover{box-shadow:0 5px 0 var(--btn-lo)}.btn.sm:active{box-shadow:0 1px 0 var(--btn-lo);transform:translateY(2px)scale(.96)}.btn.ghost.sm,.btn.danger.sm,.btn.ghost.sm:hover,.btn.danger.sm:hover{box-shadow:none}.btn.lg{outline-offset:-6px;border-radius:17px;min-height:50px;padding:0 1.4rem;font-size:1rem}.btn.candy,.btn.shell{--btn:var(--mint);--btn-lo:var(--mint-lo);--btn-ink:var(--mint-ink);--btn-stitch:var(--stk);outline-offset:-6px;min-height:50px;box-shadow:0 5px 0 var(--btn-lo), var(--glow-shell);border-radius:17px;padding:0 1.5rem;font-size:1rem}.btn.candy:hover,.btn.shell:hover{box-shadow:0 9px 0 var(--btn-lo), 0 24px 36px -12px #8fd9b6a6;transform:translateY(-4px)rotate(-1.5deg)}.btn.candy:active,.btn.shell:active{box-shadow:0 1px 0 var(--btn-lo);transform:translateY(5px)scale(.96)}.btn.candy.gold{--btn:var(--gold);--btn-lo:var(--gold-lo);--btn-ink:var(--gold-ink);box-shadow:0 5px 0 var(--btn-lo), var(--glow-gold)}.btn.candy.xl{outline-offset:-7px;border-radius:20px;min-height:58px;padding:0 1.75rem;font-size:1.12rem}.btn.quiet{--btn:transparent;--btn-ink:var(--text-2);--btn-stitch:transparent;box-shadow:none;font-weight:600}.btn.quiet:hover{--btn:var(--panel-2);--btn-ink:var(--text);box-shadow:none;transform:none}.btn.quiet:active{box-shadow:none;transform:scale(.97)}.card{border-radius:var(--radius-l);background:var(--grad-panel);color:var(--text);outline:var(--stitch);outline-offset:-8px;box-shadow:none;transition:transform var(--dur-2) var(--ease-spring), background var(--dur-1) var(--ease);border:none;padding:1.5rem;display:block}a.card:hover,.card.hoverable:hover{color:var(--text);text-decoration:none;transform:translateY(-6px)rotate(-1deg)}a.card:nth-child(2n):hover,.card.hoverable:nth-child(2n):hover{transform:translateY(-6px)rotate(1deg)}.course-card,.tg-card,.arcade-card,.stat-card,.path-course{--text:var(--paper-ink);--muted:var(--paper-ink-muted);background:var(--knit), var(--panel);color:var(--paper-ink);border-color:#0000}.course-card,.tg-card,.arcade-card{outline:var(--stitch);outline-offset:-8px;position:relative}.eyebrow{font-family:var(--mono);letter-spacing:0;text-transform:none;color:var(--gold);outline-offset:-4px;box-shadow:none;background:#e8cf8724;border:none;border-radius:12px;outline:1.5px dashed #e8cf8773;align-items:center;gap:.5rem;padding:.4rem .85rem;font-size:.8rem;font-weight:500;display:inline-flex}.yarn-track{background:var(--yarn-track);border-radius:7px;height:14px;overflow:hidden;box-shadow:inset 0 2px 3px #0006}.yarn-fill{border-radius:inherit;background:var(--yarn-mint);height:100%;transition:width var(--dur-3) var(--ease);background-size:32px 100%;animation:1.2s linear infinite yarn}.yarn-fill.violet{background:var(--yarn-violet);background-size:32px 100%}.yarn-fill.gold{background:var(--yarn-gold);background-size:32px 100%}.yarn-fill.coral{background:var(--yarn-coral);background-size:32px 100%}.stitch-bubble{color:var(--text);outline-offset:-5px;background:#2f2a37;border-radius:20px 20px 20px 6px;outline:1.5px dashed #c6aef073;padding:12px 15px;font-size:.95rem;line-height:1.5;animation:3.6s ease-in-out infinite bob}.chip{background:var(--panel-3);color:var(--muted);font:500 .78rem var(--mono);border-radius:9px;align-items:center;gap:6px;padding:5px 10px;display:inline-flex}.chip.gold{color:var(--gold);background:#e8cf8724}.chip.mint{color:var(--mint);background:#8fd9b624}.chip.violet{color:var(--violet);background:#c6aef024}.chip.coral{color:var(--coral);background:#f0b08e24}.firefly{background:var(--firefly);pointer-events:none;border-radius:50%;width:5px;height:5px;animation:8s ease-in-out infinite fly;position:absolute;box-shadow:0 0 12px 4px #e8f7a099}.star{background:var(--moon);pointer-events:none;border-radius:50%;width:3px;height:3px;animation:3.4s infinite twinkle;position:absolute}@media (prefers-reduced-motion:reduce){.brand-mark .gm-cursor{animation:none}.nav-toggle span{transition:none}.btn,.btn:hover,.btn:active,.card,a.card:hover,.card.hoverable:hover{transition:none;transform:none}.yarn-fill,.stitch-bubble,.firefly,.star{animation:none}button:not(.verify-banner-close),button:not(.verify-banner-close):hover,button:not(.verify-banner-close):active{transition:none;transform:none}.toggle .toggle-knob{transition:none}}
:is(.gc-field,.auth-form,.contact-form,.catalog-filters,.community-filter,.review-composer,.new-thread,.new-guild,.composer,.settings-form,.token-create,.modal-confirm-text,.admin-page) :is(input:not([type=checkbox],[type=radio],[type=file],[type=range]),select,textarea),input.gc-field,select.gc-field,textarea.gc-field{background:var(--panel-2);width:100%;min-height:46px;color:var(--text);font:500 .98rem var(--body);outline-offset:-5px;transition:outline-color var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease), background var(--dur-1) var(--ease);border:none;border-radius:15px;outline:1.5px dashed #f3ead826;padding:.7rem .95rem;box-shadow:inset 0 2px 4px #00000040}:is(.gc-field,.auth-form,.contact-form,.review-composer,.new-thread,.new-guild,.composer) textarea,textarea.gc-field{resize:vertical;min-height:96px;line-height:1.55}:is(.gc-field,.contact-form,.catalog-filters,.community-filter,.review-composer,.new-thread,.settings-form,.admin-page) select:not([multiple]),select.gc-field:not([multiple]){appearance:none;cursor:pointer;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1.5 1.5 6 6l4.5-4.5' fill='none' stroke='%23e8cf87' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 1rem center / 12px 8px no-repeat, var(--panel-2);padding-right:2.6rem}:is(.gc-field,.auth-form,.contact-form,.catalog-filters,.community-filter,.review-composer,.new-thread,.new-guild,.composer,.settings-form,.token-create,.modal-confirm-text,.admin-page) :is(input,select,textarea)::placeholder,.gc-field::placeholder{color:var(--dim)}:is(.gc-field,.auth-form,.contact-form,.catalog-filters,.community-filter,.review-composer,.new-thread,.new-guild,.composer,.settings-form,.token-create,.modal-confirm-text,.admin-page) :is(input,select,textarea):hover:not(:disabled),.gc-field:hover:not(:disabled){outline-color:#f3ead847}:is(.gc-field,.auth-form,.contact-form,.catalog-filters,.community-filter,.review-composer,.new-thread,.new-guild,.composer,.settings-form,.token-create,.modal-confirm-text,.admin-page) :is(input,select,textarea):focus,.gc-field:focus{outline:2px dashed var(--mint);outline-offset:-5px;background-color:#2a2632;box-shadow:inset 0 2px 4px #00000040,0 0 0 3px #8fd9b629}:is(.auth-form,.contact-form,.settings-form,.review-composer) :is(input,select,textarea):disabled{opacity:.6;cursor:not-allowed}:is(.settings-form,.consent-row,.contact-form) input[type=checkbox],input[type=range]{accent-color:var(--mint)}.lb-table,.token-table{border-collapse:separate;border-spacing:0;outline-offset:-5px;background:#191720;border-radius:16px;outline:1.5px dashed #f3ead824;width:100%;overflow:hidden}:is(.lb-table,.token-table) :is(th,td){text-align:left;padding:.7rem .95rem}:is(.lb-table,.token-table) td{border-top:1px solid #2a2630}:is(.lb-table,.token-table) th{font:500 .78rem var(--mono);color:var(--dim)}.btn.danger-solid{--btn:var(--fail);--btn-lo:#c46464;--btn-ink:#2b0f0f;--btn-stitch:var(--stk)}.btn.sky{--btn:var(--sky);--btn-lo:#6a86c9;--btn-ink:#121a2e;--btn-stitch:var(--stk)}.toggle-row{justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.toggle-row+.toggle-row{border-top:1px solid #2a2630}.toggle-text{flex-direction:column;gap:3px;display:flex}.toggle-label{font-weight:700}.toggle-desc{color:var(--muted);font-size:.88rem;line-height:1.5}.toggle{background:var(--panel-sunk);outline:1.5px dashed var(--st-soft);outline-offset:-3px;cursor:pointer;width:54px;height:32px;transition:background var(--dur-1) var(--ease);border:none;border-radius:999px;flex:none;padding:4px;box-shadow:inset 0 2px 4px #00000073}.toggle .toggle-knob{background:var(--muted);width:24px;height:24px;transition:transform .28s var(--ease-spring), background var(--dur-1) var(--ease);border-radius:50%;display:block;box-shadow:0 2px #6f6759}.toggle.on{background:var(--mint);outline-color:var(--stk);box-shadow:inset 0 2px 3px #0003}.toggle.on .toggle-knob{background:var(--moon);box-shadow:0 2px 0 var(--mint-lo);transform:translate(22px)}.toggle:focus-visible{outline:2px dashed var(--mint);outline-offset:3px}.toggle:disabled{opacity:.5;cursor:not-allowed}.modal-backdrop{z-index:60;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0d0c10bd;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--knit), var(--panel);outline:var(--stitch);outline-offset:-9px;width:min(460px,100%);box-shadow:var(--shadow-3);border:none;border-radius:30px;padding:28px 28px 26px}.modal:focus{outline:var(--stitch);outline-offset:-9px}.modal h2{margin:0 0 12px;font-size:1.6rem}.modal-body{color:var(--text-2);font-size:.97rem;line-height:1.6}.modal-body p{margin:0 0 8px}.modal-confirm-text{color:var(--text-2);margin-top:14px;font-size:.9rem;display:block}.modal-confirm-text code{background:var(--panel-3);font:.88em var(--mono);border-radius:6px;padding:2px 6px}.modal-confirm-text input{margin-top:8px;display:block}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:22px;display:flex}.modal-actions button,.modal-link{--mb:var(--panel-3);--mb-lo:#16141b;--mb-ink:var(--text);--mb-st:var(--st-soft);background:var(--mb);min-height:42px;color:var(--mb-ink);font:700 .95rem var(--body);cursor:pointer;box-shadow:0 4px 0 var(--mb-lo);outline:2px dashed var(--mb-st);outline-offset:-5px;transition:transform var(--dur-1) var(--ease-spring), box-shadow var(--dur-1) var(--ease);border:none;border-radius:14px;align-items:center;padding:0 1.1rem;text-decoration:none;display:inline-flex}.modal-actions .modal-primary,.modal-link.modal-primary{--mb:var(--mint);--mb-lo:var(--mint-lo);--mb-ink:var(--mint-ink);--mb-st:var(--stk)}.modal-actions .modal-danger{--mb:var(--fail);--mb-lo:#c46464;--mb-ink:#2b0f0f;--mb-st:var(--stk)}.modal-actions button:hover:not(:disabled),.modal-link:hover{color:var(--mb-ink);box-shadow:0 7px 0 var(--mb-lo);text-decoration:none;transform:translateY(-3px)rotate(-1.5deg)}.modal-actions button:active:not(:disabled),.modal-link:active{box-shadow:0 1px 0 var(--mb-lo);transform:translateY(3px)scale(.96)}.modal-actions button:disabled{opacity:.5;cursor:not-allowed}@media (prefers-reduced-motion:reduce){.modal-actions button,.modal-link,.toggle,.toggle .toggle-knob{transition:none}.modal-actions button:hover:not(:disabled),.modal-actions button:active:not(:disabled),.modal-link:hover,.modal-link:active{transform:none}}
.dashboard{max-width:1360px;margin:0 auto;padding:12px 40px 72px}.dash-grid{grid-template-columns:minmax(0,1fr) 420px;gap:24px;display:grid}.dash-side{flex-direction:column;gap:16px;min-width:0;display:flex}.dash-room{border-radius:var(--radius-xl);outline:var(--stitch);outline-offset:-10px;background:linear-gradient(#2a2233 0%,#2f2638 62%,#3a2e3c 62%,#33283a 100%);min-height:620px;position:relative;overflow:hidden}.dash-room-head{z-index:3;position:absolute;top:44px;left:52px;right:52px}.dash-when{font:500 13px var(--mono);color:var(--gold);margin:0}.dash-room-head h1{text-wrap:balance;margin:8px 0 0;font-size:48px;line-height:1.02}.dash-window{background:linear-gradient(#1d2140,#2e2a4f);border:10px solid #4a3a48;border-radius:95px 95px 18px 18px;width:190px;height:168px;position:absolute;top:40px;right:44px;overflow:hidden}.dash-moon{background:var(--moon);border-radius:50%;width:44px;height:44px;position:absolute;top:34px;right:36px;box-shadow:0 0 30px 6px #f6ecd240}.dash-mullion{background:#4a3a48;width:6px;margin-left:-3px;position:absolute;top:0;bottom:0;left:50%}.dash-window .dash-window-star{background:#fff;animation-duration:3s;top:60px;left:40px}.dash-rug{outline-offset:-12px;background:repeating-radial-gradient(#5a3d55 0 8px,#4d3449 8px 16px);border-radius:50%;outline:2px dashed #f0b08e66;width:560px;height:110px;margin-left:-280px;position:absolute;bottom:28px;left:50%}.dash-room .dash-bubble{z-index:3;max-width:230px;margin:0;padding:14px 16px;position:absolute;top:200px;left:52px}.dash-handheld{z-index:2;width:320px;position:absolute;bottom:62px;left:55%;translate:-50%}.dash-handheld .gdevice{filter:drop-shadow(0 18px 18px #0a060e73)}.dash-pet-skeleton{background:linear-gradient(100deg, var(--panel-2) 40%, var(--panel-3) 50%, var(--panel-2) 60%);background-size:200% 100%;border-radius:50% 50% 46% 46%/58% 58% 42% 42%;width:170px;height:200px;margin-left:-85px;animation:1.4s ease-in-out infinite dash-shimmer;position:absolute;bottom:80px;left:50%}@keyframes dash-shimmer{0%{background-position:130% 0}to{background-position:-30% 0}}.dash-room .seasonal-overlay .corner-pumpkin{width:52px;bottom:96px;right:44px}.dash-room .seasonal-overlay .sun-badge{display:none}.dash-room-foot{z-index:3;justify-content:space-between;align-items:center;gap:12px;display:flex;position:absolute;bottom:26px;left:30px;right:30px}.dash-room-chips,.dash-room-actions{gap:8px;display:flex}.dash-room-chip{white-space:nowrap;background:#16141bbf;border-radius:12px;padding:8px 12px;font-size:13px;font-weight:600}.dash-hearts{color:var(--coral);letter-spacing:.04em}.dash-heart-half{display:inline-block;position:relative}.dash-heart-half>span{position:absolute;inset:0 50% 0 0;overflow:hidden}.dash-room-actions .btn{padding:0 16px;font-size:14px}.dash-jump{background:var(--knit), var(--paper-mint);color:var(--text);outline:2px dashed var(--tint-mint-border);outline-offset:-8px;transition:transform var(--dur-2) var(--ease-spring);border-radius:28px;flex-direction:column;padding:24px;display:flex}a.dash-jump:hover{color:var(--text);text-decoration:none;transform:translateY(-5px)rotate(-.8deg)}.dash-jump-skeleton{min-height:236px}.dash-jump-eyebrow{font:500 12px var(--mono);color:var(--mint)}.dash-jump-title{font:700 30px/1.1 var(--display);align-items:center;gap:10px;margin-top:10px;display:flex}.dash-jump-title img{flex:none}.dash-jump .dash-jump-track{background:#1a2420;margin-top:18px;display:block}.dash-jump-track .yarn-fill{display:block}.dash-jump-meta{color:#c3cfc7;justify-content:space-between;gap:12px;margin-top:10px;font-size:13px;display:flex}.dash-jump-copy{color:#c3cfc7;margin:12px 0 0;font-size:14px;line-height:1.55}.dash-jump-foot{border-top:2px dashed #8fd9b633;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:16px;display:flex}.dash-jump-next{font-size:14px}.btn.dash-jump-cta{--btn:var(--mint);--btn-lo:var(--mint-lo);--btn-ink:var(--mint-ink);--btn-stitch:var(--stk);padding:0 18px;font-size:14px}a.dash-jump:hover .dash-jump-cta{box-shadow:0 4px 0 var(--btn-lo);transform:none}
.dash-stats{grid-template-columns:1fr 1fr;gap:12px;display:grid}.dash-stat{background:var(--panel);outline:var(--stitch);outline-offset:-7px;border-radius:22px;flex-direction:column;padding:18px 20px;display:flex}.dash-stat-label{font:500 12px var(--mono);color:var(--muted)}.dash-stat-xp{font:700 34px/1.15 var(--display);color:var(--gold);margin-top:4px}.dash-stat-rank{font:700 26px/1.1 var(--display);margin-top:6px}.dash-stat-sub{color:var(--muted);font-size:12px}.dash-stat .dash-stat-track{height:6px;margin-top:8px;display:block}.dash-stat-track .yarn-fill{display:block}.dash-links{background:var(--panel);outline:var(--stitch);outline-offset:-7px;border-radius:24px;flex-direction:column;padding:10px;display:flex}.dash-link{color:var(--text);transition:background .15s var(--ease), transform var(--dur-2) var(--ease-spring);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;display:flex}.dash-link:hover{color:var(--text);background:#2a2530;text-decoration:none;transform:translate(4px)}.dash-link-name{align-items:center;gap:10px;font-weight:600;display:flex}.dash-link-hint{color:var(--muted);text-align:right;font-size:14px}.dash-dot{background:var(--mint);border-radius:50%;flex:none;width:10px;height:10px}.dashboard .t-mint{--tint:var(--mint);--tint-lo:var(--mint-lo);--tint-line:#8fd9b659}.dashboard .t-coral{--tint:var(--coral);--tint-lo:var(--coral-lo);--tint-line:#f0b08e59}.dashboard .t-violet{--tint:var(--violet);--tint-lo:var(--violet-lo);--tint-line:#c6aef059}.dashboard .t-gold{--tint:var(--gold);--tint-lo:var(--gold-lo);--tint-line:#e8cf8759}.dash-dot[class*=t-]{background:var(--tint)}.dash-paths{border-radius:var(--radius-xl);outline:var(--stitch);outline-offset:-10px;background:#1d1a22;margin-top:40px;padding:64px 40px}.dash-paths-head{justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:36px;display:flex}.dash-paths-head h2{margin:0;font-size:46px;line-height:1.05}.dash-paths-head p{max-width:48ch;color:var(--muted);margin:0;font-size:15px;line-height:1.6}.dash-path-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.dash-path{color:var(--text);outline:2px dashed var(--tint-line);outline-offset:-7px;transition:transform var(--dur-2) var(--ease-spring), background var(--dur-2) var(--ease);background:#252129;border-radius:24px;flex-direction:column;gap:12px;padding:26px;display:flex}.dash-path:hover{color:var(--text);background:#2a2530;text-decoration:none;transform:translateY(-6px)rotate(-1deg)}.dash-path:nth-child(2n):hover{transform:translateY(-6px)rotate(1deg)}.dash-path-logo{background:var(--tint);width:48px;height:48px;box-shadow:0 4px 0 var(--tint-lo);border-radius:16px;place-items:center;display:grid}.dash-path-title{font:700 26px/1.1 var(--display)}.dash-path-desc{-webkit-line-clamp:4;color:var(--muted);-webkit-box-orient:vertical;font-size:14px;line-height:1.55;display:-webkit-box;overflow:hidden}.dash-path-len{font:500 13px var(--mono);color:var(--tint);margin-top:auto;padding-top:6px}@media (max-width:1100px){.dash-grid{grid-template-columns:1fr}.dash-room{min-height:640px}.dash-side{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.dash-side>.dash-jump{grid-column:1/-1}.dash-path-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.dashboard{padding:12px 20px 56px}.dash-room{min-height:640px}.dash-room-head{top:36px;left:36px;right:36px}.dash-room-head h1{font-size:40px}.dash-window{width:170px;height:150px;top:40px;right:40px}.dash-room .dash-bubble{top:200px;left:36px}.dash-side{grid-template-columns:1fr}.dash-paths{padding:44px 28px}.dash-paths-head{flex-direction:column;align-items:flex-start;gap:12px}.dash-paths-head h2{font-size:36px}}@media (max-width:560px){.dashboard{padding:8px 12px 48px}.dash-room{outline-offset:-8px;background:linear-gradient(#2a2233 0%,#2f2638 60%,#3a2e3c 60%,#33283a 100%);border-radius:30px;min-height:600px}.dash-room-head{top:30px;left:26px;right:26px}.dash-room-head h1{font-size:32px}.dash-window{border-width:7px;width:104px;height:96px;top:128px;right:22px}.dash-moon{width:26px;height:26px;top:16px;right:14px}.dash-window .dash-window-star{top:40px;left:18px}.dash-room .dash-bubble{max-width:none;padding:12px 14px;font-size:14px;top:136px;left:22px;right:140px}.dash-rug{width:320px;height:76px;margin-left:-160px;bottom:100px}.dash-handheld{width:250px;bottom:124px;left:50%}.dash-room .seasonal-overlay .corner-pumpkin{width:40px;bottom:150px;right:20px}.dash-room-foot{flex-direction:column;align-items:stretch;gap:10px;bottom:20px;left:18px;right:18px}.dash-room-chips{justify-content:space-between}.dash-room-actions .btn{flex:1}.dash-jump{padding:22px 20px}.dash-jump-title{font-size:26px}.dash-stat-xp{font-size:30px}.dash-stat-rank{font-size:22px}.dash-link-hint{font-size:13px}.dash-paths{border-radius:30px;margin-top:28px;padding:36px 18px}.dash-paths-head h2{font-size:30px}.dash-path-grid{grid-template-columns:1fr}}@media (max-width:400px){.dash-room-head h1{font-size:28px}.dash-stat{padding:16px 18px}}@media (max-width:350px){.dash-stats{grid-template-columns:1fr}.dash-link-hint{display:none}}@media (prefers-reduced-motion:reduce){.dash-pet-skeleton{animation:none}a.dash-jump,.dash-link,.dash-path{transition:none}a.dash-jump:hover,.dash-link:hover,.dash-path:hover,.dash-path:nth-child(2n):hover{transform:none}}
.gdevice{--plastic-hi:#c4f3dc;--plastic:#8fdcb8;--plastic-lo:#5eb892;--plastic-edge:#3b8f6b;--plate-ink:color-mix(in srgb, var(--plastic-edge) 55%, #16141b);-webkit-tap-highlight-color:transparent;width:min(420px,100%);margin:0 auto;position:relative;container-type:inline-size}.gdevice-dash{width:min(330px,100%)}.gdevice-mini{width:min(230px,100%)}.gd-chain{z-index:2;pointer-events:none;height:15cqi;margin-bottom:-4.5cqi;position:relative}.gd-chain-art{filter:drop-shadow(0 1px 1px #00000073);width:12cqi;height:auto;position:absolute;bottom:0;left:50%;overflow:visible;translate:-50%}.gd-shell{aspect-ratio:100/114;background:radial-gradient(60% 40% at 32% 18%, #ffffff8c, transparent 70%), radial-gradient(120% 95% at 38% 28%, var(--plastic-hi) 0%, var(--plastic) 46%, var(--plastic-lo) 100%);box-shadow:inset 0 -2.4cqi 4cqi #00000038, inset 0 1.6cqi 2.4cqi #ffffff73, inset 0 0 0 .6cqi color-mix(in srgb, var(--plastic-edge) 55%, transparent), 0 2.4cqi 0 var(--plastic-edge), 0 7cqi 10cqi -3cqi #0009;border-radius:50% 50% 47% 47%/56% 56% 44% 44%;position:relative}.gd-shell:before{content:"";border-radius:inherit;opacity:.55;pointer-events:none;background:radial-gradient(circle,#ffffffb3 .5px,#0000 1.2px) 0 0/23px 19px,radial-gradient(circle,#ffffff73 .5px,#0000 1.1px) 11px 8px/31px 27px;position:absolute;inset:0}.gd-tab{background:radial-gradient(circle at 50% 42%, #16141b 0 1.5cqi, transparent 1.6cqi), linear-gradient(180deg, var(--plastic-hi), var(--plastic));width:11cqi;height:7cqi;box-shadow:inset 0 -.5cqi 0 var(--plastic-lo);border-radius:50% 50% 30% 30%;position:absolute;top:-2.6cqi;left:50%;translate:-50%}.gd-face{background:radial-gradient(circle, color-mix(in srgb, var(--plastic-hi) 70%, #fff) .8px, transparent 1.4px) 0 0 / 5.5cqi 5.5cqi, radial-gradient(110% 80% at 40% 20%, color-mix(in srgb, var(--plastic-hi) 60%, #fff) 0%, var(--plastic-hi) 55%, var(--plastic) 100%);box-shadow:inset 0 .5cqi .8cqi #0000002e, inset 0 -.4cqi .6cqi #ffffff80, 0 0 0 .35cqi color-mix(in srgb, var(--plastic-lo) 60%, transparent);border-radius:50% 50% 46% 46%/55% 55% 45% 45%;flex-direction:column;justify-content:center;align-items:center;gap:1.6cqi;padding:7cqi 0 3.5cqi;display:flex;position:absolute;inset:5cqi 5.5cqi 6cqi}.gd-brand{font:700 clamp(6px, 4.6cqi, 19px) / 1 var(--display);color:var(--plate-ink);letter-spacing:.02em;opacity:.85}.gd-icons{justify-content:center;gap:3.4cqi;display:flex}.gd-icon{width:9cqi;height:9cqi;color:var(--plate-ink);cursor:pointer;opacity:.72;touch-action:manipulation;transition:background var(--dur-1) var(--ease), opacity var(--dur-1) var(--ease), transform var(--dur-1) var(--ease-spring);background:0 0;border:none;border-radius:2.6cqi;place-items:center;padding:1.4cqi;display:grid}.gd-icon svg{width:100%;height:100%;display:block}.gd-icon:hover{opacity:1;transform:translateY(-.4cqi)}.gd-icon.on{opacity:1;color:#16141b;background:#ffffffb8;box-shadow:0 .5cqi #0000002e}.gd-icon.off{opacity:.4}.gd-call{cursor:default;opacity:.35}.gd-call:hover{opacity:.35;transform:none}.gd-call.on,.gd-call.on:hover{opacity:1;color:#b84a2a;box-shadow:none;background:0 0;animation:1.1s steps(2,end) infinite gd-call}@keyframes gd-call{50%{opacity:.35}}.gd-bezel{background:linear-gradient(180deg, color-mix(in srgb, var(--plastic-edge) 35%, #1d1a22), #1d1a22);border-radius:7cqi 7cqi 6cqi 6cqi;width:70cqi;padding:1.6cqi;box-shadow:0 .4cqi #ffffff73,inset 0 .5cqi 1cqi #00000080}.gd-lcd{color:#2b3a26;cursor:pointer;background:radial-gradient(90% 80% at 50% 45%,#eef3dd 0%,#dbe6c6 60%,#c4d3ad 100%);border-radius:5.4cqi 5.4cqi 4.6cqi 4.6cqi;height:47cqi;position:relative;overflow:hidden;box-shadow:inset 0 .8cqi 1.6cqi #28371e59}.gd-lcd-grid{pointer-events:none;z-index:4;background:linear-gradient(#eef3dd33 1px,#0000 1px) 0 0/3px 3px,linear-gradient(90deg,#eef3dd33 1px,#0000 1px) 0 0/3px 3px,linear-gradient(115deg,#ffffff38 0 18%,#0000 30%);position:absolute;inset:0}.gd-lcd-top{font:500 clamp(6px, 3.4cqi, 13px) / 1 var(--mono);letter-spacing:.06em;color:#2b3a26cc;pointer-events:none;z-index:3;justify-content:space-between;display:flex;position:absolute;top:2cqi;left:3.2cqi;right:3.2cqi}.gd-lcd-hearts{color:#a8433f}.gd-sprite{transition:transform .25s var(--ease-spring);justify-items:center;display:grid;position:absolute;inset:auto 0 1.5cqi}.gd-sprite .gotchi{margin-top:0}.gdevice .gd-sprite .gotchi .gotchi-svg{width:42cqi}.gdevice .gd-sprite .gotchi.is-creature,.gdevice .gd-sprite .gotchi.is-creature .gotchi-svg{width:46cqi}.gd-lcd-menu{color:#e6eed4;font:500 clamp(8px, 3.3cqi, 13px) / 1.2 var(--mono);letter-spacing:.08em;white-space:nowrap;z-index:3;background:#2b3a26;border-radius:1.4cqi;padding:.6cqi 2cqi;position:absolute;bottom:2cqi;left:50%;translate:-50%}.gd-lcd-page{font:500 clamp(8px, 3.5cqi, 14px) / 1.3 var(--mono);letter-spacing:.06em;text-align:center;z-index:3;background:#dfe8ca;flex-direction:column;justify-content:center;align-items:center;gap:1.2cqi;display:flex;position:absolute;inset:0}.gd-lcd-page b{font:700 clamp(12px, 6cqi, 24px) / 1 var(--display);letter-spacing:0}.gd-lcd-page span:last-child{color:#a8433f}.gd-lcd-dim{opacity:0;pointer-events:none;z-index:3;background:#18201466;place-items:center;transition:opacity 1.2s;display:grid;position:absolute;inset:0}.gd-lcd-dim.on{opacity:1}.gd-lcd.lights-out .gd-lcd-dim{background:#141a12d1;transition-duration:.3s}.gd-lcd-dim span{font:500 clamp(9px, 4cqi, 16px) / 1 var(--mono);color:#c9d6b3;letter-spacing:.3em;animation:2.4s ease-in-out infinite twinkle;translate:12cqi -8cqi}.gd-heart-half{display:inline-block;position:relative}.gd-heart-fill{width:55%;position:absolute;inset:0 auto 0 0;overflow:hidden}.gd-buttons{align-items:flex-start;gap:6.4cqi;margin-top:.6cqi;display:flex;position:relative}.gd-btn{cursor:pointer;touch-action:manipulation;background:0 0;border:none;justify-items:center;gap:1.2cqi;padding:0;display:grid;position:relative}.gd-btn.b{margin-top:2.4cqi}.gd-cap{width:10.5cqi;height:10.5cqi;box-shadow:0 .9cqi 0 color-mix(in srgb, var(--plastic-edge) 70%, #3a2f22), 0 0 0 .5cqi color-mix(in srgb, var(--plastic-lo) 70%, transparent), inset 0 -.5cqi .6cqi #00000026;background:radial-gradient(circle at 36% 30%,#fff 0%,#f6eedd 38%,#dccdb0 100%);border-radius:50%;transition:transform 80ms,box-shadow 80ms;display:block}.gd-btn:hover .gd-cap{background:radial-gradient(circle at 36% 30%,#fff 0%,#fbf5e8 45%,#e3d5b9 100%)}.gd-btn:active .gd-cap{box-shadow:0 .1cqi 0 color-mix(in srgb, var(--plastic-edge) 70%, #3a2f22), 0 0 0 .5cqi color-mix(in srgb, var(--plastic-lo) 70%, transparent), inset 0 .4cqi .6cqi #0003;transform:translateY(.8cqi)}.gd-btn:focus-visible{outline:none}.gd-btn:focus-visible .gd-cap{outline:2px dashed var(--plate-ink);outline-offset:.8cqi}.gd-key{font:700 clamp(6px, 3.4cqi, 13px) / 1 var(--mono);color:var(--plate-ink);opacity:.8}.gd-led{background:color-mix(in srgb, var(--plastic-edge) 70%, #16141b);border-radius:50%;width:2cqi;height:2cqi;position:absolute;top:3.6cqi;left:-4.6cqi;box-shadow:inset 0 .3cqi .3cqi #00000059}.gd-led.on{background:#ffe08a;animation:.6s steps(2,end) led-blink;box-shadow:0 0 1.8cqi .5cqi #ffe08abf}@keyframes led-blink{50%{opacity:.4}}.gd-lcd .companion-bubble{z-index:5;width:auto;max-width:60cqi;margin-inline:auto;font-size:clamp(10px,3.4cqi,13px);inset:6.5cqi 2.4cqi auto}.gd-lcd .companion-bubble:after{margin-right:-6px;right:50%}.gd-lcd .companion-hearts span{z-index:3;font-size:18px}.gd-lcd .companion-confetti{z-index:2}.gdevice .gdevice-sticker{pointer-events:none;filter:drop-shadow(0 1px 1px #0000004d);z-index:2;width:11cqi;position:absolute;bottom:13cqi;left:auto;right:6cqi;translate:none;rotate:12deg}.gdevice .gdevice-sticker svg{width:100%;height:auto;display:block}.gdevice-charm{transform-origin:50% 6%;pointer-events:none;z-index:3;width:9cqi;animation:4.5s ease-in-out infinite charm-sway;position:absolute;bottom:-10.7cqi;left:calc(50% - 2.1cqi);rotate:-55deg}.gdevice-charm svg{width:100%;height:auto;display:block;overflow:visible}.gdevice-charm .charm-strap{stroke:#a8b0bb;stroke-width:2px;stroke-linecap:round;fill:none}@keyframes charm-sway{0%,to{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}.charm-glow svg{filter:drop-shadow(0 0 4px #f0c674cc);animation:2.4s ease-in-out infinite charm-glow}@keyframes charm-glow{0%,to{opacity:.85}50%{opacity:1}}.charm-spark{--charm-orbit:14px;background:#ffe07a;border-radius:50%;width:4px;height:4px;animation:3s linear infinite charm-orbit;position:absolute;top:60%;left:50%}.charm-spark.s2{animation-delay:-1s}.charm-spark.s3{animation-delay:-2s}@keyframes charm-orbit{0%{transform:rotate(0turn) translateX(var(--charm-orbit)) scale(.5);opacity:.4}25%{transform:rotate(.25turn) translateX(var(--charm-orbit)) scale(1.2);opacity:1}50%{transform:rotate(.5turn) translateX(var(--charm-orbit)) scale(.6);opacity:.5}to{transform:rotate(1turn) translateX(var(--charm-orbit)) scale(.5);opacity:.4}}@media (prefers-reduced-motion:reduce){.gdevice-charm,.charm-glow svg,.charm-spark,.gd-led.on,.gd-call.on,.gd-lcd-dim span{animation:none}.gd-sprite,.gd-icon,.gd-cap{transition:none}.gd-icon:hover{transform:none}}.gdevice-shell-bubblegum{--plastic-hi:#ffd0e6;--plastic:#ff9dcc;--plastic-lo:#e0689f;--plastic-edge:#b94a80}.gdevice-shell-cobalt{--plastic-hi:#a9c7ff;--plastic:#6e97f0;--plastic-lo:#4468c4;--plastic-edge:#2f4fa0}.gdevice-shell-lilac{--plastic-hi:#e2d3ff;--plastic:#bfa2f5;--plastic-lo:#8d6bd0;--plastic-edge:#6c4bab}.gdevice-shell-charcoal{--plastic-hi:#7c8694;--plastic:#535c69;--plastic-lo:#353c46;--plastic-edge:#22272f}.gdevice-shell-sunset{--plastic-hi:#ffd3ab;--plastic:#ffa672;--plastic-lo:#e0744a;--plastic-edge:#b9552c}.gdevice-shell-lemon{--plastic-hi:#fff6b8;--plastic:#ffdf62;--plastic-lo:#dcb32c;--plastic-edge:#a9851a}
.hatch-overlay{z-index:70;background:#0d0c10db}.hatch-scene.hatch-choose{background:var(--knit), var(--panel);outline:var(--stitch);outline-offset:-10px;width:min(760px,100%);max-height:calc(100dvh - 32px);box-shadow:var(--shadow-3);border-radius:32px;padding:30px 26px 26px;overflow-y:auto}.hatch-scene.hatch-choose .hatch-choose-title{font-size:var(--text-2xl)}.hatch-scene{justify-items:center;gap:var(--space-4,1rem);text-align:center;display:grid}.hatch-sprite{width:min(300px,70vw);position:relative}.hatch-sprite .gotchi{width:100%}.hatch-sprite canvas{pointer-events:none;width:130%;height:auto;position:absolute;inset:50% auto auto 50%;translate:-50% -50%}.hatch-overlay.phase-wiggle .gotchi.is-egg .part-egg{animation:hatch-egg-wiggle .9s var(--ease,ease-in-out) infinite}@keyframes hatch-egg-wiggle{0%,to{transform:rotate(0)}20%{transform:rotate(-5deg)}40%{transform:rotate(4.5deg)}60%{transform:rotate(-6.5deg)}80%{transform:rotate(5.5deg)}}.hatch-overlay.phase-crack .gotchi.is-egg .part-egg{animation:hatch-egg-jolt .45s var(--ease-spring,ease-out) 2}.hatch-overlay.phase-crack .part-egg-crack path,.hatch-overlay.phase-glow .part-egg-crack path{opacity:1}.hatch-overlay.phase-crack .part-egg-crack .crack-1{animation:hatch-crack-pop .2s var(--ease,ease-out) both}.hatch-overlay.phase-crack .part-egg-crack .crack-2{animation:hatch-crack-pop .2s var(--ease,ease-out) .3s both}.hatch-overlay.phase-crack .part-egg-crack .crack-3{animation:hatch-crack-pop .2s var(--ease,ease-out) .6s both}@keyframes hatch-egg-jolt{0%,to{transform:translateY(0)}30%{transform:translateY(-7px)}60%{transform:translateY(2px)}}@keyframes hatch-crack-pop{0%{opacity:0;stroke-width:.5px}60%{opacity:1;stroke-width:3.5px}to{opacity:1;stroke-width:2.5px}}.hatch-overlay.phase-glow .gotchi.is-egg .part-egg .egg-glow{animation:hatch-glow-flare .7s var(--ease,ease-in) both}.hatch-overlay.phase-glow .gotchi.is-egg .part-egg{animation:hatch-egg-burst .7s var(--ease,ease-in) both}@keyframes hatch-glow-flare{0%{opacity:0;transform-origin:100px 102px;transform:scale(.6)}60%{opacity:1}to{opacity:1;transform-origin:100px 102px;transform:scale(1.5)}}@keyframes hatch-egg-burst{0%{filter:brightness()}to{filter:brightness(2.4)}}.hatch-overlay.phase-glow .hatch-sprite:before,.hatch-overlay.phase-reveal .hatch-sprite:before,.hatch-overlay.phase-greet .hatch-sprite:before{content:"";background:radial-gradient(circle, var(--shell-glow) 0%, transparent 65%);animation:hatch-bloom .9s var(--ease,ease-out) both;pointer-events:none;border-radius:50%;position:absolute;inset:-18%}@keyframes hatch-bloom{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.hatch-overlay.phase-reveal .gotchi:not(.is-egg),.hatch-overlay.phase-greet .gotchi:not(.is-egg){animation:hatch-reveal-pop .75s var(--ease-spring,cubic-bezier(.34, 1.56, .64, 1)) both}@keyframes hatch-reveal-pop{0%{opacity:0;transform:scale(.35)translateY(26px)}to{opacity:1;transform:scale(1)translateY(0)}}.hatch-greet{justify-items:center;gap:var(--space-4,1rem);animation:hatch-greet-in .4s var(--ease,ease-out) both;display:grid}@keyframes hatch-greet-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.hatch-bubble{max-width:32ch;color:var(--text);outline-offset:-5px;background:#2f2a37;border-radius:20px 20px 20px 6px;outline:1.5px dashed #c6aef073;margin:0;padding:14px 18px;font-size:1.05rem;line-height:1.5;box-shadow:0 16px 32px -12px #000000b3}.hatch-bubble b{color:var(--mint)}.species-picker .species-card{border-radius:var(--radius-l);background:var(--knit), var(--panel);outline:2px dashed var(--st);outline-offset:-8px;transition:transform .25s var(--ease-spring), box-shadow var(--dur-1) var(--ease);border:0;padding:12px 14px 20px}.species-picker .species-card[id=species-mossling]{background:var(--knit), var(--paper-mint);outline-color:var(--tint-mint-border)}.species-picker .species-card[id=species-emberling]{background:var(--knit), var(--paper-coral);outline-color:var(--tint-coral-border)}.species-picker .species-card[id=species-glimmer]{background:var(--knit), var(--paper-violet);outline-color:var(--tint-violet-border)}.species-picker .species-card:hover{transform:translateY(-6px)rotate(-1deg)}.species-picker .species-card:nth-child(2n):hover{transform:translateY(-6px)rotate(1deg)}.species-picker .species-card:focus-visible{outline:2px dashed var(--mint);outline-offset:-8px}.species-picker .species-card.is-selected{box-shadow:0 0 0 3px var(--bg), 0 0 0 5px var(--mint), 0 22px 34px -16px #8fd9b68c;outline-style:solid;transform:translateY(-4px)}.species-picker .species-card-name{font:700 1.4rem var(--display)}.species-picker .species-card-blurb{color:var(--paper-ink-muted)}.species-picker .species-error{color:var(--fail)}@media (max-width:640px){.species-picker .species-card{padding:18px 18px 18px 14px}}.species-prompt-backdrop{background:#0d0c10cc}.species-prompt-backdrop .modal.species-prompt{background:var(--knit), var(--panel);outline:var(--stitch);outline-offset:-10px;box-shadow:var(--shadow-3);border:0;border-radius:32px;padding:30px 26px 24px}.species-prompt-backdrop .species-prompt h2{font-size:var(--text-xl)}@media (prefers-reduced-motion:reduce){.hatch-overlay .gotchi.is-egg .part-egg,.hatch-overlay .gotchi:not(.is-egg),.hatch-overlay .part-egg-crack path,.hatch-overlay .egg-glow,.hatch-overlay .hatch-sprite:before,.hatch-greet{animation:none}.species-picker .species-card,.species-picker .species-card:hover,.species-picker .species-card:nth-child(2n):hover,.species-picker .species-card.is-selected{transition:none;transform:none}.hatch-overlay .gotchi:not(.is-egg){opacity:1;transform:none}}
.site-nav a.has-visit{position:relative}.visit-alert{background:var(--coral);width:16px;height:16px;color:var(--coral-ink);vertical-align:2px;box-shadow:0 0 0 2px var(--bg);border-radius:50%;place-items:center;margin-left:.35rem;font-size:.68rem;font-weight:800;line-height:1;animation:2.8s ease-in-out infinite visit-alert-pulse;display:inline-grid}@keyframes visit-alert-pulse{0%,to{box-shadow:0 0 0 2px var(--bg), 0 0 0 0 #f0b08e99}50%{box-shadow:0 0 0 2px var(--bg), 0 0 0 6px #f0b08e00}}.visit-overlay{z-index:70;background:#0d0c10d6}.visit-scene{justify-items:center;gap:var(--space-4,1rem);text-align:center;outline:var(--stitch);outline-offset:-10px;width:min(600px,92vw);box-shadow:var(--shadow-3);background:linear-gradient(#2a2233 0%,#2f2638 62%,#3a2e3c 62%,#33283a 100%);border-radius:32px;padding:30px 24px 22px;display:grid}.visit-announce{justify-items:center;gap:var(--space-4,1rem);display:grid;position:relative}.visit-knock{animation:.7s ease-in-out infinite visit-knock;position:relative}.visit-door{background:var(--coral);width:64px;height:92px;box-shadow:0 5px 0 var(--coral-lo);outline:2px dashed var(--stk);outline-offset:-7px;border-radius:32px 32px 8px 8px;display:block;position:relative}.visit-door-knob{background:var(--gold);width:9px;height:9px;box-shadow:0 2px 0 var(--gold-lo);border-radius:50%;position:absolute;top:50%;right:12px}.visit-sparkle{color:var(--gold);font-size:1.3rem;animation:1.6s infinite twinkle;position:absolute;top:-8px;right:-22px}@keyframes visit-knock{0%,to{transform:rotate(0)}25%{transform:rotate(-6deg)translateY(-3px)}60%{transform:rotate(5deg)}}.visit-announce canvas{pointer-events:none;width:130%;height:auto;position:absolute;inset:50% auto auto 50%;translate:-50% -50%}.visit-bubble{max-width:34ch;color:var(--text);outline-offset:-5px;background:#2f2a37;border-radius:20px 20px 20px 6px;outline:1.5px dashed #c6aef073;margin:0;padding:14px 18px;font-size:1.05rem;line-height:1.5;box-shadow:0 16px 32px -12px #000000b3}.visit-bubble b{color:var(--mint)}.visit-stage{justify-content:center;align-items:flex-end;gap:clamp(1rem,6vw,3rem);width:100%;min-height:190px;padding-bottom:10px;display:flex;position:relative}.visit-stage:before{content:"";outline-offset:-9px;background:repeating-radial-gradient(#5a3d55 0 7px,#4d3449 7px 14px);border-radius:50%;outline:2px dashed #f0b08e66;width:min(420px,94%);height:56px;position:absolute;bottom:-4px;left:50%;translate:-50%}.visit-stage>*{position:relative}.visit-stage>.visit-rope{position:absolute}.visit-host,.visit-guest{width:min(180px,38vw)}.visit-host .gotchi,.visit-guest .gotchi{width:100%}.visit-guest{transform:scaleX(-1)}.visit-overlay.phase-enter .visit-guest{animation:1.1s ease-out both visit-enter}@keyframes visit-enter{0%{opacity:0;translate:60%}to{opacity:1;translate:0}}.visit-overlay.phase-depart .visit-guest{animation:1.1s ease-in both visit-leave}@keyframes visit-leave{0%{opacity:1;translate:0}to{opacity:0;translate:70%}}.visit-tv{align-self:flex-end;width:74px;margin-bottom:8px}.visit-tv-screen{background:#16141b;border:4px solid #3a3441;border-radius:10px;height:52px;animation:1.1s steps(2,end) infinite visit-screen-glow}@keyframes visit-screen-glow{0%{box-shadow:inset 0 0 18px #8facf0e6}to{box-shadow:inset 0 0 18px #c6aef0e6}}.visit-tv-stand{background:#3a3441;border-radius:0 0 6px 6px;width:26px;height:10px;margin:0 auto}.visit-overlay.phase-play.play-video_games .visit-host .gotchi-rig{animation:.5s ease-in-out infinite visit-mash}.visit-overlay.phase-play.play-video_games .visit-guest .gotchi-rig{animation:.5s ease-in-out -.25s infinite visit-mash}@keyframes visit-mash{0%,to{transform:rotate(0)translateY(0)}50%{transform:rotate(2.5deg)translateY(-3px)}}.visit-board{border:3px solid var(--gold-lo);background:var(--gold);border-radius:8px;align-self:flex-end;width:84px;margin-bottom:6px;padding:5px;transform:perspective(120px)rotateX(35deg)}.visit-board-grid{background:repeating-conic-gradient(var(--moon) 0% 25%, var(--coral-lo) 0% 50%) 0 0 / 22px 22px;border-radius:3px;height:44px}.visit-overlay.phase-play.play-board_games .visit-host .gotchi-rig{animation:2.4s ease-in-out infinite visit-ponder}.visit-overlay.phase-play.play-board_games .visit-guest .gotchi-rig{animation:2.4s ease-in-out -1.2s infinite visit-ponder}@keyframes visit-ponder{0%,55%,to{transform:rotate(0)}20%{transform:rotate(-6deg)}35%{transform:rotate(-6deg)translateY(-4px)}}.visit-rope{pointer-events:none;width:100%;height:100%;position:absolute;inset:auto 0 0}.visit-rope-arc{stroke:var(--pink);stroke-width:4px;stroke-linecap:round;transform-origin:50% 22%;animation:.55s linear infinite visit-rope-spin}.visit-rope-handle{fill:var(--coral-lo)}@keyframes visit-rope-spin{0%{opacity:1;transform:scaleY(1)}45%{opacity:.5;transform:scaleY(.15)}50%{opacity:.25;transform:scaleY(-.55)}55%{opacity:.5;transform:scaleY(.15)}to{opacity:1;transform:scaleY(1)}}.visit-overlay.phase-play.play-jump_rope .visit-host .gotchi-rig{animation:.55s ease-in-out infinite visit-skip}.visit-overlay.phase-play.play-jump_rope .visit-guest .gotchi-rig{animation:.55s ease-in-out -.07s infinite visit-skip}@keyframes visit-skip{0%,to{transform:translateY(0)scaleY(1)}30%{transform:translateY(-14px)scaleY(1.04)}60%{transform:translateY(0)scaleY(.96)}}.visit-caption{justify-items:center;gap:var(--space-3,.75rem);min-height:3.2rem;display:grid}.visit-caption p{color:var(--text);margin:0;font-size:1.05rem}.visit-gift{justify-items:center;gap:var(--space-3,.75rem);display:grid}.visit-rarity{text-transform:capitalize;opacity:.8}.visit-reward-icon{background:var(--knit), var(--paper-gold);outline:2px dashed var(--tint-gold-border);outline-offset:-6px;animation:visit-reward-pop .6s var(--ease-spring,cubic-bezier(.34, 1.56, .64, 1)) both;border-radius:22px;place-items:center;padding:1.1rem;display:grid;box-shadow:0 16px 32px -12px #000000b3}@keyframes visit-reward-pop{0%{opacity:0;transform:scale(.4)translateY(18px)}to{opacity:1;transform:scale(1)translateY(0)}}.visit-from{color:var(--dim);margin:0;font-size:.85rem}@media (prefers-reduced-motion:reduce){.visit-alert,.visit-knock,.visit-sparkle,.visit-tv-screen,.visit-rope-arc,.visit-overlay .gotchi-rig,.visit-overlay .visit-guest,.visit-reward-icon{animation:none}.visit-overlay.phase-enter .visit-guest,.visit-overlay.phase-depart .visit-guest{opacity:1;translate:0}}
.seasonal-overlay{pointer-events:none;z-index:2;position:absolute;inset:0;overflow:hidden}.seasonal-overlay span>svg{width:100%;height:100%;display:block}.seasonal-overlay .snowflake{aspect-ratio:1;filter:drop-shadow(0 0 4px #b4d2ff80);width:15px;animation:linear infinite snow-fall;position:absolute;top:-8%}@keyframes snow-fall{0%{opacity:0;transform:translateY(-10%)translate(0)}8%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(1200%)translate(14px)}}.seasonal-overlay .ghost-visitor{aspect-ratio:32/36;opacity:0;filter:drop-shadow(0 0 10px #c8d7ff99);width:clamp(44px,28%,84px);animation:26s ease-in-out infinite ghost-drift;position:absolute;top:24%;left:-22%}@keyframes ghost-drift{0%,62%{opacity:0;left:-30%;transform:translateY(0)}66%{opacity:.85}74%{left:40%;transform:translateY(-10px)}82%{opacity:.85;left:80%;transform:translateY(4px)}88%,to{opacity:0;left:112%;transform:translateY(-6px)}}.seasonal-overlay .corner-pumpkin{aspect-ratio:32/30;filter:drop-shadow(0 0 8px #ff96288c);width:clamp(36px,22%,64px);animation:3.2s ease-in-out infinite pumpkin-glow;position:absolute;bottom:4%;right:5%}@keyframes pumpkin-glow{0%,to{opacity:.75}50%{opacity:1}}.seasonal-overlay .sun-badge{aspect-ratio:1;filter:drop-shadow(0 0 14px #ffd66e73);width:clamp(36px,22%,80px);animation:6s ease-in-out infinite sun-bask;position:absolute;top:5%;left:7%}@keyframes sun-bask{0%,to{opacity:.92;transform:scale(1)rotate(0)}50%{opacity:1;transform:scale(1.05)rotate(3deg)}}.seasonal-overlay .beach-ball-cameo{aspect-ratio:1;opacity:0;width:clamp(64px,44%,120px);animation:22s ease-in-out infinite ball-roll;position:absolute;bottom:4%;left:-30%}@keyframes ball-roll{0%,55%{opacity:0;left:-46%;transform:rotate(0)}58%{opacity:1}78%{opacity:1}85%,to{opacity:0;left:112%;transform:rotate(3turn)}}@media (prefers-reduced-motion:reduce){.seasonal-overlay .snowflake,.seasonal-overlay .ghost-visitor,.seasonal-overlay .beach-ball-cameo{opacity:0;animation:none}.seasonal-overlay .corner-pumpkin,.seasonal-overlay .sun-badge{animation:none}}.event-banner{--ev:var(--violet);--ev-lo:var(--violet-lo);--ev-cloth:var(--paper-violet);--ev-line:var(--tint-violet-border);border-radius:var(--radius-l);background:var(--knit), var(--ev-cloth);color:var(--text);outline:2px dashed var(--ev-line);outline-offset:-7px;transition:transform var(--dur-2) var(--ease-spring);align-items:center;gap:16px;margin-bottom:16px;padding:16px 22px;display:flex}.event-banner:hover{color:var(--text);text-decoration:none;transform:translateY(-3px)rotate(-.4deg)}.event-banner .event-icon{background:var(--ev);width:48px;height:48px;box-shadow:0 4px 0 var(--ev-lo);border-radius:16px;flex:none;place-items:center;font-size:1.5rem;line-height:1;display:grid}.event-banner .event-copy{flex:1;min-width:0}.event-banner .event-copy h3{margin:0 0 .15rem;font-size:1.25rem}.event-banner .event-copy p{color:var(--text-2);margin:0;font-size:.92rem;line-height:1.5}.event-banner .event-ends{font:500 .78rem var(--mono);color:var(--ev);white-space:nowrap;background:#16141b73;border-radius:9px;padding:5px 10px}.event-banner .event-ends:empty{display:none}.event-banner.event-spooky{--ev:var(--coral);--ev-lo:var(--coral-lo);--ev-cloth:var(--paper-coral);--ev-line:var(--tint-coral-border)}.event-banner.event-frost{--ev:var(--sky);--ev-lo:#6a86c9;--ev-cloth:var(--paper-sky);--ev-line:#8facf073}.event-banner.event-beach{--ev:var(--gold);--ev-lo:var(--gold-lo);--ev-cloth:var(--paper-gold);--ev-line:var(--tint-gold-border)}.event-banner.event-caught-up{--ev-cloth:var(--panel);--ev-line:var(--st)}.event-banner.event-caught-up .event-copy p:before{content:"✓ ";color:var(--mint)}@media (max-width:640px){.event-banner{flex-wrap:wrap;padding:16px 18px}.event-banner .event-copy{flex-basis:calc(100% - 64px)}}@media (prefers-reduced-motion:reduce){.event-banner,.event-banner:hover{transition:none;transform:none}}.room-floor.floor-present{background:#d6404f;border:2px solid #8a2432;border-radius:6px;width:46px;height:38px;box-shadow:inset 0 -8px 10px #00000040}.room-floor.floor-present:before{content:"";background:#ffe07a;width:8px;position:absolute;inset:0 auto 0 50%;transform:translate(-50%)}.room-floor.floor-present:after{content:"🎀";font-size:14px;position:absolute;bottom:100%;left:50%;transform:translate(-50%)translateY(40%)}.room-floor.floor-surfboard{background:linear-gradient(160deg,#ffd66e 0%,#f08a4b 60%,#e05a6f 100%);border:2px solid #8a4a12;border-radius:50% 50% 42% 42%/26% 26% 74% 74%;width:34px;height:96px;bottom:32%;transform:rotate(8deg)}.room-floor.floor-surfboard:before{content:"";background:#fffbe6b3;border-radius:2px;width:3px;position:absolute;inset:8% auto 8% 50%;transform:translate(-50%)}.room-shelf.shelf-ghostlamp{background:radial-gradient(circle at 45% 32%,#ebf0fff2,#a0b4e68c);border-radius:50% 50% 40% 40%;width:30px;height:34px;animation:3.6s ease-in-out infinite pumpkin-glow;box-shadow:0 0 14px #c8d7ff99}.room-shelf.shelf-ghostlamp:before{content:"";background:#2a2a3a;border-radius:50%;width:5px;height:7px;position:absolute;top:38%;left:26%;box-shadow:12px 0 #2a2a3a}.room-shelf.shelf-snowglobe{background:radial-gradient(circle at 35% 30%,#ffffff80,#6ea8fe40 70%);border:2px solid #c8d7ff99;border-radius:50%;width:34px;height:34px}.room-shelf.shelf-snowglobe:before{content:"❄";text-align:center;color:#ebf4ffe6;font-size:12px;line-height:32px;position:absolute;inset:0}.room-shelf.shelf-snowglobe:after{content:"";background:#7a5230;border-radius:3px;width:70%;height:8px;position:absolute;top:96%;left:15%}.room-shelf.shelf-sandcastle{clip-path:polygon(0 100%,0 45%,12% 45%,12% 30%,24% 30%,24% 45%,38% 45%,38% 12%,46% 12%,46% 0,54% 0,54% 12%,62% 12%,62% 45%,76% 45%,76% 30%,88% 30%,88% 45%,100% 45%,100% 100%);background:linear-gradient(#e3c98a,#c9a45e);width:52px;height:40px}.room-shelf.shelf-sandcastle:before{content:"";background:#4a3018;border-radius:50% 50% 0 0;width:8px;height:12px;position:absolute;top:30%;left:46%}
@media (max-width:1023px){.site-header{min-height:64px;padding:.5rem 1rem}}@media (min-width:561px) and (max-width:900px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.catalog-grid{grid-template-columns:1fr}.catalog-filters{gap:.5rem 1rem}.auth-page{padding:2rem 1rem}.page{margin:2rem auto 3rem}.leaderboard,.pet-page{padding-left:1rem;padding-right:1rem}.lb-table th,.lb-table td{padding:.4rem .5rem;font-size:.85rem}.lesson-nav li button{min-height:40px}}@media (max-width:400px){.site-header{padding:.5rem .75rem}.site-header .brand{font-size:1rem}.editor{height:260px}pre{font-size:12px}}

.gotchi{justify-items:center;margin-top:2rem;display:grid}.gotchi-svg{width:200px;height:auto;display:block;overflow:visible}.gotchi.stage-1{--shell:#57d9a3;--shell-2:#36b07e;--shell-glow:#57d9a347}.gotchi.stage-2{--shell:#4ad6c4;--shell-2:#2fae9b;--shell-glow:#4ad6c44d}.gotchi.stage-3{--shell:#6ea8fe;--shell-2:#4f86f7;--shell-glow:#6ea8fe57}.gotchi.stage-4{--shell:#e3b341;--shell-2:#cf922a;--shell-glow:#e3b34166}.gotchi.stage-5{--shell:#f08a4b;--shell-2:#db6d28;--shell-glow:#f08a4b6b}.gotchi.stage-6{--shell:#b48bff;--shell-2:#8a5cf6;--shell-glow:#b48bff80}.gotchi.stage-2 .gotchi-svg{width:206px}.gotchi.stage-3 .gotchi-svg{width:215px}.gotchi.stage-4 .gotchi-svg{width:225px}.gotchi.stage-5 .gotchi-svg{width:234px}.gotchi.stage-6 .gotchi-svg{width:243px}.gotchi-rig{transform-origin:100px 158px;animation:3.6s ease-in-out infinite bob}.part-body{filter:drop-shadow(0 10px 18px var(--shell-glow))}.part-shadow{fill:#00000059;filter:blur(3px);transform-box:fill-box;transform-origin:50%;animation:3.6s ease-in-out infinite shadow}.part-sprout,.part-foot{fill:var(--shell-2)}.part-cheek{fill:#ff9d7a8c}.part-crest{fill:var(--shell);opacity:.85}.part-eye{transform-box:fill-box;transform-origin:50%;animation:4.5s infinite blink}.eye-lid{fill:none;stroke:var(--ink);stroke-width:3px;stroke-linecap:round;display:none}.mouth-smile,.mouth-worried,.mouth-flat{fill:none;stroke:var(--ink);stroke-width:3px;stroke-linecap:round}.mouth-o,.talk-cavity{fill:var(--ink)}.talk-tongue{fill:#d96a58;opacity:0}.mouth-o,.mouth-worried,.mouth-flat,.mouth-talk,.gotchi.expr-surprised .mouth-smile{display:none}.gotchi.expr-surprised .mouth-o{animation:.35s ease-out gasp;display:block}.gotchi.expr-surprised .part-brow{animation:none;transform:translateY(-3px)}.gotchi.expr-worried .mouth-smile{display:none}.gotchi.expr-worried .mouth-worried{display:block}.gotchi.expr-worried .part-brow{animation:none}.gotchi.expr-worried .part-brow.left{transform:translateY(1px)rotate(-8deg)}.gotchi.expr-worried .part-brow.right{transform:translateY(1px)rotate(8deg)}.gotchi.expr-sleepy .mouth-smile{display:none}.gotchi.expr-sleepy .mouth-flat{display:block}.gotchi.expr-sleepy .part-eye{animation:none}.gotchi.expr-sleepy .part-brow{animation:none;transform:translateY(2.5px)}.gotchi.expr-sleepy .eye-ball,.gotchi.expr-sleepy .eye-shine{display:none}.gotchi.expr-sleepy .eye-lid{display:block}@keyframes gasp{0%{r:2px}to{r:4px}}.part-wing .wing-shape{fill:var(--shell-glow);stroke:var(--shell-glow);stroke-width:1px}.part-wing{transform-box:fill-box;transform-origin:100%;animation:3.6s ease-in-out infinite flutter}.part-wing.right{transform-origin:0%;animation-name:flutter-r}.gotchi.stage-5 .wing-shape,.gotchi.stage-6 .wing-shape{transform-box:fill-box;transform-origin:50%;transform:scale(1.2)}.part-aura{fill:var(--shell-glow);transform-box:fill-box;transform-origin:50%;animation:3.6s ease-in-out infinite aura-pulse}.part-aura-item{transform-box:fill-box;transform-origin:50%;animation:3.6s ease-in-out infinite aura-pulse}.part-aura-item .aura-inferno{animation:none}.part-aura-item:has(.aura-inferno){animation-duration:2.2s}.gotchi.mood-sad .part-body{filter:saturate(.72) brightness(.96) drop-shadow(0 10px 18px var(--shell-glow))}.gotchi.mood-sad .gotchi-rig,.gotchi.mood-sad .part-shadow,.gotchi.mood-sad .body-shape,.gotchi.mood-sad .body-line,.gotchi.mood-sad .part-belly{animation-duration:5.2s}.gotchi.mood-sad .part-eye{animation:none;transform:translateY(4px)scaleY(.78)}.gotchi.mood-sad .part-brow{animation:none}.gotchi.mood-sad .part-brow.left{transform:translateY(1.5px)rotate(-8deg)}.gotchi.mood-sad .part-brow.right{transform:translateY(1.5px)rotate(8deg)}.gotchi.mood-sad .part-cheek{opacity:.4;animation:none}.gotchi.mood-sad .part-face,.gotchi.mood-sad .face-rig,.gotchi.mood-sad .part-foot,.gotchi.mood-sad .sprout-leaf,.gotchi.mood-sad .sprout-leaf2{animation:none}.gotchi.mood-sad .part-sprout{animation:none;transform:rotate(7deg)scale(.97,.9)}.gotchi.mood-sad .part-tail{animation:none;transform:rotate(9deg)}.gotchi.mood-sad .part-arm{animation:none}.gotchi.mood-sad .part-arm.left{transform:rotate(-7deg)}.gotchi.mood-sad .part-arm.right{transform:rotate(7deg)}.gotchi.mood-sad .mouth-smile{d:path("M92.5 116 Q 100 114, 107.5 116");animation:none}.gotchi.gotchi-lg{transform-origin:bottom;margin:3rem 0 2rem;transform:scale(1.55)}.gotchi.gotchi-color-violet{--shell:#c5a3ff;--shell-2:#8a5cf6;--shell-glow:#b48bff80}.gotchi.gotchi-color-copper{--shell:#e0956b;--shell-2:#b05f34;--shell-glow:#e0956b73}.gotchi.gotchi-color-sunrise{--shell:#ffc26e;--shell-2:#f07a5a;--shell-glow:#ffb26673}.gotchi.gotchi-color-midnight{--shell:#4a5a8c;--shell-2:#232c4e;--shell-glow:#6e8cff66}.gotchi.gotchi-color-prism{--shell:#a3e6ff;--shell-2:#c58aff;--shell-glow:#a3d2ff80}.gotchi.gotchi-color-spectral{--shell:#e8ecf4;--shell-2:#9fb0d0;--shell-glow:#c8d7ff8c}.gotchi.gotchi-bg-lantern{--shell-glow:#ffc86e8c}.held-tome rect{filter:drop-shadow(0 0 8px #6e8cffbf)}.hat-crown{filter:drop-shadow(0 2px 2px #00000040)}.anchor-hat{transform-box:fill-box;transform-origin:bottom;animation:3.6s ease-in-out infinite hat-lag}.anchor-held{transform-box:fill-box;transform-origin:top;animation:3.6s ease-in-out infinite held-lag}@keyframes hat-lag{0%,12%,to{transform:translateY(0)rotate(0)}52%{transform:translateY(1.8px)rotate(.6deg)}86%{transform:translateY(-1.2px)rotate(-.8deg)}}@keyframes held-lag{0%,12%,to{transform:rotate(0)translateY(0)}50%{transform:rotate(2.5deg)translateY(1px)}86%{transform:rotate(-2deg)translateY(0)}}@keyframes bob{0%{transform:translateY(0)scale(1)}12%{transform:translateY(1.5px)scale(1.025,.97)}45%{transform:translateY(-11px)scale(.99,1.012)}55%{transform:translateY(-12px)scale(1)}82%{transform:translateY(.5px)scale(1.02,.975)}to{transform:translateY(0)scale(1)}}@keyframes shadow{0%,to{opacity:.52;transform:scale(1.03)}12%{opacity:.58;transform:scale(1.07)}45%,55%{opacity:.3;transform:scale(.8)}82%{opacity:.55;transform:scale(1.05)}}@keyframes blink{0%,92%,to{transform:scaleY(1)}96%{transform:scaleY(.1)}}@keyframes flutter{0%,12%,to{transform:rotate(0)}40%{transform:rotate(7deg)}60%{transform:rotate(3deg)}84%{transform:rotate(-4deg)}}@keyframes flutter-r{0%,12%,to{transform:rotate(0)}40%{transform:rotate(-7deg)}60%{transform:rotate(-3deg)}84%{transform:rotate(4deg)}}@keyframes aura-pulse{0%,to{opacity:.45;transform:scale(1)}50%{opacity:.75;transform:scale(1.06)}}.prop-book,.prop-laptop,.prop-zzz,.prop-shades,.prop-coffee,.prop-pizza,.prop-duck,.prop-chest{display:none}.gotchi.behavior-walk .gotchi-rig{animation:.6s ease-in-out infinite waddle}.gotchi.behavior-walk .part-foot{transform-origin:50% 85%}.gotchi.behavior-walk .part-foot.left{animation:.6s ease-in-out infinite step}.gotchi.behavior-walk .part-foot.right{animation:.6s ease-in-out -.3s infinite step}.gotchi.behavior-walk .part-arm.left{animation:.6s ease-in-out infinite arm-swing}.gotchi.behavior-walk .part-arm.right{animation:.6s ease-in-out -.3s infinite arm-swing}.gotchi.behavior-walk .part-tail{animation:1.2s ease-in-out infinite tail-wag}@keyframes waddle{0%,to{transform:translateY(0)rotate(-3deg)scale(1.015,.985)}25%{transform:translateY(-3.5px)rotate(0)scale(.99,1.01)}50%{transform:translateY(0)rotate(3deg)scale(1.015,.985)}75%{transform:translateY(-3.5px)rotate(0)scale(.99,1.01)}}@keyframes step{0%,to{transform:translateY(0)rotate(0)scale(1)}20%{transform:translateY(-5px)rotate(-16deg)}45%{transform:translateY(-2px)rotate(8deg)}60%{transform:translateY(0)rotate(0)scale(1.08,.9)}75%{transform:scale(1)}}@keyframes arm-swing{0%,to{transform:rotate(9deg)}50%{transform:rotate(-9deg)}}@keyframes tail-wag{0%,to{transform:rotate(-6deg)}50%{transform:rotate(8deg)}}.behavior-watch .part-eye{transform:translate(var(--eye-dx,0px), var(--eye-dy,0px));transition:transform .15s ease-out;animation:none}.gotchi.behavior-read .part-brow,.gotchi.behavior-type .part-brow,.gotchi.behavior-duck .part-brow{animation:none;transform:translateY(1.5px)}.gotchi.behavior-read .prop-book{display:block}.gotchi.behavior-read .part-eye{animation:none;transform:translateY(3px)scaleY(.85)}.gotchi.behavior-read .prop-book{transform-box:fill-box;transform-origin:50%;animation:4s ease-in-out infinite page-tilt}@keyframes page-tilt{0%,to{transform:rotate(0)}50%{transform:rotate(-2.5deg)}}.gotchi.behavior-type .prop-laptop{display:block}.gotchi.behavior-type .part-eye{animation:none;transform:translateY(3px)}.gotchi.behavior-type .laptop-glow{animation:1.6s steps(2,end) infinite screen-flicker}.gotchi.behavior-type .gotchi-rig{animation:.9s ease-in-out infinite type-lean}@keyframes screen-flicker{0%,to{opacity:.3}50%{opacity:.45}}@keyframes type-lean{0%,to{transform:translateY(0)}50%{transform:translateY(1.5px)}}.gotchi.behavior-stretch .gotchi-rig{animation:2.5s ease-in-out stretch}.gotchi.behavior-stretch .part-arm.left{animation:2.5s ease-in-out stretch-arm-l}.gotchi.behavior-stretch .part-arm.right{animation:2.5s ease-in-out stretch-arm-r}@keyframes stretch{0%,to{transform:scale(1)translateY(0)}25%{transform:scale(1.07,.9)translateY(3px)}60%{transform:scale(.94,1.09)translateY(-7px)}80%{transform:scale(1.02,.98)translateY(0)}}@keyframes stretch-arm-l{0%,to{transform:rotate(0)}25%{transform:rotate(-10deg)}55%,70%{transform:rotate(135deg)}}@keyframes stretch-arm-r{0%,to{transform:rotate(0)}25%{transform:rotate(10deg)}55%,70%{transform:rotate(-135deg)}}.gotchi.behavior-sleep .prop-zzz{display:block}.gotchi.behavior-sleep .gotchi-rig{animation:4.5s ease-in-out infinite breathe}.gotchi.behavior-sleep .part-shadow{animation-duration:4.5s}.gotchi.behavior-sleep .part-arm,.gotchi.behavior-sleep .part-foot,.gotchi.behavior-sleep .part-cheek,.gotchi.behavior-sleep .part-face,.gotchi.behavior-sleep .face-rig,.gotchi.behavior-sleep .part-tail,.gotchi.behavior-sleep .sprout-leaf,.gotchi.behavior-sleep .sprout-leaf2{animation:none}.gotchi.behavior-sleep .part-sprout{animation:none;transform:rotate(4deg)scale(.99,.95)}.gotchi.behavior-sleep .prop-zzz text{transform-box:fill-box;transform-origin:50%;animation:3s ease-out infinite z-rise}.gotchi.behavior-sleep .z2{animation-delay:1s}.gotchi.behavior-sleep .z3{animation-delay:2s}@keyframes breathe{0%,to{transform:scale(1)}45%,58%{transform:scale(1.025,.965)translateY(1.5px)}}@keyframes z-rise{0%{opacity:0;transform:translateY(6px)}30%{opacity:.9}to{opacity:0;transform:translate(4px,-10px)}}.gotchi.behavior-hop .gotchi-rig{animation:.58s cubic-bezier(.37,0,.63,1) 2 hop}.gotchi.behavior-hop .part-foot.left,.gotchi.behavior-hop .part-foot.right{animation:.58s ease-in-out 2 foot-tuck}.gotchi.behavior-hop .part-arm.left{animation:.58s ease-in-out 2 arm-flail-l}.gotchi.behavior-hop .part-arm.right{animation:.58s ease-in-out 2 arm-flail-r}.gotchi.behavior-hop .part-shadow{animation:.58s cubic-bezier(.37,0,.63,1) 2 shadow-hop}@keyframes hop{0%{transform:translateY(0)scale(1)}16%{transform:translateY(3px)scale(1.14,.82)}30%{transform:translateY(-15px)scale(.9,1.14)}46%{transform:translateY(-22px)scale(.99,1.02)}56%{transform:translateY(-20px)scale(1)}72%{transform:translateY(1px)scale(1.18,.78)}84%{transform:translateY(-2.5px)scale(.95,1.06)}94%{transform:translateY(.5px)scale(1.04,.97)}to{transform:translateY(0)scale(1)}}@keyframes foot-tuck{0%,16%,to{transform:translateY(0)rotate(0)scale(1)}40%,56%{transform:translateY(-3px)rotate(-13deg)}72%{transform:translateY(0)scale(1.15,.8)}84%{transform:scale(1)}}@keyframes arm-flail-l{0%,16%,to{transform:rotate(0)}40%,56%{transform:rotate(38deg)}76%{transform:rotate(-10deg)}}@keyframes arm-flail-r{0%,16%,to{transform:rotate(0)}40%,56%{transform:rotate(-38deg)}76%{transform:rotate(10deg)}}@keyframes shadow-hop{0%,to{opacity:.52;transform:scale(1.03)}16%{opacity:.6;transform:scale(1.1)}46%{opacity:.22;transform:scale(.62)}72%{opacity:.6;transform:scale(1.08)}}.gotchi.behavior-wave .gotchi-rig{animation:1.5s ease-in-out wave-body}.gotchi.behavior-wave .part-arm.right{animation:1.5s ease-in-out wave-arm}.gotchi.behavior-wave .part-arm.left{animation:1.5s ease-in-out wave-counter}.gotchi.behavior-wave .part-brow{animation:none;transform:translateY(-1.5px)}.gotchi.behavior-wave .mouth-smile{d:path("M91.5 113.5 Q 100 122.5, 108.5 113.5");animation:none}@keyframes wave-arm{0%,90%,to{transform:rotate(0)}12%{transform:rotate(-118deg)}28%{transform:rotate(-146deg)}42%{transform:rotate(-108deg)}56%{transform:rotate(-146deg)}70%{transform:rotate(-112deg)}82%{transform:rotate(-30deg)}}@keyframes wave-counter{0%,90%,to{transform:rotate(0)}20%,70%{transform:rotate(-8deg)}}@keyframes wave-body{0%,90%,to{transform:rotate(0)translateY(0)scale(1)}12%{transform:rotate(-2.5deg)translateY(-1px)}28%,56%{transform:rotate(-3.5deg)translateY(-2px)scale(1.01,.99)}42%,70%{transform:rotate(-2.5deg)translateY(-1px)}}.gotchi.behavior-tilt .gotchi-rig{animation:1.8s ease-in-out tilt}@keyframes tilt{0%,to{transform:rotate(0)}25%,75%{transform:rotate(-10deg)translateY(-2px)}}.gotchi.behavior-spin .gotchi-rig{transform-origin:100px 100px;animation:.7s ease-in-out 2 spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.gotchi.behavior-flop .gotchi-rig{transform-origin:100px 100px;animation:2.2s ease-in-out flop}@keyframes flop{0%{transform:rotate(0)translateY(0)}20%,70%{transform:rotate(84deg)translate(6px,14px)}88%{transform:rotate(-6deg)}to{transform:rotate(0)}}.gotchi.behavior-rare .prop-shades{display:block}.gotchi.behavior-rare .gotchi-rig{animation:.8s ease-in-out infinite rare-dance}@keyframes rare-dance{0%,to{transform:rotate(-6deg)translateY(0)}25%{transform:rotate(0)translateY(-8px)}50%{transform:rotate(6deg)translateY(0)}75%{transform:rotate(0)translateY(-8px)}}.gotchi.behavior-wake .gotchi-rig{animation:.45s ease-out startle}@keyframes startle{0%{transform:scale(1)}40%{transform:scale(1.1,1.12)translateY(-6px)}to{transform:scale(1)}}.gotchi.behavior-pet .gotchi-rig{transform:rotate(calc(var(--lean,0) * 8deg)) translateY(2px);transition:transform .2s ease-out;animation:none}.gotchi.behavior-pet .eye-ball,.gotchi.behavior-pet .eye-shine{display:none}.gotchi.behavior-pet .eye-lid{display:block}.gotchi.behavior-grabbed .gotchi-rig{transform-origin:100px 44px;animation:1.4s ease-in-out infinite dangle}.gotchi.behavior-grabbed .part-foot{transform-origin:top}.gotchi.behavior-grabbed .part-foot.left{animation:.7s ease-in-out infinite kick}.gotchi.behavior-grabbed .part-foot.right{animation:.7s ease-in-out -.35s infinite kick}.gotchi.behavior-grabbed .part-arm.left{animation:.9s ease-in-out infinite arm-dangle-l}.gotchi.behavior-grabbed .part-arm.right{animation:.9s ease-in-out infinite arm-dangle-r}.gotchi.behavior-grabbed .part-tail{animation-duration:1.4s}.gotchi.behavior-grabbed .part-shadow{opacity:0}@keyframes dangle{0%,to{transform:rotate(-6deg)scale(.99,1.04)}50%{transform:rotate(6deg)scale(.99,1.04)}}@keyframes kick{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}@keyframes arm-dangle-l{0%,to{transform:rotate(24deg)}50%{transform:rotate(38deg)}}@keyframes arm-dangle-r{0%,to{transform:rotate(-24deg)}50%{transform:rotate(-38deg)}}.gotchi.behavior-drop .gotchi-rig{animation:.85s cubic-bezier(.3,.6,.4,1) squash-land}.gotchi.behavior-drop .part-foot.left,.gotchi.behavior-drop .part-foot.right{animation:.85s ease-out foot-splat}.gotchi.behavior-drop .part-arm.left{animation:.85s ease-out drop-arm-l}.gotchi.behavior-drop .part-arm.right{animation:.85s ease-out drop-arm-r}.gotchi.behavior-drop .part-shadow{animation:.85s cubic-bezier(.3,.6,.4,1) shadow-drop}@keyframes squash-land{0%{transform:translateY(-14px)scale(.95,1.06)}25%{transform:translateY(-2px)scale(.93,1.1)}34%{transform:translateY(3px)scale(1.22,.76)}48%{transform:translateY(-6px)scale(.95,1.05)}62%{transform:translateY(1.5px)scale(1.1,.9)}74%{transform:translateY(-2px)scale(.97,1.03)}84%{transform:translateY(.5px)scale(1.04,.97)}to{transform:translateY(0)scale(1)}}@keyframes foot-splat{0%,25%{transform:translateY(-2px)scale(1)}34%{transform:translateY(0)scale(1.25,.7)}62%{transform:scale(1.1,.88)}84%,to{transform:scale(1)}}@keyframes drop-arm-l{0%,20%{transform:rotate(36deg)}32%{transform:rotate(-12deg)}55%{transform:rotate(9deg)}80%,to{transform:rotate(0)}}@keyframes drop-arm-r{0%,20%{transform:rotate(-36deg)}32%{transform:rotate(12deg)}55%{transform:rotate(-9deg)}80%,to{transform:rotate(0)}}@keyframes shadow-drop{0%{opacity:.2;transform:scale(.6)}34%{opacity:.62;transform:scale(1.16)}62%{opacity:.56;transform:scale(1.08)}90%,to{opacity:.52;transform:scale(1.03)}}.gotchi.behavior-zoom .prop-coffee{display:block}.gotchi.behavior-zoom .gotchi-rig{animation:.22s ease-in-out infinite zoom-jitter}.gotchi.behavior-zoom .coffee-steam{animation:.8s ease-out infinite steam-rise}@keyframes zoom-jitter{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-5px)rotate(3deg)}}@keyframes steam-rise{0%{opacity:.9;transform:translateY(0)}to{opacity:0;transform:translateY(-6px)}}@keyframes zoom-laps{0%,to{transform:translate(0)}50%{transform:translate(-260px)}}.gotchi.behavior-munch .prop-pizza{display:block}.gotchi.behavior-munch .gotchi-rig{animation:.6s ease-in-out infinite chew}.gotchi.behavior-munch .prop-pizza{transform-box:fill-box;transform-origin:top;animation:5s linear forwards pizza-shrink}@keyframes chew{0%,to{transform:scale(1)}50%{transform:scale(1.03,.95)}}@keyframes pizza-shrink{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.4)}}.gotchi.behavior-duck .prop-duck{display:block}.gotchi.behavior-duck .part-eye{animation:none;transform:translate(2px,2px)}.gotchi.behavior-duck .prop-duck{transform-box:fill-box;transform-origin:50%;animation:2.4s ease-in-out infinite duck-bob}@keyframes duck-bob{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-3px)rotate(-4deg)}}.gotchi.behavior-chest .prop-chest{display:block}.gotchi.behavior-chest .gotchi-rig{animation:.58s ease-in-out .8s 2 hop}.gotchi.behavior-chest .prop-chest{transform-box:fill-box;transform-origin:bottom;animation:.5s cubic-bezier(.3,1.6,.5,1) chest-in}.gotchi.behavior-chest .chest-lid{transform-box:fill-box;transform-origin:0 100%;animation:.6s ease-out .9s forwards lid-open}.gotchi.behavior-chest .chest-sparkle{opacity:0;transform-box:fill-box;transform-origin:50%;animation:1.4s ease-out 1.3s infinite sparkle-rise}@keyframes chest-in{0%{opacity:0;transform:translateY(-24px)scale(.6)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes lid-open{to{transform:rotate(-38deg)}}@keyframes sparkle-rise{0%{opacity:0;transform:translateY(4px)}30%{opacity:1}to{opacity:0;transform:translateY(-10px)}}.gotchi.behavior-celebrate .gotchi-rig{animation:.9s ease-in-out 2 celebrate}.gotchi.behavior-celebrate .part-arm.left{animation:.45s ease-in-out 4 arm-cheer-l}.gotchi.behavior-celebrate .part-arm.right{animation:.45s ease-in-out 4 arm-cheer-r}.gotchi.behavior-celebrate .part-shadow{animation:.9s ease-in-out 2 shadow-hop}@keyframes celebrate{0%,to{transform:translateY(0)rotate(0)scale(1)}10%{transform:translateY(3px)scale(1.09,.86)}34%{transform:translateY(-26px)rotate(-7deg)scale(.95,1.08)}48%{transform:translateY(-28px)rotate(0)scale(.97,1.04)}62%{transform:translateY(-24px)rotate(7deg)scale(.95,1.08)}86%{transform:translateY(2px)scale(1.1,.86)}94%{transform:translateY(-2px)scale(.97,1.03)}}@keyframes arm-cheer-l{0%,to{transform:rotate(120deg)}50%{transform:rotate(155deg)}}@keyframes arm-cheer-r{0%,to{transform:rotate(-120deg)}50%{transform:rotate(-155deg)}}@media (prefers-reduced-motion:reduce){.gotchi-rig,.part-shadow,.part-eye,.part-brow,.part-wing,.part-aura,.part-aura-item,.anchor-hat,.anchor-held,.gotchi[class*=behavior-] .gotchi-rig,.gotchi[class*=behavior-] .part-shadow,.gotchi[class*=behavior-] .part-foot.left,.gotchi[class*=behavior-] .part-foot.right,.gotchi[class*=behavior-] .part-arm.left,.gotchi[class*=behavior-] .part-arm.right,.gotchi[class*=behavior-] .part-tail,.gotchi.expr-surprised .mouth-o,.prop-zzz text,.prop-book,.laptop-glow,.coffee-steam,.prop-pizza,.prop-duck{animation:none}}
.part-belly{fill:#ffffff21}.part-sheen{fill:#ffffff29}.part-tail{fill:var(--shell-2)}.part-markings path{fill:none;stroke:var(--shell-2);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;opacity:.6}.part-wing .wing-shape{fill:var(--shell-2);stroke:var(--ink);stroke-opacity:.35;stroke-width:2px;stroke-linejoin:round}.part-body .body-shape,.part-body .body-line{animation:3.6s ease-in-out infinite body-breathe}.part-belly{animation:3.6s ease-in-out infinite belly-breathe}@keyframes body-breathe{0%,to{d:path("M100 42 C 129 40, 156 59, 162 90 C 166 112, 158 136, 141 150 C 128 160, 113 163, 100 163 C 86 163, 71 159, 58 148 C 42 134, 35 111, 39 90 C 45 60, 72 44, 100 42 Z")}12%,86%{d:path("M100 43 C 130 41, 158 60, 164 91 C 168 113, 159 137, 142 151 C 129 161, 113 164, 100 164 C 86 164, 70 160, 57 149 C 40 135, 33 112, 38 91 C 44 61, 71 45, 100 43 Z")}52%{d:path("M100 41 C 128 39, 154 58, 160 89 C 164 111, 157 135, 140 149 C 128 159, 113 162, 100 162 C 87 162, 72 158, 59 147 C 44 133, 37 110, 41 89 C 47 59, 73 43, 100 41 Z")}}@keyframes belly-breathe{0%,to{d:path("M63 119 Q 75 107, 87 115 Q 100 105, 113 115 Q 125 107, 137 119 Q 140 149, 100 156 Q 60 149, 63 119 Z")}12%,86%{d:path("M62 118 Q 75 106, 87 114 Q 100 104, 113 114 Q 125 106, 138 118 Q 142 150, 100 157 Q 58 150, 62 118 Z")}52%{d:path("M64 120 Q 75 108, 87 116 Q 100 106, 113 116 Q 125 108, 136 120 Q 139 148, 100 155 Q 61 148, 64 120 Z")}}.form-builder .body-shape,.form-builder .body-line{animation-name:body-breathe-builder}@keyframes body-breathe-builder{0%,to{d:path("M100 42 C 136 42, 166 63, 169 100 C 171 126, 158 148, 138 157 C 125 163, 112 164, 100 164 C 88 164, 75 163, 62 157 C 42 148, 29 126, 31 100 C 34 63, 64 42, 100 42 Z")}50%{d:path("M100 43 C 136 43, 167 64, 170 101 C 172 127, 159 149, 139 158 C 126 164, 112 165, 100 165 C 88 165, 74 164, 61 158 C 41 149, 28 127, 30 101 C 33 64, 64 43, 100 43 Z")}}.part-eye{animation:7.4s ease-in-out infinite blink-organic}.gotchi.expr-sleepy .part-eye{animation:none}@keyframes blink-organic{0%,26%,35%,74%,79%,84%,89%,to{transform:scale(1)}28%{transform:scale(1.06,.12)}30.5%{transform:scale(1.03,.6)}32.5%{transform:scaleY(1.04)}76.5%{transform:scale(1.06,.12)}81.5%{transform:scale(1.06,.12)}86.5%{transform:scaleY(1.03)}}.part-brow{transform-box:fill-box;transform-origin:50%;animation:7.4s ease-in-out infinite brow-life}@keyframes brow-life{0%,26%,35%,74%,84%,to{transform:translateY(0)}28%{transform:translateY(1.8px)}76.5%,81.5%{transform:translateY(1.5px)}}.part-face{transform-box:fill-box;transform-origin:50%;animation:13s ease-in-out infinite face-glance}.face-rig{animation:3.6s ease-in-out infinite face-lag}.gotchi.behavior-watch .part-face,.gotchi.behavior-read .part-face,.gotchi.behavior-type .part-face,.gotchi.behavior-duck .part-face{animation:none}@keyframes face-glance{0%,20%{transform:translate(0)rotate(0)}24%,38%{transform:translate(-2.5px,.5px)rotate(-1.2deg)}42%,58%{transform:translate(0)rotate(0)}62%,74%{transform:translate(2.5px,.3px)rotate(1deg)}78%,to{transform:translate(0)rotate(0)}}@keyframes face-lag{0%,12%,to{transform:translateY(0)}52%{transform:translateY(1.6px)}86%{transform:translateY(-1px)}}.mouth-smile{animation:6.8s ease-in-out infinite smile-idle}@keyframes smile-idle{0%,55%,to{d:path("M92 114 Q 100 121, 108 114")}25%,40%{d:path("M91.5 113.5 Q 100 122.5, 108.5 113.5")}75%,88%{d:path("M92.5 114.5 Q 100 119.5, 107.5 114.5")}}.part-arm{transform-box:fill-box}.part-arm.left{transform-origin:78% 12%;animation:3.6s ease-in-out infinite arm-drag-l}.part-arm.right{transform-origin:22% 12%;animation:3.6s ease-in-out infinite arm-drag-r}@keyframes arm-drag-l{0%,12%,to{transform:rotate(0)}55%{transform:rotate(-8deg)}86%{transform:rotate(4.5deg)}}@keyframes arm-drag-r{0%,12%,to{transform:rotate(0)}55%{transform:rotate(8deg)}86%{transform:rotate(-4.5deg)}}.part-foot{transform-box:fill-box;transform-origin:top}.part-foot.left{animation:3.6s ease-in-out infinite foot-hang}.part-foot.right{animation:3.6s ease-in-out 70ms infinite foot-hang}@keyframes foot-hang{0%,12%,to{transform:translateY(0)scale(1)}50%,58%{transform:translateY(2.5px)scale(1)}84%{transform:translateY(0)scale(1.06,.9)}}.part-tail{transform-box:fill-box;transform-origin:0;animation:3.6s ease-in-out infinite tail-swish}@keyframes tail-swish{0%,12%,to{transform:rotate(0)}54%{transform:rotate(6deg)translateY(1px)}86%{transform:rotate(-5deg)}}.part-crest,.part-sprout{transform-box:fill-box;transform-origin:bottom;animation:3.6s ease-in-out infinite head-sway}@keyframes head-sway{0%,12%,to{transform:scale(1)rotate(0)}52%{transform:scale(1.03,.92)rotate(2deg)}86%{transform:scale(.97,1.07)rotate(-2.5deg)}}.sprout-leaf{animation:3.6s ease-in-out infinite leaf-flex}.sprout-leaf2{animation:3.6s ease-in-out infinite leaf-flex-2}@keyframes leaf-flex{0%,12%,to{d:path("M104 22 C 108 11, 119 7, 127 10 C 123 20, 113 26, 104 22 Z")}52%{d:path("M104 22 C 109 12, 120 10, 128 14 C 123 22, 113 26, 104 22 Z")}86%{d:path("M104 22 C 107 10, 118 5, 126 7 C 123 19, 113 26, 104 22 Z")}}@keyframes leaf-flex-2{0%,12%,to{d:path("M102 27 C 96 20, 87 18, 80 22 C 85 30, 95 32, 102 27 Z")}52%{d:path("M102 27 C 96 21, 88 21, 81 26 C 86 31, 95 32, 102 27 Z")}86%{d:path("M102 27 C 96 19, 86 16, 79 19 C 84 29, 95 32, 102 27 Z")}}.part-cheek{transform-box:fill-box;transform-origin:50%;animation:3.6s ease-in-out infinite cheek-jiggle}@keyframes cheek-jiggle{0%,12%,to{transform:scale(1)}50%{transform:scale(.97,1.02)}84%{transform:scale(1.08,.94)}}.gotchi.form-builder :is(.part-arm,.part-foot,.part-cheek,.face-rig,.part-crest,.part-sprout,.sprout-leaf,.sprout-leaf2,.body-shape,.body-line,.part-belly,.anchor-hat,.anchor-held){animation-duration:4.4s}.gotchi.form-sentinel :is(.part-arm,.part-foot,.part-cheek,.face-rig,.part-crest,.part-sprout,.sprout-leaf,.sprout-leaf2,.body-shape,.body-line,.part-belly,.anchor-hat,.anchor-held){animation-duration:4.8s}.gotchi.talking .mouth-smile,.gotchi.talking .mouth-worried,.gotchi.talking .mouth-flat,.gotchi.talking .mouth-o{display:none}.gotchi.talking .mouth-talk{display:block}.gotchi.talking .talk-cavity{animation:.44s ease-in-out infinite jaw-talk}.gotchi.talking .talk-tongue{animation:.44s ease-in-out infinite tongue-talk}.gotchi.talking .face-rig{animation:.44s ease-in-out infinite talk-bounce}@keyframes jaw-talk{0%,to{d:path("M92 113.5 Q 100 116.5, 108 113.5 Q 100 118.5, 92 113.5 Z")}28%{d:path("M92 112 Q 100 113.5, 108 112 Q 100 129, 92 112 Z")}55%{d:path("M93 113 Q 100 114.5, 107 113 Q 100 122, 93 113 Z")}76%{d:path("M92.5 112.5 Q 100 114, 107.5 112.5 Q 100 126, 92.5 112.5 Z")}}@keyframes tongue-talk{0%,to{d:path("M96 115 Q 100 114, 104 115 Q 100 117, 96 115 Z");opacity:0}28%{d:path("M95 117.5 Q 100 116, 105 117.5 Q 100 124, 95 117.5 Z");opacity:1}55%{d:path("M95.5 116.5 Q 100 115.5, 104.5 116.5 Q 100 120, 95.5 116.5 Z");opacity:.9}76%{d:path("M95 117 Q 100 115.5, 105 117 Q 100 122.5, 95 117 Z");opacity:1}}@keyframes talk-bounce{0%,to{transform:translateY(0)}28%{transform:translateY(.8px)}}.gotchi.behavior-stretch .mouth-smile{display:none}.gotchi.behavior-stretch .mouth-talk{display:block}.gotchi.behavior-stretch .talk-cavity{animation:2.5s ease-in-out yawn}.gotchi.behavior-stretch .talk-tongue{animation:2.5s ease-in-out yawn-tongue}@keyframes yawn{0%,18%,90%,to{d:path("M92 113.5 Q 100 116.5, 108 113.5 Q 100 118.5, 92 113.5 Z")}45%,65%{d:path("M92 111.5 Q 100 112.5, 108 111.5 Q 100 131, 92 111.5 Z")}}@keyframes yawn-tongue{0%,18%,90%,to{d:path("M96 115 Q 100 114, 104 115 Q 100 117, 96 115 Z");opacity:0}45%,65%{d:path("M95 118.5 Q 100 117, 105 118.5 Q 100 125.5, 95 118.5 Z");opacity:1}}.gotchi.behavior-munch .mouth-smile{display:none}.gotchi.behavior-munch .mouth-talk{display:block}.gotchi.behavior-munch .talk-cavity{animation:.55s ease-in-out infinite chew-jaw}@keyframes chew-jaw{0%,to{d:path("M92 113.5 Q 100 116.5, 108 113.5 Q 100 118.5, 92 113.5 Z")}30%{d:path("M93 112.5 Q 101 114, 108.5 112.5 Q 100.5 124, 93 112.5 Z")}60%{d:path("M91.5 113 Q 99 114.5, 107 113 Q 99.5 121, 91.5 113 Z")}}.gotchi.behavior-sleep .mouth-flat,.gotchi.behavior-sleep .mouth-smile{display:none}.gotchi.behavior-sleep .mouth-talk{display:block}.gotchi.behavior-sleep .talk-cavity{animation:4.5s ease-in-out infinite snore}.gotchi.behavior-sleep .body-shape,.gotchi.behavior-sleep .body-line{animation:4.5s ease-in-out infinite body-breathe-deep}.gotchi.behavior-sleep .part-belly{animation:4.5s ease-in-out infinite belly-breathe-deep}.gotchi.form-builder.behavior-sleep .body-shape,.gotchi.form-builder.behavior-sleep .body-line{animation:4.5s ease-in-out infinite body-breathe-builder}.gotchi.form-builder.behavior-sleep .part-belly{animation:none}@keyframes snore{0%,to{d:path("M94 115 Q 100 115.5, 106 115 Q 100 117.5, 94 115 Z")}45%,58%{d:path("M94.5 114.5 Q 100 115, 105.5 114.5 Q 100 120.5, 94.5 114.5 Z")}}@keyframes body-breathe-deep{0%,to{d:path("M100 42 C 129 40, 156 59, 162 90 C 166 112, 158 136, 141 150 C 128 160, 113 163, 100 163 C 86 163, 71 159, 58 148 C 42 134, 35 111, 39 90 C 45 60, 72 44, 100 42 Z")}45%,58%{d:path("M100 45 C 131 43, 159 62, 165 92 C 169 114, 160 138, 143 152 C 129 162, 113 165, 100 165 C 86 165, 69 161, 56 150 C 39 136, 32 113, 37 92 C 43 62, 70 47, 100 45 Z")}}@keyframes belly-breathe-deep{0%,to{d:path("M63 119 Q 75 107, 87 115 Q 100 105, 113 115 Q 125 107, 137 119 Q 140 149, 100 156 Q 60 149, 63 119 Z")}45%,58%{d:path("M61 117 Q 75 105, 87 113 Q 100 103, 113 113 Q 125 105, 139 117 Q 144 151, 100 158 Q 56 151, 61 117 Z")}}.gotchi.behavior-celebrate .part-cheek{transform-box:fill-box;transform-origin:50%;animation:.9s ease-in-out 2 cheek-puff}@keyframes cheek-puff{0%,to{transform:scale(1)}40%{transform:scale(1.35)}}.gotchi.expr-surprised .eye-ball{transform-box:fill-box;transform-origin:50%;transform:scale(1.22)}.gotchi.form-scholar{--accent:#7ee2c3;--accent-2:#e8d29a}.form-scholar .part-horns .horn{stroke:var(--accent-2);stroke-width:3.5px;stroke-linecap:round}.form-scholar .part-horns .horn-glow{stroke:var(--accent);stroke-width:7px;stroke-linecap:round;opacity:.22}.form-scholar .part-whiskers .whisker{stroke:var(--accent-2);stroke-width:2.5px;stroke-linecap:round;opacity:.9;transform-box:fill-box;transform-origin:100%;animation:3.6s ease-in-out infinite whisker-sway}.form-scholar .part-whiskers .whisker.right{transform-origin:0;animation-delay:-1.8s}@keyframes whisker-sway{0%,12%,to{transform:rotate(0)}55%{transform:rotate(-6deg)translateY(-1px)}86%{transform:rotate(3deg)}}.form-scholar .part-tail .tail-body{fill:var(--shell-2)}.form-scholar .part-tail .tail-fin{fill:var(--accent);opacity:.85}.form-scholar .part-sigil{fill:var(--accent);animation:3.8s ease-in-out infinite gem-glow}.form-scholar .part-tail{animation-name:tail-coil;animation-duration:7.2s}@keyframes tail-coil{0%,to{transform:rotate(0)}35%{transform:rotate(5deg)translateY(-2px)}70%{transform:rotate(-3deg)}}.form-scholar .part-gem{fill:var(--accent);animation:3.8s ease-in-out infinite gem-glow}@keyframes gem-glow{0%,to{opacity:.75}50%{opacity:1}}.form-scholar .part-scales path{stroke:var(--shell-2);opacity:.4}.form-scholar .part-runes{transform-box:fill-box;transform-origin:50%;animation:14s ease-in-out infinite rune-orbit}.form-scholar .rune{fill:var(--accent);transform-box:fill-box;transform-origin:50%;animation:3.4s ease-in-out infinite rune-shimmer}.form-scholar .rune.r2{animation-delay:-1.1s}.form-scholar .rune.r3{animation-delay:-2.2s}.form-scholar .rune.r4{animation-delay:-.6s}.form-scholar .rune.r5{animation-delay:-1.7s}@keyframes rune-orbit{0%,to{transform:rotate(0)}50%{transform:rotate(6deg)}}@keyframes rune-shimmer{0%,to{opacity:.5;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}.gotchi.form-builder{--accent:#c9925a;--accent-2:#8a94a6}.gotchi.form-builder .gotchi-rig{animation:4.4s ease-in-out infinite bob-heavy}.gotchi.form-builder .part-shadow{animation-duration:4.4s}@keyframes bob-heavy{0%{transform:translateY(0)scale(1)}12%{transform:translateY(1px)scale(1.02,.98)}48%{transform:translateY(-5px)scale(.995,1.008)}56%{transform:translateY(-5.5px)scale(1)}84%{transform:translateY(.5px)scale(1.015,.985)}to{transform:translateY(0)scale(1)}}.gotchi.form-builder.behavior-hop .gotchi-rig{animation:.6s cubic-bezier(.37,0,.63,1) 2 stomp}@keyframes stomp{0%,to{transform:translateY(0)scale(1)}18%{transform:translateY(3px)scale(1.09,.86)}38%{transform:translateY(-9px)scale(.96,1.06)}52%{transform:translateY(-8px)scale(1)}74%{transform:translateY(2px)scale(1.12,.85)}88%{transform:translateY(-1px)scale(.97,1.03)}}.form-builder .part-plates .plate{fill:var(--accent-2);stroke:#00000059;stroke-width:1.5px}.form-builder .part-horns .horn-nub{fill:var(--accent-2)}.form-builder .part-seams .seam{fill:none;stroke:var(--shell-glow);stroke-width:2.5px;stroke-linecap:round;animation:4.6s ease-in-out infinite seam-glow}.form-builder .part-seams .seam:nth-child(2){animation-delay:-1.5s}.form-builder .part-seams .seam:nth-child(3){animation-delay:-3s}@keyframes seam-glow{0%,to{opacity:.35}50%{opacity:1}}.form-builder .part-tail .tail-handle{fill:var(--accent)}.form-builder .part-tail .tail-head{fill:var(--accent-2);stroke:#00000059;stroke-width:1.5px}.form-builder .part-tail{animation-name:hammer-rest;animation-duration:4.4s}@keyframes hammer-rest{0%,12%,to{transform:rotate(0)}54%{transform:rotate(-3deg)translateY(1px)}86%{transform:rotate(1.5deg)}}.gotchi.form-tinkerer{--accent:#ffb066;--accent-2:#d97e3d}.form-tinkerer .part-ear .ear-outer{fill:var(--shell-2)}.form-tinkerer .part-ear .ear-inner{fill:var(--accent);opacity:.85}.form-tinkerer .part-ears{transform-box:fill-box;transform-origin:bottom;animation:3.6s ease-in-out infinite head-sway}.form-tinkerer .part-ear{transform-box:fill-box;transform-origin:bottom;animation:6.2s ease-in-out infinite ear-twitch}.form-tinkerer .part-ear.right{animation-delay:-3.7s}@keyframes ear-twitch{0%,86%,94%,to{transform:rotate(0)}88%{transform:rotate(-8deg)}91%{transform:rotate(4deg)}}.form-tinkerer .part-tail .tail-brush{fill:var(--shell-2)}.form-tinkerer .part-tail .ember{fill:var(--accent);animation:1.9s ease-in-out infinite spark-flicker}.form-tinkerer .part-tail .ember.e2{animation-delay:-.9s}.form-tinkerer .part-tail{animation-name:tail-swish-fox}@keyframes tail-swish-fox{0%,12%,to{transform:rotate(0)}54%{transform:rotate(8deg)translateY(1px)}86%{transform:rotate(-7deg)}}.form-tinkerer .part-strap .strap-band{fill:var(--ink);opacity:.35;stroke:none}.form-tinkerer .part-strap .strap-buckle{fill:var(--accent-2);stroke:none}.form-tinkerer .part-markings .strap-band,.form-tinkerer .part-markings .strap-buckle{opacity:.8}.form-tinkerer .part-sparks .spark{fill:var(--accent);transform-box:fill-box;transform-origin:50%;animation:2.3s ease-in-out infinite spark-flicker}.form-tinkerer .part-sparks .spark.k2{animation-delay:-.8s}.form-tinkerer .part-sparks .spark.k3{animation-delay:-1.6s}@keyframes spark-flicker{0%,to{opacity:.25;transform:scale(.85)}50%{opacity:1;transform:scale(1.1)}}.form-tinkerer .part-mechwing .mech-panel{fill:color-mix(in srgb, var(--accent-2) 30%, #3d434f);stroke:var(--accent-2);stroke-width:1.8px;stroke-linejoin:round}.form-tinkerer .part-mechwing .mech-rivets circle{fill:#ffffff80}.form-tinkerer .part-mechwing .mech-strut{stroke:var(--accent-2);stroke-width:2px}.form-tinkerer .part-mechwing .mech-cog{fill:var(--accent-2);transform-box:fill-box;transform-origin:50%;animation:3.2s steps(8,end) infinite gear-tick}@keyframes gear-tick{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.form-tinkerer .part-mechwing{transform-box:fill-box;transform-origin:100%;animation:3.6s ease-in-out infinite mech-flutter}.form-tinkerer .part-mechwing.right{transform-origin:0%;animation-name:mech-flutter-r}@keyframes mech-flutter{0%,12%,to{transform:rotate(0)}45%{transform:rotate(4deg)}84%{transform:rotate(-2deg)}}@keyframes mech-flutter-r{0%,12%,to{transform:rotate(0)}45%{transform:rotate(-4deg)}84%{transform:rotate(2deg)}}.gotchi.form-sentinel{--accent:#9fc4e8;--accent-2:#6b7f9e}.gotchi.form-sentinel .gotchi-rig{animation:4.8s ease-in-out infinite bob-heavy}.gotchi.form-sentinel .part-shadow{animation-duration:4.8s}.form-sentinel .part-helmcrest .crest-fin{fill:var(--accent-2)}.form-sentinel .part-helmcrest .crest-ridge{stroke:var(--accent);stroke-width:2px;opacity:.8}.form-sentinel .part-helmcrest .crest-gem{fill:var(--accent);animation:4.2s ease-in-out infinite gem-glow}.form-sentinel .part-visor .visor-band{fill:var(--accent-2);stroke:none;opacity:.85}.form-sentinel .part-visor .visor-slit{stroke:#0000004d;stroke-width:1.6px;opacity:.8}.form-sentinel .part-visor .visor-rivet{fill:#ffffff80}.form-sentinel .part-pauldron .pauldron-plate{fill:var(--accent-2);stroke:#0000004d;stroke-width:1.4px}.form-sentinel .part-pauldron .pauldron-plate.under{opacity:.75}.form-sentinel .part-pauldron .pauldron-rivet{fill:#ffffff80}.form-sentinel .part-tail .tail-arm{fill:var(--shell-2)}.form-sentinel .part-tail .tail-shield-plate{fill:var(--accent-2)}.form-sentinel .part-tail .tail-shield-emblem{fill:var(--accent);animation:4.2s ease-in-out infinite gem-glow}.form-sentinel .part-tail{animation-name:hammer-rest;animation-duration:4.8s}.form-sentinel .part-ward .ward-plate{fill:color-mix(in srgb, var(--accent-2) 35%, #39445a);stroke:var(--accent);stroke-width:1.8px;stroke-linejoin:round}.form-sentinel .part-ward .ward-boss{fill:var(--accent);opacity:.9}.form-sentinel .part-ward .ward-rivet{fill:#ffffff80}.form-sentinel .part-ward{transform-box:fill-box;transform-origin:50%;animation:4.4s ease-in-out infinite ward-hover}.form-sentinel .part-ward.right{animation-delay:-2.2s}@keyframes ward-hover{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.form-sentinel .part-glints .glint{fill:var(--accent);transform-box:fill-box;transform-origin:50%;animation:3.4s ease-in-out infinite spark-flicker}.form-sentinel .part-glints .glint.g2{animation-delay:-1.4s}.form-sentinel .part-glints .glint.g3{animation-delay:-2.6s}.gotchi.form-architect{--accent:#ffd98a;--accent-2:#8ea4e8}.form-architect .part-antenna .antenna-stem{stroke:var(--accent-2);stroke-width:2.2px}.form-architect .part-antenna .antenna-star{fill:var(--accent);transform-box:fill-box;transform-origin:50%;animation:3.6s ease-in-out infinite rune-shimmer}.form-architect .part-wisps .wisp{fill:var(--accent-2);opacity:.45;transform-box:fill-box;transform-origin:50%;animation:7.2s ease-in-out infinite wisp-drift}.form-architect .part-wisps .wisp.w2{animation-delay:-3.6s}@keyframes wisp-drift{0%,to{opacity:.45;transform:translate(0)}50%{opacity:.65;transform:translate(3px,-4px)}}.form-architect .part-constellation .const-line{stroke:var(--accent-2);stroke-width:1.4px;opacity:.65}.form-architect .part-constellation .const-line.faint{opacity:.4}.form-architect .part-constellation .const-node{fill:var(--accent);transform-box:fill-box;transform-origin:50%;animation:3.2s ease-in-out infinite rune-shimmer}.form-architect .part-constellation .const-node.n2{animation-delay:-.5s}.form-architect .part-constellation .const-node.n3{animation-delay:-1.1s}.form-architect .part-constellation .const-node.n4{animation-delay:-1.7s}.form-architect .part-constellation .const-node.n5{animation-delay:-2.3s}.form-architect .part-constellation .const-node.n6{animation-delay:-2.9s}.form-architect .part-constellation .const-node.n7{animation-delay:-.8s}.form-architect .part-constellation .const-node.n8{animation-delay:-1.9s}.form-architect .part-constellation .const-node.n9{animation-delay:-2.6s}.form-architect .part-tail .tail-sweep{fill:var(--shell-2)}.form-architect .part-tail .tail-star{fill:var(--accent);animation:3.4s ease-in-out infinite gem-glow}.form-architect .part-tail .tail-mote{fill:var(--accent);animation:2.6s ease-in-out infinite spark-flicker}.form-architect .part-tail .tail-mote.m2{animation-delay:-1.3s}.form-architect .part-tail{animation-name:tail-coil;animation-duration:7.2s}.form-architect .part-orbit .orbit-arc{stroke:var(--accent-2);stroke-width:1.6px;stroke-dasharray:5 7;opacity:.55}.form-architect .part-orbit .orbit-star{fill:var(--accent);transform-box:fill-box;transform-origin:50%;animation:4s ease-in-out infinite rune-shimmer}.form-architect .part-orbit .orbit-star.o2{animation-delay:-1.3s}.form-architect .part-orbit .orbit-star.o3{animation-delay:-2.6s}.form-architect .part-orbit{transform-box:fill-box;transform-origin:50%;animation:16s ease-in-out infinite rune-orbit}.gotchi[class*=regalia-] .part-regalia .regalia-fill{fill:var(--regalia-accent,#f0c674)}.gotchi[class*=regalia-] .part-regalia .regalia-line{stroke:var(--regalia-accent,#f0c674);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.gotchi[class*=regalia-] .part-regalia .regalia-line.thin{stroke-width:1.4px;opacity:.8}.gotchi[class*=regalia-] .part-regalia .regalia-side{stroke:var(--regalia-accent-2,#b48bff);stroke-width:2px;stroke-linecap:round;opacity:.8}.gotchi[class*=regalia-] .part-regalia .regalia-mote{fill:var(--regalia-accent-2,#b48bff);transform-box:fill-box;transform-origin:50%;animation:3.8s ease-in-out infinite rune-shimmer}.gotchi[class*=regalia-] .part-regalia .regalia-mote.m2{animation-delay:-1.3s}.gotchi[class*=regalia-] .part-regalia .regalia-mote.m3{animation-delay:-2.6s}.gotchi[class*=regalia-] .part-regalia.regalia-sigil{transform-box:fill-box;transform-origin:50%;animation:5.4s ease-in-out infinite regalia-float}@keyframes regalia-float{0%,to{opacity:.92;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}.gotchi[class*=regalia-] .part-aura{fill:var(--regalia-accent,var(--shell-glow))}.gotchi.regalia-backend{--regalia-accent:#6ea8fe;--regalia-accent-2:#a5c7ff}.gotchi.regalia-devops{--regalia-accent:#7ee2a8;--regalia-accent-2:#bff0d3}.gotchi.regalia-arcade{--regalia-accent:#ff8fb3;--regalia-accent-2:#ffc2d6}.gotchi.regalia-windows-admin{--regalia-accent:#9fc4e8;--regalia-accent-2:#cfe2f5}.gotchi.regalia-systems-architect{--regalia-accent:#ffd98a;--regalia-accent-2:#8ea4e8}.gotchi.is-egg .part-egg{transform-origin:100px 161px;animation:egg-idle-sway 5.2s var(--ease,ease-in-out) infinite}.gotchi.is-egg .part-egg .egg-glow,.gotchi.is-egg .part-egg .part-egg-crack path{opacity:0}@keyframes egg-idle-sway{0%,55%,to{transform:rotate(0)}62%{transform:rotate(-3deg)}68%{transform:rotate(2.6deg)}74%{transform:rotate(-1.8deg)}79%{transform:rotate(.9deg)}84%{transform:rotate(0)}}@media (prefers-reduced-motion:reduce){.part-eye,.part-brow,.part-arm.left,.part-arm.right,.part-foot.left,.part-foot.right,.part-tail,.part-crest,.part-sprout,.sprout-leaf,.sprout-leaf2,.part-face,.face-rig,.part-cheek,.part-belly,.part-body .body-shape,.part-body .body-line,.mouth-smile,.gotchi.talking .talk-cavity,.gotchi.talking .talk-tongue,.gotchi.talking .face-rig,.gotchi.behavior-stretch .talk-cavity,.gotchi.behavior-stretch .talk-tongue,.gotchi.behavior-munch .talk-cavity,.gotchi.behavior-sleep .talk-cavity,.gotchi.behavior-sleep .body-shape,.gotchi.behavior-sleep .body-line,.gotchi.behavior-sleep .part-belly,.gotchi.behavior-celebrate .part-cheek,.form-scholar .part-whiskers .whisker,.form-scholar .part-runes,.form-scholar .rune,.form-scholar .part-gem,.gotchi.form-builder .gotchi-rig,.form-builder .part-seams .seam,.form-tinkerer .part-ears,.form-tinkerer .part-ear,.form-tinkerer .part-tail .ember,.form-tinkerer .part-sparks .spark,.form-tinkerer .part-mechwing,.form-tinkerer .part-mechwing .mech-cog,.gotchi.form-sentinel .gotchi-rig,.form-sentinel .part-helmcrest .crest-gem,.form-sentinel .part-tail .tail-shield-emblem,.form-sentinel .part-ward,.form-sentinel .part-glints .glint,.form-architect .part-antenna .antenna-star,.form-architect .part-wisps .wisp,.form-architect .part-constellation .const-node,.form-architect .part-tail .tail-star,.form-architect .part-tail .tail-mote,.form-architect .part-orbit,.form-architect .part-orbit .orbit-star,.gotchi[class*=regalia-] .part-regalia.regalia-sigil,.gotchi[class*=regalia-] .part-regalia .regalia-mote,.gotchi.is-egg .part-egg{animation:none}}
.gotchi.is-creature{--shell-hi:color-mix(in oklab, var(--shell) 52%, #fff);--shell-lo:color-mix(in oklab, var(--shell-2) 62%, #000);--shell-deep:color-mix(in oklab, var(--shell-2) 42%, #0a0f1a);--belly:color-mix(in oklab, var(--shell) 28%, #fff4dc);--belly-lo:color-mix(in oklab, var(--belly) 78%, var(--shell-2));--line:color-mix(in oklab, var(--shell-2) 32%, #0b0f1c);--blush:#ff787880;--eye:#141824;--iris:color-mix(in oklab, var(--shell-2) 55%, #1a1030)}.gotchi.is-creature.form-scholar{--accent:#7ee2c3;--accent-2:#e8d29a}.gotchi.is-creature.form-builder{--accent:#c9925a;--accent-2:#8a94a6}.gotchi.is-creature.form-tinkerer{--accent:#ffb066;--accent-2:#d97e3d}.gotchi.is-creature.form-sentinel{--accent:#9fc3ff;--accent-2:#e3b341}.gotchi.is-creature.form-architect{--accent:#b8a6ff;--accent-2:#fff1b8}.gotchi.is-creature.form-wild{--accent:#9be38a;--accent-2:#f0c674}.creature-svg{touch-action:manipulation}.cr-shadow{fill:#00000059;filter:blur(3px)}.cr-stage-aura{fill:var(--shell-glow);transform-box:fill-box;transform-origin:50%;animation:3.6s ease-in-out infinite aura-pulse}@media (prefers-reduced-motion:reduce){.cr-stage-aura{animation:none}}.species-picker{gap:var(--space-4,16px);justify-items:center;display:grid}.species-cards{gap:var(--space-3,12px);grid-template-columns:repeat(3,minmax(0,1fr));width:min(720px,100%);display:grid}.species-card{border-radius:var(--radius-l,18px);border:1px solid var(--border,#2a3240);background:var(--panel,#161b22);color:var(--text,#e6edf3);font:inherit;cursor:pointer;text-align:center;align-content:start;justify-items:center;gap:4px;padding:10px 12px 14px;transition:border-color .15s,transform .15s,box-shadow .15s;display:grid}.species-card:hover{border-color:#3d4a5e;transform:translateY(-2px)}.species-card:focus-visible{outline:2px solid var(--shell,#57d9a3);outline-offset:2px}.species-card.is-selected{border-color:var(--shell,#57d9a3);box-shadow:0 0 0 1px var(--shell,#57d9a3), 0 0 28px -8px var(--shell-glow,#57d9a366)}.species-card-sprite{width:100%;max-width:170px;display:block}.species-card-sprite .gotchi{margin:18px 0 0;display:block}.species-card-sprite .gotchi-svg{width:100%!important}.species-card-name{font-size:var(--text-lg,1.2rem)}.species-card-blurb{color:var(--muted,#8b97a7);font-size:var(--text-sm,.875rem);line-height:1.4}.species-error{color:var(--fail,#f85149);margin:0}.hatch-choose{text-align:center;max-width:760px}.hatch-choose-title{margin:0 0 4px}.hatch-choose-sub{margin:0 0 var(--space-4,16px);color:var(--muted,#8b97a7)}.pet-species-choice{margin:0 0 var(--space-5,24px);padding:var(--space-5,24px);border-radius:var(--radius-l,18px);border:1px solid var(--shell,#57d9a3);background:var(--panel,#161b22);text-align:center}.pet-species-choice h2{margin-top:0}@media (max-width:640px){.species-cards{grid-template-columns:1fr}.species-card{text-align:left;grid-template-columns:96px 1fr;justify-items:start}.species-card-sprite{grid-row:span 2}}@media (prefers-reduced-motion:reduce){.species-card,.species-card:hover{transition:none;transform:none}}.modal.species-prompt{text-align:center;width:min(780px,100%);max-height:calc(100dvh - 32px);overflow-y:auto}.species-prompt h2{margin:0 0 6px}.species-prompt>.muted{margin:0 auto var(--space-4,16px);max-width:560px}.species-prompt-later{margin-top:var(--space-2,8px)}.species-prompt-done{gap:var(--space-3,12px);padding:var(--space-4,16px) 0;justify-items:center;display:grid}.creature-showcase{color:#e8ede9;max-width:1240px;margin:auto;padding:48px 32px 64px}.cs-header{justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px;display:flex}.cs-eyebrow{font:600 11px/1.5 var(--font-geist-mono,monospace);letter-spacing:.18em;color:#a6c5b4;margin:0 0 12px}.cs-header h1{letter-spacing:-.04em;margin:0 0 12px;font-size:clamp(26px,3vw,40px);line-height:1.15}.cs-header p:last-child,.cs-controls>p:not(.cs-eyebrow){color:#95a39e;margin:0;line-height:1.65}.creature-showcase button,.creature-showcase select{font:inherit;color:inherit}.creature-showcase button{cursor:pointer}.creature-showcase button:focus-visible,.creature-showcase select:focus-visible,.creature-showcase input:focus-visible{outline-offset:4px;outline:2px solid #9fe8bc}.cs-motion,.cs-section-title>button{white-space:nowrap;background:#1c2824;border:1px solid #354b40;border-radius:30px;padding:10px 16px;font-size:13px!important}.cs-species{gap:10px;margin-bottom:20px;display:flex}.cs-species button{text-align:left;background:#171d1c;border:1px solid #2d3936;border-radius:14px;flex:1;padding:15px 20px;font-weight:650}.cs-species span{color:#92a29a;margin-top:4px;font-size:12px;font-weight:400;display:block}.cs-species button[aria-pressed=true]{background:#203229;border-color:#7aaa8c}.cs-workbench{background:#181f1c;border:1px solid #344139;border-radius:22px;grid-template-columns:1.25fr 1fr;display:grid;overflow:hidden}.cs-scene{isolation:isolate;background:radial-gradient(at 50% 52%,#354b40 0,#26382f 38%,#19251f 76%);place-items:center;min-height:450px;display:grid;position:relative;overflow:hidden}.cs-scene:after{content:"";pointer-events:none;opacity:.09;z-index:-1;background-image:radial-gradient(#aec9b6 1px,#0000 1px);background-size:38px 38px;position:absolute;inset:0}.cs-scene-label{color:#a7bbae;font:11px var(--font-geist-mono,monospace);text-transform:uppercase;letter-spacing:.12em;position:absolute;top:22px;left:24px}.cs-orbit{z-index:-1;border:1px solid #749b7c30;border-radius:50%;width:350px;height:350px;position:absolute}.cs-orbit:after{content:"";border:1px solid #749b7c18;border-radius:50%;position:absolute;inset:22px}.cs-plinth{z-index:-1;background:radial-gradient(#91aa7950,#91aa7910 65%,#0000 70%);border-radius:50%;width:270px;height:32px;position:absolute;bottom:43px}.creature-showcase .gotchi{margin:0;display:block}.creature-showcase .gotchi-svg{display:block;width:100%!important}.cs-scene>.gotchi{width:min(370px,85%);margin-top:32px}.cs-controls{flex-direction:column;align-items:stretch;gap:18px;padding:34px;display:flex}.cs-controls .cs-eyebrow{margin-bottom:-8px}.cs-controls h2{letter-spacing:-.035em;margin:0;font-size:32px}.cs-controls label{color:#a9b8af;flex-direction:column;gap:8px;font-size:12px;display:flex}.cs-controls>label[for]{flex-direction:row;justify-content:space-between;margin-top:4px}.cs-controls strong{color:#d6e9dc;font-weight:500}.cs-controls input{accent-color:#a3d7ac;width:100%}.cs-controls select{text-transform:capitalize;background:#111a16;border:1px solid #36473c;border-radius:8px;padding:9px 12px;font-size:13px}.cs-fields{grid-template-columns:1fr 1fr;gap:14px;display:grid}.cs-controls .cs-note{font-size:11px}.cs-section-title{justify-content:space-between;align-items:center;gap:16px;margin:30px 0 16px;display:flex}.cs-section-title h2{letter-spacing:-.02em;margin:0;font-size:18px}.cs-section-title>span{color:#94a69a;font-size:12px}.cs-growth-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.cs-growth-card{background:linear-gradient(160deg,#202a24,#151d19);border:1px solid #303d34;border-radius:14px;min-width:0;padding:28px 8px 16px;position:relative}.cs-growth-card[aria-pressed=true]{background:linear-gradient(160deg,#2e3c2d,#1c281d);border-color:#a1c391}.cs-growth-card strong{margin-top:12px;font-size:11px;font-weight:500;display:block}.cs-stage-number{color:#8aa28f;font:10px monospace;position:absolute;top:9px;left:12px}.cs-item-groups{grid-template-columns:1fr 1fr;gap:24px;display:grid}.cs-item-groups h3{color:#94a69a;margin:0 0 12px;font-size:12px;font-weight:500}.cs-item-rack{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.cs-item-rack button{background:#1a221d;border:1px solid #303d34;border-radius:12px;align-content:center;justify-items:center;gap:10px;min-width:0;padding:10px 4px;display:grid}.cs-item-rack button[aria-pressed=true]{background:#2e3c2d;border-color:#a1c391}.cs-item-rack span{text-transform:capitalize;white-space:nowrap;font-size:9px}@media (max-width:800px){.creature-showcase{padding:28px 16px}.cs-header{align-items:flex-start}.cs-header p:last-child{font-size:13px}.cs-workbench{grid-template-columns:1fr}.cs-scene{min-height:390px}.cs-controls{padding:24px}.cs-growth-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cs-item-groups{grid-template-columns:1fr}}@media (max-width:480px){.cs-header{flex-direction:column}.cs-species button{padding:12px;font-size:13px}.cs-species span{font-size:10px}.cs-section-title>span{text-align:right;max-width:130px;font-size:10px}.cs-item-rack{grid-template-columns:repeat(3,minmax(0,1fr))}.cs-item-rack span{font-size:11px}}.cs-paused .gotchi *{animation-play-state:paused!important}
