:root{--bg:#faf5e7;--bg-surface:#dde8df;--text:#2f6e5e;--text-h:#0b1f17;--accent:#1d5b4f;--accent-soft:#3b7f6c;--accent-mint:#4fd1c5;--accent-cream:#faf5e7;--border:color-mix(in oklab, var(--accent) 18%, transparent);--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--bg:#0b1f17;--bg-surface:#14302a;--text:#dde8df;--text-h:#faf5e7;--accent:#4fd1c5;--accent-soft:#3b7f6c;--accent-mint:#4fd1c5;--accent-cream:#faf5e7;--border:color-mix(in oklab, var(--accent-mint) 24%, transparent)}}body{background:var(--bg);color:var(--text);margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);letter-spacing:-.01em;margin:0;font-weight:600}.admin-panel{z-index:80;background:linear-gradient(145deg, #051210fa, #181a13fa), var(--bg);color:var(--text);grid-template-rows:auto auto auto minmax(0,1fr) auto;gap:.85rem;padding:clamp(.85rem,2vw,1.3rem);display:grid;position:fixed;inset:0}.admin-panel-header,.admin-panel-toolbar,.admin-panel-pagination{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.admin-panel-kicker{color:var(--accent-mint);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:900}.admin-panel h1,.admin-panel h2{color:var(--text-h);margin:.12rem 0 0;line-height:1}.admin-panel h1{font-size:clamp(1.35rem,3vw,2.15rem)}.admin-panel h2{font-size:1.2rem}.admin-panel-auth{color:color-mix(in oklab, var(--text) 76%, var(--accent-mint));align-items:center;gap:.65rem;font-size:.76rem;font-weight:900;display:inline-flex}.admin-panel button,.admin-panel input,.admin-panel select,.admin-panel textarea{font:inherit}.admin-panel button{border:1px solid color-mix(in oklab, var(--accent-mint) 34%, var(--border));min-height:2.25rem;color:var(--accent-mint);cursor:pointer;background:#4ad8c51a;border-radius:999px;padding:.45rem .75rem;font-size:.78rem;font-weight:900}.admin-panel button:hover:not(:disabled){background:#4ad8c52e}.admin-panel button:disabled{cursor:not-allowed;opacity:.48}.admin-panel-danger{border-color:color-mix(in oklab, #ff7a7a 58%, var(--border))!important;color:#ffb4a8!important;background:#ff7a7a1c!important}.admin-panel-toolbar{border:1px solid color-mix(in oklab, var(--border) 66%, transparent);background:#faf5e70b;border-radius:.8rem;flex-wrap:wrap;justify-content:flex-start;padding:.75rem}.admin-panel-toolbar label,.admin-panel-modal label{color:color-mix(in oklab, var(--text) 78%, var(--accent-mint));letter-spacing:.06em;text-transform:uppercase;gap:.32rem;font-size:.7rem;font-weight:900;display:grid}.admin-panel-toolbar input,.admin-panel-toolbar select,.admin-panel-modal textarea{border:1px solid color-mix(in oklab, var(--border) 72%, transparent);min-height:2.3rem;color:var(--text-h);background:#04120fb8;border-radius:.58rem}.admin-panel-toolbar input{width:min(23rem,74vw);padding:.5rem .65rem}.admin-panel-toolbar select{padding:.5rem .65rem}.admin-panel-error{color:#ffd3cc;background:#ff7a7a1a;border:1px solid #ff7a7a70;border-radius:.7rem;margin:0;padding:.68rem .8rem;font-size:.82rem;font-weight:800}.admin-panel-table-wrap{border:1px solid color-mix(in oklab, var(--border) 66%, transparent);background:#04120f6b;border-radius:.85rem;min-height:0;overflow:auto}.admin-panel-table{border-collapse:collapse;width:100%;min-width:58rem}.admin-panel-table th,.admin-panel-table td{border-bottom:1px solid color-mix(in oklab, var(--border) 54%, transparent);text-align:left;vertical-align:top;padding:.72rem}.admin-panel-table th{z-index:1;color:var(--accent-mint);letter-spacing:.08em;text-transform:uppercase;background:#071815fa;font-size:.68rem;font-weight:900;position:sticky;top:0}.admin-panel-table td{color:color-mix(in oklab, var(--text) 86%, white);font-size:.8rem}.admin-panel-table td strong,.admin-panel-table td span,.admin-panel-table td small{white-space:nowrap;text-overflow:ellipsis;max-width:18rem;display:block;overflow:hidden}.admin-panel-table td strong{color:var(--text-h);font-weight:900}.admin-panel-table td span,.admin-panel-table td small{color:color-mix(in oklab, var(--text) 62%, var(--accent-mint));margin-top:.16rem;font-size:.7rem;font-weight:800}.admin-panel-table tr[data-status=banned]{background:#ff7a7a0f}.admin-panel-status{text-transform:uppercase;background:#68dfbd1f;border-radius:999px;width:fit-content;padding:.18rem .5rem;color:var(--accent-mint)!important;display:inline-block!important}tr[data-status=banned] .admin-panel-status{background:#ff7a7a1f;color:#ffb4a8!important}.admin-panel-empty{height:8rem;text-align:center!important;vertical-align:middle!important}.admin-panel-pagination{color:color-mix(in oklab, var(--text) 68%, var(--accent-mint));font-size:.75rem;font-weight:900}.admin-panel-modal-backdrop{z-index:90;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#020807a3;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.admin-panel-modal{border:1px solid color-mix(in oklab, var(--accent-mint) 32%, var(--border));background:#081815fa;border-radius:.8rem;gap:.8rem;width:min(28rem,100%);padding:1rem;display:grid;box-shadow:0 24px 70px #0000006b}.admin-panel-modal p{color:color-mix(in oklab, var(--text) 82%, white);margin:0;font-size:.84rem}.admin-panel-modal textarea{resize:vertical;min-height:6rem;padding:.65rem}.admin-panel-modal-actions{justify-content:flex-end;gap:.55rem;display:flex}@media (width<=720px){.admin-panel{padding:.75rem}.admin-panel-header,.admin-panel-auth,.admin-panel-pagination{flex-direction:column;align-items:flex-start}.admin-panel-toolbar label,.admin-panel-toolbar input,.admin-panel-toolbar select,.admin-panel-toolbar button{width:100%}}.art-lab{z-index:50;background:color-mix(in oklab, var(--bg) 96%, var(--text) 4%);color:var(--text);padding:1.25rem;position:fixed;inset:0;overflow:auto}.art-lab-header,.art-lab-panel-head,.art-lab-card-head,.art-lab-inline-controls,.art-lab-transition-actions,.art-lab-stage-tabs{align-items:center;gap:.75rem;display:flex}.art-lab-header,.art-lab-panel-head,.art-lab-card-head{justify-content:space-between}.art-lab h1,.art-lab h2,.art-lab h3,.art-lab p{margin:0}.art-lab h1{font-size:clamp(1.6rem,3vw,2.4rem)}.art-lab h2{font-size:1.1rem}.art-lab h3{flex-wrap:wrap;align-items:center;gap:.45rem;font-size:1rem;display:flex}.art-lab-kicker{color:var(--accent);text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:800}.art-lab button,.art-lab select{border:1px solid var(--border);background:var(--bg-surface);color:var(--text);font:inherit;border-radius:.45rem}.art-lab button{cursor:pointer;min-height:2.25rem;padding:0 .75rem}.art-lab select{min-height:2.25rem;padding:0 .5rem}.art-lab-stage-tabs{flex-wrap:wrap;margin:1rem 0}.art-lab-stage-tabs button[data-active=true]{border-color:var(--accent);background:color-mix(in oklab, var(--accent) 16%, var(--bg-surface))}.art-lab-filter-bar{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.art-lab-filter-bar button{align-items:center;gap:.45rem;display:inline-flex}.art-lab-filter-bar button[data-active=true]{border-color:var(--accent);background:color-mix(in oklab, var(--accent) 16%, var(--bg-surface))}.art-lab-filter-bar span{color:var(--accent);font-size:.72rem;font-weight:800}.art-lab-band{border:1px solid var(--border);background:var(--bg-surface);border-radius:.5rem;padding:1rem}.art-lab-transition-videos{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin-top:.85rem;display:grid}.art-lab-transition-video{margin:0}.art-lab-transition-video video,.art-lab-card-video{aspect-ratio:1;object-fit:contain;background:#050505;border-radius:.4rem;width:100%}.art-lab-transition-video figcaption{color:color-mix(in oklab, var(--text) 68%, transparent);margin-top:.25rem;font-size:.8rem}.art-lab-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-top:1rem;display:grid}.art-lab-empty{border:1px dashed var(--border);color:color-mix(in oklab, var(--text) 68%, transparent);border-radius:.5rem;padding:1rem;font-size:.9rem}.art-lab-concepts-panel{margin-bottom:1rem}.art-lab-concepts-panel .art-lab-panel-head{gap:1rem}.art-lab-concept-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;margin-top:.85rem;display:grid}.art-lab-card{border:1px solid var(--border);background:var(--bg-surface);border-radius:.5rem;gap:.75rem;padding:.9rem;display:grid}.art-lab-concept-card{border:1px solid var(--border);background:color-mix(in oklab, var(--bg-surface) 92%, var(--accent) 8%);border-radius:.5rem;gap:.75rem;padding:.9rem;display:grid}.art-lab-concept-card[data-selected-reference=true]{border-color:var(--accent)}.art-lab-reference-pill{border:1px solid color-mix(in oklab, var(--accent) 65%, var(--border));min-height:1.35rem;color:var(--accent);text-transform:uppercase;border-radius:999px;align-items:center;padding:0 .45rem;font-size:.68rem;font-weight:800;display:inline-flex}.art-lab-concept-image{aspect-ratio:1;border:1px solid var(--border);background:repeating-conic-gradient(#eee 0 25%, #ddd 0 50%) 50% / 1rem 1rem;object-fit:contain;border-radius:.4rem;width:100%}.art-lab-file-grid{grid-template-columns:1fr 1fr;gap:.5rem;margin:0;display:grid}.art-lab-file-grid div{border:1px solid var(--border);border-radius:.4rem;padding:.5rem}.art-lab-file-grid dt{color:color-mix(in oklab, var(--text) 68%, transparent);font-size:.72rem}.art-lab-file-grid dd{margin:.15rem 0 0;font-size:.85rem}.art-lab-file-grid dd[data-status=present]{color:var(--accent)}.art-lab-file-grid dd[data-status=missing]{color:#b85c5c}.art-lab-frame-compare{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.art-lab-frame-compare img{aspect-ratio:1;border:1px dashed var(--border);object-fit:contain;background:repeating-conic-gradient(#eee 0 25%, #ddd 0 50%) 50% / 1rem 1rem;border-radius:.4rem;width:100%}.art-lab-prompt{color:color-mix(in oklab, var(--text) 68%, transparent);font-size:.82rem}.art-lab-prompt p{margin-top:.4rem}.art-lab-prompt code{color:var(--accent);margin-top:.4rem;display:block}.art-lab-issue-panel{color:color-mix(in oklab, var(--text) 70%, transparent);font-size:.8rem}.art-lab-issue-panel summary{cursor:pointer}.art-lab-issue-panel summary span{color:var(--accent);margin-left:.45rem;font-size:.72rem;font-weight:800}.art-lab-issue-panel p{color:color-mix(in oklab, var(--text) 64%, transparent);margin-top:.4rem;font-size:.78rem;line-height:1.35}.art-lab-issues{flex-wrap:wrap;gap:.35rem;margin-top:.55rem;display:flex}.art-lab-issues label{border:1px solid var(--border);border-radius:999px;align-items:center;gap:.25rem;padding:.22rem .45rem;font-size:.75rem;display:inline-flex}.art-lab-notes{color:color-mix(in oklab, var(--text) 68%, transparent);gap:.35rem;font-size:.82rem;display:grid}.art-lab-notes span{color:var(--accent);text-transform:uppercase;margin-left:.35rem;font-size:.72rem;font-weight:800}.art-lab-notes textarea{resize:vertical;box-sizing:border-box;border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);font:inherit;border-radius:.4rem;padding:.55rem}@media (width<=680px){.art-lab-header,.art-lab-panel-head{flex-direction:column;align-items:stretch}}.cloud-save-prompt{box-sizing:border-box;border:1px solid color-mix(in oklab, var(--accent-mint) 42%, var(--border));background:linear-gradient(140deg, #4ad8c51f, #091e1bc2), color-mix(in oklab, var(--bg) 90%, transparent);width:100%;color:var(--text);border-radius:1rem;justify-content:space-between;align-items:center;gap:.75rem;margin:.55rem 0 0;padding:.7rem .85rem;display:flex;box-shadow:0 .8rem 1.8rem #00000024}.cloud-save-prompt p{margin:0;font-size:.76rem;line-height:1.25}.cloud-save-prompt-actions{flex:none;gap:.42rem;display:inline-flex}.cloud-save-prompt button{border:1px solid color-mix(in oklab, var(--accent-mint) 55%, var(--border));background:color-mix(in oklab, var(--accent-mint) 18%, transparent);color:var(--accent-mint);cursor:pointer;text-transform:lowercase;border-radius:999px;padding:.42rem .58rem;font-size:.68rem;font-weight:800}.cloud-save-prompt button:disabled{cursor:progress;opacity:.55}.cloud-save-prompt button:last-child{color:color-mix(in oklab, var(--text) 70%, transparent);border-color:color-mix(in oklab, var(--border) 70%, transparent);background:#04120f47}@media (width<=520px){.cloud-save-prompt{flex-direction:column;align-items:stretch}.cloud-save-prompt-actions{justify-content:flex-end}}.creature{--creature-flair:#68dfbd;width:100%;max-width:320px;margin:0 auto;display:block;position:relative}.creature:before{content:"";background:radial-gradient(ellipse at 50% 62%, color-mix(in oklab, var(--creature-flair) 34%, transparent) 0%, color-mix(in oklab, var(--creature-flair) 15%, transparent) 38%, transparent 72%);filter:blur(10px);opacity:.72;pointer-events:none;border-radius:50%;position:absolute;inset:14% 12% 4%;transform:translateY(4%)}.creature-flair-aura-mint{--creature-flair:#68dfbd}.creature-flair-aura-sun{--creature-flair:#ffd484}.creature-flair-aura-berry{--creature-flair:#f19ac1}.creature-flair-aura-moon{--creature-flair:#8db7ff}button.creature-interactive{cursor:pointer;background:0 0;border:none;border-radius:1rem;padding:.5rem;font-family:inherit;transition:transform 80ms ease-out}button.creature-interactive:active{transform:scale(.96)}button.creature-interactive:focus-visible{outline:2px solid var(--accent-mint);outline-offset:2px}.creature-sprite-stack{aspect-ratio:1;transform-origin:50% 100%;z-index:1;width:100%;animation:4.2s ease-in-out infinite creature-breathe;position:relative}.creature-foot-shadow{background:radial-gradient(ellipse at center, color-mix(in oklab, var(--text-h) 55%, transparent) 0%, transparent 70%);filter:blur(6px);pointer-events:none;z-index:0;transform-origin:50%;height:14px;animation:3.6s ease-in-out infinite creature-shadow-breathe;position:absolute;bottom:1%;left:20%;right:20%}@keyframes creature-shadow-breathe{0%,to{opacity:.85;transform:scaleX(1)}50%{opacity:.7;transform:scaleX(.92)}}.creature-sprite{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;opacity:0;width:100%;height:100%;transition:opacity .6s cubic-bezier(.4,0,.2,1);position:absolute;inset:0}.creature-sprite.is-active{opacity:1}@keyframes creature-breathe{0%,to{transform:translateY(0)scale(1)rotate(0)}25%{transform:translateY(-1px)scale(1.008)rotate(-.5deg)}50%{transform:translateY(-2px)scale(1.02)rotate(0)}75%{transform:translateY(-1px)scale(1.008)rotate(.5deg)}}.creature-mood-happy .creature-sprite-stack{animation:none}.creature-mood-sad .creature-sprite-stack{animation:4s ease-in-out infinite creature-sad-slump}@keyframes creature-sad-slump{0%,to{transform:translateY(4px)scale(.985)}50%{transform:translateY(5px)scale(.985)}}.creature-eating .creature-sprite-stack{animation:none}.creature-petting .creature-sprite-stack{animation:1.2s ease-in-out creature-petting-wiggle}@keyframes creature-petting-wiggle{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-4px)rotate(-2deg)}75%{transform:translateY(-4px)rotate(2deg)}}@media (prefers-reduced-motion:reduce){.creature-sprite-stack{animation:none}.creature-sprite{transition:none}}.hearts{z-index:3;pointer-events:none;position:absolute;inset:0;overflow:visible}.heart{color:#e8738c;filter:drop-shadow(0 .18rem .25rem #00000038)drop-shadow(0 0 .55rem #ffc4d161);transform-origin:50%;width:44px;height:44px;margin-left:-22px;animation:1.5s ease-out forwards heart-rise;position:absolute;bottom:48%}.heart svg{fill:currentColor;width:100%;height:100%}@keyframes heart-rise{0%{opacity:0;transform:translate3d(0, 8px, 0) scale(.28) rotate(var(--heart-rot,0deg))}10%{opacity:1;transform:translate3d(-3px, -8px, 0) scale(1.12) rotate(calc(var(--heart-rot,0deg) - 4deg))}25%{opacity:1;transform:translate3d(8px, -28px, 0) scale(1) rotate(calc(var(--heart-rot,0deg) + 6deg))}50%{opacity:1;transform:translate3d(-7px, -54px, 0) scale(.98) rotate(calc(var(--heart-rot,0deg) - 7deg))}75%{opacity:1;transform:translate3d(6px, -78px, 0) scale(.94) rotate(calc(var(--heart-rot,0deg) + 5deg))}90%{opacity:.92;transform:translate3d(-4px, -92px, 0) scale(.92) rotate(calc(var(--heart-rot,0deg) - 3deg))}to{opacity:0;transform:translate3d(2px, -100px, 0) scale(.9) rotate(calc(var(--heart-rot,0deg) + 8deg))}}@media (prefers-reduced-motion:reduce){.heart{animation:1.5s ease-out forwards heart-rise-reduced}@keyframes heart-rise-reduced{0%{opacity:0;transform:translate3d(0, 0, 0) scale(.6) rotate(var(--heart-rot,0deg))}15%{opacity:1;transform:translate3d(0, -10px, 0) scale(1) rotate(var(--heart-rot,0deg))}85%{opacity:1;transform:translate3d(0, -90px, 0) scale(1) rotate(var(--heart-rot,0deg))}to{opacity:0;transform:translate3d(0, -100px, 0) scale(1) rotate(var(--heart-rot,0deg))}}}.thought-bubble{opacity:0;pointer-events:none;z-index:3;text-align:center;max-width:90%;margin-bottom:-1px;transition:opacity .22s,transform .22s cubic-bezier(.22,1.4,.36,1);position:absolute;bottom:100%;left:50%;transform:translate(-50%)translateY(8px)scale(.92)}.thought-bubble.is-visible{opacity:1;transform:translate(-50%)translateY(0)scale(1)}.thought-bubble-text{background:var(--bg);color:var(--text-h);border:1px solid var(--border);box-shadow:0 4px 10px color-mix(in oklab, var(--text-h) 10%, transparent), 0 1px 2px color-mix(in oklab, var(--text-h) 6%, transparent);white-space:nowrap;font-size:.95rem;line-height:1.1;font-family:var(--sans);border-radius:16px;padding:.45rem .95rem;display:inline-block;position:relative}.thought-bubble-text:after{content:"";background:var(--bg);border-right:1px solid var(--border);border-bottom:1px solid var(--border);width:10px;height:10px;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)rotate(45deg)}@media (prefers-reduced-motion:reduce){.thought-bubble{transition:opacity .12s;transform:translate(-50%)}.thought-bubble.is-visible{transform:translate(-50%)}}.celestial-body{pointer-events:none;z-index:1;width:56px;height:56px;transition:left .6s linear,top .6s linear,opacity .6s linear;position:absolute;transform:translate(-50%,-50%)}.celestial-disc{border-radius:50%;position:absolute;inset:0}.celestial-glow{filter:blur(20px);border-radius:50%;position:absolute;inset:-180%}.celestial-body-sun .celestial-disc{background:radial-gradient(circle at 35% 35%,#ffffe0 0%,#fff7ad 40%,#ffd166 70%,#ffae3a 100%);box-shadow:0 0 24px 4px #ffc8648c}.celestial-body-sun .celestial-glow{background:radial-gradient(circle,#ffdc8259 0%,#ffc8642e 30%,#0000 70%)}.celestial-body-moon .celestial-disc{background:radial-gradient(circle at 38% 32%,#f8f5e0 0%,#e8e3c8 50%,#c8c2a0 100%);box-shadow:0 0 18px 2px #f5f0c873}.celestial-body-moon .celestial-glow{background:radial-gradient(circle,#dcdcf04d 0%,#b4c8f01f 35%,#0000 70%)}@keyframes celestial-shimmer{0%,to{filter:brightness()}50%{filter:brightness(1.1)}}.celestial-body-moon .celestial-disc{animation:6s ease-in-out infinite celestial-shimmer}@media (prefers-reduced-motion:reduce){.celestial-body{transition:opacity .2s linear}.celestial-body-moon .celestial-disc{animation:none}}.star-field{pointer-events:none;z-index:1;mix-blend-mode:screen;transition:opacity 1.2s linear;position:absolute;inset:0}.star{background:radial-gradient(circle,ivory 0%,#fffff0b3 40%,#0000 100%);border-radius:50%;animation:4s ease-in-out infinite star-twinkle;position:absolute;box-shadow:0 0 4px #fffff0cc}@keyframes star-twinkle{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}@media (prefers-reduced-motion:reduce){.star{opacity:.85;animation:none}}.themed-stage{border-radius:inherit;position:absolute;inset:0;overflow:hidden}.themed-stage-scene{object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;z-index:0;width:100%;height:100%;transition:filter 1.4s;position:absolute;inset:0}.themed-stage-time-overlay{pointer-events:none;z-index:1;mix-blend-mode:multiply;transition:background 1.4s,opacity 1.4s;position:absolute;inset:0}.themed-stage-sky-effects{pointer-events:none;z-index:2;position:absolute;inset:0;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.themed-stage-time-morning{background:linear-gradient(#ffe6b42e 0%,#ffdcaa0d 100%)}.themed-stage-time-day{background:0 0}.themed-stage-time-evening{background:linear-gradient(#ff8c5052 0%,#b4505a2e 100%)}.themed-stage-time-night{background:linear-gradient(#0f193c8c 0%,#0a122899 100%)}.themed-stage-content{z-index:3;width:100%;height:100%;position:relative}.themed-stage-ground-patch{pointer-events:none;z-index:1;position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%)}.creature-view-stage{aspect-ratio:16/9;background:var(--bg-surface);border:1px solid var(--border);width:100%;min-height:22rem;box-shadow:0 1px 0 color-mix(in oklab, var(--text-h) 4%, transparent);border-radius:1.25rem;flex:none;margin-top:.5rem;position:relative;overflow:hidden}.creature-view-stage-compact{flex:initial;border-radius:1rem;min-height:18rem;margin-top:1rem}.creature-view-stage .themed-stage-content{place-items:end center;padding-bottom:1.5rem;display:grid}.stage-creatures-layout{box-sizing:border-box;justify-content:center;align-items:end;width:min(100%,24rem);padding-inline:.75rem;display:flex;position:relative}.stage-creatures-layout.has-visitor{width:min(100%,29rem)}.stage-creature-column{z-index:1;flex-direction:column;flex:auto;align-items:center;min-width:0;max-width:320px;display:flex;position:relative}.stage-hint{z-index:5;pointer-events:none;border:1px solid color-mix(in oklab, var(--accent-mint) 46%, var(--border));background:linear-gradient(180deg, #081d19e6, #04120fc7), color-mix(in oklab, var(--bg-surface) 82%, transparent);max-width:min(12rem,42vw);color:var(--accent-mint);box-shadow:0 .65rem 1.5rem #00000038, 0 0 1.1rem color-mix(in oklab, var(--accent-mint) 28%, transparent);letter-spacing:.07em;text-align:center;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:.42rem .68rem;font-size:clamp(.68rem,2vw,.78rem);font-weight:900;line-height:1.1;position:absolute}.stage-hint-pet{bottom:clamp(13.4rem,52%,17.5rem);left:50%;transform:translate(-50%)}.stage-hint-feed{top:clamp(7rem,24%,8.4rem);right:clamp(2.2rem,9%,5.4rem)}.stage-hint-portal{top:clamp(10.4rem,43%,15.8rem);left:clamp(3.1rem,9%,5.8rem)}.stage-hint:after{content:"";border-right:1px solid color-mix(in oklab, var(--accent-mint) 46%, var(--border));border-bottom:1px solid color-mix(in oklab, var(--accent-mint) 46%, var(--border));background:#04120fdb;width:.45rem;height:.45rem;position:absolute;transform:rotate(45deg)}.stage-hint-pet:after{margin-left:-.23rem;bottom:-.28rem;left:50%}.stage-hint-feed:after{top:-.28rem;right:1.4rem}.stage-hint-portal:after{margin-top:-.23rem;top:50%;left:-.22rem;transform:rotate(135deg)}@media (prefers-reduced-motion:no-preference){.stage-hint{animation:1.8s ease-in-out infinite stage-hint-float}}@keyframes stage-hint-float{0%,to{translate:0}50%{translate:0 -.22rem}}.stage-visitor{color:inherit;font:inherit;cursor:pointer;z-index:0;background:0 0;border:0;flex-direction:column;flex:0 0 clamp(88px,22vw,148px);align-items:center;margin-bottom:clamp(.9rem,2vw,1.3rem);margin-right:clamp(-.9rem,-2vw,-.35rem);padding:0;display:flex;position:relative}.stage-visitor:disabled{cursor:default}.stage-visitor:focus-visible{outline:2px solid var(--accent-mint);outline-offset:.2rem;border-radius:1rem}@media (prefers-reduced-motion:no-preference){.stage-visitor{animation:9s ease-in-out infinite stage-visitor-wander}}@keyframes stage-visitor-wander{0%,to{transform:translate(0)translateY(0)}50%{transform:translate(-.35rem)translateY(-.18rem)}}.stage-visitor-badge{z-index:3;border:1px solid color-mix(in oklab, var(--border) 82%, var(--accent));background:color-mix(in oklab, var(--bg) 88%, transparent);color:var(--accent);letter-spacing:.08em;text-transform:uppercase;text-align:center;white-space:nowrap;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none;border-radius:999px;margin:0;padding:.22rem .55rem;font-size:.66rem;font-weight:700;animation:3s ease-out both stage-visitor-name-reveal;position:absolute;top:0;left:50%;transform:translate(-50%,-72%)}@media (prefers-reduced-motion:reduce){.stage-visitor-badge{animation:none}}@keyframes stage-visitor-name-reveal{0%{opacity:0;transform:translate(-50%,-58%)scale(.96)}12%,78%{opacity:1;transform:translate(-50%,-72%)scale(1)}to{opacity:0;transform:translate(-50%,-86%)scale(.98)}}.stage-visitor-creature{transform-origin:50% 100%;filter:saturate(.92)brightness(.96);width:100%;transform:scale(.88)}.stage-visitor-creature .creature{max-width:none}@media (width<=520px){.stage-creatures-layout.has-visitor{width:min(100%,25rem)}.stage-visitor{flex-basis:clamp(76px,21vw,104px);margin-bottom:.7rem;margin-right:-.25rem}.stage-visitor-badge{letter-spacing:.05em;font-size:.58rem}.stage-hint-pet{bottom:12.6rem}.stage-hint-feed{top:6.6rem;right:1.2rem}.stage-hint-portal{top:9.6rem;left:3.6rem}}.creature-nameplate{text-align:center;color:var(--accent);letter-spacing:.08em;margin:.9rem 0 0;font-size:1.05rem;font-weight:500}.creature-nameplate span{opacity:.4;margin:0 .25rem}.dev-panel{z-index:100;box-sizing:border-box;background:color-mix(in oklab, var(--text-h) 92%, transparent);width:240px;max-height:calc(100vh - 2rem);color:var(--bg);border:1px solid color-mix(in oklab, var(--accent-mint) 40%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:.75rem;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.8rem;position:fixed;top:1rem;left:1rem;overflow:hidden auto;box-shadow:0 8px 24px #00000059}.dev-panel-header{border-bottom:1px solid color-mix(in oklab, var(--accent-mint) 20%, transparent);justify-content:space-between;align-items:center;margin-bottom:.5rem;padding-bottom:.4rem;display:flex}.dev-panel-title{text-transform:uppercase;letter-spacing:.15em;color:var(--accent-mint);font-size:.7rem;font-weight:600}.dev-panel-close{color:var(--bg);cursor:pointer;opacity:.6;background:0 0;border:none;padding:0 .3rem;font-size:1.2rem;line-height:1}.dev-panel-close:hover{opacity:1}.dev-panel-section{margin-bottom:.65rem}.dev-panel-section:last-child{margin-bottom:0}.dev-panel-label{color:color-mix(in oklab, var(--bg) 70%, var(--text-h) 30%);justify-content:space-between;align-items:baseline;margin-bottom:.3rem;font-size:.7rem;display:flex}.dev-panel-value{color:var(--accent-mint);font-weight:600}.dev-panel-row{gap:.3rem;display:flex}.dev-panel-row+.dev-panel-row{margin-top:.3rem}.dev-panel-row-wrap{flex-wrap:wrap}.dev-panel-grid{grid-template-columns:repeat(3,1fr);gap:.3rem;display:grid}.dev-panel-btn{background:color-mix(in oklab, var(--bg) 10%, transparent);min-width:0;color:var(--bg);border:1px solid color-mix(in oklab, var(--accent-mint) 25%, transparent);cursor:pointer;white-space:nowrap;text-align:center;border-radius:6px;flex:1;padding:.35rem .4rem;font-family:inherit;font-size:.72rem;transition:background .1s,transform 80ms}.dev-panel-grid .dev-panel-btn{flex:initial}.dev-panel-meter{background:color-mix(in oklab, var(--bg) 16%, transparent);border:1px solid color-mix(in oklab, var(--accent-mint) 25%, transparent);border-radius:999px;height:.45rem;overflow:hidden}.dev-panel-meter-fill{border-radius:inherit;background:var(--accent-mint);height:100%}.dev-panel-facts{color:color-mix(in oklab, var(--bg) 74%, var(--text-h) 26%);gap:.16rem;margin-top:.35rem;font-size:.66rem;display:grid}.dev-panel-rewards{gap:.3rem;display:grid}.dev-panel-reward-row{border:1px solid color-mix(in oklab, var(--accent-mint) 18%, transparent);background:color-mix(in oklab, var(--bg) 8%, transparent);border-radius:6px;grid-template-columns:minmax(0,1fr) auto;gap:.1rem .35rem;padding:.35rem;display:grid}.dev-panel-reward-row span,.dev-panel-reward-row strong,.dev-panel-reward-row small{min-width:0}.dev-panel-reward-row strong{color:var(--accent-mint);font-size:.66rem}.dev-panel-reward-row small{color:color-mix(in oklab, var(--bg) 62%, var(--text-h) 38%);grid-column:1/-1;font-size:.62rem}.dev-panel-btn:hover{background:color-mix(in oklab, var(--accent-mint) 20%, transparent);border-color:var(--accent-mint)}.dev-panel-btn:active{transform:scale(.96)}.dev-panel-btn-danger{width:100%;color:color-mix(in oklab, #fca5a5 80%, var(--bg) 20%);border-color:oklab(57.7099% .191149 .0987651/.5)}.dev-panel-btn-danger:hover{background:oklab(57.7099% .191149 .0987651/.3);border-color:#dc2626}.dev-panel-toggle{z-index:100;background:color-mix(in oklab, var(--text-h) 85%, transparent);color:var(--accent-mint);border:1px solid color-mix(in oklab, var(--accent-mint) 40%, transparent);text-transform:uppercase;letter-spacing:.15em;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:.6;border-radius:999px;padding:.3rem .6rem;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.7rem;transition:opacity .12s;position:fixed;top:1rem;left:1rem}.dev-panel-toggle:hover{opacity:1}.portal-gate{--portal-ember:#ffd484;--portal-moss:#68dfbd;z-index:4;pointer-events:auto;position:absolute;top:calc(clamp(6.8rem,30%,10.4rem) + 50px);left:calc(clamp(1.45rem,5.2%,2.35rem) - 10px)}.portal-gate-button{cursor:pointer;filter:drop-shadow(0 .55rem .65rem #00000061);background:0 0;border:0;border-radius:48% 52% 43% 57%/38% 40% 60% 62%;width:clamp(1.8rem,4.7vw,2.6rem);height:clamp(2.5rem,6.3vw,3.55rem);padding:0;position:relative;transform:rotate(-5deg)}.portal-gate-button:before,.portal-gate-button:after{content:"";border-radius:inherit;position:absolute;inset:0}.portal-gate-button:before{opacity:.84;background:radial-gradient(at 50% 44%,#b7ffe361 0%,#58ffc629 20%,#0c36307a 42%,#051110e0 72%),linear-gradient(145deg,#1b3123eb,#091512f2);box-shadow:inset 0 0 .55rem #000000d9,inset 0 0 1.05rem #68dfbd33,0 0 .65rem #68dfbd24}.portal-gate-button:after{opacity:.58;border:1px solid #ffd48438;inset:-.2rem;box-shadow:inset 0 0 0 1px #1535288c,0 0 .8rem #68dfbd24}.portal-gate-button:hover:before,.portal-gate-button:focus-visible:before,.portal-gate-button[data-open=true]:before{opacity:1;box-shadow:inset 0 0 .55rem #000000d1,inset 0 0 1.35rem #68dfbd57,0 0 1.45rem #68dfbd57}.portal-gate-button:hover:after,.portal-gate-button:focus-visible:after,.portal-gate-button[data-open=true]:after{opacity:.82;border-color:#ffd4845c}.portal-gate-button:focus-visible{outline:2px solid var(--portal-moss);outline-offset:.28rem}.portal-gate.is-highlighted .portal-gate-button:before{opacity:1;box-shadow:inset 0 0 .55rem #000000d1,inset 0 0 1.45rem #68dfbd61,0 0 1.65rem #68dfbd73}.portal-gate.is-highlighted .portal-gate-button:after{opacity:.94;border-color:#ffd48480;box-shadow:inset 0 0 0 1px #ffd4842e,0 0 1.3rem #ffd48447}.portal-gate-button:active{transform:rotate(-5deg)scale(.95)}.portal-hub-backdrop{z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto;background:#0208079e;place-items:center;padding:clamp(.65rem,2vw,1.25rem);display:grid;position:fixed;inset:0}.portal-hub{border:1px solid color-mix(in oklab, var(--accent-mint) 38%, var(--border));background:radial-gradient(120% 95% at 14% 0%, #68dfbd29, transparent 42%), radial-gradient(90% 80% at 92% 20%, #ffd4841a, transparent 48%), linear-gradient(150deg, #051814fc, #121f18f7), color-mix(in oklab, var(--bg) 96%, transparent);width:min(96rem,100vw - 1.5rem);height:calc(100svh - 1.5rem);color:var(--text);border-radius:1.2rem;grid-template-rows:auto auto minmax(0,1fr) auto;display:grid;overflow:hidden;box-shadow:0 24px 70px #00000073}.portal-hub-header,.portal-hub-footer{justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.1rem;display:flex}.portal-hub-header{border-bottom:1px solid color-mix(in oklab, var(--border) 62%, transparent);background:linear-gradient(#faf5e709,#0000)}.portal-hub-footer{border-top:1px solid color-mix(in oklab, var(--border) 62%, transparent);color:color-mix(in oklab, var(--text) 72%, var(--accent-mint));letter-spacing:0;text-transform:uppercase;font-size:.7rem;font-weight:800}.portal-hub-kicker{color:var(--accent-mint);letter-spacing:0;text-transform:uppercase;margin:0;font-size:.67rem;font-weight:900}.portal-hub h2,.portal-hub h3{color:var(--text-h);margin:.18rem 0 0;line-height:1}.portal-hub h2{font-size:clamp(1.35rem,3vw,2rem)}.portal-hub h3{font-size:1.05rem}.portal-hub p{color:color-mix(in oklab, var(--text) 82%, white);margin:.45rem 0 0;font-size:.82rem;line-height:1.42}.portal-hub-status{color:color-mix(in oklab, var(--accent-mint) 80%, var(--text));letter-spacing:0;text-transform:uppercase;align-items:center;gap:.65rem;font-size:.72rem;font-weight:900;display:inline-flex}.portal-hub-status>span{background:#68dfbd14;border:1px solid #68dfbd33;border-radius:999px;align-items:center;min-height:1.9rem;padding:0 .72rem;display:inline-flex;box-shadow:inset 0 1px #faf5e70f}.portal-hub-close{border:1px solid color-mix(in oklab, var(--border) 84%, transparent);width:2rem;height:2rem;color:var(--text-h);cursor:pointer;background:#faf5e712;border-radius:999px;place-items:center;padding:0;font-weight:900;transition:transform .14s,border-color .16s,background .16s;display:inline-grid}.portal-hub-close:hover{background:#68dfbd21;border-color:#68dfbd80}.portal-hub-close:active{transform:scale(.95)}.portal-hub-tabs{border-bottom:1px solid color-mix(in oklab, var(--border) 62%, transparent);background:#00000014;gap:.45rem;padding:.72rem 1.1rem .78rem;display:flex;overflow-x:auto}.portal-hub-tabs button,.portal-hero-actions button,.portal-presence-list button,.portal-calling-cards button,.portal-feedback-form button,.portal-cloud-save-card button,.portal-flair-picker button{border:1px solid color-mix(in oklab, var(--accent-mint) 34%, var(--border));color:var(--accent-mint);cursor:pointer;background:#4ad8c517;border-radius:999px;font-weight:900}.portal-hub-tabs button{flex:none;padding:.54rem .86rem;font-size:.74rem;transition:background .16s,color .16s,border-color .16s,transform .14s;position:relative;box-shadow:inset 0 1px #faf5e70d}.portal-hub-tabs button:hover{background:#4ad8c529;transform:translateY(-1px)}.portal-hub-tabs button.is-active,.portal-calling-cards button.is-active,.portal-flair-picker button.is-active{background:linear-gradient(180deg, #ffd48424, #68dfbd1f), color-mix(in oklab, var(--accent-mint) 16%, #071815f2);color:var(--text-h);border-color:#ffd48485;box-shadow:inset 0 1px #faf5e714,0 .65rem 1.4rem #0000002e}.portal-hub-tabs button.is-active:after{content:"";background:linear-gradient(90deg, var(--accent-mint), var(--portal-ember));border-radius:999px;height:2px;position:absolute;bottom:-.42rem;left:18%;right:18%}.portal-hub-body{min-height:0;padding:1.05rem 1.1rem 1.15rem;overflow:auto}.portal-hub-section{gap:1rem;display:grid}.portal-hub-section[aria-label=Explore]{grid-template-columns:minmax(0,1.48fr) minmax(19rem,.72fr);align-items:start}.portal-hub-section[aria-label=Explore] .portal-hero-row{grid-column:1/-1;grid-template-columns:1fr;align-items:stretch;gap:1rem;display:grid}.portal-hub-section[aria-label=Explore] .portal-hero-row>.portal-hero-panel{height:100%}.portal-side-stack{gap:.85rem;display:grid}.portal-side-intro{padding:0 .15rem}.portal-side-intro h3{margin-top:.08rem}.portal-hero-panel,.portal-score-card,.portal-card{border:1px solid color-mix(in oklab, var(--accent-mint) 22%, var(--border));background:linear-gradient(#faf5e70e,#faf5e705),#04120f7a;border-radius:.9rem;position:relative;overflow:hidden;box-shadow:inset 0 1px #faf5e70f,0 1rem 2.4rem #00000029}.portal-hero-panel{background:radial-gradient(70% 180% at 4% 0,#68dfbd3d,#0000 55%),radial-gradient(44% 160% at 78% 110%,#ffd48429,#0000 62%),linear-gradient(135deg,#07201beb,#071512f0);grid-template-columns:minmax(0,1fr) auto minmax(17rem,.52fr);align-items:center;gap:1rem;padding:1rem;display:grid}.portal-invite-copy{min-width:0}.portal-code-value{width:fit-content;max-width:100%;color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;background:linear-gradient(#ffd4841c,#68dfbd14),#00000029;border:1px solid #ffd48440;border-radius:.72rem;margin-top:.4rem;padding:.5rem .72rem;font-size:1.22rem;font-weight:900;line-height:1.05;overflow:hidden;box-shadow:inset 0 1px #faf5e714,0 .8rem 1.6rem #0000002e}.portal-hero-actions{justify-items:stretch;gap:.55rem;min-width:12.5rem;display:grid}.portal-hero-actions button,.portal-cloud-save-card button,.portal-feedback-form button{padding:.58rem .84rem}.portal-primary-action{min-height:2.45rem;box-shadow:inset 0 1px #ffffff59,0 .65rem 1.4rem #ffd4841f;color:#08211b!important;background:linear-gradient(#ffe7a6f5,#ffbe61e0)!important;border-color:#ffd484b8!important}.portal-primary-action:hover{filter:brightness(1.03)}.portal-discoverable{min-height:2.45rem;color:color-mix(in oklab, var(--text) 88%, white);cursor:pointer;background:#04120f70;border:1px solid #68dfbd3d;border-radius:.85rem;align-items:center;gap:.55rem;padding:.48rem .58rem;font-size:.78rem;font-weight:800;display:inline-flex;position:relative;box-shadow:inset 0 1px #faf5e70b}.portal-discoverable input{opacity:0;pointer-events:none;position:absolute}.portal-toggle-orb{background:#faf5e71f;border-radius:999px;flex:none;width:2.15rem;height:1.2rem;position:relative;box-shadow:inset 0 0 0 1px #faf5e71a}.portal-toggle-orb:after{content:"";background:color-mix(in oklab, var(--text) 72%, transparent);border-radius:999px;width:.84rem;height:.84rem;transition:transform .16s,background .16s,box-shadow .16s;position:absolute;top:.18rem;left:.2rem}.portal-discoverable input:checked+.portal-toggle-orb{background:#68dfbd33}.portal-discoverable input:checked+.portal-toggle-orb:after{background:var(--accent-mint);transform:translate(.9rem);box-shadow:0 0 .6rem #68dfbda6}.portal-discoverable strong,.portal-discoverable small{line-height:1.1;display:block}.portal-discoverable small{color:color-mix(in oklab, var(--text) 62%, transparent);margin-top:.12rem;font-size:.68rem;font-weight:800}.portal-discoverable input,.portal-feedback-options input{accent-color:var(--accent-mint)}.portal-grid-two{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.portal-card,.portal-score-card{padding:.95rem}.portal-card-heading,.portal-score-card{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.portal-card-count{color:color-mix(in oklab, var(--text) 68%, var(--accent-mint));letter-spacing:0;text-transform:uppercase;font-size:.72rem;font-weight:900}.portal-presence-card{background:radial-gradient(90% 80% at 0 0,#68dfbd1f,#0000 54%),linear-gradient(#faf5e70d,#faf5e705),#04120f80;gap:.9rem;min-height:0;padding:1rem;display:grid}.portal-presence-summary{flex-wrap:wrap;justify-content:flex-end;gap:.45rem;margin:0;display:flex}.portal-presence-summary span{min-width:4.7rem;color:color-mix(in oklab, var(--text) 76%, white);text-align:center;text-transform:uppercase;background:#00000029;border:1px solid #68dfbd33;border-radius:.74rem;padding:.42rem .54rem;font-size:.68rem;font-weight:900;line-height:1.05}.portal-presence-summary strong{color:var(--accent-mint);font-size:1.05rem;font-weight:900;line-height:1;display:block}.portal-presence-summary-divider{display:none}.portal-presence-list,.portal-guestbook-list,.portal-leaderboard,.portal-results ul{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.portal-guestbook-list,.portal-leaderboard,.portal-results ul{margin-top:.72rem}.portal-guestbook-list li,.portal-leaderboard li{border:1px solid color-mix(in oklab, var(--border) 52%, transparent);background:#faf5e70b;border-radius:.65rem;align-items:center;gap:.55rem;min-height:3rem;padding:.55rem;display:grid}.portal-presence-list li{border:1px solid color-mix(in oklab, var(--border) 52%, transparent);background:linear-gradient(#faf5e70d,#faf5e707),#0000001a;border-radius:.82rem;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.7rem;min-height:3.65rem;padding:.62rem .72rem;transition:transform .16s,border-color .16s,background .16s,box-shadow .16s;display:grid;position:relative;box-shadow:inset 0 1px #faf5e70a}.portal-presence-list li[data-online=true]{border-color:color-mix(in oklab, var(--accent-mint) 46%, var(--border));background:linear-gradient(90deg,#68dfbd24,#0000 60%),linear-gradient(#faf5e710,#faf5e707),#0000001a}.portal-presence-list li[data-online=true]:before{content:"";border-radius:inherit;background:var(--accent-mint);width:.22rem;position:absolute;inset:0 auto 0 0;box-shadow:0 0 .75rem #68dfbd73}.portal-presence-list li.portal-empty-row{text-align:center;padding:.9rem;display:block}.portal-presence-avatar{width:2.35rem;height:2.35rem;box-shadow:inset 0 1px 0 #faf5e714, 0 0 1rem color-mix(in oklab, currentColor 28%, transparent);background:radial-gradient(circle at 50% 45%,currentColor 0 21%,#0000 22%),#faf5e70f;border:1px solid #faf5e729;border-radius:.85rem;flex:none;place-items:center;display:inline-grid;position:relative}.portal-presence-dot{background:currentColor;border-radius:999px;flex:none;width:.58rem;height:.58rem;box-shadow:0 0 .5rem}.portal-presence-list li[data-online=true] .portal-presence-avatar{box-shadow:inset 0 1px 0 #faf5e71a, 0 0 0 .18rem #68dfbd1f, 0 0 1.1rem color-mix(in oklab, currentColor 45%, transparent)}.portal-row-main{gap:.12rem;min-width:0;display:grid}.portal-row-name{min-width:0;color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;font-weight:900;display:block;overflow:hidden}.portal-row-meta{color:color-mix(in oklab, var(--text) 68%, var(--accent-mint));letter-spacing:0;text-transform:uppercase;font-size:.7rem;font-weight:800;display:block}.portal-row-age{color:color-mix(in oklab, var(--accent-mint) 80%, var(--text));letter-spacing:0;text-transform:uppercase;white-space:nowrap;background:#68dfbd1f;border-radius:999px;padding:.2rem .52rem;font-size:.66rem;font-weight:900;display:inline-block}.portal-row-seen{color:color-mix(in oklab, var(--text) 64%, var(--accent-mint));letter-spacing:0;text-transform:uppercase;white-space:nowrap;font-size:.7rem;font-weight:800}.portal-presence-list li[data-online=true] .portal-row-seen{color:var(--accent-mint)}.portal-presence-list button{min-height:2rem;padding:.4rem .78rem;font-size:.74rem;transition:background .16s,transform .12s}.portal-presence-list button:hover{background:#4ad8c52e}@media (prefers-reduced-motion:no-preference){.portal-presence-list li:hover{border-color:color-mix(in oklab, var(--accent-mint) 50%, var(--border));transform:translateY(-1px);box-shadow:inset 0 1px #faf5e712,0 1rem 1.8rem #0000002e}.portal-presence-list button:active{transform:scale(.96)}.portal-presence-list li[data-online=true] .portal-presence-avatar{animation:2.4s ease-in-out infinite portal-presence-pulse}}@keyframes portal-presence-pulse{0%,to{box-shadow:inset 0 1px 0 #faf5e71a, 0 0 0 .18rem #68dfbd1f, 0 0 1.1rem color-mix(in oklab, currentColor 45%, transparent)}50%{box-shadow:inset 0 1px 0 #faf5e71a, 0 0 0 .3rem #68dfbd0f, 0 0 1.45rem color-mix(in oklab, currentColor 58%, transparent)}}.portal-empty-row{color:color-mix(in oklab, var(--text) 72%, transparent);font-size:.8rem}.portal-calling-cards,.portal-flair-picker{flex-wrap:wrap;gap:.5rem;margin-top:.7rem;display:flex}.portal-cloud-save-card{background:radial-gradient(100% 120% at 100% 0,#ffd4841a,#0000 58%),#0000002e;border:1px solid #68dfbd33;border-radius:.86rem;align-content:center;gap:.72rem;min-width:0;padding:.78rem;display:grid;box-shadow:inset 0 1px #faf5e70f}.portal-cloud-save-card h3{margin-top:.08rem;font-size:.98rem}.portal-cloud-save-status{color:color-mix(in oklab, var(--text) 82%, white);margin-top:.28rem;font-size:.76rem;font-weight:700}.portal-cloud-save-card button{justify-self:start;min-height:2.25rem;font-size:.74rem}.portal-cloud-save-card button:disabled{cursor:wait;opacity:.62}.portal-calling-cards button,.portal-flair-picker button{background:linear-gradient(#faf5e70b,#faf5e705),#4ad8c512;border-radius:.78rem;min-height:2.25rem;padding:.45rem .68rem;transition:transform .14s,border-color .16s,background .16s;box-shadow:inset 0 1px #faf5e70b}.portal-calling-cards button:hover,.portal-flair-picker button:hover,.portal-cloud-save-card button:hover,.portal-presence-list button:hover{border-color:#68dfbd85}.portal-flair-picker button{align-items:center;gap:.42rem;display:inline-flex}.portal-flair-swatch{border-radius:999px;width:.84rem;height:.84rem;box-shadow:0 0 0 .16rem #faf5e714,0 0 .7rem}.portal-leaderboard{counter-reset:portal-rank}.portal-leaderboard li{grid-template-columns:auto minmax(0,1fr) auto auto}.portal-rank{width:2rem;height:2rem;color:var(--accent-mint);background:#68dfbd24;border-radius:999px;place-items:center;font-weight:900;display:inline-grid}.portal-guestbook-list li{grid-template-columns:minmax(0,1fr) auto auto}.portal-feedback-form{gap:.9rem;max-width:44rem;display:grid}.portal-feedback-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.portal-feedback-options label{border:1px solid color-mix(in oklab, var(--border) 60%, transparent);color:color-mix(in oklab, var(--text) 92%, white);background:#faf5e70b;border-radius:.7rem;align-items:center;gap:.48rem;padding:.65rem;font-size:.82rem;font-weight:800;display:flex}.portal-feedback-text{color:var(--text-h);gap:.45rem;font-size:.82rem;font-weight:900;display:grid}.portal-feedback-text textarea{resize:vertical;border:1px solid color-mix(in oklab, var(--border) 70%, transparent);min-height:7rem;color:var(--text-h);font:inherit;background:#04120f94;border-radius:.75rem;padding:.7rem}.portal-results{gap:.85rem;display:grid}.portal-results li{gap:.35rem;display:grid}.portal-results li>div{color:var(--text-h);justify-content:space-between;gap:1rem;font-size:.85rem;font-weight:900;display:flex}.portal-result-bar{background:#faf5e714;border-radius:999px;height:.62rem;overflow:hidden}.portal-result-bar span{border-radius:inherit;background:linear-gradient(90deg, var(--accent-mint), var(--portal-ember));height:100%;display:block}.portal-results small{color:color-mix(in oklab, var(--text) 64%, transparent);letter-spacing:.04em;text-transform:uppercase;font-weight:800}@media (prefers-reduced-motion:no-preference){.portal-gate-button:before{animation:4.5s ease-in-out infinite portal-gate-breathe}.portal-gate.is-highlighted .portal-gate-button:after{animation:1.8s ease-in-out infinite portal-gate-guide-pulse}}@keyframes portal-gate-breathe{0%,to{filter:brightness(.92)saturate(.95)}50%{filter:brightness(1.08)saturate(1.08)}}@keyframes portal-gate-guide-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}@media (width<=720px){.portal-hub-backdrop{padding:0}.portal-hub{border-radius:0;width:100%;height:100svh}.portal-hub-header,.portal-hub-footer,.portal-score-card{flex-direction:column;align-items:flex-start}.portal-grid-two,.portal-hub-section[aria-label=Explore],.portal-hub-section[aria-label=Explore] .portal-hero-row,.portal-hero-panel,.portal-feedback-options{grid-template-columns:1fr}.portal-hero-actions{grid-template-columns:repeat(2,minmax(0,1fr));justify-items:stretch;width:100%;min-width:0}.portal-cloud-save-card{width:100%}.portal-card-heading{align-items:flex-start}.portal-presence-summary{justify-content:flex-start}}@media (width<=520px){.portal-gate{transform-origin:0 0;top:calc(31% + 28px);left:4%;transform:scale(.9)}.portal-hub-tabs,.portal-hub-body{padding-inline:.8rem}.portal-hub-status{justify-content:space-between;width:100%}.portal-hero-actions{grid-template-columns:1fr}.portal-presence-list li{grid-template-columns:auto minmax(0,1fr) auto;gap:.5rem;padding:.45rem .55rem}.portal-row-age{display:none}.portal-row-seen{white-space:normal;font-size:.66rem}.portal-presence-list button{padding:.36rem .64rem;font-size:.7rem}}.notify-toggle{z-index:5;background:color-mix(in oklab, var(--bg) 85%, transparent);border:1px solid var(--border);width:36px;height:36px;color:var(--accent);cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:999px;justify-content:center;align-items:center;padding:0;transition:transform 80ms ease-out,background .12s,color .12s;display:inline-flex;position:absolute;top:.75rem;right:3.5rem}.notify-toggle:hover{color:var(--accent-mint);background:color-mix(in oklab, var(--bg) 95%, transparent)}.notify-toggle:active{transform:scale(.92)}.notify-toggle:focus-visible{outline:2px solid var(--accent-mint);outline-offset:2px}.notify-toggle[aria-pressed=true]{color:var(--accent-mint)}.mute-toggle{z-index:5;background:color-mix(in oklab, var(--bg) 85%, transparent);border:1px solid var(--border);width:36px;height:36px;color:var(--accent);cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:999px;justify-content:center;align-items:center;padding:0;transition:transform 80ms ease-out,background .12s,color .12s;display:inline-flex;position:absolute;top:.75rem;right:.75rem}.mute-toggle:hover{color:var(--accent-mint);background:color-mix(in oklab, var(--bg) 95%, transparent)}.mute-toggle:active{transform:scale(.92)}.mute-toggle:focus-visible{outline:2px solid var(--accent-mint);outline-offset:2px}.mute-toggle[aria-pressed=true]{color:color-mix(in oklab, var(--accent) 55%, var(--text-h) 45%);opacity:.8}.stage-controls-menu{z-index:5;pointer-events:none;justify-items:end;gap:1rem;width:100%;margin:-3rem 0 .25rem;display:grid;position:relative}.stage-controls-menu-toggle{background:color-mix(in oklab, var(--bg) 85%, transparent);border:1px solid var(--border);width:36px;height:36px;color:var(--accent);cursor:pointer;pointer-events:auto;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:999px;order:1;justify-content:center;align-items:center;margin-right:20px;padding:0;transition:transform 80ms ease-out,background .12s,color .12s;display:inline-flex;position:relative}.stage-controls-menu-toggle:hover{color:var(--accent-mint);background:color-mix(in oklab, var(--bg) 95%, transparent)}.stage-controls-menu-toggle:active{transform:scale(.92)}.stage-controls-menu-toggle:focus-visible{outline:2px solid var(--accent-mint);outline-offset:2px}.stage-controls-menu-panel{box-sizing:border-box;pointer-events:auto;border:1px solid var(--border);background:linear-gradient(150deg, #091e1bf2, #11231be6), color-mix(in oklab, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:1.1rem;order:2;justify-self:stretch;gap:.65rem;width:100%;padding:.85rem;display:grid;box-shadow:0 10px 28px #0000002e}.stage-controls-chat-head{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;display:grid}.stage-controls-name-error{color:#ffb454;grid-column:1/-1;margin:-.28rem 0 0;font-size:.68rem;font-weight:800}.stage-controls-inline-actions{border:1px solid color-mix(in oklab, var(--border) 72%, transparent);background:#03100d4d;border-radius:999px;align-items:center;gap:.28rem;padding:.2rem;display:inline-flex}.stage-controls-feedback-button{border:1px solid var(--border);background:color-mix(in oklab, var(--bg) 85%, transparent);min-height:36px;color:var(--accent);cursor:pointer;letter-spacing:.06em;text-transform:uppercase;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:999px;padding:0 .78rem;font-size:.68rem;font-weight:900;transition:transform 80ms ease-out,background .12s,color .12s}.stage-controls-feedback-button:hover{color:var(--accent-mint);background:color-mix(in oklab, var(--bg) 95%, transparent)}.stage-controls-feedback-button:active{transform:scale(.96)}.stage-controls-feedback-button:focus-visible{outline:2px solid var(--accent-mint);outline-offset:2px}.stage-controls-feedback-button.is-submitted{color:#ffb454;border-color:color-mix(in oklab, #ffb454 48%, var(--border))}.stage-controls-chat-log{border:1px solid color-mix(in oklab, var(--border) 58%, transparent);background:#04120f66;border-radius:.8rem;align-content:start;gap:.38rem;min-height:9.5rem;max-height:18rem;padding:.55rem;display:grid;overflow:auto}@media (width<=520px){.stage-controls-menu{justify-items:stretch}.stage-controls-menu-toggle{justify-self:end}.stage-controls-menu-panel{width:100%}.stage-controls-chat-head{grid-template-columns:1fr}.stage-controls-inline-actions{justify-self:end}}.stage-controls-chat-empty{color:color-mix(in oklab, var(--text) 75%, transparent);align-self:center;margin:0;font-size:.78rem;line-height:1.35}.stage-controls-chat-empty p{margin:0}.stage-controls-starters{flex-wrap:wrap;gap:.38rem;margin-top:.7rem;display:flex}.stage-controls-starters button{border:1px solid color-mix(in oklab, var(--accent-mint) 36%, transparent);color:var(--accent-mint);cursor:pointer;background:#4ad8c51a;border-radius:999px;padding:.36rem .52rem;font-size:.68rem;font-weight:800}.stage-controls-starters button:hover{background:#4ad8c52e}.stage-controls-starters button:disabled{cursor:not-allowed;opacity:.5}.stage-controls-chat-message{border-radius:.72rem;width:fit-content;max-width:88%;margin:0;padding:.44rem .58rem;font-size:.78rem;line-height:1.35}@media (prefers-reduced-motion:no-preference){.stage-controls-chat-message{transform-origin:0 0;animation:.17s cubic-bezier(.2,.8,.25,1) both stage-controls-message-pop}}@media (prefers-reduced-motion:reduce){.stage-controls-chat-message{animation:90ms ease-out both stage-controls-message-fade}}@keyframes stage-controls-message-pop{0%{opacity:0;transform:translateY(-.28rem)scale(.985)}62%{opacity:1;transform:translateY(.04rem)scale(1.01)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes stage-controls-message-fade{0%{opacity:0}to{opacity:1}}.stage-controls-chat-message-user{background:color-mix(in oklab, var(--accent-mint) 22%, #071815e6);color:var(--text-h);justify-self:end}.stage-controls-chat-message-creature{border:1px solid color-mix(in oklab, var(--border) 60%, transparent);color:color-mix(in oklab, var(--text) 92%, white);background:#faf5e714;justify-self:start}.stage-controls-chat-message-sass{color:color-mix(in oklab, var(--text-h) 92%, #ffb454);background:linear-gradient(135deg,oklab(28.5055% -.00695207 .0305776/.919608),#26160594);border:1px solid oklab(76.8591% .0560995 .154808/.54);justify-self:start;align-items:baseline;gap:.45rem;display:inline-flex;box-shadow:0 0 14px oklab(76.8591% .0560995 .154808/.16)}.stage-controls-chat-message-sass-label{color:#ffb454;letter-spacing:.08em;flex:none;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.62rem;font-weight:900}.stage-controls-chat-form{grid-template-columns:1fr auto;gap:.45rem;min-width:0;display:grid}.stage-controls-chat-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.stage-controls-chat-form input{border:1px solid color-mix(in oklab, var(--border) 80%, transparent);min-width:0;color:var(--text-h);background:#04120f94;border-radius:999px;padding:.55rem .65rem}.stage-controls-chat-form input:disabled{cursor:default;opacity:.68}.stage-controls-chat-form input::placeholder{color:color-mix(in oklab, var(--text) 58%, transparent)}.stage-controls-chat-form input:focus-visible,.stage-controls-chat-form button:focus-visible{outline:2px solid var(--accent-mint);outline-offset:2px}.stage-controls-chat-form button{border:1px solid color-mix(in oklab, var(--accent-mint) 55%, var(--border));background:color-mix(in oklab, var(--accent-mint) 22%, #071815e6);color:var(--accent-mint);cursor:pointer;letter-spacing:.02em;border-radius:999px;padding:.55rem .75rem;font-weight:800}.stage-controls-chat-form button:disabled{cursor:not-allowed;opacity:.45}.stage-controls-menu-panel .notify-toggle,.stage-controls-menu-panel .mute-toggle{z-index:auto;flex:none;position:static;top:auto;right:auto}.stat-bars{z-index:4;box-sizing:border-box;pointer-events:none;grid-template-columns:1fr;gap:.16rem;width:min(7.75rem,100% - 5rem);max-width:7.75rem;margin:0;display:grid;position:absolute;bottom:2.55rem;left:20px}.stat-bar{--fill-color:var(--accent);--icon-color:color-mix(in oklab, var(--fill-color) 92%, white);border:1px solid color-mix(in oklab, var(--border) 72%, transparent);background:linear-gradient(180deg, #ffffff0b, #00000014), color-mix(in oklab, var(--bg) 86%, transparent);border-radius:999px;grid-template-columns:.78rem minmax(0,1fr);align-items:center;gap:0;min-width:0;padding:.2rem .34rem .2rem .22rem;display:grid;box-shadow:inset 0 1px #ffffff0d,0 8px 18px #0000001f}.stat-bar--hunger{--fill-color:#d9b34a}.stat-bar--happiness{--fill-color:var(--accent-mint);--icon-color:#ff87a8}.stat-bar--mid{--fill-color:var(--accent-soft)}.stat-bar--low{--fill-color:#d96a4a}.stat-bar-icon{z-index:1;width:1rem;height:1rem;color:var(--icon-color);filter:drop-shadow(0 1px 2px #00000047);place-items:center;display:grid;position:relative;transform:translate(.26rem)}.stat-bar-icon-svg{width:100%;height:100%;display:block;overflow:visible}.stat-bar-icon-banana{transform:rotate(-12deg)scale(1.15)}.stat-bar-icon-heart{transform:scale(.92)}.stat-bar-track{z-index:0;border:1px solid color-mix(in oklab, var(--border) 58%, transparent);background:linear-gradient(180deg, #00000052, #ffffff0a), var(--bg-surface);border-radius:999px;width:100%;height:.34rem;position:relative;overflow:hidden}.stat-bar-fill{background:linear-gradient(90deg, color-mix(in oklab, var(--fill-color) 72%, black), var(--fill-color)), var(--fill-color);height:100%;box-shadow:0 0 12px color-mix(in oklab, var(--fill-color) 42%, transparent);border-radius:999px;transition:width .6s,background-color .6s}.bond-summary{border:1px solid color-mix(in oklab, var(--border) 74%, var(--accent));background:color-mix(in oklab, var(--bg-surface) 88%, white);min-height:3.25rem;color:var(--text);box-sizing:border-box;border-radius:8px;flex-direction:column;justify-content:center;gap:.45rem;padding:0 .85rem;display:flex}.bond-summary-capped{border-color:color-mix(in oklab, var(--accent-soft) 74%, var(--accent))}.bond-summary-labels{grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;display:grid}.bond-summary-labels span{letter-spacing:.08em;text-transform:uppercase;opacity:.72;font-size:.68rem}.bond-summary-labels span:last-child{text-align:right;justify-self:end}.bond-summary-label-main{min-width:0}.bond-summary-inline-detail{color:color-mix(in oklab, var(--text) 58%, var(--accent-soft));letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;margin-left:.55rem;font-size:.54rem;font-weight:800}.bond-summary-labels strong{color:var(--text-h);font-size:.95rem;font-weight:800;line-height:1}.bond-progress-track{background:color-mix(in oklab, var(--bg-surface) 72%, var(--border));border-radius:999px;width:100%;height:6px;overflow:hidden}.bond-progress-fill{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--accent-soft));height:100%;transition:width .7s}.bond-summary-status{min-width:0;color:color-mix(in oklab, var(--text) 78%, var(--accent));letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:.55rem;font-size:.62rem;font-weight:800;line-height:1.05;display:flex}.bond-summary-status span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.bond-summary-status small{color:color-mix(in oklab, var(--text) 58%, var(--accent-soft));letter-spacing:.07em;flex:none;font-size:.54rem;font-weight:800}.bond-summary-capped .bond-summary-status span{color:color-mix(in oklab, var(--accent-soft) 82%, white)}.bond-summary-capped .bond-progress-fill{background:linear-gradient(90deg, var(--accent-soft), color-mix(in oklab, var(--accent-soft) 74%, white)), var(--accent-soft);box-shadow:0 0 14px color-mix(in oklab, var(--accent-soft) 42%, transparent)}.bond-summary-chip{background:linear-gradient(180deg, #ffffff0a, #00000014), color-mix(in oklab, var(--bg) 74%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:0;border-radius:1.2rem;gap:.3rem;width:clamp(14rem,38vw,18.5rem);min-height:2.7rem;padding:.38rem .64rem;box-shadow:inset 0 1px #ffffff0d,0 .5rem 1.2rem #0000001f}.bond-summary-chip .bond-summary-labels{justify-content:space-between;align-items:center;gap:.58rem;display:flex}.bond-summary-chip .bond-summary-labels span{color:var(--accent);opacity:.9;font-size:.56rem}.bond-summary-chip .bond-summary-label-main{white-space:nowrap;flex:auto;align-items:baseline;gap:.58rem;display:flex}.bond-summary-chip .bond-summary-inline-detail{color:color-mix(in oklab, var(--text) 62%, var(--accent-soft));opacity:.9;margin-left:0;font-size:.48rem}.bond-summary-chip .bond-summary-care{background:color-mix(in oklab, currentColor 12%, transparent);letter-spacing:.08em;opacity:1;border-radius:999px;flex:none;padding:.16rem .42rem;font-size:.5rem;font-weight:900}.bond-summary-chip .bond-summary-care-good{color:color-mix(in oklab, var(--accent-soft) 88%, white)}.bond-summary-chip .bond-summary-care-warning{color:#f2c96b}.bond-summary-chip .bond-summary-care-danger{color:#ff7b6d}.bond-summary-chip .bond-summary-care-neutral{color:color-mix(in oklab, var(--text) 70%, var(--accent))}.bond-summary-chip .bond-summary-labels strong{flex:none;font-size:.72rem}.bond-summary-chip .bond-progress-track{height:.22rem}.bond-summary-chip .bond-summary-status{flex-direction:column;align-items:flex-start;gap:.14rem;font-size:.55rem}.bond-summary-chip .bond-summary-status span{max-width:100%}.bond-summary-chip .bond-summary-status small{font-size:.48rem}@media (width<=520px){.stat-bars{width:min(7.25rem,100% - 4rem);bottom:1.8rem;left:20px}.bond-summary-chip{width:100%}}.tray{background:var(--bg-surface);border:1px solid var(--border);box-sizing:border-box;border-radius:1rem;justify-content:center;align-items:center;gap:.75rem;width:100%;max-width:22rem;margin-top:1.25rem;margin-left:auto;margin-right:auto;padding:.75rem 1rem;display:flex}.tray-hanging{z-index:4;width:auto;max-width:none;box-shadow:none;background:0 0;border:0;margin:0;padding:1.6rem .15rem .2rem;position:absolute;top:clamp(1.9rem,9%,3.3rem);right:clamp(4.7rem,12%,7rem);transform:rotate(7deg)}.tray-hanging:before{content:"";background:linear-gradient(#315738f2,#234a2d7a);border-radius:999px;width:2px;height:2.25rem;position:absolute;top:-.35rem;left:50%;transform:translate(-50%)rotate(-5deg);box-shadow:0 0 .35rem #081810b3}.tray-hanging:after{content:"";transform-origin:0;background:oklab(52.8961% -.0742934 .073867);border-radius:80% 12%;width:.72rem;height:.34rem;position:absolute;top:.95rem;left:calc(50% + .12rem);transform:rotate(-24deg);box-shadow:0 .15rem .45rem #00000047}.tray-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text);opacity:.7;font-size:.72rem}.tray-hanging .tray-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.banana{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;z-index:2;background:0 0;border:none;border-radius:.5rem;padding:.25rem;transition:transform .18s;position:relative}.banana:before{content:"";z-index:0;pointer-events:none;border:1px solid #0000;border-radius:999px;position:absolute;inset:-.34rem}.tray-highlight .banana:before{border-color:color-mix(in oklab, var(--accent-mint) 58%, transparent);background:color-mix(in oklab, var(--accent-mint) 14%, transparent);box-shadow:0 0 .85rem color-mix(in oklab, var(--accent-mint) 34%, transparent), inset 0 0 .65rem #fff4b824}.tray-hanging .banana{filter:drop-shadow(0 .32rem .5rem #00000057);transform-origin:50% 0;padding:0}.tray-hanging .banana:hover{transform:rotate(-5deg)scale(1.06)}.banana:hover{transform:scale(1.08)}.banana:focus-visible{outline:2px solid var(--accent-mint);outline-offset:2px}.banana.banana-dragging{cursor:grabbing;z-index:10;filter:drop-shadow(0 6px 12px #00000040);transition:none}.tray-hanging .banana.banana-dragging{filter:drop-shadow(0 .5rem .8rem #0000006b)}.banana svg{z-index:1;pointer-events:none;width:44px;height:44px;display:block;position:relative}.tray-hanging .banana svg{width:38px;height:38px}@media (prefers-reduced-motion:no-preference){.tray-highlight .banana:before{animation:1.5s ease-in-out infinite tray-highlight-pulse}}@keyframes tray-highlight-pulse{0%,to{opacity:.62;transform:scale(.94)}50%{opacity:1;transform:scale(1.08)}}@media (width<=520px){.tray-hanging{transform-origin:100% 0;top:2rem;right:4.2rem;transform:rotate(6deg)scale(.92)}}.app{box-sizing:border-box;flex-direction:column;align-items:center;max-width:42rem;min-height:100svh;margin:0 auto;padding:.75rem 1rem 2rem;display:flex}@media (width>=900px){.app-dev-mode{margin-left:17rem;margin-right:auto}}.app-header{flex-direction:column;width:100%;padding:0 0 .25rem;display:flex}.app-header-row{box-sizing:border-box;justify-content:space-between;align-items:center;gap:1rem;width:100%;min-height:2.4rem;padding:.15rem .12rem .2rem .22rem;display:flex}.companion-identity{text-align:left;flex-wrap:wrap;align-items:baseline;gap:.35rem .62rem;min-width:0;display:flex}.companion-name{color:var(--accent);letter-spacing:.04em;text-transform:lowercase;margin:0;font-size:clamp(1.1rem,2.8vw,1.55rem);font-weight:700;line-height:1}.age-up-notice{border:1px solid color-mix(in oklab, var(--accent-mint) 44%, transparent);background:color-mix(in oklab, var(--bg-surface) 86%, transparent);min-height:1.45rem;color:var(--accent-mint);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;align-items:center;padding:.18rem .52rem;font-size:.68rem;font-weight:900;line-height:1;display:inline-flex;box-shadow:0 .4rem 1.2rem #00000029}@media (prefers-reduced-motion:no-preference){.companion-bond-age-up{animation:.62s ease-out age-chip-pop}.age-up-notice{animation:2.2s ease-out forwards age-notice-rise}}@keyframes age-chip-pop{0%{transform:scale(1)}38%{transform:scale(1.11)}to{transform:scale(1)}}@keyframes age-notice-rise{0%{opacity:0;transform:translateY(.25rem)}14%,78%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-.18rem)}}.companion-bond{flex:none}@media (width<=520px){.app-header-row{flex-direction:column;align-items:stretch;padding:.15rem 0 .2rem}.companion-identity,.companion-bond{text-align:center;justify-content:center}}.app-dev-launch{z-index:100;border:1px solid color-mix(in oklab, var(--accent-mint) 42%, transparent);background:color-mix(in oklab, var(--text-h) 86%, transparent);min-width:2.8rem;min-height:2rem;color:var(--accent-mint);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;letter-spacing:.12em;text-transform:uppercase;opacity:.72;border-radius:999px;padding:.35rem .62rem;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.7rem;font-weight:700;line-height:1;transition:opacity .12s,transform .1s,border-color .12s;position:fixed;top:1rem;left:1rem;box-shadow:0 8px 22px #00000040}.app-dev-launch:hover,.app-dev-launch:focus-visible{border-color:var(--accent-mint);opacity:1}.app-dev-launch:active{transform:scale(.96)}
