.consent-panel{position:fixed;z-index:100;left:1rem;right:1rem;bottom:1rem;max-width:70rem;margin:auto;background:#fff;color:#172529;border:1px solid #ccd6d3;border-radius:.8rem;box-shadow:0 8px 40px #14232530;padding:1.25rem;display:grid;grid-template-columns:1fr auto;gap:1.5rem;align-items:center}
.consent-panel[hidden]{display:none}.consent-panel h2{font-size:1.25rem;margin:0 0 .5rem}.consent-panel p{font-size:.875rem;line-height:1.5;margin:0 0 .5rem;max-width:70ch}.consent-panel a{font-size:.875rem;text-decoration:underline}.consent-actions{display:flex;gap:.75rem;flex-wrap:wrap}.consent-actions button{font:inherit;font-size:.875rem;font-weight:650;min-height:44px;padding:.7rem 1rem;border:1px solid #172529;border-radius:.35rem;color:#172529;background:#f4f8f6;cursor:pointer}.consent-actions button:focus-visible,.consent-settings:focus-visible{outline:3px solid #357a68;outline-offset:3px}.consent-settings{font:inherit;font-size:inherit;padding:0;border:0;background:none;color:inherit;text-decoration:underline;cursor:pointer}
@media(max-width:800px){.consent-panel{grid-template-columns:1fr;gap:.8rem;max-height:80vh;overflow:auto}.consent-actions{display:grid;grid-template-columns:1fr 1fr}.consent-actions button{padding:.7rem .4rem}}
.consent-panel{font-family:var(--sans)}

.token-calculator{margin:1.5rem 0;padding:clamp(1rem,3vw,1.8rem);border:1px solid #c8c6bb;background:#eee9df;max-width:100%;color:#222624}
.token-calculator *{box-sizing:border-box}
.token-calculator h3{margin:0 0 .4rem;font-size:1.65rem}
.token-calculator label{display:grid;gap:.35rem;font:500 .86rem/1.4 Arial,sans-serif;min-width:0}
.token-calculator input,.token-calculator select{width:100%;min-width:0;padding:.7rem .65rem;border:1px solid #aaa99d;background:#faf8f1;color:#222624;font:1rem/1.3 Arial,sans-serif;border-radius:0}
.token-calculator input:focus-visible,.token-calculator select:focus-visible,.token-calculator button:focus-visible{outline:3px solid #a85231;outline-offset:3px}
.token-calculator input[aria-invalid=true]{border:2px solid #914329}
.token-calculator .token-fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem;min-width:0}
.token-calculator fieldset{min-inline-size:0;margin:0;padding:.9rem;border:1px solid #c8c6bb;display:grid;gap:.8rem}
.token-calculator legend{padding:0 .35rem;font:600 .85rem/1.4 Arial,sans-serif}
.token-calculator .token-frequency{max-width:22rem;margin:1rem 0}
.token-calculator .token-results{display:grid;grid-template-columns:1fr 1fr;gap:1rem;background:#222624;color:#f5f2e9;padding:1rem;margin:1rem 0}
.token-calculator .token-results p{margin:0;font:.85rem/1.5 Arial,sans-serif}
.token-calculator output{display:block;font:1.65rem/1.5 Georgia,serif;overflow-wrap:anywhere}
.token-calculator [data-token-error]{grid-column:1/-1;color:#f6d5be}
.token-calculator [data-token-error]:empty{display:none}
.token-calculator .token-note{font:.82rem/1.6 Arial,sans-serif;color:#555c55}
.token-calculator button{border:1px solid #222624;padding:.7rem 1rem;background:transparent;color:#222624;font:500 .85rem/1.4 Arial,sans-serif;cursor:pointer}
@media(max-width:620px){.token-calculator .token-fields,.token-calculator .token-results{grid-template-columns:1fr}.token-calculator{padding:1rem}.token-calculator output{font-size:1.4rem}}
