/* One calm surface palette for the tool hub, companion panels and usage page. */
body{--tool-bg:#f4f1eb;--tool-card:#fffdf9;--tool-ink:#343b40;--tool-accent:#76674f;--tool-scheme:light}
body[data-mood="qing"]{--tool-bg:#f5eedb;--tool-card:#fffcf4;--tool-accent:#8a6d3d}
body[data-mood="yue"]{--tool-bg:#f7e6e9;--tool-card:#fff7f8;--tool-accent:#995662;--tool-ink:#4b343c}
body[data-mood="zhuan"]{--tool-bg:#e6f0f4;--tool-card:#f5fafb;--tool-accent:#1f5a70;--tool-ink:#263f49}
body[data-mood="yi"]{--tool-bg:#eee8f8;--tool-card:#faf7ff;--tool-accent:#5b3fa0;--tool-ink:#39334e}
body[data-mood="jing"]{--tool-bg:#e7eef8;--tool-card:#f6f9ff;--tool-accent:#33517e;--tool-ink:#2e3e55}
body[data-mood="moonlight"]{--tool-bg:#171b32;--tool-card:#232941;--tool-accent:#d3c4ff;--tool-ink:#eef0ff;--tool-scheme:dark}
body[data-mood="desire"]{--tool-bg:#2b1929;--tool-card:#3b2436;--tool-accent:#f0bfd3;--tool-ink:#fff0f5;--tool-scheme:dark}
body[data-mood="rage"]{--tool-bg:#311b1d;--tool-card:#462629;--tool-accent:#f7b3a5;--tool-ink:#fff0eb;--tool-scheme:dark}
body[data-mood="rage2"]{--tool-bg:#f1b4aa;--tool-card:#ffe0d9;--tool-accent:#853127;--tool-ink:#4d211c}
body[data-mood="vuoto"]{--tool-bg:#222426;--tool-card:#303336;--tool-accent:#d2d5d7;--tool-ink:#f1f2f3;--tool-scheme:dark}
#menuPanel,.shu-miniapp-panel,body.usage-page{--text:var(--tool-ink);--text-soft:var(--tool-ink);--text-faint:color-mix(in srgb,var(--tool-ink) 72%,var(--tool-bg));--text-mute:var(--text-faint);--hairline:color-mix(in srgb,var(--tool-accent) 20%,transparent);--card-line:var(--hairline);--card-bg:var(--tool-card);--card-shadow:none;--bg:var(--tool-bg);--accent:var(--tool-accent);--field-bg:var(--tool-card);color-scheme:var(--tool-scheme);color:var(--tool-ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
#menuPanel .menu-page{background:radial-gradient(ellipse at 92% 0%,color-mix(in srgb,var(--tool-accent) 12%,transparent),transparent 55%),var(--tool-bg)}
#menuPanel .menu-page::before{display:none}
#menuPanel .menu-scroll{padding:calc(env(safe-area-inset-top) + 24px) 22px calc(env(safe-area-inset-bottom) + 28px);max-width:840px;width:100%;margin:auto}
#menuPanel .menu-head{margin-bottom:16px}
#menuPanel .menu-private{font-family:inherit;font-weight:500;font-size:12px;line-height:1.5;letter-spacing:.1em;color:var(--tool-accent)}
#menuPanel .menu-private::after{display:none}
#menuPanel .menu-hero{margin-bottom:25px}
#menuPanel .menu-title{font:600 31px/1.3 "Songti SC","Noto Serif SC",serif;letter-spacing:.04em;text-shadow:none;margin:0 0 10px}
#menuPanel .menu-since{font-family:inherit;font-size:12px;line-height:1.7;letter-spacing:.03em;margin:0 0 9px;color:var(--text-faint)}
#menuPanel .menu-days{font-family:inherit;gap:6px}
#menuPanel .menu-days .num{font-size:22px;font-weight:500;font-variant-numeric:tabular-nums}
#menuPanel .menu-days .lab{font-size:12px;letter-spacing:.04em}
#menuPanel .menu-list{display:grid;gap:9px}
#menuPanel .menu-item{grid-template-columns:38px minmax(0,1fr) 18px;gap:12px;padding:14px;background:var(--tool-card);border:1px solid var(--hairline);border-radius:17px;min-height:74px}
#menuPanel .menu-item:active{background:color-mix(in srgb,var(--tool-accent) 12%,var(--tool-card))}
#menuPanel .menu-dot{display:none}
#menuPanel .menu-ic{width:38px;height:38px;background:color-mix(in srgb,var(--tool-accent) 9%,transparent);border-radius:12px;color:var(--tool-accent)}
#menuPanel .menu-name{font-family:inherit;font-weight:600;font-size:16px;line-height:1.5;letter-spacing:0}
#menuPanel .menu-sub{font-family:inherit;font-size:12px;line-height:1.65;letter-spacing:0;color:var(--text-faint)}
#menuPanel .menu-chev{color:var(--tool-accent)}
#menuPanel .menu-foot{font-family:inherit;font-size:12px;line-height:1.7;color:var(--text-faint);letter-spacing:0;margin-top:22px}
.shu-miniapp-panel{background:var(--tool-bg)}
.shu-miniapp-top h2{font:600 19px/1.4 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
.shu-miniapp-card{padding:21px;border-radius:21px}
.shu-miniapp-card h3{font:600 18px/1.5 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;margin:0 0 8px;color:var(--tool-ink)}
.shu-miniapp-card p{font-size:13px;line-height:1.8;color:var(--text-faint)}
.shu-miniapp-card .miniapp-time-row{font-size:14px;gap:12px;min-height:53px}
.shu-miniapp-card input,.shu-miniapp-card select,.shu-miniapp-card textarea{font-family:inherit;color:var(--tool-ink);background:var(--tool-card);border-color:var(--hairline);font-size:14px}
.shu-miniapp-card input[type="checkbox"]{appearance:auto;width:20px;height:20px;min-width:20px;accent-color:var(--tool-accent);cursor:pointer}
.shu-miniapp-card input[type="time"]{font-size:19px;font-variant-numeric:tabular-nums;max-width:132px;padding:8px}
.shu-miniapp-card select{max-width:200px;min-height:40px;padding:7px;border-radius:10px}
.shu-miniapp-card :is(input,select,textarea,button):focus-visible,.schedule-details summary:focus-visible{outline:2px solid var(--tool-accent);outline-offset:3px}
.schedule-overview{background:linear-gradient(125deg,color-mix(in srgb,var(--tool-accent) 8%,var(--tool-card)),var(--tool-card))}
.schedule-overview h3{font-size:23px}.shu-miniapp-card .tools-eyebrow{font-size:11px;letter-spacing:.12em;color:var(--tool-accent);margin:0 0 8px}
.schedule-next{padding-top:12px;border-top:1px solid var(--hairline);font-variant-numeric:tabular-nums}
.schedule-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.schedule-card{padding:17px}.schedule-symbol{display:block;font-size:27px;color:var(--tool-accent);margin-bottom:9px}
.schedule-card .miniapp-time-row{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.schedule-card p{min-height:46px}
.schedule-card input[type="time"]{width:100%;max-width:none;min-width:0;box-sizing:border-box;padding:7px 5px;font-size:17px}
.schedule-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;color:var(--text-faint);font-size:12px}
.schedule-details summary,.reminder-editor summary{cursor:pointer;color:var(--tool-ink);font-weight:600;min-height:34px;line-height:1.8}
.schedule-details summary span{display:block;font-weight:400;font-size:12px;color:var(--text-faint);padding-left:17px}
.schedule-details[open] summary{margin-bottom:15px}
.tides-actions{position:sticky;bottom:-1px;padding:12px 0;background:linear-gradient(transparent,var(--tool-bg) 25%)}
.tides-actions button{width:100%;min-height:49px;background:var(--tool-accent);color:var(--tool-bg);font-weight:600;border-radius:15px;border:0}
.tools-intro{font-size:20px;line-height:1.6;margin:5px 3px 12px}.tools-intro small{display:block;font-size:13px;color:var(--text-faint);margin-top:7px}
.reminder-group{font-family:inherit;font-weight:600;font-size:13px;line-height:1.5;color:var(--tool-accent);margin:14px 3px 0}
.reminder-editor{margin-top:7px}.shu-miniapp-panel .miniapp-primary{background:var(--tool-accent);color:var(--tool-bg);border-color:transparent}
body.usage-page{--ink:var(--tool-ink);--muted:var(--text-faint);--line:var(--hairline);--green:var(--tool-accent);--surface:var(--tool-bg);background:var(--tool-bg)}
.usage-page :is(.estimate-window,.segmented,input,select){background:var(--tool-card);color:var(--tool-ink);border-color:var(--hairline)}
.usage-page :is(.segmented button[aria-pressed=true],.primary){background:var(--tool-accent);color:var(--tool-bg)}
@media(min-width:700px){#menuPanel .menu-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:370px){.shu-miniapp-card{padding:16px}.schedule-cards{gap:9px}.schedule-card input[type="time"]{max-width:115px}.miniapp-time-row select{max-width:160px}}
@media(prefers-reduced-motion:reduce){#menuPanel *,.shu-miniapp-panel *{scroll-behavior:auto;transition:none}}

#menuPanel .menu-group-label{grid-column:1/-1}

/* Selected Moonlight scene: isolated from chat wallpaper and mood state. */
#menuPanel,#tidesPanel,#remindersPanel{--tool-bg:#282535;--tool-card:#393344;--tool-ink:#f4edf5;--tool-accent:#edcfdf;--tool-scheme:dark;--text:#f4edf5;--text-faint:#e1d4e4;--hairline:#d8c5dc35;--bg:#282535;color:#f4edf5;color-scheme:dark}
#menuPanel .menu-page,#tidesPanel,#remindersPanel{background:#282535 url('./assets/moonlight-halo.webp') center/cover no-repeat}
#menuPanel .menu-page::before{display:block;background:linear-gradient(90deg,rgba(48,44,59,.40),rgba(48,44,59,.35) 70%,rgba(48,44,59,.20));mask-image:linear-gradient(180deg,#0009,#000 40%,#000d)}
#menuPanel .menu-scroll{max-width:480px;padding:calc(env(safe-area-inset-top) + 28px) 28px calc(env(safe-area-inset-bottom) + 28px)}
#menuPanel .menu-head,#menuPanel .menu-title,#menuPanel .menu-since{display:none}
#menuPanel .menu-hero{min-height:264px;display:flex;align-items:center;flex-direction:column;justify-content:center;margin:0 0 12px;padding:28px 0 20px}
#menuPanel .moon-name{position:relative;margin:0 0 18px;font:400 46px/1.5 'SimSun','Songti SC',serif;color:#fff6ef;text-shadow:0 1px 2px #15101ecc,0 0 12px #e7d7f49c,0 0 28px #c3a8de66}
#menuPanel .menu-days{font:12px/1.8 'Microsoft YaHei','PingFang SC',sans-serif;gap:6px;color:#eee1ef}
#menuPanel .menu-days .num{font:400 25px/1.4 Georgia,serif}
#menuPanel .menu-days .lab{font-size:12px}
#menuPanel .moon-quote{min-height:42px;text-align:center;margin:28px 0 0;font:12px/1.9 'Microsoft YaHei','PingFang SC',sans-serif;letter-spacing:.08em;color:#f1e8f1}
#menuPanel .menu-list{display:grid;grid-template-columns:1fr;gap:0}
#menuPanel .menu-item{grid-template-columns:22px minmax(0,1fr) 12px;gap:17px;border:0;border-bottom:1px solid #d8c5dc35;border-radius:0;background:transparent;padding:21px 0;min-height:83px}
#menuPanel .menu-ic{width:22px;height:22px;background:none;border-radius:0;color:#e9d9ed}
#menuPanel .menu-ic img{filter:brightness(0) invert(.9)}
#menuPanel .menu-name{font:400 19px/1.5 'Microsoft YaHei','PingFang SC',sans-serif;color:#f4edf5;letter-spacing:.03em}
#menuPanel .menu-sub{font:12px/1.8 'Microsoft YaHei','PingFang SC',sans-serif;color:#e1d4e4;margin-top:5px}
#menuPanel .menu-chev{color:#e1d4e4}
#menuPanel .menu-group-label{color:#e1d4e4;padding:24px 0 6px;font-size:11px}
#menuPanel :is(.menu-name,.menu-sub,.menu-days,.moon-quote,.menu-foot){text-shadow:0 1px 2px #15101e,0 0 4px #15101ee6}
#menuPanel .menu-item:active{background:#e4c4df0f}
#menuPanel .moon-motion{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;margin-top:22px;color:#e1d4e4;min-height:44px}
#menuPanel .moon-motion input{accent-color:#d3b7dd;width:16px;height:16px}
#menuPanel .menu-foot{color:#e1d4e4}
#tidesPanel,#remindersPanel{background-image:linear-gradient(#302c3b55,#302c3b77),url('./assets/moonlight-halo.webp')}
:is(#tidesPanel,#remindersPanel) .shu-miniapp-card{border-radius:0;background:#302c3b30;border:0;border-bottom:1px solid #d8c5dc35;box-shadow:none}
#menuPanel .name-orbit{position:absolute;inset:0;pointer-events:none}
#menuPanel .name-satellite{position:absolute;left:50%;top:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border-radius:50%;transform:translate(23.1px,-34px) rotate(26deg);background:radial-gradient(circle,rgba(255,242,223,.66) 0%,rgba(244,214,237,.30) 23%,rgba(199,179,234,.13) 48%,transparent 74%);box-shadow:0 0 7px 1px rgba(224,205,245,.13)}
#menuPanel .name-satellite::before{content:"";position:absolute;inset:5px;display:block;background:linear-gradient(135deg,#fff9ee,#f6e5ef 45%,#d3b6ed);clip-path:polygon(50% 0%,62% 35%,98% 35%,69% 57%,79% 92%,50% 70%,21% 92%,31% 57%,2% 35%,38% 35%)}
#menuPanel .name-satellite::after{content:"";position:absolute;pointer-events:none;background-size:contain;background-repeat:no-repeat;left:-34px;top:3px;width:44px;height:30px;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2244%22%20height%3D%2230%22%20viewBox%3D%220%200%2044%2030%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22s%22%20gradientUnits%3D%22userSpaceOnUse%22%20x1%3D%224%22%20y1%3D%2224%22%20x2%3D%2242%22%20y2%3D%226%22%3E%3Cstop%20stop-color%3D%22%23d7c0f0%22%20stop-opacity%3D%220%22%2F%3E%3Cstop%20offset%3D%22.35%22%20stop-color%3D%22%23e6cdef%22%20stop-opacity%3D%22.08%22%2F%3E%3Cstop%20offset%3D%22.72%22%20stop-color%3D%22%23f5dfee%22%20stop-opacity%3D%22.32%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23fff4e5%22%20stop-opacity%3D%22.65%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M42%203.5C29%207%2018%2014%204%2024C20%2015%2031%2013%2042%2010Q44%206.5%2042%203.5Z%22%20fill%3D%22url%28%23s%29%22%2F%3E%3C%2Fsvg%3E")}
#menuPanel .trail-dust{position:absolute;left:-34px;top:3px;width:44px;height:30px;pointer-events:none;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2244%22%20height%3D%2230%22%20viewBox%3D%220%200%2044%2030%22%3E%3Cg%20fill%3D%22%23fff1e5%22%3E%3Ccircle%20cx%3D%2241.50%22%20cy%3D%227.14%22%20r%3D%220.24%22%20opacity%3D%220.75%22%2F%3E%3Ccircle%20cx%3D%2240.90%22%20cy%3D%226.32%22%20r%3D%220.22%22%20opacity%3D%220.73%22%2F%3E%3Ccircle%20cx%3D%2239.68%22%20cy%3D%224.22%22%20r%3D%220.26%22%20opacity%3D%220.71%22%2F%3E%3Ccircle%20cx%3D%2238.92%22%20cy%3D%227.92%22%20r%3D%220.28%22%20opacity%3D%220.69%22%2F%3E%3Ccircle%20cx%3D%2237.51%22%20cy%3D%225.14%22%20r%3D%220.29%22%20opacity%3D%220.67%22%2F%3E%3Ccircle%20cx%3D%2236.20%22%20cy%3D%229.20%22%20r%3D%220.21%22%20opacity%3D%220.65%22%2F%3E%3Ccircle%20cx%3D%2235.18%22%20cy%3D%225.54%22%20r%3D%220.28%22%20opacity%3D%220.63%22%2F%3E%3Ccircle%20cx%3D%2234.68%22%20cy%3D%229.47%22%20r%3D%220.26%22%20opacity%3D%220.61%22%2F%3E%3Ccircle%20cx%3D%2233.03%22%20cy%3D%228.09%22%20r%3D%220.27%22%20opacity%3D%220.59%22%2F%3E%3Ccircle%20cx%3D%2232.17%22%20cy%3D%228.03%22%20r%3D%220.21%22%20opacity%3D%220.57%22%2F%3E%3Ccircle%20cx%3D%2230.85%22%20cy%3D%227.47%22%20r%3D%220.25%22%20opacity%3D%220.55%22%2F%3E%3Ccircle%20cx%3D%2230.16%22%20cy%3D%2210.07%22%20r%3D%220.17%22%20opacity%3D%220.53%22%2F%3E%3Ccircle%20cx%3D%2228.85%22%20cy%3D%228.64%22%20r%3D%220.19%22%20opacity%3D%220.51%22%2F%3E%3Ccircle%20cx%3D%2227.88%22%20cy%3D%228.92%22%20r%3D%220.14%22%20opacity%3D%220.49%22%2F%3E%3Ccircle%20cx%3D%2227.09%22%20cy%3D%2210.97%22%20r%3D%220.28%22%20opacity%3D%220.47%22%2F%3E%3Ccircle%20cx%3D%2226.23%22%20cy%3D%2211.17%22%20r%3D%220.28%22%20opacity%3D%220.45%22%2F%3E%3Ccircle%20cx%3D%2225.11%22%20cy%3D%2210.61%22%20r%3D%220.14%22%20opacity%3D%220.43%22%2F%3E%3Ccircle%20cx%3D%2224.03%22%20cy%3D%2210.91%22%20r%3D%220.17%22%20opacity%3D%220.41%22%2F%3E%3Ccircle%20cx%3D%2222.43%22%20cy%3D%2212.05%22%20r%3D%220.28%22%20opacity%3D%220.40%22%2F%3E%3Ccircle%20cx%3D%2221.51%22%20cy%3D%2213.74%22%20r%3D%220.22%22%20opacity%3D%220.38%22%2F%3E%3Ccircle%20cx%3D%2220.86%22%20cy%3D%2213.92%22%20r%3D%220.28%22%20opacity%3D%220.36%22%2F%3E%3Ccircle%20cx%3D%2219.81%22%20cy%3D%2213.67%22%20r%3D%220.22%22%20opacity%3D%220.34%22%2F%3E%3Ccircle%20cx%3D%2218.64%22%20cy%3D%2215.16%22%20r%3D%220.13%22%20opacity%3D%220.32%22%2F%3E%3Ccircle%20cx%3D%2217.52%22%20cy%3D%2214.80%22%20r%3D%220.20%22%20opacity%3D%220.30%22%2F%3E%3Ccircle%20cx%3D%2216.12%22%20cy%3D%2215.25%22%20r%3D%220.13%22%20opacity%3D%220.28%22%2F%3E%3Ccircle%20cx%3D%2215.46%22%20cy%3D%2215.94%22%20r%3D%220.22%22%20opacity%3D%220.26%22%2F%3E%3Ccircle%20cx%3D%2214.06%22%20cy%3D%2216.67%22%20r%3D%220.19%22%20opacity%3D%220.24%22%2F%3E%3Ccircle%20cx%3D%2213.38%22%20cy%3D%2217.89%22%20r%3D%220.26%22%20opacity%3D%220.22%22%2F%3E%3Ccircle%20cx%3D%2211.87%22%20cy%3D%2218.45%22%20r%3D%220.16%22%20opacity%3D%220.20%22%2F%3E%3Ccircle%20cx%3D%2210.99%22%20cy%3D%2218.68%22%20r%3D%220.20%22%20opacity%3D%220.18%22%2F%3E%3Ccircle%20cx%3D%2210.07%22%20cy%3D%2219.67%22%20r%3D%220.29%22%20opacity%3D%220.16%22%2F%3E%3Ccircle%20cx%3D%229.18%22%20cy%3D%2220.56%22%20r%3D%220.18%22%20opacity%3D%220.14%22%2F%3E%3Ccircle%20cx%3D%227.65%22%20cy%3D%2221.21%22%20r%3D%220.30%22%20opacity%3D%220.12%22%2F%3E%3Ccircle%20cx%3D%226.63%22%20cy%3D%2221.73%22%20r%3D%220.14%22%20opacity%3D%220.10%22%2F%3E%3Ccircle%20cx%3D%225.93%22%20cy%3D%2222.50%22%20r%3D%220.24%22%20opacity%3D%220.08%22%2F%3E%3Ccircle%20cx%3D%224.72%22%20cy%3D%2223.34%22%20r%3D%220.14%22%20opacity%3D%220.06%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") center/contain no-repeat;opacity:.55}
#menuPanel .trail-dust-b{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2244%22%20height%3D%2230%22%20viewBox%3D%220%200%2044%2030%22%3E%3Cg%20fill%3D%22%23fff1e5%22%3E%3Ccircle%20cx%3D%2241.19%22%20cy%3D%224.56%22%20r%3D%220.26%22%20opacity%3D%220.74%22%2F%3E%3Ccircle%20cx%3D%2239.97%22%20cy%3D%223.70%22%20r%3D%220.19%22%20opacity%3D%220.72%22%2F%3E%3Ccircle%20cx%3D%2238.91%22%20cy%3D%225.23%22%20r%3D%220.14%22%20opacity%3D%220.70%22%2F%3E%3Ccircle%20cx%3D%2238.12%22%20cy%3D%224.57%22%20r%3D%220.19%22%20opacity%3D%220.68%22%2F%3E%3Ccircle%20cx%3D%2236.89%22%20cy%3D%225.50%22%20r%3D%220.27%22%20opacity%3D%220.66%22%2F%3E%3Ccircle%20cx%3D%2235.97%22%20cy%3D%226.70%22%20r%3D%220.21%22%20opacity%3D%220.64%22%2F%3E%3Ccircle%20cx%3D%2234.69%22%20cy%3D%228.88%22%20r%3D%220.17%22%20opacity%3D%220.62%22%2F%3E%3Ccircle%20cx%3D%2234.00%22%20cy%3D%228.34%22%20r%3D%220.25%22%20opacity%3D%220.60%22%2F%3E%3Ccircle%20cx%3D%2232.55%22%20cy%3D%229.95%22%20r%3D%220.28%22%20opacity%3D%220.58%22%2F%3E%3Ccircle%20cx%3D%2231.63%22%20cy%3D%2210.47%22%20r%3D%220.20%22%20opacity%3D%220.56%22%2F%3E%3Ccircle%20cx%3D%2231.00%22%20cy%3D%229.06%22%20r%3D%220.21%22%20opacity%3D%220.54%22%2F%3E%3Ccircle%20cx%3D%2229.67%22%20cy%3D%229.64%22%20r%3D%220.24%22%20opacity%3D%220.52%22%2F%3E%3Ccircle%20cx%3D%2228.84%22%20cy%3D%229.40%22%20r%3D%220.23%22%20opacity%3D%220.50%22%2F%3E%3Ccircle%20cx%3D%2227.71%22%20cy%3D%2211.05%22%20r%3D%220.19%22%20opacity%3D%220.48%22%2F%3E%3Ccircle%20cx%3D%2226.75%22%20cy%3D%2210.47%22%20r%3D%220.30%22%20opacity%3D%220.46%22%2F%3E%3Ccircle%20cx%3D%2225.37%22%20cy%3D%2210.87%22%20r%3D%220.17%22%20opacity%3D%220.44%22%2F%3E%3Ccircle%20cx%3D%2224.53%22%20cy%3D%2212.26%22%20r%3D%220.21%22%20opacity%3D%220.42%22%2F%3E%3Ccircle%20cx%3D%2223.12%22%20cy%3D%2211.96%22%20r%3D%220.16%22%20opacity%3D%220.40%22%2F%3E%3Ccircle%20cx%3D%2222.55%22%20cy%3D%2213.10%22%20r%3D%220.21%22%20opacity%3D%220.39%22%2F%3E%3Ccircle%20cx%3D%2221.31%22%20cy%3D%2212.32%22%20r%3D%220.17%22%20opacity%3D%220.37%22%2F%3E%3Ccircle%20cx%3D%2220.17%22%20cy%3D%2213.57%22%20r%3D%220.23%22%20opacity%3D%220.35%22%2F%3E%3Ccircle%20cx%3D%2218.88%22%20cy%3D%2214.64%22%20r%3D%220.13%22%20opacity%3D%220.33%22%2F%3E%3Ccircle%20cx%3D%2218.05%22%20cy%3D%2215.01%22%20r%3D%220.27%22%20opacity%3D%220.31%22%2F%3E%3Ccircle%20cx%3D%2217.25%22%20cy%3D%2215.89%22%20r%3D%220.15%22%20opacity%3D%220.29%22%2F%3E%3Ccircle%20cx%3D%2215.84%22%20cy%3D%2215.63%22%20r%3D%220.28%22%20opacity%3D%220.27%22%2F%3E%3Ccircle%20cx%3D%2214.70%22%20cy%3D%2216.63%22%20r%3D%220.17%22%20opacity%3D%220.25%22%2F%3E%3Ccircle%20cx%3D%2213.91%22%20cy%3D%2217.32%22%20r%3D%220.14%22%20opacity%3D%220.23%22%2F%3E%3Ccircle%20cx%3D%2212.91%22%20cy%3D%2217.57%22%20r%3D%220.21%22%20opacity%3D%220.21%22%2F%3E%3Ccircle%20cx%3D%2211.80%22%20cy%3D%2218.45%22%20r%3D%220.25%22%20opacity%3D%220.19%22%2F%3E%3Ccircle%20cx%3D%2210.46%22%20cy%3D%2219.51%22%20r%3D%220.18%22%20opacity%3D%220.17%22%2F%3E%3Ccircle%20cx%3D%229.26%22%20cy%3D%2220.05%22%20r%3D%220.22%22%20opacity%3D%220.15%22%2F%3E%3Ccircle%20cx%3D%228.63%22%20cy%3D%2220.74%22%20r%3D%220.23%22%20opacity%3D%220.13%22%2F%3E%3Ccircle%20cx%3D%227.33%22%20cy%3D%2221.41%22%20r%3D%220.30%22%20opacity%3D%220.11%22%2F%3E%3Ccircle%20cx%3D%226.60%22%20cy%3D%2222.30%22%20r%3D%220.21%22%20opacity%3D%220.09%22%2F%3E%3Ccircle%20cx%3D%225.28%22%20cy%3D%2223.01%22%20r%3D%220.20%22%20opacity%3D%220.07%22%2F%3E%3Ccircle%20cx%3D%224.22%22%20cy%3D%2223.75%22%20r%3D%220.25%22%20opacity%3D%220.05%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}
@keyframes name-companion{0.0000%{transform:translate(23.098px,-34.007px) rotate(25.815deg)}1.5625%{transform:translate(26.614px,-32.089px) rotate(31.461deg)}3.1250%{transform:translate(29.874px,-29.861px) rotate(37.272deg)}4.6875%{transform:translate(32.846px,-27.346px) rotate(43.246deg)}6.2500%{transform:translate(35.502px,-24.568px) rotate(49.377deg)}7.8125%{transform:translate(37.816px,-21.553px) rotate(55.647deg)}9.3750%{transform:translate(39.765px,-18.330px) rotate(62.030deg)}10.9375%{transform:translate(41.332px,-14.931px) rotate(68.494deg)}12.5000%{transform:translate(42.501px,-11.388px) rotate(75.000deg)}14.0625%{transform:translate(43.260px,-7.735px) rotate(81.506deg)}15.6250%{transform:translate(43.603px,-4.008px) rotate(87.970deg)}17.1875%{transform:translate(43.526px,-0.243px) rotate(94.353deg)}18.7500%{transform:translate(43.029px,3.525px) rotate(100.623deg)}20.3125%{transform:translate(42.119px,7.259px) rotate(106.754deg)}21.8750%{transform:translate(40.802px,10.923px) rotate(112.728deg)}23.4375%{transform:translate(39.093px,14.482px) rotate(118.539deg)}25.0000%{transform:translate(37.007px,17.902px) rotate(124.185deg)}26.5625%{transform:translate(34.565px,21.149px) rotate(129.672deg)}28.1250%{transform:translate(31.790px,24.192px) rotate(135.012deg)}29.6875%{transform:translate(28.709px,27.003px) rotate(140.221deg)}31.2500%{transform:translate(25.351px,29.553px) rotate(145.316deg)}32.8125%{transform:translate(21.749px,31.819px) rotate(150.320deg)}34.3750%{transform:translate(17.938px,33.778px) rotate(155.252deg)}35.9375%{transform:translate(13.954px,35.412px) rotate(160.138deg)}37.5000%{transform:translate(9.835px,36.705px) rotate(165.000deg)}39.0625%{transform:translate(5.622px,37.645px) rotate(169.862deg)}40.6250%{transform:translate(1.355px,38.222px) rotate(174.748deg)}42.1875%{transform:translate(-2.926px,38.430px) rotate(179.680deg)}43.7500%{transform:translate(-7.178px,38.269px) rotate(184.684deg)}45.3125%{transform:translate(-11.361px,37.739px) rotate(189.779deg)}46.8750%{transform:translate(-15.435px,36.846px) rotate(194.988deg)}48.4375%{transform:translate(-19.360px,35.598px) rotate(200.328deg)}50.0000%{transform:translate(-23.098px,34.007px) rotate(205.815deg)}51.5625%{transform:translate(-26.614px,32.089px) rotate(211.461deg)}53.1250%{transform:translate(-29.874px,29.861px) rotate(217.272deg)}54.6875%{transform:translate(-32.846px,27.346px) rotate(223.246deg)}56.2500%{transform:translate(-35.502px,24.568px) rotate(229.377deg)}57.8125%{transform:translate(-37.816px,21.553px) rotate(235.647deg)}59.3750%{transform:translate(-39.765px,18.330px) rotate(242.030deg)}60.9375%{transform:translate(-41.332px,14.931px) rotate(248.494deg)}62.5000%{transform:translate(-42.501px,11.388px) rotate(255.000deg)}64.0625%{transform:translate(-43.260px,7.735px) rotate(261.506deg)}65.6250%{transform:translate(-43.603px,4.008px) rotate(267.970deg)}67.1875%{transform:translate(-43.526px,0.243px) rotate(274.353deg)}68.7500%{transform:translate(-43.029px,-3.525px) rotate(280.623deg)}70.3125%{transform:translate(-42.119px,-7.259px) rotate(286.754deg)}71.8750%{transform:translate(-40.802px,-10.923px) rotate(292.728deg)}73.4375%{transform:translate(-39.093px,-14.482px) rotate(298.539deg)}75.0000%{transform:translate(-37.007px,-17.902px) rotate(304.185deg)}76.5625%{transform:translate(-34.565px,-21.149px) rotate(309.672deg)}78.1250%{transform:translate(-31.790px,-24.192px) rotate(315.012deg)}79.6875%{transform:translate(-28.709px,-27.003px) rotate(320.221deg)}81.2500%{transform:translate(-25.351px,-29.553px) rotate(325.316deg)}82.8125%{transform:translate(-21.749px,-31.819px) rotate(330.320deg)}84.3750%{transform:translate(-17.938px,-33.778px) rotate(335.252deg)}85.9375%{transform:translate(-13.954px,-35.412px) rotate(340.138deg)}87.5000%{transform:translate(-9.835px,-36.705px) rotate(345.000deg)}89.0625%{transform:translate(-5.622px,-37.645px) rotate(349.862deg)}90.6250%{transform:translate(-1.355px,-38.222px) rotate(354.748deg)}92.1875%{transform:translate(2.926px,-38.430px) rotate(359.680deg)}93.7500%{transform:translate(7.178px,-38.269px) rotate(364.684deg)}95.3125%{transform:translate(11.361px,-37.739px) rotate(369.779deg)}96.8750%{transform:translate(15.435px,-36.846px) rotate(374.988deg)}98.4375%{transform:translate(19.360px,-35.598px) rotate(380.328deg)}100.0000%{transform:translate(23.098px,-34.007px) rotate(385.815deg)}}

@keyframes dust-shimmer{0%,100%{opacity:.25}50%{opacity:.9}}
@media(prefers-reduced-motion:no-preference){
#menuPanel .name-satellite{animation:name-companion 28s linear infinite;animation-play-state:paused}
#menuPanel .trail-dust{animation:dust-shimmer 3.8s ease-in-out infinite;animation-play-state:paused}
#menuPanel .trail-dust-b{animation-duration:5.1s;animation-delay:-2s}
#menuPanel[data-moon-running=true] :is(.name-satellite,.trail-dust){animation-play-state:running}
}
#menuPanel[data-moon-motion=false] .name-satellite::after,#menuPanel[data-moon-motion=false] .trail-dust{display:none}
@media(prefers-reduced-motion:reduce){#menuPanel .name-satellite::after,#menuPanel .trail-dust{display:none}}

/* Keep the name below the bright canopy on tall mobile screens. */
#menuPanel .menu-hero{min-height:320px;padding-top:76px}

/* Larger hero copy only; menu typography stays unchanged. */
#menuPanel .menu-days,#menuPanel .menu-days .lab{font-size:15px}
#menuPanel .menu-days .num{font-size:29px}
#menuPanel .moon-quote{font-size:15px;line-height:1.9;min-height:58px;letter-spacing:.035em;opacity:1;transition:opacity .65s ease}
#menuPanel .moon-quote[data-fading=true]{opacity:0}
/* One masked scenic layer; the horizon and lower clouds remain still. */
#menuPanel .menu-page::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:url('./assets/moonlight-halo.webp') center/cover no-repeat;mask-image:linear-gradient(180deg,#000 0%,#000b 22%,transparent 47%);opacity:.22;transform-origin:25% 10%}
#menuPanel .menu-page::before{z-index:1}
#menuPanel .menu-scroll{z-index:2}
@keyframes moon-aurora-drift{from{transform:translate(0,0) scale(1);opacity:.16}to{transform:translate(2px,-1px) scale(1.008);opacity:.32}}
@media(prefers-reduced-motion:no-preference){#menuPanel .menu-page::after{animation:moon-aurora-drift 18s ease-in-out infinite alternate;animation-play-state:paused}#menuPanel[data-moon-running=true] .menu-page::after{animation-play-state:running}}
#menuPanel[data-moon-motion=false] .menu-page::after{display:none}
@media(prefers-reduced-motion:reduce){#menuPanel .menu-page::after{display:none}#menuPanel .moon-quote{transition:none}}

#menuPanel .menu-hero{min-height:350px;padding-top:90px;justify-content:flex-start}

/* Fixed-width centered copy: one fresh text node per completed fade. */
#menuPanel .moon-quote{width:100%;max-width:none;align-self:stretch;box-sizing:border-box;min-height:66px;margin-inline:0;padding:0 8px;font-size:17px;line-height:1.9;text-align:center;letter-spacing:0;transition:none;text-shadow:0 1px 3px #15101ee6,0 0 9px #ead8f24d}
#menuPanel .moon-quote span{display:block;width:100%;text-align:center;text-wrap:balance}
#menuPanel .moon-quote[data-fading=true]{opacity:1}
/* Opaque upper canopy replaces its static copy; no doubled translucent stars. */
#menuPanel .menu-page::after{opacity:1;mask-image:linear-gradient(180deg,#000 0%,#000 27%,transparent 48%)}
@keyframes moon-aurora-drift{from{transform:translate(-4px,2px) scale(1.035);opacity:1}to{transform:translate(5px,-3px) scale(1.05);opacity:1}}
@media(prefers-reduced-motion:no-preference){#menuPanel .menu-page::after{animation-duration:12s}}
