@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Fraunces:opsz,wght@9..144,600;9..144,700&family=Manrope:wght@400;500;600;700&display=swap');
.capsule-spark{margin:18px 0 0;padding:22px 24px;border-radius:16px;background:#f0ecfc;border:1px solid #d8cdf8}.capsule-spark .eyebrow{margin:0 0 8px}.capsule-spark h2{font:700 23px/1.15 Fraunces,serif;margin:0 0 8px}.capsule-spark p{margin:0;color:#514b65}.capsule-spark .spark-joke{margin-top:10px;color:var(--violet);font-style:italic}
.email-button{display:block;width:100%;padding:7px 9px;margin:9px 0 0;background:#fff;color:var(--violet);border:1px solid #c9bbee;font-size:12px}.email-button:hover{background:#f8f5ff}
.finish-button,.download-button{width:100%;margin-top:10px;background:transparent;border:1px solid #aaa0c6;color:#fff}.finish-button:hover,.download-button:hover{background:#413a58}.download-button{background:#fff;color:var(--violet);border-color:#fff}.download-button:hover{background:#eee9ff}
label small{display:block;margin-top:5px;color:var(--muted);font-size:11px;font-weight:500}
.outline-button{background:transparent;color:var(--violet);border:1px solid var(--violet)}.outline-button:hover{background:#f0ecfc}.camera-actions{display:flex;align-items:center;gap:12px;margin:4px 0 13px}.camera-actions button{margin:0}.camera-actions span{font-size:12px;color:var(--muted)}.camera-panel{overflow:hidden;margin:12px 0 16px;border-radius:12px;background:#171522}.camera-panel video,.camera-panel img{display:block;width:100%;max-height:340px;object-fit:cover}.camera-controls{display:flex;gap:9px;align-items:center;padding:10px 13px;flex-wrap:wrap}.camera-controls button{margin:0}.camera-controls .text-button{margin-left:auto}@media(max-width:720px){.camera-actions{align-items:flex-start;flex-direction:column;gap:5px}.camera-controls .text-button{margin-left:0}}
:root{--ink:#252139;--muted:#706b80;--cream:#fcfaf5;--paper:#fffefa;--lav:#e8e0ff;--violet:#6850af;--orange:#ff9069;--line:#e7e1d7;--green:#307c66}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.55 Manrope,Arial,sans-serif}header{max-width:1160px;margin:auto;padding:25px 28px;display:flex;justify-content:space-between;align-items:center}.brand{font-family:Fraunces,serif;font-size:22px;color:var(--ink);text-decoration:none}.tagline,.eyebrow{font:11px/1.2 'DM Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--violet)}main{max-width:1100px;margin:auto;padding:40px 28px 80px}.hero{padding:55px 0}.hero h1,.capsule-heading h1{font:700 clamp(42px,7vw,76px)/.98 Fraunces,serif;letter-spacing:-.045em;margin:14px 0 20px;max-width:760px}.lede{max-width:650px;font-size:18px;color:var(--muted);margin:0 0 36px}.grid{display:grid;gap:22px}.two{grid-template-columns:1fr 1fr;max-width:850px}.main-grid{grid-template-columns:minmax(0,1.6fr) minmax(260px,.8fr);align-items:start}.card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:25px;box-shadow:0 8px 30px #302b4010}.muted-card{background:#f5f0ff}.card h2,.section h2{font:700 25px/1.15 Fraunces,serif;margin:0 0 18px}label{display:block;margin:13px 0;color:#4a4557;font-size:13px;font-weight:700}input,textarea{display:block;width:100%;margin-top:6px;padding:11px 12px;border-radius:9px;border:1px solid #d9d2c8;background:white;color:var(--ink);font:15px Manrope,sans-serif}textarea{min-height:80px;resize:vertical}.date-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}button{cursor:pointer;border:0;border-radius:9px;background:var(--violet);color:white;padding:12px 16px;font:700 14px Manrope,sans-serif;margin-top:12px;transition:transform .15s,background .15s}button:hover{transform:translateY(-1px);background:#554095}.secondary{background:var(--orange)}.secondary:hover{background:#e47550}.capsule-heading{display:flex;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);padding:30px 0 28px;margin-bottom:28px}.capsule-heading h1{font-size:clamp(38px,5vw,59px);margin:8px 0 14px}.code-box{min-width:145px;align-self:flex-start;text-align:center;background:var(--lav);padding:16px;border-radius:13px}.code-box span{display:block;font:10px 'DM Mono';letter-spacing:.12em}.code-box strong{display:block;font:700 24px 'DM Mono';letter-spacing:.08em;margin:4px}.text-button{background:none;color:var(--violet);padding:0;margin:3px;font-size:12px}.text-button:hover{background:none}.section{margin-top:30px}.section-title{display:flex;align-items:baseline;justify-content:space-between}.section-title span{font:12px 'DM Mono';color:var(--muted)}.discoveries{display:grid;gap:13px}.discovery{background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:17px;display:flex;gap:16px}.discovery img{width:105px;height:105px;object-fit:cover;border-radius:9px}.discovery h3{font:700 19px Fraunces,serif;margin:0 0 3px}.discovery p{color:var(--muted);margin:5px 0}.byline{font:11px 'DM Mono';color:var(--violet)}.empty{border:1px dashed #cfc6bc;border-radius:12px;padding:28px;text-align:center;color:var(--muted)}.leaderboard{list-style:none;padding:0;margin:0;counter-reset:rank}.leaderboard li{counter-increment:rank;display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.leaderboard li:last-child{border:0}.leaderboard li:before{content:counter(rank);font:12px 'DM Mono';color:var(--violet)}.person-name{font-weight:700}.score{font:12px 'DM Mono';color:var(--muted)}.badges{grid-column:2/-1;display:flex;gap:5px;flex-wrap:wrap}.badge{background:#e3f4eb;color:var(--green);border-radius:20px;padding:3px 7px;font-size:10px;font-weight:700}.summary-card{margin-top:20px;background:#28233c;color:#fff}.summary-card h2{color:#fff}.summary-card p{color:#d7d1e4}.summary-card button{width:100%}#notice{min-height:0;margin-bottom:13px;color:var(--green);font-weight:700}@media(max-width:720px){header{padding:18px}.tagline{display:none}main{padding:15px 18px 50px}.hero{padding:35px 0}.two,.main-grid{grid-template-columns:1fr}.capsule-heading{display:block}.code-box{margin-top:20px}.discovery img{width:75px;height:75px}}
