:root{color-scheme:light;--paper:#f3f2ed;--card:#fffefa;--ink:#222b32;--blue:#295468;--dim:#52636a;--line:#cdd7d8;--mark:#fff0bb;font-family:system-ui,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}
body{margin:0}
.shell{width:min(1080px,calc(100% - 36px));margin-inline:auto}
.top,.head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.top{height:67px;border-bottom:1px solid var(--line)}
a{color:var(--blue)}
.brand{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--ink);font-weight:820}
.brand span{color:white;background:var(--blue);border-radius:7px;padding:6px 8px}
.intro{padding:47px 0 29px}
.eyebrow{color:var(--blue);font-size:.74rem;font-weight:820;text-transform:uppercase;letter-spacing:.12em;margin:0 0 8px}
h1,h2,h3,p{margin-top:0}
h1{font-family:Georgia,serif;font-weight:normal;font-size:clamp(3rem,8.7vw,6.8rem);line-height:.91;letter-spacing:-.075em;margin-bottom:19px}
h2{font-size:clamp(1.45rem,4vw,2.16rem);letter-spacing:-.045em;margin-bottom:9px}
h3{font-size:1rem;margin:16px 0 8px}
p,li{line-height:1.53}
.intro p:last-child{max-width:55ch;color:var(--dim)}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:clamp(15px,3.5vw,30px);margin-bottom:15px}
.head{align-items:flex-start}
.inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
label{font-size:.88rem;font-weight:730}
textarea,select,button{font:inherit}
textarea,select{border:1px solid var(--line);border-radius:8px;color:var(--ink);background:#f8fbfb;padding:9px}
textarea{display:block;width:100%;resize:vertical;margin:5px 0 10px}
button{border:1px solid var(--line);border-radius:8px;padding:8px 10px;color:var(--blue);background:white;font-size:.85rem;font-weight:740;cursor:pointer}
button.primary{background:var(--blue);border-color:var(--blue);color:white}
button:disabled{opacity:.52;cursor:default}
.controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0 0 10px}
input[type=checkbox]{accent-color:var(--blue)}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
#notice,#flagSummary,.guide p:last-child{color:var(--dim);font-size:.88rem}
#notice{margin:8px 0 0}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px}
table{width:100%;min-width:460px;text-align:left;border-collapse:collapse;font-variant-numeric:tabular-nums}
td,th{padding:8px 10px;border-bottom:1px solid var(--line)}
th{background:#f1f6f6;font-size:.85rem}
#sentences,#paragraphs{padding-left:24px}
#sentences li{padding:6px 0;overflow-wrap:anywhere}
#sentences span{padding:3px 5px;background:var(--mark);border-radius:6px;font-size:.8rem;font-weight:740}
footer{padding:15px 0 23px;border-top:1px solid var(--line);color:var(--dim);font-size:.85rem}
@media(max-width:610px){.inputs{grid-template-columns:1fr}.head{flex-wrap:wrap}.intro{padding-top:33px}}
