@import"https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:ital,wght@0,400;0,700;1,400&family=Creepster&family=Lilita+One&display=swap";:root,[data-theme=night]{--surface-base: #1a0d1c;--surface-card: #2a1530;--surface-raised: #3a1f43;--surface-sunken: #12081a;--surface-overlay: #0a040bcc;--line: #9a7aa6;--line-soft: #4a2d52;--ink-outline: #0a040b;--text: #fbefd9;--text-muted: #cbb6d8;--text-disabled: #a08cab;--violet: #a46cf5;--on-violet: #1a0d1c;--violet-text: #c4a0ff;--orange: #ff8a1f;--on-orange: #1a0d1c;--teal: #2e5650;--teal-text: #7fd6c0;--gold: #f6c453;--on-gold: #1a0d1c;--pewter: #a3a8b0;--success: #5fe0c8;--on-success: #0f2622;--error: #ff7a8a;--on-error: #2a0a10;--warning: var(--gold);--action-send: #38c9a0;--on-action-send: #0d1f1a;--focus-ring: var(--gold);--rb-red: #ff5a5f;--rb-orange: #ff9f1c;--rb-yellow: #ffd23f;--rb-green: #4ade80;--rb-blue: #3fa7ff;--rb-violet: #b47cff;--tier-unlit: #806b8c;--tier-yellow: var(--rb-yellow);--tier-green: var(--rb-green);--tier-rainbow: var(--rb-violet);--shadow-sticker-sm: 0 3px 0 #0a040b;--shadow-sticker-md: 0 5px 0 #0a040b;--shadow-sticker-lg: 0 8px 0 #0a040b;--shadow-glow-gold: 0 0 24px rgba(246, 196, 83, .55);--shadow-glow-violet: 0 0 28px rgba(164, 108, 245, .6);--shadow-title: 0 4px 0 #0a040b}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--radius-pill: 999px;--outline-thin: 2px;--outline-regular: 3px;--outline-heavy: 4px;--size-tap: 48px;--size-button: 56px;--size-header: 60px;--size-track: 22px;--size-sticker: 96px;--size-sticker-toast: 76px;--size-sticker-lg: 160px;--z-header: 10;--z-sheet: 40;--z-toast: 60;--z-dialog: 80;--z-levelup: 90;--font-display: "Lilita One", "Arial Black", system-ui, sans-serif;--font-body: "Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", sans-serif;--font-shout: Creepster, "Lilita One", system-ui, sans-serif}.display-xl{font-family:var(--font-display);font-size:48px;line-height:52px;font-weight:400;letter-spacing:.01em}.display-l{font-family:var(--font-display);font-size:36px;line-height:40px;font-weight:400;letter-spacing:.01em}.title{font-family:var(--font-display);font-size:28px;line-height:32px;font-weight:400;letter-spacing:.01em}.heading{font-family:var(--font-display);font-size:22px;line-height:28px;font-weight:400;letter-spacing:.01em}.button{font-family:var(--font-display);font-size:20px;line-height:24px;font-weight:400;letter-spacing:.02em}.body-l{font-family:var(--font-body);font-size:18px;line-height:27px;font-weight:400}.body{font-family:var(--font-body);font-size:16px;line-height:24px;font-weight:400}.body-strong{font-family:var(--font-body);font-size:16px;line-height:24px;font-weight:700}.body-s{font-family:var(--font-body);font-size:15px;line-height:22px;font-weight:400}.caption{font-family:var(--font-body);font-size:14px;line-height:20px;font-weight:400;letter-spacing:.01em}.label{font-family:var(--font-body);font-size:13px;line-height:16px;font-weight:700;letter-spacing:.08em}.shout{font-family:var(--font-shout);font-size:44px;line-height:44px;font-weight:400;letter-spacing:.02em}:root{--color-surface-base: var(--surface-base);--color-surface-card: var(--surface-card);--color-surface-raised: var(--surface-raised);--color-surface-sunken: var(--surface-sunken);--color-surface-overlay: var(--surface-overlay);--color-brand-violet: var(--violet);--color-brand-violet-text: var(--violet-text);--color-brand-orange: var(--orange);--color-brand-teal: var(--teal);--color-brand-teal-text: var(--teal-text);--color-brand-gold: var(--gold);--color-brand-pewter: var(--pewter);--color-text-primary: var(--text);--color-text-secondary: var(--text-muted);--color-text-disabled: var(--text-disabled);--color-text-on-orange: var(--on-orange);--color-text-on-gold: var(--on-gold);--color-text-on-violet: var(--on-violet);--color-text-on-success: var(--on-success);--color-text-on-error: var(--on-error);--color-text-on-send: var(--on-action-send);--color-border-control: var(--line);--color-border-subtle: var(--line-soft);--color-ink: var(--ink-outline);--color-focus-ring: var(--focus-ring);--color-success: var(--success);--color-error: var(--error);--color-warning: var(--warning);--color-action-send: var(--action-send);--rainbow-red: var(--rb-red);--rainbow-orange: var(--rb-orange);--rainbow-yellow: var(--rb-yellow);--rainbow-green: var(--rb-green);--rainbow-blue: var(--rb-blue);--rainbow-violet: var(--rb-violet);--progress-track: var(--surface-sunken);--progress-tier-unlit: var(--tier-unlit);--progress-tier-yellow: var(--tier-yellow);--progress-tier-green: var(--tier-green);--progress-tier-rainbow: var(--tier-rainbow);--progress-fill-unlit: var(--tier-unlit);--progress-fill-yellow: linear-gradient(90deg, var(--rb-red), var(--rb-orange) 55%, var(--rb-yellow));--progress-fill-green: linear-gradient(90deg, var(--rb-red), var(--rb-orange) 30%, var(--rb-yellow) 62%, var(--rb-green));--progress-fill-rainbow: linear-gradient(90deg, var(--rb-red), var(--rb-orange), var(--rb-yellow), var(--rb-green), var(--rb-blue), var(--rb-violet), var(--rb-red));--fill-unlit: var(--progress-fill-unlit);--fill-yellow: var(--progress-fill-yellow);--fill-green: var(--progress-fill-green);--fill-rainbow: var(--progress-fill-rainbow);--type-display-xl: 400 48px/52px var(--font-display);--tracking-display-xl: .01em;--type-display-l: 400 36px/40px var(--font-display);--tracking-display-l: .01em;--type-title: 400 28px/32px var(--font-display);--tracking-title: .01em;--type-heading: 400 22px/28px var(--font-display);--tracking-heading: .01em;--type-button: 400 20px/24px var(--font-display);--tracking-button: .02em;--type-body-l: 400 18px/27px var(--font-body);--tracking-body-l: 0;--type-body: 400 16px/24px var(--font-body);--tracking-body: 0;--type-body-strong: 700 16px/24px var(--font-body);--tracking-body-strong: 0;--type-body-sm: 400 15px/22px var(--font-body);--tracking-body-sm: 0;--type-label: 700 13px/16px var(--font-body);--tracking-label: .08em;--type-caption: 400 14px/20px var(--font-body);--tracking-caption: .01em;--type-shout: 400 44px/44px var(--font-shout);--tracking-shout: .02em;--type-input-size: 18px;--motion-tap: 90ms;--motion-quick: .16s;--motion-toast: .22s;--motion-toast-hold: 2.4s;--motion-sheet-open: .28s;--motion-sheet-close: .2s;--motion-sheet: var(--motion-sheet-open);--motion-fill: .6s;--motion-levelup: .9s;--motion-shake: .36s;--motion-shimmer-yellow: 5s;--motion-shimmer-green: 3.2s;--motion-flow-rainbow: 3.2s;--motion-shimmer: 3.2s;--ease-pop: cubic-bezier(.34, 1.56, .64, 1);--ease-out: cubic-bezier(.2, .8, .2, 1);--ease-in: cubic-bezier(.5, 0, .75, 0)}@media(prefers-reduced-motion:reduce){:root{--motion-fill: 0ms;--motion-levelup: 0ms;--motion-shake: 0ms;--motion-sheet-open: 0ms;--motion-sheet-close: 0ms;--motion-toast: 0ms;--ease-pop: linear}}*{box-sizing:border-box}.jp{font:var(--type-body);color:var(--color-text-primary);background:var(--color-surface-base);-webkit-tap-highlight-color:transparent}.jp h1,.jp h2,.jp h3,.jp h4,.jp p,.jp dl,.jp ul,.jp ol{margin:0;padding:0}.jp ul,.jp ol{list-style:none}.jp :focus-visible,.jp .is-focus{outline:var(--outline-regular) solid var(--color-focus-ring);outline-offset:2px}.jp-muted{color:var(--color-text-secondary)}.jp-icon{width:24px;height:24px;display:inline-block;flex:none;fill:none;stroke:currentColor;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round}.jp-icon--sm{width:18px;height:18px}.jp-icon--xs{width:16px;height:16px}.jp-title{font:var(--type-display-l);letter-spacing:var(--tracking-display-l);text-shadow:var(--shadow-title)}.jp-title--xl{font:var(--type-display-xl);letter-spacing:var(--tracking-display-xl)}.jp-shout{font:var(--type-shout);letter-spacing:var(--tracking-shout)}.jp-label{font:var(--type-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-text-secondary)}.jp-btn{font:var(--type-button);letter-spacing:var(--tracking-button);min-height:var(--size-button);padding:0 var(--space-6);border-radius:var(--radius-md);border:var(--outline-regular) solid var(--color-ink);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);cursor:pointer;box-shadow:var(--shadow-sticker-md);transition:transform var(--motion-tap) var(--ease-out),box-shadow var(--motion-tap) var(--ease-out);width:100%;text-decoration:none}.jp-btn:active,.jp-btn.is-pressed{transform:translateY(3px);box-shadow:var(--shadow-sticker-sm)}.jp-btn--primary{background:var(--color-brand-orange);color:var(--color-text-on-orange)}.jp-btn--portal{background:var(--color-brand-violet);color:var(--color-text-on-violet)}.jp-btn--send{background:var(--color-action-send);color:var(--color-text-on-send)}.jp-btn--secondary{background:var(--color-surface-card);color:var(--color-text-primary);border:var(--outline-thin) solid var(--color-border-control);box-shadow:var(--shadow-sticker-sm);min-height:var(--size-tap)}.jp-btn--secondary:active,.jp-btn--secondary.is-pressed{background:var(--color-surface-raised);transform:translateY(2px);box-shadow:none}.jp-btn--link{background:none;border-color:transparent;box-shadow:none;color:var(--color-brand-violet-text);font:var(--type-body-strong);min-height:var(--size-tap);width:auto;padding:0 var(--space-3);text-decoration:underline;text-underline-offset:3px}.jp-btn--link:active,.jp-btn--link.is-pressed{transform:none;box-shadow:none;color:var(--color-text-primary)}.jp-btn:disabled,.jp-btn.is-disabled{background:var(--color-surface-raised);color:var(--color-text-disabled);border:var(--outline-thin) dashed var(--color-border-control);box-shadow:none;cursor:not-allowed;transform:none}.jp-spin{width:20px;height:20px;border-radius:50%;border:3px solid currentColor;border-right-color:transparent;animation:jp-spin .8s linear infinite;flex:none}@keyframes jp-spin{to{transform:rotate(360deg)}}.jp-field{display:flex;flex-direction:column;gap:var(--space-2)}.jp-input{font:var(--type-body);font-size:var(--type-input-size);min-height:var(--size-tap);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:var(--outline-thin) solid var(--color-border-control);background:var(--color-surface-sunken);color:var(--color-text-primary);width:100%}.jp-input::placeholder{color:var(--color-text-secondary);opacity:1}.jp-input:focus{outline:var(--outline-regular) solid var(--color-focus-ring);outline-offset:2px}.jp-input:disabled{color:var(--color-text-disabled);border-style:dashed}textarea.jp-input{min-height:96px;resize:vertical;line-height:26px}.jp-help{font:var(--type-body-sm);color:var(--color-text-secondary);display:flex;align-items:flex-start;gap:var(--space-1)}.jp-help .jp-icon{width:18px;height:18px;margin-top:2px}.jp-field.is-error .jp-input{border:var(--outline-regular) solid var(--color-error)}.jp-field.is-ok .jp-input{border:var(--outline-regular) solid var(--color-success)}.jp-field.is-error .jp-help{color:var(--color-error);font-weight:700}.jp-field.is-ok .jp-help{color:var(--color-success);font-weight:700}.jp-field.is-checking .jp-help{color:var(--color-text-primary)}.jp-input-wrap{position:relative}.jp-input-wrap .jp-input{padding-right:56px}.jp-adorn{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:var(--size-tap);height:var(--size-tap);display:grid;place-items:center;color:var(--color-text-secondary);background:none;border:0;border-radius:var(--radius-sm)}.jp-adorn--ok{color:var(--color-success)}.jp-adorn--bad{color:var(--color-error)}.jp-count{font:var(--type-caption);color:var(--color-text-secondary);margin-left:auto;white-space:nowrap}.jp-pin{display:flex;gap:var(--space-3);align-items:center}.jp-pin__box{width:56px;height:64px;border-radius:var(--radius-sm);border:var(--outline-thin) solid var(--color-border-control);background:var(--color-surface-sunken);display:grid;place-items:center;font:400 28px/1 var(--font-display);color:var(--color-text-primary)}.jp-pin__box.is-active{outline:var(--outline-regular) solid var(--color-focus-ring);outline-offset:2px}.jp-pin__box.is-filled-dot:after{content:"";width:14px;height:14px;border-radius:50%;background:var(--color-text-primary)}.jp-pin__eye{width:var(--size-tap);height:var(--size-tap);border-radius:50%;border:var(--outline-thin) solid var(--color-border-control);background:var(--color-surface-card);color:var(--color-text-primary);display:grid;place-items:center}.jp-chip{display:inline-flex;align-items:center;gap:var(--space-1);min-height:30px;padding:0 var(--space-3);border-radius:var(--radius-pill);font:var(--type-label);letter-spacing:.06em;text-transform:uppercase;border:var(--outline-thin) solid var(--color-border-control);color:var(--color-text-secondary);white-space:nowrap}.jp-points{display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--size-tap);padding:0 var(--space-3) 0 var(--space-2);border-radius:var(--radius-pill);background:var(--color-brand-orange);color:var(--color-text-on-orange);font:400 20px/1 var(--font-display);border:var(--outline-regular) solid var(--color-ink);box-shadow:var(--shadow-sticker-sm)}.jp-points small{font:var(--type-label);letter-spacing:.06em}.jp-points.is-bump{animation:jp-bump var(--motion-toast) var(--ease-pop)}@keyframes jp-bump{50%{transform:scale(1.18)}}.jp-zone{background:var(--color-surface-card);border-radius:var(--radius-lg);border:var(--outline-thin) solid var(--color-border-subtle);overflow:hidden}.jp-zone__head{width:100%;display:grid;grid-template-columns:44px 1fr auto 24px;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4) var(--space-2);background:none;border:0;color:inherit;font:inherit;text-align:left;min-height:64px;cursor:pointer}.jp-zone__icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--color-surface-sunken);color:var(--color-brand-teal-text);border:var(--outline-thin) solid var(--color-border-subtle)}.jp-zone__name{font:var(--type-heading);letter-spacing:var(--tracking-heading)}.jp-zone__tier{font:var(--type-body-strong);display:inline-flex;align-items:center;gap:6px;color:var(--color-text-secondary);white-space:nowrap}.jp-zone__dot{width:14px;height:14px;border-radius:50%;border:2px dashed var(--progress-tier-unlit);flex:none}.jp-zone[data-tier=yellow] .jp-zone__dot{background:var(--progress-tier-yellow);border:2px solid var(--color-ink)}.jp-zone[data-tier=green] .jp-zone__dot{background:var(--progress-tier-green);border:2px solid var(--color-ink)}.jp-zone[data-tier=rainbow] .jp-zone__dot{background:conic-gradient(var(--rainbow-red),var(--rainbow-orange),var(--rainbow-yellow),var(--rainbow-green),var(--rainbow-blue),var(--rainbow-violet),var(--rainbow-red));border:2px solid var(--color-ink)}.jp-zone:not([data-tier=unlit]) .jp-zone__tier{color:var(--color-text-primary)}.jp-zone__chev{color:var(--color-text-secondary);transition:transform var(--motion-quick) var(--ease-out)}.jp-zone.is-open .jp-zone__chev{transform:rotate(180deg)}.jp-zone__bar{padding:6px var(--space-4) var(--space-5)}.jp-track{position:relative;height:var(--size-track);border-radius:var(--radius-pill);background:var(--progress-track);border:var(--outline-heavy) solid var(--color-ink);box-shadow:0 0 0 2px var(--color-border-subtle);margin-right:12px}.jp-zone[data-tier=unlit] .jp-track{border:var(--outline-thin) dashed var(--progress-tier-unlit);box-shadow:none}.jp-track__fill{position:absolute;inset:0 auto 0 0;border-radius:var(--radius-pill);background:var(--progress-fill-unlit);transition:width var(--motion-fill) var(--ease-pop)}.jp-zone[data-tier=yellow] .jp-track__fill{background:var(--progress-fill-yellow);background-size:140% 100%;animation:jp-shimmer var(--motion-shimmer-yellow) ease-in-out infinite}.jp-zone[data-tier=green] .jp-track__fill{background:var(--progress-fill-green);background-size:160% 100%;animation:jp-shimmer var(--motion-shimmer-green) ease-in-out infinite}.jp-zone[data-tier=rainbow] .jp-track__fill{background:var(--progress-fill-rainbow);background-size:200% 100%;animation:jp-flow var(--motion-flow-rainbow) linear infinite;box-shadow:var(--shadow-glow-gold)}@keyframes jp-shimmer{0%,to{background-position:0% 0;filter:brightness(1)}50%{background-position:100% 0;filter:brightness(1.15)}}@keyframes jp-flow{to{background-position:200% 0}}.jp-track__notches{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(9,1fr);pointer-events:none}.jp-track__notches i{border-right:2px solid var(--color-ink)}.jp-zone[data-tier=unlit] .jp-track__notches i{border-right-color:var(--color-surface-card)}.jp-track__notches i:last-child{border-right:0}.jp-bp{position:absolute;top:50%;width:32px;height:32px;margin:-16px 0 0 -16px;border-radius:50%;display:grid;place-items:center;background:var(--color-surface-card);color:var(--color-brand-pewter);border:var(--outline-regular) solid var(--color-brand-pewter)}.jp-bp .jp-icon{width:16px;height:16px}.jp-bp--5{left:calc(5 / 9 * 100%)}.jp-bp--7{left:calc(7 / 9 * 100%)}.jp-bp--9{left:100%}.jp-bp.is-lit{background:var(--color-brand-gold);color:var(--color-text-on-gold);border-color:var(--color-ink);box-shadow:var(--shadow-glow-gold)}.jp-bp.is-lit .jp-icon{stroke-width:2.75}.jp-spark{position:absolute;width:14px;height:14px;color:#fff8e6;animation:jp-twinkle 1.8s ease-in-out infinite;pointer-events:none}.jp-spark svg{width:100%;height:100%;fill:currentColor;stroke:none}@keyframes jp-twinkle{0%,to{transform:scale(.4) rotate(0);opacity:.2}50%{transform:scale(1) rotate(45deg);opacity:1}}.jp-zone__body{border-top:2px solid var(--color-border-subtle);padding:var(--space-3) var(--space-4) var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);background:var(--color-surface-base)}.jp-reward{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-brand-teal);color:var(--color-text-primary);border:var(--outline-thin) solid var(--color-ink);box-shadow:var(--shadow-sticker-sm)}.jp-reward .jp-icon{color:var(--color-brand-gold);margin-top:2px}.jp-reward strong{display:block;font:var(--type-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-brand-gold);margin-bottom:2px}.jp-reward.is-locked{background:var(--color-surface-card);border:var(--outline-thin) dashed var(--color-border-control);color:var(--color-text-secondary);box-shadow:none}.jp-reward.is-locked .jp-icon,.jp-reward.is-locked strong{color:var(--color-brand-pewter)}.jp-task{display:grid;grid-template-columns:32px 1fr auto;gap:var(--space-3);align-items:center;min-height:64px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-card);border:var(--outline-thin) solid var(--color-border-subtle);color:inherit;font:inherit;text-align:left;width:100%;cursor:pointer;transition:transform var(--motion-tap) var(--ease-out)}.jp-task:active,.jp-task.is-pressed{background:var(--color-surface-raised);transform:scale(.98)}.jp-task__check{width:32px;height:32px;border-radius:50%;border:var(--outline-thin) solid var(--color-border-control);display:grid;place-items:center;color:transparent}.jp-task.is-done .jp-task__check{background:var(--color-success);color:var(--color-text-on-success);border-color:var(--color-ink)}.jp-task__title{font:var(--type-body-strong);display:block}.jp-task__meta{font:var(--type-caption);color:var(--color-text-secondary);display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center}.jp-task__meta .is-miss{color:var(--color-error);font-weight:700}.jp-task__meta .is-hint{color:var(--color-brand-gold);font-weight:700;display:inline-flex;gap:2px;align-items:center}.jp-task__meta .is-ok{color:var(--color-success);font-weight:700;display:inline-flex;gap:2px;align-items:center}.jp-task__pts{font:400 20px/1 var(--font-display);color:var(--color-brand-orange);white-space:nowrap;text-align:right}.jp-task__pts small{display:block;font:var(--type-label);letter-spacing:.04em;color:var(--color-text-secondary);margin-top:2px}.jp-task.is-done .jp-task__pts{color:var(--color-success)}.jp-sheet{background:var(--color-surface-card);border-radius:var(--radius-xl) var(--radius-xl) 0 0;border-top:var(--outline-heavy) solid var(--color-brand-violet);padding:var(--space-3) var(--space-5) var(--space-6);box-shadow:0 -8px 0 var(--color-ink);display:flex;flex-direction:column;gap:var(--space-4);animation:jp-sheet-in var(--motion-sheet-open) var(--ease-out)}.jp-sheet__grab{width:44px;height:5px;border-radius:3px;background:var(--color-border-control);margin:0 auto}.jp-sheet__top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3)}.jp-sheet h2{font:var(--type-title);letter-spacing:var(--tracking-title)}.jp-sheet__prompt{font:var(--type-body-l)}.jp-code{font:400 20px/1 var(--font-display);letter-spacing:.08em;background:var(--color-surface-sunken);border:var(--outline-thin) dashed var(--color-border-control);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);color:var(--color-brand-gold)}@keyframes jp-sheet-in{0%{transform:translateY(40px);opacity:0}}.jp-close{width:var(--size-tap);height:var(--size-tap);flex:none;border-radius:50%;border:var(--outline-thin) solid var(--color-border-control);background:transparent;color:var(--color-text-primary);display:grid;place-items:center}.jp-guesses{display:flex;gap:var(--space-2);flex-wrap:wrap}.jp-guess{font:var(--type-caption);padding:2px var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--color-error);color:var(--color-error);display:inline-flex;gap:4px;align-items:center}.jp-hint{border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);display:flex;gap:var(--space-3);align-items:center;min-height:56px;width:100%;text-align:left}.jp-hint.is-locked{border:var(--outline-thin) dashed var(--color-border-control);color:var(--color-text-secondary);background:transparent}.jp-hint.is-locked .jp-icon{color:var(--color-brand-pewter)}.jp-hint.is-available{background:var(--color-brand-gold);color:var(--color-text-on-gold);border:var(--outline-regular) solid var(--color-ink);box-shadow:var(--shadow-sticker-md);font:400 20px/24px var(--font-display);animation:jp-wiggle 2.4s ease-in-out infinite;cursor:pointer}.jp-hint.is-available small{display:block;font:var(--type-body-sm);font-weight:700}.jp-hint.is-revealed{background:var(--color-brand-teal);color:var(--color-text-primary);border:var(--outline-thin) solid var(--color-ink);align-items:flex-start}.jp-hint.is-revealed .jp-icon{color:var(--color-brand-gold)}.jp-hint.is-revealed strong{display:block;font:var(--type-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-brand-gold)}@keyframes jp-wiggle{0%,80%,to{transform:rotate(0)}85%{transform:rotate(-1.5deg)}90%{transform:rotate(1.5deg)}95%{transform:rotate(-.5deg)}}.jp-sticker{width:var(--size-sticker);height:var(--size-sticker);flex:none;border-radius:50%;background:var(--color-text-primary);border:var(--outline-heavy) solid var(--color-ink);display:grid;place-items:center;overflow:hidden;box-shadow:var(--shadow-sticker-sm)}.jp-sticker svg{width:80%;height:80%;margin-top:18%}.jp-sticker--hero{color:var(--color-brand-violet)}.jp-sticker--villain{color:var(--color-brand-teal);background:#d9e9e4}.jp-sticker img{width:100%;height:100%;object-fit:contain}.jp-sticker--lg{width:var(--size-sticker-lg);height:var(--size-sticker-lg)}.jp-toast{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4) var(--space-3) var(--space-3);border-radius:var(--radius-lg);border:var(--outline-regular) solid var(--color-ink);box-shadow:var(--shadow-sticker-md);animation:jp-pop var(--motion-toast) var(--ease-pop)}.jp-toast .jp-sticker{width:var(--size-sticker-toast);height:var(--size-sticker-toast);margin:-20px 0 -20px -12px;transform:rotate(-6deg)}.jp-toast__line{font:var(--type-heading)}.jp-toast__sub{font:var(--type-body-strong);font-size:15px;display:flex;align-items:center;gap:var(--space-1)}.jp-toast--solve{background:var(--color-success);color:var(--color-text-on-success)}.jp-toast--wrong{background:var(--color-surface-raised);color:var(--color-text-primary);border-color:var(--color-error);animation:jp-pop var(--motion-toast) var(--ease-pop),jp-shake var(--motion-shake) 80ms ease-in-out}.jp-toast--wrong .jp-sticker{transform:rotate(5deg)}.jp-toast--wrong .jp-toast__sub{color:var(--color-error)}.jp-toast--wrong .jp-shout{font-size:34px;line-height:34px;color:var(--color-brand-teal-text)}@keyframes jp-pop{0%{transform:scale(.6) translateY(16px);opacity:0}}@keyframes jp-shake{20%{transform:translate(-8px)}40%{transform:translate(7px)}60%{transform:translate(-5px)}80%{transform:translate(3px)}}.jp-levelup{position:relative;border-radius:var(--radius-xl);padding:var(--space-8) var(--space-5) var(--space-6);text-align:center;background:radial-gradient(circle at 50% 28%,var(--color-brand-violet),var(--color-surface-card) 62%);border:var(--outline-heavy) solid var(--color-ink);box-shadow:var(--shadow-sticker-lg),var(--shadow-glow-violet);display:flex;flex-direction:column;align-items:center;gap:var(--space-3);overflow:hidden;animation:jp-burst var(--motion-levelup) var(--ease-pop)}.jp-levelup:before{content:"";position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;background:repeating-conic-gradient(from 0deg,rgba(246,196,83,.16) 0 10deg,transparent 10deg 24deg);animation:jp-rays 14s linear infinite;z-index:0}.jp-levelup>*{position:relative;z-index:1}.jp-levelup__tier{font:var(--type-shout);letter-spacing:var(--tracking-shout);color:var(--rainbow-yellow);text-shadow:var(--shadow-title)}.jp-levelup h2{font:var(--type-display-l);text-shadow:var(--shadow-title)}.jp-levelup p{font:var(--type-body-l)}.jp-levelup .jp-reward{text-align:left;width:100%}.jp-levelup[data-tier=yellow]{padding:var(--space-6) var(--space-5) var(--space-5)}.jp-levelup[data-tier=yellow]:before{opacity:.5}.jp-levelup[data-tier=green] .jp-levelup__tier{color:var(--rainbow-green);font-size:52px;line-height:52px}.jp-levelup[data-tier=rainbow]{padding:var(--space-10) var(--space-5) var(--space-6);box-shadow:var(--shadow-sticker-lg),var(--shadow-glow-gold),0 0 0 6px var(--rainbow-yellow)}.jp-levelup[data-tier=rainbow]:before{background:repeating-conic-gradient(from 0deg,rgba(255,90,95,.22) 0 8deg,rgba(255,210,63,.22) 8deg 16deg,rgba(74,222,128,.22) 16deg 24deg,rgba(63,167,255,.22) 24deg 32deg,transparent 32deg 40deg);animation-duration:9s}.jp-levelup[data-tier=rainbow] .jp-levelup__tier{font-size:60px;line-height:60px;background:var(--progress-fill-rainbow);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;animation:jp-flow var(--motion-flow-rainbow) linear infinite;filter:drop-shadow(0 4px 0 var(--color-ink))}@keyframes jp-burst{0%{transform:scale(.3) rotate(-8deg);opacity:0}60%{transform:scale(1.06) rotate(1deg);opacity:1}}@keyframes jp-rays{to{transform:rotate(360deg)}}.jp-video{display:flex;flex-direction:column;gap:var(--space-3)}.jp-video__well{width:100%;border-radius:var(--radius-lg);background:var(--color-surface-sunken);border:var(--outline-heavy) solid var(--color-ink);box-shadow:0 0 0 2px var(--color-brand-violet);display:grid;place-items:center;color:var(--color-text-secondary);text-align:center}.jp-video__well--tall{aspect-ratio:9 / 16;max-height:440px;width:auto;align-self:center}.jp-video__well--wide{aspect-ratio:16 / 9}.jp-video__play{width:72px;height:72px;border-radius:50%;background:var(--color-brand-orange);color:var(--color-text-on-orange);border:var(--outline-regular) solid var(--color-ink);display:grid;place-items:center;box-shadow:var(--shadow-sticker-md)}.jp-step{background:var(--color-brand-teal);border-radius:var(--radius-lg);border:var(--outline-regular) solid var(--color-ink);box-shadow:var(--shadow-sticker-md);padding:var(--space-6) var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);min-height:300px}.jp-step__num{font:400 18px/1 var(--font-display);color:var(--color-brand-gold);letter-spacing:.04em}.jp-step h2{font:var(--type-title);text-shadow:var(--shadow-sticker-sm)}.jp-step p{font:var(--type-body-l)}.jp-step__art{width:88px;height:88px;border-radius:50%;background:var(--color-surface-base);border:var(--outline-regular) solid var(--color-ink);display:grid;place-items:center;color:var(--color-brand-gold)}.jp-step__art .jp-icon{width:44px;height:44px}.jp-dots{display:flex;gap:var(--space-2);justify-content:center;align-items:center}.jp-dots i{width:10px;height:10px;border-radius:50%;background:var(--color-border-control)}.jp-dots i.is-on{width:28px;border-radius:5px;background:var(--color-brand-orange)}.jp-q{display:flex;flex-direction:column;gap:var(--space-3)}.jp-q__head{font:var(--type-heading)}.jp-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.jp-choice{min-height:64px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:var(--outline-thin) solid var(--color-border-control);background:var(--color-surface-card);color:var(--color-text-primary);font:var(--type-body-strong);line-height:20px;text-align:left;display:flex;align-items:center;gap:var(--space-2);cursor:pointer;transition:transform var(--motion-quick) var(--ease-pop)}.jp-choice__mark{width:24px;height:24px;border-radius:50%;border:var(--outline-thin) solid var(--color-border-control);flex:none;display:grid;place-items:center;color:transparent}.jp-choice.is-selected{background:var(--color-surface-raised);border:var(--outline-regular) solid var(--color-brand-orange);box-shadow:var(--shadow-sticker-sm);transform:translateY(-2px)}.jp-choice.is-selected .jp-choice__mark{background:var(--color-brand-orange);border-color:var(--color-ink);color:var(--color-text-on-orange)}.jp-choice.is-current{border-style:dashed}.jp-choice__was{display:block;font:var(--type-caption);font-weight:700;color:var(--color-brand-violet-text)}.jp-choice .jp-icon{width:16px;height:16px;stroke-width:3}.jp-scrim{background:var(--color-surface-overlay)}.jp-dialog{width:100%;background:var(--color-surface-card);border-radius:var(--radius-lg);border:var(--outline-heavy) solid var(--color-ink);box-shadow:var(--shadow-sticker-lg),0 0 0 2px var(--color-brand-violet);padding:var(--space-6) var(--space-5) var(--space-5);display:flex;flex-direction:column;gap:var(--space-4);animation:jp-pop var(--motion-toast) var(--ease-pop)}.jp-dialog h2{font:var(--type-title)}.jp-dialog p{font:var(--type-body-l)}.jp-card{background:var(--color-surface-card);border-radius:var(--radius-lg);border:var(--outline-thin) solid var(--color-border-subtle);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.jp-recipe{display:grid;grid-template-columns:auto 1fr;gap:var(--space-2) var(--space-4)}.jp-recipe dt{color:var(--color-text-secondary);font:var(--type-caption);padding-top:2px}.jp-recipe dd{margin:0;font:var(--type-body-strong)}.jp-stamp{font:400 48px/48px var(--font-shout);color:var(--color-brand-violet-text);transform:rotate(-4deg);text-shadow:var(--shadow-title)}.jp-screen{padding:var(--space-10) var(--space-5);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--space-4);background:radial-gradient(circle at 50% 32%,rgba(164,108,245,.42),var(--color-surface-base) 60%)}.jp-portal{width:168px;height:168px;border-radius:50%;border:var(--outline-heavy) solid var(--color-ink);background:repeating-radial-gradient(circle,var(--color-brand-violet) 0 12px,var(--color-surface-card) 12px 22px);box-shadow:var(--shadow-glow-violet);display:grid;place-items:center;color:var(--color-brand-gold)}.jp-portal .jp-icon{width:56px;height:56px}.jp-portal.is-sealed{background:repeating-radial-gradient(circle,var(--color-surface-raised) 0 12px,var(--color-surface-card) 12px 22px);box-shadow:none;color:var(--color-brand-pewter)}.jp-portal.is-dim{background:repeating-radial-gradient(circle,#5a3a86 0 12px,var(--color-surface-card) 12px 22px);box-shadow:none}.jp-header{height:var(--size-header);display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:0 var(--space-1) 0 var(--space-4);background:var(--color-surface-base);border-bottom:2px solid var(--color-border-subtle)}.jp-header__who{display:flex;flex-direction:column;min-width:0;flex:1}.jp-header__who span{font:var(--type-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-text-secondary)}.jp-header__who b{font:400 20px/24px var(--font-display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jp-iconbtn{width:var(--size-tap);height:var(--size-tap);border-radius:50%;border:0;background:transparent;color:var(--color-text-primary);display:grid;place-items:center;flex:none}.jp-menu{background:var(--color-surface-card);border:var(--outline-regular) solid var(--color-ink);border-radius:var(--radius-md);box-shadow:var(--shadow-sticker-md),0 0 0 2px var(--color-border-subtle);padding:var(--space-2);display:flex;flex-direction:column;min-width:220px}.jp-menu a{min-height:var(--size-tap);display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--color-text-primary);text-decoration:none;font:var(--type-body-strong)}.jp-menu a .jp-icon{color:var(--color-brand-teal-text)}.jp-admin{font:var(--type-body);background:var(--color-surface-base);color:var(--color-text-primary)}.jp-admin h1{font:var(--type-title);margin:0}.jp-admin h2{font:var(--type-body-strong);margin:0}.jp-stat{background:var(--color-surface-card);border-radius:var(--radius-md);border:var(--outline-thin) solid var(--color-border-subtle);padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:2px}.jp-stat b{font:700 28px/32px var(--font-body)}.jp-stat span{font:var(--type-caption);color:var(--color-text-secondary)}.jp-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.jp-arow{display:grid;align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-subtle);color:inherit;text-decoration:none}.jp-arow--lb{grid-template-columns:28px minmax(0,1fr) auto auto}.jp-arow--player{grid-template-columns:minmax(0,1fr) 104px 24px}.jp-rank{font-weight:700;color:var(--color-text-secondary)}.jp-minibars{display:flex;flex-direction:column;gap:4px}.jp-minibar{display:grid;grid-template-columns:14px 1fr 28px;gap:4px;align-items:center;font:700 12px/14px var(--font-body);color:var(--color-text-secondary)}.jp-minibar__track{height:8px;border-radius:4px;background:var(--color-surface-sunken);position:relative;overflow:hidden;border:1px solid var(--color-border-subtle)}.jp-minibar__track i{position:absolute;inset:0 auto 0 0;background:var(--progress-tier-unlit)}.jp-minibar[data-tier=yellow] i{background:var(--progress-tier-yellow)}.jp-minibar[data-tier=green] i{background:var(--progress-tier-green)}.jp-minibar[data-tier=rainbow] i{background:var(--progress-tier-rainbow)}.jp-tag{font:700 13px/18px var(--font-body);padding:2px 8px;border-radius:var(--radius-sm);border:1px solid var(--color-border-control);color:var(--color-text-secondary);white-space:nowrap;display:inline-flex;align-items:center;gap:4px}.jp-tag--ok{border-color:var(--color-success);color:var(--color-success)}.jp-tag--bad{border-color:var(--color-error);color:var(--color-error)}.jp-tag--warn{border-color:var(--color-warning);color:var(--color-warning)}.jp-section{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);overflow:hidden}.jp-section>h3{font:var(--type-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-text-secondary);padding:var(--space-3);background:var(--color-surface-card);border-bottom:1px solid var(--color-border-subtle);margin:0}.jp-kv{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-subtle);align-items:center;min-height:48px}.jp-kv:last-child{border-bottom:0}.jp-toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:var(--size-tap);width:100%;background:none;border:0;color:inherit;font:var(--type-body-strong);padding:0;text-align:left}.jp-switch{width:60px;height:34px;border-radius:var(--radius-pill);background:var(--color-surface-sunken);border:var(--outline-thin) solid var(--color-border-control);position:relative;flex:none}.jp-switch:after{content:"";position:absolute;top:4px;left:4px;width:22px;height:22px;border-radius:50%;background:var(--color-text-secondary);transition:transform var(--motion-quick) var(--ease-out)}.jp-switch.is-on{background:var(--color-success);border-color:var(--color-success)}.jp-switch.is-on:after{transform:translate(26px);background:var(--color-text-on-success)}.jp-admin .jp-btn{font:var(--type-body-strong);min-height:var(--size-tap);box-shadow:none;border-width:var(--outline-thin)}.jp-admin .jp-btn:active,.jp-admin .jp-btn.is-pressed{transform:none;filter:brightness(.9)}.jp-btn--danger{background:var(--color-error);color:var(--color-text-on-error)}.jp-btn--danger-outline{background:transparent;color:var(--color-error);border:var(--outline-thin) solid var(--color-error);box-shadow:none}.jp-stepper{display:grid;grid-template-columns:var(--size-tap) 1fr var(--size-tap);gap:var(--space-2);align-items:center}.jp-stepper output{text-align:center;font:700 24px/1 var(--font-body)}.jp-stepper button{width:var(--size-tap);height:var(--size-tap);border-radius:var(--radius-md);border:var(--outline-thin) solid var(--color-border-control);background:var(--color-surface-card);color:var(--color-text-primary);display:grid;place-items:center}.jp-danger{border:var(--outline-thin) solid var(--color-error);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}@media(prefers-reduced-motion:reduce){.jp *,.jp *:before,.jp *:after,.jp-admin *{animation:none!important;transition:none!important}}.jp-stack{display:flex;flex-direction:column;gap:var(--space-3)}.jp-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.jp-phone{width:390px;max-width:100%;margin:0 auto;padding:var(--space-4);background:var(--color-surface-base)}.jp-display{font-family:var(--font-display);font-weight:400}.jp-icon svg{width:100%;height:100%;display:block}.jp-btn--violet{background:var(--color-brand-violet);color:var(--color-text-on-violet)}.jp-btn--quiet{background:none;border-color:transparent;box-shadow:none;color:var(--color-brand-violet-text);font:var(--type-body-strong);min-height:var(--size-tap);width:auto;padding:0 var(--space-3);text-decoration:underline;text-underline-offset:3px}.jp-btn--quiet:active,.jp-btn--quiet.is-pressed{transform:none;box-shadow:none}.jp-pin>span:not(.jp-pin__box){width:56px;height:64px;border-radius:var(--radius-sm);border:var(--outline-thin) solid var(--color-border-control);background:var(--color-surface-sunken);display:grid;place-items:center;font:400 28px/1 var(--font-display);color:var(--color-text-primary)}.jp-pin>span.is-active{outline:var(--outline-regular) solid var(--color-focus-ring);outline-offset:2px}.jp-track__fill{width:calc(var(--n, 0) / 9 * 100%)}.jp-video__well:not(.jp-video__well--wide):not(.jp-video__well--tall){aspect-ratio:9 / 16;max-height:420px}.jp-screen{min-height:520px}html,body{margin:0;background:var(--surface-base);min-height:100%}body{overscroll-behavior-y:none}#root{min-height:100dvh}.app{max-width:480px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column}.app-main{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4);padding-bottom:calc(var(--space-12) + env(safe-area-inset-bottom))}.jp-header{position:sticky;top:0;z-index:var(--z-header)}.center{text-align:center}.hero-bg{background:radial-gradient(circle at 50% 0%,rgba(154,92,240,.45),var(--surface-base) 55%)}.jp-sticker.has-img{background:none;border:0;box-shadow:none;border-radius:0;overflow:visible}.jp-sticker.has-img img{filter:drop-shadow(0 3px 0 #0a040b)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-sheet);display:flex;align-items:flex-end;justify-content:center}.overlay>.jp-sheet,.overlay>.jp-dialog{width:100%;max-width:480px;max-height:92dvh;overflow-y:auto}.overlay--center{align-items:center;padding:var(--space-4);z-index:var(--z-levelup)}.overlay--dialog{align-items:flex-end;padding:var(--space-4);z-index:var(--z-dialog)}.toast-slot{position:fixed;left:0;right:0;top:calc(var(--size-header) + var(--space-2));z-index:var(--z-toast);display:flex;justify-content:center;padding:0 var(--space-4);pointer-events:none}.toast-slot .jp-toast{pointer-events:auto;max-width:440px;width:100%}.menu-slot{position:fixed;top:calc(var(--size-header) - 4px);right:max(var(--space-3),calc((100vw - 480px) / 2 + var(--space-3)));z-index:var(--z-dialog)}.paused{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface-raised);border:var(--outline-thin) solid var(--gold);color:var(--text)}.paused .jp-icon{color:var(--gold)}.yt-frame{width:100%;height:100%;border:0;display:block}.jp-video__well{position:relative;overflow:hidden}.video-missing{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;padding:var(--space-6);color:var(--text-muted)}.admin-tabs{display:flex;gap:var(--space-2);padding:var(--space-3) var(--space-4) 0}.admin-tabs button{flex:1}.admin-list{background:var(--surface-card);border-radius:14px;border:2px solid var(--line-soft);overflow:hidden}.admin-list .jp-arow:last-child{border-bottom:0}.task-heat{display:grid;grid-template-columns:3.2em 1fr auto auto;gap:var(--space-2);align-items:center;font:var(--type-caption, 14px/20px var(--font-body));padding:6px 0;border-bottom:1px solid var(--line-soft)}.small{font-size:14px;line-height:20px}.err-line{color:var(--error);font-weight:700;display:flex;gap:6px;align-items:center}.picks-row{display:flex;flex-direction:column;gap:var(--space-2)}.picks-row select{min-height:var(--size-tap)}.jp-admin .admin-tabs .jp-btn{padding:0 var(--space-2);font:var(--type-body-strong)}.jp-admin .jp-section{display:flex;flex-direction:column;gap:var(--space-2);padding-bottom:var(--space-3)}.jp-admin .jp-section>:not(h3):not(.jp-arow):not(.task-heat):not(.admin-list){margin-left:var(--space-3);margin-right:var(--space-3)}.jp-admin .jp-section>.task-heat{padding-left:var(--space-3);padding-right:var(--space-3)}.jp-admin .jp-section>.jp-btn,.jp-admin .jp-section>.jp-toggle,.jp-admin .jp-section>.jp-row{width:auto}.jp-admin .jp-section>.jp-toggle{padding-left:0;padding-right:0}.app-top{position:sticky;top:0;z-index:var(--z-header)}.app-top .jp-header{position:static}.cd-bar{display:flex;justify-content:center;padding:6px var(--space-3);border-bottom:2px solid var(--ink-outline);background:var(--surface-card);color:var(--gold);font:700 15px/20px var(--font-body)}.cd-bar__inner{display:inline-flex;align-items:center;gap:6px;min-width:0}.cd-bar .jp-icon{width:18px;height:18px;flex:none}.cd-bar__label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cd-bar__value{font:400 19px/20px var(--font-display);letter-spacing:.03em;font-variant-numeric:tabular-nums;white-space:nowrap}.cd-bar--calm{background:linear-gradient(180deg,#2f1c33,var(--surface-card))}.cd-bar--urgent{background:var(--error);color:var(--on-error)}.cd-bar--urgent .cd-bar__inner{animation:cd-quiver .9s ease-in-out infinite}.cd-bar--sealed{background:linear-gradient(90deg,var(--rb-red),var(--rb-orange),var(--rb-yellow),var(--rb-green),var(--rb-blue),var(--rb-violet),var(--rb-red));background-size:200% 100%;animation:jp-flow 4s linear infinite;color:var(--ink-outline)}.cd-bar--sealed .cd-bar__inner{padding:0 10px;border-radius:var(--radius-pill);background:#fbefd9d1}.cd-bar--closing .cd-bar__inner{animation:cd-pulse 1s ease-in-out infinite;font:400 18px/22px var(--font-display);letter-spacing:.02em}@keyframes cd-quiver{0%,to{transform:translate(0) rotate(0)}20%{transform:translate(-2px) rotate(-1deg)}40%{transform:translate(2px) rotate(1deg)}60%{transform:translate(-1px)}80%{transform:translate(1px)}}@keyframes cd-pulse{50%{transform:scale(1.08)}}.offline-strip{position:fixed;left:50%;top:calc(var(--space-2) + env(safe-area-inset-top));transform:translate(-50%);pointer-events:none;z-index:95;display:inline-flex;align-items:center;gap:var(--space-2);padding:10px 18px;border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--text);border:var(--outline-regular) solid var(--ink-outline);box-shadow:var(--shadow-sticker-md),0 0 0 2px var(--gold);font:700 15px/20px var(--font-body);white-space:nowrap}.offline-strip .jp-spin{width:16px;height:16px;border-width:2px;color:var(--gold)}.video-screen{min-height:100dvh;justify-content:center;padding-top:var(--space-3);padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom));gap:var(--space-2)}.video-screen .jp-video{gap:var(--space-2);align-items:center}.video-screen .jp-video>h2{font:400 22px/26px var(--font-display)!important;align-self:stretch;text-align:center}.video-screen .jp-video__well:not(.jp-video__well--wide):not(.jp-video__well--tall){aspect-ratio:9 / 16;max-height:none;width:auto;height:min(78dvh,calc((100vw - 2 * var(--space-4)) * 16 / 9),calc(100dvh - 150px - env(safe-area-inset-bottom)))}.video-screen .jp-video>.jp-btn{width:100%;max-width:448px}.media-alt{align-self:center;font:var(--type-body-sm);font-weight:700}.media-alt.is-disabled{opacity:.5;pointer-events:none}.media-confirm{padding:var(--space-4);border-radius:var(--radius-md);background:var(--surface-raised);border:var(--outline-thin) solid var(--action-send)}.media-confirm__q{font:var(--type-title)}.jp-admin p a:not(.jp-btn){color:var(--violet-text);font-weight:700}.jp:not(.jp-admin){position:relative;isolation:isolate}.fx-nebula{position:fixed;top:-20%;right:-20%;bottom:-20%;left:-20%;z-index:-1;pointer-events:none;background:radial-gradient(40% 30% at 20% 15%,rgba(164,108,245,.22),transparent 70%),radial-gradient(35% 28% at 85% 40%,rgba(46,86,80,.35),transparent 70%),radial-gradient(45% 30% at 40% 90%,rgba(255,138,31,.12),transparent 70%);animation:fx-drift 38s ease-in-out infinite alternate}@keyframes fx-drift{to{transform:translate(4%,-3%) rotate(4deg) scale(1.06)}}.fx-stars{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;overflow:hidden}.fx-star{position:absolute;border-radius:50%;background:var(--c);box-shadow:0 0 6px var(--c);opacity:.25;animation:fx-twinkle var(--t) ease-in-out var(--d) infinite}.fx-star--big{border-radius:0;background:none;box-shadow:none}.fx-star--big:before,.fx-star--big:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--c);clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);filter:drop-shadow(0 0 4px var(--c))}@keyframes fx-twinkle{0%,to{opacity:.15;transform:scale(.6) rotate(0)}50%{opacity:.95;transform:scale(1) rotate(45deg)}}.fx-rainbow-text{background:linear-gradient(90deg,#ff5a5f,#ff9f1c,#ffd23f,#4ade80,#3fa7ff,#b47cff,#ff5a5f);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:fx-flow 3.2s linear infinite;filter:drop-shadow(0 4px 0 #0a040b)}@keyframes fx-flow{to{background-position:200% 0}}.fx-splash-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:85;display:grid;place-items:center;padding:var(--space-4);background:radial-gradient(circle at 50% 45%,#1a0d1c8c,#0a040be0 70%);animation:fx-fade .16s var(--ease-out)}@keyframes fx-fade{0%{opacity:0}}.fx-splash{position:relative;width:min(100%,360px);display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2);padding:var(--space-6) var(--space-5) var(--space-5);border-radius:var(--radius-xl);border:var(--outline-heavy) solid var(--ink-outline);overflow:visible;box-shadow:var(--shadow-sticker-lg),0 0 0 4px var(--success),0 0 48px #5fe0c873;background:radial-gradient(circle at 50% 30%,#3b2a5c,var(--surface-card) 70%);animation:jp-burst .52s var(--ease-pop)}.fx-splash--bad{box-shadow:var(--shadow-sticker-lg),0 0 0 4px var(--error),0 0 40px #ff7a8a59;background:radial-gradient(circle at 50% 30%,#2e3f3b,var(--surface-card) 70%);animation:jp-burst .42s var(--ease-pop),jp-shake .42s .42s}.fx-splash--sealed{box-shadow:var(--shadow-sticker-lg),0 0 0 4px var(--violet),var(--shadow-glow-violet)}.fx-splash>*{position:relative;z-index:1}.fx-rays{position:absolute!important;top:0;right:0;bottom:0;left:0;z-index:0!important;border-radius:inherit;overflow:hidden;pointer-events:none}.fx-rays:before{content:"";position:absolute;top:-60%;right:-60%;bottom:-60%;left:-60%;background:repeating-conic-gradient(from 0deg,rgba(246,196,83,.16) 0 9deg,transparent 9deg 22deg);animation:jp-rays 12s linear infinite}.fx-splash--bad .fx-rays:before{background:repeating-conic-gradient(from 0deg,rgba(127,214,192,.1) 0 9deg,transparent 9deg 22deg);animation-duration:30s}.fx-splash__sticker{width:176px;height:176px;object-fit:contain;margin-top:calc(-1 * var(--space-16));filter:drop-shadow(0 6px 0 #0a040b);animation:fx-sticker-in .62s var(--ease-pop) both,fx-bob 2.4s ease-in-out .62s infinite}.fx-splash--bad .fx-splash__sticker{animation:fx-sticker-in-bad .52s var(--ease-pop) both,fx-sway 2s ease-in-out .52s infinite}@keyframes fx-sticker-in{0%{transform:scale(.2) rotate(-25deg);opacity:0}70%{transform:scale(1.12) rotate(6deg);opacity:1}}@keyframes fx-sticker-in-bad{0%{transform:translateY(-60px) rotate(12deg);opacity:0}}@keyframes fx-bob{50%{transform:translateY(-8px) rotate(-3deg)}}@keyframes fx-sway{50%{transform:rotate(4deg)}}.fx-splash__shout{font:400 48px/50px var(--font-display);letter-spacing:.02em;margin:0}.fx-splash__shout--bad{font:400 56px/56px var(--font-shout);color:var(--teal-text);text-shadow:var(--shadow-title);transform:rotate(-4deg)}.fx-splash__line{font:400 20px/26px var(--font-display);margin:0;color:var(--text);text-shadow:0 2px 0 #0a040b}.fx-splash__pts{display:inline-flex;align-items:center;gap:6px;margin:var(--space-1) 0 0;padding:6px 16px 6px 12px;width:fit-content;max-width:100%;white-space:normal;text-align:left;border-radius:var(--radius-pill);font:700 16px/20px var(--font-body);background:var(--success);color:var(--on-success);border:var(--outline-regular) solid var(--ink-outline);box-shadow:var(--shadow-sticker-sm);animation:jp-pop .4s .25s var(--ease-pop) both}.fx-splash__pts.is-bad{background:var(--error);color:var(--on-error)}.fx-splash__pts .jp-icon{width:18px;height:18px}.fx-splash__tap{margin-top:var(--space-2);min-height:var(--size-tap);padding:0 var(--space-5);background:none;border:0;color:var(--text-muted);font:700 15px/1 var(--font-body);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.fx-splash--sealed .jp-portal{width:140px;height:140px;margin-top:calc(-1 * var(--space-12))}.fx-portal-spin{animation:fx-spin-in .9s var(--ease-pop) both,jp-rays 6s linear .9s infinite}@keyframes fx-spin-in{0%{transform:scale(.2) rotate(-200deg);opacity:0}}.fx-confetti{position:absolute;left:50%;top:38%;width:0;height:0;z-index:2!important;pointer-events:none}.fx-bit{position:absolute;left:0;top:0;width:10px;height:10px;background:var(--c);opacity:0;animation:fx-confetti var(--t) cubic-bezier(.15,.7,.3,1) var(--d) forwards}.fx-bit--rect{width:6px;height:14px}.fx-bit--dot{border-radius:50%;width:9px;height:9px}.fx-bit--star{width:14px;height:14px;clip-path:polygon(50% 0,61% 38%,100% 50%,61% 62%,50% 100%,39% 62%,0 50%,39% 38%)}@keyframes fx-confetti{0%{opacity:1;transform:translate(0) rotate(0) scale(.4)}35%{opacity:1;transform:translate(var(--x),var(--y)) rotate(calc(var(--r) * .4)) scale(1)}to{opacity:0;transform:translate(calc(var(--x) * 1.25),calc(var(--y) + 420px)) rotate(var(--r)) scale(.9)}}.jp-points{position:relative}.fx-pts-float{position:absolute;left:50%;top:100%;transform:translate(-50%);pointer-events:none;white-space:nowrap;font:400 24px/1 var(--font-display);color:var(--gold);text-shadow:0 3px 0 #0a040b;animation:fx-float 1.3s var(--ease-out) forwards}@keyframes fx-float{0%{opacity:0;transform:translate(-50%,18px) scale(.6)}20%{opacity:1;transform:translate(-50%) scale(1.15)}to{opacity:0;transform:translate(-50%,-34px) scale(1)}}.jp-points.is-bump{box-shadow:var(--shadow-sticker-sm),0 0 18px #ff8a1fcc}.jp-task.is-fresh{animation:fx-fresh 1.6s var(--ease-out)}.jp-task.is-fresh .jp-task__check{animation:fx-check .6s var(--ease-pop)}@keyframes fx-fresh{0%{box-shadow:0 0 #5fe0c8e6;background:var(--surface-raised)}to{box-shadow:0 0 0 14px #5fe0c800}}@keyframes fx-check{0%{transform:scale(0) rotate(-90deg)}70%{transform:scale(1.3) rotate(8deg)}}.jp-zone[data-tier=rainbow]{box-shadow:0 0 0 2px #f6c45380,0 0 22px #b47cff59}.jp-zone[data-tier=rainbow] .jp-zone__icon{animation:fx-bob 2.6s ease-in-out infinite}.jp-zone__head:active .jp-zone__icon{transform:scale(.9) rotate(-8deg)}.fx-glow{animation:fx-glow 2.2s ease-in-out infinite}@keyframes fx-glow{50%{box-shadow:var(--shadow-sticker-md),0 0 0 4px #a46cf559,0 0 28px #a46cf5b3;transform:translateY(-1px)}}.fx-title{font:400 56px/52px var(--font-display);text-align:center;letter-spacing:.02em;margin:0}.fx-hero-sticker{width:150px;height:150px;object-fit:contain;align-self:center;margin-bottom:calc(-1 * var(--space-3));filter:drop-shadow(0 6px 0 #0a040b) drop-shadow(0 0 24px rgba(246,196,83,.45));animation:fx-bob 3s ease-in-out infinite}.fx-step-sticker{width:112px;height:112px;object-fit:contain;align-self:center;margin:calc(-1 * var(--space-12)) 0 calc(-1 * var(--space-2));filter:drop-shadow(0 5px 0 #0a040b);animation:fx-sticker-in .52s var(--ease-pop) both,fx-bob 3s ease-in-out .52s infinite}.jp-step{margin-top:var(--space-10)}.jp-stamp{animation:fx-slam .52s .3s var(--ease-pop) both}@keyframes fx-slam{0%{transform:scale(3) rotate(-14deg);opacity:0}70%{transform:scale(.92) rotate(-3deg);opacity:1}}.jp-portal:not(.is-sealed):not(.is-dim){animation:jp-rays 18s linear infinite}@media(prefers-reduced-motion:reduce){.fx-stars,.fx-confetti,.fx-rays{display:none}.fx-nebula{animation:none}}.overlay--center>.fx-confetti{z-index:0!important;top:45%}.overlay--center>.jp-levelup{z-index:1;animation:jp-burst var(--motion-levelup) var(--ease-pop)}.fx-splash--announce{box-shadow:var(--shadow-sticker-lg),0 0 0 4px var(--gold),var(--shadow-glow-gold);gap:var(--space-3)}.fx-splash__shout--announce{font:400 34px/38px var(--font-display)}.fx-splash__line--announce{font:400 24px/30px var(--font-display);overflow-wrap:anywhere}
