@font-face{font-family:Pixelify Sans;font-weight:400;font-display:block;src:url(/assets/PixelifySans-400-DLrIX9QE.woff2)format("woff2")}@font-face{font-family:Pixelify Sans;font-weight:600;font-display:block;src:url(/assets/PixelifySans-600-Dd_Dy7u5.woff2)format("woff2")}@font-face{font-family:Pixelify Sans;font-weight:700;font-display:block;src:url(/assets/PixelifySans-700-D3Xxx3QE.woff2)format("woff2")}@font-face{font-family:Silkscreen;font-weight:400;font-display:block;src:url(/assets/Silkscreen-400-CtPo2yA5.woff2)format("woff2")}:root,:root[data-theme=light]{--bg:#fbfaf7;--ink:#1f1b24;--muted:#6a6472;--line:#ebe6dd;--strip:#f1ede6;--key-edge:#d9d3c9;--kbd:#efebe4;--ring:#e6e1d8;--led-off:#b9b3bf;--ink-edge:#000;--strip-shade:#1f1b2414;--accent:#ff9548;--notch4:-.25rem 0 0 0 var(--ink), .25rem 0 0 0 var(--ink), 0 -.25rem 0 0 var(--ink), 0 .25rem 0 0 var(--ink);--notch3:-.1875rem 0 0 0 var(--ink), .1875rem 0 0 0 var(--ink), 0 -.1875rem 0 0 var(--ink), 0 .1875rem 0 0 var(--ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#1c1a21;--ink:#ece7df;--muted:#aaa3b4;--line:#2f2b36;--strip:#26232c;--key-edge:#3d3846;--kbd:#2f2b36;--ring:#34303b;--led-off:#5a5463;--ink-edge:#b4ada2;--strip-shade:#00000040;--notch4:-.25rem 0 0 0 var(--ink), .25rem 0 0 0 var(--ink), 0 -.25rem 0 0 var(--ink), 0 .25rem 0 0 var(--ink);--notch3:-.1875rem 0 0 0 var(--ink), .1875rem 0 0 0 var(--ink), 0 -.1875rem 0 0 var(--ink), 0 .1875rem 0 0 var(--ink);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{font-size:2.10526vw}html,body{height:100%;margin:0;overflow:hidden}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;cursor:default;font-family:Pixelify Sans,monospace}button{color:inherit;cursor:pointer;border:0;margin:0;font-family:inherit}button:disabled,button[aria-disabled=true]{cursor:default}button:focus-visible{outline:.1875rem solid var(--accent);outline-offset:.1875rem}svg{shape-rendering:crispedges}canvas{image-rendering:pixelated}[hidden]{display:none!important}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@keyframes pl-blink{0%,60%{opacity:1}61%,to{opacity:.15}}.win{flex-direction:column;height:100vh;display:flex;overflow:hidden}.titlebar{border-bottom:.1875rem solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;height:2.5rem;padding:0 .5rem 0 1rem;display:flex}.brand{letter-spacing:.03125rem;pointer-events:none;align-items:center;gap:.625rem;font-size:.9375rem;font-weight:600;display:flex}.brand svg{width:.875rem;height:.875rem}.back{height:2rem;color:var(--ink);background:0 0;align-items:center;gap:.5rem;padding:0 .5rem;font-size:.9375rem;font-weight:600;display:flex}.back svg{width:.5rem;height:.75rem}.winbtns{gap:.25rem;display:flex}.winbtns button{width:2rem;height:2rem;color:var(--muted);background:0 0;justify-content:center;align-items:center;display:flex}.winbtns button:hover{color:var(--ink)}.ico-gear{width:1.125rem;height:1.125rem}.ico-min,.ico-close{width:.625rem;height:.625rem}.body{flex-direction:column;flex:1;align-items:center;padding:1.25rem 2rem;display:flex}.status{text-align:center;flex-direction:column;align-items:center;gap:.5rem;display:flex}.badge{letter-spacing:.0625rem;align-items:center;gap:.5rem;padding:.3125rem .625rem;font-family:Silkscreen,monospace;font-size:.6875rem;display:flex}.badge .led{width:.5rem;height:.5rem}.on .badge{background:var(--ink);color:var(--bg)}.on .badge .led{background:var(--accent);animation:1.4s step-end infinite pl-blink}.off .badge{background:var(--kbd);color:var(--muted)}.off .badge .led{background:var(--led-off)}.title{margin:0;font-size:1.625rem;font-weight:700;line-height:1.1}.sub{color:var(--muted);margin:0;font-size:.875rem}.hint{color:var(--muted);align-items:center;gap:.5rem;margin-top:.5rem;font-size:.8125rem;display:flex}.paw{color:var(--accent);flex-shrink:0}.hint .paw{width:.625rem;height:.625rem}.strip{background:var(--strip);box-shadow:var(--notch4), inset 0 -.375rem 0 0 var(--strip-shade);flex-direction:column;align-items:center;gap:.5rem;margin-top:7.25rem;padding:1rem 1.25rem 1.25rem;display:flex;position:relative}.cat{left:calc(50% - 10 * var(--px,5px));top:calc(-20 * var(--px,5px) - .25rem);width:calc(20 * var(--px,5px));height:calc(20 * var(--px,5px));background:0 0;padding:0;line-height:0;display:block;position:absolute}.cat:focus-visible{outline-offset:.375rem}.sprite{display:block}.cat .sprite{pointer-events:none}.zz{left:calc(50% + 5 * var(--px,5px));top:calc(-17 * var(--px,5px) - .25rem);width:0;height:0;color:var(--accent);pointer-events:none;font-family:Silkscreen,monospace;position:absolute}.zz .z,.zz .z-static{white-space:nowrap;line-height:1.25;position:absolute;bottom:0;left:0}.zz .z0{font-size:.75rem}.zz .z1{font-size:.875rem}.zz .z2{font-size:1rem}.zz .z-static{left:calc(1.6 * var(--px,5px));bottom:calc(3 * var(--px,5px));letter-spacing:.1875rem;font-size:1rem}.bang{color:var(--accent);pointer-events:none;font-family:Silkscreen,monospace;font-size:.75rem;line-height:1;position:absolute}.off .zz{display:none}.krow{gap:1rem;display:flex}.group{gap:.25rem;display:flex}.key{width:2.125rem;height:2.25rem;padding:0;font-size:.8125rem;font-weight:600;position:relative}.key.wide{width:2.875rem;font-size:.6875rem}.key .kled{background:var(--accent);width:.25rem;height:.25rem;position:absolute;top:.25rem;right:.25rem}.key.s-active{background:var(--ink);color:var(--bg);box-shadow:inset 0 -.25rem 0 0 var(--ink-edge)}.key.s-planned{background:var(--bg);color:var(--ink);box-shadow:inset 0 0 0 .125rem var(--ink)}.key.s-free{background:var(--bg);color:var(--muted);box-shadow:inset 0 -.25rem 0 0 var(--key-edge), inset 0 0 0 .0625rem var(--ring)}.key[aria-disabled=true]{cursor:default}.linkbtn{color:var(--ink);box-shadow:inset 0 -.125rem 0 0 var(--key-edge);background:0 0;padding:0 0 .125rem;font-size:.75rem;font-weight:600;position:absolute;bottom:calc(100% + .75rem);right:0}.linkbtn:hover{box-shadow:inset 0 -.125rem 0 0 var(--accent)}.meta{flex-wrap:wrap;justify-content:center;align-items:center;gap:.375rem 1.75rem;margin-top:.875rem;display:flex}.legend{color:var(--muted);align-items:center;gap:.875rem;font-size:.75rem;display:flex}.legend .it{align-items:center;gap:.375rem;display:flex}.legend .sw{width:.75rem;height:.75rem}.sw.sw-active{background:var(--ink);box-shadow:inset -.25rem .25rem 0 -.125rem var(--accent)}.sw.sw-free{background:var(--bg);box-shadow:inset 0 0 0 .125rem var(--key-edge)}.sw.sw-planned{background:var(--bg);box-shadow:inset 0 0 0 .125rem var(--ink)}.sw.sw-all{background:var(--accent)}.activity{color:var(--muted);text-align:center;align-items:center;gap:.5rem;font-size:.8125rem;display:flex}.activity .paw{width:.75rem;height:.75rem}.activity b{color:var(--ink);font-weight:600}.footer{color:var(--muted);justify-content:space-between;align-self:stretch;align-items:center;margin-top:auto;font-size:.8125rem;display:flex}.lockall{background:var(--bg);height:2.375rem;color:var(--ink);box-shadow:var(--notch3), inset 0 -.25rem 0 0 var(--key-edge);align-items:center;gap:.625rem;padding:0 .875rem;font-size:.875rem;font-weight:600;display:flex}.lockall svg{width:.625rem;height:.875rem}.lockall[aria-pressed=true]{background:var(--accent);color:#1f1b24;box-shadow:var(--notch3), inset 0 -.25rem 0 0 #00000038}.shortcut{align-items:center;gap:.25rem;display:flex}.shortcut .recording{color:var(--ink)}.shortcut .error{max-width:16rem;color:var(--ink);text-align:right;margin-right:.5rem;font-size:.75rem}kbd{background:var(--kbd);color:var(--ink);box-shadow:inset 0 -.1875rem 0 0 var(--key-edge);padding:.1875rem .4375rem .3125rem;font-family:inherit;font-size:.8125rem}.change{background:var(--ink);height:2rem;color:var(--bg);box-shadow:inset 0 -.25rem 0 0 var(--ink-edge);margin-left:.625rem;padding:0 .75rem;font-size:.8125rem;font-weight:600}.change:disabled{opacity:.45}.update-bar{z-index:10;background:var(--bg);width:-moz-fit-content;width:fit-content;color:var(--ink);white-space:nowrap;box-shadow:inset 0 0 0 .125rem var(--ink), .25rem .25rem 0 0 var(--ink);align-items:center;gap:.5rem;margin:0 auto;padding:.25rem .25rem .25rem .75rem;font-size:.75rem;animation:.24s steps(3,end) both toast-in;display:flex;position:fixed;top:3.25rem;left:0;right:0}@keyframes toast-in{0%{transform:translateY(-.75rem)}}@media (prefers-reduced-motion:reduce){.update-bar{animation:none}}.toast-close{width:1.75rem;height:1.75rem;color:var(--muted);background:0 0;place-items:center;padding:0;display:grid}.toast-close:hover{color:var(--ink)}.update-bar .paw{width:.625rem;height:.625rem}.update-bar .change{height:1.75rem;margin-left:.5rem;font-size:.75rem}.update-bar.failed .paw{color:var(--led-off)}.settings{flex-direction:column;flex:1;gap:1.375rem;padding:1.625rem 2rem 1.5rem;display:flex}.section{flex-direction:column;gap:.75rem;display:flex}.lbl{letter-spacing:.0625rem;color:var(--muted);margin:0;font-family:Silkscreen,monospace;font-size:.6875rem;font-weight:400}.furs{grid-template-columns:repeat(5,minmax(0,1fr));gap:.875rem;display:grid}.fur{background:var(--bg);height:8rem;box-shadow:inset 0 0 0 .125rem var(--line);color:var(--muted);flex-direction:column;justify-content:space-between;align-items:center;padding:.75rem 0 .625rem;font-size:.8125rem;font-weight:600;display:flex}.fur[aria-checked=true]{background:var(--strip);color:var(--ink);box-shadow:var(--notch4), inset 0 -.375rem 0 0 var(--accent)}.accs{gap:.75rem;display:flex}.acc{background:var(--bg);width:2.75rem;height:2.75rem;box-shadow:inset 0 0 0 .125rem var(--line);padding:.375rem}.acc span{width:2rem;height:2rem;display:block}.acc[aria-checked=true]{box-shadow:var(--notch3)}.themes{background:var(--bg);box-shadow:var(--notch3);grid-template-columns:repeat(3,minmax(0,1fr));align-self:flex-start;gap:.25rem;padding:.25rem;display:grid}.th{height:2.25rem;color:var(--muted);background:0 0;align-items:center;gap:.5rem;padding:0 .875rem;font-size:.875rem;font-weight:600;display:flex}.th[aria-checked=true]{background:var(--ink);color:var(--bg)}.th i{width:.625rem;height:.625rem;box-shadow:inset 0 0 0 .125rem}.th-system i{background:linear-gradient(90deg,#fbfaf7 50%,#1c1a21 50%)}.th-light i{background:#fbfaf7}.th-dark i{background:#1c1a21}.opts{flex-direction:column;gap:.25rem;display:flex}.opt{height:2.5rem;color:var(--ink);text-align:left;background:0 0;justify-content:space-between;align-items:center;padding:0;font-size:.875rem;display:flex}.opt+.opt:not([hidden]){border-top:.1875rem solid var(--line)}.sw2{background:var(--key-edge);width:2.5rem;height:1.25rem;box-shadow:var(--notch3);justify-content:flex-start;padding:.25rem;display:flex}.sw2 span{background:var(--bg);width:.75rem;height:.75rem}.section-row{gap:1.5rem;display:flex}.opt[aria-checked=true] .sw2{background:var(--accent);justify-content:flex-end}.notice{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1rem;padding:2rem 3rem;display:flex}.notice p{max-width:34rem;color:var(--muted);margin:0;font-size:.875rem}.notice code{background:var(--kbd);color:var(--ink);-webkit-user-select:text;user-select:text;text-align:left;white-space:pre-wrap;padding:.5rem .75rem;font-size:.75rem;display:block}.btn-ink{background:var(--ink);height:2.25rem;color:var(--bg);box-shadow:inset 0 -.25rem 0 0 var(--ink-edge);padding:0 1rem;font-size:.875rem;font-weight:600}.banner{background:var(--kbd);color:var(--ink);text-align:center;margin:.625rem 0 0;padding:.375rem .75rem;font-size:.75rem}html{scroll-behavior:smooth;scroll-padding-top:4.5rem;font-size:100%}html,body{height:auto;overflow:visible}body{-webkit-user-select:auto;user-select:auto;cursor:auto;line-height:1.45}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}a{color:inherit}a:focus-visible{outline:.1875rem solid var(--accent);outline-offset:.1875rem}.site-nav a,.dl-status a,.site-footer a{box-shadow:inset 0 -.125rem 0 0 var(--key-edge);text-decoration:none}.site-nav a:hover,.dl-status a:hover,.site-footer a:hover{box-shadow:inset 0 -.125rem 0 0 var(--accent)}.skip{z-index:20;background:var(--ink);color:var(--bg);padding:.5rem .75rem;font-weight:600;text-decoration:none;position:absolute;top:-4rem;left:1rem}.skip:focus{top:1rem}.label{letter-spacing:.0625rem;color:var(--muted);margin:0;font-family:Silkscreen,monospace;font-size:.75rem}.site-header{z-index:10;background:var(--bg);border-bottom:.1875rem solid var(--line);justify-content:space-between;align-items:center;gap:1rem;height:3.5rem;padding:0 max(1rem,50% - 36rem);display:flex;position:sticky;top:0}.logo{align-items:center;gap:.625rem;font-size:1.125rem;font-weight:700;text-decoration:none;display:flex}.logo .paw{width:1rem;height:1rem}.site-nav{align-items:center;gap:1.25rem;font-size:.9375rem;font-weight:600;display:flex}.nav-btn{background:var(--kbd);min-width:2.25rem;height:2rem;color:var(--ink);box-shadow:inset 0 -.1875rem 0 0 var(--key-edge);justify-content:center;align-items:center;padding:0 .5rem;font-size:.8125rem;font-weight:600;display:flex}.nav-btn+.nav-btn{margin-left:-.75rem}.ico-theme{width:.875rem;height:.875rem}.hero{text-align:center;flex-direction:column;align-items:center;gap:1rem;max-width:72rem;margin:0 auto;padding:4.5rem 1rem 1.5rem;display:flex}.tag{background:var(--ink);color:var(--bg);letter-spacing:.0625rem;align-items:center;gap:.5rem;margin:0 0 .5rem;padding:.3125rem .625rem;font-family:Silkscreen,monospace;font-size:.75rem;display:flex}.tag:before{content:"";background:var(--accent);width:.5rem;height:.5rem;animation:1.4s step-end infinite pl-blink}.hero-title{text-wrap:balance;max-width:46rem;margin:0;font-size:clamp(2.125rem,6vw,3.5rem);font-weight:700;line-height:1.05}.lead{max-width:40rem;color:var(--muted);text-wrap:pretty;margin:0;font-size:1.0625rem}.cta{flex-wrap:wrap;justify-content:center;gap:1.25rem;margin-top:1rem;display:flex}.cta-meta{color:var(--muted);margin:0;font-size:.8125rem}.btn{white-space:nowrap;align-items:center;gap:.625rem;height:2.75rem;padding:0 1.125rem;font-size:.9375rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:active{transform:translateY(.125rem)}.ico-dl{flex-shrink:0;width:.625rem;height:.875rem}.btn-accent{background:var(--accent);color:#1f1b24;box-shadow:var(--notch3), inset 0 -.25rem 0 0 #00000038}.btn-plain{background:var(--bg);color:var(--ink);box-shadow:var(--notch3), inset 0 -.25rem 0 0 var(--key-edge)}.btn-plain:hover{background:var(--strip)}.btn-dark{background:var(--ink);color:var(--bg);box-shadow:inset 0 -.25rem 0 0 var(--ink-edge)}.btn-soft{background:var(--kbd);color:var(--ink);box-shadow:inset 0 -.25rem 0 0 var(--key-edge)}.btn-soft:hover{box-shadow:inset 0 -.25rem 0 0 var(--accent)}.demo{flex-direction:column;align-items:center;gap:1.25rem;padding:3rem 1rem 0;display:flex}.demo-window{background:var(--bg);width:min(47.5rem,100%);box-shadow:var(--notch4), .75rem .75rem 0 .25rem var(--line);-webkit-user-select:none;user-select:none;cursor:default}.demo-window .win{height:36.5rem}.demo-window .winbtns button:not(:first-child){display:none}.demo-hint{max-width:34rem;color:var(--muted);text-align:center;margin:.5rem 0 0;font-size:.875rem}.block{text-align:center;max-width:72rem;margin:0 auto;padding:6rem 1rem 0}.block-title{text-wrap:balance;margin:.5rem 0 2.25rem;font-size:clamp(1.625rem,3.5vw,2.25rem);font-weight:700;line-height:1.1}.features{text-align:left;grid-template-columns:repeat(auto-fill,minmax(15.5rem,1fr));gap:1.25rem;margin:0;padding:0;list-style:none;display:grid}.feature{background:var(--bg);box-shadow:inset 0 0 0 .125rem var(--line);padding:1.25rem 1.25rem 1.375rem}.feature h3{align-items:center;gap:.625rem;margin:0 0 .5rem;font-size:1.0625rem;font-weight:700;display:flex}.feature h3:before{content:"";background:var(--accent);flex-shrink:0;width:.5rem;height:.5rem}.feature p{color:var(--muted);margin:0;font-size:.875rem}.safety{background:var(--strip);max-width:52rem;box-shadow:var(--notch4), inset 0 -.375rem 0 0 var(--strip-shade);margin:0 auto;padding:2.25rem 2rem 2.5rem}.safety .block-title{margin-bottom:1.5rem}.safety-list{text-align:left;gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.safety-list li{gap:.75rem;font-size:.9375rem;display:flex}.safety-list li:before{content:"";background:var(--ink);flex-shrink:0;width:.5rem;height:.5rem;margin-top:.5rem}.dl-status{color:var(--muted);margin:-1.25rem 0 2.5rem;font-size:.9375rem}.dl-status a{color:var(--ink);font-weight:600}.dl-grid{text-align:left;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));align-items:stretch;gap:1.75rem;display:grid}.dl-grid>.btn{grid-column:1/-1;justify-self:center}.dl-card{background:var(--bg);box-shadow:inset 0 0 0 .125rem var(--line);flex-direction:column;gap:.875rem;padding:1.5rem;display:flex;position:relative}.dl-card.is-yours{background:var(--strip);box-shadow:var(--notch4), inset 0 -.375rem 0 0 var(--accent)}.dl-yours{background:var(--ink);color:var(--bg);letter-spacing:.0625rem;margin:0;padding:.25rem .5rem;font-family:Silkscreen,monospace;font-size:.6875rem;position:absolute;top:-.875rem;left:1.5rem}.dl-card h3{margin:0;font-size:1.5rem;font-weight:700}.dl-req{color:var(--muted);margin:-.625rem 0 .25rem;font-size:.875rem}.dl-links{flex-direction:column;gap:.75rem;display:flex}.dl-links .btn{justify-content:space-between}.dl-name{align-items:center;gap:.625rem;display:flex}.dl-size{opacity:.8;font-size:.8125rem;font-weight:400}.dl-note{color:var(--muted);margin:.25rem 0 0;font-size:.8125rem}.dl-card code{background:var(--kbd);color:var(--ink);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;margin-top:-.25rem;padding:.5rem .75rem;font-family:inherit;font-size:.8125rem;display:block}.site-footer{border-top:.1875rem solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 2rem;margin-top:7rem;padding:2rem max(1rem,50% - 36rem);font-size:.875rem;display:flex}.site-footer p{margin:0}.footer-links{gap:1.25rem;display:flex}.site-footer a{color:var(--ink)}@media (prefers-reduced-motion:reduce){.tag:before{animation:none}}@media (max-width:48rem){.site-nav .nav-link{display:none}.hero{padding-top:3rem}.block{padding-top:4.5rem}.safety{padding:1.75rem 1.25rem 2rem}.demo-window .win{height:auto}.demo-window .body,.demo-window .settings{padding:1.25rem 1rem 1.5rem}.demo-window .strip{flex-wrap:wrap;justify-content:center;margin-top:7.5rem;padding:1rem .75rem}.demo-window .krow,.demo-window .legend,.demo-window .section-row{flex-wrap:wrap;justify-content:center;row-gap:.75rem}.demo-window .footer{flex-wrap:wrap;justify-content:center;gap:1.25rem;margin-top:1.75rem}.demo-window .furs{grid-template-columns:repeat(3,minmax(0,1fr))}}
