/* Calm details stay behind the puzzle and never take input. */
body[data-theme] .ambient-canvas { opacity:.45; }
body[data-theme="play"] .ambient-canvas { opacity:.33; }
.ambient-haze { position:absolute;inset:0;overflow:hidden;z-index:-1;pointer-events:none; }
.ambient-haze i { position:absolute;display:block;width:75%;height:45%;border-radius:50%;opacity:.12;filter:blur(35px);background:radial-gradient(ellipse,var(--ui-accent),transparent 68%);animation:quiet-drift 32s ease-in-out infinite alternate; }
.ambient-haze i:first-child { left:-40%;top:28%; }
.ambient-haze i:last-child { right:-40%;bottom:4%;animation-delay:-17s; }
body[data-theme="midnight"] .ambient-haze i { height:65%;background:radial-gradient(ellipse,#6aabb3,transparent 65%); }
body[data-theme="moon"] .ambient-haze i { opacity:.08;background:radial-gradient(ellipse,#a9b6d2,transparent 68%); }
body[data-theme="prism"] .ambient-haze i { opacity:.1;background:radial-gradient(ellipse,#9981c8,transparent 68%); }
@keyframes quiet-drift { from{transform:translate3d(0,12px,0)}to{transform:translate3d(22px,-16px,0)} }
body[data-living="false"] .ambient-haze,body[data-living="false"] .ambient-canvas { display:none; }
body[data-bedtime="true"] {
 color-scheme:dark;--bg:#141a21;--surface:#202730;--surface-2:#29303a;--ink:#d4cdbd;--muted:#a5a397;--line:#59616a;
 --button:#202730;--button-text:#d4cdbd;--button-edge:#59616a;--reset:#202730;--reset-text:#d4cdbd;--reset-edge:#59616a;
 --primary:#9d987f;--primary-text:#151c22;--primary-edge:#706d5c;--nav:#9d987f;--nav-text:#151c22;
 --hint:#9d987f;--hint-text:#151c22;--hint-edge:#706d5c;--ui-accent:#b4a98b;--ui-lilac:#aaa5b6;--ui-peach:#b9a085;--ui-pink:#b9a085;
 --tracker-bg:#29303a;--tracker-edge:#59616a;--frame:#767d7e;--frame-depth:#4c555a;--shadow:rgba(0,0,0,.24);
}
body[data-bedtime="true"] .app { background:var(--bg); }
body[data-bedtime="true"] .ambient-haze,body[data-bedtime="true"] .ambient-canvas { display:none; }
body[data-bedtime="true"] .board-shell { filter:brightness(.8) saturate(.68); }
body[data-bedtime="true"] *,body[data-bedtime="true"] *::before,body[data-bedtime="true"] *::after { animation:none!important;scroll-behavior:auto!important; }
body[data-bedtime="true"] .chapter-arrival,body[data-bedtime="true"] .flow-flash,body[data-bedtime="true"] .score-float,
body[data-bedtime="true"] .alignment-sweep,body[data-bedtime="true"] .fit-callout,body[data-bedtime="true"] .snap-layer,
body[data-bedtime="true"] .celebration,body[data-bedtime="true"] .reaction-layer,body[data-bedtime="true"] .trail-layer { display:none!important; }
body[data-bedtime="true"] .primary-button,body[data-bedtime="true"] .round-button,
body[data-bedtime="true"] .controls button { box-shadow:none; }
body[data-bedtime="true"] .complete { background:rgba(12,17,22,.45); }
body[data-bedtime="true"] .complete .reward-score,body[data-bedtime="true"] .complete .stats,
body[data-bedtime="true"] .complete .stars,body[data-bedtime="true"] .complete .session-trail { display:none; }
.complete.auto-flow { background:rgba(9,15,22,.2); }
.complete.auto-flow .complete-card { padding-top:18px; }
.complete.auto-flow .celebration,.complete.auto-flow .reward-score,.complete.auto-flow .stats,
.complete.auto-flow .stars,.complete.auto-flow .session-trail { display:none; }
.complete.auto-flow h2 { font-size:1.45rem; }
.complete.auto-flow .next { margin-top:18px; }
.complete.auto-flow .text-button { padding:12px; }
body[data-bedtime="true"] .setting input:checked + .switch { background:#8e8d7c; }
@media(prefers-reduced-motion:reduce) { .ambient-haze,.ambient-canvas { display:none!important; } }
