:root{--ground:#FBFAF7;--surface:#fff;--surface-2:#F3F1EC;--ink:#14192A;--muted:#4B5468;
 --brass:#8A6D1F;--brass-ink:#FFFDF7;--brass-glow:rgba(138,109,31,.10);
 --line:rgba(20,25,42,.14);--line-soft:rgba(20,25,42,.07);--ok:#1E7A46;--warn:#9A5B12;
 --shadow:0 1px 2px rgba(20,25,42,.05),0 14px 36px -18px rgba(20,25,42,.25)}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--ground:#0D1220;--surface:#151D2C;
 --surface-2:#111827;--ink:#F3F0EA;--muted:#A6B0C2;--brass:#D8B23C;--brass-ink:#0D1220;
 --brass-glow:rgba(216,178,60,.14);--line:rgba(243,240,234,.15);--line-soft:rgba(243,240,234,.08);
 --ok:#5BD08D;--warn:#E0A94A;--shadow:0 1px 2px rgba(0,0,0,.45),0 18px 44px -20px rgba(0,0,0,.75)}}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--ground);color:var(--ink);line-height:1.7;font-size:1.06rem;
 font-family:"Karla",ui-sans-serif,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2{font-family:"Instrument Serif",Georgia,serif;font-weight:400;line-height:1.08;letter-spacing:-.012em;margin:0}
h1{font-size:clamp(2rem,1.6rem+1.6vw,2.9rem)}h2{font-size:1.5rem}
h3{font-size:1.1rem;font-weight:700;margin:0}
p{margin:0}a{color:inherit}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px;border-radius:5px}
.wrap{max-width:820px;margin-inline:auto;padding:1.5rem clamp(1.1rem,4vw,2rem) 4rem}
.wrap.wide{max-width:1180px}
.head{display:flex;align-items:center;gap:.6rem;padding-block:1.2rem;border-bottom:1px solid var(--line-soft);margin-bottom:2rem}
.head img{width:26px}.head span{font-family:"Instrument Serif",Georgia,serif;font-size:1.4rem}
.head em{color:var(--brass);font-style:italic}.head .sp{margin-left:auto;font-size:.9rem;color:var(--muted)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:clamp(1.2rem,3vw,1.8rem);box-shadow:var(--shadow)}
.stack{display:flex;flex-direction:column;gap:1rem}
.eyebrow{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.16em;color:var(--brass)}
.muted{color:var(--muted)}.small{font-size:.92rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font:inherit;font-size:.94rem;
 font-weight:800;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;padding:.8rem 1.4rem;
 border-radius:999px;border:1px solid transparent;cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s}
.btn-primary{background:var(--brass);color:var(--brass-ink)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 26px -14px var(--brass)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--brass);color:var(--brass)}
.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.btn-sm{padding:.5rem .9rem;font-size:.8rem}
input,select,textarea{width:100%;font:inherit;font-size:1rem;color:var(--ink);background:var(--ground);
 border:1px solid var(--line);border-radius:9px;padding:.62rem .8rem}
textarea{min-height:110px;resize:vertical;line-height:1.6}
label{display:block;font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.3rem}
.row{display:grid;gap:.9rem}@media(min-width:640px){.row.two{grid-template-columns:1fr 1fr}.row.three{grid-template-columns:1fr 1fr 1fr}}
.pill{display:inline-block;font-size:.74rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
 padding:.25rem .65rem;border-radius:999px;background:var(--brass-glow);color:var(--brass);border:1px solid var(--brass)}
.pill.done{background:transparent;color:var(--ok);border-color:var(--ok)}
.steps{display:flex;flex-wrap:wrap;gap:.5rem;margin:.4rem 0 0}
.st{flex:1 1 110px;padding:.6rem .7rem;border-radius:10px;border:1px solid var(--line);
 background:var(--surface-2);font-size:.82rem;font-weight:700;color:var(--muted);text-align:center}
.st.on{background:var(--brass);color:var(--brass-ink);border-color:var(--brass)}
.st.past{color:var(--ok);border-color:var(--ok)}
table{width:100%;border-collapse:collapse;font-size:.94rem}
th,td{text-align:left;padding:.6rem .5rem;border-bottom:1px solid var(--line-soft);vertical-align:top}
th{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
tr.click{cursor:pointer}tr.click:hover{background:var(--surface-2)}
.msg{padding:.8rem 1rem;border-radius:9px;background:var(--brass-glow);border:1px solid var(--brass);font-size:.94rem;display:none}
.msg.show{display:block}
audio{width:100%;margin-top:.4rem}
