/* RC1 compact progression guide. Other approved Play panels are unchanged. */
.core-control-hub .header-progression { display:grid; gap:12px; min-width:0; }
.core-control-hub .milestone-card { display:grid; width:100%; max-width:none; margin:0; grid-template-columns:minmax(0,1fr) auto; gap:8px 16px; padding:14px 16px; border:1px solid #9bb18b; border-left:4px solid #526e50; background:linear-gradient(120deg,#fffdf4,#f5f6e9); border-radius:16px; box-shadow:0 2px 5px #435b3015; text-align:left; }
.core-control-hub .milestone-copy { grid-column:1/-1; display:grid; gap:5px; text-align:left; }
.core-control-hub .milestone-eyebrow { position:relative; padding-left:23px; color:#526e50; font-size:.7rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.core-control-hub .milestone-eyebrow::before { content:''; position:absolute; left:0; top:-4px; width:17px; height:25px; background:url('ui-botanical-sprig.svg') center/contain no-repeat; }
.core-control-hub .milestone-copy strong { margin:0; color:#304735; font:700 1.25rem/1.2 Georgia,serif; }
.core-control-hub .milestone-copy small { margin:0; font-size:.86rem; line-height:1.45; color:#58634f; }
.core-control-hub .milestone-progress-block { align-self:center; min-width:0; display:grid; gap:6px; }
.core-control-hub .milestone-progress-track { height:8px; border-radius:9px; background:#dde5d0; overflow:hidden; }
.core-control-hub .milestone-progress-fill { height:100%; border-radius:9px; background:linear-gradient(90deg,#4d7654,#719260); }
.core-control-hub .milestone-progress-label { width:auto; margin:0; font-size:.77rem; color:#58634f; white-space:normal; }
.core-control-hub .milestone-price { align-self:center; text-align:right; color:#304735; }
.core-control-hub .milestone-price strong { font-size:1.12rem; white-space:nowrap; }
.core-control-hub .milestone-price small { display:block; font-size:.72rem; max-width:110px; line-height:1.4; }
.core-control-hub .milestone-footer { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.core-control-hub .milestone-benefit { font-size:.79rem; line-height:1.4; color:#3e5f40; font-weight:700; }
.core-control-hub .milestone-action-button { width:auto; min-height:44px; margin:0 0 0 auto; padding:10px 14px; flex-shrink:0; border:1px solid #42664a; border-radius:11px; background:linear-gradient(#55794f,#426a49); color:white; font:700 .82rem/1.25 Arial,sans-serif; box-shadow:inset 0 1px #ffffff30,0 2px 3px #31452b18; }
.goal-navigation-status { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.goal-control-highlight { outline:3px solid #748d4e!important; outline-offset:4px; }
.goal-destination:focus { outline:2px solid #526e50; outline-offset:4px; }
@media(max-width:599px) { .core-control-hub .milestone-card { padding:15px; gap:12px; } .core-control-hub .milestone-copy strong { font-size:1.18rem; } }
@media(max-width:350px) { .core-control-hub .milestone-footer { flex-direction:column; align-items:stretch; gap:10px; } .core-control-hub .milestone-action-button { width:100%; } }

/* Quiet notebook rows: readable entries, no pills or emoji badges. */
.progression-previews { display:grid; gap:9px; margin:0; }
.progression-preview { display:block; padding:12px 15px; border:1px solid #d0d7bd; border-radius:14px; background:#faf9ef; text-align:left; box-shadow:inset 0 1px #fffdf7; }
.progression-preview--next { background:#f6f6e9; }
.progression-preview h3 { display:flex; align-items:center; gap:9px; margin:0 0 9px; color:#405f43; font:700 .98rem/1.25 Georgia,serif; }
.progression-preview h3::before { content:''; flex:none; width:19px; height:24px; background:url('ui-botanical-sprig.svg') center/contain no-repeat; }
.progression-preview--next h3::before { background:none; width:17px; height:17px; border:1.5px solid #b99a50; background:#f1deb0; clip-path:polygon(50% 0,64% 33%,100% 38%,74% 62%,81% 100%,50% 81%,19% 100%,26% 62%,0 38%,36% 33%); }
.progression-preview-items { list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px 14px; margin:0; padding:0; }
.progression-item { display:block; padding:0; color:#53634f; font-size:.83rem; line-height:1.45; overflow-wrap:break-word; max-width:100%; }
.progression-item:first-child { padding-left:0; border-left:0; }
.progression-item--wide { grid-column:1/-1; }

/* Existing painted project layers become the card's landscape vignette. */
.restoration-shortcut { position:relative; isolation:isolate; display:grid; grid-template-columns:80px minmax(0,1fr); gap:12px; align-items:center; margin:0; padding:16px; min-height:145px; border:1px solid #b6c7a1; border-radius:15px; background:linear-gradient(110deg,#e3ecd5,#f5f6e9 65%,#eef3e1); box-shadow:0 3px 4px #53634312,inset 0 1px #ffffff80; overflow:hidden; text-align:left; }
.restoration-shortcut-art { display:block; position:relative; grid-column:1; grid-row:1/3; align-self:stretch; min-width:0; width:auto; height:auto; background:none; border:0; border-radius:0; }
.restoration-shortcut-art img { position:absolute; width:145px; max-width:none; height:130px; object-fit:contain; bottom:-17px; right:-12px; filter:saturate(.8); pointer-events:none; }
.restoration-shortcut-copy { display:grid; grid-column:2; gap:4px; min-width:0; line-height:1.4; }
.restoration-eyebrow { font-size:.64rem; letter-spacing:.11em; color:#667d55; }
#restorationTargetTitle { font:700 1.07rem/1.25 Georgia,serif; color:#304d38; }
#restorationTargetStatus { font-size:.77rem; color:#53694c; }
#restorationTargetEffect { display:block; font-size:.75rem; font-weight:400; line-height:1.45; color:#65735c; }
#restorationTargetEffect:empty { display:none; }
.restoration-shortcut[data-affordable="true"] #restorationTargetStatus { color:#385c3a; font-weight:700; }
.restoration-shortcut #openRestorationBtn { grid-column:2; justify-self:start; display:flex; align-items:center; gap:18px; min-height:40px; padding:8px 15px; white-space:normal; border:1px solid #3f6447; border-radius:11px; background:linear-gradient(#567953,#466b48); color:#fffdf2; font:700 .79rem/1.3 Georgia,serif; box-shadow:inset 0 1px #ffffff25,0 2px 3px #38513816; }
.restoration-shortcut #openRestorationBtn::after { content:'›'; font:400 1.45rem/.8 Georgia,serif; }
.restoration-shortcut #openRestorationBtn:hover { background:#3f6447; }

/* Care is an illustrated pair with a text area above a painted foreground. */
.core-control-hub .perk-panel { padding:8px 0 0; }
.core-control-hub .perk-title { display:flex; align-items:center; justify-content:center; gap:14px; margin:3px 0 13px; font:700 1.5rem/1.2 Georgia,serif; color:#344e39; }
.core-control-hub .perk-title::before,.core-control-hub .perk-title::after { content:''; width:30px; height:29px; opacity:.68; background:url('ui-botanical-sprig.svg') center/contain no-repeat; }
.core-control-hub .perk-title::before { transform:rotate(-65deg); }
.core-control-hub .perk-title::after { transform:scaleX(-1) rotate(-65deg); }
.core-control-hub .perk-list { gap:12px; }
.core-control-hub .perk-button { position:relative; isolation:isolate; overflow:hidden; display:flex; flex-direction:column; align-items:center; gap:10px; min-height:235px; padding:22px 16px 90px; text-align:center; border:1px solid #cad3b7; border-radius:18px; background:linear-gradient(#fcfbf2,#f8f7eb); box-shadow:0 3px 4px #485d3414,inset 0 1px #fff; }
.core-control-hub .perk-button::before { content:none; }
.core-control-hub .perk-name { position:relative; z-index:1; width:100%; color:#304b37; font:700 1.13rem/1.25 Georgia,serif; }
.core-control-hub .perk-description { position:relative; z-index:1; width:100%; max-width:205px; font-size:.88rem; line-height:1.5; color:#56634e; }
.core-control-hub .perk-status { position:absolute; z-index:1; bottom:18px; right:14px; display:grid; place-items:center; width:48%; min-height:42px; padding:8px 10px; margin:0; border:1px solid #d6dec5; border-radius:12px; background:#e7ecd9eb; color:#415d40; font:700 .9rem/1.3 Georgia,serif; }
.care-card-scene { position:absolute; z-index:0; pointer-events:none; bottom:0; left:0; width:100%; height:134px; background-position:left bottom; background-size:100% auto; background-repeat:no-repeat; }
.care-card-scene--bath { background-size:auto 118px; background-image:url('ui-care-yuzu-bath.png'); }
.care-card-scene--river { background-image:url('ui-care-riverbank.png'); }
.core-control-hub .perk-button:not(:disabled):hover { background:#fbfcf0; border-color:#8ca376; box-shadow:0 3px 8px #435e3020; }
.core-control-hub .perk-button:disabled { opacity:1; filter:none; }
.core-control-hub .perk-button.is-locked { background:#f2f2e8; }
.core-control-hub .perk-button.is-locked .care-card-scene { opacity:.48; }
.core-control-hub .perk-button.is-locked .perk-status { width:64%; min-height:48px; font:600 .72rem/1.4 Arial,sans-serif; color:#59654f; background:#edf0e3ed; }
.core-control-hub .perk-button:disabled:not(.is-locked) .perk-status { font-size:.81rem; }
.action-spa-deck.is-snooze-active .perk-title { color:#edf2df; }
.action-spa-deck.is-snooze-active #snoozeModeBtn .perk-name { color:#fffdf4; }
.action-spa-deck.is-snooze-active #snoozeModeBtn .perk-status { border-color:#7894ad; background:#294761e8; color:#f2f6ff; }
.action-spa-deck.is-snooze-active #snoozeModeBtn .care-card-scene { opacity:.75; }
.action-spa-deck.is-yuzu-active #yuzuBathBtn { background:linear-gradient(#fff9e9,#f5edcf); border-color:#bcab6d; }

/* One lower-left module: transport, river progress, volumes and guide. */
.core-control-hub .header-utilities { display:grid; gap:8px; width:100%; max-width:460px; margin:0; padding:12px; border:1px solid #cbd4bd; border-radius:16px; background:#f9f9ef; box-shadow:inset 0 1px #fffdf7,0 2px 4px #4e60340c; }
.core-control-hub .header-utility-row { width:100%; max-width:none; margin:0; }
.core-control-hub .audio-player { max-width:none; margin:0; padding:0; border:0; border-radius:0; background:transparent; gap:4px 9px; grid-template-columns:minmax(0,1fr) 48px; }
.core-control-hub .audio-player:not(.has-music-friend) { grid-template-columns:minmax(0,1fr); }
.core-control-hub .audio-player:not(.has-music-friend) .music-player-companion { display:none; }
.core-control-hub .audio-player-controls { display:grid; grid-template-columns:34px 34px 34px minmax(0,1fr); align-items:center; gap:5px; }
.core-control-hub .audio-player-button { width:34px; min-width:34px; min-height:34px; height:34px; padding:4px; }
.core-control-hub .audio-track-name { padding:0 0 0 5px; font-size:.75rem; line-height:1.4; white-space:normal; overflow-wrap:break-word; }
.core-control-hub .audio-track-details { font-size:.65rem; padding:0 2px; }
.core-control-hub .audio-track-progress { height:7px; margin-top:25px; }
.core-control-hub .music-player-companion { width:48px; height:65px; }
.core-control-hub .music-player-companion img { width:46px; height:64px; }
.core-control-hub .audio-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; width:100%; max-width:none; margin:3px 0 0; padding:9px 0 0; border-top:1px solid #dce1d0; }
.core-control-hub .volume-control { min-width:0; min-height:0; font-size:.68rem; }
.core-control-hub .volume-control input[type="range"] { min-height:16px; }
.core-control-hub .header-utilities > .help-button { justify-self:end; min-height:30px; padding:5px 0 0; margin:0; border:0; border-radius:0; background:transparent; color:#5d7252; font-size:.74rem; text-decoration:underline; text-underline-offset:3px; }
.core-control-hub .header-utilities > .help-button:hover { color:#334f38; }

@media(min-width:1100px) {
    .restoration-shortcut { grid-template-columns:68px minmax(0,1fr) auto; gap:12px; }
    .restoration-shortcut-art { grid-row:1; }
    .restoration-shortcut #openRestorationBtn { grid-column:3; min-height:48px; gap:10px; padding-inline:12px; }
}
@media(min-width:600px) and (max-width:1099px) {
    .core-control-hub .header-utilities { max-width:680px; }
    .restoration-shortcut { grid-template-columns:110px minmax(0,1fr) auto; }
    .restoration-shortcut-art { grid-row:1; }
    .restoration-shortcut-copy { grid-column:2; }
    .restoration-shortcut #openRestorationBtn { grid-column:3; }
    .core-control-hub .perk-button { min-height:245px; }
}
@media(max-width:599px) {
    .progression-preview { padding:13px 14px; }
    .progression-item { font-size:.81rem; }
    .core-control-hub .perk-list { grid-template-columns:minmax(0,1fr); gap:12px; }
    .core-control-hub .perk-button { min-height:226px; padding:20px 20px 90px; }
    .core-control-hub .perk-name { font-size:1.22rem; }
    .core-control-hub .perk-description { font-size:.87rem; }
    .care-card-scene { background-size:auto 139px; height:139px; }
    .core-control-hub .perk-status { min-height:44px; max-width:174px; }
    .restoration-shortcut { grid-template-columns:65px minmax(0,1fr); gap:10px; padding:15px; }
    .restoration-shortcut-art img { width:125px; height:130px; bottom:-15px; right:-8px; }
    .restoration-shortcut #openRestorationBtn { grid-column:2; min-height:44px; width:100%; justify-content:space-between; }
    .core-control-hub .header-utilities { max-width:none; padding:13px; }
    .core-control-hub .audio-player-controls { grid-template-columns:44px 44px 44px minmax(0,1fr); }
    .core-control-hub .audio-player-button { width:44px; min-width:44px; min-height:44px; height:44px; }
    .core-control-hub .audio-track-name { font-size:.78rem; }
    .core-control-hub .audio-controls { gap:12px; }
    .core-control-hub .volume-control { min-height:44px; font-size:.74rem; }
    .core-control-hub .volume-control input[type="range"] { min-height:30px; }
    .core-control-hub .header-utilities > .help-button { min-height:44px; }
}
@media(max-width:380px) {
    .core-control-hub .audio-player-controls { grid-template-columns:repeat(3,44px); }
    .core-control-hub .audio-track-name { grid-column:1/-1; padding:4px 0 0; }
    .progression-item { padding:0; }
}
@media(forced-colors:active) {
    .progression-preview,.restoration-shortcut,.core-control-hub .header-utilities,.core-control-hub .perk-button,.core-control-hub .perk-status { border:1px solid CanvasText; }
    .core-control-hub .care-card-scene { display:none; }
}

/* Keep an unlock cue without fading/scaling the illustrated cards. */
.core-control-hub .perk-button.unlock-flash { animation:careReadyGlow 400ms ease-out both; }
@keyframes careReadyGlow { 0%,100% { box-shadow:0 3px 4px #485d3414; } 50% { box-shadow:0 0 0 2px #a9ba8590,0 3px 9px #6c835b28; } }
@media(prefers-reduced-motion:reduce) { .core-control-hub .perk-button.unlock-flash { animation:none; } }
.core-control-hub #currentTrackNameText { display:block; width:auto; max-width:100%; }
.core-control-hub #currentTrackNameText.is-scrolling { animation:none; transform:none; }

.action-spa-deck.is-snooze-active .graze-explainer { color:#e4ecf8; }
.core-control-hub .milestone-progress-track,.core-control-hub .milestone-progress-label { grid-column:auto; grid-row:auto; }
.core-control-hub .milestone-copy { padding-right:0; } .core-control-hub .milestone-progress-label { text-align:left; }
