/* Visible choices, registered chibi frames and concise controls. */
.room-shell .scene-caption{display:none}
.room-controls{position:absolute;top:4px;left:5%;z-index:6;display:flex;align-items:center;gap:14px;padding:6px 10px;border:1px solid #ffffffdc;border-radius:12px;background:#f4fbffe6;color:#5c86a0;font-size:11px}
.room-controls label{display:flex;align-items:center;gap:6px;white-space:nowrap}.room-controls select{font:inherit;color:#4c7996;background:#fff;border:1px solid #c8e0ed;border-radius:8px;min-height:32px;padding:4px 6px}.interaction-toggle input{accent-color:#75afcf;width:15px;height:15px}
.room-shell .room-choices{position:static;display:flex;justify-content:flex-start;padding:0;gap:8px;margin:10px 0 3px;pointer-events:auto;min-height:0}.room-shell .room-choices:empty{display:none}.room-shell .room-choices button{background:#f5fbff;border:1px solid #bcdae9;box-shadow:0 2px 7px #517e9910;padding:8px 14px;min-height:38px;border-radius:11px;font-size:12px;color:#4f7d99}.room-shell .room-choices button:hover{background:#dceffc;border-color:#78b9d9}.room-shell .room-choices button:focus-visible{outline:2px solid #579ac1;outline-offset:2px}
.room-result{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;background:#e8f5fd;border:1px solid #c1dfef;border-radius:12px;padding:12px;margin-top:10px;font-size:12px;color:#477c9d}.room-result strong{color:#297eb3;font-size:14px}
.chibi-character{display:none;width:100%;height:100%;position:relative;transform-origin:50% 90%;animation:chibi-breathe 3.5s ease-in-out infinite}.chibi-frame{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}.chibi-frame-a{animation:chibi-open 4.6s steps(1,end) infinite}.chibi-frame-b{visibility:hidden;animation:chibi-blink 4.6s steps(1,end) infinite}
.room-shell[data-character-style=chibi] .chibi-character{display:block}.room-shell[data-character-style=chibi] .room-sprite{display:none}.room-shell[data-character-style=chibi] .character-frame{top:auto;bottom:0;left:50%;height:calc(100% - 35px);min-height:0;max-height:520px;aspect-ratio:560/1000;transition:none}.room-shell[data-character-style=chibi] #character-interaction{top:15%;left:13%;width:74%;height:32%}.room-shell[data-character-style=chibi] .character-effect{top:16%;left:70%}.room-shell[data-character-style=chibi] .character-prop{top:55%;left:78%;font-size:32px}
.chibi-character[data-pose=happy] .chibi-frame,.chibi-character[data-pose=snack] .chibi-frame{animation-duration:1.65s}.chibi-character[data-pose=play] .chibi-frame{animation-duration:1.05s}.chibi-character[data-pose=snack]+#character-interaction~.character-prop{display:none}
.chibi-character:is([data-pose=happy],[data-pose=snack],[data-pose=play]) .chibi-frame-a{animation-name:chibi-action-a}.chibi-character:is([data-pose=happy],[data-pose=snack],[data-pose=play]) .chibi-frame-b{animation-name:chibi-action-b}
.chibi-character[data-pose=rest] .chibi-frame-a{visibility:hidden;animation:none}.chibi-character[data-pose=rest] .chibi-frame-b{visibility:visible;animation:none}.chibi-character.is-paused,.chibi-character.is-paused *{animation-play-state:paused!important}
@keyframes chibi-breathe{0%,100%{transform:translateY(0) rotate(-.3deg)}50%{transform:translateY(-4px) rotate(.3deg)}}
@keyframes chibi-open{0%,92%,100%{visibility:visible}94%,98%{visibility:hidden}}
@keyframes chibi-blink{0%,92%,100%{visibility:hidden}94%,98%{visibility:visible}}
@keyframes chibi-action-a{0%,100%{visibility:visible}50%{visibility:hidden}}@keyframes chibi-action-b{0%,100%{visibility:hidden}50%{visibility:visible}}
.room-utilities .notebook-launcher{width:auto;min-width:76px;border-radius:15px;font-size:12px!important;padding:0 12px;white-space:nowrap;flex-shrink:0}
.room-shell.log-open .room-choices{display:flex}.room-shell.log-open .room-choices:empty{display:none}
@media(max-width:620px){.room-controls{left:12px;top:2px;gap:10px;padding:3px 7px;font-size:10px}.room-controls select{min-height:30px}.room-shell[data-character-style=chibi] .character-stage-room{min-height:235px}.room-shell[data-character-style=chibi] .character-frame{bottom:52px;height:calc(100% - 90px);min-height:0;max-height:420px;left:50%;top:auto}.room-shell .room-choices{gap:6px;margin-top:8px}.room-shell .room-choices button{font-size:11px;min-height:36px;padding:7px 10px}.room-result{font-size:10px;padding:8px}.room-result strong{font-size:12px}.room-utilities{gap:5px}.room-utilities .notebook-launcher{min-width:64px;padding:0 8px}.room-shell.log-open[data-character-style=chibi] .character-stage-room{min-height:160px}.room-shell.log-open[data-character-style=chibi] .character-frame{left:35%;bottom:0;height:130px}.room-shell.log-open .room-controls{left:auto;right:12px}.room-shell.log-open .action-rail{top:48px}.letter-object{left:5%;bottom:65px}}
@media(max-width:620px) and (max-height:690px){.room-shell[data-character-style=chibi] .character-stage-room{min-height:205px}.room-controls{top:0}.room-shell[data-character-style=chibi] .character-frame{bottom:46px;height:calc(100% - 78px)}}
@media(prefers-reduced-motion:reduce){.chibi-character,.chibi-frame{animation:none!important}.chibi-frame-b{visibility:hidden}.chibi-character[data-pose=rest] .chibi-frame-b{visibility:visible}}
.no-motion .chibi-frame-b{visibility:hidden}.no-motion .chibi-character[data-pose=rest] .chibi-frame-b{visibility:visible}
