@font-face{font-family:FAE Pixel Greek;src:url(data:font/woff2;base64,d09GMgABAAAAAAFoAAoAAAAAAvQAAAEeAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAANAqBBIELATYCJAMGCwYABCAFeAcqG0ACAC4K7IbjE1V93B9h1JoaPk2Lh/9fa/f9GcQliVbRuofQzBIeN9Lw2MRSgMbpYdOUkIE8/Q9Qf7a/3F75We74F2FUFgUa+q+Dz4Msi1sWiOZ54GGEQdysE/EUnt7b2ouyeAhK5CIsosVK9matH1ReX4DqdxMyNKdwM9ePfAyyNzi1AkACOQITmALkgJjYq2J7pUKlCl153MZg0B/eL7a3Td0KRApYt1Nt7YvjgKf7QCC4uvuNul6eZf/hr+feem2YOAvIJBAs5qJ4MGw4EgCAiAcMCyQTAiQAAOQWBAh1CJCUqZOJvELo1dpPSa25jeX1S/58wC++R/UbNixb16/g2K19Z/ptOrdv36kt+w5dObPtXJJy8lnccrl9BQAA)format("woff2");unicode-range:U+3C4;font-display:swap}:root{interpolate-size:allow-keywords;--pink:#fa08a0;--ink:#0c030e;--paper:#fff2f9;--paper-2:#fbdcee;--ink-2:#241327;--signal:#36e6ff;--soft:#2e021e;--soft-dark:#f7a6d6;--pink-text:#b30070;--plum:#5c0a3e;--hot:var(--pink-text);--sans:"Helvetica Neue", Helvetica, Arial, sans-serif;--pixel:"FAE Pixel Greek", var(--font-vt323);--pixel-head:var(--font-silkscreen);--t-display:clamp(64px, 10.4vw, 168px);--t-head:clamp(40px, 5.6vw, 88px);--t-statement:clamp(22px, 2.2vw, 32px);--t-body:17px;--t-small:14px;--m:clamp(16px, 2vw, 28px);--gap:clamp(96px, 9vw, 136px);--stack:clamp(48px, 4.5vw, 72px);--ease:cubic-bezier(.2, .7, .1, 1)}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{background:var(--pink);color:var(--ink);font-family:var(--sans);font-size:var(--t-body);-webkit-text-size-adjust:100%;line-height:1.5}body{background:var(--pink);margin:0}h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0;padding:0}ul,ol{list-style:none}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration-skip-ink:none}button{font:inherit;color:inherit}::selection{background:var(--ink);color:var(--pink)}:focus-visible{outline:3px solid var(--signal);outline-offset:3px}.sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{left:var(--m);z-index:10;background:var(--ink);color:var(--pink);padding:10px 14px;position:absolute;top:-60px}.skip:focus{top:var(--m)}h2{font-size:var(--t-head);letter-spacing:-.045em;font-weight:700;line-height:.95}@media (width<=640px){:root{--gap:80px}}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@view-transition{navigation:auto}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none}.button{color:inherit;font-family:var(--sans);letter-spacing:-.01em;text-underline-offset:5px;padding:10px 0;font-size:18px;text-decoration:underline 1.5px #0c030e59;transition:text-decoration-color .2s;display:inline-block}@media (hover:hover){.button:hover{color:var(--hot);text-decoration-color:currentColor}}.button:active{opacity:.6}.button.solid{background:var(--ink);min-height:48px;color:var(--paper);align-items:center;gap:10px;padding:0 20px;font-size:18px;text-decoration:none;transition:background-color .18s,color .18s;display:inline-flex}@media (hover:hover){.button.solid:hover{background:var(--pink);color:var(--ink)}}.button.solid:active{opacity:1;transform:translateY(1px)}:root{--face:var(--paper-2);--hi:#fff;--lo:#b98aa7;--raised:inset -1px -1px var(--ink), inset 1px 1px var(--paper), inset -2px -2px var(--lo), inset 2px 2px var(--hi);--pressed:inset -1px -1px var(--hi), inset 1px 1px var(--ink), inset -2px -2px var(--paper), inset 2px 2px var(--lo);--sunken:inset -1px -1px var(--hi), inset 1px 1px var(--lo), inset -2px -2px var(--paper), inset 2px 2px var(--ink)}.win{border:2px solid var(--ink);background:var(--paper);color:var(--ink);font-family:var(--pixel);font-size:20px;line-height:1.15}.win .bar{background:var(--ink);color:var(--paper);font-family:var(--pixel);letter-spacing:0;justify-content:space-between;align-items:center;gap:12px;padding:3px 8px 2px;font-size:18px;font-weight:400;display:flex}.win .bar h3{font:inherit}.win .bar a{color:var(--signal);text-decoration:none}@media (hover:hover){.win .bar a:hover{text-decoration:underline}}.win-body{gap:10px;padding:12px;display:grid}.win .big{background:var(--ink);color:var(--paper);font-family:var(--pixel-head);text-transform:uppercase;justify-self:start;padding:2px 8px 0;font-size:clamp(26px,2.6vw,40px);line-height:1.05}.chips{flex-wrap:wrap;gap:6px;display:flex}.chips>*{background:var(--paper-2);color:var(--ink);padding:0 6px;text-decoration:none}@media (hover:hover){.chips a:hover{background:var(--signal)}}.k{color:var(--pink-text);text-transform:uppercase;font-size:16px}.evalset{font-family:var(--pixel);user-select:none;font-size:18px;position:absolute;inset:0}.evalset-stage{position:absolute;inset:0}.evalset-stage canvas{width:100%;height:100%;display:block}.evalset-hit{z-index:3;background:var(--signal);color:var(--ink);white-space:nowrap;pointer-events:none;opacity:0;padding:0 6px;transition:opacity .18s;position:absolute;top:0;left:0}.evalset-hit.on{opacity:1}.title-bar{user-select:none}.title-bar-controls{gap:2px;display:flex}.title-bar-controls button,.title-bar-controls .ctl{background:var(--face) no-repeat;width:18px;height:16px;box-shadow:var(--raised);cursor:pointer;border:0;padding:0;display:block}.title-bar-controls span.ctl{cursor:default}@media (pointer:coarse){.title-bar-controls button,.title-bar-controls a.ctl{position:relative}.title-bar-controls button:after,.title-bar-controls a.ctl:after{content:"";position:absolute;inset:-22px -1px -3px}}.title-bar-controls a.ctl:active,.title-bar-controls button:active{box-shadow:var(--pressed)}.title-bar-controls button:focus-visible,.title-bar-controls .ctl:focus-visible{outline:1px dotted var(--paper);outline-offset:1px}.title-bar-controls [aria-label=Minimize]{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='6' height='2' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%230c030e' d='M0 0h6v2H0z'/%3E%3C/svg%3E");background-position:left 5px bottom 3px}.title-bar-controls [aria-label=Maximize]{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='9' height='9' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' d='M9 0H0v9h9V0zM8 2H1v6h7V2z' fill='%230c030e'/%3E%3C/svg%3E");background-position:4px 3px}.title-bar-controls [aria-label=Restore]{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='8' height='9' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%230c030e' d='M2 0h6v2H2zM7 2h1v4H7zM2 2h1v1H2zM6 5h1v1H6zM0 3h6v2H0zM5 5h1v4H5zM0 5h1v4H0zM1 8h4v1H1z'/%3E%3C/svg%3E");background-position:5px 3px}.title-bar-controls [aria-label=Close]{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='8' height='7' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' d='M0 0h2v1h1v1h2V1h1V0h2v1H7v1H6v1H5v1h1v1h1v1h1v1H6V6H5V5H3v1H2v1H0V6h1V5h1V4h1V3H2V2H1V1H0V0z' fill='%230c030e'/%3E%3C/svg%3E");background-position:5px 4px;margin-left:2px}.title-bar-text{align-items:center;gap:6px;display:inline-flex}.title-bar-text:before{content:"";width:16px;height:16px;image-rendering:pixelated;background:url(/logo.svg) 0 0/100% 100%;flex:none}.dialog .title-bar-text:before{content:none}.dialog{z-index:6;background:var(--face);min-width:min(360px,90%);max-width:calc(100% - 32px);box-shadow:var(--raised);font-family:var(--pixel);border:0;margin:0 auto;padding:3px;position:absolute;inset:auto 0}.modal:after{content:"";z-index:5;position:absolute;inset:0}.dialog-body{gap:14px;padding:16px 14px 12px;font-size:20px;display:grid}.dialog-actions{justify-content:flex-end;gap:6px;display:flex}.dialog-btn{min-width:76px;font-family:var(--pixel);background:var(--face);height:26px;box-shadow:var(--raised);color:var(--ink);border:0;padding:0 10px;font-size:18px}.dialog-btn:active{box-shadow:var(--pressed)}.dialog-btn:focus-visible{outline:1px dotted var(--ink);outline-offset:-4px}.pane .bar{font-size:20px}.pane-task{align-content:start;gap:10px;padding:20px 24px 24px;display:grid}.pane-task .pane-title{font-family:var(--sans);letter-spacing:-.03em;margin-bottom:10px;font-size:clamp(24px,2.2vw,32px);font-weight:700;line-height:1.05}.pane-rows{gap:14px;display:grid}.pane-rows .row{grid-template-columns:150px minmax(0,1fr);align-items:baseline;gap:16px;display:grid}.pane-rows dt{color:var(--pink-text);text-transform:uppercase;font-size:16px}.pane-rows dt .by{color:var(--soft);text-transform:none;white-space:nowrap;display:block}.pane-rows dd{overflow-wrap:anywhere;margin:0;padding:6px 10px;font-size:20px;line-height:1.2}.row-input dd{background:color-mix(in srgb, var(--paper-2), var(--pink) 14%)}.row-output dd{border:2px solid var(--ink)}.row-result dd{background:var(--ink);color:var(--pink);justify-self:start}.row-graded-by dd{color:var(--soft);font-size:18px}.pane-go{justify-self:start;margin-top:6px;font-size:17px}.pane-task:has(.pane-link){transition:background-color .18s;position:relative}.pane-rows a{z-index:1;color:inherit;text-underline-offset:4px;text-decoration:underline 1.5px;position:relative}@media (hover:hover){.pane-rows a:hover{color:var(--pink-text)}}.pane-link:after{content:"";position:absolute;inset:0}@media (hover:hover){.pane-task:has(.pane-link:hover){background:color-mix(in srgb, var(--paper-2) 55%, var(--paper))}.pane-task:has(.pane-link:hover) .pane-link{color:var(--pink-text);text-decoration-color:currentColor}}.pane-link:focus-visible{outline:none}.pane-task:has(.pane-link:focus-visible){outline:3px solid var(--signal);outline-offset:-3px}@media (width<=640px){.pane-task{padding:16px}.pane-rows .row{grid-template-columns:minmax(0,1fr);gap:4px}}.logo-mark{width:calc(var(--mark) * var(--w) * var(--k,1));aspect-ratio:var(--w) / var(--h);translate:0 calc(var(--vy,0) * -100%);color:var(--mark-ink);flex:none;display:block;position:relative}.logo-mark svg{width:100%;height:100%;display:block;position:absolute;inset:0}.logo-mark[data-bits] .logo-vector{visibility:hidden}:root{--glow:drop-shadow(0 0 1px #36e6fff2) drop-shadow(0 0 8px #36e6ff99) drop-shadow(0 0 26px #36e6ff4d);--glow-hot:brightness(1.55) drop-shadow(0 0 1px #ffffffe6) drop-shadow(0 0 10px #36e6ffd9) drop-shadow(0 0 32px #36e6ff73)}.phosphor{--mark-ink:var(--signal);background:radial-gradient(60% 90% at 50% 62%, #36e6ff14, transparent 70%), var(--ink);color:var(--signal);text-shadow:0 0 8px #36e6ff99;position:relative;overflow:hidden}.phosphor:after{content:"";pointer-events:none;background:repeating-linear-gradient(#0000 0 2px,#0c030e61 2px 3px);position:absolute;inset:0}.phosphor .logo-mark>*{filter:var(--glow-now,var(--glow));transition:filter .24s}.phosphor-label{font-family:var(--pixel);letter-spacing:0;text-transform:uppercase;font-weight:400;line-height:1;display:block}@media (prefers-reduced-motion:reduce){.phosphor .logo-mark>*{transition:none}}.face{vertical-align:-1px;width:24px;height:14px;margin:0 3px;display:inline-block}.face svg{width:100%;height:100%;fill:var(--ink);display:block;overflow:visible}.face .wink-shut{opacity:0}[data-face-line]{cursor:default;-webkit-tap-highlight-color:transparent}@media (prefers-reduced-motion:no-preference){.face.wink{animation:.52s step-end both face-hop}.face.wink .wink-open{animation:.52s step-end both face-wink}.face.wink .wink-shut{animation:.52s step-end both face-shut}}@keyframes face-hop{0%{transform:translateY(0)}20%{transform:translateY(-4px)}45%{transform:translateY(0)}60%{transform:translateY(-2px)}75%,to{transform:translateY(0)}}@keyframes face-wink{0%,15%{opacity:1}16%,70%{opacity:0}71%,to{opacity:1}}@keyframes face-shut{0%,15%{opacity:0}16%,70%{opacity:1}71%,to{opacity:0}}
