@font-face{font-family:"Nunito Sans";src:url("/home/fonts/nunitosans-latin.woff2") format("woff2");font-weight:200 1000;font-style:normal;font-display:swap}
@font-face{font-family:"Roboto Slab";src:url("/home/fonts/robotoslab-latin.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
:root{
  --bg:#FFFFFF;--ink:#14152B;--muted:#3E4157;--line:#E7E9F2;--card:#FFFFFF;
  --accent:#2F54EB;--on-accent:#FFFFFF;--tint:#F0F3FF;--mark:#D8E0FF;--ok:#1F9D63;
  --peach:#FFF1EA;--s1:linear-gradient(140deg,#E2E9FF 0%,#D2DCFF 50%,#ECDDFF 100%);--mint:#EAF7F1;--pop-bg:#2340D8;--pop-fg:#FFFFFF;--zing:#DCFF57;--on-zing:#14152B;
  --shadow:0 2px 6px rgba(20,21,43,.06),0 24px 48px -24px rgba(20,21,43,.3);
  /* Closest free matches to Rakuten's licensed Stag (headlines) and Rakuten Sans UI (text) */
  --display:"Roboto Slab",Georgia,"Times New Roman",serif;
  --sans:"Nunito Sans",system-ui,Arial,sans-serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0C0E1A;--ink:#EEF0FA;--muted:#C4C8DC;--line:#242840;--card:#141729;
  --accent:#7D95FF;--on-accent:#0C0E1A;--tint:#151A33;--mark:#2A3466;--ok:#4FD08E;
  --peach:#24171A;--s1:linear-gradient(140deg,#182046 0%,#1C2560 50%,#2A1F4E 100%);--mint:#122219;--pop-bg:#1B276E;--pop-fg:#EEF0FA;--zing:#D4F94E;--on-zing:#14152B;
  --shadow:0 2px 6px rgba(0,0,0,.35),0 24px 48px -24px rgba(0,0,0,.85);color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0C0E1A;--ink:#EEF0FA;--muted:#C4C8DC;--line:#242840;--card:#141729;
  --accent:#7D95FF;--on-accent:#0C0E1A;--tint:#151A33;--mark:#2A3466;--ok:#4FD08E;
  --peach:#24171A;--s1:linear-gradient(140deg,#182046 0%,#1C2560 50%,#2A1F4E 100%);--mint:#122219;--pop-bg:#1B276E;--pop-fg:#EEF0FA;--zing:#D4F94E;--on-zing:#14152B;
  --shadow:0 2px 6px rgba(0,0,0,.35),0 24px 48px -24px rgba(0,0,0,.85);color-scheme:dark}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:var(--accent)}
.wrap{max-width:820px;margin-inline:auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:22px}
.logo{font-weight:900;font-size:28px;letter-spacing:-.03em;text-decoration:none;color:var(--ink);white-space:nowrap}
.logo span{color:var(--accent)}
.logo .g{display:inline-block;width:50px;height:auto;vertical-align:middle;margin:-12px 8px -8px 0}
.back{font-weight:700;font-size:15px;text-decoration:none;color:var(--muted)}.back:hover{color:var(--ink)}
.doc{padding-block:28px 72px}
.doc h1{font-family:var(--display);font-weight:600;letter-spacing:-.02em;line-height:1.08;font-size:clamp(36px,5vw,54px);margin:0}
.date{color:var(--muted);font-weight:700;margin:12px 0 22px}
.toc{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 12px;padding:0;list-style:none}
.toc a{display:inline-block;background:var(--tint);color:var(--ink);font-weight:800;font-size:15px;text-decoration:none;border-radius:999px;padding:9px 16px}
.toc a:hover{background:var(--mark)}
.doc h2{font-family:var(--display);font-weight:600;letter-spacing:-.02em;font-size:clamp(28px,3.6vw,38px);line-height:1.12;margin:56px 0 6px;padding-top:28px;border-top:2px solid var(--line)}
.doc h3{font-family:var(--display);font-weight:600;letter-spacing:-.01em;font-size:clamp(20px,2.3vw,24px);line-height:1.25;margin:30px 0 8px}
.doc p{margin:0 0 14px}
.doc ul,.doc ol{margin:0 0 16px;padding-left:24px}
.doc li{margin-bottom:8px}
.doc .caps{font-size:15px;letter-spacing:.01em}
.doc .top{font-size:14px;font-weight:700;text-decoration:none}
