.sheets{flex-direction:column;gap:12px;display:flex}.sheet{border:2px dotted var(--rule-strong);background:var(--paper-2);transform-origin:12% 0;padding:12px 14px 14px;position:relative}.sheet-head{flex-wrap:wrap;justify-content:space-between;gap:8px 16px;margin-bottom:10px;display:flex}.sheet-head .label{font-size:10.5px}.sheet.frozen{background:repeating-linear-gradient(135deg, transparent 0 7px, var(--rule) 7px 8px), var(--paper-2)}.cells{grid-template-columns:repeat(24,minmax(0,1fr));gap:4px;display:grid}.cells .c{aspect-ratio:1;font-family:var(--f-mono);border:0;place-items:center;min-width:0;padding:0;font-size:11px;font-stretch:75%;line-height:1;display:grid;position:relative}.c.u:before{content:"";background:var(--rule-strong);width:3px;height:3px}.c.l{background:var(--cobalt);color:var(--on-cobalt);cursor:pointer}.c.l:hover{box-shadow:3px 3px 0 var(--pink)}.c.l.sel{outline:2px solid var(--pink);outline-offset:2px;z-index:1}.lab-tip{z-index:40;pointer-events:none;background:var(--ink);color:var(--paper);font-family:var(--f-mono);max-width:260px;box-shadow:3px 3px 0 var(--pink);flex-direction:column;gap:2px;padding:8px 10px;font-size:11px;font-stretch:87.5%;line-height:1.45;display:flex;position:fixed;top:0;left:0}.lab-tip b{font-weight:600}.lab-tip span{opacity:.78}.frozen .c.l{background:color-mix(in srgb, var(--cobalt) 45%, var(--paper));color:var(--ink);cursor:not-allowed}.c.s{background:linear-gradient(135deg, transparent calc(50% - .75px), var(--rule-strong) calc(50% - .75px) calc(50% + .75px), transparent calc(50% + .75px));box-shadow:inset 0 0 0 1px var(--rule)}.dying .c.l:after{content:"";background:var(--pink);width:5px;height:5px;position:absolute;top:2px;right:2px}.c.fl{animation:1s ease-out cfl}@keyframes cfl{0%{background:var(--pink);color:var(--on-pink);box-shadow:0 0 0 4px var(--pink)}to{}}.c.fs{animation:.9s ease-out cfs}@keyframes cfs{0%{box-shadow:inset 0 0 0 1px var(--rule), 0 0 0 0 var(--pink)}35%{box-shadow:inset 0 0 0 1px var(--rule), 0 0 0 4px var(--pink)}to{box-shadow:inset 0 0 0 1px var(--rule), 0 0 0 6px transparent}}.c.shake{animation:.45s shake}@keyframes shake{0%,to{transform:none}20%{transform:translate(-3px)}40%{transform:translate(3px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}.sheet.tear{animation:.7s cubic-bezier(.5,0,.75,0) forwards tear}@keyframes tear{to{opacity:0;transform:translateY(-26px)rotate(-4deg)}}.sheet.arrive{animation:.6s cubic-bezier(.2,.8,.2,1) arrive}@keyframes arrive{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.lab-side{flex-direction:column;gap:22px;display:flex}.controls{flex-wrap:wrap;gap:8px;display:flex}.controls .btn{min-height:42px;padding:0 16px;font-size:14.5px}.readout{min-height:6em;font-size:16px;line-height:1.5}.counters{gap:22px;display:flex}.counters div{flex-direction:column;gap:2px;display:flex}.counters b{font-family:var(--f-serif);font-size:34px;font-weight:400;line-height:1}.formula{border:1.5px solid var(--ink);font-family:var(--f-mono);flex-direction:column;gap:6px;padding:16px 18px;font-size:13px;font-stretch:87.5%;line-height:1.7;display:flex}.formula .k{color:var(--accent-text);font-weight:600}@media (width<=560px){.cells{grid-template-columns:repeat(12,minmax(0,1fr));gap:3px}.cells .c{font-size:10px}.sheet{padding:10px 10px 12px}}.stamp-lab:where(.astro-le6kuwkc){display:contents}.lineage-frame{border:1px solid var(--rule-cobalt);padding:18px 14px 10px;position:relative}.lineage-frame svg{width:100%;height:auto;display:block;overflow:visible}.lineage-frame .lab{font-family:var(--f-mono);letter-spacing:.08em;fill:var(--on-cobalt-muted);font-size:9.5px}.lineage-frame .edge-l{fill:none;stroke:#f3f3ef57;stroke-width:1.2px;transition:stroke .25s,stroke-width .25s}.lineage-frame .edge-l.on{stroke:var(--pink);stroke-width:2.2px}.lineage-frame .nd rect{fill:#0000;stroke:#f3f3ef8c;stroke-width:1px;transition:fill .25s,stroke .25s}.lineage-frame .nd text{font-family:var(--f-mono);fill:var(--on-cobalt);font-size:10px;transition:fill .25s}.lineage-frame .nd.on rect{fill:var(--pink);stroke:var(--pink)}.lineage-frame .nd.on text{fill:var(--on-pink)}
