:root{color-scheme:light;--bg:#efe9e0;--ink:#4b424b;--muted:#8a7d81;--accent:#a77078;--panel:#fffaf080;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 70%,#dec5ba4a,transparent 60%),var(--bg);color:var(--ink);transition:background-color .7s,color .7s;min-width:320px}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,.hotspot:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.skip{position:absolute;top:-90px;left:20px;background:#fff;padding:10px;z-index:4}.skip:focus{top:10px}.room-header{width:min(1260px,calc(100% - 64px));display:flex;align-items:center;gap:30px;margin:auto;min-height:98px}.logo{font-size:38px;font-weight:850;letter-spacing:-.08em}.logo span{font-size:26px;color:var(--accent);margin-left:6px}.little-note{color:var(--muted);font-size:13px}.freelance-link{margin-left:auto;border:1px solid #b69a983b;padding:10px 17px;border-radius:30px;font-size:13px;font-weight:650}.freelance-link span{margin-left:12px}.intro{text-align:center;padding:26px 20px 0}.eyebrow{font-size:10px;font-weight:750;letter-spacing:.24em;color:var(--accent);margin:0 0 13px}h1{font-size:clamp(28px,3.2vw,43px);line-height:1.2;letter-spacing:-.045em;margin:0 0 10px;font-weight:700}.intro>p:last-child{color:var(--muted);font-size:14px;margin:0}.room-stage{width:min(840px,96vw);position:relative;margin:-8px auto 0}.room-art{display:block;width:100%;height:auto;overflow:visible}.hotspot{cursor:pointer;-webkit-tap-highlight-color:transparent}.hotspot:hover,.hotspot:focus-visible{filter:drop-shadow(0 0 7px #fff0b080)}.hotspot:focus-visible{outline:none;filter:drop-shadow(0 0 8px #a77078)}.wall-left,.wall-right,.sky,.sun,.stars,.glow{transition:fill .8s,opacity .8s}.glow{opacity:0}.rain,.stars,.flowers,.cat-heart{opacity:0}.room-toast{position:absolute;bottom:2%;left:50%;transform:translateX(-50%);width:max-content;max-width:92%;padding:10px 17px;border-radius:25px;background:var(--panel);border:1px solid #b69a9829;text-align:center;font-size:12px;color:var(--muted);pointer-events:none;backdrop-filter:blur(8px)}.play-controls{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;padding:16px 20px 0}.play-controls button{border:1px solid #b69a9838;border-radius:25px;background:var(--panel);color:var(--ink);padding:10px 16px;min-height:44px;font:inherit;font-size:12px;cursor:pointer;touch-action:manipulation}.play-controls button span{margin-right:8px;color:var(--accent)}.play-controls button:hover{background:#fff5}.room-footer{text-align:center;color:var(--muted);font-size:11px;padding:6px 20px 32px;line-height:1.8}.room-footer a{color:var(--accent);font-weight:650}body[data-night=true]{color-scheme:dark;--bg:#232632;--ink:#dfd7df;--muted:#aaa3b4;--accent:#e1b198;--panel:#31333ebf}body[data-night=true] .wall-left{fill:#7d7589}body[data-night=true] .wall-right{fill:#66617a}body[data-night=true] .glow{opacity:.85}body[data-night=true] .sky{fill:#353e65}body[data-night=true] .sun{opacity:0}body[data-night=true] .stars{opacity:1}body[data-weather=rain] .sky{fill:#8299a9}body[data-weather=rain] .rain{opacity:.85;animation:rain 1s linear infinite}body[data-weather=rain] .sun,body[data-weather=rain] .stars{opacity:0}body[data-weather=stars] .sky{fill:#35446c}body[data-weather=stars] .stars{opacity:1}body[data-weather=stars] .sun{opacity:0}.plant-leaves{transform-origin:813px 498px;transition:transform .5s}.flowers{transition:opacity .5s}body[data-growth="1"] .plant-leaves{transform:scale(1.08)}body[data-growth="2"] .plant-leaves,body[data-growth="3"] .plant-leaves{transform:scale(1.17)}body[data-growth="3"] .flowers{opacity:1}.cat.petted .cat-heart{animation:heart 1.5s ease-out}.cat.petted .tail{transform-origin:480px 674px;animation:tail .45s ease-in-out 3}.freelance-main{width:min(680px,calc(100% - 40px));margin:50px auto 70px}.freelance-main h1{font-size:43px}.freelance-main>.lead{color:var(--muted);font-size:16px;line-height:1.7}.freelance-form{padding:28px;border:1px solid #b69a9838;border-radius:20px;background:var(--panel);margin-top:28px}.freelance-form label{display:block;font-size:12px;font-weight:650;margin-bottom:20px}.freelance-form input,.freelance-form select,.freelance-form textarea{display:block;width:100%;border:1px solid #b69a9855;border-radius:8px;background:#fff9;color:#4b424b;font:inherit;font-size:15px;padding:12px;margin-top:8px;min-height:48px}.freelance-form textarea{resize:vertical;min-height:160px}.freelance-form input:focus,.freelance-form select:focus,.freelance-form textarea:focus{outline:2px solid var(--accent);outline-offset:2px}.form-actions{display:flex;gap:10px;flex-wrap:wrap}.form-actions button{min-height:46px;border:0;border-radius:9px;padding:11px 18px;font:inherit;font-weight:650;font-size:13px;background:#9a6873;color:#fff;cursor:pointer}.form-actions button.secondary{background:#d9c9c1;color:#4b424b}.form-note{font-size:12px;color:var(--muted);line-height:1.7;margin-bottom:0}.form-note a{color:var(--accent);text-decoration:underline}.back-home{font-size:13px;color:var(--accent)}@keyframes heart{0%{opacity:0;transform:translateY(15px)}30%{opacity:1}100%{opacity:0;transform:translateY(-25px)}}@keyframes tail{50%{transform:rotate(9deg)}}@keyframes rain{to{transform:translate(-6px,18px)}}@media(min-width:1100px) and (min-height:850px){.room-stage{width:min(840px,calc((100dvh - 250px)*1.13))}}@media(max-width:600px){.room-header{width:calc(100% - 36px);min-height:80px;gap:10px}.logo{font-size:32px}.logo span{font-size:21px}.little-note{display:none}.freelance-link{font-size:12px;padding:9px 13px}.intro{padding-top:27px}.intro h1{font-size:30px}.intro>p:last-child{font-size:13px}.room-stage{width:110vw;max-width:560px;margin:5px auto 0;left:50%;transform:translateX(-50%);margin-left:0;margin-right:0}.room-art{width:100%}main{overflow:hidden}.room-toast{font-size:11px;max-width:80%;padding:8px 13px;bottom:0}.play-controls{gap:7px;padding-top:24px}.play-controls button{padding:9px 13px}.room-footer{max-width:350px;margin:12px auto 0;font-size:11px}.freelance-main{margin-top:35px}.freelance-main h1{font-size:34px}.freelance-form{padding:20px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.cat.petted .cat-heart{opacity:1}}
