/* D030: original v3 CSS above; native SSR layout and mature form compatibility only. */
:root, :root[data-theme], #jy-app {
  --jy-bg:var(--bg); --jy-surface:var(--paper); --jy-ink:var(--ink); --jy-muted:var(--ink2);
  --jy-border:var(--line2); --jy-line:var(--line2); --jy-soft:var(--fill);
  --jy-font:var(--sans); --real-serif:var(--serif); --real-accent:var(--acc-ink);
  --real-paper:var(--paper); --jy-shell-height:60px;
}
html {scroll-padding-block:calc(var(--top) + 12px) 80px;}
html, body {min-height:100%; height:auto;}
body {overflow:auto; background:var(--bg); font-family:var(--sans);}
#jy-app {background:var(--bg); color:var(--ink);}
.native-page {position:relative; padding-top:calc(var(--top) + 30px); padding-bottom:100px; min-height:100dvh;}
.native-page.site-main {max-width:1200px; margin-inline:auto; padding-inline:clamp(18px,4vw,56px);}
.native-page h1 {font:500 var(--f6)/1.4 var(--serif); letter-spacing:0; margin:4px 0 14px;}
.native-page h2 {font:500 var(--f5)/1.5 var(--serif); letter-spacing:0; margin:28px 0 12px;}
.native-page h3 {font-size:var(--f4); margin:22px 0 10px;}
.native-page p {margin-block:12px;}
.native-page .wrap {padding:20px 0 60px;}
.native-page .narrow {max-width:760px; margin-inline:auto;}
.native-page article {overflow-wrap:anywhere;}
.native-page input, .native-page select, .native-page textarea, .native-page button {max-width:100%; box-sizing:border-box;}
.native-page input:not([type=checkbox]):not([type=radio]):not([type=hidden]), .native-page textarea, .native-page select {
  border:1px solid var(--line2); border-radius:var(--r-s); background:var(--paper); color:var(--ink); padding:9px 12px;
}
.native-page textarea {width:100%; min-height:100px;}
.native-page fieldset {min-width:0; border:0; padding:14px 0; margin:16px 0;}
.native-page legend {font-size:var(--f4);}
.native-page fieldset label {display:inline-flex; align-items:center; gap:8px; margin:6px 18px 6px 0;}
.native-page button:not(.ico):not(.btn) {border-radius:var(--r-s); background:var(--fill); padding:8px 14px;}
.native-page button:hover {background:var(--fill2);}
.top .tl {gap:20px;}
.top .tabs a {padding-inline:10px;}
.top form {margin:0;}
.top summary {list-style:none; cursor:pointer; min-height:36px;}
.top summary::-webkit-details-marker {display:none;}
.top details[open] > .menu {display:block;}
.top .menu {max-height:calc(100dvh - 120px); overflow:auto;}
.top .av {display:grid; place-items:center; border-radius:50%; font-size:14px;}
.top .mi {min-height:40px; margin:0; border:0; background:none;}
.top .wm::after {display:none!important;}
.top .q input {border-radius:var(--r-l);}
.top .native-mobile-search {display:none;}
.native-page [role=alert] {color:var(--warn);}
.native-page table {max-width:100%; border-collapse:collapse;}
.native-page td, .native-page th {padding:10px; border-bottom:1px solid var(--line); text-align:left;}
.native-page .real-paper, .native-page .content-document {background:var(--paper); color:var(--paper-ink); border-radius:var(--r-l);}
.native-page a:not(.btn):not(.chip):not(.pill) {text-underline-offset:4px;}
.v3-settings form {display:grid; gap:12px;}
.v3-settings .btn {justify-self:start;}
.v3-settings select {width:min(100%,360px);}
@media (prefers-color-scheme:dark) {
  html:not(.js)[data-appearance=auto]:not([data-surface=galaxy]) {--bg:#0d1016;--bg2:#131720;--paper:#151a23;--paper2:#1a202b;--panel:rgba(19,23,32,.84);--panel2:rgba(19,23,32,.97);--glass:rgba(19,23,32,.58);--ink:rgba(231,235,242,.94);--ink2:rgba(231,235,242,.74);--ink3:rgba(231,235,242,.58);--line:rgba(231,235,242,.08);--line2:rgba(231,235,242,.15);--fill:rgba(231,235,242,.06);--fill2:rgba(231,235,242,.1);--paper-ink:rgba(231,235,242,.92);color-scheme:dark;}
}
@media (min-width:761px) and (max-width:1300px) {.top {gap:12px; grid-template-columns:auto minmax(180px,1fr) auto;} .top .tl {gap:14px;} .top .tabs a {padding-inline:7px;}}
@media (max-width:760px) {
  .top .native-more {order:1;}
  .native-page {padding-top:calc(var(--top) + 22px); padding-bottom:150px;}
  .top .tabs a {padding:0; font-size:13px;}
  .top .tabi {font-size:20px; line-height:22px;}
  .top .tl {gap:0;}
  .native-page h1 {font-size:28px;}
  .native-page input, .native-page select, .native-page textarea {font-size:16px;}
  .native-more .menu {right:-46px;}
}

/* Activated only after the native renderer completes a real frame. The SSR
   directory and ordinary document flow remain intact without this class. */
html.has-v3-galaxy, .has-v3-galaxy body {height:100%; overflow:hidden;}
.has-v3-galaxy #jy-app {min-height:100dvh; background:var(--bg);}
.has-v3-galaxy .v3-galaxy-main {position:static; min-height:100dvh; padding:0;}
.has-v3-galaxy #jy-v3-stage {
  position:fixed!important; inset:0; z-index:0; width:100%; height:100dvh!important;
  min-height:0!important; background:var(--bg); touch-action:none; cursor:grab;
}
.has-v3-galaxy #jy-v3-stage:active {cursor:grabbing;}
.has-v3-galaxy #jy-v3-stage:focus-visible {outline:2px solid var(--acc-ink); outline-offset:-5px;}
.has-v3-galaxy #jy-v3-stage canvas {position:absolute; inset:0; width:100%; height:100%;}
.has-v3-galaxy #jy-v3-title {
  position:fixed; z-index:10; top:calc(var(--top) + 14px); left:24px;
  margin:0; max-width:320px; font:500 23px/1.4 var(--serif); pointer-events:none;
}
.has-v3-galaxy .native-galaxy-intro {
  position:fixed; z-index:10; top:calc(var(--top) + 55px); left:24px;
  margin:0; max-width:300px; font-size:12px; line-height:1.6; color:var(--ink2); pointer-events:none;
}
.has-v3-galaxy .native-galaxy-directory,
.has-v3-galaxy .native-galaxy-card,
.has-v3-galaxy #jy-v3-controls,
.has-v3-galaxy .v3-galaxy-shortcuts {
  position:fixed; z-index:12; background:var(--panel); color:var(--ink);
  border:1px solid var(--line2); border-radius:var(--r-l); box-shadow:var(--shadow);
  backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
}
.has-v3-galaxy .native-galaxy-directory {
  left:24px; top:calc(var(--top) + 148px); width:min(320px,calc(100vw - 48px));
  max-height:calc(100dvh - var(--top) - 230px); overflow:auto; overscroll-behavior:contain;
  padding:0 16px;
}
.has-v3-galaxy .native-galaxy-directory > summary {padding:12px 0; min-height:44px; cursor:pointer;}
.has-v3-galaxy .native-galaxy-directory ul {padding-left:20px;}
.has-v3-galaxy .native-galaxy-directory li {margin-block:10px; overflow-wrap:anywhere;}
.has-v3-galaxy .native-galaxy-directory p {font-size:13px; color:var(--ink2);}
.has-v3-galaxy .native-galaxy-directory [data-galaxy-topic] {display:block; margin-top:6px; font-size:12px;}
.has-v3-galaxy .native-galaxy-card {
  right:24px; top:calc(var(--top) + 16px); width:min(390px,calc(100vw - 48px));
  max-height:calc(100dvh - var(--top) - 106px); padding:18px; overflow:auto; overscroll-behavior:contain;
}
.has-v3-galaxy .native-galaxy-card h3 {margin:4px 0 14px; padding-right:65px;}
.has-v3-galaxy .native-galaxy-card p {font-size:14px; overflow-wrap:anywhere;}
.has-v3-galaxy .native-galaxy-card li {margin-block:10px; overflow-wrap:anywhere;}
.has-v3-galaxy .native-galaxy-card-close {position:absolute; top:12px; right:12px; min-height:36px;}
.has-v3-galaxy #jy-v3-controls {right:24px; bottom:24px; padding:5px; display:flex; gap:4px;}
.has-v3-galaxy #jy-v3-controls button {min-width:44px; min-height:40px; font-size:13px;}
.has-v3-galaxy .v3-galaxy-shortcuts {left:24px; bottom:24px; padding:10px 14px; display:flex; gap:16px; font-size:13px;}
.has-v3-galaxy #jy-v3-message {
  position:fixed; z-index:10; bottom:26px; left:50%; transform:translateX(-50%);
  max-width:calc(100vw - 720px); margin:0; color:var(--ink2); font-size:12px; text-align:center; pointer-events:none;
}
.has-v3-galaxy [hidden] {display:none!important;}
@media (max-width:1100px) {
  .has-v3-galaxy #jy-v3-message {bottom:86px; max-width:min(540px,calc(100vw - 80px));}
}
@media (max-width:760px) {
  .has-v3-galaxy #jy-v3-title {top:calc(var(--top) + 10px); left:12px; font-size:20px;}
  .has-v3-galaxy .native-galaxy-intro {
    width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap;
  }
  .has-v3-galaxy .native-galaxy-directory {
    left:12px; top:calc(var(--top) + 48px); width:min(300px,calc(100vw - 24px));
    max-height:calc(100dvh - var(--top) - 238px - env(safe-area-inset-bottom));
  }
  .has-v3-galaxy .native-galaxy-card {
    left:12px; right:12px; top:auto; bottom:calc(142px + env(safe-area-inset-bottom)); width:auto;
    max-height:min(52dvh,calc(100dvh - var(--top) - 178px - env(safe-area-inset-bottom)));
    z-index:14; padding:16px;
  }
  .has-v3-galaxy #jy-v3-controls {right:12px; bottom:calc(78px + env(safe-area-inset-bottom)); z-index:15;}
  .has-v3-galaxy #jy-v3-controls button {padding:8px; min-width:40px;}
  .has-v3-galaxy .v3-galaxy-shortcuts {
    left:12px; bottom:calc(78px + env(safe-area-inset-bottom)); max-width:calc(100vw - 190px);
    display:grid; grid-template-columns:1fr 1fr; gap:4px 10px; padding:7px 10px; font-size:12px;
  }
  .has-v3-galaxy #jy-v3-message {
    left:12px; right:12px; bottom:calc(136px + env(safe-area-inset-bottom)); transform:none;
    max-width:none; text-align:left; font-size:11px;
  }
  .has-v3-galaxy #top .tabs {z-index:31; height:calc(58px + env(safe-area-inset-bottom));}
  .has-v3-galaxy #top .tw {position:static; height:36px; padding:0 10px; box-shadow:none; font-size:13px;}
}
