.moon-room-page{min-height:100vh;padding:28px 18px;background:radial-gradient(circle at 50% 0%,rgba(184,164,255,.18),transparent 34rem),radial-gradient(circle at 12% 84%,rgba(242,166,206,.08),transparent 18rem)}.moon-room-card{position:relative;width:min(100%,520px);min-height:calc(100vh - 56px);margin:0 auto;padding:30px 22px 102px;overflow:hidden;border:1px solid var(--moon-border);border-radius:34px;background:linear-gradient(180deg,#282244f0,#17152af7);box-shadow:var(--moon-shadow)}.room-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.room-header h1{margin:10px 0 8px;font-size:clamp(2.3rem,10vw,4.2rem)}.room-subtitle{margin:0;color:var(--moon-muted);font-size:.9rem}.room-orb{display:grid;width:52px;height:52px;flex:0 0 auto;place-items:center;border:1px solid rgba(167,221,246,.25);border-radius:50%;color:var(--moon-blue);background:#a7ddf614;font-size:1.9rem;box-shadow:0 0 24px #a7ddf624;animation:window-twinkle 4s ease-in-out infinite}.status-pills{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 16px}.status-pills span{padding:8px 11px;border:1px solid var(--moon-border);border-radius:999px;color:var(--moon-muted);background:#ffffff0f;font-size:.72rem}.cat-stage{position:relative;min-height:410px;overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:30px;background:linear-gradient(180deg,#29385d,#493c70 56%,#b17c99);isolation:isolate}.cat-stage:after{position:absolute;right:-15%;bottom:-30%;left:-15%;height:52%;border-radius:50% 50% 0 0;background:linear-gradient(180deg,#342345c7,#211d3c);content:"";z-index:-1}.stage-window{position:absolute;inset:22px 22px auto;height:168px;border:1px solid rgba(206,233,255,.25);border-radius:22px;background:linear-gradient(135deg,#4f70a8d1,#4633787a);box-shadow:inset 0 -26px 50px #070a1e38}.moon{position:absolute;top:18px;right:24px;color:#fff5d6;font-size:4rem;filter:drop-shadow(0 0 16px rgba(255,245,214,.58))}.star,.cloud{position:absolute;color:#dff4ffc7}.star-one{top:34px;left:24px}.star-two{top:93px;left:76px;font-size:1.5rem}.cloud-one{right:92px;bottom:24px;opacity:.3}.cat-bed{position:absolute;right:13%;bottom:52px;left:13%;height:112px;border-radius:50% 50% 30% 30%;background:radial-gradient(ellipse at center,#f5c6dc 0 43%,#a56897 44% 68%,#6a456d 69%);box-shadow:0 22px 24px #0b071b42}.cat-figure{position:absolute;bottom:43px;left:50%;z-index:2;width:184px;height:274px;border:0;padding:0;color:inherit;background:transparent;cursor:pointer;transform:translate(-50%);filter:drop-shadow(0 13px 7px rgba(16,8,29,.28));transition:transform .18s ease;animation:cat-breathe 3.8s ease-in-out infinite}.cat-figure:hover,.cat-figure:focus-visible{transform:translate(-50%) translateY(-7px) rotate(-4deg)}.cat-figure:focus-visible{outline:2px solid var(--moon-blue);outline-offset:6px}.cat-model{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;pointer-events:none;mix-blend-mode:screen;-webkit-mask-image:radial-gradient(ellipse 67% 75% at 50% 52%,#000 48%,transparent 87%);mask-image:radial-gradient(ellipse 67% 75% at 50% 52%,#000 48%,transparent 87%);transition:filter .16s ease}.cat-reaction-mark{position:absolute;top:-4px;right:2px;z-index:5;color:#fff3cf;font-size:2.3rem;line-height:1;opacity:0;text-shadow:0 0 14px rgba(255,238,173,.75)}.cat-speech{position:absolute;top:-25px;left:50%;z-index:6;padding:6px 10px;border:1px solid rgba(255,244,220,.56);border-radius:999px;color:#5b365d;background:#fff4df;box-shadow:0 6px 18px #2212353d;font-size:.78rem;font-weight:700;line-height:1;white-space:nowrap;animation:speech-pop 1.45s ease-out both}.cat-figure--pet{animation:cat-nuzzle .72s ease-out both}.cat-figure--tease{animation:cat-pounce .64s ease-out both}.cat-figure--feed{animation:cat-chew .86s ease-in-out both}.cat-figure--hug{animation:cat-hug .76s ease-out both}.cat-figure--refuse{animation:cat-huff .62s ease-out both}.cat-figure--pet .cat-reaction-mark,.cat-figure--tease .cat-reaction-mark,.cat-figure--feed .cat-reaction-mark,.cat-figure--hug .cat-reaction-mark,.cat-figure--refuse .cat-reaction-mark{animation:reaction-mark 1.45s ease-out both}.cat-figure--pet .cat-model,.cat-figure--hug .cat-model{filter:drop-shadow(0 0 12px rgba(242,166,206,.56))}.cat-figure--refuse .cat-model{filter:saturate(1.1) brightness(.92)}.tease-target{position:absolute;top:226px;left:15%;z-index:3;width:48px;height:48px;border:0;border-radius:50%;color:#fff3c8;background:#ffffff1a;cursor:grab;font-size:1.7rem;animation:tease-float 2.3s ease-in-out infinite}.tease-line{position:absolute;top:26px;left:43px;width:64px;border-top:1px solid rgba(255,255,255,.62);transform:rotate(-20deg);transform-origin:left}.cat-feedback{position:absolute;right:18px;bottom:16px;left:18px;z-index:4;margin:0;color:#fff5fb;text-align:center;font-size:.9rem;animation:feedback-pop .26s ease-out}.action-dock{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0}.action-dock button,.bottom-nav button,.icon-button{border:1px solid var(--moon-border);color:var(--moon-ink);background:#ffffff14;cursor:pointer}.action-dock button{display:grid;min-height:66px;place-items:center;gap:5px;border-radius:18px;font-size:.72rem}.action-dock button span{color:var(--moon-pink);font-size:1.15rem}.action-dock button:hover,.action-dock button:focus-visible,.bottom-nav button:hover,.bottom-nav button:focus-visible{border-color:#f2a6ce8f;background:#f2a6ce1f}.bottom-nav{position:absolute;right:20px;bottom:18px;left:20px;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:8px;border:1px solid var(--moon-border);border-radius:22px;background:#110f22bd;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.bottom-nav button{display:grid;min-height:48px;place-items:center;gap:2px;border:0;border-radius:14px;color:var(--moon-muted);background:transparent;font-size:.65rem}.bottom-nav button span{font-size:1.1rem}.bottom-nav .is-active{color:var(--moon-pink);background:#f2a6ce1a}.nav-locked{opacity:.62}.dialog-backdrop{position:fixed;inset:0;z-index:10;display:grid;align-items:end;justify-items:center;padding:20px;background:#07051194;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.diary-panel{width:min(100%,520px);max-height:min(70vh,620px);overflow:auto;padding:22px;border:1px solid var(--moon-border);border-radius:28px;background:#27223f;box-shadow:var(--moon-shadow)}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between}.panel-heading h2{margin:8px 0 0;font-size:1.8rem}.icon-button{width:36px;height:36px;border-radius:50%;font-size:1.4rem}.diary-list{display:grid;gap:12px;margin-top:20px}.diary-entry{padding:16px;border:1px solid var(--moon-border);border-radius:18px;background:#ffffff0f}.diary-entry h3,.diary-entry p{margin:0}.diary-entry h3{margin-bottom:7px;font-size:1rem}.diary-entry p:last-child,.empty-diary{color:var(--moon-muted);line-height:1.65;font-size:.86rem}.diary-date{margin-bottom:8px!important;color:var(--moon-blue);font-size:.7rem;letter-spacing:.08em}@media(max-width:680px){.moon-room-page{padding:0}.moon-room-card{min-height:100vh;border:0;border-radius:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}.cat-figure,.cat-figure--pet,.cat-figure--tease,.cat-figure--feed,.cat-figure--hug,.cat-figure--refuse,.cat-figure--pet .cat-reaction-mark,.cat-figure--tease .cat-reaction-mark,.cat-figure--feed .cat-reaction-mark,.cat-figure--hug .cat-reaction-mark,.cat-figure--refuse .cat-reaction-mark,.cat-speech{animation:none}}@keyframes cat-breathe{0%,to{transform:translate(-50%) translateY(0) scale(1)}50%{transform:translate(-50%) translateY(-4px) scale(1.015)}}@keyframes cat-nuzzle{0%{transform:translate(-50%) rotate(0) scale(1)}36%{transform:translate(-54%) translateY(-6px) rotate(-9deg) scale(1.06)}74%{transform:translate(-47%) translateY(-3px) rotate(7deg) scale(1.03)}to{transform:translate(-50%) rotate(0) scale(1)}}@keyframes cat-pounce{0%{transform:translate(-50%) translateY(0) rotate(0) scale(1)}45%{transform:translate(-37%) translateY(-28px) rotate(8deg) scale(1.08)}to{transform:translate(-50%) translateY(0) rotate(0) scale(1)}}@keyframes cat-chew{0%,to{transform:translate(-50%) translateY(0) scale(1)}26%{transform:translate(-50%) translateY(-4px) scale(1.04,.96)}52%{transform:translate(-50%) translateY(0) scale(.98,1.04)}76%{transform:translate(-50%) translateY(-3px) scale(1.03,.97)}}@keyframes cat-hug{0%{transform:translate(-50%) scale(1)}42%{transform:translate(-50%) translateY(-9px) scale(1.12)}to{transform:translate(-50%) scale(1)}}@keyframes cat-huff{0%,to{transform:translate(-50%) rotate(0)}28%{transform:translate(-55%) rotate(-8deg)}56%{transform:translate(-45%) rotate(8deg)}}@keyframes reaction-mark{0%{opacity:0;transform:translateY(8px) scale(.45) rotate(-12deg)}24%{opacity:1;transform:translateY(-10px) scale(1.12) rotate(7deg)}78%{opacity:.92;transform:translateY(-18px) scale(.9) rotate(14deg)}to{opacity:0;transform:translateY(-26px) scale(.82) rotate(14deg)}}@keyframes speech-pop{0%{opacity:0;transform:translate(-50%,8px) scale(.8)}14%{opacity:1;transform:translate(-50%) scale(1)}80%{opacity:1;transform:translate(-50%,-5px) scale(1)}to{opacity:0;transform:translate(-50%,-10px) scale(.96)}}@keyframes tease-float{0%,to{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-8px) rotate(6deg)}}@keyframes window-twinkle{0%,to{opacity:.84;transform:rotate(0)}50%{opacity:1;transform:rotate(-4deg)}}@keyframes feedback-pop{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}:root{color-scheme:dark;--moon-ink: #f9f6ff;--moon-muted: #b9b1ce;--moon-night: #17152a;--moon-night-soft: #25213d;--moon-lilac: #b8a4ff;--moon-pink: #f2a6ce;--moon-blue: #a7ddf6;--moon-surface: rgba(255, 255, 255, .1);--moon-border: rgba(255, 255, 255, .14);--moon-radius-lg: 28px;--moon-radius-md: 18px;--moon-shadow: 0 24px 70px rgba(8, 6, 22, .38)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px;background:radial-gradient(circle at top,#373052 0%,var(--moon-night) 56%);color:var(--moon-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,sans-serif}button{font:inherit}.app-shell{min-height:100vh;padding:12vh 24px;margin:0 auto;max-width:520px}.eyebrow{color:var(--moon-blue);font-size:.72rem;letter-spacing:.18em}h1{margin:12px 0;font-size:clamp(2.8rem,12vw,5rem);letter-spacing:-.08em}.intro{max-width:25rem;color:var(--moon-muted);line-height:1.8}
