.life{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;container-type:inline-size}.life:not(.life-setup){--bg-0: oklch(.2 .012 60);--bg-1: oklch(.25 .014 60);--border: oklch(.4 .015 60);--border-soft: oklch(.33 .014 60);--border-field: oklch(.55 .015 60);--text: oklch(.95 .01 85);--text-dim: oklch(.8 .012 80);--text-faint: oklch(.66 .014 75);--accent: oklch(.64 .15 24);--accent-bright: oklch(.7 .15 24);--accent-ink: oklch(.16 .01 60);background:var(--bg-0);color:var(--text);color-scheme:dark}.life-setup{overflow-y:auto;align-items:center;justify-content:center;padding:40px 24px}.life-setup-inner{width:min(460px,100%);text-align:center}.life-setup :is(h1,h2){font-size:34px;margin:0 0 26px}.life-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);margin:18px 0 10px}.life-formats{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.life-formats .chip{padding:8px 14px;font-size:14px}.life-formats .chip b{font-weight:700}.life-count{display:inline-flex;align-items:center;gap:18px}.life-count button{width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:var(--bg-0);color:var(--text-dim);font-size:22px;line-height:1;display:grid;place-items:center}.life-count button:hover{border-color:var(--text-faint);color:var(--text)}.life-count span{font-size:28px;font-weight:600;min-width:40px;font-variant-numeric:tabular-nums}.life-start{margin-top:30px;width:100%;height:48px}.life-back{display:block;margin:14px auto 0;font-size:14px}.life-bar{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;border-bottom:1px solid var(--border-soft);background:var(--bg-1)}.life-mode{font-size:13px;color:var(--text-dim)}.life-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.life-actions .tbtn{height:34px}@container (max-width: 520px){.life-bar{flex-wrap:wrap;gap:6px;padding:8px 10px}.life-mode{flex-basis:100%}.life-actions{justify-content:flex-start;gap:5px}.life-actions .tbtn{padding:0 8px;font-size:13px;height:32px}}.life-grid{flex:1;min-height:0;display:grid;gap:10px;padding:10px}.life-grid.p1,.life-grid.p2{grid-template-columns:1fr}.life-grid.p3 .life-tile:last-child{grid-column:span 2}.life-grid.p5{grid-template-columns:repeat(6,1fr)}.life-grid.p5 .life-tile{grid-column:span 2}.life-grid.p5 .life-tile:nth-child(n+4){grid-column:span 3}.life-grid.p3,.life-grid.p4{grid-template-columns:1fr 1fr}.life-grid.p6{grid-template-columns:1fr 1fr 1fr}@media (pointer: coarse){.life-grid.p2 .life-tile:first-child,:is(.life-grid.p3,.life-grid.p4) .life-tile:nth-child(-n+2),:is(.life-grid.p5,.life-grid.p6) .life-tile:nth-child(-n+3){transform:rotate(180deg)}}.life-tile{position:relative;overflow:hidden;border-radius:var(--radius-lg);background:var(--bg-1);border:1px solid var(--border-soft);box-shadow:inset 0 0 0 3px color-mix(in oklch,var(--tint) 22%,transparent);display:flex;flex-direction:column}.life-half{flex:1;display:grid;place-items:start center;padding-top:10px;min-height:64px;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;color:var(--text-faint);font-size:20px;transition:background .12s}.life-num+.life-half{place-items:end center;padding:0 0 10px}.life-half:hover{background:color-mix(in oklch,var(--tint) 10%,transparent)}.life-half:active{background:color-mix(in oklch,var(--tint) 20%,transparent)}.life-num{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;text-align:center;pointer-events:none;font-weight:600;font-variant-numeric:tabular-nums;font-size:clamp(52px,12vw,108px);line-height:1;color:var(--text)}.life-name{display:block;font-size:12px;font-weight:500;letter-spacing:.02em;text-transform:uppercase;color:var(--text-faint);margin:6px auto 0;width:12ch;text-align:center;background:none;border:0;border-bottom:1px dashed transparent;pointer-events:auto;font-family:inherit}.life-name:hover,.life-name:focus{border-bottom-color:var(--border);outline:none;color:var(--text)}.life-name::placeholder{color:var(--text-faint)}.life-marks{display:flex;gap:10px;justify-content:center;margin-top:6px;font-size:14px;color:var(--text-dim)}.life-tile.out{opacity:.45}.life-tile.out .life-num{text-decoration:line-through;text-decoration-thickness:3px}.life-more{position:absolute;right:8px;top:8px;z-index:2;height:28px;padding:0 9px;border-radius:14px;font-size:13px;color:var(--text-faint);background:var(--bg-0);border:1px solid var(--border-soft)}.life-more:hover,.life-more[aria-expanded=true]{color:var(--text);border-color:var(--text-faint)}.life-panel{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;background:var(--bg-1);overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:14px 16px}.life-panel>:first-child{margin-top:auto}.life-panel>:last-child{margin-bottom:auto}.life-row{width:min(340px,100%);align-self:center;display:grid;grid-template-columns:1fr 36px 3ch 36px;align-items:center;gap:8px;font-size:14px}.life-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.life-row small{color:var(--text-faint)}.life-row b{text-align:center;font-variant-numeric:tabular-nums;font-size:18px}.life-row button{height:36px;border-radius:50%;border:1px solid var(--border);background:var(--bg-0);font-size:18px}.life-panel-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:4px}.life-panel{container-type:inline-size}@container (max-width: 260px){.life-row{grid-template-columns:36px 1fr 36px;row-gap:2px}.life-row span{grid-column:1 / -1;text-align:center;white-space:normal}.life-panel-actions .tbtn{padding-inline:10px}}.life-sheet{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:grid;place-items:center;padding:20px;background:color-mix(in oklch,var(--bg-0) 70%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.life-sheet-inner{width:min(440px,100%);background:var(--bg-1);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:24px;text-align:center}.life-sheet-inner h2{margin:0 0 16px;font-size:26px}.life-winners{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:14px}.life-winners .chip{padding:9px 16px;font-size:15px}.life-sheet-actions{display:flex;gap:10px;margin-top:18px}.life-nudge{border-top:1px solid var(--border-soft);padding-top:14px;margin-top:4px}.life-nudge .btn{width:100%}.life-deck{width:100%;height:40px;border-radius:9px;border:1px solid var(--border-field);background:var(--bg-0);color:var(--text);padding:0 10px;font-size:14px}.life-pitch{margin-top:18px;font-size:13px;color:var(--text-dim);line-height:1.5}.linklike{color:var(--accent);font-weight:600;background:none;border:0;padding:0;cursor:pointer;font-size:inherit}.linklike:hover{text-decoration:underline}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.life-roll{font-size:30px;margin:0 0 18px;min-height:1.3em;animation:life-pop .25s var(--ease)}@keyframes life-pop{0%{transform:scale(.8);opacity:.3}}@media (prefers-reduced-motion: reduce){.life-roll{animation:none}}.life-rules{margin:4px 0 14px;font-size:14px}.life-rules a{color:var(--accent)}.life-log{list-style:none;margin:0 0 16px;padding:0;max-height:min(55vh,420px);overflow-y:auto;text-align:left;font-size:14px;border-top:1px solid var(--border-soft)}.life-log li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:7px 2px;border-bottom:1px solid var(--border-soft)}.life-log span{min-width:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.life-log time{flex:none;font-size:12px;color:var(--text-faint);font-variant-numeric:tabular-nums}.life-log-empty{color:var(--text-dim);margin:0 0 16px}.life-panel .life-deck{width:min(340px,100%);align-self:center;flex:none}
