/* Stable headers, all-date scrolling lists and compact touch controls. */
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}
#menuToggle,#menuBackdrop{display:none!important}#headerBack{border-radius:50%;width:40px;height:40px;flex:none}#headerAdd{border-radius:12px;width:44px;height:44px;flex:none;font-size:27px;background:#e7e2ef}header #headerBack{order:-2}header>div{order:-1}header #headerAdd{order:1}header>.icon-btn[data-nav]{order:2}
.back{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#ece8f2;padding:0;font-size:24px}.back[hidden],#headerBack[hidden],#headerAdd[hidden]{display:none}
.toolbar{display:flex;align-items:center;position:relative}.toolbar #memoryQuery{flex:1;min-width:0;padding:12px 85px 12px 13px}.search-scope{position:absolute;right:13px;font-size:10px;color:#8b8297;pointer-events:none}.category-controls>.toolbar{margin-top:12px}
.month-divider{display:flex;align-items:center;gap:15px;padding:23px 2px 13px;color:#84728b;font-size:12px;letter-spacing:1px}.month-divider:after{content:"";height:1px;background:linear-gradient(90deg,#c9bdd4aa,transparent);flex:1}.month-divider:first-child{padding-top:8px}.records{display:flex;flex-direction:column;gap:10px}.record{flex:none}.list-boundary,.list-count{text-align:center;color:#938b9d;font-size:10px;padding:8px 0;margin:0}.list-count{padding-top:12px}.load-edge{display:block;width:100%;padding:12px;background:transparent;color:#84768d;font-size:11px}.saved-highlight{animation:saved-glow 3.8s ease-out;border-color:#b7a0cc!important}@keyframes saved-glow{0%,30%{background:#e9dcf6;box-shadow:0 0 0 3px #ceb5e452}100%{background:white;box-shadow:none}}
.summary-box summary{line-height:1.7}.stats-month{display:flex;align-items:center;gap:10px;font-size:11px;margin:10px 0;color:#82768e}.stats-month input{width:155px;padding:6px 8px;font-size:12px}.category-banner h2{line-height:1.6}.summary-content{max-height:30dvh}.summary-box[open]>.summary-content{padding-top:6px}.summary-box:not([open])>.stats-month{display:none}
.category-records{min-width:0}.list-scroll{overflow-anchor:none;touch-action:pan-y}.compact-add{width:44px!important;min-height:44px!important;max-height:52px;padding:5px!important;font-size:25px!important;align-self:center}.timer-row .primary{min-height:72px;width:100px}.standard-add{display:none!important}
/* Calendar and selected day's records share a frame. */
#content.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;overflow:hidden;padding-bottom:0}.calendar-controls{overflow:auto;min-width:0;min-height:0;padding:8px 8px 10px 0}.calendar-records{display:flex;flex-direction:column;min-height:0;min-width:0;border-left:1px solid var(--line);padding-left:24px}.selected-day-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:none}.selected-day-heading h2{font-size:17px;line-height:1.6}.calendar-layout .month-head{gap:8px;display:flex;align-items:center}.calendar-layout .month-head h2{flex:1;font-size:19px;text-align:center}.month-head button{width:38px;height:38px;background:#eee9f2;border-radius:11px;flex:none;padding:4px}.month-head .calendar-today{width:44px;font-size:12px}.week-labels{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;color:#9a91a1;font-size:11px;padding:10px 0}.calendar-layout .day{min-height:64px}.day.selected-day{box-shadow:inset 0 0 0 2px #9a83ac;background:#eee5f4}.week-scroller{display:none}.calendar-note{font-size:11px;line-height:1.7}.day.is-today:after{pointer-events:none}
/* Both entrances use real progress, not the final landscape. */

.home-scene main{background:#26344b}.home-stage{isolation:isolate;justify-content:flex-end;padding:25px 20px;min-height:500px;gap:20px}.home-message{margin-bottom:auto;padding-top:20px}.home-tools{display:grid;grid-template-columns:repeat(4,82px);gap:14px;position:relative;z-index:1}.home-tools button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;aspect-ratio:1;background:#faf7f1de;backdrop-filter:blur(8px);border:1px solid #ffffff90;border-radius:17px;color:#555771;font-size:11px}.home-tools button span{font-size:23px}.floating-categories{gap:12px;grid-template-columns:repeat(3,90px)}.floating-categories .category{width:90px;height:90px}.home-scene header{position:relative;z-index:1}.home-scene .demo-note{position:relative;z-index:1}
.cabin-hotspot{left:84%;top:49%;width:10%;height:12%}.island-hotspot{left:80%;top:11%;width:12%;height:17%}
.save-light{position:fixed;z-index:10000;width:13px;height:13px;pointer-events:none;border-radius:50%;background:#fff3d8;box-shadow:0 0 10px 4px #fbe4b0b0,0 0 26px 9px #cbb9f36b;animation:save-flight 1.5s cubic-bezier(.2,.55,.4,1) forwards}.save-light:before{content:"";position:absolute;right:5px;top:3px;width:80px;height:7px;background:linear-gradient(90deg,transparent,#d0b9ec75,#fff2cf);border-radius:50%;transform:rotate(var(--flight-angle));transform-origin:right center}@keyframes save-flight{0%{opacity:0;transform:translate(0,0) scale(.65)}10%{opacity:1}75%{opacity:.9}100%{opacity:0;transform:translate(var(--flight-x),var(--flight-y)) scale(.35)}}#meteor{display:none!important}
.music-controls{display:flex;flex-direction:column;align-items:center;gap:9px;margin:14px 0 20px}.music-toggle{border:1px solid #ffffff40;border-radius:16px;min-height:64px;width:122px;background:#ffffff18;color:#fff;padding:12px;font-size:12px;line-height:1.6}.music-controls label{display:flex;gap:10px;align-items:center;color:#e5d7c2;font-size:11px;margin:0}.music-controls input{width:110px;padding:0;accent-color:#cfb0a0}.music-controls small{font-size:10px;color:#cbbfae}.music-mini{position:fixed;right:15px;bottom:15px;z-index:90;width:70px;min-height:52px;border-radius:14px;background:#59566ee8;color:#fff;font-size:10px;padding:8px}.focus>div{max-height:90dvh;overflow:auto}.focus .campfire{margin:20px auto}.focus-back{border-radius:50%;width:44px;height:44px;background:#ffffff16;padding:0;font-size:25px}.dream-preview{margin-top:9px!important}.dream-row{flex:none}
@media(min-width:1000px){.summary-content{max-height:none}.category-controls{padding-right:16px}.category-controls .timer-row{margin:14px 0}.category-banner{margin-bottom:12px}}
@media(max-width:999px){#content.calendar-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:12px}.calendar-records{border:0;padding:0}.calendar-controls{max-height:42dvh}.calendar-layout .day{min-height:42px}}
@media(max-width:600px){
 aside{display:none!important}main{margin:0!important}#menuToggle{display:none!important}header h1{font-size:20px}header{gap:9px}#headerBack{width:35px;height:35px}#headerAdd{width:39px;height:39px}header>.icon-btn[data-nav]{display:none}body:has(dialog[open]) header{visibility:hidden}.demo-note{font-size:9px;line-height:1.5;margin-bottom:7px}
 .home-stage{min-height:480px;gap:12px;padding:10px 4px 12px}.home-message{padding-top:16px}.home-message h2{font-size:23px}.home-message p{font-size:11px}.floating-categories{grid-template-columns:repeat(3,72px);gap:9px}.floating-categories .category{width:72px;height:72px;border-radius:16px;padding:7px}.floating-categories .category h3{font-size:12px}.floating-categories .cat-icon{font-size:23px}.home-tools{grid-template-columns:repeat(4,60px);gap:8px}.home-tools button{border-radius:14px;font-size:10px;gap:3px}.home-tools button span{font-size:20px}
 .category-banner{padding:8px 12px}.category-banner h2{font-size:13px}.category-banner span{font-size:21px}.timer-row{gap:8px;margin:6px 0}.timer-row .primary{width:90px;min-height:56px;font-size:11px;padding:8px;border-radius:14px}.timer-row .compact-add{width:40px!important;min-height:40px!important}.view-top>.help{font-size:10px}.toolbar #memoryQuery{font-size:12px;padding:10px 75px 10px 11px}.search-scope{font-size:9px}.summary-box{padding:6px 12px}.summary-box summary{font-size:12px;padding:2px 0}.summary-content{max-height:25dvh}.stats-month{margin:7px 0}.stats-month input{padding:5px 7px}.list-scroll{min-height:90px}.record{padding:12px 10px}.record-content{font-size:13px}.month-divider{padding-top:19px}
 #content.calendar-layout{gap:8px}.calendar-controls{max-height:none;overflow:hidden;padding:0}.desktop-calendar{display:none}.week-scroller{display:block;height:150px;overflow-y:auto;scroll-snap-type:y mandatory;overscroll-behavior:contain;scrollbar-width:none;touch-action:pan-y}.week-scroller::-webkit-scrollbar{display:none}.week-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));height:50px;scroll-snap-align:start}.week-row .day{height:48px;min-height:48px;border-radius:10px;padding:6px 0 0;font-size:12px}.week-row .dots{margin:5px auto 0;gap:2px}.week-row .dot{width:3px;height:3px}.calendar-layout .month-head{margin:0;gap:7px}.calendar-layout .month-head h2{font-size:17px;margin:7px 0}.week-labels{padding:6px 0;font-size:10px}.calendar-note{margin:5px 0;font-size:9px}.selected-day-heading h2{font-size:15px;margin:8px 0}.selected-day-heading .icon-btn{width:35px;height:35px;font-size:23px}
 .save-light:before{width:60px}.music-mini{right:10px;bottom:10px}.form-actions .primary{min-height:65px;width:90px}.focus h1{font-size:21px}.focus .campfire{transform:scale(.8);margin:0 auto}
}
@media(prefers-reduced-motion:reduce){.save-light{display:none}.saved-highlight{animation:none;background:#eee2f7}}
.no-motion .save-light{display:none}
.music-mini[hidden]{display:none}.home-stage .home-message{pointer-events:none}
