/* Waldraum: scoped to its card and dialog; no changes to other experiences. */
.moment-home #moment-main .moment-waldraum-card{grid-column:1/-1;display:flex;justify-content:center;isolation:isolate;min-height:220px;padding:0;background:#243b31;border-color:#80907a;color:#fffdf3}
.moment-waldraum-card>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:50% 57%;pointer-events:none}
.moment-waldraum-card::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#14291fe8 0%,#14291fc7 48%,#14291f42 100%);pointer-events:none}
.waldraum-card-copy{padding:26px 28px}
.moment-home .moment-waldraum-card .waldraum-card-eyebrow{font:500 11px/1.4 var(--mm-sans,system-ui);letter-spacing:.18em;text-transform:uppercase;color:#e5e6cf;margin:0 0 10px}
.moment-home .moment-waldraum-card h2{font-size:34px;color:#fffdf3}
.moment-home #moment-waldraum-home-title{display:flex;align-items:center;gap:10px}
.moment-home #moment-waldraum-home-title>span:last-child{min-width:0}
.moment-home .waldraum-card-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px;color:#e4c791}
.moment-home .waldraum-card-icon svg{display:block;width:20px;height:20px}
@media(max-width:700px){.moment-home .waldraum-card-icon{flex-basis:30px;width:30px;height:30px}}
.moment-home .moment-waldraum-card .moment-home-description{color:#f0f1e5;margin:9px 0 18px;line-height:1.5}
.moment-home .moment-waldraum-card .moment-button{background:#f3e7c6;color:#243a30!important;border-color:#faf1db;margin:0;box-shadow:0 3px 12px #0002}
.moment-home .moment-waldraum-card .moment-button:hover{background:#fff4d8;border-color:#fff4d8}
.moment-home .moment-waldraum-card :focus-visible{outline:3px solid #fff0bd;outline-offset:4px}
.moment-app .waldraum-dialog{position:fixed;inset:0;margin:auto;width:min(1200px,100vw);height:min(900px,100dvh);max-width:100vw;max-height:100dvh;padding:0;border:0;border-radius:24px;overflow:hidden;background:#243323;color:#fffdf3;isolation:isolate;box-shadow:0 25px 100px #13200d66}
.waldraum-dialog::backdrop{background:#17251dc9;backdrop-filter:blur(8px)}
.waldraum-world,.waldraum-shade{position:absolute;inset:0;pointer-events:none;z-index:-2}
.waldraum-world{background:#3b4b32}
.waldraum-world>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 56%}
.waldraum-world canvas{position:relative;width:100%;height:100%;display:block}
.waldraum-world canvas[hidden]{display:none}
.waldraum-shade{z-index:-1;background:radial-gradient(ellipse at 50% 42%,transparent 42%,#0e241b30 100%),linear-gradient(180deg,#10231775,transparent 30%,transparent 53%,#102317a8);transition:background 1s}
.waldraum-dialog[data-state="ready"] .waldraum-shade,.waldraum-dialog[data-state="ended"] .waldraum-shade{background:linear-gradient(90deg,#142819e8,#14281995 52%,#14281918)}
.waldraum-header>div{transition:opacity 1.8s ease}
.waldraum-dialog:is([data-state="running"],[data-state="paused"]) .waldraum-header>div{opacity:0;pointer-events:none}
.waldraum-header{display:flex;justify-content:space-between;align-items:flex-start;padding:28px 34px;gap:20px}
.waldraum-eyebrow{font-size:11px;letter-spacing:2.1px;text-transform:uppercase;color:#edeed8;line-height:1.5}
.moment-app .waldraum-header h2{font-family:var(--mm-serif);font-size:27px;font-weight:400;letter-spacing:0;color:#fffdf3;line-height:1.3;margin-top:3px}
.waldraum-icon{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;color:#fffdf5;background:#182c2270;border:1px solid #ffffff38;border-radius:50%;font-size:26px}
.waldraum-intro,.waldraum-ending{position:absolute;left:8%;top:49%;transform:translateY(-50%);max-width:430px;width:75%}
.moment-app .waldraum-intro h3,.moment-app .waldraum-ending h3{font-family:var(--mm-serif);font-size:clamp(34px,5vw,60px);font-weight:400;letter-spacing:-1.4px;line-height:1.08;color:#fffdf3;margin:13px 0 23px;text-wrap:balance}
.waldraum-intro>p:not(.waldraum-eyebrow),.waldraum-ending>p:not(.waldraum-eyebrow){font-size:16px;line-height:1.6;color:#f0f0e4;max-width:360px}
.waldraum-duration{display:flex;flex-direction:column;gap:8px;margin:22px 0 16px;font-size:13px;color:#eeefdf;max-width:330px}
.waldraum-duration select{width:100%;font:inherit;font-size:16px;border-radius:10px;padding:12px;background:#182c22c4;color:#fffdf3;border:1px solid #dce2cc80}
.waldraum-duration option{color:#17251d;background:#fffdf3}
.waldraum-primary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;background:#f5f1db;color:#253726;border:1px solid #f5f1db;border-radius:30px;padding:13px 25px;font-weight:600}
.moment-app .waldraum-primary{font-weight:600}
.moment-app .waldraum-icon{font-size:26px}
.waldraum-intro .waldraum-fine{margin-top:15px!important}
.waldraum-footer{position:absolute;bottom:0;left:0;right:0;padding:20px 26px max(22px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:6px}
.waldraum-controls{display:grid;grid-auto-flow:column;grid-auto-columns:60px;align-items:stretch;gap:2px;width:fit-content;max-width:100%;padding:6px;border:1px solid #f0f0db30;border-radius:34px;background:#14291fd9;box-shadow:0 6px 26px #07150e29,inset 0 1px 0 #ffffff08;backdrop-filter:blur(18px) saturate(115%);-webkit-backdrop-filter:blur(18px) saturate(115%)}
.moment-app .waldraum-control{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:44px;min-height:48px;padding:6px 4px;border:0;border-radius:25px;background:transparent;color:#faf7e9;font:500 11px/1.15 var(--mm-sans,system-ui);letter-spacing:.01em;white-space:nowrap;transition:background .18s,color .18s}
.moment-app .waldraum-control svg{width:19px;height:19px;stroke-width:1.65}
.waldraum-control .waldraum-play-symbol,.waldraum-control .waldraum-sound-off{display:none}
.waldraum-dialog[data-state="paused"] .waldraum-pause-symbol,.waldraum-control[aria-pressed="true"] .waldraum-sound-on{display:none}
.waldraum-dialog[data-state="paused"] .waldraum-play-symbol,.waldraum-control[aria-pressed="true"] .waldraum-sound-off{display:block}
.waldraum-dialog[data-state="paused"] #waldraum-pause{background:#f1ecd8;color:#20382b}
.waldraum-control[aria-pressed="true"]{color:#e0e5d5}
.waldraum-control[aria-expanded="true"]{background:#ffffff12}
.waldraum-control:active{background:#ffffff20}
@media(hover:hover){.waldraum-control:hover{background:#ffffff14}.waldraum-dialog[data-state="paused"] #waldraum-pause:hover{background:#fff8e3}}
.waldraum-controls .waldraum-control:focus-visible{outline-offset:1px!important}
.waldraum-controls{opacity:1;transform:translateY(0);visibility:visible;transition:opacity .45s ease,transform .45s ease,visibility 0s}
.waldraum-dialog[data-controls-collapsed="true"] .waldraum-controls{opacity:0;transform:translateY(12px) scale(.97);visibility:hidden;pointer-events:none;transition:opacity .45s ease,transform .45s ease,visibility 0s .45s}
.moment-app .waldraum-reveal{position:absolute;bottom:max(22px,env(safe-area-inset-bottom));display:grid;place-items:center;width:52px;min-height:44px;padding:0;border:1px solid #ffffff25;border-radius:24px;background:#14291f70;color:#fffdf3;box-shadow:none;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:waldraum-reveal-in .45s ease both}
.waldraum-reveal[hidden]{display:none!important}
.moment-app .waldraum-reveal svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
@keyframes waldraum-reveal-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(hover:hover){.moment-app .waldraum-reveal:hover{background:#14291fb0}}
.waldraum-icon:hover{background:#294335}
.waldraum-settings{width:min(400px,100%);margin-bottom:10px;border:1px solid #d6dec050;background:#193127ed;border-radius:22px;padding:18px 22px;box-shadow:0 10px 40px #10201855;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);max-height:55dvh;overflow:auto;color:#fffdf3}
.waldraum-settings{scrollbar-width:thin;scrollbar-color:#c9d6b9 #20392f;overscroll-behavior:contain}
.waldraum-setting-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:15px}
.waldraum-setting-head .waldraum-icon{border-color:transparent;background:transparent}
.waldraum-setting-head .waldraum-icon svg{width:20px;height:20px}
.waldraum-setting-head h3{font-family:var(--mm-serif);font-size:23px;font-weight:400}
.waldraum-settings label{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:48px;font-size:15px}
.waldraum-settings input[type="range"]{width:48%;height:36px;accent-color:#d5ddba}
.waldraum-settings label small{display:block;font-size:11px;color:#ccd7bd;margin-top:2px}
.waldraum-adjusting .waldraum-prompt,.waldraum-adjusting .waldraum-paused{visibility:hidden}
.waldraum-settings .waldraum-check{justify-content:flex-start;gap:12px}
.waldraum-settings input[type="checkbox"]{width:20px;height:20px;accent-color:#d5ddba}
.waldraum-fine{font-size:12px!important;line-height:1.5!important;color:#e4e8d9!important}
.waldraum-audio-status:empty{display:none}
.waldraum-audio-status{max-width:500px;text-align:center;background:#20392feb;border-radius:10px;padding:7px 12px}
.waldraum-prompt{position:absolute;left:50%;bottom:20%;transform:translateX(-50%);width:min(560px,86%);text-align:center;pointer-events:none;opacity:0;transition:opacity 2.6s ease}
.waldraum-prompt.is-visible{opacity:1}
.waldraum-prompt p{display:inline-block;max-width:24ch;font-family:var(--mm-serif);font-size:clamp(20px,2.4vw,25px);line-height:1.4;font-weight:400;color:#fffdf5;padding:10px 16px;border-radius:12px;background:#163020b8;text-shadow:0 1px 6px #10241860;text-wrap:balance;backdrop-filter:blur(8px)}
.waldraum-paused{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);width:max-content;max-width:85%;text-align:center;padding:16px 24px;border-radius:20px;background:#183421cf;font-family:var(--mm-serif);font-size:26px}
.waldraum-ending .waldraum-primary{margin-top:24px}
.waldraum-text{display:block;background:transparent;border:0;color:#f5f2df;text-decoration:underline;text-underline-offset:5px;padding:15px 4px;min-height:44px;font-size:14px}
.moment-app .waldraum-text{font-size:14px}
.waldraum-dialog :focus-visible{outline:3px solid #fbecaa!important;outline-offset:4px}
/* These headings receive programmatic focus for orientation, not interaction. */
#waldraum-title:focus,#waldraum-ending-title:focus{outline:none!important}
.waldraum-dialog[data-state="ending"] .waldraum-prompt{opacity:0}
@media(max-width:700px){
 .moment-home #moment-main .moment-waldraum-card{min-height:210px}
 .waldraum-card-copy{padding:22px}
 .moment-home .moment-waldraum-card h2{font-size:30px}
 .moment-app .waldraum-dialog{width:100vw;height:100dvh;border-radius:0}
 .waldraum-header{padding:max(20px,env(safe-area-inset-top)) 22px 14px}
 .waldraum-intro,.waldraum-ending{left:7%;width:86%;top:49%}
 .moment-app .waldraum-intro h3,.moment-app .waldraum-ending h3{font-size:42px;margin:10px 0 18px}
 .waldraum-intro>p:not(.waldraum-eyebrow),.waldraum-ending>p:not(.waldraum-eyebrow){font-size:15px}
 .waldraum-footer{padding:12px 14px max(16px,env(safe-area-inset-bottom))}
 .moment-app .waldraum-reveal{bottom:max(16px,env(safe-area-inset-bottom))}
 .waldraum-prompt{bottom:20%}
 .waldraum-prompt p{font-size:21px;padding:10px 14px}
 .waldraum-duration{margin:17px 0 15px}
}
@media(max-width:359px){.moment-app .waldraum-intro h3{font-size:37px}}
@media(max-height:660px){
 .waldraum-dialog[data-state="ready"],.waldraum-dialog[data-state="ended"]{overflow-y:auto}
 .waldraum-dialog[data-state="ready"] .waldraum-intro,.waldraum-dialog[data-state="ended"] .waldraum-ending{position:relative;top:auto;transform:none;left:auto;margin:12px auto 24px;width:86%}
 .waldraum-dialog[data-state="ready"] .waldraum-footer,.waldraum-dialog[data-state="ended"] .waldraum-footer{position:relative}
 .waldraum-dialog[data-state="ready"] .waldraum-world,.waldraum-dialog[data-state="ready"] .waldraum-shade,.waldraum-dialog[data-state="ended"] .waldraum-world,.waldraum-dialog[data-state="ended"] .waldraum-shade{position:fixed}
 .moment-app .waldraum-intro h3,.moment-app .waldraum-ending h3{font-size:34px}
 .waldraum-header{padding:15px 22px}
 .waldraum-prompt{bottom:28%}
 .waldraum-prompt p{font-size:21px}
}

/* The ready view keeps one obvious action; optional duration lives in settings. */
.waldraum-intro .waldraum-duration-summary{font-size:13px!important;line-height:1.5;letter-spacing:.035em;color:#f3e7c6!important;margin:0 0 12px}
.waldraum-settings .waldraum-duration{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin:8px 0 16px;max-width:none}
.waldraum-settings [hidden]{display:none!important}
.waldraum-settings .waldraum-duration select{padding:10px}
.waldraum-setting-head h3{color:#fffdf3}
@media(max-width:359px){
 .waldraum-prompt{width:84%}
}
@media(prefers-reduced-motion:reduce){.waldraum-header>div,.waldraum-controls,.waldraum-dialog[data-controls-collapsed="true"] .waldraum-controls{transition:none}.moment-app .waldraum-reveal{animation:none}}

/* 1.0.651: readable supporting text on the forest image. */
.waldraum-intro .waldraum-fine{font-size:13px!important;line-height:1.6;color:#fffdf3!important;text-shadow:0 1px 4px #102720}.waldraum-controls button{min-height:48px;font-size:13px}

/* 1.0.653: the opening screen flows without overlap on short or enlarged views. */
.moment-app .waldraum-dialog:is([open],[data-fallback-open])[data-state="ready"]{display:flex;flex-direction:column;overflow-y:auto;scroll-padding:20px}
.waldraum-dialog[data-state="ready"] .waldraum-header{flex:0 0 auto;align-items:center}
.waldraum-dialog[data-state="ready"] .waldraum-intro{position:relative;flex:0 0 auto;left:auto;top:auto;transform:none;margin:auto 8%;padding:24px 0;width:84%;max-width:430px}
.waldraum-dialog[data-state="ready"] .waldraum-footer{position:relative;flex:0 0 auto;gap:12px}
.waldraum-dialog[data-state="ready"].waldraum-adjusting .waldraum-settings{position:absolute;bottom:calc(100% - 8px);max-height:min(55dvh,450px);z-index:4}
.waldraum-dialog:not([data-state="ready"]) .waldraum-disclosure{display:none}
.moment-app .waldraum-disclosure{font:400 12px/1.5 var(--mm-sans);color:#e4e8d9;text-align:center;text-shadow:0 1px 4px #102720;margin:0}
@media(max-width:700px){
 .waldraum-dialog[data-state="ready"] .waldraum-intro{margin:auto 7%;width:86%;padding:20px 0}
 .waldraum-dialog[data-state="ready"] .waldraum-intro h3{font-size:clamp(34px,10vw,42px);margin:0 0 18px}
}
