:root {
  --bg:#276AA5;
  --bg-lift:#2368A8;
  --arc-1:#184F84;
  --arc-2:#2470B0;
  --arc-3:#2E7FC0;
  --panel:#FFFFFF;
  --panel-2:#F6F3EE;
  --border:#DDE3EA;
  --accent:#19BFA9;
  --accent-hover:#2BCBB5;
  --accent-dark:#0B7F73;
  --accent-soft:#E3F7F3;
  --text:#0F2236;
  --muted:#52647A;
  --success:#2FB36B;
  --warn:#FFC23D;
  --error:#E5484D;
  --pink:#F59AC0;
  --chrome:#EEF2F6;
  --field:#F8FAFC;
  --row-head:#F4F7FA;
  --bone:#E3E9F0;
  --bone-soft:#EDF1F5;
  --switch-off:#C7D1DC;
  --placeholder:#98A6B6;
  --device:#10202F;
  --on-dark:#FFFFFF;
  --on-dark-2:rgba(255,255,255,.86);
  --on-dark-3:rgba(255,255,255,.62);
  --line-dark:rgba(255,255,255,.30);
  --line-dark-strong:rgba(255,255,255,.72);
  --wash-dark:rgba(255,255,255,.08);
  --wash-dark-2:rgba(255,255,255,.14);
  --tri-soft:rgba(255,255,255,.22);
  --edge:rgba(255,255,255,.55);
  --veil:rgba(8,34,66,.48);
  --clear:transparent;
  --shadow-float:0 2px 6px rgba(8,34,66,.16),0 30px 60px rgba(8,34,66,.26);
  --shadow-deep:0 2px 6px rgba(8,34,66,.22),0 40px 80px rgba(8,34,66,.40);
  --shadow-btn:0 2px 6px rgba(8,34,66,.18),0 12px 26px rgba(8,34,66,.22);
  --shadow-dot:0 1px 2px rgba(8,34,66,.25);
  --font-display:'Inter','Noto Sans SC','Noto Sans JP','Noto Sans KR','PingFang SC','Microsoft YaHei',system-ui,sans-serif;
  --font-body:'Inter','Noto Sans SC','Noto Sans JP','Noto Sans KR','PingFang SC','Hiragino Sans GB','Microsoft YaHei',system-ui,sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,'SFMono-Regular',Consolas,'Liberation Mono',monospace;
  --weight-regular:400;
  --weight-medium:600;
  --weight-bold:700;
  --weight-display:800;
  --text-xs:12px;
  --text-sm:14px;
  --text-base:16px;
  --text-lead:17px;
  --text-h3:22px;
  --text-h2:32px;
  --text-h1:clamp(34px,3.4vw,48px);
  --leading-body:1.6;
  --leading-heading:1.2;
  --r-btn:12px;
  --r-float:20px;
  --r-card:24px;
  --r-section:36px;
  --r-phone:28px;
  --r-screen:22px;
  --r-pill:999px;
  --r-field:8px;
  --r-small:4px;
  --r-tiny:2px;
  --r-combo:6px;
  --r-round:50%;
  --wrap:1240px;
  --reading:800px;
  --gutter:28px;
  --header-height:72px;
  --space-section:104px;
  --motion-fast:.2s;
  --motion-reveal:.6s;
}
*,*::before,*::after {box-sizing:border-box}
html {-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:24px}
html.nav-open {overflow:hidden}
body {margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body);-webkit-font-smoothing:antialiased}
a {color:inherit;text-decoration:none}
button,input,select,textarea {font:inherit}
button {color:inherit;background:var(--clear);border:0;cursor:pointer}
button:disabled {cursor:not-allowed}
img,svg {vertical-align:middle;max-width:100%}
img {height:auto}
svg,.icon,.tag-dot {flex-shrink:0}
h1,h2,h3,h4 {font-family:var(--font-display);line-height:1.3;text-wrap:balance;font-weight:var(--weight-display);overflow-wrap:break-word}
h1 {font-size:var(--text-h1);line-height:var(--leading-heading);letter-spacing:-.005em}
h2 {font-size:var(--text-h2)}
h3 {font-size:var(--text-h3)}
p {margin:0 0 1.2em}
ul,ol {padding-left:1.5em}
code,kbd,pre {font-family:var(--font-mono)}
code {overflow-wrap:anywhere;font-size:.9em}
pre {max-width:100%;min-width:0;overflow-x:auto;padding:24px;border-radius:var(--r-float);background:var(--field);color:var(--text);border:1px solid var(--border);font-size:var(--text-sm)}
pre code {overflow-wrap:normal;word-break:normal;white-space:pre;font-size:inherit}
:focus-visible {outline:2px solid var(--accent-dark);outline-offset:3px}
.scene :focus-visible,.site-footer :focus-visible,.masthead :focus-visible {outline-color:var(--on-dark)}
[hidden] {display:none!important}
.wrap {width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
.reading {width:100%;max-width:calc(var(--reading) + var(--gutter) * 2);margin-inline:auto;padding-inline:var(--gutter)}
body > main.reading {background:var(--panel);color:var(--text)}
.section {padding-top:var(--space-section);padding-bottom:var(--space-section)}
.section-head {max-width:760px;margin-inline:auto;text-align:center;margin-bottom:48px}
.section-head h2 {margin-top:0;margin-bottom:16px}
.section-head p {color:var(--muted);font-size:var(--text-lead)}
.grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.grid > *, .split > *, .footer-grid > *, .feature-layout > * {min-width:0}
.split {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;align-items:center}
.keep {white-space:nowrap}
.muted {color:var(--muted)}
.emphasis {color:var(--accent-dark)}
.prose {min-width:0;line-height:1.85}
.prose h2 {margin-top:2.5em;scroll-margin-top:28px}
.prose h3 {margin-top:1.8em}
.prose a:not(.btn) {color:var(--accent-dark);text-decoration:underline;text-underline-offset:3px}
.prose li + li {margin-top:.5em}
.prose :not(pre) > code {background:var(--field);color:var(--text);border-radius:var(--r-small);padding:2px 5px}
.skip {position:absolute;left:16px;top:-80px;z-index:100;background:var(--panel);color:var(--text);padding:8px 14px;border-radius:var(--r-btn);font-weight:var(--weight-bold)}
.skip:focus {top:12px}
.btn {display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:12px 28px;border:1.5px solid var(--clear);border-radius:var(--r-btn);font-size:var(--text-base);font-weight:var(--weight-bold);line-height:1.4;text-align:center;transition:transform var(--motion-fast) ease,background-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease,border-color var(--motion-fast) ease}
.btn svg {width:18px;height:18px}
.btn-primary {background:var(--accent);color:var(--text);box-shadow:var(--shadow-btn)}
.btn-primary:hover,.btn-primary.is-hover {background:var(--accent-hover);color:var(--text);transform:translateY(-1px)}
.btn-primary:active,.btn-primary.is-active {background:var(--accent);color:var(--text);transform:translateY(1px);box-shadow:none}
.btn-secondary {background:var(--panel);color:var(--text);border-color:var(--border)}
.btn-secondary:hover {background:var(--field);color:var(--text);border-color:var(--muted)}
.btn-ghost {border-color:var(--line-dark-strong);background:var(--clear);color:var(--on-dark)}
.btn-ghost:hover {background:var(--wash-dark-2);color:var(--on-dark);border-color:var(--on-dark)}
.btn:disabled,.btn[aria-disabled="true"] {background:var(--chrome);color:var(--muted);border-color:var(--border);box-shadow:none;transform:none}
.btn.is-focus {outline:2px solid var(--accent-dark);outline-offset:3px}
.cta-row {display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:28px}
.card,.panel {background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:var(--r-card);padding:28px;min-width:0}
.card h3,.panel h3 {margin-top:0;margin-bottom:12px}
.card p:last-child,.panel p:last-child {margin-bottom:0}
.card--float {box-shadow:var(--shadow-float);border-color:var(--edge)}
.panel--warm {background:var(--panel-2);color:var(--text);border-color:var(--panel-2)}
.scene {position:relative;overflow:hidden;overflow-x:clip;background:linear-gradient(115deg,var(--bg) 0%,var(--bg) 55%,var(--bg-lift) 100%);color:var(--on-dark)}
.arc {position:absolute;border-radius:var(--r-round);pointer-events:none;z-index:0}
.arc--outer {width:1800px;height:1800px;left:-600px;top:350px;background:var(--arc-1);color:var(--on-dark)}
.arc--mid {width:1400px;height:1400px;left:-400px;top:550px;background:var(--arc-2);color:var(--on-dark)}
.arc--inner {width:1000px;height:1000px;left:-200px;top:750px;background:var(--arc-3);color:var(--on-dark)}
.masthead {position:relative;z-index:50;background:var(--bg);color:var(--on-dark)}
.scene .masthead {background:var(--clear);color:var(--on-dark)}
.masthead-in {max-width:min(100%,calc(1280px + var(--gutter) * 2));height:var(--header-height);margin-inline:auto;padding-inline:var(--gutter);display:flex;align-items:center;gap:36px}
.brand {display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:var(--weight-display);font-size:17px;letter-spacing:.005em;flex-shrink:0}
.brand-mark {width:32px;height:32px;flex-shrink:0}
.desktop-nav {min-width:0}
.dotnav {display:flex;align-items:center;list-style:none;margin:0;padding:0;font-size:15px;gap:0}
.dotnav li {display:flex;align-items:center;flex-shrink:0}
.dotnav li + li::before {content:"·";color:var(--on-dark-3);margin-inline:14px;font-weight:var(--weight-bold);flex-shrink:0}
.dotnav a {position:relative;display:block;color:var(--on-dark-2);padding-block:6px;white-space:nowrap;transition:color var(--motion-fast) ease}
.dotnav a:hover {color:var(--on-dark)}
.dotnav a[aria-current="page"] {color:var(--on-dark);font-weight:var(--weight-medium)}
.dotnav a[aria-current="page"]::after {content:"";position:absolute;left:50%;bottom:-6px;width:5px;height:5px;border-radius:var(--r-round);background:var(--accent);transform:translateX(-50%)}
.masthead-end {margin-left:auto;display:flex;align-items:center;gap:18px;flex-shrink:0}
.lang-box {position:relative}
.lang {display:inline-flex;align-items:center;gap:7px;min-height:44px;color:var(--on-dark-2);font-size:var(--text-sm);padding:6px 4px;white-space:nowrap}
.lang svg {width:16px;height:16px}
.lang:hover {color:var(--on-dark)}
.lang-short {display:none}
.lang-menu {position:absolute;right:0;top:calc(100% + 8px);min-width:180px;padding:8px;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:var(--r-float);box-shadow:var(--shadow-float);list-style:none;margin:0;z-index:55}
.lang-menu a {display:flex;align-items:center;min-height:44px;padding:8px 14px;border-radius:var(--r-btn)}
.lang-menu a:hover,.lang-menu a[aria-current="true"] {background:var(--field);color:var(--text)}
.pill-dl {display:inline-flex;align-items:center;min-height:40px;padding:8px 20px;border:1.5px solid var(--line-dark-strong);border-radius:var(--r-pill);font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--on-dark);white-space:nowrap}
.pill-dl:hover {background:var(--wash-dark-2);color:var(--on-dark);border-color:var(--on-dark)}
.menu-toggle {display:none;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid var(--line-dark);border-radius:var(--r-btn);color:var(--on-dark)}
.menu-toggle svg {width:22px;height:22px}
.mobile-drawer {position:absolute;left:0;right:0;top:100%;padding:16px var(--gutter) 24px;max-height:calc(100dvh - var(--header-height));overflow-y:auto;overscroll-behavior:contain;background:var(--bg);color:var(--on-dark);z-index:53}
.mobile-drawer ul {list-style:none;margin:0;padding:0}
.mobile-drawer a {display:flex;align-items:center;width:100%;min-height:48px;padding:12px 16px;border-radius:var(--r-btn)}
.mobile-drawer a:hover,.mobile-drawer a[aria-current] {background:var(--wash-dark-2);color:var(--on-dark)}
.drawer-languages {border-top:1px solid var(--line-dark);margin-top:16px!important;padding-top:16px!important}
.nav-veil {position:fixed;inset:var(--header-height) 0 0;background:var(--veil);color:var(--on-dark);z-index:40;cursor:pointer}
.site-footer {position:relative;overflow-x:clip;background:var(--bg);color:var(--on-dark);padding-top:72px;padding-bottom:28px}
.footer-grid {display:grid;grid-template-columns:1.3fr .8fr 1.5fr;gap:56px}
.footer-brand p {margin-top:20px;max-width:340px;color:var(--on-dark-2)}
.site-footer h2 {font-size:var(--text-base);margin:0 0 18px;font-weight:var(--weight-bold)}
.site-footer ul {list-style:none;padding:0;margin:0}
.site-footer li {margin-bottom:8px}
.site-footer a {color:var(--on-dark-2);overflow-wrap:anywhere}
.site-footer a:hover {color:var(--on-dark);text-decoration:underline;text-underline-offset:4px}
.site-footer .brand {color:var(--on-dark)}
.hot-links {display:flex;flex-wrap:wrap;gap:8px 20px}
.footer-languages {display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:36px}
.footer-languages a {display:inline-flex;align-items:center;min-height:44px}
.footer-bottom {margin-top:28px;padding-top:24px;border-top:1px solid var(--line-dark);display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;font-size:var(--text-sm);color:var(--on-dark-2)}
.legal-links {display:flex;flex-wrap:wrap;gap:12px 24px}
.reveal {opacity:1;transform:none}
.reveal.reveal-ready {opacity:0;transform:translateY(16px);transition:opacity var(--motion-reveal) ease,transform var(--motion-reveal) ease}
.reveal.shown {opacity:1;transform:none}
.preview-menu {display:none}
@media (max-width:1199px) {
  .masthead-in {gap:24px}
  .desktop-nav {display:none}
  .menu-toggle {display:inline-flex}
  .masthead-end {margin-left:auto}
  .preview-menu {display:block}
  .preview-menu > summary {display:flex;list-style:none;cursor:pointer}
  .preview-menu > summary::-webkit-details-marker {display:none}
  .preview-menu .mobile-drawer {display:block}
}
@media (min-width:1200px) {
  .mobile-drawer,.nav-veil {display:none!important}
}
@media (max-width:768px) {
  :root {--text-h1:clamp(24px,6.6vw,30px);--text-h2:24px;--space-section:72px}
  .grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .split {grid-template-columns:minmax(0,1fr);gap:28px}
  .footer-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
  .footer-brand {grid-column:1 / -1}
}
@media (max-width:640px) {
  :root {--gutter:18px;--header-height:64px}
  .masthead-in {gap:10px}
  .brand {font-size:15px}
  .masthead-end {gap:8px;margin-left:auto}
  .masthead-end > .pill-dl {display:none}
  .lang-full {display:none}
  .lang-short {display:inline}
  .grid {grid-template-columns:minmax(0,1fr)}
  .card,.panel {padding:24px}
  .tilt,.dlg {transform:none!important}
  .footer-grid {grid-template-columns:minmax(0,1fr)}
  .footer-brand {grid-column:auto}
  .cta-row {flex-direction:column;align-items:stretch;max-width:320px;margin-inline:auto}
  .section-head {margin-bottom:32px}
}
@media (max-width:360px) {
  .brand {gap:7px;font-size:13px}
  .brand-mark {width:28px;height:28px}
  .masthead-end {gap:4px}
}
@media (prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto}
  *,*::before,*::after {transition:none!important;animation:none!important}
  .reveal.reveal-ready {opacity:1;transform:none}
}