:root { --fsa-live-orange:#ff7a24; --fsa-live-cyan:#74d7e8; --fsa-live-ink:#030a10; --fsa-live-line:rgba(116,215,232,.22); }
.fsa-live-v12 .page-shell { width:min(calc(100% - 40px),1400px); }
.mobile-control-console { display:none !important; }

.hero-actions > button,.hero-actions > a { min-height:48px; }
.hero-actions > button { appearance:none; border:0; font:inherit; cursor:pointer; }
.hero-actions .primary { display:inline-flex; align-items:center; justify-content:center; gap:.35rem; }
.hero-actions small { display:block; margin-left:.4rem; font-size:.55rem; letter-spacing:.12em; opacity:.62; }
.hero-live-status { align-self:end; padding:18px 20px !important; }
.hero-live-status h3 { display:flex; align-items:center; gap:10px; margin:.35rem 0 1rem; }
.hero-live-status h3 i,.fsa-live-terminal-status i { width:9px; height:9px; border-radius:50%; background:#b7ff4a; box-shadow:0 0 14px rgba(183,255,74,.75); animation:fsa-live-breathe 2.8s ease-in-out infinite; }
.hero-live-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.hero-live-row span { min-height:42px; display:flex; align-items:center; padding:8px 10px; border:1px solid var(--fsa-live-line); background:rgba(1,11,17,.68); color:#d7e8ec; font-size:.64rem; line-height:1.25; letter-spacing:.08em; }

.hero-status-restored { position:relative; }
.hero-status-restored h3 { position:relative; display:block; width:max-content; max-width:calc(100% - 104px); margin-bottom:30px; padding-right:0; white-space:nowrap; font-size:clamp(22px,2vw,28px); }
.hero-status-restored h3::after { position:absolute; top:calc(100% + 7px); left:0; }
.hero-status-submit { position:absolute; top:55px; right:16px; min-height:34px; display:inline-flex; align-items:center; justify-content:center; gap:5px; padding:0 8px; border:1px solid rgba(255,122,36,.72); border-radius:2px; background:rgba(255,122,36,.1); color:#ffb17d; font:inherit; font-size:.6rem; font-weight:850; cursor:pointer; transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease; }
.hero-status-submit:hover,.hero-status-submit:focus-visible { transform:translateY(-2px); border-color:var(--fsa-live-orange); background:rgba(255,122,36,.2); color:#fff; outline:none; }
.hero-status-submit span { font-size:.9rem; line-height:1; }
.hero-status-restored [data-fsa-status-value="active"],.hero-status-restored [data-fsa-status-value="unread"] { font-variant-numeric:tabular-nums; }
.hero-status-restored [data-fsa-status-value="weekday"] { color:#dce6ee; }

.fsa-live-terminal { display:grid; grid-template-columns:minmax(250px,.85fr) minmax(430px,1.5fr); gap:16px 26px; align-items:center; margin-top:22px; padding:18px 20px; border:1px solid rgba(255,122,36,.5); background:linear-gradient(110deg,rgba(255,122,36,.1),rgba(3,11,17,.94) 28%,rgba(3,11,17,.86)); box-shadow:0 18px 70px rgba(0,0,0,.25); position:relative; z-index:3; }
.fsa-live-terminal-status h2 { margin:.1rem 0 .65rem; font-size:clamp(1.25rem,2vw,2rem); }
.fsa-live-terminal-status > div { display:flex; align-items:center; flex-wrap:wrap; gap:8px 15px; color:#a9bcc3; font-size:.68rem; letter-spacing:.08em; }
.fsa-live-terminal-status > div span:first-child { display:inline-flex; align-items:center; gap:7px; color:#ecf8f8; }
.fsa-live-terminal-status strong { color:var(--fsa-live-orange); }
.fsa-live-signal { color:#baff56; text-decoration:none; font-size:.58rem; font-weight:900; letter-spacing:.08em; }
.fsa-live-signal:hover { color:#fff; }
.fsa-live-terminal-actions { display:grid; grid-template-columns:1fr; gap:8px; width:min(100%,290px); justify-self:end; }
.fsa-live-terminal-actions .fsa-live-primary-link { display:none; }
.fsa-live-terminal-actions > button,.fsa-live-primary-link { min-height:50px; display:flex; align-items:center; justify-content:space-between; gap:8px; border:1px solid var(--fsa-live-line); background:rgba(5,18,26,.84); color:#eff8f8; padding:0 15px; text-decoration:none; font:inherit; font-size:.78rem; font-weight:800; cursor:pointer; transition:transform .18s ease,border-color .18s ease,background .18s ease; }
.fsa-live-terminal-actions > button { border-color:var(--fsa-live-orange); color:#fff; background:rgba(255,122,36,.14); }
.fsa-live-terminal-actions > button:hover,.fsa-live-primary-link:hover { transform:translateY(-2px); border-color:var(--fsa-live-orange); }
.fsa-live-terminal-toggle { display:none; }
.fsa-live-terminal-more { grid-column:1/-1; display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:6px; padding-top:12px; border-top:1px solid rgba(255,255,255,.08); }
.fsa-live-terminal-more a { min-height:42px; display:flex; align-items:center; justify-content:space-between; padding:0 11px; border:1px solid rgba(116,215,232,.15); color:#aebdc2; text-decoration:none; font-size:.66rem; font-weight:750; }
.fsa-live-terminal-more a:hover { color:#fff; border-color:var(--fsa-live-cyan); transform:translateY(-1px); }
.fsa-live-terminal-more .fsa-live-archive { border-color:rgba(255,122,36,.42); color:#ffb482; }

.fsa-member-today { margin:12px 0 4px; padding:10px 11px; border-left:2px solid var(--fsa-live-orange); background:rgba(255,122,36,.06); }
.fsa-member-today span { color:var(--fsa-live-orange); font-size:.58rem; font-weight:900; letter-spacing:.11em; }
.fsa-member-today p { margin:.3rem 0 0 !important; color:#e4eef0 !important; font-size:.76rem !important; line-height:1.4 !important; }
.fsa-recent-activity { margin-top:20px; padding-top:17px; border-top:1px solid var(--fsa-live-line); }
.fsa-recent-activity h2 { margin:0 0 8px; color:var(--fsa-live-orange); font-size:.65rem; letter-spacing:.12em; }
.fsa-recent-activity nav { display:grid; gap:5px; }
.fsa-recent-activity a { min-height:48px; display:grid; grid-template-columns:100px 1fr auto; align-items:center; gap:10px; padding:8px 10px; border:1px solid rgba(116,215,232,.14); color:#e7f0f1; text-decoration:none; background:rgba(255,255,255,.018); }
.fsa-recent-activity a:hover { border-color:var(--fsa-live-cyan); transform:translateX(2px); }
.fsa-recent-activity a span { color:var(--fsa-live-cyan); font-size:.58rem; letter-spacing:.08em; }
.fsa-recent-activity a strong { font-size:.74rem; }
.fsa-view-all-life { min-height:44px; display:inline-flex; align-items:center; color:var(--fsa-live-orange); text-decoration:none; font-size:.7rem; font-weight:850; letter-spacing:.06em; }

.fsa-case-live { grid-column:1/-1; margin-top:12px; border-top:1px solid rgba(116,215,232,.16); }
.fsa-evidence-toggle { width:100%; min-height:46px; display:flex; align-items:center; justify-content:space-between; padding:0; border:0; background:transparent; color:#dcebed; font:inherit; font-size:.68rem; font-weight:850; letter-spacing:.08em; cursor:pointer; }
.fsa-evidence-toggle b { color:var(--fsa-live-orange); font-size:1.15rem; }
.fsa-evidence-panel { display:grid; gap:4px; padding-bottom:12px; }
.fsa-evidence-panel[hidden] { display:none !important; }
.fsa-evidence-panel button { min-height:42px; display:flex; justify-content:space-between; align-items:center; padding:0 10px; border:1px solid rgba(116,215,232,.13); background:rgba(0,0,0,.2); color:#b6c5ca; font:inherit; font-size:.62rem; text-align:left; }
.fsa-evidence-panel button b { color:var(--fsa-live-cyan); font-size:.56rem; letter-spacing:.08em; }
.fsa-evidence-panel button[disabled] { opacity:.48; }
.fsa-dispatch { padding:11px 0 2px; border-top:1px dashed rgba(255,122,36,.32); }
.fsa-dispatch > p { margin:0 0 8px !important; color:#eef8f8 !important; font-size:.75rem !important; font-weight:800; }
.fsa-dispatch > p small { display:block; margin-top:2px; color:#718990; font-size:.52rem; letter-spacing:.09em; }
.fsa-dispatch > div { display:grid; grid-template-columns:repeat(4,1fr); gap:5px; }
.fsa-dispatch button { min-height:44px; border:1px solid rgba(116,215,232,.2); background:#07131a; color:#c7d4d7; font:inherit; font-size:.64rem; font-weight:900; cursor:pointer; }
.fsa-dispatch button:hover,.fsa-dispatch button.is-selected { border-color:var(--fsa-live-orange); color:#fff; background:rgba(255,122,36,.14); }
.fsa-dispatch output { display:block; min-height:34px; padding-top:8px; white-space:pre-line; color:#ffb787; font-size:.67rem; line-height:1.4; }

.fsa-archive-result { margin-top:15px; padding:14px; border:1px solid var(--fsa-live-cyan); background:rgba(116,215,232,.06); }
.fsa-archive-result span { display:block; color:#baff56; font-size:.6rem; font-weight:900; letter-spacing:.12em; }
.fsa-archive-result strong { display:block; margin:.35rem 0; color:var(--fsa-live-cyan); font-size:1.1rem; }
.fsa-archive-result p { margin:0; color:#e9f3f3; }
.fsa-archive-result.is-denied { border-color:#a43a35; color:#ff766d; }
.fsa-code-fragment { position:absolute; right:10px; bottom:9px; z-index:6; border:0; background:rgba(0,7,11,.65); color:rgba(116,215,232,.37); padding:4px 6px; font:700 .48rem/1 monospace; letter-spacing:.08em; cursor:pointer; opacity:.5; transition:opacity .18s,color .18s; }
.fsa-code-fragment:hover,.fsa-code-fragment:focus-visible { opacity:1; color:var(--fsa-live-cyan); outline:1px solid var(--fsa-live-cyan); }
.life-feature,.case-media,.album,.map-stage,.toy-image-wrap,.character-info { position:relative; }

/* New Fruit City is shown through an ageing municipal monitor. The picture is
   stable most of the time; short vertical-hold loss and horizontal sync tears
   replace the artificial continuous shake of the earlier feed. */
.map-stage { overflow:hidden; isolation:isolate; border-radius:3px; background:#010304; box-shadow:inset 0 0 0 1px rgba(255,132,42,.18),inset 0 0 84px rgba(0,0,0,.82),0 12px 30px rgba(0,0,0,.28); }
.map-stage > img { position:relative; z-index:1; transform:scale(1.006); transform-origin:center; filter:grayscale(1) sepia(1) saturate(8.5) hue-rotate(344deg) brightness(.7) contrast(1.48) !important; opacity:.96; animation:fsa-map-vertical-hold 11.8s steps(1,end) infinite; will-change:transform,opacity; }
/* A duplicate image appears only during a rare loss of horizontal lock. */
.map-stage::before { content:""; position:absolute; z-index:4; inset:0; pointer-events:none; background:url("/assets/images/new-fruit-city-coherent-map-v2.webp?v=1") center/100% 100% no-repeat; mix-blend-mode:screen; opacity:0; clip-path:inset(100% 0 0 0); filter:grayscale(1) sepia(1) saturate(9) hue-rotate(344deg) brightness(1.02) contrast(1.62); animation:fsa-map-sync-tear 9.7s steps(1,end) infinite; will-change:transform,clip-path,opacity; }
/* Fine phosphor scan lines, a slow travelling beam and curved-glass falloff. */
.map-stage::after { content:""; position:absolute; z-index:3; inset:0; pointer-events:none; background:linear-gradient(180deg,transparent 0 42%,rgba(255,216,174,.055) 45%,rgba(255,139,47,.28) 49%,rgba(255,92,24,.08) 53%,transparent 58%) 0 -280%/100% 280% no-repeat,repeating-linear-gradient(180deg,rgba(0,0,0,.38) 0 1px,rgba(255,151,68,.055) 1px 2px,transparent 2px 4px),repeating-linear-gradient(90deg,rgba(255,61,24,.05) 0 1px,rgba(72,198,211,.035) 1px 2px,transparent 2px 3px),radial-gradient(ellipse at center,transparent 42%,rgba(0,0,0,.18) 66%,rgba(0,0,0,.88) 100%); background-position:0 -280%,0 0,0 0,0 0; box-shadow:inset 0 0 54px rgba(0,0,0,.78),inset 0 0 8px rgba(255,146,58,.2); opacity:.92; animation:fsa-map-crt-roll 4.8s linear infinite,fsa-map-crt-flicker 2.3s steps(5,end) infinite; }
@keyframes fsa-map-crt-roll { from { background-position:0 -280%,0 0,0 0,0 0; } to { background-position:0 280%,0 4px,1px 0,0 0; } }
@keyframes fsa-map-crt-flicker { 0%,100% { opacity:.9; } 23% { opacity:.94; } 47% { opacity:.86; } 72% { opacity:.92; } }
@keyframes fsa-map-vertical-hold { 0%,90%,96%,100% { transform:scale(1.006) translate3d(0,0,0); opacity:.96; } 91% { transform:scale(1.01,.992) translate3d(0,-3px,0); opacity:.78; } 92% { transform:scale(1.008,1.012) translate3d(3px,5px,0); opacity:.9; } 93% { transform:scale(1.012,.985) translate3d(-2px,-7px,0); opacity:.66; } 94% { transform:scale(1.006) translate3d(0,2px,0); opacity:.94; } 95% { transform:scale(1.007) translate3d(0,-1px,0); opacity:.88; } }
@keyframes fsa-map-sync-tear { 0%,76%,82%,100% { opacity:0; clip-path:inset(100% 0 0 0); transform:translate3d(0,0,0); } 77% { opacity:.48; clip-path:inset(21% 0 73% 0); transform:translate3d(-13px,0,0); } 78% { opacity:.7; clip-path:inset(48% 0 44% 0); transform:translate3d(18px,0,0); } 79% { opacity:.35; clip-path:inset(66% 0 29% 0); transform:translate3d(-9px,0,0); } 80% { opacity:.58; clip-path:inset(36% 0 61% 0); transform:translate3d(7px,0,0); } 81% { opacity:0; clip-path:inset(100% 0 0 0); transform:translate3d(0,0,0); } }
.map-stage .map-overlay { position:absolute; z-index:2; inset:0; overflow:visible; pointer-events:none; background:radial-gradient(circle at 20% 30%,rgba(255,181,99,.08) 0 .5px,transparent .8px) 0 0/7px 7px,repeating-linear-gradient(0deg,transparent 0 10px,rgba(255,122,36,.03) 10px 11px); mix-blend-mode:screen; animation:fsa-map-phosphor-noise 900ms steps(3,end) infinite; }
@keyframes fsa-map-phosphor-noise { 0%,100% { opacity:.58; background-position:0 0,0 0; } 34% { opacity:.72; background-position:2px -1px,0 2px; } 67% { opacity:.52; background-position:-1px 2px,0 -1px; } }
.map-stage .map-overlay::before { content:""; position:absolute; z-index:2; left:34%; top:36%; width:78px; height:78px; border:1px solid rgba(116,215,232,.34); border-radius:50%; background:repeating-conic-gradient(from 8deg,rgba(116,215,232,.2) 0 2deg,transparent 2deg 44deg),radial-gradient(circle,transparent 0 20px,rgba(116,215,232,.32) 21px 22px,transparent 23px 33px,rgba(255,122,36,.22) 34px 35px,transparent 36px); box-shadow:0 0 22px rgba(116,215,232,.12); transform:translate(-50%,-50%); opacity:.7; }
.map-stage .map-overlay::after { content:""; position:absolute; z-index:2; left:18%; top:58%; width:72px; height:58px; background:radial-gradient(circle at 32% 24%,rgba(116,215,232,.7) 0 2px,transparent 3px),radial-gradient(circle at 48% 22%,rgba(116,215,232,.55) 0 3px,transparent 4px),radial-gradient(circle at 64% 29%,rgba(116,215,232,.68) 0 2px,transparent 3px),radial-gradient(circle at 39% 43%,rgba(116,215,232,.5) 0 3px,transparent 4px),radial-gradient(circle at 57% 47%,rgba(255,122,36,.54) 0 2px,transparent 3px),radial-gradient(circle at 48% 65%,rgba(116,215,232,.62) 0 3px,transparent 4px); filter:drop-shadow(0 0 7px rgba(116,215,232,.45)); transform:translate(-50%,-50%); opacity:.76; }
.map-stage .map-node { z-index:7; }
.map-stage .map-node.locked { isolation:isolate; }
.map-stage .map-node.locked::before { content:""; position:absolute; z-index:0; left:50%; top:50%; width:clamp(150px,18vw,290px); height:clamp(86px,10vw,160px); pointer-events:none; background:repeating-linear-gradient(180deg,transparent 0 8px,rgba(76,167,188,.09) 9px 10px),radial-gradient(ellipse,rgba(1,5,9,.96) 0 18%,rgba(3,12,18,.83) 40%,rgba(5,20,28,.58) 61%,transparent 76%); border-radius:50%; filter:blur(4px); box-shadow:0 0 34px rgba(2,8,13,.9); transform:translate(-50%,-50%); }
.map-stage .map-node.locked .node-core,.map-stage .map-node.locked .node-label { position:relative; z-index:1; }
.fsa-map-compute { position:absolute; z-index:5; inset:0; overflow:hidden; pointer-events:none; color:rgba(255,156,71,.68); font:700 clamp(5px,.48vw,8px)/1.25 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.12em; text-shadow:0 0 5px rgba(255,101,0,.45); }
.fsa-map-compute > span { position:absolute; min-width:112px; display:grid; gap:2px; padding:6px 7px; border-left:1px solid rgba(255,122,36,.32); background:linear-gradient(90deg,rgba(2,7,10,.66),transparent); opacity:.62; animation:fsa-map-compute-scroll 3.9s steps(7,end) infinite; }
.fsa-map-compute b,.fsa-map-compute i,.fsa-map-compute small { display:block; min-height:1em; overflow:hidden; white-space:nowrap; text-overflow:clip; font:inherit; }
.fsa-map-compute b { color:rgba(255,174,91,.9); }
.fsa-map-compute i { color:rgba(111,216,230,.66); font-style:normal; }
.fsa-map-compute small { color:rgba(255,119,43,.5); }
.fsa-map-compute [data-fsa-map-compute="tl"] { top:3.5%; left:3%; }
.fsa-map-compute [data-fsa-map-compute="tr"] { top:3.5%; right:3%; text-align:right; border-top:1px solid rgba(255,184,103,.34); border-right:1px solid rgba(255,122,36,.32); border-left:0; background:linear-gradient(270deg,rgba(2,7,10,.66),transparent); animation-delay:-.7s; }
.fsa-map-compute [data-fsa-map-compute="bl"] { bottom:4%; left:3.5%; animation-delay:-1.2s; }
.fsa-map-compute [data-fsa-map-compute="br"] { right:3.5%; bottom:4%; text-align:right; border-right:1px solid rgba(255,122,36,.32); border-left:0; background:linear-gradient(270deg,rgba(2,7,10,.66),transparent); animation-delay:-2.1s; }
.fsa-map-compute [data-fsa-map-compute="tr"] i { color:rgba(255,205,143,.72); }
.fsa-map-compute [data-fsa-map-compute="bl"] { color:rgba(218,115,48,.58); border-left-style:dashed; }
.fsa-map-compute [data-fsa-map-compute="br"] b { font-family:SFMono-Regular,Consolas,monospace; letter-spacing:.18em; }
@keyframes fsa-map-compute-scroll { 0%,100% { opacity:.42; transform:translateY(0); } 18% { opacity:.76; transform:translateY(-1px); } 42% { opacity:.56; transform:translateY(2px); } 68% { opacity:.8; transform:translateY(0); } 86% { opacity:.36; transform:translateY(1px); } }

@media (prefers-reduced-motion:reduce) {
  .map-stage > img { animation:none; transform:scale(1.004); filter:grayscale(1) sepia(1) saturate(8.5) hue-rotate(344deg) brightness(.72) contrast(1.46) !important; opacity:.96; }
  .map-stage::before { display:none; }
  .map-stage::after,.map-stage .map-overlay { animation:none; }
  .map-stage::after { opacity:.84; background-position:0 42%,0 0,0 0,0 0; }
  .fsa-map-compute > span { animation:none; }
}

.fsa-map-status { display:block; margin-top:3px; color:var(--fsa-live-orange); font-style:normal; font-size:.49rem; font-weight:900; letter-spacing:.08em; }
.fsa-record-meta { display:none !important; }
.fsa-record-meta b { color:var(--fsa-live-orange); }
.fsa-record-meta b.is-watched { color:#92a3a8; }
.toy-footer-row { gap:10px; }
.toy-footer-row .toy-status { flex:0 1 auto; white-space:nowrap; }
.toy-footer-actions { flex:0 0 auto; margin-left:auto; display:flex; align-items:center; justify-content:flex-end; flex-wrap:nowrap; gap:6px; }
.toy-follow-yin { min-height:36px; display:inline-flex; align-items:center; gap:6px; padding:0 10px; border:1px solid var(--fsa-live-orange); background:var(--fsa-live-orange); color:#081018; font-size:10px; font-weight:900; letter-spacing:.025em; white-space:nowrap; transition:filter .18s,transform .18s; }
.toy-follow-yin:hover,.toy-follow-yin:focus-visible { color:#081018; filter:brightness(1.12); transform:translateY(-1px); }
.fsa-track-count { margin-left:auto; color:var(--fsa-live-orange); font-size:.68rem; letter-spacing:.12em; }
#music .playlist-row { grid-template-columns:minmax(0,1fr) auto auto; }
.fsa-track-share { width:40px; min-width:40px; min-height:40px; display:grid; place-items:center; padding:0; border:1px solid rgba(255,122,36,.35); background:rgba(255,122,36,.06); color:var(--fsa-live-orange); cursor:pointer; }
.fsa-track-share svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.fsa-track-share:hover { border-color:var(--fsa-live-orange); color:#fff; }
.fsa-prototype-status,.fsa-case-receipt { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; margin:16px 0; }
.fsa-prototype-status > div,.fsa-case-receipt > div { padding:10px; border:1px solid rgba(116,215,232,.15); background:rgba(255,255,255,.02); }
.fsa-prototype-status dt,.fsa-case-receipt dt { color:#71878e; font-size:.53rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.fsa-prototype-status dd,.fsa-case-receipt dd { margin:.35rem 0 0; color:#e9f2f2; font-size:.7rem; font-weight:800; }
.fsa-prototype-actions { display:flex; flex-wrap:wrap; gap:7px; margin:-8px 0 16px; }
.fsa-prototype-actions a { min-height:44px; display:inline-flex; align-items:center; padding:0 12px; border:1px solid rgba(255,122,36,.38); color:#ffb17d; text-decoration:none; font-size:.65rem; font-weight:850; }
.fsa-prototype-actions a:hover { border-color:var(--fsa-live-orange); color:#fff; }
.fsa-case-receipt { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:0; }
.fsa-case-receipt .is-wide { grid-column:1/-1; }
.fsa-case-receipt .is-accent { border-color:var(--fsa-live-orange); background:rgba(255,122,36,.08); }
.fsa-case-receipt .is-accent dd { color:#ffb17d; }

.fsa-live-notice,.fsa-welcome-back { position:fixed; z-index:10050; left:50%; transform:translate(-50%,16px); opacity:0; pointer-events:none; transition:opacity .18s ease,transform .18s ease; }
.fsa-live-notice { bottom:22px; max-width:min(90vw,520px); padding:11px 16px; border:1px solid var(--fsa-live-cyan); background:#06131a; color:#eaf8f8; font-size:.72rem; box-shadow:0 14px 55px rgba(0,0,0,.45); }
.fsa-live-notice.is-visible { opacity:1; transform:translate(-50%,0); }
.fsa-welcome-back { top:74px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:12px; width:min(calc(100% - 32px),620px); padding:10px 12px; border:1px solid rgba(255,122,36,.65); background:rgba(3,11,17,.96); color:#dce9eb; opacity:1; transform:translate(-50%,0); pointer-events:auto; box-shadow:0 15px 55px rgba(0,0,0,.42); }
.fsa-welcome-back span { color:var(--fsa-live-orange); font-size:.58rem; font-weight:900; letter-spacing:.12em; }
.fsa-welcome-back strong { font-size:.7rem; }
.fsa-welcome-back button { width:44px; height:44px; border:0; background:transparent; color:#fff; font-size:1.2rem; cursor:pointer; }
[data-subscription-status] { color:#baff56 !important; font-weight:800; }
.fsa-subscription { grid-template-columns:112px minmax(0,1fr) !important; }
.fsa-subscription-copy { grid-column:2; display:grid; grid-template-columns:minmax(320px,560px) max-content minmax(36px,1fr) max-content; justify-content:stretch; align-items:center; gap:24px; padding:18px 20px 18px 0; }
.fsa-subscription-heading { min-width:0; }
.fsa-subscription-copy h2 { font-size:clamp(20px,2.4vw,34px) !important; line-height:1.05 !important; letter-spacing:-.025em; }
.fsa-subscription-copy .fsa-subscription-toggle { align-self:center; width:max-content; margin:0 !important; }
.subscription-home-return-solid { grid-column:4; min-height:44px; display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:0 15px; border:1px solid var(--fsa-live-orange); background:var(--fsa-live-orange); color:#071018; text-decoration:none; font-size:10px; font-weight:900; letter-spacing:.04em; white-space:nowrap; transition:filter .18s ease,transform .18s ease; }
.subscription-home-return-solid:hover,.subscription-home-return-solid:focus-visible { color:#071018; filter:brightness(1.12); transform:translateY(-1px); outline:none; }
.fsa-subscription-socials { display:flex; align-items:center; gap:6px; min-height:30px; margin-top:11px; }
.fsa-subscription-social-label { margin-right:3px; color:#718a92; font-size:8px; font-weight:850; letter-spacing:.14em; }
.fsa-subscription-socials .social-link { position:relative; width:28px; height:28px; min-height:28px; display:inline-flex; align-items:center; justify-content:center; padding:0; border:0; background:transparent; cursor:pointer; transition:filter .16s ease,opacity .16s ease,transform .16s ease; }
.fsa-subscription-socials .social-link:hover,.fsa-subscription-socials .social-link:focus-visible { filter:brightness(1.2); opacity:1; transform:translateY(-1px); outline:none; }
.fsa-subscription-socials .social-link[data-fsa-coming-soon]::after { top:calc(100% + 7px); right:auto; bottom:auto; left:50%; transform:translate(-50%,4px); }
.fsa-subscription-socials .social-link[data-fsa-coming-soon]:hover::after,.fsa-subscription-socials .social-link[data-fsa-coming-soon]:focus-visible::after { transform:translate(-50%,0); }

/* Keep the home updates prompt as one compact, immediately scannable card. */
#freshsqueeze-subscription[data-page-type="home"] { margin-top:clamp(30px,4vw,48px) !important; margin-bottom:clamp(34px,4.5vw,56px) !important; }

/* The archive lookup is a utility, so it should not interrupt the home-page rhythm. */
#archive.section { padding-top:clamp(36px,3.6vw,46px) !important; padding-bottom:clamp(26px,2.8vw,36px) !important; }
#archive .section-head { margin-bottom:16px !important; padding-bottom:11px; }
#archive .section-head h2 { margin:.32rem 0 0; }
#archive .terminal { max-width:900px; }
#archive .terminal-top { padding:9px 14px; }
#archive .terminal-body { padding:16px 20px 15px; }
#archive .terminal-body > p { margin:0 0 9px; font-size:12px; }
#archive .terminal-body input,#archive .terminal-body button { min-height:42px; }
#archive .terminal-hint { margin-top:9px; font-size:10px; }
#archive + .section { padding-top:clamp(30px,3vw,40px) !important; }

@keyframes fsa-live-breathe { 0%,100%{opacity:.56;transform:scale(.88)} 50%{opacity:1;transform:scale(1)} }
@media (prefers-reduced-motion:reduce) { .hero-live-status h3 i,.fsa-live-terminal-status i { animation:none; } * { scroll-behavior:auto !important; } }

@media (max-width:720px) {
  .fsa-live-v12 .page-shell { width:calc(100% - 32px); }
  .hero-actions { display:grid !important; grid-template-columns:1fr !important; gap:8px !important; }
  .hero-actions > button,.hero-actions > a { width:100%; min-height:48px; }
  .hero-actions small { font-size:.5rem; }
  .hero-live-status { margin-top:8px; }
  .hero-live-row { grid-template-columns:1fr 1fr; }
  .hero-live-row span { min-height:38px; font-size:.56rem; }
  .hero-live-row span:last-child { grid-column:1/-1; }
  .hero-status-restored h3 { max-width:100%; margin-bottom:28px; padding-right:0; }
  .hero-status-submit { position:static; width:100%; min-height:44px; margin:0 0 10px; }
  .fsa-live-terminal { grid-template-columns:1fr; gap:12px; margin-top:12px; padding:14px; }
  .fsa-live-terminal-status > div { display:grid; grid-template-columns:1fr 1fr; gap:6px 10px; }
  .fsa-live-terminal-status strong { grid-column:1/-1; }
  .fsa-live-signal { grid-column:1/-1; min-height:30px; display:flex; align-items:center; }
  .fsa-live-terminal-actions { grid-template-columns:1fr 1fr; }
  .fsa-live-terminal-actions { width:auto; justify-self:stretch; }
  .fsa-live-terminal-actions .fsa-live-primary-link { display:flex; }
  .fsa-live-terminal-actions > button { grid-column:1/-1; }
  .fsa-live-terminal-toggle { display:block; min-height:44px; width:100%; border:0; border-top:1px solid rgba(116,215,232,.16); background:transparent; color:#a9bcc3; font:800 .66rem/1 system-ui; letter-spacing:.08em; cursor:pointer; }
  .fsa-live-terminal-more { display:none; grid-template-columns:1fr 1fr; padding-top:8px; }
  .fsa-live-terminal-more[data-expanded="true"] { display:grid; }
  .fsa-live-terminal-more a { min-height:44px; }
  #team .team-grid { display:flex !important; grid-template-columns:none !important; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; gap:10px; padding:2px 13% 12px 0; scrollbar-width:none; }
  #team .team-grid::-webkit-scrollbar,.case-grid::-webkit-scrollbar,.record-list::-webkit-scrollbar { display:none; }
  #team .team-card { flex:0 0 88%; scroll-snap-align:start; }
  .case-grid { display:flex !important; overflow-x:auto; scroll-snap-type:x mandatory; gap:10px; padding-right:13%; }
  .case-grid .case-card { flex:0 0 88%; scroll-snap-align:start; }
  .records-grid { display:block !important; }
  .record-list { display:flex !important; overflow-x:auto; scroll-snap-type:x mandatory; gap:10px; margin-top:10px; padding-right:12%; }
  .record-list > button { flex:0 0 78%; scroll-snap-align:start; min-height:96px; }
  .toy-footer-row { align-items:flex-start; flex-wrap:wrap; }
  .toy-footer-actions { width:100%; margin-left:0; justify-content:flex-start; }
  .toy-follow-yin { min-height:34px; padding:0 10px; font-size:10px; }
  .fsa-recent-activity a { grid-template-columns:82px 1fr auto; }
  .fsa-prototype-status { grid-template-columns:1fr 1fr; }
  .fsa-case-receipt { grid-template-columns:1fr; }
  .fsa-case-receipt .is-wide { grid-column:auto; }
  .fsa-dispatch button { min-height:44px; }
  #music .playlist-row { grid-template-columns:minmax(0,1fr) auto; }
  #music .playlist-row .music-platforms { display:none; }
  .fsa-track-count { display:block; width:100%; margin:.3rem 0 0; }
  .fsa-code-fragment { opacity:.72; }
  .fsa-subscription-copy { grid-column:2; grid-template-columns:max-content max-content; gap:10px; padding:13px 12px 13px 0; }
  .fsa-subscription-heading { grid-column:1/-1; }
  .fsa-subscription-copy h2 { font-size:20px !important; line-height:1.08 !important; }
  .fsa-subscription-copy .fsa-subscription-toggle { grid-column:1; width:max-content; margin:0 !important; }
  .subscription-home-return-solid { grid-column:2; min-height:42px; padding:0 12px; }
  .fsa-subscription-socials { flex-wrap:wrap; margin-top:9px; }
  .fsa-subscription-social-label { flex:0 0 100%; }
  .fsa-subscription-socials .social-link { width:30px; height:30px; min-height:30px; }
  #freshsqueeze-subscription[data-page-type="home"] { margin-top:28px !important; margin-bottom:38px !important; }
  #archive.section { padding-top:34px !important; padding-bottom:24px !important; }
  #archive .section-head { margin-bottom:12px !important; }
  #archive .terminal-body { padding:13px !important; }
  #archive .terminal-body form { display:grid; grid-template-columns:minmax(0,1fr) auto; }
  #archive + .section { padding-top:32px !important; }
  .footer { padding-top:28px !important; padding-bottom:24px !important; }
  .footer-inner { gap:14px !important; }
  .fsa-welcome-back { top:62px; }
}

/* Footer refinement: stronger brand hierarchy, restrained archive language, and a true mobile stack. */
.footer {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  margin-top:84px !important;
  padding:0 !important;
  border-top:1px solid rgba(94,190,213,.34) !important;
  background:
    linear-gradient(90deg,#ff6500 0 112px,transparent 112px) top left/100% 2px no-repeat,
    radial-gradient(circle at 12% 112%,rgba(255,101,0,.13),transparent 31%),
    radial-gradient(circle at 88% -18%,rgba(83,190,213,.08),transparent 34%),
    #03090d !important;
}
.footer-inner {
  display:grid !important;
  grid-template-columns:minmax(180px,230px) minmax(0,1fr) minmax(280px,340px) !important;
  align-items:center !important;
  gap:clamp(28px,4vw,64px) !important;
  min-height:214px !important;
  padding:34px 0 38px !important;
}
.footer-inner > img {
  width:min(195px,100%) !important;
  margin:0 !important;
  filter:drop-shadow(0 10px 24px rgba(0,0,0,.45));
}
.footer-inner > div:nth-child(2) { min-width:0; }
.footer strong {
  color:#edf4f6 !important;
  font-size:clamp(24px,2.1vw,31px) !important;
  line-height:1.08 !important;
  letter-spacing:.035em !important;
}
.footer-slogan {
  margin:8px 0 1px !important;
  color:#bdd7df !important;
  font-size:14px !important;
  line-height:1.45 !important;
}
.footer-cn-slogan {
  margin:0 0 14px !important;
  color:#e3edf0 !important;
  font-size:16px !important;
  line-height:1.5 !important;
}
.footer-motto {
  color:#79939f !important;
  font-size:10px !important;
  letter-spacing:.14em !important;
}
.footer-development {
  margin-top:9px !important;
  color:#ff792f !important;
  font-size:11px !important;
  line-height:1.45 !important;
  letter-spacing:.11em !important;
}
.footer-entity {
  display:grid !important;
  grid-template-columns:max-content max-content;
  align-items:start !important;
  justify-content:start !important;
  column-gap:14px !important;
  row-gap:0 !important;
  margin-top:12px !important;
  font-size:9px !important;
}
.footer-entity .universe-brand-lockup { grid-column:1; grid-row:1; }
.footer-entity .footer-creator {
  grid-column:2;
  grid-row:1;
  align-self:start;
  margin:1px 0 0 !important;
  line-height:13px;
  white-space:nowrap;
}
.footer-right {
  display:block !important;
  min-width:0 !important;
  margin:0 !important;
  padding:2px 0 2px 28px !important;
  border:0 !important;
  border-left:1px solid rgba(255,101,0,.48) !important;
  background:transparent !important;
  text-align:left !important;
}
.footer-right > small {
  display:block;
  margin-bottom:17px;
  color:#75919d !important;
  font-size:9px !important;
  letter-spacing:.13em !important;
}
.public-contact { margin:0 !important; }
.public-contact span {
  color:#ff792f !important;
  font-size:9px !important;
  font-weight:800 !important;
  letter-spacing:.12em !important;
}
.public-contact a {
  display:block;
  max-width:100%;
  margin-top:9px;
  color:#f4c58f !important;
  font-size:15px !important;
  font-weight:750 !important;
  overflow-wrap:anywhere;
}
.public-contact p {
  margin:12px 0 0 !important;
  color:#667b85 !important;
  font-size:9px !important;
  letter-spacing:.11em !important;
}

@media (min-width:721px) and (max-width:900px) {
  .footer-inner {
    grid-template-columns:170px minmax(0,1fr) !important;
    gap:24px 30px !important;
  }
  .footer-inner > img { width:160px !important; }
  .footer-right {
    grid-column:1/-1 !important;
    padding:20px 0 0 !important;
    border-left:0 !important;
    border-top:1px solid rgba(255,101,0,.28) !important;
  }
}

@media (max-width:720px) {
  .footer {
    margin-top:62px !important;
    padding:0 !important;
    background:
      linear-gradient(90deg,#ff6500 0 72px,transparent 72px) top left/100% 2px no-repeat,
      radial-gradient(circle at 8% 103%,rgba(255,101,0,.12),transparent 34%),
      #03090d !important;
  }
  .footer-inner {
    grid-template-columns:1fr !important;
    align-items:start !important;
    gap:0 !important;
    min-height:0 !important;
    padding:30px 0 34px !important;
  }
  .footer-inner > img {
    width:150px !important;
    margin:0 0 20px !important;
  }
  .footer-inner > div:nth-child(2) {
    width:100%;
    padding-bottom:22px;
    border-bottom:1px solid rgba(94,190,213,.18);
  }
  .footer strong { font-size:22px !important; }
  .footer-slogan { margin-top:7px !important; font-size:13px !important; }
  .footer-cn-slogan { margin-bottom:13px !important; font-size:15px !important; }
  .footer-motto { font-size:9px !important; line-height:1.55 !important; }
  .footer-development { font-size:10px !important; line-height:1.55 !important; }
  .footer-entity {
    display:grid !important;
    grid-template-columns:max-content max-content !important;
    align-items:start !important;
    justify-content:start !important;
    gap:0 12px !important;
    font-size:8px !important;
  }
  .footer-right {
    grid-column:auto !important;
    width:100% !important;
    padding:21px 0 0 !important;
    border:0 !important;
  }
  .footer-right > small { margin-bottom:15px; font-size:8px !important; }
  .public-contact span { font-size:8px !important; }
  .public-contact a { margin-top:8px; font-size:15px !important; line-height:1.4; }
  .public-contact p { margin-top:10px !important; font-size:8px !important; line-height:1.5; }
}

/* Records: the uploaded MV and its five stills belong to one visible module.
   These assets already carry their editorial signature, so the site's generic
   image watermark must not be layered over the player or compact previews. */
.records-column .fsa-image-watermark { display:none !important; }
.records-section-actions {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin-left:auto;
}
.records-section-actions a {
  color:#d9edf3;
  border:1px solid rgba(216,137,174,.48);
  background:#050d14d9;
  min-height:38px;
  padding:0 13px;
  display:inline-flex;
  align-items:center;
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
}
.records-section-actions a:first-child {
  color:#1b0c10;
  border-color:#ff792f;
  background:#ff792f;
}
.mv-stills-inline {
  scroll-margin-top:112px;
  margin-top:34px;
  padding-top:28px;
  border-top:1px solid rgba(216,137,174,.35);
}
.mv-stills-inline-head {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:4px 18px;
  margin-bottom:18px;
}
.mv-stills-inline-head .micro { grid-column:1; }
.mv-stills-inline-head h2 {
  grid-column:1;
  margin:3px 0 0;
  font-size:clamp(26px,3vw,40px);
}
.mv-stills-inline-head > span {
  grid-column:2;
  grid-row:1 / span 2;
  align-self:end;
  color:#8ca0ac;
  font-size:12px;
}

@media (max-width:720px) {
  .records-section-actions {
    width:100%;
    justify-content:flex-start;
    margin-left:0;
    overflow-x:auto;
  }
  .records-section-actions a { flex:0 0 auto; }
  .mv-stills-inline { scroll-margin-top:76px; margin-top:24px; padding-top:22px; }
  .mv-stills-inline-head { display:block; margin-bottom:14px; }
  .mv-stills-inline-head h2 { font-size:28px; }
  .mv-stills-inline-head > span { display:block; margin-top:6px; font-size:10px; }
}

/* Readability pass: preserve the editorial hierarchy while keeping body copy
   and controls legible at real desktop/tablet/mobile viewing distances. */
@media (min-width:821px) and (max-width:1380px) {
  .desktop-nav .nav-cn { font-size:16px; }
  .desktop-nav .nav-en { font-size:10px; }
}

.fsa-recent-activity h2 { font-size:12px; }
.fsa-recent-activity a span { font-size:10px; }
.fsa-recent-activity a strong { font-size:13px; }

/* Complete case tools live on the case index, not on the homepage cards. */
.subpage--cases .fsa-case-live {
  grid-column:1 / -1;
  margin:0;
  padding:0 18px 16px;
  background:rgba(1,9,14,.42);
}
.subpage--cases .fsa-evidence-toggle { min-height:48px; font-size:13px; }
.subpage--cases .fsa-evidence-panel { grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.subpage--cases .fsa-evidence-panel button { min-height:46px; font-size:12px; }
.subpage--cases .fsa-evidence-panel button b { font-size:10px; }
.subpage--cases .fsa-dispatch > p { display:block; font-size:14px !important; }
.subpage--cases .fsa-dispatch > p small { font-size:10px; }
.subpage--cases .fsa-dispatch button { min-height:46px; font-size:12px; }
.subpage--cases .fsa-dispatch output {
  min-height:38px;
  white-space:normal;
  overflow-wrap:anywhere;
  font-size:12px;
}

@media (max-width:820px) {
  .section-head > a,.section-head .case-section-actions > a { min-height:44px; display:inline-flex; align-items:center; font-size:12px; }
  .site-brand strong { font-size:9px; }
  .site-brand small,.mobile-menu small { font-size:9px; }
  .language-switcher a,.language-switcher button,.menu-toggle { min-width:44px; min-height:44px; }

  .hero-copy > p:not(.micro),.hero-subtitle + p { font-size:14px; line-height:1.65; }
  .hero-actions > a,.hero-actions > button { min-height:44px; font-size:13px; }
  .hero-quick-links a,.hero-status-submit { min-height:44px; }
  .hero-live-row span { min-height:44px; font-size:11px; }

  .team-card .micro,.team-copy > p { font-size:12px; line-height:1.55; }
  .team-status span,.team-tag { font-size:10px; }
  .team-file-link { min-height:44px; display:inline-flex; align-items:center; font-size:11px; }

  .life-feature-copy > p:not(.micro),.life-log-card span { font-size:12px; line-height:1.55; }
  .life-log-card b,.record-list b { font-size:14px; }
  .record-list span,.case-card span { font-size:11px; }

  .map-detail > p:not(.micro):not(.english) { font-size:14px; line-height:1.65; }
  .map-node .node-label small { font-size:10px; }

  .floating-music-player button,.theme-controls button,.records-section-actions a { min-width:44px; min-height:44px; }
  .floating-music-player .track-label { font-size:9px; }
  .floating-music-player .track-title { font-size:12px; }

  .toy-copy > p:not(.micro),.idol-strip-description { font-size:13px; line-height:1.6; }
  .toy-specs span { min-height:44px; display:flex; align-items:center; font-size:11px; }
  .toy-status,.idol-strip-code { font-size:10px; }

  .footer-slogan,.footer-cn-slogan,.footer-motto,.footer-development,.footer-creator,.public-contact { font-size:10px !important; }
  .subpage-route { min-height:50px !important; }
  .subpage-route .route-home { min-height:44px; display:inline-flex; align-items:center; }

  .subpage--cases .fsa-case-live { padding:0 11px 13px; }
  .subpage--cases .fsa-evidence-panel { grid-template-columns:1fr; }
  .subpage--cases .fsa-dispatch > p { display:block !important; }
  .subpage--cases .fsa-dispatch > div { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .subpage--cases .fsa-dispatch output { display:block !important; font-size:12px; }

  .fsa-media-actions button,.media-actions button { min-width:44px; min-height:44px; }
}

@media (max-width:380px) {
  .hero-copy > p:not(.micro),.hero-subtitle + p { font-size:14px; }
  .team-card .micro,.team-copy > p { font-size:12px; }
  .toy-copy > p:not(.micro) { display:block; font-size:13px; }
}
