/* UG-UI-20261015-09: quiet in-scene entrances; native dialog keeps focus and the meadow underneath. */
.meadow-tools-dock { position:absolute; z-index:7; top:18px; right:18px; left:18px; display:flex; justify-content:flex-end; gap:10px; pointer-events:none; }
.meadow-tool-entry { pointer-events:auto; display:flex; align-items:center; gap:10px; min-height:62px; padding:10px 15px; border:1px solid rgba(255,255,255,.94); border-radius:20px; color:#365579; background:rgba(249,253,255,.92); box-shadow:0 7px 24px rgba(55,87,128,.1); backdrop-filter:blur(12px); text-align:left; cursor:pointer; font:inherit; transition:background .18s ease, transform .18s ease; }
.meadow-tool-entry:hover { background:#fff; transform:translateY(-2px); }
.meadow-tool-entry strong,.meadow-tool-entry small { display:block; }
.meadow-tool-entry strong { font-size:14px; font-weight:700; }
.meadow-tool-entry small { margin-top:4px; font-size:11px; color:#68829d; white-space:nowrap; }
.meadow-tool-icon { display:grid; place-items:center; width:34px; height:34px; flex:none; border-radius:12px; color:#547fbc; background:#e8f2ff; }
.meadow-tool-icon svg { width:22px; height:22px; }
.meadow-tool-entry:focus-visible,.meadow-tools-header button:focus-visible { outline:3px solid #537ec0; outline-offset:4px; }
.meadow-tools-dialog { width:min(760px,calc(100vw - 32px)); max-width:none; height:min(800px,calc(100dvh - 56px)); max-height:calc(100dvh - 32px); margin:auto; padding:0; border:1px solid rgba(255,255,255,.95); border-radius:28px; color:#324f72; background:#f4f8ff; box-shadow:0 24px 100px rgba(42,68,106,.25); overflow:hidden; }
.meadow-tools-dialog::backdrop { background:rgba(45,70,106,.24); backdrop-filter:blur(5px); }
.meadow-tools-shell { display:flex; flex-direction:column; height:100%; }
.meadow-tools-header { display:flex; align-items:center; justify-content:space-between; flex:none; gap:16px; padding:20px 24px 16px; background:linear-gradient(120deg,#eaf3ff,#f8fbff); border-bottom:1px solid #dce7f5; }
.meadow-tools-header span { font-size:11px; color:#7188a5; letter-spacing:2px; }
.meadow-tools-header h2 { margin:5px 0 0; font-size:22px; font-weight:700; }
.meadow-tools-header button { display:grid; place-items:center; width:40px; height:40px; flex:none; padding:10px; border:1px solid #d8e4f4; border-radius:50%; color:#567496; background:rgba(255,255,255,.85); cursor:pointer; }
.meadow-tools-header button svg { width:20px; height:20px; }
.meadow-tools-content { position:relative; flex:1; min-height:0; }
#meadowToolsFrame { display:block; width:100%; height:100%; border:0; background:#f4f8ff; }
#meadowToolsLoading { position:absolute; inset:22px 0 auto; margin:0; text-align:center; color:#7288a3; font-size:13px; pointer-events:none; }
#meadowToolsLoading[hidden] { display:none; }
@media(max-width:480px) {
  .meadow-tools-dock { top:14px; left:12px; right:12px; gap:8px; }
  .meadow-tool-entry { flex:1; justify-content:center; min-height:58px; padding:9px 10px; gap:8px; border-radius:17px; }
  .meadow-tool-entry strong { font-size:13px; }
  .meadow-tool-entry small { font-size:10px; }
  .meadow-tool-icon { width:29px; height:32px; }
  .meadow-tools-dialog { width:calc(100vw - 16px); height:calc(100dvh - 24px); max-height:calc(100dvh - 24px); border-radius:22px; }
  .meadow-tools-header { padding:16px 18px 13px; }
  .meadow-tools-header h2 { font-size:20px; }
}
@media(prefers-reduced-motion:reduce) { .meadow-tool-entry { transition:none; } }

/* UG-AUDIO-20261020-01: a small global player; moving it never moves/reloads the iframe. */
.noise-mini-player { position:fixed; z-index:60; top:90px; right:24px; display:flex; align-items:center; width:292px; max-width:calc(100vw - 16px); min-height:66px; padding:8px 6px 8px 0; gap:2px; border:1px solid #cbdff4; border-radius:22px; background:rgba(247,251,255,.96); color:#375a80; box-shadow:0 8px 30px #385a8530,inset 0 1px 0 #fff; backdrop-filter:blur(18px); }
.noise-mini-player[hidden] { display:none; }
.noise-mini-player button { border:0; margin:0; padding:0; color:inherit; background:transparent; cursor:pointer; flex:none; min-height:44px; display:flex; align-items:center; justify-content:center; border-radius:13px; }
.noise-mini-player button:focus-visible { outline:3px solid #537ec0; outline-offset:1px; }
.noise-mini-player button:hover { background:#e6f0fc; }
.noise-mini-player .noise-mini-grip { width:24px; cursor:grab; touch-action:none; color:#9bb2cc; }
.noise-mini-grip:active { cursor:grabbing; }
.noise-mini-grip svg { width:14px; height:22px; }
.noise-mini-player .noise-mini-expand { flex:1; justify-content:flex-start; min-width:0; gap:9px; text-align:left; padding:0 4px; }
.noise-mini-copy { display:flex; flex-direction:column; gap:5px; min-width:0; }
.noise-mini-copy strong { max-width:140px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; font-weight:650; }
.noise-mini-copy small { color:#6e87a4; font-size:10px; white-space:nowrap; }
.noise-mini-player .noise-mini-toggle { width:40px; color:#4974ba; background:#e2edfc; }
.noise-mini-player .noise-mini-stop { width:36px; color:#7890ac; }
.noise-mini-toggle svg,.noise-mini-stop svg { width:21px; height:21px; }
.noise-mini-toggle:disabled { opacity:.45; cursor:wait; }
.noise-mini-pause-icon,.is-playing .noise-mini-play-icon { display:none; }
.is-playing .noise-mini-pause-icon { display:block; }
.noise-mini-wave { display:flex; align-items:center; justify-content:center; gap:3px; width:21px; height:25px; flex:none; }
.noise-mini-wave i { width:3px; height:8px; border-radius:3px; background:#77a0d2; }
.noise-mini-wave i:nth-child(2) { height:18px; }
.is-playing .noise-mini-wave i { animation:noise-wave 1.1s ease-in-out infinite alternate; }
.is-playing .noise-mini-wave i:nth-child(2) { animation-delay:-.4s; }
.is-playing .noise-mini-wave i:nth-child(3) { animation-delay:-.8s; }
@keyframes noise-wave { from { transform:scaleY(.5); } to { transform:scaleY(1.2); } }
@media(max-width:600px) { .noise-mini-player { top:78px; right:12px; width:276px; } }
/* Leave the homepage mentor picker and task/history shortcuts unobstructed. */
.phone:not(.subpage-layout) .noise-mini-player:not(.is-positioned) { top:184px; }
@media(prefers-reduced-motion:reduce) { .is-playing .noise-mini-wave i { animation:none; } }
.reduce-motion .noise-mini-wave i { animation:none; }
