.lifeforce-game{color:var(--lf-text);container:lf/inline-size}.lf-stage{gap:var(--space-3);width:100%;max-width:1120px;min-height:0;padding:var(--space-2) var(--space-4) var(--space-3);flex:1;grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"hud""pane""timeline";margin-inline:auto;display:grid}.lf-stage>.lf-hud{grid-area:hud}.lf-stage>.lf-timeline{grid-area:timeline}.lf-stage__pane{border-radius:14px;grid-area:pane;justify-content:center;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden}.lf-stage__pane .grid-container{aspect-ratio:auto;width:100%;max-width:none;height:100%;max-height:none}.lf-stage__board{justify-content:center;align-items:center;transition:filter .3s ease-out,opacity .3s ease-out;display:flex;position:absolute;inset:0}.lf-stage__board.is-dimmed{filter:saturate(.85)brightness(.92)}.lf-stage__board.is-gone{display:none}@media (width<=768px),(height<=500px){.lf-stage{padding-inline:var(--space-3);min-height:calc(100dvh - 124px - env(safe-area-inset-bottom,0px));flex:none;grid-template-rows:auto minmax(min(100vw - 24px,360px),1fr) auto}.lf-stage__pane{width:100%;min-height:260px}}@media (height<=500px) and (orientation:landscape){.lf-stage{align-items:start;column-gap:var(--space-4);grid-template:"pane hud""pane timeline"minmax(0,1fr)/auto minmax(0,1fr)}.lf-stage__pane{width:calc(100dvh - 140px);min-width:200px;height:calc(100dvh - 140px);min-height:200px}.lf-stage>.lf-timeline{align-self:end}}.lifeforce-game--retro .lf-stage__pane:after{content:"";pointer-events:none;z-index:3;background:repeating-linear-gradient(#ffffff09 0 1px,#0000 1px 3px);position:absolute;inset:0}.lf-hud{align-items:end;gap:var(--space-3);grid-template-columns:minmax(0,1fr) minmax(0,auto) minmax(0,1fr);padding-bottom:10px;display:grid;position:relative}.lf-hud__plate{--lf-pc:var(--lf-p1);border:1px solid var(--lf-border);background:var(--lf-card);border-radius:12px;flex-direction:column;gap:3px;min-width:0;min-height:84px;padding:8px 12px;transition:opacity .22s ease-out,border-color .22s ease-out,box-shadow .22s ease-out,background-color .22s ease-out;display:flex}.lf-hud__plate--p2{--lf-pc:var(--lf-p2);text-align:right;align-items:flex-end}.lf-hud__plate.is-turn{border-color:var(--lf-pc);box-shadow:0 0 0 1px var(--lf-pc), 0 8px 24px -8px var(--lf-pc)}.lf-hud__plate.is-waiting{opacity:.55}.lf-hud__plate.is-out{opacity:.5}.lf-hud__plate.is-winner{border-color:var(--lf-pc);background:color-mix(in srgb, var(--lf-pc) 14%, var(--lf-card));box-shadow:0 0 0 1px var(--lf-pc), 0 10px 32px -10px var(--lf-pc)}.lf-hud__who{min-width:0;max-width:100%;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--lf-pc);align-items:center;gap:6px;display:flex}.lf-hud__plate--p2 .lf-hud__who{flex-direction:row-reverse}.lf-hud__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lf-hud__crown{color:var(--lf-pc);flex-shrink:0}.lf-hud__score{align-items:baseline;gap:6px;display:flex}.lf-hud__plate--p2 .lf-hud__score{flex-direction:row-reverse}.lf-hud__count{font-family:var(--font-mono);font-size:clamp(1.5rem,3.6cqi,2.25rem);font-weight:var(--font-bold);font-variant-numeric:tabular-nums;color:var(--lf-text);line-height:1}.lf-hud__unit{font-size:var(--text-xs);color:var(--lf-muted);white-space:nowrap}.lf-hud__pips{flex-wrap:wrap;gap:3px;max-width:172px;display:flex}.lf-hud__plate--p2 .lf-hud__pips{justify-content:flex-end}.lf-hud__centre{text-align:center;flex-direction:column;align-items:center;gap:2px;max-width:38cqi;padding-bottom:4px;display:flex}.lf-hud__kicker{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.12em;text-transform:uppercase;color:var(--lf-muted)}.lf-hud__headline{font-size:clamp(1.05rem,2.4cqi,1.5rem);font-weight:var(--font-bold);color:var(--lf-text);text-wrap:balance;line-height:1.2}.lf-hud__headline--p1{color:var(--lf-p1)}.lf-hud__headline--p2{color:var(--lf-p2)}.lf-hud__gen{align-items:baseline;gap:6px;display:inline-flex}.lf-hud__gen-n{font-family:var(--font-mono);font-size:clamp(1.9rem,5cqi,2.9rem);font-weight:var(--font-bold);font-variant-numeric:tabular-nums;color:var(--lf-text);line-height:1}.lf-hud__gen-of{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--lf-muted)}.lf-hud__status{min-height:2.7em;font-size:var(--text-xs);color:var(--lf-muted);text-wrap:balance;line-height:1.35}.lf-hud__settling{color:var(--lf-text);align-items:center;gap:5px;display:inline-flex}.lf-hud__share{opacity:0;gap:2px;height:4px;transition:opacity .3s ease-out;display:flex;position:absolute;bottom:0;left:0;right:0}.lf-hud__share.is-on{opacity:1}.lf-hud__share-p1,.lf-hud__share-p2{border-radius:2px;transition:flex-grow .26s cubic-bezier(.2,0,0,1)}.lf-hud__share-p1{flex:var(--lf-share) 1 0;background:var(--lf-p1)}.lf-hud__share-p2{flex:calc(1 - var(--lf-share)) 1 0;background:var(--lf-p2)}@container lf (width<=560px){.lf-hud{align-items:stretch;row-gap:var(--space-2);column-gap:var(--space-2);grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"p1 p2""centre centre"}.lf-hud__plate--p1{grid-area:p1}.lf-hud__plate--p2{grid-area:p2}.lf-hud__centre{grid-area:centre;max-width:none;padding-bottom:2px}.lf-hud__plate{padding:6px 10px}.lf-hud__gen-n{font-size:2rem}.lf-hud__pips{max-width:none}}.lf-countdown{z-index:4;justify-content:center;align-items:center;gap:var(--space-2);background:radial-gradient(closest-side, color-mix(in srgb, var(--lf-bg) 72%, transparent), color-mix(in srgb, var(--lf-bg) 30%, transparent));pointer-events:none;flex-direction:column;display:flex;position:absolute;inset:0}.lf-countdown__n{font-family:var(--font-mono);font-size:clamp(4.5rem,16cqi,9rem);font-weight:var(--font-bold);color:var(--lf-text);line-height:1;animation:.42s cubic-bezier(.05,.7,.1,1) both lf-count-in}.lf-countdown__label{font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.18em;text-transform:uppercase;color:var(--lf-muted)}.lf-countdown__ring{border:3px solid var(--lf-p1);width:56cqmin;min-width:200px;height:56cqmin;min-height:200px;box-shadow:0 0 18px color-mix(in srgb, var(--lf-p1) 45%, transparent), inset 0 0 18px color-mix(in srgb, var(--lf-p1) 30%, transparent);border-radius:50%;margin:-28cqmin 0 0 -28cqmin;animation:.9s cubic-bezier(0,0,0,1) both lf-ring;position:absolute;top:50%;left:50%}.lf-countdown.is-go .lf-countdown__n{color:var(--lf-p1)}.lf-countdown.is-go .lf-countdown__ring{border-color:var(--lf-p2);animation-duration:.52s}.lf-countdown--geometric .lf-countdown__n{color:var(--lf-p2)}.lf-countdown--organic .lf-countdown__n{text-shadow:0 0 28px color-mix(in srgb, var(--lf-p1) 70%, transparent)}.lf-countdown--retro .lf-countdown__n{color:var(--lf-p1);text-shadow:0 0 10px var(--lf-p1), 0 0 26px var(--lf-p1), 4px 4px 0 var(--lf-p2)}@keyframes lf-count-in{0%{opacity:0;transform:scale(1.5)}to{opacity:1;transform:scale(1)}}@keyframes lf-ring{0%{opacity:.9;transform:scale(.35)}to{opacity:0;transform:scale(1.25)}}.lf-spacetime{z-index:2;opacity:0;pointer-events:none;background:radial-gradient(120% 95% at 50% 38%, color-mix(in srgb, var(--lf-p1) 7%, var(--lf-bg)), var(--lf-bg) 70%);transition:opacity .32s ease-out;position:absolute;inset:0}.lf-spacetime.is-shown.is-ready{opacity:1;pointer-events:auto}.lf-sculpture{outline:none;position:absolute;inset:0}.lf-sculpture--3d{cursor:grab;touch-action:none}.lf-sculpture--3d:active{cursor:grabbing}@media (width<=768px),(height<=500px){.lf-sculpture--3d{touch-action:pan-y}}.lf-sculpture:focus-visible{box-shadow:inset 0 0 0 2px var(--lf-p1);border-radius:14px}.lf-sculpture__canvas{width:100%;height:100%;display:block}.lf-timeline{align-items:center;gap:var(--space-2);grid-template-columns:minmax(0,1fr);display:grid}.lf-timeline.is-finale{grid-template-columns:auto minmax(0,1fr) auto auto}.lf-timeline__track{background:color-mix(in srgb, var(--lf-card) 70%, transparent);border:1px solid var(--lf-border);border-radius:10px;height:44px;position:relative;overflow:hidden}.lf-timeline__canvas{width:100%;height:100%;position:absolute;inset:0}.lf-timeline__caption{font-family:var(--font-mono);font-size:var(--text-2xs,.6875rem);letter-spacing:.14em;text-transform:uppercase;color:var(--lf-muted);pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.lf-timeline--simulation .lf-timeline__caption{opacity:.8;justify-content:flex-end;padding-right:10px}.lf-timeline__range{opacity:0;cursor:ew-resize;touch-action:none;width:100%;height:100%;margin:0;position:absolute;inset:0}.lf-timeline__track:has(.lf-timeline__range:focus-visible){outline:2px solid var(--lf-p1);outline-offset:2px}.lf-timeline__head{background:var(--lf-text);pointer-events:none;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0}.lf-timeline__head:before{content:"";background:var(--lf-text);border-radius:2px;width:10px;height:10px;margin-left:-5px;position:absolute;top:-1px;left:50%;transform:rotate(45deg)translate(-2px,-2px)}.lf-timeline__btn{border:1px solid var(--lf-border);background:var(--lf-card);width:44px;height:44px;color:var(--lf-text);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;padding:0;transition:border-color .15s ease-out,background-color .15s ease-out,color .15s ease-out;display:inline-flex}.lf-timeline__btn:hover{border-color:var(--lf-p1)}.lf-timeline__btn.is-on{background:var(--lf-text);border-color:var(--lf-text);color:var(--lf-bg)}.lf-timeline__views{gap:4px;display:inline-flex}.lf-timeline__readout{min-width:3.4em;font-family:var(--font-mono);flex-direction:column;align-items:flex-end;line-height:1.05;display:inline-flex}.lf-timeline__readout-k{font-size:var(--text-2xs,.6875rem);letter-spacing:.12em;text-transform:uppercase;color:var(--lf-muted)}.lf-timeline__readout-n{font-size:var(--text-lg);font-weight:var(--font-bold);font-variant-numeric:tabular-nums;color:var(--lf-text)}@container lf (width<=520px){.lf-timeline.is-finale{grid-template-columns:auto minmax(0,1fr) auto}.lf-timeline__readout{display:none}}.lf-pregame{gap:var(--space-5);width:100%;max-width:1120px;padding:var(--space-3) var(--space-4) var(--space-5);margin-inline:auto;display:grid}@container lf (width>=860px){.lf-title{align-items:center;column-gap:var(--space-4);grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);grid-template-areas:"head picture""steps steps"}.lf-title__head{grid-area:head}.lf-title__picture{grid-area:picture;height:clamp(260px,32cqi,360px)}.lf-title__steps{grid-area:steps}.lf-title__name{font-size:clamp(2.2rem,4.5cqi,3.4rem)}.lf-pregame{align-items:center;gap:var(--space-6);padding-top:var(--space-4);grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)}}.lf-title{gap:var(--space-3);display:grid}.lf-title__head{text-align:left}.lf-title__name{overflow-wrap:normal;word-break:keep-all;font-size:clamp(2.4rem,7cqi,4.25rem);font-weight:var(--font-bold);letter-spacing:-.035em;color:var(--lf-p2);margin:0;line-height:.95}.lifeforce-game--organic .lf-title__name{color:var(--lf-p1);text-shadow:0 0 36px color-mix(in srgb, var(--lf-p1) 45%, transparent)}.lifeforce-game--retro .lf-title__name{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--lf-p1);text-shadow:0 0 10px var(--lf-p1), 0 0 24px var(--lf-p1), 3px 3px 0 var(--lf-p2)}.lf-title__tag{margin:var(--space-2) 0 0;max-width:34ch;font-size:var(--text-base);color:var(--lf-muted);line-height:1.45}.lf-title__picture{height:clamp(190px,25cqi,280px);position:relative}.lf-title__column{width:100%;height:100%;display:block}.lf-title__steps{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.lf-title__step{align-items:start;gap:var(--space-3);font-size:var(--text-sm);color:var(--lf-muted);grid-template-columns:48px minmax(0,1fr);line-height:1.45;display:grid}.lf-title__step strong{font-size:var(--text-xs);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--lf-text);margin-bottom:2px;display:block}.lf-title__diagram{width:48px;height:48px}.lf-setup{gap:var(--space-4);padding:var(--space-5);border:1px solid var(--lf-border);background:var(--lf-card);box-shadow:var(--lf-shadow);border-radius:18px;display:grid}.lf-setup__title{margin:0 0 var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.14em;text-transform:uppercase;color:var(--lf-muted)}.lf-setup__players{gap:var(--space-2);display:grid}.lf-setup__player{align-items:center;gap:var(--space-3);display:flex}.lf-setup__input{min-width:0;min-height:44px;padding:var(--space-2) var(--space-3);font-size:var(--text-base);color:var(--lf-text);background:var(--lf-bg);border:1.5px solid var(--lf-border);border-radius:10px;flex:1}.lf-setup__input::placeholder{color:var(--lf-muted);opacity:1}.lf-setup__input:focus{border-color:var(--lf-pc,var(--lf-p1));box-shadow:0 0 0 3px color-mix(in srgb, var(--lf-pc,var(--lf-p1)) 25%, transparent);outline:none}.lf-setup__sizes{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.lf-setup__choice{min-height:44px;padding:var(--space-2);border:1.5px solid var(--lf-border);color:var(--lf-text);cursor:pointer;background:0 0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;transition:border-color .15s ease-out,background-color .15s ease-out,transform .15s ease-out;display:flex}.lf-setup__choice:hover{border-color:var(--lf-p1)}.lf-setup__choice[aria-pressed=true]{border-color:var(--lf-p1);background:color-mix(in srgb, var(--lf-p1) 12%, transparent)}.lf-setup__choice-label{font-size:var(--text-sm);font-weight:var(--font-semibold)}.lf-setup__choice-desc{font-size:var(--text-xs);color:var(--lf-muted);font-variant-numeric:tabular-nums;text-align:center}.lf-setup__size-glyph{gap:1px;display:grid}.lf-setup__size-glyph i{background:var(--lf-grid);border-radius:1px;width:4px;height:4px;display:block}.lf-setup__choice[aria-pressed=true] .lf-setup__size-glyph i{background:var(--lf-p1)}.lf-setup__dims{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.lf-setup__dim{min-height:76px;padding:var(--space-2);background:var(--dim-bg);cursor:pointer;border:2px solid #0000;border-radius:12px;flex-direction:column;align-items:center;gap:6px;transition:border-color .15s ease-out,transform .15s ease-out;display:flex}.lf-setup__dim[aria-pressed=true]{border-color:var(--dim-p1);box-shadow:0 0 0 3px color-mix(in srgb, var(--dim-p1) 25%, transparent)}.lf-setup__dim-cells{gap:3px;display:flex}.lf-setup__dim-name{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--dim-text)}.lf-setup__dim-mood{font-size:var(--text-xs);color:var(--dim-muted)}.lf-setup__toggle{align-items:center;gap:var(--space-3);cursor:pointer;min-height:44px;display:flex}.lf-setup__toggle input{opacity:0;width:1px;height:1px;position:absolute}.lf-setup__switch{background:var(--lf-grid);border-radius:12px;flex-shrink:0;width:40px;height:24px;transition:background-color .15s ease-out;position:relative}.lf-setup__switch:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .18s cubic-bezier(.2,0,0,1);position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.lf-setup__toggle input:checked+.lf-setup__switch{background:var(--lf-p1)}.lf-setup__toggle input:checked+.lf-setup__switch:after{transform:translate(16px)}.lf-setup__toggle input:focus-visible+.lf-setup__switch{outline:2px solid var(--lf-p1);outline-offset:2px}.lf-setup__toggle-text{font-size:var(--text-sm);color:var(--lf-text);flex-direction:column;display:flex}.lf-setup__toggle-text small{font-size:var(--text-xs);color:var(--lf-muted)}.lf-setup__hint{font-size:var(--text-sm);color:var(--lf-muted);margin:0}@media (width<=420px){.lf-setup{padding:var(--space-4)}.lf-setup__sizes{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.lf-countdown__ring{display:none}.lf-countdown__n{animation:.2s linear both lf-fade}.lf-hud__plate,.lf-hud__share-p1,.lf-hud__share-p2,.lf-stage__board,.lf-spacetime,.lf-setup__choice,.lf-setup__switch:after{transition-duration:0s}.lf-spacetime{transition:opacity .2s linear}}@keyframes lf-fade{0%{opacity:0}to{opacity:1}}
