:root{--brand:#FF4B32;--brand-soft:#FFEFEC;--bg:#FFFFFF;--text:#000000;--muted:#60646C;--line:#E4E6EA;--card:#F6F7F9;--todo:#FFF1B8;--todo-text:#5C4400}
@media (prefers-color-scheme:dark){:root{--brand-soft:#33201F;--bg:#0B1220;--text:#FFFFFF;--muted:#A9B7D6;--line:#26334F;--card:#1B2740;--todo:#4A3B00;--todo-text:#FFE9A0}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
a{color:var(--brand)}
.top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;max-width:860px;margin:0 auto;padding:20px 20px 12px}
.brand img{display:block;height:41px;width:auto}
.top nav{display:flex;flex-wrap:wrap;gap:4px 18px}
.top nav a{color:var(--text);text-decoration:none;padding:4px 0;border-bottom:2px solid transparent;font-weight:500}
.top nav a:hover,.top nav a[aria-current=page]{border-bottom-color:var(--brand)}
.banner{max-width:860px;margin:8px auto 0;padding:10px 14px;background:var(--brand-soft);border-left:4px solid var(--brand);border-radius:8px;font-size:14px;width:calc(100% - 40px)}
main{max-width:860px;margin:0 auto;padding:12px 20px 48px}
main.page h1{font-size:clamp(30px,6vw,44px);line-height:1.15;margin:32px 0 16px}
main.legal h1{font-size:clamp(26px,5vw,34px);line-height:1.2;margin:28px 0 8px}
h2{font-size:22px;line-height:1.3;margin:36px 0 8px;scroll-margin-top:16px}
h3{font-size:18px;margin:26px 0 6px;scroll-margin-top:16px}
h4{font-size:16px;margin:20px 0 4px}
p,li{overflow-wrap:anywhere}
li{margin:4px 0}
blockquote{margin:20px 0;padding:12px 16px;background:var(--card);border-left:4px solid var(--brand);border-radius:8px}
blockquote p{margin:0}
code{background:var(--card);padding:1px 6px;border-radius:6px;font-size:.92em}
hr{border:0;border-top:1px solid var(--line);margin:24px 0}
.table{overflow-x:auto;margin:16px 0;-webkit-overflow-scrolling:touch}
table{border-collapse:collapse;min-width:min(100%,640px);width:100%;font-size:14.5px;line-height:1.5}
th,td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
th{background:var(--card)}
mark.todo{background:var(--todo);color:var(--todo-text);padding:0 4px;border-radius:4px}
.bottom{max-width:860px;margin:0 auto;padding:24px 20px 40px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
.bottom p{margin:4px 0}
.bottom a{color:var(--muted)}
@media (max-width:560px){body{font-size:16px}.top{padding-top:14px}th,td{padding:6px 8px}}
