:root{--cream:#f0eee6;--paper:#faf9f5;--paper-2:#fff;--ink:#1f1e1d;--ink-soft:#615e57;--ink-faint:#928e84;--line:#e3dfd4;--line-strong:#d6d1c4;--clay:#dc8a57;--clay-deep:#c26a33;--orange:#f0a064;--sage:#7a8471;--slate:#5c6b82;--plum:#8a6a8e;--teal:#5a8b8b;--gold:#c99a3f;--radius:14px;font-synthesis:none}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);font-family:Hanken Grotesk,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.62;-webkit-font-smoothing:antialiased;background-image:radial-gradient(1100px 700px at 88% -8%,rgba(240,160,100,.07),transparent 60%),radial-gradient(900px 600px at -5% 12%,rgba(92,107,130,.05),transparent 55%);background-attachment:fixed;min-height:100dvh}h1,h2,h3,h4{font-family:Fraunces,Georgia,serif;font-optical-sizing:auto;font-weight:540;letter-spacing:-.01em;line-height:1.12}a{color:var(--clay-deep);text-decoration:none}button{cursor:pointer}button,input,select,textarea{font-family:inherit}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes pop{0%{transform:scale(.85);opacity:0}60%{transform:scale(1.04)}to{transform:scale(1);opacity:1}}@keyframes spin{to{transform:rotate(1turn)}}.reveal{animation:rise .55s cubic-bezier(.2,.7,.2,1) both}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;font-size:15px;font-weight:600;line-height:1;padding:14px 20px;border-radius:var(--radius);border:1px solid transparent;background:var(--ink);color:#f3eee5;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease,background .15s ease,border-color .15s ease,opacity .15s ease;text-align:center;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px -16px #1f1e1d80}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn--accent{background:var(--clay);color:#fff;border-color:var(--clay)}.btn--accent:hover{background:var(--clay-deep);border-color:var(--clay-deep)}.btn--ghost{background:transparent;color:var(--ink-soft);border-color:var(--line-strong)}.btn--ghost:hover{background:var(--paper);color:var(--ink);border-color:var(--clay);box-shadow:none}.btn--dark{background:var(--ink);color:#f3eee5;border-color:var(--ink)}.btn--danger{background:transparent;color:var(--clay-deep);border-color:#c26a3359}.btn--danger:hover{background:#dc8a571a;border-color:var(--clay-deep);box-shadow:none}.btn--block{width:100%}.btn--sm{padding:9px 14px;font-size:13px;border-radius:9px}.btn--lg{padding:17px 24px;font-size:16px}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:22px}.card--pad-lg{padding:28px}.card--interactive{cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.card--interactive:hover{transform:translateY(-3px);border-color:var(--clay);box-shadow:0 22px 48px -28px #1f1e1d66}.field-label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);margin-bottom:8px}.field-label .field-label__hint{font-weight:500;text-transform:none;letter-spacing:0;color:var(--ink-faint);margin-left:6px}.field{width:100%;border:1px solid var(--line-strong);border-radius:10px;padding:13px 14px;font-size:15px;color:var(--ink);background:var(--paper-2);transition:border-color .15s ease,box-shadow .15s ease}.field::-moz-placeholder{color:var(--ink-faint)}.field::placeholder{color:var(--ink-faint)}.field:focus{outline:none;border-color:var(--clay);box-shadow:0 0 0 3px #dc8a5724}.field--textarea{resize:vertical;min-height:120px;line-height:1.5}.field-error{color:var(--clay-deep);font-size:13px;margin-top:6px}.opt{width:100%;border:1.5px solid var(--line-strong);background:var(--paper-2);border-radius:12px;padding:14px 15px;font-size:15px;color:var(--ink);gap:12px;cursor:pointer;text-align:left;transition:border-color .16s ease,background .16s ease,transform .16s ease,opacity .16s ease}.opt,.opt__key{display:flex;align-items:center}.opt__key{width:26px;height:26px;border-radius:7px;background:var(--cream);border:1px solid var(--line-strong);justify-content:center;font-size:12px;font-weight:700;color:var(--ink-soft);flex:0 0 auto;transition:inherit}.opt__text{flex:1;line-height:1.35}.opt:not(:disabled):hover{border-color:var(--clay);transform:translate(2px)}.opt:disabled{cursor:default}.opt--selected{border-color:var(--clay);background:#dc8a5714}.opt--correct{border-color:var(--sage);background:#7a84711f}.opt--correct .opt__key{background:var(--sage);color:#fff;border-color:var(--sage)}.opt--wrong{border-color:var(--clay);background:#dc8a571a;opacity:.9}.opt--wrong .opt__key{background:var(--clay);color:#fff;border-color:var(--clay)}.opt--dim{opacity:.5}.stack{gap:12px}.stack,.stack-sm{display:flex;flex-direction:column}.stack-sm{gap:8px}.stack-lg{display:flex;flex-direction:column;gap:20px}.row{display:flex;gap:12px;align-items:center}.row--between{justify-content:space-between}.row--wrap{flex-wrap:wrap}.grow{flex:1}.muted{color:var(--ink-soft)}.faint{color:var(--ink-faint)}.center{text-align:center}.tabnum{font-variant-numeric:tabular-nums}.kicker{display:inline-flex;align-items:center;gap:9px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--clay-deep);font-weight:600;background:#dc8a5717;border:1px solid rgba(220,138,87,.28);padding:6px 13px;border-radius:999px}.kicker__pip{width:7px;height:7px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px #f0a0642e}.title-serif{font-family:Fraunces,Georgia,serif}.title-serif em{font-style:italic;color:var(--clay);font-weight:500}.pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:4px 10px;border-radius:999px}.pill--draft{background:#615e571f;color:var(--ink-soft)}.pill--published{background:#7a847129;color:#566049}.pill--demo{background:#5c6b821a;color:var(--slate)}.pill--clay{background:#dc8a5724;color:var(--clay-deep)}body.is-locked{overflow:hidden}
