*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--accent: #ff2d78;--ink: #fdfcff;--dim: rgba(253, 252, 255, .55);color-scheme:dark}html,body,#app{height:100%}body{background:#08070d;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;overflow:hidden;overscroll-behavior:none;-webkit-tap-highlight-color:transparent}body:before{content:"";position:fixed;top:-30%;right:-30%;bottom:-30%;left:-30%;background:radial-gradient(circle at 50% 22%,var(--accent),transparent 58%);opacity:.4;filter:blur(40px);transition:background .5s ease;pointer-events:none;z-index:0}#app{position:relative;z-index:1;display:flex;flex-direction:column;padding:max(20px,env(safe-area-inset-top)) 20px max(20px,env(safe-area-inset-bottom));max-width:620px;margin:0 auto}.home{display:flex;flex-direction:column;height:100%;gap:18px}.wordmark{font-size:clamp(44px,15vw,76px);font-weight:900;letter-spacing:-.045em;line-height:.92;margin-top:6vh}.wordmark span{color:var(--accent)}.tagline{color:var(--dim);font-size:16px;font-weight:500;line-height:1.4;margin-bottom:4px}.packs{display:flex;flex-direction:column;gap:12px;overflow-y:auto;flex:1;padding-bottom:8px}.pack{display:flex;align-items:center;gap:14px;width:100%;padding:16px 18px;border:2px solid rgba(255,255,255,.12);border-radius:20px;background:#ffffff0a;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,background .15s,transform .1s}.pack:active{transform:scale(.985)}.pack[aria-pressed=true]{border-color:var(--pack);background:color-mix(in srgb,var(--pack) 18%,transparent)}.pack-emoji{font-size:30px;line-height:1}.pack-name{display:block;font-size:20px;font-weight:800;letter-spacing:-.02em}.pack-blurb{display:block;font-size:13px;color:var(--dim);margin-top:2px}.pack-count{margin-left:auto;font-size:12px;font-weight:700;color:var(--dim);white-space:nowrap}.adult-badge{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;background:var(--pack);color:#08070d;font-size:10px;font-weight:900;vertical-align:2px}.start{width:100%;padding:20px;border:none;border-radius:20px;background:var(--accent);color:#08070d;font:inherit;font-size:20px;font-weight:900;letter-spacing:-.01em;cursor:pointer;transition:transform .1s,opacity .15s}.start:active{transform:scale(.98)}.start:disabled{opacity:.3;cursor:default}.footnote{text-align:center;font-size:12px;color:#fdfcff4d}.play{display:flex;flex-direction:column;height:100%;gap:14px}.topbar{display:flex;align-items:center;gap:12px}.icon-btn{border:none;background:#ffffff14;color:var(--ink);font:inherit;font-size:15px;font-weight:700;padding:9px 15px;border-radius:999px;cursor:pointer}.progress{margin-left:auto;font-size:14px;font-weight:800;color:var(--dim);font-variant-numeric:tabular-nums}.bar{height:4px;border-radius:999px;background:#ffffff1a;overflow:hidden}.bar>i{display:block;height:100%;background:var(--accent);transition:width .25s ease}.card{flex:1;display:flex;flex-direction:column;gap:16px;padding:26px;border-radius:30px;border:2px solid rgba(255,255,255,.1);background:linear-gradient(160deg,#ffffff17,#ffffff05);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;will-change:transform}.card.in{animation:pop .22s ease-out}@keyframes pop{0%{opacity:0;transform:scale(.94) translateY(10px)}}.card-main{flex:1;display:flex;flex-direction:column;justify-content:center;gap:14px}.kicker{font-size:clamp(13px,3.6vw,16px);font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.q{font-size:clamp(30px,8.4vw,52px);font-weight:900;letter-spacing:-.035em;line-height:1.06;text-wrap:balance}.q.long{font-size:clamp(24px,6.4vw,40px)}.hint{font-size:13px;font-weight:600;color:#fdfcff59}.tapline{text-align:center;font-size:13px;color:#fdfcff4d}.end{display:flex;flex-direction:column;justify-content:center;height:100%;gap:10px;text-align:center}.score{font-size:clamp(88px,30vw,150px);font-weight:900;letter-spacing:-.06em;line-height:.9;color:var(--accent)}.score-label{font-size:22px;font-weight:800;letter-spacing:-.02em}.end-sub{color:var(--dim);font-size:15px;margin-bottom:22px}.end .start{margin-top:8px}.ghost{width:100%;padding:16px;border:2px solid rgba(255,255,255,.14);border-radius:20px;background:none;color:var(--ink);font:inherit;font-size:16px;font-weight:700;cursor:pointer;margin-top:10px}
