/* generated by _src/build.py — subpage styles; tokens mirror /index.html */
:root{color-scheme:light;--bg:#F2F3F5;--fg:#171A20;--muted:#454C56;--card:#FFFFFF;--border:#DADDE2;
--bg-glass:rgba(242,243,245,.86);--shell:#14171D;--panel:#1D2129;--line-dark:#2C313B;--rack-border:#2C313B;
--steel-dark:#A8B1BF;--on-dark:#FFFFFF;--on-dark-body:#E9EBEF;--blue:#0F62FE;--accent:#0043CE;
--dot-blue:#4589FF;--dot-orange:#FF832B;--chip-blue:#0F62FE;--chip-orange:#BA4E00;--selection-fg:#FFFFFF;
--shadow-rack:rgba(10,12,16,.5);--max:1080px;
--cjk:system-ui,"PingFang TC","PingFang SC","Hiragino Sans","Apple SD Gothic Neo","Microsoft JhengHei","Microsoft YaHei","Malgun Gothic",sans-serif}
:root[data-theme="dark"]{color-scheme:dark;--bg:#0F1217;--fg:#E9EBEF;--muted:#A6AFBD;--card:#161C25;--border:#2A3140;
--bg-glass:rgba(15,18,23,.82);--rack-border:#39404D;--accent:#78A9FF}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){color-scheme:dark;--bg:#0F1217;--fg:#E9EBEF;--muted:#A6AFBD;
--card:#161C25;--border:#2A3140;--bg-glass:rgba(15,18,23,.82);--rack-border:#39404D;--accent:#78A9FF}}
*{margin:0;padding:0;box-sizing:border-box}
html{background:var(--bg)}
body{font-family:"IBM Plex Sans",var(--cjk);background:var(--bg);color:var(--fg);line-height:1.6;font-size:17px;
min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
main{flex:1 0 auto}
footer{margin-top:auto}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
a{color:inherit}
::selection{background:var(--blue);color:var(--selection-fg)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:2px}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--blue);color:var(--on-dark);padding:12px 18px;border-radius:0 0 10px 0;text-decoration:none;font-weight:600}
.skip:focus{left:0}
.display{font-family:"Archivo",var(--cjk);font-stretch:118%;font-weight:800;letter-spacing:-.015em;line-height:1.06}
.mono{font-family:"IBM Plex Mono",monospace}
.utility{border-bottom:1px solid var(--border)}
.util-in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:50px}
.util-note{font-family:"IBM Plex Mono",monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.util-right{display:flex;align-items:center;gap:4px}
.util-right a{font-size:.78rem;color:var(--muted);text-decoration:none;font-weight:500;padding:12px 12px}
.util-right a:hover{color:var(--fg)}
button#theme{width:44px;height:44px;border:none;border-radius:10px;background:transparent;color:var(--muted);font-size:1.05rem;line-height:1;cursor:pointer}
button#theme:hover{color:var(--fg)}
header{position:sticky;top:0;z-index:40;background:var(--bg-glass);-webkit-backdrop-filter:blur(12px) saturate(1.4);backdrop-filter:blur(12px) saturate(1.4);border-bottom:1px solid var(--border)}
.header-bar{display:flex;align-items:center;padding-block:8px;gap:22px;flex-wrap:wrap}
.logo{font-family:"Archivo",var(--cjk);font-stretch:125%;font-weight:900;text-transform:uppercase;font-size:1.05rem;letter-spacing:.04em;text-decoration:none;display:flex;align-items:center;gap:10px}
.logo .jacks{display:flex;gap:3px}
.logo .jacks i{width:9px;height:13px;border-radius:2px;display:block}
.logo .jacks i:first-child{background:var(--blue)}
.logo .jacks i:last-child{background:var(--dot-orange)}
.header-links{display:flex;gap:22px;align-items:center;font-size:.85rem;margin-left:auto}
.header-links a{text-decoration:none;color:var(--muted);font-weight:500;padding:11px 0}
.header-links a:hover{color:var(--fg)}
.header-bar .mail{display:inline-flex;align-items:center;height:44px;padding:0 20px;background:var(--blue);color:var(--on-dark);border-radius:999px;font-size:.85rem;font-weight:600;text-decoration:none}
.header-bar .mail:hover{filter:brightness(1.12)}
main{padding:56px 0 0}
.crumb{font-family:"IBM Plex Mono",monospace;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:22px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.crumb a{color:inherit;text-decoration:none}
.crumb a:hover{color:var(--fg)}
.crumb .dot{width:10px;height:10px;border-radius:2px;background:var(--chip-blue);display:inline-block}
.crumb .dot.field{border-radius:50%;background:var(--chip-orange)}
h1{font-size:clamp(2rem,5.4vw,3.2rem);font-weight:650;margin-bottom:18px;max-width:24ch}
.lede{max-width:58ch;color:var(--muted);font-size:1.06rem;margin-bottom:34px}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:64px}
.cta-row .primary{display:inline-flex;align-items:center;height:46px;padding:0 22px;background:var(--blue);color:var(--on-dark);border-radius:999px;font-size:.9rem;font-weight:600;text-decoration:none}
.cta-row .primary:hover{filter:brightness(1.12)}
.cta-row .ghost{display:inline-flex;align-items:center;height:46px;padding:0 22px;border:1px solid var(--border);color:var(--fg);border-radius:999px;font-size:.9rem;font-weight:500;text-decoration:none}
.cta-row .ghost:hover{border-color:var(--fg)}
h2{font-size:clamp(1.3rem,3vw,1.7rem);margin-bottom:24px}
section{margin-bottom:64px}
.inc{display:grid;grid-template-columns:1fr 1fr;gap:10px 32px;list-style:none;max-width:760px}
.inc li{display:flex;gap:12px;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--border);font-size:.95rem}
.inc li::before{content:"✓";font-family:"IBM Plex Mono",monospace;color:var(--accent);font-weight:600}
.steps{list-style:none;counter-reset:st;max-width:760px}
.steps li{counter-increment:st;display:grid;grid-template-columns:44px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--border)}
.steps li::before{content:counter(st,decimal-leading-zero);font-family:"IBM Plex Mono",monospace;color:var(--muted);font-size:.9rem;padding-top:2px}
.steps b{display:block;margin-bottom:2px}
.steps p{color:var(--muted);font-size:.95rem}
.faq{max-width:760px}
.faq details{border:1px solid var(--border);border-radius:10px;background:var(--card);margin-bottom:10px}
.faq summary{padding:16px 18px;font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:14px;align-items:center}
.faq summary::after{content:"+";font-family:"IBM Plex Mono",monospace;color:var(--muted);font-size:1.1rem}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 18px 16px;color:var(--muted);font-size:.95rem}
.rel{display:flex;gap:12px;flex-wrap:wrap}
.rel a{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border:1px solid var(--border);border-radius:10px;background:var(--card);text-decoration:none;font-size:.9rem;font-weight:500}
.rel a:hover{border-color:var(--accent)}
.rel .dot{width:10px;height:10px;border-radius:2px;background:var(--chip-blue)}
.rel .dot.field{border-radius:50%;background:var(--chip-orange)}
.band{background:var(--shell);color:var(--on-dark-body);border-radius:10px 10px 0 0;padding:52px 44px}
.band h2{color:var(--on-dark)}
.band .sub{color:var(--steel-dark);max-width:56ch;margin-bottom:26px}
.band .mail-big{display:inline-block;font-family:"IBM Plex Mono",monospace;font-size:clamp(1rem,2.6vw,1.4rem);color:var(--on-dark);text-decoration:none;border-bottom:3px solid var(--dot-blue);padding-bottom:6px}
.band .mail-big:hover{border-color:var(--dot-orange)}
.band .channels{display:flex;gap:30px;flex-wrap:wrap;margin-top:14px}
.band .channels a{font-family:"IBM Plex Mono",monospace;font-size:.82rem;color:var(--steel-dark);text-decoration:none;display:inline-block;padding:12px 0}
.band .channels a:hover{color:var(--on-dark)}
footer{background:var(--shell)}
.foot-bar{border-top:1px solid var(--line-dark);padding-block:22px calc(22px + env(safe-area-inset-bottom,0px));display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.78rem;color:var(--steel-dark)}
.foot-bar a{color:var(--steel-dark)}
@media (max-width:640px){
  .util-note{display:none}
  .util-in{justify-content:flex-end;min-height:46px}
  .header-bar .mail{display:none}
  .header-links{order:4;width:100%;margin-left:0;justify-content:space-between;gap:8px;border-top:1px solid var(--border)}
  .header-links a{font-size:.82rem;padding:9px 0}
  .inc{grid-template-columns:1fr}
  .band{padding:40px 24px}
}
