/* Generated from the existing OS styles. Edit os-framework-overrides.css for shared overrides. */
@font-face{font-family:FusionPixel;src:url(/assets/fonts/fusion-pixel-latin.d9a6d344.woff2) format("woff2");font-display:swap}@font-face{font-family:FusionPixel;src:url(/assets/fonts/fusion-pixel-zh-hans.4aaa7bad.woff2) format("woff2");unicode-range:U+2E80-303F,U+31C0-9FFF,U+F900-FAFF,U+FE30-FE4F,U+FF00-FFEF;font-display:swap}:root{--paper: #E8E5DB;--chrome: #F6F4EC;--ink: #1C1B14;--ink-soft: #4C4A40;--ink-faint: #8B8779;--line: #1C1B14;--blue: #3D4A78;--pine: #50604E;--brass: #8C6F3E;--red: #AC4B2C;--accent: #3D4A78;--accent-hot: #AC4B2C;--accent-glow: #3D4A78;--sel: #3D4A78;--sel-ink: #F6F4EC;--paper-rgb: 232, 229, 219;--grid: rgba(28,27,20,.045);--screen-bg: #1C1B14;--screen-ink: #E4E1D4;--dither-opacity: .42;--boot-dither-opacity: .82;--px: "FusionPixel", "Songti SC", monospace;--serif: "Baskerville", "Palatino", "Songti SC", "STSong", serif;--mono: ui-monospace, "SF Mono", Menlo, monospace;--shadow: 5px 5px 0 rgba(28, 27, 20, .18);--shadow-lift: 8px 8px 0 rgba(28, 27, 20, .22);--bar-h: 34px}.dither-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;pointer-events:none;opacity:var(--dither-opacity);mix-blend-mode:normal;filter:saturate(1.42) contrast(1.16) brightness(1.06);transition:opacity 1.5s ease .15s,filter .45s ease}html.dither-booting .dither-bg{opacity:var(--boot-dither-opacity)}html.dither-idle .dither-bg{opacity:var(--dither-opacity)}[data-theme=carbon] .dither-bg,[data-theme=cyanotype] .dither-bg{mix-blend-mode:screen;filter:saturate(1.18) contrast(1.06) brightness(1.08)}[data-theme=aurora] .dither-bg{mix-blend-mode:screen;filter:saturate(1.35) contrast(1.12) brightness(1.12)}[data-os-mode=day] .dither-bg{opacity:1;filter:none}.dither-bg iframe{width:100%;height:100%;border:0;display:block;pointer-events:none;background:transparent}[data-lang=en] .zh,[data-lang=zh] .en{display:none!important}.menubar{position:fixed;top:0;left:0;right:0;z-index:500;height:var(--bar-h);display:flex;align-items:stretch;background:var(--chrome);border-bottom:1.5px solid var(--line);font-size:14px;-webkit-user-select:none;user-select:none}.menubar .brand{display:flex;align-items:center;gap:8px;padding:0 14px;color:var(--ink);border-right:1.5px solid var(--line);font-weight:700}.menubar .brand img{width:18px;height:18px;image-rendering:pixelated}[data-theme=carbon] .menubar .brand img,[data-theme=cyanotype] .menubar .brand img,[data-theme=aurora] .menubar .brand img{filter:invert(1) brightness(1.8)}.menubar .brand:hover{text-decoration:none;background:var(--ink);color:var(--chrome)}.menubar .brand:hover img{filter:invert(1) brightness(2)}.menubar nav{display:flex;align-items:stretch}.menubar nav a{display:flex;align-items:center;padding:0 13px;color:var(--ink)}.menubar nav a:hover,.menubar nav a.active{background:var(--ink);color:var(--chrome);text-decoration:none}.viewmenu-host{position:relative;display:flex;align-items:stretch}.nav-menu-btn{border:0;background:none;color:var(--ink);font-family:var(--px);font-size:14px;padding:0 13px}.nav-menu-btn:hover,.nav-menu-btn[aria-expanded=true]{background:var(--ink);color:var(--chrome)}.menubar .spacer{flex:1}.menubar .sys{display:flex;align-items:center;gap:0;border-left:1.5px solid var(--line)}.menubar .sys>*{display:flex;align-items:center;gap:6px;padding:0 12px;height:100%}.menubar .status-dot{width:8px;height:8px;background:var(--red);border-radius:50%;animation:blink 2.4s steps(1) infinite}@keyframes blink{0%,70%{opacity:1}71%,to{opacity:.25}}.menubar .clock{font-variant-numeric:tabular-nums;color:var(--ink-soft)}.lang-switch{background:none;border:0;border-left:1.5px solid var(--line);padding:0 14px;font-size:14px;color:var(--ink);height:100%}.lang-switch:hover{background:var(--ink);color:var(--chrome)}.theme-switcher{display:flex;align-items:center;gap:7px;padding:0 12px;border-left:1.5px solid var(--line);height:100%}.theme-switcher button{width:17px;height:17px;border:1.5px solid var(--line);border-radius:50%;padding:0;background:var(--chrome);color:var(--ink);position:relative;display:grid;place-items:center}.theme-switcher button.active,.theme-switcher button[aria-pressed=true]{background:var(--ink);color:var(--chrome);box-shadow:0 0 0 2px var(--chrome),0 0 0 3.5px var(--ink)}.theme-switcher button:hover{transform:translateY(-1px)}.mode-icon{display:block;width:9px;height:9px;border-radius:50%;border:1.5px solid currentColor}.mode-icon.day{background:currentColor;box-shadow:0 -6px 0 -4px currentColor,0 6px 0 -4px currentColor,-6px 0 0 -4px currentColor,6px 0 0 -4px currentColor}.mode-icon.night{background:transparent;box-shadow:3px 0 0 -1px currentColor;transform:translate(-1px)}.sysmenu-host{position:relative;display:flex;align-items:stretch}.menubar .brand{border-right:1.5px solid var(--line);background:none;font-family:inherit;font-size:inherit}.menubar .brand[aria-expanded=true]{background:var(--ink);color:var(--chrome)}.menubar .brand[aria-expanded=true] img{filter:invert(1) brightness(2)}.sysmenu{position:absolute;top:calc(var(--bar-h) - 1.5px);left:0;min-width:236px;background:var(--chrome);border:1.5px solid var(--line);box-shadow:var(--shadow-lift);padding:5px 0;z-index:600;display:none}.sysmenu.open{display:block;animation:menuin .12s steps(2)}@keyframes menuin{0%{transform:translateY(-4px);opacity:.5}}.viewmenu{position:absolute;top:calc(var(--bar-h) - 1.5px);left:0;min-width:230px;background:var(--chrome);border:1.5px solid var(--line);box-shadow:var(--shadow-lift);padding:5px 0;z-index:600;display:none}.viewmenu.open{display:block;animation:menuin .12s steps(2)}.sysmenu .mi,.viewmenu .mi{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;padding:7px 16px;border:0;background:none;font-family:var(--px);font-size:14px;color:var(--ink);text-align:left;cursor:pointer}.sysmenu .mi:hover,.sysmenu .mi:focus-visible,.viewmenu .mi:hover,.viewmenu .mi:focus-visible{background:var(--sel);color:var(--sel-ink);text-decoration:none;outline:none}.sysmenu .mi:hover .hint,.sysmenu .mi:focus-visible .hint,.viewmenu .mi:hover .hint,.viewmenu .mi:focus-visible .hint{color:var(--sel-ink);opacity:.7}.sysmenu .mi .hint,.viewmenu .mi .hint{font-size:11.5px;color:var(--ink-faint)}.sysmenu .sep,.viewmenu .sep{border:0;border-top:1px solid rgba(28,27,20,.28);margin:5px 0}.sysmenu .mi.stamp{cursor:default;color:var(--ink-faint);font-size:11.5px;padding-top:4px;padding-bottom:4px}.sysmenu .mi.stamp:hover{background:none;color:var(--ink-faint)}@media(max-width:1279px){.sysmenu{position:fixed;top:var(--bar-h);left:0;right:0;min-width:0;border-left:0;border-right:0;box-shadow:0 8px #1c1b1426}.sysmenu .mi{padding:12px 20px}.viewmenu-host{display:none}}.fad-shiny-panel{position:absolute;background:var(--chrome);border:1.5px solid var(--line);box-shadow:var(--shadow);min-width:260px;display:flex;flex-direction:column}.fad-shiny-panel.focused{box-shadow:var(--shadow-lift)}.fad-shiny-panel:not(.focused){box-shadow:4px 4px #1c1b1421}.fad-shiny-panel:not(.focused) .titlebar{color:var(--ink-soft);opacity:.74}.fad-shiny-panel.closing{display:none}.fad-shiny-panel.minimizing{pointer-events:none;transform-origin:center;animation:windowMinimize .28s steps(7) forwards;overflow:hidden}.fad-shiny-panel.shaded{min-height:0;overflow:hidden}.fad-shiny-panel.shaded .titlebar{border-bottom:0}.fad-shiny-panel.shaded .win-body{display:none}.fad-shiny-panel.windowshade-anim{transform-origin:top;animation:windowShadeTick .16s steps(3)}.fad-shiny-panel.wire-drag-source{opacity:.56}@keyframes windowShadeTick{50%{transform:scaleY(.985)}}@keyframes windowMinimize{0%{opacity:1}60%{opacity:.78}to{opacity:0;transform:translate(var(--min-x, 0),var(--min-y, 0)) scale(var(--min-scale-x, .1),var(--min-scale-y, .1))}}.fad-shiny-panel .titlebar{display:flex;align-items:center;gap:10px;height:30px;padding:0 8px 0 10px;border-bottom:1.5px solid var(--line);cursor:grab;-webkit-user-select:none;user-select:none;background:repeating-linear-gradient(0deg,transparent 0 2px,rgba(28,27,20,.14) 2px 3px) 0 50% / 100% 12px no-repeat}.fad-shiny-panel.focused .titlebar{background:repeating-linear-gradient(0deg,transparent 0 2px,rgba(28,27,20,.32) 2px 3px) 0 50% / 100% 12px no-repeat}.fad-shiny-panel .titlebar:active{cursor:grabbing}.fad-shiny-panel .titlebar .title{background:var(--chrome);padding:0 8px;font-size:14px;white-space:nowrap;font-weight:700}.fad-shiny-panel .titlebar .win-btns{margin-left:auto;display:flex;gap:5px;background:var(--chrome);padding-left:6px}.fad-shiny-panel .titlebar .win-btn{width:16px;height:16px;border:1.5px solid var(--line);background:var(--chrome);font-size:10px;line-height:1;display:grid;place-items:center;padding:0}.fad-shiny-panel .titlebar .win-btn:hover{background:var(--ink);color:var(--chrome)}.fad-shiny-panel .win-body{padding:16px;overflow:auto}.fad-shiny-panel.shaded .resize-handle{display:none}body:has(.boot:not(.done)) .menubar,body:has(.boot:not(.done)) .desktop,body:has(.boot:not(.done)) .pda-dock{opacity:0}@keyframes bootpulse{50%{opacity:.55}}body.os-waking .menubar{animation:menubarWake .8s steps(6) .42s both}@keyframes bootInnerOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.96)}}@keyframes fadeOut{to{opacity:0}}@keyframes crtSweep{0%{transform:translateY(-2vh);opacity:0}12%{opacity:.2}to{transform:translateY(102vh);opacity:0}}@keyframes menubarWake{0%{transform:translateY(calc(-1 * var(--bar-h)));opacity:0}58%{transform:translateY(calc(-.18 * var(--bar-h)));opacity:1}to{transform:translateY(0);opacity:1}}@keyframes windowWake{0%{opacity:0;transform:translate3d(0,9px,0) scaleY(.985)}55%{opacity:1;transform:translate3d(0,2px,0) scaleY(1.002)}to{opacity:1;transform:translateZ(0) scaleY(1)}}@keyframes iconWake{0%{opacity:0;transform:translateY(7px)}64%{opacity:1;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes viz{0%{height:3px}to{height:16px}}@media(max-width:1279px){.menubar nav,.menubar>.lang-switch{display:none}.theme-switcher{margin-left:auto}.menubar .sys a{display:none}@keyframes appin{0%{transform:translateY(12px);opacity:.4}}.fad-shiny-panel{position:static!important;width:100%!important;margin-bottom:16px}.fad-shiny-panel .titlebar{cursor:default}.pda-dock .lang-switch{width:40px;height:40px;flex:none;border:1.5px solid var(--line);padding:0}}@media(prefers-reduced-motion:reduce){.fm-face.playing .fm-viz i,.menubar .status-dot,.boot-logo{animation:none}.dither-bg{transition:none}body.home .window.app-open,body.os-waking .menubar,body.os-waking .desktop .window,body.os-waking .desktop .icon,body.os-waking .pda-home,body.os-waking .pda-dock{animation:none}}/* FAD OS Extras — toasts · collection · screensaver
   Uses the OS shell's CSS vars: --chrome --ink --line --paper --accent
   --accent-hot --shadow --px --mono etc.                              *//* ---------- language suggestion ---------- */:root{--fad-language-suggestion-h:84px}body.fad-language-suggestion-open .menubar{
  top:var(--fad-language-suggestion-h);
}body.fad-language-suggestion-open .fad-toast-host{
  top:calc(var(--fad-language-suggestion-h) + var(--bar-h,40px) + 12px);
}/* ---------- ✦ entry ---------- */.shiny-entry{
  appearance:none;background:none;border:1.5px solid transparent;
  color:var(--ink-soft);font:inherit;font-size:14px;line-height:1;
  padding:3px 7px;cursor:pointer;position:relative;
  transition:color .18s ease,border-color .18s ease,transform .18s ease;
}.shiny-entry:hover{color:var(--accent);border-color:var(--line);transform:rotate(22deg)}.shiny-entry.fresh::after{
  content:"";position:absolute;top:1px;right:1px;width:6px;height:6px;
  background:var(--accent-hot,--accent);border:1px solid var(--paper);
  animation:shinyPing 2.2s steps(2) infinite;
}@keyframes shinyPing{50%{opacity:.25}}.pda-dock .shiny-entry{font-size:17px;padding:6px 10px}/* ---------- toasts ---------- */.fad-toast-host{
  position:fixed;top:calc(var(--bar-h, 40px) + 12px);right:12px;z-index:2600;
  display:flex;flex-direction:column;gap:10px;pointer-events:none;
  max-width:min(360px,calc(100vw - 24px));
}.fad-toast{
  pointer-events:auto;display:flex;flex-direction:column;
  background:var(--chrome);border:1.5px solid var(--line);
  box-shadow:var(--shadow, 4px 4px 0 rgba(28,27,20,.22));
  transform:translateX(calc(100% + 24px));opacity:0;
  transition:transform .38s cubic-bezier(.2,.9,.25,1.15),opacity .3s ease;
}.fad-toast.in{transform:translateX(0);opacity:1}.fad-toast.out{transform:translateX(calc(100% + 24px));opacity:0}.fad-toast.clickable{cursor:pointer}.fad-toast .t-strip{
  height:7px;border-bottom:1.5px solid var(--line);
  background:repeating-linear-gradient(90deg,var(--accent) 0 6px,transparent 6px 12px);
}.fad-toast.shiny .t-strip{
  background:repeating-linear-gradient(90deg,
    #FF6BD8 0 8px,#FFD86B 8px 16px,#6BE8D8 16px 24px,#8B9BFF 24px 32px);
  animation:shinyStrip 1.4s steps(4) infinite;
}@keyframes shinyStrip{to{background-position:32px 0}}.fad-toast.ach .t-strip{
  background:repeating-linear-gradient(90deg,var(--accent-hot,var(--accent)) 0 4px,transparent 4px 8px);
}.fad-toast .t-body{display:flex;align-items:flex-start;gap:10px;padding:10px 12px}.fad-toast .t-icon{
  font-family:var(--px,monospace);font-size:18px;line-height:1.2;color:var(--accent);
}.fad-toast.shiny .t-icon{animation:shinySpin 2.8s steps(8) infinite}@keyframes shinySpin{to{transform:rotate(360deg)}}.fad-toast .t-text{flex:1;min-width:0}.fad-toast .t-line{
  font-family:var(--px,monospace);font-size:13px;letter-spacing:.02em;color:var(--ink);
}.fad-toast .t-hint{
  margin-top:3px;font-family:var(--mono,monospace);font-size:11px;color:var(--ink-faint);
}.fad-toast .t-close{
  appearance:none;background:none;border:none;color:var(--ink-faint);
  display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;
  font:inherit;font-size:11px;cursor:pointer;padding:0;margin:-10px -10px -10px 0;
}.fad-toast .t-close:hover{color:var(--ink)}/* ---------- collection panel ---------- */.fad-shiny-panel{
  position:fixed;z-index:2500;left:50%;top:50%;
  width:min(520px,calc(100vw - 28px));
  transform:translate(-50%,-46%) scale(.96);opacity:0;
  transition:transform .3s cubic-bezier(.2,.9,.3,1.1),opacity .24s ease;
}.fad-shiny-panel.in{transform:translate(-50%,-50%) scale(1);opacity:1}.fad-shiny-panel .sp-body{padding:14px}.sp-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px;
}.sp-cell{
  border:1.5px solid var(--line);background:var(--paper);
  padding:8px;display:flex;flex-direction:column;gap:7px;position:relative;
  opacity:.42;filter:grayscale(.9);
  transition:opacity .2s ease,filter .2s ease,transform .2s ease;
}.sp-cell.got{opacity:1;filter:none}.sp-cell.got:hover{transform:translateY(-2px)}.sp-swatch{
  height:34px;border:1px solid var(--line);
  background:
    repeating-conic-gradient(rgba(0,0,0,.12) 0% 25%,transparent 0% 50%) 0 0/6px 6px,
    linear-gradient(112deg,var(--sw-day,#888) 0 52%,var(--sw-night,#333) 52% 100%);
}.sp-aurora .sp-swatch{
  background:
    repeating-conic-gradient(rgba(0,0,0,.14) 0% 25%,transparent 0% 50%) 0 0/6px 6px,
    linear-gradient(112deg,#FF6BD8 0 22%,#FFD86B 22% 42%,#6BE8D8 42% 64%,#8B9BFF 64% 84%,#FF6BD8 84% 100%);
}.sp-cell.sp-aurora.got .sp-swatch{animation:auroraShift 3.2s steps(6) infinite}@keyframes auroraShift{50%{filter:hue-rotate(40deg) saturate(1.2)}}.sp-label{
  font-family:var(--mono,monospace);font-size:10.5px;letter-spacing:.03em;
  color:var(--ink-soft);text-transform:lowercase;
}.sp-count{
  position:absolute;top:4px;right:5px;
  font-family:var(--mono,monospace);font-size:9.5px;color:var(--ink-faint);
}.sp-foot{
  margin-top:13px;padding-top:10px;border-top:1px dashed var(--line);
  display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;
  font-family:var(--mono,monospace);font-size:11px;color:var(--ink-soft);
}.sp-foot b{color:var(--accent);font-weight:700}.sp-tip{color:var(--ink-faint)}/* ---------- screensaver ---------- */.fad-saver{
  position:fixed;inset:0;z-index:4000;background:var(--paper);
  opacity:0;transition:opacity 1.1s ease;cursor:pointer;
}.fad-saver.in{opacity:1}.fad-saver.out{opacity:0;transition:opacity .5s ease}.fad-saver iframe{
  position:absolute;inset:0;width:100%;height:100%;border:0;display:block;
  pointer-events:none;background:transparent;
}.fad-saver .sv-veil{
  position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:flex-end;padding-bottom:7vh;
  pointer-events:none;gap:8px;
}.fad-saver .sv-clock{
  font-family:var(--px,monospace);font-size:clamp(28px,5vw,52px);
  letter-spacing:.08em;color:var(--ink);
  text-shadow:0 0 14px var(--paper),0 0 4px var(--paper);
  animation:svBreath 7.2s ease-in-out infinite;
}@keyframes svBreath{50%{opacity:.68}}.fad-saver .sv-stamp{
  font-family:var(--mono,monospace);font-size:11px;letter-spacing:.14em;
  color:var(--ink-faint);text-transform:uppercase;
}.fad-saver .sv-shiny{color:var(--accent-hot,var(--accent));font-weight:700}.fad-saver.shiny .sv-clock{
  animation:svBreath 7.2s ease-in-out infinite,svHue 5.6s linear infinite;
}@keyframes svHue{to{filter:hue-rotate(360deg)}}/* ---------- responsive / motion ---------- */@media (max-width:1279px){
  :root{--fad-language-suggestion-h:148px}
  .fad-toast-host{top:auto;bottom:calc(64px + env(safe-area-inset-bottom,0px));right:10px;left:10px;max-width:none}
  .fad-toast{transform:translateY(calc(100% + 20px))}
  .fad-toast.in{transform:translateY(0)}
  .fad-toast.out{transform:translateY(calc(100% + 20px))}
  .fad-shiny-panel{top:auto;bottom:calc(60px + env(safe-area-inset-bottom,0px));transform:translate(-50%,6%) scale(.97)}
  .fad-shiny-panel.in{transform:translate(-50%,0) scale(1)}
  .sp-grid{grid-template-columns:repeat(3,1fr)}
  .menubar .sys .shiny-entry{display:none}
}@media (prefers-reduced-motion:reduce){
  .fad-toast,.fad-shiny-panel,.fad-saver{transition:none}
  .fad-toast.shiny .t-strip,.fad-toast.shiny .t-icon,
  .sp-cell.sp-aurora.got .sp-swatch,.fad-saver .sv-clock,.shiny-entry.fresh::after{animation:none}
}/* ---------- tablet/PDA ergonomics ---------- */@media (max-width:1279px){
  :root{--bar-h:44px}
  .menubar .brand{min-height:44px}
  .theme-switcher{gap:2px;padding:0 2px}
  .theme-switcher button{
    width:44px;height:44px;border:0;border-radius:0;background:transparent;
    box-shadow:none;position:relative;
  }
  .theme-switcher button::before{
    content:"";position:absolute;left:50%;top:50%;width:17px;height:17px;
    transform:translate(-50%,-50%);border:1.5px solid var(--line);
    border-radius:50%;background:var(--chrome);
  }
  .theme-switcher button.active,
  .theme-switcher button[aria-pressed=true]{background:transparent;box-shadow:none}
  .theme-switcher button.active::before,
  .theme-switcher button[aria-pressed=true]::before{
    background:var(--ink);box-shadow:0 0 0 2px var(--chrome),0 0 0 3.5px var(--ink);
  }
  .theme-switcher button:hover{transform:none}
  .theme-switcher button:hover::before{transform:translate(-50%,calc(-50% - 1px))}
  .theme-switcher .mode-icon{position:relative;z-index:1}
  .fad-shiny-panel .titlebar{min-height:44px}
  .fad-shiny-panel .titlebar .win-btn{position:relative;width:44px;height:44px}
  .fad-shiny-panel .titlebar .win-btn::before{content:"";position:absolute;inset:0}
  .pda-dock .home-btn,
  .pda-dock .fm-play,
  .pda-dock .fm-next,
  .pda-dock .lang-switch{width:44px;height:44px}
  .pda-dock .shiny-entry{width:44px;height:44px;padding:0}
}/* ---------- submit button ---------- */[data-theme=carbon] .submit-beatarray,
[data-theme=cyanotype] .submit-beatarray,
[data-theme=aurora] .submit-beatarray {
  box-shadow: 0 0 0 1px var(--line), 4px 4px 0 rgba(255, 217, 46, .26);
}/* ---------- Game UI Cleanup ---------- *//* Window resize handle *//* A Dark Room - Hide unnecessary elements *//* A Dark Room header - Keep only Save and GitHub *//* Hide language and night mode toggles in games (inherit from parent OS) */
/* One shell metric and palette across static, Next, account, and standalone tools. */
html.fad-os-framework{--bar-h:44px;--fados-bar-h:var(--bar-h);color-scheme:light dark}
html.fad-os-framework body{background-color:var(--paper);color:var(--ink);padding-top:var(--bar-h);box-sizing:border-box;min-height:100dvh}
#fad-os-shell{font:14px/1 var(--px);color:var(--ink)}
#fad-os-shell *,#fad-os-shell *::before,#fad-os-shell *::after{box-sizing:border-box}
#fad-os-shell :is(a,button){font:inherit;letter-spacing:0;text-decoration:none;cursor:pointer}
#fad-statusbar{height:var(--bar-h);font:14px/1 var(--px);z-index:5000;color:var(--ink);padding:0;margin:0;box-shadow:none;border-radius:0}
#fad-statusbar .brand{height:44px;min-width:78px;flex-shrink:0;white-space:nowrap}
#fad-statusbar .brand img{display:block;flex-shrink:0;object-fit:contain}
#fad-statusbar .sys>span:first-child{white-space:nowrap}
#fad-statusbar .sys a{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#fad-statusbar .theme-switcher{flex-shrink:0;gap:2px;padding:0 2px}
#fad-statusbar .theme-switcher button{width:44px;height:44px;border-radius:0;border:0;background:transparent;box-shadow:none;margin:0;display:grid;place-items:center;position:relative}
#fad-statusbar .theme-switcher button::before{content:"";position:absolute;left:50%;top:50%;width:17px;height:17px;transform:translate(-50%,-50%);border:1.5px solid var(--line);border-radius:50%;background:var(--chrome)}
#fad-statusbar .theme-switcher button.active::before{background:var(--ink);box-shadow:0 0 0 2px var(--chrome),0 0 0 3.5px var(--ink)}
#fad-statusbar .mode-icon{position:relative;z-index:1}
#fad-statusbar .lang-switch{display:block;flex-shrink:0;min-width:44px;height:44px;padding:0 10px;border:0;border-left:1.5px solid var(--line);background:var(--chrome);color:var(--ink)}
#fad-statusbar :is(a,button):focus-visible,.fad-shiny-panel button:focus-visible{outline:2px solid var(--blue);outline-offset:-3px}
#fad-statusbar .sys .shiny-entry{display:flex;min-width:44px;justify-content:center;padding:0 8px}
#fad-os-dither{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:var(--dither-opacity);filter:none;mix-blend-mode:normal}
#fad-os-content{position:relative;z-index:1;min-height:calc(100dvh - var(--bar-h))}
html.fad-os-framework body>.desktop,html.fad-os-framework body>.doc-stage,html.fad-os-framework body>.shell{position:relative;z-index:1}
html.fad-os-framework .desktop-bg,html.fad-os-framework .fados-watermark{display:none}
html.fad-os-framework .fados{background:transparent;min-height:calc(100dvh - var(--bar-h));color-scheme:inherit}
html.fad-os-framework :is(.doc-stage,.fados-doc-stage){padding-top:34px}
html.fad-os-framework body.home>.desktop{padding-top:0;min-height:calc(100dvh - var(--bar-h))}
html.fad-os-framework .fad-shiny-panel{z-index:5500;font-family:var(--px);font-size:14px;line-height:1.4;color:var(--ink);background:var(--chrome)}
html.fad-os-framework .fad-toast-host{z-index:5600;font-family:var(--px);font-size:13px;line-height:1.4}
html.fad-os-framework .fad-saver{z-index:6000}
.os-skip{position:fixed;top:-100px;left:8px;padding:12px;background:var(--chrome);color:var(--ink);z-index:7000}
.os-skip:focus{top:4px}
html.fad-os-framework{
 --fados-paper:var(--paper);--fados-chrome:var(--chrome);--fados-ink:var(--ink);--fados-ink-soft:var(--ink-soft);--fados-ink-faint:var(--ink-faint);--fados-line:var(--line);--fados-indigo:var(--blue);--fados-pine:var(--pine);--fados-brass:var(--brass);--fados-rust:var(--red);--fados-sel:var(--sel);--fados-sel-ink:var(--sel-ink);--fados-grid:var(--grid);--fados-screen-bg:var(--screen-bg);--fados-screen-ink:var(--screen-ink);--fados-shadow:var(--shadow);--fados-shadow-lift:var(--shadow-lift);--fados-input-bg:var(--chrome);--fados-px:var(--px);
 --fados-line-muted:color-mix(in srgb,var(--ink) 28%,transparent);--fados-line-soft:color-mix(in srgb,var(--ink) 25%,transparent);--fados-line-strong:color-mix(in srgb,var(--ink) 45%,transparent);--fados-title-stripe:color-mix(in srgb,var(--ink) 32%,transparent);
 --color-deepest:var(--paper);--color-card:var(--chrome);--color-input:var(--chrome);--color-primary:var(--ink);--color-secondary:var(--ink-soft);--color-muted:var(--ink-faint);--color-border:color-mix(in srgb,var(--ink) 25%,transparent);--color-accent:var(--blue);
}
html.fad-os-framework :is(input,textarea,select){color-scheme:inherit}
html.fad-os-framework .fados-input{background:var(--chrome);color:var(--ink)}
/* Editorial assets retain their real colors, regardless of the shell's mode. */
html.fad-os-framework :is(.showcase-button,.fados-track-play){background:var(--chrome);color:var(--ink)!important;border-color:var(--line)}
html.fad-os-framework .showcase-button.primary{background:var(--sel);color:var(--sel-ink)!important}
html.fad-os-framework .showcase-page{background:transparent;color:var(--ink)}
html.fad-os-framework .site-footer{background:var(--chrome);color:var(--ink);border-color:var(--line)}
html.fad-os-framework .site-footer small{color:var(--ink-faint)}
html.fad-os-embedded body{padding-top:0;min-height:0}
html.fad-os-embedded :is(#fad-os-shell,#fad-os-dither){display:none!important}
@media(max-width:1279px){
 #fad-statusbar nav{display:none}
 #fad-statusbar>.lang-switch,#fad-statusbar .sys a,#fad-statusbar .sys .shiny-entry{display:flex;align-items:center}
 #fad-statusbar .brand{padding:0 10px;min-width:70px}
 #fad-statusbar .sys>*{padding:0 8px}
 #fad-statusbar .sys a{max-width:100px}
 #fad-statusbar .sys>span:first-child{display:none}
 .fad-shiny-panel{max-height:calc(100dvh - 84px);overflow:auto}
 html.fad-os-framework body.home .pda-home{padding-top:20px;min-height:calc(100dvh - var(--bar-h))}
 html.fad-os-framework .pda-dock{z-index:4000}
}
@media(max-width:480px){
 #fad-statusbar .sys{margin-left:auto}
 #fad-statusbar .spacer{display:none}
 #fad-statusbar .clock{font-size:12px;padding:0 5px;min-width:40px}
 #fad-statusbar .sys a{max-width:58px;font-size:12px;padding:0 6px}
 #fad-statusbar .theme-switcher{gap:0;padding:0}
 #fad-statusbar .theme-switcher button{width:44px}
 #fad-statusbar .lang-switch{min-width:44px;padding:0 6px}
}
@media(prefers-reduced-motion:reduce){#fad-os-dither{transition:none}.menubar .status-dot{animation:none}}
/* Music remains inside the established OS windows and PDA launcher. */
body.home #win-hello .doc-body{padding:20px}
body.home #win-hello h1{font-size:36px!important;line-height:1.1;margin:10px 0 14px}
body.home #win-hello .kicker{font-size:11px;line-height:1.5}
body.home #win-hello .os-label-intro{font:20px/1.5 var(--serif);margin:0 0 12px}
body.home #win-hello .lede{font-size:14px!important;line-height:1.65;margin:0 0 16px}
body.home #win-hello .actions{gap:8px;margin:0;flex-wrap:wrap}
body.home #win-hello .btn{min-height:44px;padding:8px 10px;font-size:13px}
.os-featured{display:grid;grid-template-columns:minmax(140px,210px) minmax(0,1fr);gap:20px;padding:6px;align-items:start}
.os-featured-cover img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border:1px solid var(--line)}
.os-featured-copy .kicker{font:11px/1.5 var(--px);color:var(--ink-soft);margin:0 0 12px}
.os-featured-copy h2{font:32px/1.08 var(--serif);margin:0 0 10px;overflow-wrap:anywhere}
.os-featured-copy p{font:16px/1.6 var(--serif);margin:8px 0;color:var(--ink-soft)}
.os-featured-copy .os-featured-artist{font:13px/1.5 var(--px)}
.os-featured-copy .actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.os-featured .btn{font-size:13px;min-height:44px;padding:8px 10px}
.os-artist-link{font:13px/1.5 var(--px);display:inline-flex;min-height:44px;align-items:center;margin-top:8px;color:var(--ink)}
body.home #win-tools .card-grid{grid-template-columns:1fr!important;gap:0}
body.home #win-tools .card{padding:10px 12px;border:0;border-bottom:1px solid color-mix(in srgb,var(--ink) 25%,transparent);box-shadow:none}
body.home #win-tools .card:last-child{border-bottom:0}
body.home #win-tools .card h3{margin:0 0 4px;font-size:18px}
body.home #win-tools .card p{font-size:12px;line-height:1.5}
body.home #win-tools .card .chip{float:right;font-size:10px}
body.home #win-fm .fm-note{font:13px/1.6 var(--serif);margin:0}
.os-mobile-featured{display:none}
@media(max-width:1279px){
 body.home .pda-home{gap:20px 8px;padding-inline:16px}
 .os-mobile-featured{grid-column:1/-1;display:grid;grid-template-columns:80px minmax(0,1fr);gap:10px 14px;padding:12px;border:1.5px solid var(--line);background:var(--chrome);color:var(--ink);box-shadow:3px 3px 0 color-mix(in srgb,var(--ink) 18%,transparent)}
 .os-mobile-cover img{width:80px;height:80px;object-fit:cover}
 .os-mobile-featured p{font:11px/1.3 var(--px);margin:0 0 8px;color:var(--ink-soft)}
 .os-mobile-title{display:block;font:22px/1.15 var(--serif);text-decoration:none;color:var(--ink);margin-bottom:6px}
 .os-mobile-featured small{font:12px/1.3 var(--px);color:var(--ink-soft)}
 .os-mobile-actions{grid-column:1/-1;display:flex;gap:8px}
 .os-mobile-actions .btn{min-height:44px;font-size:12px;padding:8px;flex:1}
 body.home #win-archive.app-open .os-featured{grid-template-columns:1fr}
 body.home #win-archive.app-open .os-featured-cover{max-width:220px}
 body.home .pda-dock>a.btn{flex:1;justify-content:center}
}
@media(min-width:1280px){
 body.home #win-hello .doc-body{height:304px;display:flex;flex-direction:column;overflow:hidden}
 body.home #win-hello .os-readme-copy{flex:1;min-height:0;overflow:auto;padding-right:4px}
 body.home #win-hello .actions{flex-shrink:0;padding-top:10px;background:var(--chrome)}
}
@media(max-width:1279px){body.home #win-hello.app-open .doc-body{display:flex;flex-direction:column}.os-readme-copy{min-height:0;flex:1;overflow:auto}}
.os-credits{margin:16px 0 0;border-top:1px solid var(--fados-line-soft)}
.os-credits>div{display:grid;grid-template-columns:160px minmax(0,1fr);gap:16px;padding:12px 0;border-bottom:1px solid var(--fados-line-soft)}
.os-credits dt{color:var(--fados-ink-soft)}.os-credits dd{margin:0;font-family:var(--fados-serif);line-height:1.6}
@media(max-width:620px){.os-credits>div{grid-template-columns:1fr;gap:4px}}
.fados-dither-mark{display:grid;place-items:center;background:transparent}
.os-inline-logo{width:100%;height:100%;max-width:100%;object-fit:contain}
html[data-os-mode=night] .os-inline-logo,html[data-theme=aurora] .os-inline-logo{filter:invert(1)}
.os-appearance-actions{display:flex;gap:8px;padding-top:12px;flex-wrap:wrap}
.os-appearance-actions button{min-height:44px;flex:1;font:13px var(--px);background:var(--chrome);border:1px solid var(--line);color:var(--ink)}
.os-appearance-actions button[aria-pressed=true]{background:var(--sel);color:var(--sel-ink)}
.fad-shiny-panel .sp-cell{font:inherit;color:inherit;min-height:56px}
.fad-shiny-panel button.sp-cell{cursor:pointer;background:var(--chrome)}
.fad-shiny-panel button.sp-cell[aria-pressed=true]{outline:2px solid var(--blue);outline-offset:-2px}
.fad-os-still :is(.shiny-entry,.fad-toast,.fad-shiny-panel,#fad-os-dither){transition:none!important;animation:none!important}

/* The OS bar must not shift when page content gains a scrollbar. */
html.fad-os-framework{scrollbar-gutter:stable}
#fad-statusbar .sys a :is(.en,.zh){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.home #win-hello .kicker{font-size:10px;line-height:1.4;margin:0}
body.home #win-hello h1{font-size:32px!important;margin:8px 0 10px}
body.home #win-hello .os-label-intro{font-size:18px;line-height:1.4;margin-bottom:10px}
body.home #win-hello .lede{font-size:13px!important;line-height:1.5;margin:0}
/* Transparent iframe documents use a light canvas; match the embedding element
   so browsers do not synthesize an opaque white canvas in night mode. */
#fad-os-dither iframe,.fad-saver iframe{color-scheme:light}
html.fad-os-framework{background-color:var(--paper)}

/* Standalone application toolbars begin below the persistent system bar. */
html.fad-os-framework body[data-os-tool]>.controls{top:var(--bar-h)}
html.fad-os-embedded{--bar-h:0px;--fados-bar-h:0px}
html.fad-os-framework #notifyGradient{background:linear-gradient(rgba(var(--paper-rgb),0) 0%,var(--paper) 100%)}
@media(max-width:480px){#fad-statusbar .sys a{min-width:44px}}
html[data-os-mode=night] .pda-dock .home-btn img,html[data-theme=aurora] .pda-dock .home-btn img{filter:invert(1)}
.pda-dock .btn{min-height:44px;display:flex;align-items:center;justify-content:center;padding:8px;box-sizing:border-box}
.pda-dock .submit-beatarray img{width:20px;height:20px}
#fad-statusbar :is(.sysmenu,.viewmenu){max-height:calc(100dvh - var(--bar-h) - 12px);overflow:auto}
.fad-radio[hidden]{display:none!important}
html.fad-os-framework .fad-radio{background:var(--chrome);color:var(--ink);border-color:var(--line);font-family:var(--px)}
html.fad-os-framework .fad-radio button{background:var(--chrome);color:var(--ink);border-color:var(--line)}
@media(prefers-reduced-motion:no-preference){.os-signal-reveal{animation:os-signal-step 180ms steps(3)}@keyframes os-signal-step{from{opacity:.8}to{opacity:1}}}

@media (max-width: 767px) {
  #fad-os-shell .sysmenu [data-os-sounds] { min-height: 44px; }
}

/* The collection is root chrome, including on the PDA home screen. */
@media (max-width: 1279px) {
  html.fad-os-framework body .fad-shiny-panel {
    display: flex;
    position: fixed !important;
    width: min(520px, calc(100vw - 28px)) !important;
    top: calc(var(--bar-h) + 12px);
    left: 50%;
    right: auto;
    bottom: auto;
    margin: 0;
    transform: translateX(-50%);
    max-height: calc(100dvh - var(--bar-h) - 96px);
    overflow: auto;
  }
}

.os-home-news img{display:block;width:100%;height:auto;border:1px solid var(--line)}
.os-home-news h2{font-family:var(--serif,Georgia,"Songti SC",serif);font-size:24px;line-height:1.4;margin:16px 0 10px}
.os-home-news p{line-height:1.75}
.os-mobile-news{grid-column:1/-1;display:block;text-decoration:none!important;color:var(--ink)!important;border-block:1px solid var(--line);padding:14px 0;margin-bottom:4px}
.os-mobile-news>span{display:block;font:12px/1.5 var(--px);color:var(--ink-soft);margin-bottom:7px}
.os-mobile-news strong{display:block;font:500 19px/1.5 var(--serif,Georgia,"Songti SC",serif)}
