/* Left B constellation replaces the snowflake to match the right A stars.
   Both use the original artwork; guard moon and menu v23 retain their geometry. */
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:400;font-display:swap;src:url('../assets/snow-companion-20260908/cormorant-400.woff2') format('woff2')}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500;font-display:swap;src:url('../assets/snow-companion-20260908/cormorant-500.woff2') format('woff2')}
#backBtn>.snow-header-art,#moreBtn>.snow-header-art,.snow-guard-moon{display:none}
:root[data-theme="snow"] #backBtn::after{display:none}
:root[data-theme="snow"] #backBtn>.snow-header-art,:root[data-theme="snow"] #moreBtn>.snow-header-art{display:block;flex:none;overflow:hidden;mix-blend-mode:screen;pointer-events:none;transform:none}
:root[data-theme="snow"] #backBtn>.snow-header-B{width:39px;height:39px}
.snow-menu-glow,.snow-menu-notice-dot{display:none;pointer-events:none}
#backBtn[data-notice="new"],#backBtn[data-notice="health"]{--notice-glow:#ffe6b9;--notice-rgb:255,222,170}
#backBtn[data-notice="health"]{--notice-glow:#ffc976;--notice-rgb:255,185,90}
#backBtn[data-notice="new"]>.snow-menu-notice-dot,#backBtn[data-notice="health"]>.snow-menu-notice-dot{display:block;position:absolute;right:2px;top:1px;width:6px;height:6px;border-radius:50%;background:var(--notice-glow);box-shadow:0 0 4px var(--notice-glow),0 0 9px rgba(var(--notice-rgb),.65)}
:root[data-theme="snow"] #backBtn[data-notice="new"]>.snow-menu-notice-dot{display:none}
:root[data-theme="snow"] #backBtn[data-notice="new"]>.snow-header-B,:root[data-theme="snow"] #backBtn[data-notice="health"]>.snow-header-B{filter:brightness(1.8) sepia(.65) saturate(.9) drop-shadow(0 0 1px var(--notice-glow))}
:root[data-theme="snow"] #backBtn[data-notice="health"]>.snow-header-B{filter:brightness(1.9) sepia(.9) saturate(1.5) drop-shadow(0 0 1px var(--notice-glow))}
/* Coordinates match the six stars in the incumbent B artwork crop. No animation. */
:root[data-theme="snow"] #backBtn[data-notice="new"]>.snow-menu-glow,:root[data-theme="snow"] #backBtn[data-notice="health"]>.snow-menu-glow{display:block;position:absolute;left:1.5px;top:2.5px;width:39px;height:39px}
.snow-menu-glow::before{content:"";position:absolute;left:15.5%;top:54.3%;width:58px;height:58px;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(var(--notice-rgb),.48),rgba(var(--notice-rgb),.16) 27%,rgba(var(--notice-rgb),.04) 49%,transparent 72%)}
.snow-menu-glow i{position:absolute;left:15.5%;top:54.3%;width:2px;height:2px;transform:translate(-50%,-50%);border-radius:50%;background:#fffef4;box-shadow:0 0 3px #fff,0 0 7px var(--notice-glow),0 0 12px var(--notice-glow)}
.snow-menu-glow i::before{content:"";position:absolute;left:50%;top:50%;width:13px;height:13px;transform:translate(-50%,-50%);background:#fff9e9;clip-path:polygon(50% 0,55% 44%,100% 50%,55% 56%,50% 100%,45% 56%,0 50%,45% 44%)}
.snow-menu-glow i:first-child{width:3px;height:3px;box-shadow:0 0 3px #fff,0 0 7px #fff2d5,0 0 13px var(--notice-glow),0 0 20px rgba(var(--notice-rgb),.6)}
.snow-menu-glow i:first-child::before{width:34px;height:32px}
.snow-menu-glow i:nth-child(2){left:35%;top:10.7%}
.snow-menu-glow i:nth-child(3){left:64%;top:35.7%}
.snow-menu-glow i:nth-child(4){left:91.1%;top:51.5%;width:1px;height:1px}
.snow-menu-glow i:nth-child(5){left:49%;top:70.1%}
.snow-menu-glow i:nth-child(6){left:50.4%;top:93.1%}
:root{--notice-text:#77501e;--notice-surface:rgba(169,108,28,.08)}
:root[data-theme="snow"]{--notice-text:#f7d9a7;--notice-surface:rgba(247,198,120,.1)}
.menu-notices{margin:0 0 20px;padding:10px 0;border-block:1px solid color-mix(in srgb,var(--notice-text) 28%,transparent)}
.menu-notices[hidden],.mo-health-alert[hidden]{display:none}
.menu-notices button{display:block;width:100%;min-height:44px;padding:9px 4px;background:none;border:0;text-align:left;color:var(--notice-text);font:14px/1.65 var(--font-cn);cursor:pointer;overflow-wrap:anywhere}
.menu-notices button::before{content:"";display:inline-block;vertical-align:middle;width:5px;height:5px;border-radius:50%;background:currentColor;margin:0 10px 2px 0}
.menu-notices button:focus-visible{outline:2px solid var(--notice-text);outline-offset:3px}
.menu-notices button:hover{background:var(--notice-surface)}
.menu-notices button[data-notice="info"]{color:var(--text-soft)}
.menu-notices small{display:block;margin:8px 4px;color:var(--text-soft);font:12px/1.6 var(--font-cn)}
.menu-notices button[data-ack],.notice-ack{width:auto;min-width:84px;min-height:44px;margin:8px 0 0;padding:8px 16px;border:1px solid var(--card-line);border-radius:12px;background:var(--card-bg);color:var(--text);font:14px/1.5 var(--font-cn);text-align:center;cursor:pointer}
.menu-notices button[data-ack]::before{display:none}
.notice-ack[hidden],.safety-freshness-note[hidden]{display:none}
.notice-ack:focus-visible{outline:2px solid var(--text);outline-offset:3px}
.safety-freshness-note{margin:18px 0 0;padding:12px 14px;border:1px solid var(--card-line);border-radius:12px;background:var(--card-bg);color:var(--text);font:13px/1.75 var(--font-cn)}
#safetyUpdated{white-space:pre-line;line-height:1.8}
.safety-meta{align-items:flex-start;flex-wrap:wrap}
:root[data-theme="snow"] #menuPanel .menu-item[data-notice="new"] .menu-sub,:root[data-theme="snow"] #menuPanel .menu-item[data-notice="health"] .menu-sub,.menu-item[data-notice="new"] .menu-sub,.menu-item[data-notice="health"] .menu-sub{color:var(--notice-text)}
.mo-health-alert{padding:14px 16px;margin-bottom:20px;border:1px solid color-mix(in srgb,var(--notice-text) 35%,transparent);border-radius:12px;background:var(--notice-surface);color:var(--notice-text);font:14px/1.7 var(--font-cn);white-space:pre-line}
.mo-job-details{min-width:0;flex:1}
.mo-job-status{display:block;margin-top:5px;color:var(--text)}
.mo-job-times{display:grid;gap:4px;margin:12px 0 0;font:12px/1.7 var(--font-cn);color:var(--text-soft)}
.mo-job-times div{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap}
.mo-job-times dt,.mo-job-times dd{margin:0}
.mo-job-times dd{font-variant-numeric:tabular-nums}
#memoryObservatoryJobs .mo-service[data-state="warn"] .mo-job-status{color:var(--notice-text)}
#memoryObservatoryJobs .mo-service[data-state="warn"] .mo-light{background:#d6a35e;box-shadow:0 0 0 4px rgba(214,163,94,.16)}
:root[data-theme="snow"] #moreBtn>.snow-header-A{width:43px;height:37px}
:root[data-theme="snow"] #moreBtn>svg:not(.snow-header-art){display:none}
:root[data-theme="snow"] #keepaliveBtn>svg,:root[data-theme="snow"] #keepaliveBtn::after{display:none}
:root[data-theme="snow"] .snow-nav>button{height:56px;gap:2px}
:root[data-theme="snow"] .snow-guard-moon{display:block;position:relative;width:36px;height:36px;flex:none;mix-blend-mode:screen;pointer-events:none;-webkit-mask-image:radial-gradient(circle closest-side,#000 78%,transparent 99%);mask-image:radial-gradient(circle closest-side,#000 78%,transparent 99%)}
:root[data-theme="snow"] .snow-guard-moon svg{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}
.snow-guard-moon .moon-on{opacity:0}
#keepaliveBtn[data-state="on"] .moon-on{opacity:1}
#keepaliveBtn[data-state="on"] .moon-off{opacity:0}
#keepaliveBtn[data-state="loading"] .snow-guard-moon{opacity:.65}
#keepaliveBtn[data-state="unknown"] .snow-guard-moon{opacity:.5}
:root[data-theme="snow"] #keepaliveBtn[data-state="on"]{color:#d6e3f0}
:root[data-theme="snow"] #keepaliveBtn[data-state="blocked"]{color:#dfbd86}
:root[data-theme="snow"] .snow-tools .snow-piano-volume{gap:10px}
.snow-tools input[type="range"]{width:100px;min-width:50px;flex:1;height:24px}
.snow-tools output{min-width:34px;font-size:12px;font-variant-numeric:tabular-nums}
.snow-tools a{color:inherit;text-underline-offset:3px}
.snow-tools :focus-visible,.dual-mark:focus-visible{outline:2px solid #c9dded;outline-offset:4px}

/* The same six functional buttons keep their original data-menu identities. */
.menu-name-line{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0}
.menu-en{font:400 15px/1.4 "Cormorant Garamond",serif;flex:none;color:var(--text-soft)}
.companion-names{font:400 20px/1.5 var(--font-cn);margin:0 0 8px}
.menu-days.together{display:block;font:400 14px/26px var(--font-cn);margin:0}
.together span{font-variant-numeric:tabular-nums}
.dual-mark{display:none}
:root[data-theme="snow"] #menuPanel .menu-page::before{background:linear-gradient(to bottom,rgba(4,10,20,0) 0,rgba(4,10,20,.06) 75px,rgba(4,10,20,.28) 135px,rgba(4,10,20,.74) 191px,rgba(4,10,20,.60) 52%,rgba(4,10,20,.10) 72%,rgba(4,10,20,0) 86%)}
:root[data-theme="snow"] #menuPanel .menu-page::after{content:"";position:absolute;inset:0 0 auto;height:max(220px,46vw);background-image:inherit;background-size:100% auto;background-position:center top;background-repeat:no-repeat;-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 75%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0,#000 75%,transparent 100%);pointer-events:none}
:root[data-theme="snow"] #menuPanel .menu-scroll{padding:calc(44px + env(safe-area-inset-top)) 27px calc(26px + env(safe-area-inset-bottom));scrollbar-width:thin;scrollbar-color:#56708b transparent}
:root[data-theme="snow"] #menuPanel .menu-hero{height:214px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;margin:0 0 30px}
:root[data-theme="snow"] #menuPanel .companion-names{flex:none;margin:0 0 4px;color:#d6e3f0;font:400 16px/24px "Noto Serif SC",serif;letter-spacing:.1em}
:root[data-theme="snow"] #menuPanel .together{margin:0;color:#c8d6e5;font:400 14px/26px "Noto Serif SC",serif;letter-spacing:.055em}
:root[data-theme="snow"] #menuPanel .together span{font:500 23px/26px "Cormorant Garamond",serif;font-variant-numeric:tabular-nums;letter-spacing:0;margin:0 3px}
:root[data-theme="snow"] #menuPanel .menu-item{grid-template-columns:23px minmax(0,1fr) 12px;gap:14px;padding:15px 0;min-height:71px;border-color:rgba(191,215,242,.14);align-items:center;text-shadow:0 1px 3px #040a14,0 0 8px rgba(4,10,20,.8)}
:root[data-theme="snow"] #menuPanel .menu-dot{display:none}
:root[data-theme="snow"] #menuPanel .menu-ic{color:#afc7de}
:root[data-theme="snow"] #menuPanel .menu-ic svg{width:19px;height:19px}
:root[data-theme="snow"] #menuPanel .menu-copy{gap:4px}
:root[data-theme="snow"] #menuPanel .menu-name{font:400 18px/1.45 "Noto Serif SC",serif;letter-spacing:.04em;margin:0;color:#e8eef7;overflow-wrap:anywhere}
:root[data-theme="snow"] #menuPanel .menu-en{letter-spacing:.025em;color:#afc1d5}
:root[data-theme="snow"] #menuPanel .menu-sub{font:400 12.5px/1.65 "Noto Serif SC",serif;letter-spacing:.015em;text-transform:none;color:#b4c5d9;overflow-wrap:anywhere}
:root[data-theme="snow"] #menuPanel .menu-chev{color:#a5bcd4}
:root[data-theme="snow"] #menuPanel .menu-chev svg{width:12px;height:12px}
:root[data-theme="snow"] #menuPanel .menu-foot{padding-top:29px;font:400 15px/1.7 "Cormorant Garamond",serif;letter-spacing:.025em;color:#b4c5d9}

/* Final A stars retain r=42 centres; the engraved ring alone expands to 43.5. */
:root[data-theme="snow"] .dual-mark{display:block;flex:none;width:130px;height:130px;margin:0 auto 30px;padding:0;border:0;background:transparent;cursor:pointer;color:inherit}
.dual-mark svg{display:block;width:100%;height:100%;overflow:visible}
.dual-mark>svg{mix-blend-mode:screen}
.dual-mark svg,.dual-mark svg *{pointer-events:none}
.dual-mark svg.sky-fragment{width:78px;height:78px;overflow:hidden;filter:brightness(1.32)}
.dual-mark svg.second-fragment{width:68px;height:68px}
.dual-mark .orbit-line{fill:none;stroke:url(#shared-orbit-light);stroke-width:.88;opacity:1}
.dual-mark .orbit-fine-arcs{fill:none;stroke:#b8cde4;stroke-width:.30;opacity:.48;stroke-linecap:round}
.dual-mark .orbit-etches{fill:none;stroke:#c9d9eb;stroke-width:.26;opacity:.5;stroke-linecap:round}
.dual-mark .orbit-dust{fill:#d5e4f4}
.dual-mark .orbit-inlay{fill:none;stroke-linecap:round;stroke-linejoin:round}
.dual-mark .orbit-braid-light{stroke:#c6d8eb;stroke-width:.23;opacity:.5}
.dual-mark .orbit-braid-shade{stroke:#aec8e3;stroke-width:.18;opacity:.35}
.dual-mark .stars{transform-origin:50px 50px;animation:dual-orbit 28s linear infinite}
.dual-mark .halo{opacity:.9;animation:companion-natural-light 8s ease-in-out infinite}
.dual-mark .star-second .halo{animation-delay:-4s}
.dual-mark.paused .stars,.dual-mark.paused .halo,.dual-mark.motion-off .stars,.dual-mark.motion-off .halo{animation-play-state:paused!important}
@keyframes dual-orbit{to{transform:rotate(360deg)}}
@keyframes companion-natural-light{0%,100%{opacity:.86}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.dual-mark .stars,.dual-mark .halo{animation:none}.dual-mark .halo{opacity:.9}}
@media(max-width:350px){:root[data-theme="snow"] #menuPanel .menu-scroll{padding-left:21px;padding-right:21px}:root[data-theme="snow"] #menuPanel .menu-item{gap:11px}:root[data-theme="snow"] #menuPanel .menu-en{font-size:14px}}

/* A persistent audio owner lets existing full pages open immediately. */
.snow-companion-page{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:var(--bg,#0b1220);overflow:hidden}
.snow-companion-page::backdrop{background:var(--bg,#0b1220)}
.snow-companion-page iframe{display:block;width:100%;height:100%;border:0;background:var(--bg,#0b1220)}
.snow-page-loading{position:absolute;inset:0;display:grid;place-content:center;gap:16px;text-align:center;padding:24px;color:var(--text,#e8eef7);font:14px/1.6 var(--font-cn,serif);pointer-events:none}
.snow-page-loading button{pointer-events:auto;min-height:44px;border:1px solid var(--hairline,#ffffff30);border-radius:12px;background:transparent;color:inherit;font:inherit;cursor:pointer}
.snow-page-loading[hidden]{display:none}
