:root{--game-card:#251d31;--game-edge:#d8f05f6b}html{min-width:300px}.game-page{min-height:100dvh;padding-bottom:calc(78px + env(safe-area-inset-bottom));overflow-x:hidden}.game-page:before{content:"";pointer-events:none;background:radial-gradient(circle at 20% 10%,#a18ac421,#0000 34%),radial-gradient(circle at 88% 84%,#d8f05f0f,#0000 28%);position:fixed;inset:0}.game-head{z-index:30;justify-content:space-between;align-items:center;gap:1rem;width:min(1180px,100% - 2rem);min-height:72px;margin:0 auto;display:flex;position:relative}.game-brand{color:var(--paper);align-items:baseline;gap:.55rem;text-decoration:none;display:flex}.game-brand>span{color:var(--acid);font-size:1.45rem;transform:rotate(-8deg)}.game-brand strong{font:clamp(1.5rem,3vw,2.1rem)/1 var(--display)}.game-brand small{color:var(--paper-dim);font:.55rem/1 var(--mono);text-transform:uppercase;letter-spacing:.08em}.game-tools{align-items:center;gap:.65rem;display:flex}.game-tools>a{color:var(--paper-dim);font:700 .62rem/1 var(--mono);text-transform:uppercase;text-underline-offset:4px}.game-tools>a:hover{color:var(--acid)}.game-page .sound-toggle{justify-content:center;min-width:48px;min-height:44px}.account-link{white-space:nowrap}.account-primary{background:var(--acid);border-radius:8px 3px 9px 4px;padding:.55rem .65rem;text-decoration:none;color:var(--ink)!important}.game-identity{text-overflow:ellipsis;white-space:nowrap;max-width:130px;overflow:hidden}.short-label{display:none}.game-main{grid-template-columns:minmax(420px,1.25fr) minmax(350px,.75fr);align-items:center;gap:clamp(1rem,4vw,4rem);width:min(1180px,100% - 2rem);min-height:calc(100dvh - 150px);margin:0 auto;padding:.5rem 0 1.5rem;display:grid}.game-stage-column,.game-deck{min-width:0}.game-nameplate{justify-content:space-between;align-items:end;gap:1rem;min-height:64px;margin:0 .5rem .6rem;display:flex}.game-nameplate span{color:var(--acid);font:700 .52rem/1 var(--mono);letter-spacing:.12em}.game-nameplate h1{margin:.15rem 0 0;font-size:clamp(2.2rem,5vw,4.4rem);line-height:.8}.game-nameplate p{color:#30233a;background:var(--peach);max-width:240px;font:italic .86rem/1.25 var(--display);border-radius:12px 5px 14px 7px;margin:0;padding:.55rem .75rem;transform:rotate(1deg)}.game-room{width:100%;height:min(68dvh,690px);min-height:470px;margin:0}.game-page[data-view=home] .chambers{opacity:.2;pointer-events:none}.game-page[data-view=home] .companion{pointer-events:none}.game-page[data-view=memories] .chambers{opacity:.28;pointer-events:none}.game-page[data-view=memories] .companion{pointer-events:none}.game-page .egg-status{display:none}.game-page .companion-panels{gap:0;max-width:430px;margin:0 auto}.game-page .care-panel,.game-page .song-panel{max-width:none}.game-page[data-view]:not([data-view=home]) #care-panel,.game-page[data-view]:not([data-view=song]) #song-panel{display:none!important}.game-page[data-view=home] #care-panel:not([hidden]),.game-page[data-view=song] #song-panel:not([hidden]){display:block}.game-page .care-panel{border-radius:18px 7px 22px 10px;padding:1.05rem;box-shadow:8px 9px #5d426ead}.game-page .care-head{border:0;min-height:1.5rem;padding:0}.game-page .care-head .care-kicker{float:left;margin:.25rem .7rem 0 0}.game-page .care-mood{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.82rem;overflow:hidden}.game-page .care-signals{grid-template-columns:repeat(4,1fr);gap:.45rem;margin:.85rem 0}.game-page .care-signals div{text-align:center;border-radius:11px 4px 12px 6px;align-content:center;justify-items:center;min-height:58px;padding:.45rem .35rem;display:grid}.game-page .care-signals div[data-signal=mood],.game-page .care-signals div[data-signal=trust],.game-page .care-signals div[data-signal=curiosity]{display:none}.game-page .care-signals dt{font-size:.53rem}.game-page .care-signals dt:before{color:var(--acid);font:1.05rem/1 var(--display);margin-bottom:.4rem;display:block}.game-page .care-signals div[data-signal=satiety] dt:before{content:"◒"}.game-page .care-signals div[data-signal=cleanliness] dt:before{content:"◌"}.game-page .care-signals div[data-signal=energy] dt:before{content:"✦"}.game-page .care-signals div[data-signal=health] dt:before{content:"+"}.game-page .care-signals dd{font-size:.64rem}.game-page .care-now{background:0 0;border:0;margin:0;padding:0}.game-page .care-actions{grid-template-columns:repeat(3,1fr);gap:.55rem}.game-page .care-action{text-align:center;border-radius:13px 5px 14px 7px;align-content:center;place-items:center;gap:.28rem;min-height:72px;padding:.5rem .35rem;display:grid;box-shadow:2px 3px #00000038}.game-page .care-action i{color:var(--peach);font:1.35rem/1 var(--display);font-style:normal}.game-page .care-action strong{font-size:.67rem}.game-page .care-action[data-care-action=feed]{background:#46324d}.game-page .care-action[data-care-action=wash]{background:#293f50}.game-page .care-action[data-care-action=rest]{background:#332d52}.game-page .care-action[data-care-action=tend]{background:#4e303f}.game-page .care-action[data-care-action=pet]{background:#51374f}.game-page .care-action[data-care-action=play]{background:#42502d}.game-page .care-direct-status{text-align:center;align-items:center;min-height:2.3rem;margin:.7rem .2rem .25rem;font-size:.78rem;display:grid}.game-page .today-card{padding:0;overflow:hidden;transform:none}.game-page .today-card summary{cursor:pointer;grid-template-columns:minmax(72px,.6fr) 1fr auto;align-items:center;gap:.6rem;min-height:70px;padding:.7rem .8rem;list-style:none;display:grid}.game-page .today-card summary::-webkit-details-marker{display:none}.game-page .today-card summary span{gap:.2rem;display:grid}.game-page .today-card summary b,.game-page .today-card summary small{font:700 .5rem/1.2 var(--mono);letter-spacing:.08em}.game-page .today-card summary b{color:#70547a}.game-page .today-card summary small{color:#756578;letter-spacing:0}.game-page .today-card summary strong{font:1rem/1.05 var(--display)}.game-page .today-card summary>i{border:1px solid #70547a;border-radius:50%;place-items:center;width:30px;height:30px;font-style:normal;transition:transform .2s;display:grid}.game-page .today-card[open] summary>i{transform:rotate(45deg)}.game-page .today-body{border-top:1px dashed #4f365e4d;padding:0 .75rem .75rem}.game-page .today-body>p:first-child{font-size:.7rem}.game-page .care-kept{display:none}.game-page .game-song{grid-template-columns:48px 1fr;width:100%;padding:1.15rem}.game-page[data-view=song] #song-panel:not([hidden]){display:grid}.game-page .song-copy h2{font-size:clamp(1.6rem,3vw,2.3rem)}.game-page .song-instruction{font-size:.68rem}.game-page .song-board{margin-top:.4rem}.mode-card{border:1px solid var(--game-edge);background:var(--game-card);border-radius:18px 7px 22px 10px;max-width:430px;margin:0 auto;padding:1.2rem;box-shadow:8px 9px #5d426ead}.mode-card[hidden]{display:none}.mode-card header{border-bottom:1px dashed var(--line);margin-bottom:1rem}.fidget-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.fidget-presence{color:var(--paper);font:700 .58rem/1 var(--mono);white-space:nowrap;background:#d8f05f14;border:1px solid #d8f05f66;border-radius:999px;flex:none;align-items:center;gap:.35rem;margin-top:.35rem;padding:.35rem .55rem;display:inline-flex}.fidget-presence[hidden]{display:none}.fidget-presence i{color:#7bd06a;font-size:.7rem;animation:2.4s ease-in-out infinite fidget-pulse}.fidget-presence strong{color:var(--acid);font-size:.72rem}@keyframes fidget-pulse{0%,to{opacity:.5}50%{opacity:1}}.mode-card header p{color:var(--acid);font:700 .55rem/1 var(--mono);letter-spacing:.1em;margin:0 0 .25rem}.mode-card h2{font-size:2rem}.memory-grid{grid-template-columns:1fr 1fr;gap:.7rem;display:grid}.memory-grid article{background:#30243f;border:1px solid #f2e4c929;border-radius:13px 5px 14px 7px;align-content:start;gap:.45rem;min-height:126px;padding:.8rem;display:grid}.memory-grid article>span{color:var(--peach);font-size:1.6rem}.memory-grid small{color:var(--paper-dim);font:.52rem/1 var(--mono)}.memory-grid strong{font:1rem/1.15 var(--display);overflow-wrap:anywhere}.mode-link{color:var(--ink);background:var(--acid);text-align:center;font:700 .65rem/1 var(--mono);text-transform:uppercase;margin-top:1rem;padding:.8rem;text-decoration:none;display:block}.room-mode>p{color:var(--paper-dim)}#room-progress{border-left:3px solid var(--peach);font-family:var(--display);background:#ffab8314;padding:.8rem;font-style:italic;color:var(--paper)!important}.room-interaction-status{min-height:2.6rem;font:italic .78rem/1.35 var(--display);background:#d8f05f12;border:1px dashed #d8f05f73;border-radius:10px 4px 12px 6px;padding:.7rem .8rem;color:var(--paper)!important}.room-discovery{color:var(--ink);background:var(--acid);box-shadow:4px 5px 0 var(--peach);border-radius:12px 4px 14px 6px;grid-template-columns:42px 1fr;align-items:center;gap:.7rem;margin:.8rem 0;padding:.75rem;display:grid;transform:rotate(-.5deg)}.room-discovery[hidden]{display:none}.room-discovery>span{font-size:1.8rem}.room-discovery div{gap:.2rem;display:grid}.room-discovery small{font:700 .5rem/1 var(--mono);letter-spacing:.1em}.room-discovery strong{font:1.15rem/1 var(--display)}.game-page[data-view=room] .chamber-object.room-playable{opacity:1;cursor:grab;touch-action:none}.game-page[data-view=room] .chamber-object.room-playable span{background:#251d31b8;border-color:#d8f05fb3;box-shadow:0 0 0 4px #d8f05f12}.game-page[data-view=room] .chamber-object.room-object-selected span{color:var(--ink);border-color:var(--acid);background:var(--acid);box-shadow:0 0 0 7px #d8f05f2e}.game-page[data-view=room] .chamber-object.room-drop-target span{color:var(--ink);border-color:var(--peach);background:var(--peach);transform:scale(1.12);box-shadow:0 0 0 9px #ffab8333}.game-page[data-view=room] .chamber-object.room-dragging{opacity:.25}.room-drag-ghost{z-index:100;pointer-events:none;width:58px;height:58px;color:var(--acid);border:2px dashed var(--acid);will-change:transform;background:#251d31eb;border-radius:48% 52% 44% 56%;place-items:center;display:grid;position:fixed;top:-29px;left:-29px;box-shadow:0 12px 28px #00000073}.room-drag-ghost span{font:2rem/1 var(--display)}.room-tangle{z-index:5;pointer-events:none;opacity:0;transition:opacity .35s;position:absolute;inset:12% 10% 15%}.game-room[data-room-state=tangled] .room-tangle{opacity:.72;filter:drop-shadow(0 0 8px #d8f05f33);background:repeating-radial-gradient(at 45%,#0000 0 21px,#ffab838c 22px 24px,#0000 25px 39px);transform:rotate(13deg)}.game-room[data-room-state=tangled] .hanging-thread{opacity:.82;background:linear-gradient(var(--peach),var(--lilac),transparent);width:2px}.game-room.room-reacting[data-room-animation=threaded-bell]:after{content:"";z-index:11;pointer-events:none;border:4px solid var(--peach);filter:drop-shadow(0 0 9px #d8f05f8c);border-left-color:#0000;border-radius:50%;width:58%;height:29%;animation:2.1s ease-out room-thread-whip;position:absolute;top:30%;left:19%}.game-room.room-reacting[data-room-animation=threaded-bell] .object-spool.room-routine-object{animation:1.7s cubic-bezier(.2,.8,.25,1) room-spool-throws}.game-room.room-reacting[data-room-animation=threaded-bell] .object-bell.room-routine-object{transform-origin:50% 0;animation:2s ease-in-out room-bell-caught}.game-room.room-reacting[data-room-animation=threaded-bell] .companion{animation:1.8s ease-out room-lululet-startle}.game-room.room-reacting[data-room-animation=room-nudge] .companion{animation:1.1s ease-out care-curious}.game-tabs{z-index:40;width:min(600px,100% - 1rem);min-height:62px;left:50%;bottom:max(.5rem,env(safe-area-inset-bottom));backdrop-filter:blur(12px);background:#1f182bf0;border:1px solid #d8f05f6b;border-radius:18px 8px 20px 10px;grid-template-columns:repeat(6,1fr);padding:.3rem;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 10px 35px #00000073}.game-tabs button{min-height:52px;color:var(--paper-dim);cursor:pointer;background:0 0;border:0;border-radius:12px 5px 13px 6px;align-content:center;place-items:center;gap:.2rem;display:grid}.game-tabs button span{font-size:1rem}.game-tabs button strong{font:700 .48rem/1 var(--mono);text-transform:uppercase}.game-tabs button[aria-current=page]{color:var(--ink);background:var(--acid);transform:rotate(-1deg)}.game-page[data-view=arcade] .game-main,.game-page[data-view=sandbox] .game-main{grid-template-columns:1fr;justify-items:center}.game-page[data-view=arcade] .game-stage-column,.game-page[data-view=sandbox] .game-stage-column{display:none}.game-page[data-view=arcade] .game-deck,.game-page[data-view=sandbox] .game-deck{width:100%}.arcade-mode,.sandbox-mode{max-width:640px;margin:0 auto}.bellpanic,.fidget{gap:.8rem;display:grid}.bellpanic-hud{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.bellpanic-hud div{text-align:center;background:#30243f;border:1px solid #f2e4c929;border-radius:11px 4px 12px 6px;padding:.5rem}.bellpanic-hud small{color:var(--paper-dim);font:.5rem/1 var(--mono);letter-spacing:.08em;display:block}.bellpanic-hud strong{font:1.5rem/1 var(--display);color:var(--acid)}.bellpanic-stage{position:relative}#bellpanic-canvas,#fidget-canvas{aspect-ratio:4/3;touch-action:none;background:#171323;border:1px solid #d8f05f66;border-radius:16px 6px 18px 8px;width:100%;max-height:60vh;display:block}.bellpanic-status,.fidget-status{border-left:3px solid var(--peach);min-height:2.6rem;font:italic .78rem/1.35 var(--display);background:#ffab8314;padding:.6rem .75rem;color:var(--paper)!important}.bellpanic-controls,.fidget-controls{grid-template-columns:1fr;gap:.6rem;display:grid}#bellpanic-start,#fidget-reset{min-height:56px;font:700 .8rem/1 var(--mono);text-transform:uppercase;cursor:pointer;color:var(--ink);background:var(--acid);box-shadow:3px 3px 0 var(--peach);border:1px solid #32233b;border-radius:4px 10px 5px 9px}#bellpanic-start[hidden]{display:none}#fidget-reset{background:var(--peach);box-shadow:3px 3px 0 var(--bruise)}.game-footer{border:0;justify-content:space-between;width:min(1180px,100% - 2rem);margin:0 auto;padding:.75rem 0;font-size:.55rem;display:flex}.game-footer a{color:var(--paper-dim)}.game-page .arrival.song-active .time-plaque{display:none}@media (width<=850px){.game-main,.game-page .game-main.song-active{grid-template-columns:1fr;align-items:start;gap:1rem}.game-stage-column,.game-deck{width:min(600px,100%);margin:0 auto}.game-room{grid-row:auto;height:min(54dvh,570px);min-height:390px}.game-nameplate{min-height:54px}.game-nameplate h1{font-size:3rem}.game-page .companion-panels,.mode-card{max-width:600px}}@media (width<=650px){.game-page{padding-bottom:calc(78px + env(safe-area-inset-bottom))}.game-head{width:calc(100% - 1rem);min-height:58px}.game-brand small,.shrine-link,.game-page .sound-label{display:none}.game-tools{gap:.45rem;min-width:0}.game-tools>a,.game-identity{font-size:.53rem}.game-identity{max-width:72px}.wide-label{display:none}.short-label{display:inline}.account-primary{padding:.48rem .55rem}.game-main,.game-page .game-main.song-active{width:100%;padding:0 .65rem 1rem;display:grid}.game-nameplate{margin:.1rem .35rem .45rem}.game-nameplate h1{font-size:2.45rem}.game-nameplate p{max-width:48%;padding:.45rem .6rem;font-size:.74rem}.game-room,.game-page .game-main.song-active .game-room{grid-row:auto;width:calc(100% + .3rem);height:210px;min-height:210px;max-height:210px;margin-left:-.15rem}.game-page[data-view=song] .game-nameplate{display:none}.game-page[data-view=song] .game-room,.game-page[data-view=song] .game-main.song-active .game-room{height:190px;min-height:190px;max-height:190px}.game-page[data-view=memories] .game-stage-column{display:none}.game-page .egg-stage{left:12%;right:12%}.game-page .care-panel{padding:.8rem}.game-page .care-head{display:none}.game-page .care-signals{margin:.55rem 0}.game-page .care-signals div{min-height:51px}.game-page .care-actions{gap:.42rem}.game-page .care-action{min-height:64px}.game-page .care-direct-status{min-height:1.8rem;margin-top:.45rem}.game-page .today-card summary{min-height:62px}.memory-grid article{min-height:112px}.game-footer{display:none}}@media (width<=370px){.game-page .care-actions{grid-template-columns:repeat(2,1fr)}.game-room{min-height:250px}.game-nameplate p{font-size:.68rem}.memory-grid{grid-template-columns:1fr}}@media (width<=650px) and (height<=650px){.game-nameplate{min-height:42px}.game-nameplate span{display:none}.game-nameplate h1{font-size:2.1rem}.game-room,.game-page .game-main.song-active .game-room{height:190px;min-height:190px;max-height:190px}.game-page .care-signals{display:none}}@media (prefers-reduced-motion:reduce){.game-tabs button[aria-current=page],.game-nameplate p{transform:none}}@keyframes room-thread-whip{0%{opacity:0;transform:scale(.2)rotate(-25deg)}28%{opacity:1;transform:scale(1.08)rotate(7deg)}65%{opacity:.9;transform:scale(.94)rotate(-4deg)}to{opacity:0;transform:scale(1.02)rotate(2deg)}}@keyframes room-spool-throws{0%,to{translate:0;rotate:none}32%{translate:82% -38%;rotate:260deg}62%{translate:35% -12%;rotate:410deg}}@keyframes room-bell-caught{0%,to{rotate:none}25%{rotate:-24deg;scale:1.12 .9}45%{rotate:21deg}63%{rotate:-14deg}79%{rotate:8deg}}@keyframes room-lululet-startle{0%,to{transform:translateY(0)scale(1)}28%{transform:translateY(-15px)scale(.92,1.08)rotate(-5deg)}52%{transform:translateY(5px)scale(1.09,.89)rotate(4deg)}74%{transform:translateY(-3px)scale(.98,1.02)}}