.btn{justify-content:center;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);font-family:var(--font-body);cursor:pointer;border:none;font-size:16px;font-weight:500;transition:transform .1s;display:inline-flex}.btn:active{transform:scale(.96)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background-color:var(--accent-ember);background-image:linear-gradient(100deg, var(--accent-gold), var(--accent-ember), var(--accent-ember));color:var(--text-on-accent);background-position:100% 0;background-size:220% 100%;transition:transform .1s,box-shadow .3s,background-position .45s}.btn-primary:hover:not(:disabled){box-shadow:0 6px 22px color-mix(in srgb, var(--accent-ember) 38%, transparent);background-position:0 0}@media (hover:none){.btn-primary:not(:disabled){box-shadow:0 6px 22px color-mix(in srgb, var(--accent-ember) 32%, transparent);background-position:0 0}}.btn-secondary{background:color-mix(in srgb, var(--text-primary) 9%, transparent);color:var(--text-primary);border:none}.btn-secondary:hover{background:color-mix(in srgb, var(--text-primary) 15%, transparent)}.btn-plain{color:var(--text-primary);background:0 0}.btn-danger{background:var(--rating-again);color:#fff}.btn-danger:hover:not(:disabled){background:color-mix(in srgb, var(--rating-again) 88%, #000)}.btn-icon{flex-shrink:0;width:40px;height:40px;padding:0}.btn-ai{color:var(--accent-ember);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent-ember) 55%, transparent);transition:box-shadow .2s,color .2s,transform .1s}.btn-ai:hover:not(:disabled){color:var(--accent-gold);box-shadow:inset 0 0 0 1px var(--accent-ember)}.btn:has(>svg:first-child):not(.btn-icon){padding-left:var(--space-md)}.btn-apple{color:#000;gap:var(--space-sm);background:#fff}.btn-apple:hover:not(:disabled){background:#f2f2f2}.crash{min-height:100svh;padding:var(--space-lg);box-sizing:border-box;background:var(--warm-bg-deep);justify-content:center;align-items:center;display:flex}.crash-card{align-items:center;gap:var(--space-md);box-sizing:border-box;width:100%;max-width:420px;padding:var(--space-2xl) var(--space-xl);border-radius:var(--radius-lg);background:var(--surface);text-align:center;box-shadow:0 0 0 1px color-mix(in srgb, var(--accent-ember) 13%, transparent), 0 0 60px color-mix(in srgb, var(--accent-ember) 15%, transparent), 0 24px 60px #00000073;flex-direction:column;display:flex}.crash-icon{width:40px;height:40px;color:var(--accent-ember)}.crash-title{color:var(--text-primary);font-family:var(--font-heading);margin:0;font-size:24px;font-weight:600;line-height:1.2}.crash-line{color:var(--text-muted);font-family:var(--font-body);margin:0;font-size:15px;line-height:1.5}.crash-actions{justify-content:center;align-items:center;gap:var(--space-sm);margin-top:var(--space-sm);flex-wrap:wrap;display:flex}.crash-report{text-decoration:none}:root{--warm-bg:#161127;--warm-bg-mid:#100c1e;--warm-bg-deep:#0c0917;--warm-surface:#1e1430;--bg-gradient:linear-gradient(175deg, var(--warm-bg) 0%, var(--warm-bg-mid) 45%, var(--warm-bg-deep) 100%);--surface:#221c38;--surface-raised:#2c2545;--surface-deep:#100c1e;--border-soft:color-mix(in srgb, var(--text-primary) 12%, transparent);--accent-ember:#ff8a4c;--accent-gold:#f0b429;--text-primary:#f5ede4;--text-muted:#9a93a8;--text-on-accent:#1a1026;--bg-gradient-darkest:var(--surface-deep);--rating-again:#e5484d;--accent-green:#6fdb8f;--accent-blue:#6aa8f5;--glow-warm:radial-gradient(120vw 70vmin at 50% -6vmin, color-mix(in srgb, var(--accent-ember) 20%, transparent) 0%, transparent 62%), radial-gradient(90vw 50vmin at 50% calc(100% + 8vmin), #7b3fa838 0%, transparent 65%);--shadow-card:0 18px 40px #00000052;--shadow-firelight:0 6px 22px #ff783c29;--gradient-card-face:linear-gradient(180deg, #241d3a 0%, #1a1430 55%, #2a1c2e 100%);--glow-card-hover:0 18px 60px #ff783c61;--ring-due:inset 0 0 0 1px color-mix(in srgb, var(--accent-ember) 45%, transparent), 0 4px 18px #ff783c26;--font-heading:"Poppins", sans-serif;--font-body:"Inter", sans-serif;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--radius-sm:10px;--radius-md:12px;--radius-lg:16px;--radius-pill:999px;--fab-clearance:4.5rem;--measure:46rem}body{background:var(--bg-gradient);min-height:100svh;color:var(--text-primary);font-family:var(--font-body);font-weight:400}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600}:root{font:18px/145% var(--font-body);letter-spacing:.18px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text-primary);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (max-width:1024px){:root{font-size:16px}}html{background-color:var(--warm-bg-deep)}body:before{content:"";z-index:-1;background:var(--bg-gradient);pointer-events:none;position:fixed;inset:0}body{margin:0}#root{box-sizing:border-box;flex-direction:column;min-height:100svh;display:flex}h1,h2{color:var(--text-primary)}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (max-width:1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (max-width:1024px){h2{font-size:20px}}p{margin:0}code{background:var(--surface);color:var(--text-primary);border-radius:4px;padding:4px 8px;font-family:ui-monospace,Consolas,monospace;font-size:15px;line-height:135%;display:inline-flex}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fire .fire-logs rect{fill:#6b4b3a}.fire .fire-flame-outer{fill:var(--accent-ember)}.fire .fire-flame-inner{fill:var(--accent-gold)}.fire .fire-flames{transform-box:fill-box;transform-origin:bottom;animation:2.3s ease-in-out infinite flame-sway}.fire .fire-flame-inner{transform-box:fill-box;transform-origin:bottom;animation:1.7s ease-in-out infinite flame-lick}@keyframes flame-sway{0%,to{transform:scale(1)rotate(0)}28%{transform:scale(1.05,1.08)rotate(-1.6deg)}55%{transform:scale(.97,1.02)rotate(1.2deg)}78%{transform:scale(1.03,.98)rotate(-.5deg)}}@keyframes flame-lick{0%,to{opacity:1;transform:scaleY(1)}40%{opacity:.88;transform:scaleY(1.12)}70%{opacity:1;transform:scaleY(.94)}}.fire.is-still .fire-flames,.fire.is-still .fire-flame-inner{animation:none}@media (prefers-reduced-motion:reduce){.fire .fire-flames,.fire .fire-flame-inner{animation:none}}.auth-shell{isolation:isolate;justify-content:center;align-items:center;gap:var(--space-lg);min-height:100svh;padding:calc(var(--space-xl) + env(safe-area-inset-top,0px)) var(--space-lg) var(--space-xl);box-sizing:border-box;flex-direction:column;display:flex;position:relative}.auth-shell:before{content:"";z-index:-1;background:radial-gradient(120vw 80vh at 50% -8vh, color-mix(in srgb, var(--accent-ember) 20%, transparent) 0%, transparent 62%), radial-gradient(90vw 60vh at 50% 108vh, #7b3fa838 0%, transparent 65%), linear-gradient(175deg, var(--warm-bg) 0%, var(--warm-bg-mid) 45%, var(--warm-bg-deep) 100%);position:fixed;inset:0}.auth-brand{align-items:center;gap:var(--space-sm);color:inherit;font:inherit;border-radius:var(--radius-sm);background:0 0;border:0;padding:0;text-decoration:none;transition:opacity .14s;display:flex}a.auth-brand,button.auth-brand{cursor:pointer}a.auth-brand:hover,button.auth-brand:not(:disabled):hover{opacity:.82}button.auth-brand:disabled{cursor:default;opacity:.6}:is(a.auth-brand:focus-visible,button.auth-brand:focus-visible){outline:2px solid var(--accent-ember);outline-offset:4px}@media (prefers-reduced-motion:reduce){.auth-brand{transition:none}}.auth-brand-name{font-family:var(--font-heading);color:var(--text-primary);font-size:17px;font-weight:600}.auth-card{box-sizing:border-box;width:100%;max-width:24rem;padding:var(--space-xl) var(--space-lg) var(--space-lg);background:color-mix(in srgb, var(--warm-surface) 88%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent-ember) 14%, transparent), 0 0 70px color-mix(in srgb, var(--accent-ember) 22%, transparent), 0 24px 60px #00000073;text-align:center;border-radius:26px;position:relative}.auth-card-mark{width:58px;height:58px;margin-bottom:var(--space-md);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--accent-ember) 15%, transparent);place-items:center;display:inline-grid}.auth-card h1{margin:0 0 var(--space-sm);letter-spacing:-.01em;color:var(--text-primary);font-size:26px;line-height:1.2}.auth-card-sub{margin:0 0 var(--space-lg);font-family:var(--font-body);color:var(--text-muted);font-size:15px;line-height:1.5}.auth-card-form{gap:var(--space-md);flex-direction:column;display:flex}.auth-card .btn{width:100%;padding-top:13px;padding-bottom:13px}.auth-card-error{font-family:var(--font-body);color:var(--rating-again);margin:0;font-size:14px}.auth-legal{gap:var(--space-lg);display:flex}.auth-legal a{font-family:var(--font-body);color:var(--text-muted);font-size:14px;text-decoration:none}.auth-legal a:hover{color:var(--accent-ember)}.auth-divider{align-items:center;gap:var(--space-sm);color:var(--text-muted);font-family:var(--font-body);font-size:13px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:color-mix(in srgb, var(--text-muted) 25%, transparent);flex:1 1 0;height:1px}.auth-fields{gap:var(--space-sm);flex-direction:column;display:flex}.auth-field{text-align:left;color:var(--text-muted);font-family:var(--font-body);flex-direction:column;gap:4px;font-size:13px;display:flex}.auth-input{box-sizing:border-box;width:100%;padding:var(--space-sm) var(--space-md);border:1px solid color-mix(in srgb, var(--text-muted) 30%, transparent);border-radius:var(--radius-md);background:var(--surface-deep);color:var(--text-primary);font-family:var(--font-body);font-size:16px}.auth-input:focus-visible{box-shadow:0 0 0 2px var(--accent-ember);outline:none}.auth-remember{align-items:center;gap:var(--space-sm);color:var(--text-muted);font-family:var(--font-body);cursor:pointer;font-size:14px;display:flex}.auth-remember input{width:18px;height:18px;accent-color:var(--accent-ember)}.auth-switch{color:var(--accent-ember);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;padding:0;font-size:14px}.auth-switch:hover{text-decoration:underline}.auth-card-notice{color:var(--text-muted);font-family:var(--font-body);margin:0;font-size:14px}.auth-switch-row{justify-content:space-between;align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.auth-switch-row:has(.auth-switch:only-child){justify-content:center}.auth-forgot{color:var(--text-muted)}.auth-forgot:disabled{opacity:.5;cursor:default}.auth-card-bare{max-width:22rem;padding-inline:var(--space-lg);box-shadow:none;background:0 0;border-radius:0}.auth-card-bare .auth-card-mark{width:68px;height:68px}.auth-shell:has(.auth-card-bare){padding-top:max(var(--space-xl), env(safe-area-inset-top,0px));padding-bottom:max(var(--space-xl), env(safe-area-inset-bottom,0px))}.auth-card-mark-bare{background:0 0;border-radius:0;width:auto;height:auto}.auth-back{top:var(--space-md);color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:2px;padding:6px 8px 6px 0;font-size:15px;display:inline-flex;position:absolute;left:0}.auth-back:hover{color:var(--text-primary)}body:has(.modal-overlay) .feedback-tab{display:none}.feedback-tab{right:max(var(--space-md), env(safe-area-inset-right));bottom:calc(var(--space-md) + env(safe-area-inset-bottom));z-index:40;border-radius:var(--radius-pill);background-image:linear-gradient(100deg, var(--accent-gold), var(--accent-ember), var(--accent-ember));color:var(--text-on-accent);font-family:var(--font-body);white-space:nowrap;background-position:100% 0;background-size:220% 100%;align-items:center;gap:7px;padding:10px 16px;font-size:14px;font-weight:500;text-decoration:none;transition:background-position .45s,box-shadow .3s,transform .1s;display:inline-flex;position:fixed;box-shadow:0 6px 20px #0006}.feedback-tab:hover{box-shadow:0 8px 26px color-mix(in srgb, var(--accent-ember) 45%, transparent);background-position:0 0}.feedback-tab:active{transform:scale(.97)}.feedback-tab-icon{flex-shrink:0;width:16px;height:16px}.feedback-pill{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--accent-ember) 14%, transparent);color:var(--accent-ember);font-family:var(--font-body);text-align:center;align-items:center;gap:8px;padding:9px 18px;font-size:14px;line-height:1.35;text-decoration:none;transition:background-color .2s;display:inline-flex}.feedback-pill:hover{background:color-mix(in srgb, var(--accent-ember) 24%, transparent)}.feedback-pill-icon{flex-shrink:0;width:16px;height:16px}.feedback-pill-text>span{display:inline-block}@media (max-width:26rem){.feedback-pill{font-size:13px}}.modal-overlay{left:0;right:0;top:var(--modal-vtop,0px);height:var(--modal-vh,100dvh);background:color-mix(in srgb, var(--warm-bg-deep) 78%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:var(--space-lg);z-index:100;justify-content:center;align-items:center;display:flex;position:fixed;overflow-y:auto}.modal{width:100%;max-width:400px;max-height:calc(var(--modal-vh,100dvh) - var(--space-xl) * 2);box-sizing:border-box;gap:var(--space-md);padding:var(--space-xl);border-radius:var(--radius-lg);background:var(--surface);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent-ember) 13%, transparent), 0 0 60px color-mix(in srgb, var(--accent-ember) 15%, transparent), 0 24px 60px #00000073;flex-direction:column;display:flex;overflow-y:auto}.modal-header{justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.modal-title{color:var(--text-primary);font-family:var(--font-heading);margin:0;font-size:20px;font-weight:600}.modal-close{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.modal-close:hover{color:var(--text-primary)}.modal-form{gap:var(--space-md);flex-direction:column;display:flex}.modal-actions{justify-content:flex-end;align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.modal-actions-end{align-items:center;gap:var(--space-sm);margin-left:auto;display:flex}.modal-actions .btn-danger:not(:last-child){margin-right:auto}.modal-actions-column{gap:var(--space-sm);flex-direction:column;display:flex}.modal-actions-column .btn{width:100%}.modal-wide{max-width:1200px}.modal-card-form{max-width:900px}.modal-settings,.modal-export{max-width:480px}.modal-header-action{margin-left:auto}.modal-actions-start{align-items:center;gap:var(--space-sm);flex-wrap:wrap;margin-right:auto;display:flex}@media (max-width:30rem){.modal-actions-start{gap:var(--space-xs);flex-wrap:nowrap}.modal-actions .btn{padding-inline:var(--space-md)}}.campfire-scene{justify-content:center;align-items:flex-end;gap:var(--space-lg);padding:var(--space-xl) 0;display:flex}.campfire{--fire-size:150px;--fire-headroom:50px;width:var(--fire-size);height:calc(var(--fire-size) + var(--fire-headroom));flex-shrink:0;position:relative}.campfire-streak{font-family:var(--font-heading);color:var(--text-muted);opacity:.5;font-size:38px;font-weight:600;line-height:1;transition:top .35s,color .35s,opacity .35s;position:absolute;top:0;left:50%;transform:translate(-50%)}.campfire.is-renewed .campfire-streak{background:linear-gradient(100deg, var(--accent-gold), var(--accent-ember));color:#0000;opacity:1;background-clip:text}.campfire.is-alive .campfire-streak{color:var(--text-muted);opacity:1;top:calc(var(--fire-headroom) + var(--fire-size) * .1)}.campfire.is-dead .campfire-streak{top:calc(var(--fire-headroom) + var(--fire-size) * .28)}.campfire-art{width:var(--fire-size);height:var(--fire-size);color:#6b4b3a;position:absolute;bottom:0;left:0}.campfire-flames{transform-box:fill-box;transform-origin:bottom;transition:transform .35s,opacity .35s}.campfire-flame-outer{fill:var(--accent-ember);transition:fill .35s}.campfire-flame-inner{fill:var(--accent-gold);transition:fill .35s}.campfire.is-alive .campfire-flames{transform:scale(.55)}.campfire.is-alive .campfire-flame-outer{fill:#69615c}.campfire.is-alive .campfire-flame-inner{fill:#767167}.campfire.is-dead .campfire-flames{opacity:0;transform:scale(.2)}.campfire-person{align-items:center;gap:var(--space-xs);width:88px;padding-bottom:var(--space-lg);flex-direction:column;flex-shrink:0;display:flex;position:relative}.campfire-person-flame{height:26px;color:var(--accent-ember);justify-content:center;align-items:center;transition:color .35s,opacity .35s;display:flex}.campfire-person-flame.is-alive{color:var(--text-muted);opacity:.5}.campfire-person-flame svg{width:24px;height:24px}.campfire-person-btn{background:var(--surface);width:56px;height:56px;color:var(--text-primary);font-family:var(--font-heading);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:22px;font-weight:600;line-height:1;transition:background-color .15s;display:inline-flex}.campfire-person-btn:hover{background:var(--surface-raised)}.campfire-invite-btn{border-radius:50%;width:56px;height:56px}.campfire-person-name{width:100%;min-height:2.4em;color:var(--text-muted);font-family:var(--font-body);text-align:center;overflow-wrap:anywhere;font-size:13px;line-height:1.2}.person-popover{top:calc(100% - var(--space-sm));z-index:30;gap:var(--space-xs);min-width:15rem;max-width:min(20rem, calc(100vw - var(--space-xl)));padding:var(--space-md);border-radius:var(--radius-md);background:var(--bg-gradient-darkest);text-align:left;flex-direction:column;display:flex;position:absolute;box-shadow:0 8px 24px #0006}.person-popover.align-left{left:0}.person-popover.align-right{right:0}.person-popover-head{justify-content:space-between;align-items:flex-start;gap:var(--space-sm);display:flex}.person-popover-gear{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;margin:-4px -4px 0 0;padding:0;transition:background-color .15s,color .15s;display:inline-flex}.person-popover-gear:hover{background:color-mix(in srgb, var(--text-primary) 10%, transparent);color:var(--text-primary)}.person-popover-name{color:var(--text-primary);font-family:var(--font-heading);overflow-wrap:anywhere;margin:0;font-size:16px;font-weight:600;line-height:1.2}.person-popover-line{color:var(--text-muted);font-family:var(--font-body);margin:0;font-size:14px;line-height:1.3}.person-popover-email{margin:0 0 var(--space-xs);color:var(--text-muted);font-family:var(--font-body);overflow-wrap:anywhere;font-size:12px;line-height:1.3}.person-popover-remove{margin-top:var(--space-xs);color:var(--rating-again);font-family:var(--font-body);text-align:left;cursor:pointer;background:0 0;border:none;padding:0;font-size:14px}.campfire-error{color:var(--rating-again)}@media (max-width:480px){.campfire-scene{gap:var(--space-sm)}.campfire{--fire-size:88px;--fire-headroom:30px}.campfire-person{padding-bottom:var(--space-xs)}.campfire-streak{font-size:26px}.campfire.is-alive .campfire-streak{top:calc(var(--fire-headroom) - var(--fire-size) * .08)}}@media (min-width:48rem){.campfire-scene{gap:var(--space-2xl);padding:calc(var(--space-2xl) * 1.2) 0}.campfire{--fire-size:184px;--fire-headroom:58px}.campfire-streak{font-size:44px}.campfire-person-btn,.campfire-invite-btn{width:72px;height:72px;font-size:28px}.campfire-person-flame svg{width:30px;height:30px}.campfire-person{width:112px}.campfire-person-name{font-size:14px}}.campfire-flames-anim{transform-box:fill-box;transform-origin:bottom;animation:2.3s ease-in-out infinite campfire-sway}.campfire-flame-inner{transform-box:fill-box;transform-origin:bottom;animation:1.7s ease-in-out infinite campfire-lick}.campfire.is-dead .campfire-flames-anim,.campfire.is-dead .campfire-flame-inner{animation:none}@keyframes campfire-sway{0%,to{transform:scale(1)rotate(0)}28%{transform:scale(1.05,1.08)rotate(-1.6deg)}55%{transform:scale(.97,1.02)rotate(1.2deg)}78%{transform:scale(1.03,.98)rotate(-.5deg)}}@keyframes campfire-lick{0%,to{opacity:1;transform:scaleY(1)}40%{opacity:.88;transform:scaleY(1.12)}70%{opacity:1;transform:scaleY(.94)}}.campfire-spark{z-index:1;background:var(--accent-gold);opacity:0;pointer-events:none;width:4px;height:4px;animation:campfire-spark-rise var(--dur) linear var(--delay) infinite;border-radius:50%;position:absolute;bottom:22%}.campfire.is-alive .campfire-spark{opacity:0;width:3px;height:3px;bottom:14%}@keyframes campfire-spark-rise{0%{opacity:0;transform:translate(0)scale(.5)}12%{opacity:1}70%{opacity:.7}to{opacity:0;transform:translate(var(--drift), -110px) scale(.2)}}.campfire.is-igniting:before{content:"";width:calc(var(--fire-size) * 1.7);height:calc(var(--fire-size) * 1.7);margin-left:calc(var(--fire-size) * -.85);background:radial-gradient(closest-side, color-mix(in srgb, var(--accent-gold) 55%, transparent), color-mix(in srgb, var(--accent-ember) 28%, transparent) 50%, transparent 76%);opacity:0;pointer-events:none;border-radius:50%;animation:2.2s ease-out .15s both campfire-bloom;position:absolute;bottom:6%;left:50%}@keyframes campfire-bloom{0%{opacity:0;transform:scale(.3)}30%{opacity:1;transform:scale(.85)}to{opacity:0;transform:scale(1.35)}}.campfire.is-igniting .campfire-art{animation:1.9s ease-out both campfire-logs-glow}@keyframes campfire-logs-glow{0%{color:#6b4b3a}35%{color:#c46a3d}to{color:#6b4b3a}}.campfire.is-igniting .campfire-flames{animation:1.5s cubic-bezier(.22,.9,.28,1) .2s both campfire-catch}@keyframes campfire-catch{0%{opacity:0;transform:scale(.12)}25%{opacity:1}68%{transform:scale(1.12)}to{opacity:1;transform:scale(1)}}.campfire.is-igniting .campfire-flame-outer{animation:1.5s ease-out .2s both campfire-catch-outer}.campfire.is-igniting .campfire-flame-inner{animation:1.5s ease-out .2s both campfire-catch-inner,1.7s ease-in-out infinite campfire-lick}@keyframes campfire-catch-outer{0%{fill:#69615c}38%{fill:#ffd9a3}to{fill:var(--accent-ember)}}@keyframes campfire-catch-inner{0%{fill:#767167}38%{fill:#fff3d1}to{fill:var(--accent-gold)}}.campfire-burst{z-index:1;pointer-events:none;width:0;height:0;position:absolute;bottom:30%;left:50%}.campfire-burst-spark{left:calc(var(--size) / -2);width:var(--size);height:var(--size);background:var(--accent-gold);box-shadow:0 0 6px color-mix(in srgb, var(--accent-ember) 80%, transparent);opacity:0;animation:campfire-burst-fly 1.15s cubic-bezier(.1, .7, .3, 1) var(--delay) both;border-radius:50%;position:absolute;bottom:0}@keyframes campfire-burst-fly{0%{opacity:0;transform:translate(0)scale(.5)}12%{opacity:1}to{opacity:0;transform:translate(var(--dx), var(--dy)) scale(.2)}}@media (prefers-reduced-motion:reduce){.campfire-spark{display:none}.campfire.is-igniting:before,.campfire.is-igniting .campfire-art,.campfire.is-igniting .campfire-flames,.campfire.is-igniting .campfire-flame-outer,.campfire.is-igniting .campfire-flame-inner{animation:none}.campfire-burst{display:none}.campfire-flames-anim,.campfire-flame-inner{animation:none}}.campfire-person-flame.is-waiting{opacity:1;cursor:help}.person-popover-note{margin:0 0 var(--space-xs);color:var(--text-muted);font-family:var(--font-body);font-size:13px;line-height:1.4}.person-popover-note.is-waiting{color:var(--accent-gold)}.person-popover-sub{font-family:var(--font-body);color:var(--text-muted);margin:-2px 0 0;font-size:12px}.invite-code{padding:var(--space-md) calc(36px + var(--space-sm) * 2);border-radius:var(--radius-md);background:var(--surface-deep);font-family:var(--font-heading);letter-spacing:6px;text-align:center;justify-content:center;align-items:center;margin:0;font-size:32px;font-weight:600;display:flex;position:relative}.invite-code-value,.invite-code-input{background:linear-gradient(100deg, var(--accent-gold), var(--accent-ember));color:#0000;background-clip:text}.invite-code-value{-webkit-user-select:all;user-select:all}.invite-code-input{width:100%;min-width:0;font:inherit;letter-spacing:inherit;text-align:center;text-transform:uppercase;caret-color:var(--accent-ember);background-color:#0000;border:0;padding:0}.invite-code-input:focus{outline:none}.invite-code-input:placeholder-shown{-webkit-text-fill-color:color-mix(in srgb, var(--text-muted) 45%, transparent);color:color-mix(in srgb, var(--text-muted) 45%, transparent);background:0 0}.invite-code-input::placeholder{color:inherit;letter-spacing:inherit}.invite-code-entry:focus-within{outline:2px solid color-mix(in srgb, var(--accent-ember) 60%, transparent);outline-offset:2px}.invite-copy{right:var(--space-sm);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--text-primary) 9%, transparent);width:36px;height:36px;color:var(--text-muted);cursor:pointer;border:0;place-items:center;padding:0;transition:background .15s,color .15s;display:grid;position:absolute}.invite-copy:hover{background:color-mix(in srgb, var(--text-primary) 15%, transparent);color:var(--text-primary)}.invite-copy:focus-visible{outline:2px solid var(--accent-ember);outline-offset:2px}.invite-error{color:var(--rating-again)}@media (max-width:26rem){.invite-code{letter-spacing:3px;font-size:26px}}.screen{box-sizing:border-box;width:100%;min-height:100svh;padding:calc(var(--space-2xl) + env(safe-area-inset-top,0px)) var(--space-xl) calc(var(--space-2xl) + var(--fab-clearance) + env(safe-area-inset-bottom,0px));gap:var(--space-lg);background:var(--bg-gradient);isolation:isolate;flex-direction:column;display:flex;position:relative}.screen.is-warm:before{content:"";z-index:-1;background:var(--glow-warm);pointer-events:none;position:fixed;inset:0}.screen>:not(.btn):not(.modal-overlay){box-sizing:border-box;width:100%;max-width:var(--screen-max,var(--measure));margin-inline:auto}.screen>.btn{align-self:center}.screen>.screen-wide{--screen-max:84rem}.screen h1{color:var(--text-primary);letter-spacing:-.02em;margin:0;font-size:clamp(28px,6vw,40px);line-height:1.15}.screen-subtitle{color:var(--text-muted);font-family:var(--font-body);margin:0;line-height:1.5}.screen-eyebrow{margin:0 0 var(--space-xs);font-family:var(--font-body);letter-spacing:.09em;text-transform:uppercase;color:var(--accent-ember);font-size:13px;font-weight:500}.screen-header{justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.screen-header-left,.screen-header-right{align-items:center;gap:var(--space-md);display:flex}.screen-header-left{gap:var(--space-lg)}@media (max-width:26rem){.screen-header-left,.screen-header-right{gap:var(--space-sm);min-width:0}.screen-header-right{flex-wrap:wrap;justify-content:flex-end}}.screen-card{padding:var(--space-lg);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-firelight)}.empty-state{justify-content:center;align-items:center;gap:var(--space-md);text-align:center;flex-direction:column;flex:1;min-height:0;display:flex}@media (min-width:48rem){.screen{padding:calc(var(--space-2xl) + env(safe-area-inset-top,0px)) var(--space-2xl) calc(var(--space-2xl) * 1.5 + var(--fab-clearance) + env(safe-area-inset-bottom,0px))}}@media (min-width:90rem){.screen{padding-inline:calc(var(--space-2xl) * 1.5)}}.deck-picker-label{font-family:var(--font-body);color:var(--text-muted);font-size:14px}.deck-picker-select{box-sizing:border-box;width:100%;padding:var(--space-sm) var(--space-md);border:1px solid color-mix(in srgb, var(--text-muted) 30%, transparent);border-radius:var(--radius-md);background:var(--surface-deep);color:var(--text-primary);font-family:var(--font-body);font-size:16px}.deck-picker-select:focus-visible{box-shadow:0 0 0 2px var(--accent-ember);outline:none}.home{text-align:center;align-items:center;gap:var(--space-xl);--fab-clearance:0px}.home-content{align-items:center;gap:var(--space-xl);flex-direction:column;margin-top:auto;display:flex}.home-intro{gap:var(--space-sm);flex-direction:column;max-width:34rem;display:flex}.home h1{overflow-wrap:anywhere;letter-spacing:-.02em;font-size:clamp(34px,8vw,56px);line-height:1.15}.home .screen-subtitle{font-size:clamp(16px,4.4vw,19px)}.home .campfire-scene{padding-bottom:0}.home-study-btn{min-width:15rem;padding-top:15px;padding-bottom:15px;font-size:18px}.home-study-btn:hover:not(:disabled){box-shadow:0 8px 30px color-mix(in srgb, var(--accent-ember) 45%, transparent)}@media (min-width:48rem){.home,.home-content{gap:var(--space-2xl)}.home-study-btn{min-width:17rem;font-size:19px}}.home-footer{align-items:center;gap:var(--space-sm);flex-direction:column;margin-top:auto;display:flex}.home-footer-links{align-items:center;gap:var(--space-lg);display:flex}.home-signout{padding:var(--space-sm);color:var(--text-muted);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;font-size:14px;transition:color .15s}.home-signout:hover{color:var(--text-primary)}.home-feedback{text-decoration:none}.home-footer-links{flex-wrap:wrap;justify-content:center}.home-signout-error{color:var(--rating-again)}.home-content{animation:.22s ease-out home-content-in}@keyframes home-content-in{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){.home-content{animation:none}}.home-due-detail{margin-top:calc(var(--space-xs) * -1);font-size:15px}.input{box-sizing:border-box;width:100%;padding:11px var(--space-md);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--text-primary);font-family:var(--font-body);border:none;font-size:16px;font-weight:400;transition:background-color .15s,box-shadow .15s;display:block}.input::placeholder{color:var(--text-muted)}.input:hover:not(:disabled){background:color-mix(in srgb, var(--surface-raised) 88%, var(--text-primary))}.input:focus{background:var(--surface-raised);box-shadow:0 0 0 2px var(--accent-ember);outline:none}.input:disabled{opacity:.5;cursor:not-allowed}.choose-name{justify-content:center;align-self:center;gap:var(--space-md);flex-direction:column;flex:1;width:100%;max-width:420px;display:flex}.choose-name-intro{gap:var(--space-md);flex-direction:column;display:flex}.choose-name h1{line-height:1.2}.booting{background:var(--warm-bg);justify-content:center;align-items:center;height:100svh;display:flex}.booting-fire{opacity:0;animation:.9s ease-out .35s forwards booting-in}@keyframes booting-in{to{opacity:1}}@media (prefers-reduced-motion:reduce){.booting-fire{opacity:1;animation:none}}.onboarding,.onboarding *{box-sizing:border-box}.onboarding:before{content:"";z-index:-1;background:radial-gradient(120vw 80vh at 50% -8vh, color-mix(in srgb, var(--accent-ember) 20%, transparent) 0%, transparent 62%), radial-gradient(90vw 60vh at 50% 108vh, #7b3fa838 0%, transparent 65%), linear-gradient(175deg, var(--warm-bg) 0%, var(--warm-bg-mid) 45%, var(--warm-bg-deep) 100%);position:fixed;inset:0}.onboarding{isolation:isolate;height:100svh;max-height:100svh;padding-top:max(var(--space-md), env(safe-area-inset-top,0px));padding-bottom:max(var(--space-md), env(safe-area-inset-bottom,0px));flex-direction:column;display:flex;position:relative;overflow:hidden}.onboarding-top{padding:var(--space-sm) var(--space-lg);flex:none;justify-content:space-between;align-items:center;display:flex}.onboarding-brand{align-items:center;gap:var(--space-xs);display:flex}.onboarding-name{font-family:var(--font-heading);color:var(--text-primary);font-weight:600}.onboarding-skip{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:6px 10px}.onboarding-skip:hover{color:var(--text-primary)}.onboarding-track{scroll-snap-type:x mandatory;scrollbar-width:none;flex:auto;min-height:0;display:flex;overflow:auto hidden}.onboarding-track::-webkit-scrollbar{display:none}.onboarding-slide{scroll-snap-align:center;justify-content:center;align-items:center;gap:var(--space-sm);min-width:0;padding:0 var(--space-xl);text-align:center;flex-direction:column;flex:0 0 100%;display:flex}.onboarding-flame{width:clamp(110px,34vw,180px);height:auto}.onboarding-visual{min-height:0;margin-bottom:var(--space-sm);flex:0 auto;justify-content:center;align-items:center;display:flex}.onboarding-eyebrow{color:var(--accent-ember);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:14px}.onboarding-title{letter-spacing:-.5px;margin:0;font-size:clamp(26px,7.5vw,34px);line-height:1.15}.onboarding-body{max-width:34ch;color:var(--text-muted);margin:0;font-size:clamp(15px,4.2vw,17px);line-height:1.5}.onboarding-foot{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-xl) 12vh;flex-direction:column;flex:none;display:flex}.onboarding-dots{gap:8px;display:flex}.onboarding-dot{background:var(--text-muted);opacity:.35;cursor:pointer;border:0;border-radius:50%;width:8px;height:8px;padding:0;transition:opacity .15s,transform .15s}.onboarding-dot.is-current{opacity:1;background:var(--accent-ember);transform:scale(1.3)}.onboarding-cta{align-items:center;gap:var(--space-xs);flex-direction:column;width:100%;max-width:15rem;display:flex}.onboarding-cta>button:first-child{width:100%;padding-block:14px;font-size:17px}.onboarding-signin,.onboarding-fineprint{color:var(--text-muted);font:inherit;background:0 0;border:0;margin:0;padding:4px;font-size:14px}.onboarding-signin{cursor:pointer;text-decoration:underline}.onboarding-signin:hover{color:var(--text-primary)}.onboarding-single .onboarding-slide{flex:auto;min-height:0}.onboarding-ask .onboarding-ask-mark{width:clamp(72px,22vw,110px);height:auto;color:var(--accent-ember)}.onboarding-ask .onboarding-title{font-size:clamp(30px,8.5vw,38px)}.onboarding-ask .onboarding-body{max-width:30ch}.onboarding-welcome .onboarding-foot{padding-bottom:var(--space-xl)}.onboarding-welcome .onboarding-cta{gap:var(--space-sm);max-width:none}.onboarding-welcome .onboarding-cta>.btn{width:100%;padding-block:16px;font-size:17px}
