/* Shared paper, buttons and short physical feedback. */
button,.button{transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease}button:active:not(:disabled),.button:active{transform:translateY(2px);box-shadow:none}button.primary:hover:not(:disabled){background:#2444b8}.dialog-header,.panel,.reading-paper,.result-paper{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%2377765e' opacity='.035' filter='url(%23n)' d='M0 0h140v140H0z'/%3E%3C/svg%3E")}dialog{border-radius:26px 19px 28px 21px;box-shadow:5px 8px 0 #e2a1c978,0 18px 60px #392a6333}dialog[open]{animation:paper-open .24s ease-out}.dialog-header{background-color:#ffdfed}.dialog-body{background-color:#fffef6}.view:not([hidden]){animation:paper-content .18s ease-out}.mode-tile{border-radius:17px 12px 19px 13px;box-shadow:3px 5px 0 #8490c334}.mode-tile:hover{transform:translateY(-3px) rotate(-.5deg);box-shadow:4px 7px 0 #8490c334}.reading-paper,.result-paper{border-radius:13px 21px 17px 12px;box-shadow:4px 6px 0 #e1c2e860,0 2px 6px #4152910a}.reading-paper>h3,.result-paper>h3{letter-spacing:.025em}.panel{border-radius:24px 30px 22px 28px;box-shadow:4px 6px 0 #c6b5e645}details[open]>p,details[open]>h3{animation:paper-content .18s ease-out}input,textarea,select{box-shadow:inset 0 1px 3px #55619b08}input:focus,textarea:focus,select:focus{box-shadow:0 0 0 4px #84dce429}
.room-object{position:absolute;display:block;background:transparent!important;border:0;padding:0;min-height:0;border-radius:18%;z-index:1;cursor:pointer;box-shadow:none!important;isolation:isolate}.room-object:hover{filter:none}.room-object:active:not(:disabled){transform:none}.object-art{position:absolute;display:block;max-width:none;pointer-events:none;opacity:1;transform-origin:50% 80%;user-select:none;-webkit-user-drag:none}.object-accent{position:absolute;left:76%;top:3%;font-size:clamp(13px,2.2svh,26px);color:#1738a4;opacity:0;pointer-events:none;text-shadow:1px 1px #fff;z-index:2}.room-object:is(:hover,:focus-visible,.is-touched) .object-accent,.cat-hotspot:is(:hover,:focus-visible,.is-touched) .object-accent{animation:little-accent .75s ease-out forwards}.room-object:focus-visible{outline:2px dashed #1738a4;outline-offset:4px}.hotspot,.wall-calendar{z-index:3}.motion-clock:is(:hover,:focus-visible,.is-touched) .object-art{transform-origin:50% 10%;animation:clock-swing .8s ease-in-out}.motion-flowers:is(:hover,:focus-visible,.is-touched) .object-art{animation:leaf-wave .75s ease-in-out}.motion-cup:is(:hover,:focus-visible,.is-touched) .object-art{animation:cup-lift .7s ease-in-out}.motion-book{z-index:4}.motion-book:is(:hover,:focus-visible,.is-touched) .object-art{animation:book-lift .7s ease-in-out}.motion-book:is(:hover,:focus-visible,.is-touched) .hot-label{opacity:1;z-index:10;box-shadow:2px 3px 0 #bcb4e344}.room-top{justify-content:flex-start}.room-top .cat-pill{margin-left:auto}.sound-toggle{position:relative;width:36px;height:36px;min-height:0;padding:0!important;border-radius:50%;display:inline-grid;place-items:center;vertical-align:middle;font-size:19px;background:#fffef5;line-height:1}.mute-slash{position:absolute;width:22px;height:1.5px;background:currentColor;transform:rotate(-45deg);pointer-events:none}.sound-toggle[aria-pressed=true] .mute-slash{display:none}.lab header>span .sound-toggle{margin-left:9px}.sound-feedback{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);background:#fffdf1;border:1px solid #1738a4;border-radius:15px;padding:8px 14px;z-index:30;font-size:12px;color:#1738a4;max-width:90vw;box-shadow:2px 3px 0 #e4cbe6}
.notebook-form{background:#fffbed;border:1px solid #c9b4d1;border-radius:13px 20px 15px 18px;padding:16px 18px;margin:22px 0 26px;box-shadow:4px 5px 0 #e5d8ee70}.notebook-form h3{margin-top:4px}.notebook-entry,.observation-card{border-left:3px solid #78c9c7;padding:5px 15px 10px;margin:18px 0 23px;background:linear-gradient(100deg,#eef9ed99,transparent 90%)}.notebook-entry h4{margin:4px 0 8px;font-size:14px}.notebook-entry .observation-text,.observation-card>p{white-space:pre-line;font-size:14px}.notebook-entry .button-row{margin-top:8px}.notebook-entry .button-row button{flex:0 1 auto;padding:6px 15px;font-size:12px}.empty-notebook{color:#697792;text-align:center;padding:28px 16px;line-height:1.9}.day-button.has-observation{box-shadow:inset 0 -3px #8ccfc5}#day-observations:not(:empty){border-top:1px dashed #b6b8d5;margin-top:25px;padding-top:8px}#day-observations h3{font-size:16px}
@keyframes paper-open{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}@keyframes paper-content{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes object-nudge{50%{transform:rotate(-.8deg) translateY(-1px)}}@keyframes little-accent{0%{opacity:0;transform:translateY(5px) scale(.65) rotate(-8deg)}50%{opacity:1;transform:translateY(-6px) scale(1.08) rotate(6deg)}100%{opacity:.85;transform:translateY(-3px) scale(1)}}@keyframes clock-swing{25%{transform:rotate(-4deg)}65%{transform:rotate(3deg)}85%{transform:rotate(-1deg)}}@keyframes leaf-wave{30%{transform:rotate(-2.3deg)}70%{transform:rotate(1.8deg)}}@keyframes butterfly-wings{25%,75%{transform:scaleX(.77) translateY(-1px)}50%{transform:scaleX(1.02)}}@keyframes cup-lift{45%{transform:translateY(-5px) rotate(-3deg)}75%{transform:translateY(-1px) rotate(1deg)}}@keyframes ball-roll{35%{transform:translateX(3px) rotate(9deg)}70%{transform:translateX(-1px) rotate(-3deg)}}@keyframes cushion-press{50%{transform:scaleY(.98) translateY(1px)}}@keyframes cat-breath{50%{transform:scaleY(1.015)}}@keyframes book-lift{45%{transform:translateY(-5px) rotate(-2deg)}75%{transform:translateY(-1px) rotate(.7deg)}}

.motion-plant:is(:hover,:focus-visible,.is-touched) .object-art{transform-origin:43% 94%;animation:plant-sway .85s ease-in-out}
.motion-ball:is(:hover,:focus-visible,.is-touched) .object-art{transform-origin:27% 47%;animation:toy-roll .85s ease-in-out}
.motion-butterfly:is(:hover,:focus-visible,.is-touched) .object-art{transform-origin:50% 55%;animation:wing-flutter .85s ease-in-out}
@keyframes plant-sway{25%{transform:rotate(-2.2deg)}60%{transform:rotate(1.7deg)}82%{transform:rotate(-.7deg)}}
@keyframes toy-roll{30%{transform:translateX(5px) rotate(7deg)}65%{transform:translateX(-2px) rotate(-3deg)}}
@keyframes wing-flutter{20%{transform:translateY(-3px) scaleX(.62) rotate(-4deg)}40%{transform:translateY(-5px) scaleX(1) rotate(3deg)}60%{transform:translateY(-4px) scaleX(.66) rotate(-3deg)}80%{transform:translateY(-2px) scaleX(1)}}

@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.room-object:is(:hover,:focus-visible,.is-touched) .object-accent{opacity:1}.object-art{transform:none!important}}
