/* SOLAR RESONANCE — sharp optical brackets, spectral light and planar glass.
   Shared material never owns scene positioning or the solar camera transform. */
:root {
  --control-design:solar-resonance;
  --control-cyan:#99f4ff; --control-violet:#dd9aff; --control-edge:#8fdce95e;
  --control-ease:cubic-bezier(.16,.88,.22,1);
  --aurora-phase:0deg; --aurora-trace:0; --aurora-energy:0; --aurora-x:50%; --aurora-y:50%;
  --aurora-face:linear-gradient(145deg,#153248d6,#081527ed 60%,#281934c9);
}
:is(.hud-chip,#projectPortal button,#projectPortal .project-info-link,#projectPortal .project-external,#portfolioCategory button,#portfolioVisit,#bootRetry,.acon-cmt .cn-send,#aboutPanel .ap-links a,#space .post-status-back) {
  --aurora-color:var(--control-cyan);
  appearance:none; isolation:isolate; box-sizing:border-box; border:1px solid var(--control-edge);
  border-radius:0; clip-path:none; background:var(--aurora-face); color:#e0f6ff;
  box-shadow:inset 0 1px #d7f8ff14,0 5px 20px -10px #00d9ff50;
  font:12px/1.5 'Microsoft YaHei','PingFang SC',sans-serif; letter-spacing:.065em;
  -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
  transition:color .3s var(--control-ease),border-color .35s var(--control-ease),box-shadow .5s var(--control-ease),background-color .4s var(--control-ease);
  -webkit-tap-highlight-color:transparent; touch-action:manipulation;
}
:where(#projectPortal button,#projectPortal .project-info-link,#projectPortal .project-external,#portfolioCategory button,#portfolioVisit,#bootRetry,.acon-cmt .cn-send,#aboutPanel .ap-links a,#space .post-status-back) { position:relative; }
:is(.hud-chip,#projectPortal button,#projectPortal .project-info-link,#projectPortal .project-external,#portfolioCategory button,#portfolioVisit,#bootRetry,.acon-cmt .cn-send,#aboutPanel .ap-links a,#space .post-status-back)::before {
  content:''; position:absolute; inset:-1px; height:auto; border:0; border-radius:inherit; padding:1px;
  background:conic-gradient(from var(--aurora-phase),#99f4ff12,#99f4ffdf 12%,#659fff55 24%,#99f4ff0a 44%,#dd9affba 62%,#dd9aff10 84%,#99f4ff12);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  opacity:calc(.48 + .5 * var(--aurora-energy,0)); transform:none; pointer-events:none;
  transition:opacity .3s var(--control-ease);
}
:is(.hud-chip,#projectPortal button,#projectPortal .project-info-link,#projectPortal .project-external,#portfolioCategory button,#portfolioVisit,#bootRetry,.acon-cmt .cn-send,#aboutPanel .ap-links a,#space .post-status-back)::after {
  content:''; position:absolute; inset:-6px; height:auto; border:0; border-radius:inherit;
  background:radial-gradient(ellipse at var(--aurora-x,50%) var(--aurora-y,50%),#91efff33,transparent 65%);
  filter:blur(7px); opacity:calc(.08 + .65 * var(--aurora-energy,0)); transform:none; animation:none;
  z-index:-1; pointer-events:none; transition:opacity .4s var(--control-ease);
}
.aurora-fx { position:absolute!important; inset:0; overflow:hidden; border-radius:inherit; pointer-events:none; z-index:0!important;
  background:radial-gradient(ellipse at var(--aurora-x,50%) var(--aurora-y,50%),#99f4ff18,transparent 65%);
  opacity:calc(.2 + .8 * var(--aurora-energy,0)); }
.aurora-pulse { position:absolute; left:var(--aurora-x,50%); top:var(--aurora-y,50%); width:48px; height:48px; margin:-24px;
  border:1px solid #b6f8ffa6; border-radius:0; opacity:0; background:linear-gradient(135deg,#99f4ff16,transparent 55%,#dd9aff0f); }
.aurora-orbit { display:none; }
:is(.hud-chip,#projectPortal button,#projectPortal .project-info-link,#projectPortal .project-external,#portfolioCategory button,#portfolioVisit,#bootRetry,.acon-cmt .cn-send,#aboutPanel .ap-links a,#space .post-status-back):is(:hover,:focus-visible) {
  color:#fff; border-color:#b4f6ffae; background-color:#217a9620;
  box-shadow:inset 0 1px #e2fbff28,0 0 20px -6px #64e8ff54,0 5px 22px -10px #d497ff42;
}
:is(.hud-chip,#projectPortal button,#projectPortal a,#portfolioCategory button,#portfolioVisit,#bootRetry,.acon-cmt .cn-send,#aboutPanel .ap-links a,#space .post-status-back):focus-visible { outline:2px solid #bbf8ff; outline-offset:3px; }
:is(.hud-chip,#projectPortal button,#portfolioCategory button,#portfolioVisit,#bootRetry,.acon-cmt .cn-send,#aboutPanel .ap-links a,#space .post-status-back):active { color:#fff1ff; border-color:var(--control-violet); box-shadow:inset 0 0 18px #c78bff22,0 0 18px -5px #dd9aff66; }
:is(#projectPortal button,#portfolioCategory button,#bootRetry,.acon-cmt .cn-send):disabled { opacity:.42; cursor:not-allowed; box-shadow:none; }
:is(#projectPortal button,#portfolioCategory button,#bootRetry,.acon-cmt .cn-send):disabled::after { content:none; }
.hud-chip { padding:10px 16px; gap:10px; overflow:visible; }
.hud-chip .hc-ico { color:var(--control-cyan); width:18px; height:18px; filter:drop-shadow(0 0 4px #99f4ff40); }
.hud-chip .hc-key { padding:2px 5px; margin-left:5px; border:1px solid #b9e4f325; border-radius:0; color:#9ab9cc; background:#a5e5fa07; }
#aboutReturn.hud-chip,#worksBack.hud-chip { position:fixed; border:1px solid var(--control-edge); border-radius:0; background:var(--aurora-face); box-shadow:inset 0 1px #d7f8ff14,0 5px 20px -10px #00d9ff50; }
#aboutReturn.hud-chip:hover,#worksBack.hud-chip:hover { background:var(--aurora-face); border-color:#b4f6ffae; box-shadow:0 0 20px -6px #64e8ff54; }
/* Selection is a lit glass aperture, not a boxed filter menu. */
#portfolioCategory { gap:6px; }
#portfolioCategory button,#projectPortal .project-tabs button { min-height:40px; padding:8px 16px; border:1px solid #93cadd2a; border-radius:0; background:#0c1c3085; color:#a9c5d8; box-shadow:inset 0 1px #d8f9ff07; }
#portfolioCategory button::after,#projectPortal .project-tabs button::after { inset:-6px; height:auto; transform:none; }
#portfolioCategory button:hover,#projectPortal .project-tabs button:hover { color:#effdff; background:#153249aa; box-shadow:0 0 15px -6px #99f4ff4d; }
#portfolioCategory button[aria-pressed=true],#projectPortal .project-tabs button[aria-pressed=true] { color:#edfdff; border:1px solid #a9efff8a; background:linear-gradient(145deg,#28617985,#102b49b8 62%,#49275655); box-shadow:inset 0 1px #c5f8ff24,0 0 20px -7px #74e5ff62; }
#portfolioCategory button[aria-pressed=true]::before,#projectPortal .project-tabs button[aria-pressed=true]::before { opacity:1; }
#portfolioCategory button[aria-pressed=true]::after,#projectPortal .project-tabs button[aria-pressed=true]::after { transform:none; opacity:.65; }
#portfolioStage .portfolioNav { border:1px solid #a3eafa66; border-radius:0; clip-path:none;
  background:linear-gradient(180deg,#183a4c85,#0b1a2bc0 50%,#36244270); color:#c9f5ff; box-shadow:inset 0 1px #cbf6ff18,0 0 17px -7px #6bedff5e;
  transition:color .3s var(--control-ease),border-color .3s var(--control-ease),box-shadow .4s var(--control-ease); }
#portfolioStage .portfolioNav::before { content:''; position:absolute; inset:6px; border:1px solid #bbf5ff18; border-radius:inherit; background:none; opacity:1; pointer-events:none; }
#portfolioStage .portfolioNav::after { inset:0; height:auto; border-radius:inherit; background:radial-gradient(ellipse,#99f4ff20,transparent 68%); opacity:calc(.25 + .6 * var(--aurora-energy,0)); transform:none; }
#portfolioStage .portfolioNav:hover { color:#fff; background-color:#17496730; border-color:#b9f8ffcf; box-shadow:0 0 24px -6px #82f1ff77; text-shadow:none; }
#portfolioStage .portfolioNav:hover::after { transform:none; }
#portfolioStage .portfolioNav:focus-visible { outline:2px solid #bbf8ff; outline-offset:3px; }
#portfolioStage .portfolioNav:active { color:var(--control-violet); border-color:var(--control-violet); }
#portfolioVisit { min-height:32px; padding:5px 16px; }
#projectPortal .project-close { background:var(--aurora-face); }
#projectPortal .project-info-link { display:inline-flex; align-items:center; min-height:44px; padding:8px 16px; }
.acon-cmt .cn-send,#bootRetry,#space .post-status-back { min-height:44px; padding:10px 24px; background:var(--aurora-face); border:1px solid #9aebfb8c; }
#aboutPanel .ap-links a:hover { background:var(--aurora-face); border-color:#b4f6ffae; box-shadow:0 0 20px -6px #64e8ff54; }
:is(.acon-cmt .cn-in,.acon-cmt .cn-area,#reader .cn-in,#reader .cn-area) { box-sizing:border-box; min-width:0; border:1px solid #94ccdc4d; border-radius:0; background:linear-gradient(145deg,#0f26377a,#071223c0); color:#e5f6ff; caret-color:var(--control-cyan); box-shadow:inset 0 1px #caf5ff08; transition:border-color .3s var(--control-ease),box-shadow .4s var(--control-ease); }
:is(.acon-cmt,#reader) .cn-in { min-height:44px; }
:is(.acon-cmt .cn-in,.acon-cmt .cn-area,#reader .cn-in,#reader .cn-area):focus { outline:none; border-color:#a9efffaa; box-shadow:0 0 0 2px #99f4ff18,0 0 18px -8px #99f4ff80; background-color:#102b3f88; }
:is(.acon-cmt .cn-in,.acon-cmt .cn-area,#reader .cn-in,#reader .cn-area)::placeholder { color:#8ba8ba; }
/* Four angular stations: open corner brackets and a straight light ribbon
   share the exact native button/camera coordinates. No circles or capsules. */
#hero .home-gateway { --aurora-color:var(--gateway-accent); --gateway-orbit-inset:35px; --gateway-orbit-x:var(--gateway-orbit-inset); --gateway-orbit-y:48px; --gateway-orbit-size:60px; border-radius:0; }
#hero .home-gateway.solar-inward-right { --gateway-orbit-x:calc(100% - var(--gateway-orbit-inset)); }
#hero .home-gateway::before { inset:10px 0 12px; border:0; border-radius:0; clip-path:none; -webkit-mask:none; mask:none;
  background:radial-gradient(ellipse at var(--gateway-orbit-x) var(--gateway-orbit-y),#99eaff24,transparent 70%),linear-gradient(90deg,#0b233cbe,#0817289c 58%,#0a1b3020);
  box-shadow:inset 0 1px #a8e8ff0b,0 8px 24px -16px #67dfff40; -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  transition:background-color .4s var(--control-ease),box-shadow .5s var(--control-ease); }
#hero .home-gateway.solar-inward-right::before { border-radius:0; background:radial-gradient(ellipse at var(--gateway-orbit-x) var(--gateway-orbit-y),#ca9bff24,transparent 70%),linear-gradient(270deg,#0b233cbe,#0817289c 58%,#0a1b3020); }
#hero .home-gateway:not(.solar-launching)::before { border:0; clip-path:none; }
#hero .home-gateway::after { left:74px; right:16px; top:auto; bottom:9px; width:auto; height:2px; border:0; border-radius:0;
  background:linear-gradient(90deg,var(--gateway-accent),#9ba4ffb3 50%,transparent); box-shadow:0 0 9px var(--gateway-accent),0 3px 15px #719cff6b;
  opacity:.7; transform:none; transition:opacity .4s var(--control-ease),box-shadow .5s var(--control-ease); }
#hero .home-gateway.solar-inward-right::after { left:16px; right:74px; background:linear-gradient(270deg,var(--gateway-accent),#9ba4ffb3 50%,transparent); }
#hero .home-gateway .aurora-fx { border-radius:inherit; background:none; overflow:visible; opacity:1; }
#hero .home-gateway > :not(.aurora-fx):not(.gateway-launch-frame) { z-index:1; }
#hero .home-gateway .aurora-orbit { display:block; position:absolute; left:var(--gateway-orbit-x); top:var(--gateway-orbit-y); width:var(--gateway-orbit-size); height:var(--gateway-orbit-size); transform:translate(-50%,-50%); border-radius:0;
  color:var(--gateway-accent); background:none; opacity:.95; box-shadow:none; }
.aurora-orbit svg { display:block; width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:.8; stroke-linejoin:miter; stroke-linecap:butt; transform:none; }
.aurora-orbit .aurora-ring { opacity:calc(.32 + .2 * var(--aurora-energy,0)); }
.aurora-orbit .aurora-arc { opacity:calc(.85 + .15 * var(--aurora-energy,0)); stroke-width:1.4; stroke-dasharray:.14 .86; stroke-dashoffset:calc(-1 * var(--aurora-trace,0)); filter:drop-shadow(0 0 2px currentColor); }
.aurora-orbit .aurora-arc.second { stroke:#de9eff; stroke-width:.8; stroke-dasharray:.07 .93; stroke-dashoffset:calc(-.5 - var(--aurora-trace,0)); opacity:.75; }
#hero .home-gateway .gateway-symbol { color:var(--gateway-accent); filter:drop-shadow(0 0 6px #82eaff40); }
#hero .home-gateway .gateway-name { color:#effbff; font-weight:500; text-shadow:0 0 14px #92dfff20,0 2px 8px #041027; }
#hero .home-gateway .gateway-code { color:var(--gateway-accent); letter-spacing:.12em; }
#hero .home-gateway .gateway-track { display:none; opacity:0; }
#hero .home-gateway:not(.solar-launching):is(:hover,:focus-visible)::before { transform:none; border:0; background-color:#28618b26; box-shadow:inset 0 1px #cef8ff1a,0 8px 28px -14px var(--gateway-accent); }
#hero .home-gateway:not(.solar-launching):is(:hover,:focus-visible)::after { opacity:1; transform:none; box-shadow:0 0 12px var(--gateway-accent),0 4px 20px #b792ff80; }
#hero .home-gateway:focus-visible { outline:2px solid var(--gateway-accent); outline-offset:4px; border-radius:0; }
#hero .home-gateway:active::before { transform:none; }
/* All developing optics use the solar release's finite nonlinear channels.
   No delayed CSS entrance runs separately from the moving sun. */
#hero .home-gateway.solar-launching::before { opacity:var(--launch-surface,0); clip-path:inset(var(--launch-inset,50%) 0); transition:none; }
#hero .home-gateway.solar-launching::after { opacity:calc(.7 * var(--launch-detail,0)); transition:none; }
#hero .home-gateway.solar-launching .aurora-orbit { opacity:calc(.95 * var(--launch-glyph,0)); }
#hero .home-gateway.solar-launching .aurora-ring { stroke-dasharray:1; stroke-dashoffset:var(--launch-icon-draw,1); }
#hero .gateway-launch-frame { stroke-width:1.15; filter:drop-shadow(0 0 3px var(--gateway-accent)); }
#hero .launch-wake-bloom { stroke-width:4.5; opacity:.19; }
/* Light-only editorial/TV affordances retain their existing planar geometry. */
#tvMode .tv-osd a.osd-v { color:var(--control-cyan); text-shadow:0 0 8px #99f4ff55; border-bottom:1px solid #99f4ff5c; padding-bottom:3px; }
#tvMode .tv-osd a.osd-v:hover { color:#fff; border-color:var(--control-violet); }
#tvMode .tv-osd a.osd-v:focus-visible,#portfolioTitle:focus-visible { outline:2px solid #bbf8ff; outline-offset:3px; }
#reader .reader-body a,#postGrid .s3-rd a { color:var(--control-cyan); text-decoration-color:#99f4ff77; text-underline-offset:4px; }
#spaceBack .sb-back-hint { color:var(--control-cyan); text-shadow:0 0 8px #99f4ff2e; }
#spaceBack .sb-scrub:focus-visible { outline:2px solid #bbf8ff; outline-offset:-3px; }
#hero.solar-compact .home-gateway { --gateway-orbit-inset:28px; --gateway-orbit-y:40px; --gateway-orbit-size:48px; }
#hero.solar-compact .home-gateway::after { left:62px; right:14px; bottom:8px; }
#hero.solar-compact .home-gateway.solar-inward-right::after { left:14px; right:62px; }
#hero.solar-pocket .home-gateway { --gateway-orbit-inset:27px; --gateway-orbit-y:48px; --gateway-orbit-size:46px; }
#hero.solar-pocket.solar-compact .home-gateway { --gateway-orbit-inset:25px; --gateway-orbit-y:40px; --gateway-orbit-size:44px; }
#hero.solar-pocket .home-gateway::after { left:54px; right:12px; bottom:9px; }
#hero.solar-pocket.solar-compact .home-gateway::after { left:50px; right:12px; bottom:8px; }
#hero.solar-pocket.solar-tight-row .home-gateway { --gateway-orbit-x:50%; --gateway-orbit-y:28px; --gateway-orbit-size:38px; }
#hero.solar-pocket.solar-tight-row .home-gateway::before { inset:3px 0; border-radius:0; background:linear-gradient(180deg,#122b45a6,#08152999); }
#hero.solar-pocket.solar-tight-row .home-gateway::after { left:14px; right:14px; bottom:9px; }
/* A short, narrow desktop window also uses the vertical lens. These rules
   deliberately outrank pocket + compact; otherwise the label collapses to 0. */
#hero.solar-pocket.solar-tight-row .gateway-symbol { left:calc(50% - 13px); right:auto; top:17px; width:26px; height:22px; }
#hero.solar-pocket.solar-tight-row .gateway-name { left:4px; right:4px; top:49px; text-align:center; font-size:12px; }
#hero.solar-pocket.solar-tight-row .gateway-code { left:6px; right:auto; top:8px; font-size:5px; }
#hero.solar-pocket.solar-tight-row .gateway-arrow { left:auto; right:6px; top:9px; font-size:10px; }
#hero.solar-pocket.solar-tight-row .gateway-description { display:none; }
@media(max-width:767px) {
  #portfolioCategory { gap:4px; }
  #portfolioCategory button { min-height:44px; padding:8px 9px; }
  #projectPortal .project-tabs button { min-height:44px; }
  #portfolioStage .portfolioNav { border-radius:0; }
}
@media(prefers-reduced-motion:reduce) {
  .aurora-pulse { display:none; }
  :is(.hud-chip,#projectPortal button,#projectPortal a,#portfolioCategory button,#portfolioVisit,#bootRetry,.acon-cmt .cn-send,#aboutPanel .ap-links a,#portfolioStage .portfolioNav) { transition:none; }
}
