:root{font-family:ui-rounded,"SF Pro Rounded",system-ui,sans-serif;color:#234d52;background:#123f4b;color-scheme:light}*{box-sizing:border-box}body{margin:0;overscroll-behavior:none}button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:focus-visible{outline:4px solid #f8c666;outline-offset:5px}.world{height:100vh;height:100dvh;min-height:420px;overflow:hidden;position:relative;isolation:isolate;display:grid;grid-template-rows:auto auto 1fr auto auto;padding:calc(env(safe-area-inset-top) + 22px) max(22px,env(safe-area-inset-right)) calc(env(safe-area-inset-bottom) + 18px) max(22px,env(safe-area-inset-left));background:#b9dace}.room{position:absolute;inset:0;z-index:-3;background:linear-gradient(160deg,#b6d4c2,#eef1d9);background-image:url('assets/room.png');background-size:cover;background-position:center}.nightshade{position:absolute;inset:0;background:linear-gradient(#092e49b8,#072d4b99);opacity:0;z-index:-2;transition:opacity 2s}.night .nightshade{opacity:1}header{display:flex;align-items:center;justify-content:space-between;z-index:2}h1{font-size:clamp(26px,4vw,38px);margin:0;font-weight:750;letter-spacing:-1px;text-shadow:0 1px 15px #fff8}h1 span{display:block;font-size:14px;font-weight:550;letter-spacing:2px;margin-top:1px;text-transform:uppercase}.parents{width:48px;height:48px;background:#fff8;border:1px solid #fff9;border-radius:50%;display:grid;place-items:center}.parents svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6}.message{text-align:center;font-weight:600;font-size:clamp(17px,2vw,22px);margin:15px 0 0;min-height:30px;text-shadow:0 1px 15px #fff}.playground{position:relative;min-height:0;display:flex;align-items:center;justify-content:center;touch-action:none}.pet{border:0;padding:0;background:none;width:min(390px,75vw,52vh);height:min(423px,81vw,56vh);position:relative;touch-action:none;user-select:none;-webkit-user-select:none;transform-origin:center 80%;transition:transform .7s ease}.pet canvas{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 4px #2e4b3320)}.sleeper{position:absolute;width:125%;height:100%;object-fit:contain;left:-12.5%;top:0;opacity:0;pointer-events:none;transition:opacity 1.2s}.night .pet canvas{opacity:0;transition:opacity 1.4s}.night .sleeper{opacity:1;animation:breathe 5s ease-in-out infinite}.pet-shadow{position:absolute;width:180px;height:22px;border-radius:100%;background:#25493930;filter:blur(10px);top:calc(50% + min(170px,25vh))}.controls{display:flex;justify-content:center;gap:clamp(10px,2.6vw,22px);z-index:3}.controls button{display:flex;align-items:center;flex-direction:column;justify-content:center;gap:6px;width:clamp(70px,18vw,108px);min-height:94px;border:1px solid #fff9;border-radius:25px;background:#f8fcf0e8;color:#28535a;box-shadow:0 8px 25px #163e4a18;transition:transform .15s,background .3s}.controls button:active{transform:scale(.94)}.controls svg{width:35px;height:35px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.controls span{font-size:14px;font-weight:650}.controls button.active{background:#e8d49d}.night h1,.night .message,.night .hint{color:#fff7dc;text-shadow:0 2px 10px #082334}.night .controls button{background:#173e58e8;color:#f5e8be;border-color:#ffffff28}.night #sleep{background:#f4dea8;color:#243d57}.hint{text-align:center;font-size:14px;font-weight:550;margin:14px 0 0;min-height:20px}.food{display:none;position:fixed;width:80px;height:80px;pointer-events:none;z-index:5;filter:drop-shadow(0 5px 4px #0002)}.food svg{width:100%;height:100%}.spark{position:absolute;color:#fff4bc;font-size:30px;pointer-events:none;animation:float 1.1s ease-out forwards}dialog{border:0;border-radius:28px;max-width:440px;width:calc(100% - 32px);max-height:85dvh;padding:30px;color:#234d52;background:#f6f8ef;box-shadow:0 20px 80px #001b4080}dialog::backdrop{background:#082b4b99}dialog h2{margin-top:0;font-size:26px}dialog p{font-size:16px;line-height:1.55}dialog h3{font-size:18px;margin-bottom:6px}.close{float:right;border:0;background:none;font-size:30px;min-width:44px;min-height:44px;line-height:1}.setting{width:100%;min-height:48px;margin:5px 0;border:0;border-radius:15px;background:#d9e9e1;color:#214d54;font-weight:600}.small{font-size:14px!important}.night .pet{transform:translateY(8px)}@keyframes breathe{50%{transform:scale(1.018)}}@keyframes float{0%{opacity:0;transform:translateY(10px) scale(.6)}30%{opacity:1}100%{opacity:0;transform:translateY(-80px) scale(1.1)}}@media(max-height:550px) and (orientation:landscape){.world{min-height:300px;padding-top:12px;grid-template-columns:1fr 140px;grid-template-rows:auto auto 1fr auto}header{grid-column:1}.message{grid-column:1;margin:0}.playground{grid-column:1;grid-row:3}.controls{grid-column:2;grid-row:1/5;display:grid;grid-template-columns:1fr 1fr;gap:10px;align-content:center}.controls button{width:62px;min-height:80px;border-radius:20px}.controls span{font-size:12px}.controls svg{width:30px;height:30px}.hint{grid-column:1;margin:4px}.pet{height:65vh;width:60vh}.pet-shadow{display:none}h1{font-size:24px}h1 span{font-size:12px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.spark{display:none}}

.header-tools{display:flex;gap:10px}.story-actions{display:flex;gap:8px}.story-actions button{width:auto;flex:1}.story-choices{margin:10px 0}#storyText{font-size:18px;line-height:1.7}.message{background:#f9f6e8b8;padding:8px 12px;border-radius:20px;justify-self:center;max-width:100%;}.night .message{background:#102b4980}.hint{background:#f9f6e8b8;justify-self:center;padding:5px 12px;border-radius:15px;}.night .hint{background:#102b4980}

.name-label{display:block;font-size:14px;margin:18px 0 8px}#childName{font:inherit;width:100%;border:2px solid #9dbdb2;border-radius:12px;min-height:48px;padding:10px;color:#234d52;background:#fff}
