@property --drop-hue{syntax:"<number>";inherits:true;initial-value:350}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--font-sans:"Bricolage Grotesque", system-ui, -apple-system, sans-serif;--font-serif:"Fraunces", Georgia, serif;--riso-pink:#ff4e91;--riso-blue:#007ac5;--riso-yellow:#f6d732;--riso-green:#10ae65;--riso-orange:#fa6e1d;--paper:var(--lightningcss-light,#f0f4f9)var(--lightningcss-dark,#121221);--paper-face:var(--lightningcss-light,#fcfeff)var(--lightningcss-dark,#212033);--ink:var(--lightningcss-light,#1d1d2f)var(--lightningcss-dark,#f4eee0);--grid:var(--lightningcss-light,#53526b12)var(--lightningcss-dark,#ece4cf0d);--bg-base:var(--paper);--fg-primary:var(--ink);--fg-secondary:var(--lightningcss-light,#4b4b5d)var(--lightningcss-dark,#bdb7a9);--fg-tertiary:var(--lightningcss-light,#707080)var(--lightningcss-dark,#8b8679);--success:var(--riso-green);--error:var(--riso-orange);--shadow:var(--ink);--halftone-opacity:var(--lightningcss-light,.08)var(--lightningcss-dark,.06);--radius:16px;--radius-sm:10px;--ease-spring:linear(0, .014, .054, .118, .205, .314, .443, .59, .748, .91, 1.064, 1.184, 1.255, 1.279, 1.265 67%, 1.227, 1.184, 1.143, 1.108, 1.083, 1.067, 1.058, 1.055 95%, 1.053)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@supports (color:lab(0% 0 0)){:root{--riso-pink:lab(60.9397% 80.7724 4.70439);--riso-blue:lab(48.3196% -7.6026 -51.6889);--riso-yellow:lab(86.7698% -.625789 77.5126);--riso-green:lab(62.622% -51.4213 26.5726);--riso-orange:lab(63.8238% 51.861 66.4907);--paper:var(--lightningcss-light,lab(95.9336% -.878274 -2.85884))var(--lightningcss-dark,lab(5.91824% 3.32857 -10.1378));--paper-face:var(--lightningcss-light,lab(99.4154% -.662535 -2.14634))var(--lightningcss-dark,lab(13.2039% 4.372 -12.3042));--ink:var(--lightningcss-light,lab(11.4583% 4.44783 -12.2828))var(--lightningcss-dark,lab(94.29% .280559 7.69063));--grid:var(--lightningcss-light,lab(35.8054% 4.51346 -14.2244/.07))var(--lightningcss-dark,lab(90.8624% .161499 11.6135/.05));--fg-secondary:var(--lightningcss-light,lab(32.4332% 3.25613 -10.7211))var(--lightningcss-dark,lab(74.5685% .306636 7.71002));--fg-tertiary:var(--lightningcss-light,lab(47.5721% 2.55516 -9.00849))var(--lightningcss-dark,lab(56.0063% .344098 7.73904))}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg-base);color:var(--fg-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;min-height:100dvh;font-size:16px;overflow-x:hidden}button{font:inherit;cursor:pointer;color:inherit}.bg-mesh{z-index:-2;pointer-events:none;--dot:color-mix(in oklch, var(--riso-pink) 55%, transparent);background-image:radial-gradient(var(--dot) 1.1px, transparent 1.5px), repeating-linear-gradient(0deg, var(--grid) 0 1px, transparent 1px 30px), repeating-linear-gradient(90deg, var(--grid) 0 1px, transparent 1px 30px);opacity:var(--lightningcss-light,.6)var(--lightningcss-dark,.45);background-size:26px 26px,100% 30px,30px 100%;animation:55s linear infinite alternate bg-drift;position:fixed;inset:-40px}@keyframes bg-drift{to{background-position:26px 26px,0 30px,30px 0}}.bg-grain{z-index:-1;pointer-events:none;opacity:var(--lightningcss-light,.06)var(--lightningcss-dark,.09);mix-blend-mode:var(--grain-blend,multiply);background-image:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}:root{--grain-blend:var(--lightningcss-light,multiply)var(--lightningcss-dark,overlay)}.app{flex-direction:column;gap:48px;max-width:920px;min-height:100dvh;margin:0 auto;padding:40px 24px 80px;display:flex;position:relative}.topbar{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.logo{font-family:var(--font-serif);font-variation-settings:"opsz" 144, "SOFT" 80, "WONK" 1;letter-spacing:-.02em;color:var(--ink);transform-origin:0 0;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;padding:.1em .12em .3em;font-size:clamp(46px,8vw,76px);font-weight:600;line-height:.82;position:relative;transform:rotate(-3deg)}.logo .ltr{will-change:transform;display:inline-block}.logo .ltr:first-child{transform:rotate(2deg)}.logo .ltr:nth-child(2){transform:rotate(-1deg)translateY(1px)}.logo .ltr:nth-child(3){transform:rotate(1.5deg)}.logo .ltr:nth-child(4){transform:rotate(-2deg)translateY(-1px)}.logo .ltr:nth-child(5){transform:rotate(1deg)}.logo .bang{width:.22em;height:.82em;margin-left:.04em;position:relative;transform:rotate(2deg)}.logo .bang-stem{background:var(--ink);clip-path:polygon(12% 0,88% 0,66% 100%,34% 100%);border-radius:.06em;width:.15em;height:.54em;position:absolute;top:.02em;left:50%;transform:translate(-50%)}.logo .bang-dot{background:var(--riso-pink);border-radius:50%;width:.2em;height:.2em;position:absolute;bottom:0;left:50%;transform:translate(-50%);box-shadow:1.5px 1.5px #9d034d66;box-shadow:1.5px 1.5px lab(33.9671% 57.9454 3.43779/.4)}.goo-defs{position:absolute}.drip-stage{pointer-events:none;z-index:1;filter:url(#ink-goo);position:absolute}.ink-blob{background:var(--c,var(--ink));transform-origin:top;will-change:transform, opacity;border-radius:50%/60% 60% 40% 40%;position:absolute}.meta{color:var(--fg-tertiary);letter-spacing:.04em;align-items:center;gap:10px;padding-top:8px;font-size:11px;font-weight:600;display:flex}.meta-num{font-variant-numeric:tabular-nums;font-family:var(--font-serif);color:var(--fg-secondary);font-size:15px}.meta-solved{font-variant-numeric:tabular-nums;color:var(--fg-secondary)}.meta-solved:empty{display:none}.btn-icon,.btn-new{background:var(--paper-face);border:2.5px solid var(--ink);color:var(--ink);box-shadow:3px 3px 0 var(--shadow);transition:transform .12s var(--ease-spring), box-shadow .12s ease;font-weight:700}.btn-icon{border-radius:12px 9px 13px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.btn-icon svg{width:17px;height:17px;display:block}.btn-icon.off{color:var(--fg-tertiary)}.btn-new{letter-spacing:.02em;border-radius:11px 8px 13px 9px;padding:7px 14px;font-size:12px}.btn-icon:hover,.btn-new:hover{box-shadow:1px 1px 0 var(--shadow);transform:translate(2px,2px)rotate(-1deg)}.btn-icon:active,.btn-new:active{box-shadow:0 0 0 var(--shadow);transform:translate(3px,3px)}.stage{flex-direction:column;gap:22px;display:flex}.instruction{color:var(--fg-secondary);text-align:center;max-width:34ch;margin:0 auto;font-size:15px;font-weight:500}.plop-word{color:var(--riso-pink);cursor:default;transition:margin-right .4s var(--ease-spring);font-weight:800;display:inline-block;position:relative}.plop-word:after{content:"!";opacity:0;transform-origin:0;transition:opacity .2s ease, transform .4s var(--ease-spring);margin-left:.05em;position:absolute;top:0;left:100%;transform:scale(.3)}.plop-word:hover{animation:plop-bounce .6s var(--ease-spring);margin-right:.5em}.plop-word:hover:after{opacity:1;transition-delay:.14s;transform:scale(1)}@keyframes plop-bounce{0%{transform:scale(1)rotate(0)}30%{transform:scale(1.28)rotate(-8deg)}55%{transform:scale(.9)rotate(6deg)}78%{transform:scale(1.12)rotate(-3deg)}to{transform:scale(1)rotate(0)}}.plop-word.signoff:after{content:none}.plop-word.signoff{transition:margin-left .4s var(--ease-spring)}.plop-word.signoff:hover{margin-left:.5em;margin-right:0}.plop-word.persist{margin-right:.5em}.plop-word.persist:after{opacity:1;transform:scale(1)}.plop-word.persist:hover:after{animation:plop-pop .5s var(--ease-spring)}@keyframes plop-pop{0%{transform:scale(1)rotate(0)}45%{transform:scale(1.5)rotate(-10deg)}to{transform:scale(1)rotate(0)}}.axis-rail{letter-spacing:.12em;color:var(--fg-tertiary);text-transform:uppercase;justify-content:center;align-items:center;gap:12px;padding:0 4px;font-size:11px;font-weight:700;display:flex}.axis-end{transition:transform .2s var(--ease-spring);backface-visibility:hidden;flex:none;display:inline-block;transform:translateZ(0)}.axis-end:first-child{opacity:.8;font-size:9px}.axis-end:last-child{font-size:13px}.axis-dots{align-items:center;gap:7px;display:flex}.axis-dots i{background:var(--fg-tertiary);opacity:var(--o,.5);transition:transform .2s var(--ease-spring);border-radius:50%;display:block}.axis-dots i:first-child{--o:.3;width:4px;height:4px}.axis-dots i:nth-child(2){--o:.45;width:6px;height:6px}.axis-dots i:nth-child(3){--o:.6;width:8px;height:8px}.axis-dots i:nth-child(4){--o:.78;width:10px;height:10px}.axis-dots i:nth-child(5){--o:.95;width:12px;height:12px}.axis-rail:hover .axis-end:first-child{animation:1.8s ease-in-out infinite less-bob}.axis-rail:hover .axis-dots i{animation:1.8s ease-in-out infinite dot-pulse}.axis-rail:hover .axis-dots i:first-child{animation-delay:.15s}.axis-rail:hover .axis-dots i:nth-child(2){animation-delay:.3s}.axis-rail:hover .axis-dots i:nth-child(3){animation-delay:.45s}.axis-rail:hover .axis-dots i:nth-child(4){animation-delay:.6s}.axis-rail:hover .axis-dots i:nth-child(5){animation-delay:.75s}.axis-rail:hover .axis-end:last-child{animation:1.8s ease-in-out .9s infinite more-bob}@keyframes dot-pulse{0%,to{opacity:var(--o,.5);transform:scale(1)}50%{opacity:1;transform:scale(1.4)}}@keyframes less-bob{0%,to{transform:scale(1)}50%{transform:scale(.8)}}@keyframes more-bob{0%,to{transform:scale(1)}50%{transform:scale(1.28)}}.shooting-star{background:linear-gradient(to left, var(--riso-pink), transparent);width:20px;height:3px;box-shadow:0 0 8px var(--riso-pink);pointer-events:none;z-index:40;border-radius:3px;position:fixed}.tiles{grid-template-columns:repeat(5,1fr);gap:12px;display:grid;position:relative}.tile{background:var(--paper-face);border:2.5px solid var(--ink);letter-spacing:.07em;text-transform:uppercase;min-width:0;color:var(--ink);text-align:center;font-size:clamp(13px,3vw,17px);font-weight:600;font-family:var(--font-sans);box-shadow:4px 4px 0 var(--shadow);transition:transform .14s var(--ease-spring), box-shadow .14s ease, background .2s ease;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;cursor:grab;touch-action:none;border-radius:18px 12px 20px 10px;padding:34px 8px;position:relative;overflow:hidden}.tile:nth-child(2){border-radius:12px 19px 11px 20px}.tile:nth-child(3){border-radius:20px 11px 18px 12px}.tile:nth-child(4){border-radius:11px 20px 12px 18px}.tile:nth-child(5){border-radius:19px 12px 20px 11px}.tile:disabled{cursor:default}.tile:hover:not(:disabled):not(.dragging){box-shadow:6px 6px 0 var(--shadow);color:var(--riso-pink);transform:translate(-2px,-2px)}.tile.selected{box-shadow:7px 8px 0 var(--shadow);background:var(--riso-pink);color:#fff9fd;color:lab(98.574% 6.65331 -1.25573);border-color:var(--riso-pink);z-index:2;transform:translate(-3px,-4px)}.tile.dragging{cursor:grabbing;z-index:5;background:var(--riso-pink);color:#fff9fd;color:lab(98.574% 6.65331 -1.25573);border-color:var(--riso-pink);transition:none;box-shadow:10px 12px #a72f5c73;box-shadow:10px 12px lab(40.0165% 51.9158 2.96211/.45)}.tile.dragging:hover{transform:none}.tile.flash-wrong{animation:.42s shake}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)rotate(-1deg)}40%{transform:translate(6px)rotate(1deg)}60%{transform:translate(-5px)rotate(-1deg)}80%{transform:translate(4px)}}.tile.solved{--tile-hue:var(--solved-hue,2);background:oklch(.82 .17 var(--tile-hue));border-color:var(--ink);color:oklch(.22 .05 var(--tile-hue));box-shadow:4px 4px 0 var(--shadow);cursor:default}.plane,.app[data-mode=twoaxis] .tiles,.app[data-mode=twoaxis] .marks,.app[data-mode=twoaxis] .axis-rail{display:none}.app[data-mode=twoaxis] .plane{display:block}.plane{aspect-ratio:1;border-left:2.5px solid var(--ink);border-bottom:2.5px solid var(--ink);background:repeating-linear-gradient(0deg, var(--grid) 0 1px, transparent 1px 20%), repeating-linear-gradient(90deg, var(--grid) 0 1px, transparent 1px 20%);touch-action:none;width:min(80vw,380px);margin:14px auto 38px;position:relative}.plane:after{content:"";border-left:8px solid var(--riso-pink);border-top:5px solid #0000;border-bottom:5px solid #0000;position:absolute;bottom:-6px;right:-7px}.plane:before{content:"";border-bottom:8px solid var(--riso-pink);border-left:5px solid #0000;border-right:5px solid #0000;position:absolute;top:-7px;left:-6px}.plane-axis-x{text-align:center;text-transform:uppercase;letter-spacing:.07em;color:var(--fg-secondary);font-size:12px;font-weight:800;position:absolute;bottom:-26px;left:0;right:0}.plane-axis-y{writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.07em;color:var(--fg-secondary);justify-content:center;align-items:center;font-size:12px;font-weight:800;display:flex;position:absolute;top:0;bottom:0;left:-34px;transform:rotate(180deg)}.plane-slot{transition:left .55s var(--ease-spring), bottom .55s var(--ease-spring);will-change:left, bottom;position:absolute;transform:translate(-50%,50%)}.plane-slot.dragging{z-index:5;transition:none}.plane-tile{background:var(--paper-face);border:2.5px solid var(--ink);box-shadow:3px 3px 0 var(--ink);font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.04em;color:var(--ink);cursor:grab;white-space:nowrap;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:11px 8px 12px;padding:8px 10px;font-size:11px;font-weight:700;display:block}.plane-slot.dragging .plane-tile{cursor:grabbing;background:var(--riso-pink);color:#fff9fd;color:lab(98.574% 6.65331 -1.25573);border-color:var(--riso-pink);box-shadow:6px 7px #a72f5c80;box-shadow:6px 7px lab(40.0165% 51.9158 2.96211/.5)}.plane-tile.solved{background:oklch(.82 .17 var(--tile-hue,2));color:oklch(.22 .05 var(--tile-hue,2));cursor:default}.plane-tile.flash-wrong{animation:.42s shake}.plane-tile.correct{background:var(--lightningcss-light,#d3fbda)var(--lightningcss-dark,#1b552c);background:var(--lightningcss-light,lab(94.9948% -17.7921 11.3939))var(--lightningcss-dark,lab(31.533% -27.1752 17.9185));border-color:#03a14a;border-color:lab(58.0286% -51.707 34.5419);box-shadow:3px 3px #03a14a;box-shadow:3px 3px lab(58.0286% -51.707 34.5419)}.axis-hint{justify-content:center;display:flex}.axis-hint[hidden]{display:none}.axis-hint-msg{color:var(--fg-secondary);font-size:12px;font-weight:600}.plane-line{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.plane-line polyline{fill:none;stroke:var(--riso-pink);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:4 5;opacity:.35;vector-effect:non-scaling-stroke;transition:opacity .55s,stroke-width .55s,stroke-dasharray .55s}.plane.line-solved .plane-line polyline{opacity:.85;stroke-width:2.75px;stroke-dasharray:1000}.plane.axes-glow{animation:1.2s .15s axes-glow}.plane.axes-lit{border-color:var(--riso-pink)}@keyframes axes-glow{0%,to{border-color:var(--ink);filter:none}45%{border-color:var(--riso-pink);filter:drop-shadow(-4px 0 7px var(--riso-pink)) drop-shadow(0 4px 7px var(--riso-pink))}}@media (prefers-reduced-motion:reduce){.plane.axes-glow{border-color:var(--riso-pink);animation:none}}.replop-splash{z-index:40;pointer-events:none;background:color-mix(in oklch, var(--paper) 80%, transparent);-webkit-backdrop-filter:blur(5px);place-items:start center;padding-top:96px;display:grid;position:fixed;inset:0}.replop-splash .plop-word{font-family:var(--font-serif);font-variation-settings:"opsz" 144, "SOFT" 80, "WONK" 1;color:var(--riso-pink);font-size:clamp(48px,14vw,110px);font-style:italic;font-weight:700}.replop-splash .plop-word:after{content:none}.replop-clue{justify-content:center;align-items:center;gap:10px;max-width:40ch;margin:0 auto;display:flex}.replop-clue[hidden]{display:none}.replop-clue-text{color:var(--riso-pink);text-align:center;font-size:14px;font-style:italic;font-weight:600}.replop-clue .link-mini{flex:none;font-style:normal}.clue-toggle{border:2px solid var(--ink);background:var(--paper-face);width:30px;height:30px;color:var(--riso-pink);cursor:pointer;border-radius:9px 7px 10px 6px;flex:none;place-items:center;padding:0;display:inline-grid}.clue-toggle svg{width:17px;height:17px}.scale-board,.app[data-mode=insert] .tiles,.app[data-mode=insert] .marks,.app[data-mode=insert] .axis-rail{display:none}.app[data-mode=insert] .scale-board{display:block}.scale-board{width:min(92vw,460px);margin:0 auto;position:relative}.scale-axis{text-transform:uppercase;letter-spacing:.06em;color:var(--fg-secondary);justify-content:space-between;gap:12px;margin-bottom:6px;font-size:11px;font-weight:700;display:flex}.scale-track{flex-wrap:nowrap;justify-content:center;align-items:center;gap:9px;min-height:64px;margin:10px 4px 6px;display:flex;position:relative}.scale-track:before{content:"";background:var(--ink);z-index:0;border-radius:3px;height:3px;position:absolute;top:50%;left:2px;right:10px;transform:translateY(-50%)}.scale-track:after{content:"";border-left:8px solid var(--riso-pink);z-index:0;border-top:5px solid #0000;border-bottom:5px solid #0000;position:absolute;top:50%;right:0;transform:translateY(-50%)}.scale-peg{z-index:1;background:var(--paper-face);border:2.5px solid var(--ink);box-shadow:3px 3px 0 var(--ink);text-transform:uppercase;letter-spacing:.04em;color:var(--ink);white-space:nowrap;border-radius:11px 8px 12px;flex:none;padding:7px 9px;font-size:11px;font-weight:700;position:relative}.scale-peg.solved{background:oklch(.82 .17 var(--tile-hue,2));color:oklch(.22 .05 var(--tile-hue,2))}.scale-gap{z-index:1;border:2px dashed var(--riso-pink);background:var(--paper);opacity:.55;border-radius:5px;flex:none;width:18px;height:30px;transition:opacity .15s,background .15s,transform .15s;position:relative}.scale-gap.hot{opacity:1;background:#ff4e9129;background:lab(60.9397% 80.7724 4.70439/.16);transform:scale(1.12)}.incoming{justify-content:center;align-items:center;gap:10px;min-height:50px;margin-top:4px;display:flex}.incoming-label{text-transform:uppercase;letter-spacing:.06em;color:var(--fg-secondary);font-size:10px;font-weight:700}.incoming-peg{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;box-shadow:4px 5px #a72f5c80;box-shadow:4px 5px lab(40.0165% 51.9158 2.96211/.5);background:var(--riso-pink)!important;color:#fff9fd!important;color:lab(98.574% 6.65331 -1.25573)!important;border-color:var(--riso-pink)!important}.incoming-peg.dragging{cursor:grabbing}.scale-peg.flash-wrong{animation:.42s shake}.app[data-mode=impostor] .axis-rail{display:none}.tiles.eject{grid-template-columns:repeat(3,1fr)}.tiles.eject .tile{cursor:grab}.tiles.eject .tile.dragging{cursor:grabbing}.actions{position:relative}.actions.trash-slot:not(:has(.trash.show)){display:none}.actions.trash-slot:has(.trash.show){min-height:60px}.trash{border:2.5px dashed var(--riso-pink);width:56px;height:56px;color:var(--riso-pink);opacity:0;pointer-events:none;z-index:5;transition:opacity .2s ease, transform .22s var(--ease-spring), background .15s ease, color .15s ease;background:#ff4e9114;background:lab(60.9397% 80.7724 4.70439/.08);border-radius:16px 12px 17px 11px;place-items:center;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.6)}.trash svg{width:28px;height:28px}.trash.show{opacity:1;transform:translate(-50%,-50%)scale(1)}.trash.hot{background:var(--riso-pink);color:#fff9fd;color:lab(98.574% 6.65331 -1.25573);border-style:solid;transform:translate(-50%,-50%)scale(1.15)}.trash.reject{animation:.42s shake}.marks{pointer-events:none;grid-template-columns:repeat(5,1fr);gap:12px;display:grid;position:absolute;inset:0}.mark-slot{position:relative}.mark{border:2.5px solid var(--ink);width:28px;height:28px;font-size:13px;font-weight:800;font-family:var(--font-sans);background:var(--paper-face);box-shadow:2px 2px 0 var(--shadow);opacity:0;transition:opacity .2s ease, transform .45s var(--ease-spring);z-index:3;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:-18px;transform:translateY(-50%)scale(.2)rotate(-12deg)}.mark.shown{opacity:1;transform:translateY(-50%)scale(1)rotate(-6deg)}.mark.correct{background:var(--success);color:var(--ink)}.mark.wrong{background:var(--error);color:#fffaf6;color:lab(98.7339% 4.80008 5.47365)}.mark-slot:last-child .mark{display:none}.actions{justify-content:center;gap:14px;margin-top:2px;display:flex}.btn{background:var(--paper-face);border:2.5px solid var(--ink);color:var(--ink);letter-spacing:.01em;font-size:14px;font-weight:700;font-family:var(--font-sans);box-shadow:4px 4px 0 var(--shadow);transition:transform .12s var(--ease-spring), box-shadow .12s ease, background .2s;border-radius:14px 10px 16px 9px;padding:13px 26px}.btn:hover:not(:disabled){box-shadow:6px 6px 0 var(--shadow);transform:translate(-2px,-2px)rotate(-.5deg)}.btn:active:not(:disabled){box-shadow:1px 1px 0 var(--shadow);transform:translate(3px,3px)}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:2px 2px 0 var(--shadow)}.btn.primary{background:var(--riso-pink);color:#fff9fd;color:lab(98.574% 6.65331 -1.25573)}.reveal{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:20px 24px 8px;display:flex}.reveal[hidden]{display:none}.reveal-prefix{letter-spacing:.22em;text-transform:uppercase;color:var(--fg-tertiary);opacity:0;font-size:11px;font-weight:700}.reveal-prefix.in{animation:.6s .2s forwards fade-up}.reveal-prefix:empty{display:none}.reveal-axis{font-family:var(--font-serif);font-variation-settings:"opsz" 144, "SOFT" 60, "WONK" 1;color:var(--ink);letter-spacing:-.02em;opacity:0;max-width:20ch;font-size:clamp(30px,5.4vw,50px);font-style:italic;font-weight:600;line-height:1.12;transform:rotate(-1.5deg)}.reveal-axis.in{animation:fade-up .8s var(--ease-spring) .4s forwards}.app[data-mode=twoaxis] .reveal{gap:8px;padding-top:8px}.app[data-mode=twoaxis] .reveal-axis{font-size:clamp(44px,9vw,72px)}.reveal-meta{color:var(--fg-secondary);opacity:0;font-size:13px;font-weight:600}.reveal-meta.in{animation:.5s 1.4s forwards fade-up}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)rotate(-1.5deg)}to{opacity:1}}.spectrum-bar{border:2.5px solid var(--ink);width:min(100%,460px);height:22px;box-shadow:4px 4px 0 var(--shadow);opacity:0;transform-origin:0;background:linear-gradient(90deg,#9398ff 0 20%,#df6df8 20% 40%,#ffa899 40% 60%,#f7c400 60% 80%,#00c4cd 80% 100%);background:linear-gradient(90deg,lab(64.957% 27.9459 -70.2385) 0 20%,lab(64.0907% 59.9735 -50.8393) 20% 40%,lab(77.4798% 54.8658 38.6131) 40% 60%,lab(81.8031% 9.21369 89.1046) 60% 80%,lab(71.3706% -49.8299 -20.3806) 80% 100%);border-radius:8px 6px 9px;margin-top:16px;transform:scaleX(0)}.spectrum-bar.in{animation:.95s cubic-bezier(.22,1,.36,1) .5s forwards bar-in}@keyframes bar-in{0%{opacity:0;transform:scaleX(0)}55%{opacity:1;transform:scaleX(1)}70%{transform:scaleX(.965)}84%{transform:scaleX(1)}92%{transform:scaleX(.99)}to{opacity:1;transform:scaleX(1)}}.rate{flex-direction:column;align-items:center;gap:8px;margin-top:18px;display:flex}.rate-label{letter-spacing:.18em;text-transform:uppercase;color:var(--fg-tertiary);font-size:11px;font-weight:700}.stars{gap:4px;display:flex}.star{color:var(--border-tile-hover);transition:transform .12s var(--ease-spring), color .15s ease;background:0 0;border:none;padding:2px;font-size:26px;line-height:1}.star:hover{transform:scale(1.2)rotate(-6deg)}.star.on{color:var(--riso-yellow)}.rate-thanks{color:var(--success);font-size:12px;font-weight:600}.link-mini{font-family:var(--font-sans);color:var(--fg-tertiary);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:2px;-webkit-text-decoration-color:var(--border-tile-hover);text-decoration-color:var(--border-tile-hover);background:0 0;border:none;padding:2px 4px;font-size:12px;font-weight:600;transition:color .15s}.link-mini:hover:not(:disabled){color:var(--riso-pink)}.link-mini:disabled{color:var(--success);cursor:default;text-decoration:none}.footer{border-top:1.5px solid color-mix(in oklch, var(--ink) 12%, transparent);justify-content:center;gap:24px;margin-top:auto;padding:18px 0 4px;display:flex}.modal{z-index:50;background:color-mix(in oklch, var(--ink) 45%, transparent);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal[hidden]{display:none}.modal-card{background:var(--paper);border:2.5px solid var(--ink);width:min(440px,100%);box-shadow:7px 8px 0 var(--ink);border-radius:20px 14px 22px 12px;padding:26px 24px 22px;transform:rotate(-.6deg)}.modal-title{font-family:var(--font-serif);font-variation-settings:"opsz" 144, "SOFT" 60, "WONK" 1;color:var(--ink);margin-bottom:6px;font-size:30px;font-weight:600;line-height:1}.modal-sub{color:var(--fg-secondary);margin-bottom:16px;font-size:13px}.modal-hint{color:var(--fg-tertiary,var(--fg-secondary));margin:14px 0 8px;font-size:12px}.field{width:100%;font-family:var(--font-sans);color:var(--ink);background:var(--paper-face);border:2.5px solid var(--ink);resize:vertical;border-radius:12px 9px 13px;margin-bottom:10px;padding:11px 13px;font-size:14px;display:block}.field::placeholder{color:var(--fg-tertiary)}.field:focus{box-shadow:3px 3px 0 var(--riso-pink);outline:none}.modal-actions{justify-content:flex-end;gap:10px;margin-top:6px;display:flex}.modal-thanks{text-align:center;color:var(--success);margin-top:12px;font-weight:700}.modal-thanks[hidden],.results[hidden]{display:none}.results{flex-direction:column;align-items:center;gap:14px;padding:12px 0 4px;display:flex}.results-title{font-family:var(--font-serif);font-variation-settings:"opsz" 80, "SOFT" 40, "WONK" 1;color:var(--fg-secondary);font-size:clamp(17px,4vw,23px);font-style:italic;font-weight:600}.results-cheer{font-family:var(--font-serif);font-variation-settings:"opsz" 144, "SOFT" 70, "WONK" 1;color:var(--ink);font-size:clamp(32px,8vw,56px);font-style:italic;font-weight:700;line-height:.95;transform:rotate(-2deg)}.results-cheer[hidden]{display:none}.results-perfect{font-family:var(--font-serif);font-variation-settings:"opsz" 144, "SOFT" 80, "WONK" 1;color:#fff;letter-spacing:-.01em;font-size:clamp(36px,9vw,68px);font-style:italic;font-weight:700;line-height:.95;transform:rotate(-3deg)}.results-perfect-cheer{font-family:var(--font-serif);color:#fff;letter-spacing:-.01em;margin-top:6px;font-size:clamp(20px,4.5vw,30px);font-style:italic;font-weight:700;transform:rotate(-1.5deg)}.results-perfect-cheer[hidden]{display:none}body.is-perfect{background:var(--riso-pink);transition:background .5s}body.is-perfect .bg-mesh,body.is-perfect .bg-grain{display:none}.app.is-perfect,.app.is-perfect .results-title,.app.is-perfect .meta,.app.is-perfect .meta-num,.app.is-perfect .meta-solved,.app.is-perfect .logo,.app.is-perfect .results-sub,.app.is-perfect .link-mini{color:#fff}.app.is-perfect .logo .dot,.app.is-perfect .bang-dot,.app.is-perfect .bang-stem{color:#fff;background:#fff}.app.is-perfect .btn-icon{color:var(--riso-pink);background:#fff;border-color:#fff}.app.is-perfect .plop-word{color:#fff}.app.is-perfect .results-ribbon{display:none}.app.is-perfect .results-row{color:var(--riso-pink);background:#fff;border-color:#fff;box-shadow:4px 4px #ae205b;box-shadow:4px 4px lab(39.7678% 58.1694 3.38412)}.app.is-perfect .results-row .results-note{opacity:.95}.app.is-perfect .share-btn{color:var(--riso-pink);background:#fff;border-color:#fff;box-shadow:4px 4px #ae205b;box-shadow:4px 4px lab(39.7678% 58.1694 3.38412)}.app.is-perfect .star{color:#fff}.results-ribbon{width:min(100%,380px);margin:2px 0 6px}.results-grid{flex-direction:column;gap:10px;width:min(100%,380px);display:flex}.results-row{border:2.5px solid var(--ink);box-shadow:4px 4px 0 var(--shadow);color:var(--ink);border-radius:14px 10px 15px 9px;align-items:center;gap:12px;padding:12px 16px;display:flex}.results-row.clean{background:var(--riso-pink);color:#fff9fd;color:lab(98.574% 6.65331 -1.25573)}.results-row.misses{background:var(--riso-yellow);color:#372600;color:lab(16.5116% 6.2408 28.2303)}.results-row.missed{background:var(--riso-orange);color:#fffaf6;color:lab(98.7339% 4.80008 5.47365)}.results-ico{display:inline-flex}.results-ico svg{width:22px;height:22px;display:block}.results-label{letter-spacing:.01em;flex:1;font-weight:700}.results-note{opacity:.85;font-size:12px;font-weight:700}.results-sub{color:var(--fg-tertiary);margin-top:4px;font-size:13px;font-weight:600}.reveal-bye{color:var(--fg-secondary);margin-top:10px;font-size:14px;font-weight:600}.share-btn{align-items:center;gap:8px;display:inline-flex}.share-ico{display:inline-flex}.share-ico svg{width:16px;height:16px;display:block}.app.is-done .instruction,.app.is-done .axis-rail,.app.is-done .tiles-wrap,.app.is-done .actions,.app.is-done .status,.app.is-done .reveal{display:none}.status{flex-direction:column;align-items:center;gap:8px;min-height:30px;margin-top:4px;display:flex}.status[hidden],.actions[hidden]{display:none}.strikes{gap:8px;display:flex}.strikes i{width:16px;height:16px;color:var(--riso-pink);transition:color .2s ease, transform .2s var(--ease-spring);display:block}.strikes i svg{fill:currentColor;stroke:currentColor;stroke-width:1.5px;width:100%;height:100%}.strikes i.used{color:#9d9dab73;color:lab(65.0233% 1.96275 -7.25044/.45);transform:scale(.88)}.strikes i.used svg{fill:none}.status-msg{color:var(--fg-secondary);text-align:center;min-height:1em;font-size:13px;font-weight:600}.reveal-next{margin-top:8px}.history{flex-direction:column;align-items:center;gap:7px;min-height:18px;margin-top:6px;display:flex}.history-away{font-variant-numeric:tabular-nums;color:var(--fg-secondary)}.history-row{color:var(--fg-tertiary);letter-spacing:.04em;align-items:center;gap:12px;font-size:11px;font-weight:600;display:flex}.history-label{font-variant-numeric:tabular-nums;min-width:42px}.history-marks{gap:5px;display:flex}.history-mark{border:2px solid var(--ink);border-radius:5px 3px 6px;justify-content:center;align-items:center;width:16px;height:16px;font-size:9px;font-weight:800;display:flex}.history-mark.correct{background:var(--success);color:var(--ink)}.history-mark.wrong{background:var(--error);color:#fffaf6;color:lab(98.7339% 4.80008 5.47365)}.tiles.loading .tile{color:#0000;pointer-events:none;animation:1.2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.5}50%{opacity:.85}}.app.is-intro .stage,.app.is-intro .meta,.app.is-intro .footer{opacity:0}.footer{transition:opacity .5s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.logo{transform:rotate(-3deg)}.app.is-intro .stage{opacity:1}}@media (max-width:640px){.app{gap:36px;padding:28px 14px 60px}.topbar{gap:8px}.meta{gap:6px}.meta-num{font-size:12px}.btn-icon{width:30px;height:30px;font-size:13px}.btn-new{padding:6px 11px;font-size:11px}.tile{box-shadow:3px 3px 0 var(--shadow);padding:26px 4px}.tiles,.marks{gap:8px}.mark{width:24px;height:24px;font-size:12px;right:-13px}.btn{padding:11px 18px;font-size:13px}}::view-transition-old(root){animation-duration:.4s;animation-timing-function:var(--ease-spring)}::view-transition-new(root){animation-duration:.4s;animation-timing-function:var(--ease-spring)}::view-transition-old(root){animation-name:fade-out-down}::view-transition-new(root){animation-name:fade-in-up}@keyframes fade-out-down{to{opacity:0;transform:translateY(-6px)rotate(.5deg)}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(8px)rotate(-.5deg)}}.tiles-wrap{position:relative}
