:root{color-scheme:light;--paper:#fcf6e3;--ground:#f5f0e6;--ink:#111;--purple:#57068c;--gold:#f0d37d}
*{box-sizing:border-box}
html{min-height:100%;scroll-behavior:auto;background:var(--ground) url('/images/mascot-pattern.svg') repeat;background-size:70px 157.5px}
body{min-height:100svh;min-height:100dvh;margin:0;padding:max(32px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(32px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:transparent;color:var(--ink);font-family:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;position:relative}

a{color:var(--purple)}
a:hover{text-decoration:underline}
button,input,textarea{font:inherit}
button{cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--purple);outline-offset:3px}
[hidden]{display:none!important}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-card{max-width:768px;width:100%;margin:0 auto;background:var(--paper);text-align:center;border:2px solid var(--gold);border-radius:16px;box-shadow:0 10px 16px rgba(0,0,0,.14);overflow:hidden}
.site-header{display:flex;justify-content:center;align-items:center;padding:0;background:transparent}
.site-banner{display:block;width:100%;max-width:550px;height:200px;object-fit:contain;margin:32px auto 0;padding:0 4px}
.site-content{padding:24px;background:var(--paper)}
.intro{max-width:576px;margin:0 auto 32px;font-size:18px;line-height:1.5}
.lead-in{max-width:512px;margin:0 0 16px;padding-left:8px;text-align:left;font-size:14px}
.questions{display:grid;gap:4px;margin:0 0 16px;padding:0;list-style:none}
.question{padding:4px 8px;border-radius:2px;text-align:left}
@media(hover:hover) and (pointer:fine){.question:hover{background:#f6edd5}}
.question:active{background:#f6edd5}
.question label{display:flex;align-items:flex-start;min-height:20px;gap:16px;font-size:14px;line-height:20px;cursor:pointer}
.question input{appearance:none;flex:0 0 16px;width:16px;height:16px;margin:2px 0 0;border:1px solid var(--purple);border-radius:2px;background:var(--paper);cursor:pointer;position:relative}
.question input:checked{background:var(--purple)}
.question input:checked::after{content:"✓";position:absolute;color:var(--paper);font-size:14px;left:2px;top:-3px}
.question-text{flex:1}
.action-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:24px 0 4px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid var(--purple);border-radius:999px;color:#fff;background:var(--purple);font-family:inherit;font-size:14px;font-weight:bold;text-align:center;text-decoration:none}
.button:hover{background:#7022a0;color:#fff;text-decoration:none}
.button.secondary{background:var(--paper);color:var(--purple)}
.button.secondary:hover{background:#f3ebdc}
.site-caution{padding:16px;font-size:12px;line-height:1.45}
.site-caution p{margin:0}
.site-footer{padding:16px;border-top:1px solid #f0e9d2;font-size:12px;line-height:1.45}
.site-footer nav{display:flex;justify-content:center;gap:24px}
.site-footer a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;justify-content:center;font-size:12px}
#draft-notice{max-width:620px;margin:0 auto 20px;padding:12px 14px;border:1px solid var(--gold);background:#fff9eb;text-align:left;font-size:14px;line-height:1.4}
#draft-notice p{margin:0 0 8px}
.text-button{padding:0;border:0;background:transparent;color:var(--purple);text-decoration:underline;font-weight:bold}
.result{padding:16px 32px 36px;text-align:center}
.result h1{margin:0 0 12px;font-size:18px;color:var(--ink)}
.result-score{margin:8px 0 2px;color:var(--purple);font-size:64px;line-height:1;font-weight:bold}
.result-label{margin:4px 0 28px;color:var(--purple);font-size:14px}
.result-copy{max-width:440px;margin:0 auto;font-size:14px;line-height:1.45}
#share-status{margin:12px auto 0;font-size:14px;color:var(--purple)}
#share-fallback{display:block;width:100%;max-width:420px;min-height:65px;margin:8px auto 0;padding:8px;border:1px solid var(--purple);background:#fff;color:var(--ink);font-size:14px}
.eyebrow{margin:0 0 12px;color:var(--purple);font-size:13px;text-transform:uppercase;letter-spacing:.08em}
.privacy-page{text-align:left;padding:0 32px 32px;font-size:16px;line-height:1.55}
.privacy-page h1{font-size:30px;color:var(--purple)}
.privacy-page h2{margin-top:26px;font-size:21px}
.privacy-page p{margin:0 0 15px}
.no-js{max-width:560px;margin:0 auto 16px;font-size:14px;color:#6d2500}
.js .no-js{display:none}
@media(max-width:500px){body{padding:max(20px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.site-content{padding:20px 16px}.site-banner{height:155px;margin-top:18px}.intro{font-size:17px;margin-bottom:24px}.lead-in{margin-bottom:12px}.questions{gap:0}.question{padding:0 8px}.question label{gap:12px;min-height:44px;padding:11px 0;line-height:22px}.question input{margin-top:3px}.result{padding:16px 20px 28px}.privacy-page{padding:0 20px 28px}}
@media(max-width:350px){body{padding:max(12px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.site-content{padding:16px 12px}.site-banner{height:130px}.question label{font-size:14px}}

.result-actions{max-width:340px;margin:0 auto}
.result-actions .action-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
#share-status:empty{display:none}
.showing-result .site-caution{display:none}

.showing-result{display:flex;align-items:center;justify-content:center}
.result-actions{width:100%}

@media(forced-colors:active){.question input{appearance:auto}.question input:checked::after{content:none}}

@keyframes card-enter{from{transform:translateY(6px)}to{transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){.site-card{animation:card-enter 180ms ease-out}}
.showing-result{min-height:100svh;min-height:100dvh}

/* Question 67: the 6 and 7 bob in antiphase — one peaks while the other troughs.
   Each half-cycle eases with a sine curve; the negative delays start both digits on the baseline,
   half a cycle apart. Full cycle 500ms, ±2.5px. */
@keyframes six-seven-bob{from{transform:translateY(-2.5px)}to{transform:translateY(2.5px)}}
.six-seven [aria-hidden]{display:inline-block}
@media(prefers-reduced-motion:no-preference){
  .question:focus-within .six-seven [aria-hidden]{animation:six-seven-bob 250ms cubic-bezier(.37,0,.63,1) -125ms infinite alternate}
  .question:focus-within .six-seven [aria-hidden]:last-child{animation-delay:-375ms}
}
@media(prefers-reduced-motion:no-preference) and (hover:hover) and (pointer:fine){
  .question:hover .six-seven [aria-hidden]{animation:six-seven-bob 250ms cubic-bezier(.37,0,.63,1) -125ms infinite alternate}
  .question:hover .six-seven [aria-hidden]:last-child{animation-delay:-375ms}
}
