:root{--bg:#FDFBF7;--card:#F6F1E7;--ink:#3B2F2A;--mute:#65574C;--line:#DCD3C1;--accent:#5E7457;--surface:#FFFFFF;--shadow:0 1px 2px rgba(59,47,42,.05),0 10px 30px rgba(59,47,42,.07);--g1:#F2E4CC;--g2:#F8EEDD;--g3:rgba(214,160,140,.30);--ts:0 1px 0 rgba(255,255,255,.8),0 0 1px rgba(255,255,255,.6);box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#211C18;--card:#2B2520;--ink:#EFE8DC;--mute:#BEB4A5;--line:#4A4136;--accent:#9DB592;--surface:#2B2520;--shadow:0 1px 2px rgba(0,0,0,.3),0 10px 30px rgba(0,0,0,.35);--g1:#3A2E1F;--g2:#2B231B;--g3:rgba(157,181,146,.16);--ts:0 1px 2px rgba(0,0,0,.6);color-scheme:dark}}
:root[data-theme="dark"]{--bg:#211C18;--card:#2B2520;--ink:#EFE8DC;--mute:#BEB4A5;--line:#4A4136;--accent:#9DB592;--surface:#2B2520;--shadow:0 1px 2px rgba(0,0,0,.3),0 10px 30px rgba(0,0,0,.35);--g1:#3A2E1F;--g2:#2B231B;--g3:rgba(157,181,146,.16);--ts:0 1px 2px rgba(0,0,0,.6);color-scheme:dark}
html{scroll-padding-top:env(safe-area-inset-top,0px);-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
body{margin:0;color:var(--ink);font:clamp(16px,.35vw + 15px,18px)/1.7 "Inter",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;text-rendering:optimizeLegibility;overflow-wrap:break-word;background-color:var(--bg);background-image:radial-gradient(720px 340px at 88% -70px,var(--g3),transparent),linear-gradient(180deg,var(--g1) 0,var(--g2) 380px,var(--bg) 780px);background-repeat:no-repeat}
main{max-width:780px;margin:0 auto;padding:36px 20px 80px}
a{color:var(--accent);text-underline-offset:3px;overflow-wrap:anywhere}
a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.brand{display:block;text-align:center;min-height:44px;line-height:44px;font-size:.82rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;text-shadow:var(--ts)}
h1,h2{font-family:"Playfair Display",Georgia,"Times New Roman",serif;font-weight:600;text-wrap:balance;line-height:1.2}
h1{font-size:clamp(2rem,6vw,2.8rem);letter-spacing:-.02em;margin:0 0 12px;text-align:center;text-shadow:var(--ts)}
h1::before{content:'';display:block;width:44px;height:3px;border-radius:2px;background:var(--accent);margin:18px auto 20px}
.updated{text-align:center;color:var(--mute);margin:0 0 34px;text-shadow:var(--ts)}
.doc{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:30px;box-shadow:var(--shadow)}
.doc h2{font-size:1.45rem;margin:38px 0 10px}
.doc h2:first-of-type{margin-top:28px}
.doc h3{font-size:1rem;font-weight:700;margin:20px 0 2px}
.doc p{margin:.75em 0;max-width:68ch;text-wrap:pretty}
.doc ul{margin:.7em 0;padding-left:22px}
.doc li{margin:.45em 0;max-width:68ch}
.doc hr{border:0;border-top:1px solid var(--line);margin:34px 0 18px}
.doc .copy{color:var(--mute);font-size:.92rem;margin:0}
footer{margin-top:56px;padding-top:20px;border-top:1px solid var(--line);text-align:center;max-width:36rem;margin-left:auto;margin-right:auto;font-size:.85rem;line-height:1.6;color:var(--mute)}
.foot-links{text-align:center;margin:4px 0 0;font-size:.85rem}
.foot-links a{display:inline-block;padding:10px 8px;font-weight:600;text-decoration:underline;text-decoration-thickness:1px}
.foot-links a:hover{text-decoration-thickness:2px}
@media (max-width:560px){.doc{padding:22px 18px}}
.lang{display:flex;justify-content:flex-end;gap:0;width:max-content;margin:0 0 6px auto;padding:3px;background:var(--surface);border:1px solid var(--line);border-radius:999px}
.lang button{font:600 .82rem "Inter",system-ui,sans-serif;min-height:34px;padding:5px 14px;border:0;border-radius:999px;background:transparent;color:var(--ink);cursor:pointer}
.lang button[aria-pressed="true"]{background:var(--accent);color:#fff}
[hidden]{display:none!important}
/* site-wide modern theme v2 */
:root{--radius:20px}
body{background-image:radial-gradient(1000px 420px at 50% -220px,color-mix(in srgb,var(--accent) 12%,transparent),transparent 70%)!important;background-color:var(--bg)}
main{max-width:760px;padding-top:28px;padding-bottom:64px}
h1{letter-spacing:-.025em}
h1::before{width:32px;height:2px;margin:10px auto 18px}
.lang{box-shadow:0 1px 2px rgba(0,0,0,.04)}
.brand{font-size:.74rem;letter-spacing:.16em;color:var(--mute);text-decoration:none;font-weight:600}
.brand:hover{color:var(--accent)}
.doc{border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,4vw,44px);box-shadow:0 1px 2px rgba(0,0,0,.03),0 24px 48px -28px rgba(59,47,42,.22)}
.doc h2{font-size:1.3rem;padding-top:26px;margin-top:30px;border-top:1px solid var(--line)}
.doc h2:first-of-type{border-top:0;padding-top:0}
.doc h3{font-size:.95rem;letter-spacing:.01em;color:var(--accent)}
.doc ul{list-style:none;padding-left:0}
.doc ul li{position:relative;padding-left:22px}
.doc ul li::before{content:'';position:absolute;left:4px;top:calc(.85em - 3px);width:6px;height:6px;border-radius:50%;background:var(--accent)}
.doc a{text-decoration-thickness:1px}
.doc hr{margin:36px 0 16px}
#result{border:1px solid var(--line)}
footer{border-top:1px solid var(--line);margin-top:56px;padding-top:24px;font-size:.82rem}
.foot-links{display:flex;flex-wrap:wrap;justify-content:center;gap:0 22px;font-size:0;margin:10px auto 0;max-width:640px}
.foot-links a{font-size:.86rem;font-weight:500;color:var(--mute);text-decoration:none;padding:8px 2px;min-height:44px;display:inline-flex;align-items:center;transition:color .15s}
.foot-links a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.foot-links a[aria-current="page"]{color:var(--accent);font-weight:600}
@media (max-width:560px){.foot-links{gap:0 16px}.doc h2{font-size:1.18rem}}
