:root{--bg:#faf8f4;--fg:#2b2a27;--mu:#6b665e;--ac:#2f6a5a;--bd:#e4dfd5;--sage:#e6eee6;--sand:#f0eadf;--blush:#f4e8e3;--sky:#e5edf2}
*{box-sizing:border-box}body{margin:0;font:17px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--fg);background:var(--bg)}
header,footer{padding:14px 18px;font-size:15px}header{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;background:var(--sand);border-bottom:1px solid var(--bd)}
footer{border-top:1px solid var(--bd);margin:40px 0 70px;color:var(--mu)}.logo{font-weight:700;font-size:20px;text-decoration:none;color:var(--fg)}
main{max-width:760px;margin:0 auto;padding:18px}a{color:var(--ac)}a:focus-visible,input:focus-visible,button:focus-visible{outline:3px solid #c98a2b;outline-offset:2px}
h1{font-size:28px;line-height:1.2}h2{font-size:21px;margin-top:28px}h3{font-size:18px;margin:18px 0 4px}
.ans{font-size:19px;background:var(--sage);border-left:4px solid var(--ac);padding:12px 14px;border-radius:4px}
.by{font-size:14px;color:var(--mu);margin-top:-8px}.tldr{background:var(--sky);border-radius:6px;padding:10px 14px;margin:16px 0}.tldr ul{margin:6px 0 0;padding-left:20px}
form{display:grid;gap:10px;margin:14px 0}label{display:grid;gap:4px;font-weight:600;font-size:15px}
input{font:inherit;padding:10px;border:1px solid #8f887b;border-radius:6px;width:100%;background:#fff;color:var(--fg)}
.out{background:var(--blush);padding:12px 14px;border-radius:6px}.tw{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:15px}th{background:var(--sand)}th,td{border-bottom:1px solid var(--bd);padding:8px;text-align:left}
.src{background:var(--sand);padding:12px 14px;border-radius:6px;font-size:14px;margin:22px 0}.note{font-size:13px;color:var(--mu)}
.bc{font-size:14px;color:var(--mu)}.pv{background:#f6efd2;padding:8px 12px;border-radius:6px;font-size:14px}
.cb{position:fixed;left:0;right:0;bottom:0;background:var(--sand);border-top:1px solid var(--bd);color:var(--fg);padding:12px 16px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:14px}
.cb[hidden]{display:none}.cb button{font:inherit;padding:6px 14px;border-radius:6px;border:1px solid var(--ac);cursor:pointer;background:var(--bg);color:var(--ac)}.cb button[data-c=yes]{background:var(--ac);color:#fff}
.list{columns:2;padding-left:18px}@media(min-width:560px){.list{columns:3}}
.logo{display:inline-flex;align-items:center;gap:8px}
