:root{color-scheme:light;--page:#F7F9FC;--paper:#fff;--ink:#17324D;--muted:#405365;--line:#CED7E1;--accent:#1465A4}
html[data-theme=dark]{color-scheme:dark;--page:#101B29;--paper:#182B3D;--ink:#EFF4FA;--muted:#C2D0DD;--line:#4B6379;--accent:#9ACFFF}
*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--ink);font:1.0625rem/1.7 -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}a{color:var(--accent);text-underline-offset:.2em}button,select{font:inherit;padding:9px 12px;border:1px solid var(--line);border-radius:4px;background:var(--paper);color:var(--ink);min-height:44px}button{cursor:pointer}a,button,select{touch-action:manipulation}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.skip-link{position:absolute;left:12px;top:-100px;background:var(--paper);padding:12px;z-index:2}.skip-link:focus{top:12px}
.letter-tools{width:min(940px,100%);margin:0 auto;padding:20px 24px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.9rem}.letter-tools nav,.letter-controls{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px}.letter-tools nav a{padding-block:10px}.letter-controls label{display:flex;gap:8px;align-items:center;flex-wrap:wrap}main{width:min(900px,100%);padding:0 24px 40px;margin:0 auto}.formal-letter{background:var(--paper);border:1px solid var(--line);padding:40px 48px;overflow-wrap:anywhere}.letterhead{display:flex;align-items:center;gap:18px;border-bottom:2px solid var(--line);padding-bottom:24px;margin-bottom:24px}.letterhead img{flex:0 0 80px;object-fit:contain}.letterhead p{margin:0;color:var(--muted);font-size:.85rem}.letterhead .letter-brand{font-size:1.2rem;line-height:1.35;font-weight:750;color:var(--ink)}.letter-date{margin:0 0 24px;color:var(--muted);font-size:.95rem}.subject-label{text-transform:uppercase;letter-spacing:.08em;font-weight:650;font-size:.75rem;color:var(--muted);margin:0 0 5px}h1{font:600 1.65rem/1.3 Georgia,'Times New Roman',serif;margin:0 0 28px;overflow-wrap:anywhere}.letter p{margin:0 0 20px}.letter p:last-child{margin-bottom:0}.letter-signature{break-inside:avoid}.letter-controls select{max-width:100%}
@media(max-width:600px){main{padding:0 12px 24px}.formal-letter{padding:24px 20px}.letter-tools{padding:16px 20px}.letterhead{gap:12px;padding-bottom:20px}.letterhead img{width:64px;height:64px;flex-basis:64px}.letterhead .letter-brand{font-size:1.08rem}h1{font-size:1.4rem}.letter-controls{width:100%}}
@media print{@page{size:auto;margin:18mm}html,html[data-theme=dark]{color-scheme:light;--page:#fff;--paper:#fff;--ink:#000;--muted:#333;--line:#bbb;--accent:#000}body{background:#fff;color:#000;font-size:11pt;line-height:1.5}.letter-tools,.skip-link{display:none!important}main{width:100%;margin:0;padding:0}.formal-letter{padding:0;border:0;box-shadow:none}.letterhead{padding-bottom:14px;margin-bottom:18px;break-inside:avoid}.letterhead img{width:65px;height:65px;flex-basis:65px}.letter-date{margin-bottom:18px}.subject-label,h1{break-after:avoid}h1{font-size:17pt;margin-bottom:20px}.letter p{orphans:3;widows:3;margin-bottom:14px}.letter-signature{break-inside:avoid}a{color:#000;text-decoration:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
