@font-face{font-family:Work Sans;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8e3fbf4aa84d044b-s.3we0903o7i6f-.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Work Sans;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/57dc28f7118abe14-s.15emath8fyzqj.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Work Sans;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7ddd198311ba7843-s.p.31l30c9jv8unx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Work Sans Fallback;src:local(Arial);ascent-override:83.09%;descent-override:21.71%;line-gap-override:0.0%;size-adjust:111.93%}.work_sans_d03b530a-module__q8kjAG__className{font-family:Work Sans,Work Sans Fallback;font-style:normal}.work_sans_d03b530a-module__q8kjAG__variable{--font-work:"Work Sans", "Work Sans Fallback"}
@font-face{font-family:Libre Franklin;font-style:normal;font-weight:700;font-display:swap;src:url(../media/538358f30c80dc26-s.08w2mcvc0ct1k.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Libre Franklin;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0501779a2d6221b9-s.1navtm6gie0d6.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Libre Franklin;font-style:normal;font-weight:700;font-display:swap;src:url(../media/9912c0942cebeb65-s.2bd9vf4wrpb64.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Libre Franklin;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e7fe341fea591ebe-s.1d1-2joyf7xpo.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Libre Franklin;font-style:normal;font-weight:700;font-display:swap;src:url(../media/5c61aff10bda1347-s.p.25162en6t6rlo.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Libre Franklin Fallback;src:local(Arial);ascent-override:92.61%;descent-override:23.58%;line-gap-override:0.0%;size-adjust:104.31%}.libre_franklin_fba37366-module__IrWbnG__className{font-family:Libre Franklin,Libre Franklin Fallback;font-style:normal;font-weight:700}.libre_franklin_fba37366-module__IrWbnG__variable{--font-franklin:"Libre Franklin", "Libre Franklin Fallback"}
.ecce{--paper:#f3f6fa;--ink:#121212;--muted:#5f6368;--faint:#8e9196;--rule:#dfe3e8;--line:#cfd4da;--soft:#e8ecf1;--bad:#d4442f;--acc:#f05a43;--acc-on:#fff;--acc-t:#c4432e;--shadow:#00000029;--tile:40px;--gap:6px;--m:1;--amp:1;--pw:min(calc(100vw - 32px), 400px);--fit:calc((var(--pw) - 7 * var(--gap)) / 8);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark] .ecce{--paper:#13161b;--ink:#f2f2f0;--muted:#a3a3a0;--faint:#77776f;--rule:#2a2e35;--line:#3a3f47;--soft:#1c2027;--bad:#ef6a55;--acc-t:#f2735f;--shadow:#0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-reduced-motion:reduce){.ecce{--m:0;--amp:0}.ecce *,.ecce :before,.ecce :after{transition:none!important;animation:none!important}}.ecce{background:var(--paper);color:var(--ink);font-family:var(--font-work), "Helvetica Neue", Arial, sans-serif;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;margin:0;padding:0;font-size:16px;line-height:1.45;overflow-x:hidden}.ecce button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.ecce button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.ecce .app{flex-direction:column;max-width:432px;min-height:100dvh;margin:0 auto;padding:0 16px;display:flex}.ecce .wm{white-space:nowrap;line-height:1;font-family:var(--font-franklin), "Helvetica Neue", Arial, sans-serif;letter-spacing:.05em;font-weight:700;font-size:var(--wms,26px);align-items:baseline;display:inline-flex}.ecce .wm-sym{color:var(--acc-t);margin-left:.07em}.ecce .bar{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;min-height:52px;display:flex}.ecce .icons{gap:2px;display:flex}.ecce .ib{width:38px;height:38px;color:var(--ink);border-radius:50%;place-items:center;display:grid}.ecce .ib svg{width:20px;height:20px}.ecce .ib[aria-pressed=false]{color:var(--faint)}.ecce .meta{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);justify-content:space-between;align-items:center;min-height:30px;padding:10px 0 0;font-size:12px;font-weight:700;display:flex}.ecce .meta .l{align-items:center;gap:8px;display:flex}.ecce .badge{min-width:22px;height:22px;box-shadow:inset 0 0 0 1.5px var(--acc);color:var(--acc-t);letter-spacing:0;border-radius:999px;place-items:center;padding:0 5px;font-size:12px;display:inline-grid}.ecce .badge+span{letter-spacing:.06em;font-weight:600}.ecce .strikes{align-items:center;gap:5px;display:flex}.ecce .strikes .x{font:700 15px/1 var(--font-work), sans-serif;color:var(--line)}.ecce .strikes .x.used{color:var(--bad)}.ecce .tl{--sz:min(var(--tile), var(--fit));width:var(--sz);height:var(--sz);font:700 calc(var(--sz) * .5) / 1 var(--font-work), sans-serif;text-transform:uppercase;-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.ecce .row{justify-content:center;gap:var(--gap);display:flex}.ecce .tk{background:var(--ink);color:var(--paper)}.ecce .ta{background:var(--acc);color:var(--acc-on)}.ecce .tn{background:color-mix(in srgb, var(--acc) 22%, var(--paper));color:var(--ink)}.ecce .sky{height:calc(min(var(--tile), var(--fit)) * 2.7 + 14px);margin-top:6px;position:relative}.ecce .fl{--sz:min(calc(var(--tile) * 1.04), calc(var(--fit) * 1.1));left:calc(var(--x) * (100% - var(--sz)));top:calc(var(--y) * (100% - var(--sz)));background:var(--acc);color:var(--acc-on);transition:opacity calc(.22s * var(--m));animation:ecce-bob calc(3.4s + var(--i) * .45s) ease-in-out infinite;animation-delay:calc(var(--i) * -.7s);position:absolute}.ecce .fl.picked{opacity:.18}.ecce .fl.born{animation:ecce-settle calc(.45s * var(--m)) ease-out both}.ecce .fl.leaving{animation:ecce-fadeout calc(.3s * var(--m)) ease-out both;pointer-events:none}.ecce .sky-empty{color:var(--faint);place-items:center;font-size:14px;display:grid;position:absolute;inset:0}@keyframes ecce-bob{0%,to{transform:translateY(0)}50%{transform:translateY(calc(-4px * var(--amp)))}}@keyframes ecce-settle{0%{opacity:0;transform:translateY(calc(-8px * var(--amp)))}to{opacity:1;transform:none}}@keyframes ecce-fadeout{0%{opacity:.18}to{opacity:0}}.ecce .curw{justify-content:center;padding-top:6px;display:flex}.ecce .cur{--fitc:calc((var(--pw) - 28px - (var(--n) - 1) * var(--gap)) / var(--n))}.ecce .cur .tl{--sz:min(calc(var(--tile) * 1.2), var(--fitc))}.ecce .cur .tl.picked{opacity:.22}.ecce .pop .tl{animation:ecce-pop calc(.32s * var(--m)) ease-out both}@keyframes ecce-pop{0%{opacity:.4;transform:scale(.9)}to{opacity:1;transform:none}}.ecce .linew{width:min(100%,330px);margin:14px auto 0;position:relative}.ecce .line{min-height:calc(min(var(--tile), var(--fit)) + 12px);border-bottom:3px solid var(--ink);justify-content:center;align-items:flex-end;gap:2px;padding:0 32px 8px;display:flex}.ecce .ty{--sz:min(var(--tile), var(--fit));width:auto;min-width:calc(var(--sz) * .62);font-size:calc(var(--sz) * .62);color:var(--ink);border-radius:0}.ecce .ty.ff{color:var(--acc-t)}.ecce .ty.arr{animation:ecce-pop calc(.18s * var(--m)) ease-out both}.ecce .line.shake{animation:ecce-shake calc(.38s * var(--m))}@keyframes ecce-shake{20%,60%{transform:translateX(calc(-6px * var(--amp)))}40%,80%{transform:translateX(calc(6px * var(--amp)))}}.ecce .bk{width:32px;height:32px;color:var(--muted);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:6px;right:0}.ecce .bk svg{width:20px;height:20px}.ecce .prompt{text-align:center;min-height:40px;color:var(--muted);padding:8px 4px 0;font-size:14px}.ecce .prompt.err{color:var(--ink);font-weight:600}.ecce .prompt.ok{color:var(--acc-t);font-weight:700}.ecce .prev{color:var(--muted);letter-spacing:.06em;flex-wrap:wrap;justify-content:center;gap:2px 8px;min-height:22px;font-size:13px;display:flex}.ecce .prev span+span:before{content:"→";color:var(--faint);margin-right:8px}.ecce .acts{justify-content:center;gap:8px;padding:10px 0 2px;display:flex}.ecce .btn{min-width:104px;height:46px;box-shadow:inset 0 0 0 1.5px var(--line);border-radius:999px;padding:0 20px;font-size:15px;font-weight:700}.ecce .btn.pri{background:var(--ink);color:var(--paper);box-shadow:none}.ecce .btn:disabled{opacity:.4;cursor:default}.ecce .links{justify-content:center;gap:14px;padding:2px 0 8px;font-size:14px;display:flex}.ecce .lnk{color:var(--muted);text-underline-offset:3px;padding:8px 4px;text-decoration:underline}.ecce .lnk:disabled{opacity:.35;cursor:default}.ecce .endgame{background:var(--rule);border-radius:2px;height:3px;margin:8px 0 0;position:relative}.ecce .eg-bar{background:var(--faint);transition:width calc(.1s * var(--m)) linear;border-radius:2px;position:absolute;inset:0 auto 0 0}.ecce .endgame.on .eg-bar{background:var(--bad)}.ecce .eg-n{font:700 12px/1 var(--font-work), sans-serif;font-variant-numeric:tabular-nums;color:var(--bad);position:absolute;top:6px;right:0}.ecce .setting{justify-content:space-between;align-items:center;gap:10px;padding:8px 0;font-size:14px;display:flex}.ecce .seg{gap:4px;display:flex}.ecce .seg button{border:1px solid var(--rule);color:var(--ink);border-radius:999px;padding:6px 10px;font-size:13px}.ecce .seg button.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.ecce .foot{padding:18px 0 calc(14px + env(safe-area-inset-bottom));text-align:center;letter-spacing:.08em;color:var(--faint);margin-top:auto;font-size:11px}.ecce .res{text-align:center;justify-items:center;gap:12px;padding:18px 0 8px;display:grid}.ecce .res h1{font:800 26px/1.15 var(--font-work), sans-serif;letter-spacing:-.01em;margin:0}.ecce .res .sub{color:var(--muted);margin:0;font-size:14px}.ecce .tier{letter-spacing:.1em;text-transform:uppercase;background:var(--acc);color:var(--acc-on);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:800;display:inline-block}.ecce .tier.common{color:var(--muted);box-shadow:inset 0 0 0 1.5px var(--line);background:0 0}.ecce .tierx{color:var(--muted);margin:-6px 0 0;font-size:12px}.ecce .tower{justify-items:center;gap:5px;display:grid}.ecce .tower .tl{--sz:min(calc(var(--tile) * .6), calc(var(--fit) * .85))}.ecce .tower .row{gap:4px}.ecce .lostx{color:var(--bad);letter-spacing:.2em;font-weight:800}.ecce .longest{border-top:1px solid var(--rule);width:100%;color:var(--muted);padding-top:12px;font-size:14px}.ecce .longest b{color:var(--ink);letter-spacing:.06em}.ecce .stats{grid-template-columns:repeat(3,1fr);gap:8px;width:100%;display:grid}.ecce .stats div{background:color-mix(in srgb, var(--ink) 5%, var(--paper));border-radius:10px;padding:9px 4px}.ecce .stats b{font-variant-numeric:tabular-nums;font-size:22px;display:block}.ecce .stats span{color:var(--muted);font-size:12px}.ecce .dist{font-variant-numeric:tabular-nums;gap:4px;width:100%;font-size:12px;display:grid}.ecce .dist .dr{grid-template-columns:18px 1fr;align-items:center;gap:8px;display:grid}.ecce .dist .dr>span:first-child{color:var(--muted);text-align:right}.ecce .dist .bar2{background:color-mix(in srgb, var(--ink) 14%, var(--paper));min-width:22px;height:18px;color:var(--ink);border-radius:4px;justify-content:flex-end;align-items:center;padding:0 6px;font-weight:700;display:flex}.ecce .dist .bar2.me{background:var(--ink);color:var(--paper)}.ecce .nudge{margin:0;font-size:14px}.ecce .sharebtns{grid-template-columns:1fr 1fr;gap:8px;width:100%;display:grid}.ecce .sharebtns .btn{min-width:0;padding:0 10px}.ecce .small{color:var(--muted);margin:0;font-size:13px}.ecce .scrim{z-index:40;background:color-mix(in srgb, var(--paper) 55%, #00000059);animation:ecce-fadein calc(.18s * var(--m)) ease-out both;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.ecce .sheet{background:var(--paper);border:1px solid var(--rule);border-radius:18px;gap:12px;width:min(100%,380px);max-height:calc(100dvh - 32px);padding:22px 20px 20px;display:grid;overflow-y:auto;box-shadow:0 20px 50px -20px #00000073}.ecce .sheet h2{margin:0;font-size:20px;font-weight:800}.ecce .sheet ul{gap:6px;margin:0;padding-left:18px;font-size:15px;display:grid}.ecce .example{letter-spacing:.06em;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;padding:10px 0;font-weight:700;display:flex}.ecce .example i{color:var(--faint);font-style:normal}.ecce .example em{color:var(--acc-t);font-style:normal}@keyframes ecce-fadein{0%{opacity:0}}.ecce .sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ecce .modes{letter-spacing:.08em;text-transform:uppercase;justify-content:center;gap:18px;padding-top:6px;font-size:12px;font-weight:700;display:flex}.ecce .modes a{color:var(--faint);border-bottom:2px solid #0000;padding:4px 2px;text-decoration:none}.ecce .modes a[aria-current=page]{color:var(--ink);border-bottom-color:var(--ink)}.ecce .opts{text-align:left;border-top:1px solid var(--rule);gap:6px;width:100%;padding-top:12px;display:grid}.ecce .opts h2{margin:0;font-size:15px;font-weight:800}.ecce .og{grid-template-columns:22px 1fr;align-items:baseline;gap:8px;display:grid}.ecce .ol{color:var(--muted);text-align:right;font-size:12px;font-weight:700}.ecce .ow{letter-spacing:.05em;color:var(--faint);flex-wrap:wrap;gap:4px 6px;font-size:13px;font-weight:600;display:flex}.ecce .ow span,.ecce mark.hl{border-radius:999px;padding:1px 6px}.ecce .ow .hl,.ecce mark.hl{background:color-mix(in srgb, var(--acc) 22%, var(--paper));color:var(--ink)}.ecce .ow span.gentle:before,.ecce .gentle-key:before{content:"";background:var(--acc);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:5px;display:inline-block}.ecce .ow span.hl.me,.ecce .ow .me{box-shadow:inset 0 0 0 1.5px var(--ink);color:var(--ink)}.ecce .foot{justify-content:center;gap:0;display:flex}.ecce .foot .mirror{display:inline-block;transform:scaleX(-1)}html:has(.ecce){background:#f3f6fa}html:has(.ecce) body{background:#f3f6fa}html[data-theme=dark]:has(.ecce){background:#13161b}html[data-theme=dark]:has(.ecce) body{background:#13161b}.ecce{font-feature-settings:normal;flex:1}
