@keyframes drift{0%{background-position:0 0}to{background-position:0 calc(var(--gap)*-1)}}@keyframes rotate{0%{background-color:color-mix(in oklch,var(--acc) 20%,transparent);transform:rotate(0deg)}to{background-color:color-mix(in oklch,var(--txt) 10%,transparent);transform:rotate(360deg)}}@keyframes blink-border{0%,to{border-color:var(--sec)}50%{border-color:transparent}}@keyframes zen-pulse{0%,to{opacity:.2;transform:scale(.95)}50%{transform:scale(1.05);opacity:1}}@keyframes cell-lock{0%{transform:scale(1);box-shadow:.25rem .25rem 0 var(--txt)}50%{transform:scale(1.15);box-shadow:.4rem .4rem 0 var(--txt)}to{transform:scale(1);background:var(--slv);color:var(--bg);border-color:var(--slv);box-shadow:.25rem .25rem 0 color-mix(in oklch,var(--slv) 50%,black)}}@keyframes rotatehue{to{filter:hue-rotate(1turn)}}@keyframes fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-6px)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}:root{--header-h:5rem;--footer-h:4rem;--pad:1.25rem;--radius-soft:1.5rem;--radius-sharp:0.25rem;--radius-flag:1.5rem 0.8rem 0.8rem 1.5rem;--radius-check:0.8rem;--radius-next:0.8rem 1.5rem 1.5rem 0.8rem;--shadow:0 12px 40px rgba(0, 0, 0, 0.2);--border:1px solid color-mix(in oklch, var(--txt) 18%, transparent);--font-title:"Anthony", "IosevkaWb", "RelaxedTypingMonoJP-Regular", system-ui,
        sans-serif;--font-mono:"IosevkaWb", "MonaspaceRadonNF", "RelaxedTypingMonoJP-Regular",
        monospace;--text-base:1.1rem;--text-sm:0.9rem;--text-lg:1.5rem}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{height:100%;margin:0;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}body,main.app{min-height:100svh}body{overflow:hidden;background:var(--bg);background-image:linear-gradient(to bottom in oklab,var(--bg) 0%,30%,var(--bg-mid) 50%,var(--bg) 100%);color:var(--txt);font-family:var(--font-mono);font-size:var(--text-base);line-height:1.6;-webkit-font-smoothing:antialiased;touch-action:manipulation;position:relative}body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;--gap:3rem;--line:1px;--grid-color:color-mix(in oklch, var(--gc) 18%, transparent);background-image:linear-gradient(-90deg,transparent calc(var(--gap) - var(--line)),var(--grid-color) calc(var(--gap) - var(--line) + 1px),var(--grid-color) var(--gap)),linear-gradient(0deg,transparent calc(var(--gap) - var(--line)),var(--grid-color) calc(var(--gap) - var(--line) + 1px),var(--grid-color) var(--gap));background-size:var(--gap) var(--gap);mask-image:linear-gradient(to bottom,transparent 0,#000 30%,#000 70%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 30%,#000 70%,transparent 100%);animation:drift 8s linear infinite;will-change:background-position}main.app{flex-direction:column;padding:calc(var(--header-h) + var(--pad) + env(safe-area-inset-top)) var(--pad) calc(var(--footer-h) + var(--pad) + env(safe-area-inset-bottom)) var(--pad)}.page-loader{position:fixed;inset:0;background-color:var(--bg);z-index:200;display:grid;place-items:center;transition:opacity .3s cubic-bezier(.25,.46,.45,.94)}.page-loader.is-hiding{opacity:0;pointer-events:none}.loader-equation,main.app{display:flex;justify-content:center}.loader-equation{align-items:center;gap:.5rem;font-family:var(--font-title);font-weight:700;font-size:2.2rem;color:var(--sec);user-select:none;-webkit-user-select:none}.loader-cell{display:inline-flex;justify-content:center;width:2.5ch;min-height:1em;font-variant-numeric:tabular-nums;will-change:transform}.loader-cell.equals,.loader-cell:nth-child(2){width:1.5ch;color:var(--txt)}.activity-loader-overlay{position:fixed;inset:0;display:grid;place-items:center;z-index:10;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .2s ease-in-out}.activity-loader-overlay.is-visible{opacity:1;pointer-events:auto}.loader{position:relative;width:50px;height:50px}.loader>div{position:absolute;width:100%;height:100%;border:2px solid var(--acc);border-radius:var(--radius-sharp)}.loaderBox1{animation:rotate 4.5s linear infinite reverse}.loaderBox2{animation:rotate 3.5s linear infinite}.app-header{position:fixed;inset:0 0 auto 0;height:var(--header-h);padding-top:env(safe-area-inset-top);z-index:20;border-bottom:var(--border);display:grid;place-items:center}.title{display:inline-flex;align-items:center;gap:.1rem;font-family:var(--font-title);font-size:2.8rem;letter-spacing:.03em;cursor:crosshair;-webkit-user-select:none;user-select:none}.dl-embedded{width:1.719rem;height:3rem;transform:translateY(4px)}.start-screen{position:fixed;inset:0;z-index:100;background:var(--bg);padding:var(--pad);display:grid;place-items:center;overflow-y:hidden}.start-content{display:flex;flex-direction:column;align-items:center;text-align:left;max-width:480px;width:100%}.start-logo img{width:27.5px;height:48px;display:block;margin:0 212px 10px 0}#term1>*,.poem{font-family:var(--font-mono)}.poem{color:var(--txt);font-size:14px;font-weight:italic;line-height:1.65;white-space:pre-wrap;margin:0 0 32px}.start-info{display:inline-block;width:auto;color:var(--sec);font-size:.8rem;font-weight:700;border:2px dashed var(--sec);text-align:center;opacity:.9;padding:.2rem .8rem;animation:blink-border 2.5s infinite ease-in-out}.start-screen.is-leaving{pointer-events:none;transition:opacity .4s ease,transform .4s ease;opacity:0;transform:scale(1.02)}.panel{width:100%;max-width:600px;margin:0 auto}.equation,.term{display:flex;justify-content:center}.equation{min-height:20rem;flex-direction:column;align-items:center;margin-bottom:4rem;gap:1.2rem;will-change:transform}.term{min-height:4rem;font-family:var(--font-title);font-size:2.2rem;flex-wrap:wrap;gap:.75rem 1rem}#term1>*{font-size:1rem}.cell{color:var(--txt);min-width:3rem;height:4rem;padding:0 .5rem;display:grid;place-items:center;border-radius:var(--radius-sharp);background:color-mix(in oklch,var(--bg) 96%,var(--txt));border:1px solid transparent}.cell.locked{background:var(--sec);color:var(--bg);border-color:var(--sec);box-shadow:.18rem .18rem 0 color-mix(in oklch,var(--sec) 50%,black)}.cell.editable{background:var(--bg);border-color:var(--acc);color:var(--txt);cursor:pointer;box-shadow:.18rem .18rem 0 var(--txt)}.cell.editable:hover{transform:translate(-.125rem,-.125rem);box-shadow:.375rem .375rem 0 var(--txt)}.cell.editable:empty::before{content:"?";font-size:1rem;color:var(--txt);animation:zen-pulse 4s cubic-bezier(.4,0,.2,1) infinite}.cell.editable:empty:focus::before,.cell.editable:empty:hover::before{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.cell.editable:empty::before{animation:none}}.is-flagged #btn-check,.is-flagged #btn-flag,.is-solved #btn-check,.is-solved #btn-flag{filter:blur(1px);opacity:.9;pointer-events:none;transition:filter .4s ease,opacity .4s ease}.is-flagged #btn-flag.btn{transform:translateX(calc(50% + .5rem + 50%));opacity:0;pointer-events:none}.is-flagged #btn-check.btn{transform:scale(.5);opacity:0;pointer-events:none}.is-flagged #btn-next.btn{position:absolute;left:50%;top:50%;box-shadow:0 0 4px var(--acc);border-color:var(--acc);border-radius:var(--radius-check);transform:translate(-50%,-50%) scale(1.2);opacity:1;animation:rotatehue 1.6s;transition:transform .4s ease,box-shadow .4s ease,border-color .4s ease;z-index:10}.cell.is-solving{animation:rotatehue .2s ease-in-out,cell-lock 1.2s ease-out forwards}.is-solved #btn-flag.btn{transform:translateX(calc(50% + .5rem + 50%));opacity:0;pointer-events:none}.is-solved #btn-check.btn{transform:scale(.5);opacity:0;pointer-events:none}.is-solved #btn-next.btn{position:absolute;left:50%;top:50%;box-shadow:0 0 4px var(--acc);border-color:var(--acc);border-radius:var(--radius-check);transform:translate(-50%,-50%) scale(1.2);opacity:1;animation:rotatehue 1.6s infinite alternate;transition:transform .4s ease,box-shadow .4s ease,border-color .4s ease;z-index:10}.equals-row{font-family:var(--font-mono);font-size:2.2rem;opacity:.9}.controls{text-align:center}.btn-row{position:relative;display:flex;justify-content:center;gap:1rem;margin-bottom:5rem;flex-wrap:wrap}.btn{appearance:none;background:0 0;border:1px solid var(--txt);color:var(--txt);font-family:var(--font-mono);font-size:1rem;padding:.6rem 1.2rem;border-radius:var(--radius-soft);cursor:pointer;transition:all .2s ease}:focus-visible{outline:2px dashed var(--ter);outline-offset:-4px;border-radius:var(--radius-soft)}.btn:hover,.pill-toggle label:hover{animation:rotatehue .8s}.btn:active{transform:scale(.96)}.btn-primary{background:var(--txt);color:var(--bg);border-radius:var(--radius-check);border-color:var(--txt);font-weight:700}#btn-flag.btn{border-radius:var(--radius-flag)}#btn-flag.btn,#btn-next.btn,.btn-close{-webkit-backdrop-filter:blur(.8px);backdrop-filter:blur(.8px)}#btn-next.btn{border-radius:var(--radius-next)}.btn-close{border-radius:.8rem;font-size:.8rem;padding:.4rem 1rem}#btn-check,#btn-flag,#btn-next{transition:transform .6s ease-in-out,opacity .6s ease-in-out}.feedback{min-height:1.6em;font-size:1rem;color:var(--sec);white-space:pre-line;opacity:0;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease,color .1s ease;will-change:opacity,transform}.feedback.is-visible{opacity:1;transform:translateY(0)}.feedback.is-fading{animation:fade-out 240ms ease-out forwards}.feedback[data-tone=success],.modal-card a:hover{color:var(--sec)}.feedback[data-tone=neutral],.feedback[data-tone=warning]{color:var(--ter)}.app-footer{position:fixed;inset:auto 0 1rem 0;height:var(--footer-h);padding-bottom:env(safe-area-inset-bottom);z-index:20;border-top:var(--border);display:grid;place-items:center}.footer-nav{width:100%;display:grid;grid-template-columns:1fr auto 1fr;gap:1.5rem;align-items:center}#open-about{grid-column:1/2;justify-self:end}#open-settings{grid-column:2/3;justify-self:center}#open-sia{grid-column:3/4;justify-self:start}.linklike{background:0 0;border:0;font-family:var(--font-title);font-size:1.2rem;color:var(--txt);padding:.5rem;cursor:pointer;opacity:.9;transition:opacity .2s ease}.linklike:hover{opacity:1;animation:rotatehue .8s}#open-settings.linklike{font-size:1.5rem;line-height:1}.is-switching{opacity:0;filter:blur(1px);transform:translateY(2px);transition:opacity 160ms ease-in,filter 160ms ease-in,transform 160ms ease-in}.is-switching .modal-card h2,.is-switching .settings-list{transition-timing-function:ease-out}@media (prefers-reduced-motion:reduce){.is-switching,.modal-card h2,.settings-list{transition:none;filter:none;transform:none}.btn:hover{animation:none}}dialog.modal{background:0 0;border:0;padding:0;width:min(600px,90vw);max-height:85vh}dialog::backdrop{background:rgba(0,0,0,.6);backdrop-filter:blur(4px)}dialog[open] .modal-card{animation:fade-in 180ms ease-out}.modal-content{overflow-y:auto;padding-right:.5rem;margin-right:-.5rem;padding-top:.5rem;-ms-overflow-style:none;scrollbar-width:none;contain:layout style paint;mask-image:linear-gradient(to bottom,transparent 0,#000 1.5rem,#000 calc(100% - 1.5rem),transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 1.5rem,#000 calc(100% - 1.5rem),transparent 100%)}#sia-list::-webkit-scrollbar,.modal-content::-webkit-scrollbar{display:none}#about-dialog .modal-content,#sia-dialog .modal-content{padding-bottom:1.5rem}#settings-dialog .modal-content{padding-bottom:0}.modal-actions{margin-top:1.5rem;margin-bottom:1.5rem;display:flex;justify-content:center;flex-shrink:0}.modal-card{background:var(--bg);border-top:2px solid var(--acc);border-left:2px solid var(--acc);border-bottom:2px solid var(--txt);border-right:2px solid var(--txt);border-radius:var(--radius-sharp);padding:1.5rem 1.25rem;box-shadow:var(--shadow);color:var(--txt);display:flex;flex-direction:column;max-height:85vh;position:relative}.modal-card::before{content:"";position:absolute;border-radius:inherit;inset:0;z-index:0;pointer-events:none;--grid:color-mix(in oklch, var(--gc) 8%, transparent);background-image:linear-gradient(to right,var(--grid) 1px,transparent 1px),linear-gradient(to bottom,var(--grid) 1px,transparent 1px);background-size:1.1rem 1.1rem;mask-image:linear-gradient(to top,#000 0,#000 40%,transparent 100%);-webkit-mask-image:linear-gradient(to top,#000 0,#000 40%,transparent 100%);opacity:.6}.modal-card h2{font-family:var(--font-title);font-size:1.6rem;margin-top:0;margin-bottom:1rem;flex-shrink:0}.modal-card h3{font-size:1.2rem;font-family:var(--font-mono);font-style:none}.modal-card p{margin-top:.5rem}.modal-card .credits{padding-left:1.25rem;margin:0 0 1.5rem}.modal-card a{color:var(--ter);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;transition:color .2s ease}.modal-card:focus{outline:0}#sia-list{list-style:none;padding-left:.25rem;margin:0;max-height:13rem;overflow-y:auto;-ms-overflow-style:none;scrollbar-width:none;scroll-behavior:smooth}.scroll-fade-container{position:relative}.scroll-fade-container::after,.scroll-fade-container::before{content:"";position:absolute;left:0;right:0;z-index:1;pointer-events:none}.scroll-fade-container::before{top:0;height:.5rem;background:linear-gradient(to bottom,var(--bg),transparent)}.scroll-fade-container::after{bottom:0;height:1rem;background:linear-gradient(to top,var(--bg),transparent)}#sia-count,.sia-item{font-size:.9rem;text-align:center}.sia-item{margin-bottom:1.1rem;font-family:var(--font-mono);cursor:pointer}@media (hover:hover){.sia-item:hover{color:var(--acc)}}#sia-count{align-self:center;display:inline-block;width:auto;margin-top:1.5rem;font-weight:700;color:var(--sec);border:2px dashed var(--sec);opacity:.9;padding:.2rem .8rem;animation:blink-border 2.5s infinite ease-in-out;transform:translateZ(0);will-change:transform}.settings-list{display:flex;flex-direction:column;gap:1.5rem;margin:1rem 0}.setting-row{min-height:2.639rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.setting-row>label{font-size:1.1rem;font-family:var(--font-mono);flex-shrink:0;line-height:1.2}.pill-toggle{display:flex;border:1px solid var(--txt);border-radius:var(--radius-soft);overflow:hidden;-webkit-backdrop-filter:blur(.8px);backdrop-filter:blur(.8px)}.pill-toggle input[type=radio]{display:none}.pill-toggle label{font-family:var(--font-mono);font-size:.8rem;padding:.3rem .8rem;cursor:pointer;text-align:center;transition:color .2s ease;font-weight:400;white-space:nowrap}.pill-toggle input[type=radio]:checked+label{background-color:var(--txt);color:var(--bg)}.pill-chain{overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none}.pill-chain::-webkit-scrollbar{display:none}.pill-chain label{border-right:1px solid var(--txt)}.pill-chain label:last-of-type{border-right:none}.picker-backdrop{position:fixed;inset:0;z-index:70;opacity:0;transition:opacity 220ms ease;will-change:opacity;pointer-events:none}.picker-backdrop.is-visible{opacity:1;pointer-events:auto}@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.picker-backdrop{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}}@media (prefers-reduced-motion:reduce){.picker-backdrop{transition:none}}.radial-picker{position:fixed;z-index:90;transform:translate(-50%,-50%);width:calc(var(--r)*2 + 8rem);height:calc(var(--r)*2 + 8rem);pointer-events:none;will-change:transform}.radial-item,.wheel-picker{background:var(--bg);border:1px solid color-mix(in oklch,var(--txt) 25%,transparent);border-radius:1.25rem;pointer-events:auto}.radial-item{position:absolute;left:50%;top:50%;width:4rem;height:4rem;color:var(--txt);font-family:var(--font-mono);font-size:1.125rem;cursor:pointer}.radial-item:hover{transform:scale(1.1);border:1px solid var(--txt)}.radial-item,.radial-picker[data-layout=full] .radial-item{transform:translate(-50%,-50%) translate(calc(cos((var(--i)*60deg) - 90deg)*var(--r)),calc(sin((var(--i)*60deg) - 90deg)*var(--r)))}.radial-picker[data-layout=right-half] .radial-item{transform:translate(-50%,-50%) translate(calc(cos((var(--i)*-36deg) + 90deg)*var(--r)),calc(sin((var(--i)*-36deg) + 90deg)*var(--r)))}.radial-picker[data-layout=left-half] .radial-item{transform:translate(-50%,-50%) translate(calc(cos((var(--i)*36deg) + 90deg)*var(--r)),calc(sin((var(--i)*36deg) + 90deg)*var(--r)))}.wheel-picker{position:fixed;z-index:90;transform:translate(-50%,0);width:5rem;padding:.5rem;box-shadow:0 8px 8px rgba(0,0,0,.22);display:grid;place-items:center;gap:.25rem;scroll-behavior:smooth}.wheel-arrow{background:0 0;border:0;color:var(--txt);font-size:1.125rem;padding:.375rem .625rem;opacity:.9;cursor:pointer}.wheel-arrow:active{transform:scale(.95)}.wheel-value{font-family:var(--font-title);font-size:2rem;line-height:1.1}.donate-intro{align-self:center;display:inline-block;width:auto;font-size:.9rem;font-weight:700;color:var(--sec);border:2px dashed var(--sec);text-align:center;opacity:.9;margin:.5rem 0 1.5rem;padding:.2rem .8rem;animation:blink-border 2.5s infinite ease-in-out}.donate-grid{display:grid;grid-template-columns:1fr;gap:2rem}.donate-box{padding:.75rem .85rem;border:1px solid color-mix(in oklch,var(--txt) 40%,transparent);border-radius:var(--radius-sharp);background-color:color-mix(in oklch,var(--bg) 48%,transparent)}.donate-box h3{color:var(--txt);margin:0 0 .5rem}.donate-copy-btn{background:0 0;border:0;padding:0;margin:0;width:100%;text-align:left;font-family:inherit;position:relative;cursor:pointer;border-radius:.3rem;contain:layout style paint}.donate-copy-btn .donate-code{display:block;font-family:var(--font-mono);font-size:1rem;color:var(--txt);line-height:1.5;word-break:break-all;padding:.4rem .5rem;border:2px dashed color-mix(in oklch,var(--txt) 40%,transparent);border-radius:.3rem;background:color-mix(in oklch,var(--bg) 88%,var(--acc))}@media (hover:hover){.donate-copy-btn:hover .donate-code{border-color:var(--txt);background:color-mix(in oklch,var(--bg) 88%,var(--txt));transition:border-color .15s ease,background-color .15s ease}}.donate-copy-btn::after{content:attr(data-copied-text);position:absolute;inset:0;display:grid;place-items:center;background-color:var(--txt);color:var(--bg);border-radius:.3rem;font-size:1rem;font-weight:700;opacity:0;transform:scale(.8);transition:opacity .3s ease,transform .3s ease;pointer-events:none}.donate-copy-btn.is-copied::after{opacity:1;transform:scale(1)}@media (min-width:540px){.start-logo img{width:44px;height:76.8px;margin:0 270px 10px 0}.poem{font-size:18px;line-height:1.65;margin:0 0 32px}.start-info{font-size:18px;margin-top:48px}.equation{justify-content:center;margin-bottom:8rem;gap:1.6rem}.cell.locked{box-shadow:.25rem .25rem 0 color-mix(in oklch,var(--sec) 50%,black)}.cell.editable{box-shadow:.25rem .25rem 0 var(--txt)}.btn-row{gap:1rem;margin-bottom:8rem}.btn{font-size:1.2rem;padding:.8rem 1.4rem}.btn-close{border-radius:.8rem;font-size:1rem;padding:.6rem 1.2rem}.feedback{min-height:1.6em;font-size:1.2rem}.linklike{font-size:1.4rem;padding:.8rem}.modal-card{padding:2rem 2.5rem;border-top:3px solid var(--acc);border-left:3px solid var(--acc);border-bottom:3px solid var(--txt);border-right:3px solid var(--txt)}#sia-list{max-height:18.75rem}.settings-list{margin:1rem 0}.setting-row{gap:1.2rem}.setting-row>label{font-size:1.2rem}.pill-toggle label{font-family:var(--font-mono);font-size:1.1rem;padding:.4rem 1rem;cursor:pointer;text-align:center;transition:background-color .2s ease,color .2s ease;font-weight:400;white-space:nowrap}}@media (min-width:860px){.app-footer{height:calc(var(--footer-h) + 1rem)}.footer-nav{gap:2.5rem}.linklike{font-size:1.25rem}}@media (max-width:375px),(max-height:700px){:root{--header-h:3.5rem;--footer-h:2.5rem;--pad:1rem;--text-base:1rem;--text-lg:1.3rem}.equation{min-height:18rem;margin-bottom:2rem;gap:.8rem}.btn-row{margin-bottom:3rem;gap:.75rem}.term{font-size:1.8rem;min-height:3rem}#term1>*{font-size:.9rem}.cell{min-width:2.5rem;height:3.2rem;border-radius:.2rem}.btn{padding:.5rem 1rem;font-size:.9rem}.modal-card{padding:1rem}.modal-card h2{font-size:1.4rem;margin-bottom:.8rem}.start-logo img{width:22px;height:38.4px}}