
:root{
  --bg:#EEF4FB; --ink:#1B2A4A; --ink-soft:#52617f; --peri:#7C9CF0;
  --coral:#FF7A66; --gold:#FFC24B; --line:rgba(27,42,74,0.12);
  --display:"Bricolage Grotesque", system-ui, sans-serif;
  --body:"Hanken Grotesk", system-ui, sans-serif;
}
*{box-sizing:border-box;}
body{
  margin:0; font-family:var(--body); color:var(--ink); line-height:1.65;
  background:
    radial-gradient(120% 60% at 90% 0%, #F1ECFB 0%, rgba(241,236,251,0) 50%),
    linear-gradient(180deg, #EEF4FB 0%, #EDEFFA 60%, #ECF5F1 100%);
  background-attachment:fixed;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--peri); text-decoration:none;}
a:hover{text-decoration:underline;}
.topbar{
  position:sticky; top:0; z-index:5;
  display:flex; align-items:center; justify-content:space-between;
  padding:14px clamp(18px,5vw,40px);
  background:rgba(238,244,251,0.82); backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px); border-bottom:1px solid var(--line);
}
.brand{display:flex; align-items:center; gap:10px; font-family:var(--display);
  font-weight:800; font-size:20px; letter-spacing:-0.02em; color:var(--ink);}
.brand .dot{width:16px; height:16px; border-radius:50%;
  background:radial-gradient(circle at 35% 30%, #fff 0%, var(--peri) 38%, var(--coral) 78%, var(--gold) 100%);
  box-shadow:0 0 0 4px rgba(124,156,240,0.16);}
.topbar a.back{font-weight:600; font-size:14px; color:var(--ink-soft); margin-left:auto;}
.topbar select.lang-switch{margin-left:14px; font:inherit; font-size:13px; padding:5px 9px;
  border:1px solid var(--line); border-radius:9px; background:#fff; color:var(--ink-soft); cursor:pointer;}
.wrap{max-width:760px; margin:0 auto; padding:clamp(34px,6vw,60px) clamp(20px,5vw,28px) 90px;}
.eng-notice{background:rgba(124,156,240,0.10); border:1px solid rgba(124,156,240,0.32);
  border-radius:12px; padding:11px 15px; font-size:13.5px; line-height:1.5; color:var(--ink-soft);
  margin:14px 0 26px;}
.draft{
  background:rgba(255,194,75,0.16); border:1px solid rgba(255,194,75,0.5);
  border-radius:16px; padding:14px 18px; font-size:14px; color:#7a5a16; margin-bottom:34px;
}
.draft b{color:#5e4410;}
h1{font-family:var(--display); font-weight:800; letter-spacing:-0.03em; line-height:1.05;
  font-size:clamp(2rem,5vw,3rem); margin:0 0 8px;}
.updated{color:var(--ink-soft); font-size:14px; margin:0 0 8px;}
.lead{color:var(--ink-soft); font-size:1.08rem; margin:18px 0 0;}
h2{font-family:var(--display); font-weight:700; letter-spacing:-0.02em;
  font-size:clamp(1.3rem,3vw,1.6rem); margin:42px 0 10px; padding-top:10px;}
h3{font-family:var(--display); font-weight:700; font-size:1.1rem; margin:24px 0 6px;}
p{margin:12px 0;}
ul,ol{margin:12px 0; padding-left:22px;}
li{margin:7px 0;}
hr{border:none; border-top:1px solid var(--line); margin:46px 0;}
.callout{background:rgba(124,156,240,0.10); border:1px solid rgba(124,156,240,0.28);
  border-radius:16px; padding:16px 20px; margin:22px 0;}
.ph{background:rgba(27,42,74,0.07); border-radius:6px; padding:1px 7px; font-weight:600; font-size:0.95em;}
footer.legal{border-top:1px solid var(--line); margin-top:50px; padding-top:24px;
  font-size:14px; color:var(--ink-soft);}
footer.legal a{margin-right:18px;}
table{border-collapse:collapse; width:100%; margin:18px 0; font-size:0.96rem;}
th,td{border:1px solid var(--line); padding:10px 12px; text-align:left; vertical-align:top;}
th{background:rgba(124,156,240,0.10); font-family:var(--display); font-weight:700;}
