*,:after,:before{box-sizing:border-box}*{margin:0;padding:0}html{height:100%;scroll-behavior:smooth}body{font-size:100%;line-height:1.5;min-height:100%}ul{list-style:none}a{color:inherit;-webkit-text-decoration:none;text-decoration:none}button{cursor:pointer}h1,h2,h3,h4,h5,h6{text-wrap:balance}p{text-wrap:pretty}button,input,select,textarea{color:inherit;font:inherit;letter-spacing:inherit}button,input,textarea{background:0 0;border:none}embed,iframe,img,object,video{display:block;max-width:100%}svg{max-width:100%}table{table-layout:fixed;width:100%}[hidden]{display:none!important}[tabindex="-1"]{outline:0!important}@media (prefers-reduced-motion:reduce){*{animation-duration:NaNs!important;animation-iteration-count:1!important;transition-duration:NaNs!important;scroll-behavior:auto!important}}.sr-only{height:auto;border:0;clip:rect(0 0 0 0);width:1px;margin:0;padding:0;position:absolute;overflow:hidden;white-space:nowrap}:root{--grey-dd:#ddd;--grey-cc:#ccc;--grey-aa:#aaa;--grey-aab:#aab3be;--grey-bb:#bbb;--grey-e4:#e4e4e4;--grey-69:#696969;--grey-f1:#f1f1f1;--grey-f5:#f5f5f5;--grey-333:#333;--grey-6c:#6c6c6c;--grey-db:#dbdbdb;--grey-c6:#c6c6c6;--grey-ed:#ededed;--grey-f2:#f2f2f2;--black:var(--grey-33);--blue:#005c8a;--grey-33:#333;--grey-1d:#1d1d1b;--grey-01:#01000d;--white:#fff;--orange:#e08041;--red:#d34343;--blue:#00b1eb;--green:#98cb52;--primary:var(--orange);--danger:var(--red);--error:var(--red);--success:var(--green);--info:var(--blue);--primary-light:color-mix(in srgb,var(--primary) 20%,var(--white) 80%);--primary-mid:color-mix(in srgb,var(--primary) 50%,var(--white) 50%);--primary-dark:color-mix(in srgb,var(--primary) 80%,var(--black) 20%);--error-light:color-mix(in srgb,var(--error) 20%,var(--white) 80%);--success-light:color-mix(in srgb,var(--success) 20%,var(--white) 80%)}@supports not (background:color-mix(in srgb,#000 50%,#fff 50%)){:root{--primary-dark:#be6d37;--primary-light:#f9e6d9;--error-light:#fddeda;--success-light:#d3eadd}}:root{--highlight-neutral:var(--grey-f5);--highlight-primary:var(--primary-light);--keyline:var(--grey-dd);--keyline-light:var(--grey-ed);--app-fg:var(--black);--app-bg:var(--white);--app-margin:var(--space-4x);--content-wrapper-max-inline-size:1440px;--game-max-block-size:100vh;--font-sans:"Lato",sans-serif;--shadow:0px 20px 32px rgba(17,17,17,0.08);--overlay:rgba(0,0,0,0.34901960784313724);--space:0.5rem;--space-2x:calc(var(--space)*2);--space-3x:calc(var(--space)*3);--space-4x:calc(var(--space)*4);--space-5x:calc(var(--space)*5);--space-6x:calc(var(--space)*6);--space-7x:calc(var(--space)*7);--space-8x:calc(var(--space)*8);--space-10x:calc(var(--space)*10);--space-11x:calc(var(--space)*11);--space-12x:calc(var(--space)*12);--space-14x:calc(var(--space)*14);--space-15x:calc(var(--space)*15);--space-16x:calc(var(--space)*16);--space-17x:calc(var(--space)*17);--space-18x:calc(var(--space)*18);--space-19x:calc(var(--space)*19);--space-20x:calc(var(--space)*20);--space-22x:calc(var(--space)*22);--space-24x:calc(var(--space)*24);--space-28x:calc(var(--space)*28);--space-30x:calc(var(--space)*30);--space-32x:calc(var(--space)*32);--space-35x:calc(var(--space)*35);--space-40x:calc(var(--space)*40);--space-46x:calc(var(--space)*46);--space-48x:calc(var(--space)*48);--space-64x:calc(var(--space)*64);--space-negative:calc(var(--space)*-1);--space-2x-negative:calc(var(--space)*-2);--space-3x-negative:calc(var(--space)*-3);--space-4x-negative:calc(var(--space)*-4);--space-5x-negative:calc(var(--space)*-5);--space-6x-negative:calc(var(--space)*-6);--space-7x-negative:calc(var(--space)*-7);--space-8x-negative:calc(var(--space)*-8);--space-10x-negative:calc(var(--space)*-10);--space-11x-negative:calc(var(--space)*-11);--space-12x-negative:calc(var(--space)*-12);--space-14x-negative:calc(var(--space)*-14);--space-15x-negative:calc(var(--space)*-15);--space-16x-negative:calc(var(--space)*-16);--space-17x-negative:calc(var(--space)*-17);--space-18x-negative:calc(var(--space)*-18);--space-19x-negative:calc(var(--space)*-19);--space-20x-negative:calc(var(--space)*-20);--space-22x-negative:calc(var(--space)*-22);--space-24x-negative:calc(var(--space)*-24);--space-28x-negative:calc(var(--space)*-28);--space-30x-negative:calc(var(--space)*-30);--space-32x-negative:calc(var(--space)*-32);--space-35x-negative:calc(var(--space)*-35);--space-40x-negative:calc(var(--space)*-40);--space-46x-negative:calc(var(--space)*-46);--space-48x-negative:calc(var(--space)*-48);--space-64x-negative:calc(var(--space)*-64)}html{font-size:62.5%;overscroll-behavior:none}body{background-color:var(--app-bg);color:var(--app-fg);font-family:var(--font-sans);font-size:1.6rem;font-weight:400;top:0;right:0;bottom:0;left:0;position:fixed;-webkit-overflow-scrolling:touch}#app,#vue-container{display:flex;flex-direction:column;min-height:100%;overflow:hidden;position:relative}[v-cloak]{display:none!important}.content-wrapper{width:100vw;width:100vi;margin-left:auto;margin-right:auto;max-width:var(--content-wrapper-max-inline-size);padding:0 var(--app-margin)}@font-face{font-display:swap;font-family:Lato;font-weight:300;font-style:normal;src:url(../assets/fonts/lato-light-webfont.woff2) format("woff2")}@font-face{font-display:swap;font-family:Lato;font-weight:400;font-style:normal;src:url(../assets/fonts/lato-regular-webfont.woff2) format("woff2")}@font-face{font-display:swap;font-family:Lato;font-weight:500;font-style:normal;src:url(../assets/fonts/lato-medium-webfont.woff2) format("woff2")}@font-face{font-display:swap;font-family:Lato;font-weight:600;font-style:normal;src:url(../assets/fonts/lato-semibold-webfont.woff2) format("woff2")}@font-face{font-display:swap;font-family:Lato;font-weight:700;font-style:normal;src:url(../assets/fonts/lato-bold-webfont.woff2) format("woff2")}:root{--game-and-keys-flex-direction:column;--ideal-grid-size:540px;--blind-bg:#212121}@media (min-width:1024px){:root{--game-and-keys-flex-direction:row}}[data-area=main]{height:calc(100% - var(--puzzle-header-block))}@media (max-width:1023.98px){[data-area=main].content-wrapper{padding-left:0;padding-right:0}}@media (min-width:1024px){[data-area=main]{height:calc(100% - var(--puzzle-header-block) - var(--app-margin))}}.game-and-keys{height:100%;display:flex;flex-direction:var(--game-and-keys-flex-direction);position:relative}@media (min-width:1024px){.game-and-keys{gap:var(--app-margin);justify-content:center}}.gameplay-container{height:calc(100% - var(--traintracks-keys-block) - var(--action-bar-block));overflow:hidden}@media (min-width:720px){.gameplay-container{margin-top:var(--app-margin);margin-bottom:var(--app-margin)}}@media (min-width:1024px){.gameplay-container{height:100%}}.gameplay{width:100%;margin:0 auto}@media (min-width:1024px){.gameplay{margin:0}}.grid-resized .gameplay{overflow:auto}.keys-container{flex-shrink:0}.action-bar[data-area=tools]{margin-top:auto}#pinch-zoom-image{transform-origin:top left}.train-tracks-grid{display:block;width:100%;overflow:visible;touch-action:manipulation}.train-tracks-cell,.train-tracks-grid{-moz-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-select:none}.train-tracks-cell{cursor:pointer}.train-tracks-cell.given{cursor:default;pointer-events:none}.train-tracks-cell-bg{fill:var(--tt-cell-bg,var(--white));stroke:var(--tt-cell-border,var(--grey-33,#212121));stroke-width:1.5;transition:fill 80ms ease}.keyboard-showing:not(.completed) .selected .train-tracks-cell-bg{--tt-cell-bg:var(--primary)}.given .train-tracks-cell-bg{--tt-cell-bg:var(--grey-ed,#ededed)}.incorrect .train-tracks-cell-bg{--tt-cell-bg:var(--error-light,rgba(236,2,72,0.15))}.correct .train-tracks-cell-bg{--tt-cell-bg:var(--correct-light,rgba(0,160,80,0.15))}.train-tracks-track{fill:none;stroke:var(--tt-track-colour,var(--grey-33,#212121));stroke-width:8;stroke-linecap:butt;stroke-linejoin:round;pointer-events:none}.keyboard-showing:not(.completed) .selected .train-tracks-track{--tt-track-colour:var(--white,#fff)}.given .train-tracks-track{--tt-track-colour:var(--grey-55,#555)}.correct .train-tracks-track{--tt-track-colour:var(--correct,#008040)}.train-tracks-cross{fill:none;stroke:var(--tt-cross-colour,var(--grey-99,#999));stroke-width:4;stroke-linecap:round;pointer-events:none}.keyboard-showing:not(.completed) .selected .train-tracks-cross{--tt-cross-colour:hsla(0,0%,100%,0.7)}.incorrect .train-tracks-cross{--tt-cross-colour:var(--error,#ec0248)}.train-tracks-clue-label{fill:var(--grey-33,#333);font-family:var(--font-sans);font-size:40px;font-weight:700;text-anchor:middle;dominant-baseline:middle;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;transition:fill .15s ease}.train-tracks-clue-label.complete{fill:var(--correct,#008040)}.train-tracks-clue-label.exceeded{fill:var(--error,#ec0248)}.train-tracks-clue-label--small{font-size:30px;fill:var(--grey-99,#999)}.train-tracks-clue-label--hanging{dominant-baseline:hanging}.train-tracks-clue-counter{font-family:var(--font-sans);font-weight:700;text-anchor:middle;dominant-baseline:middle;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;transition:fill .15s ease}.train-tracks-clue-counter.partial{fill:var(--grey-99,#999);font-size:13px}.train-tracks-clue-counter.complete{fill:var(--correct,#008040);font-size:16px}.train-tracks-clue-counter.exceeded{fill:var(--error,#ec0248);font-size:13px}.train-tracks-station{pointer-events:none}.train-tracks-station-bg{fill:var(--primary,#f17b2d);stroke:var(--grey-33,#212121);stroke-width:2}.train-tracks-station-label{fill:var(--white,#fff);font-family:var(--font-sans);font-size:26px;font-weight:700;text-anchor:middle;dominant-baseline:middle;-webkit-user-select:none;-moz-user-select:none;user-select:none}.train-tracks-train-trail{fill:none;stroke:var(--primary,#e08041);stroke-width:12;stroke-linecap:round;stroke-linejoin:round;opacity:1;pointer-events:none}.train-tracks-train-icon{pointer-events:none}.train-tracks-grid-border{fill:none;stroke:var(--grey-33,#212121);stroke-width:3;pointer-events:none}.track-icon{display:block;width:2.4rem;height:2.4rem;margin-left:auto;margin-right:auto;margin-bottom:.2rem;color:currentColor}.cell-strike{stroke:var(--error);stroke-width:5px}.train-tracks-cell-tooltip{pointer-events:none}@media (hover:hover) and (pointer:fine){.train-tracks-cell-tooltip{display:none}}.train-tracks-cell-tooltip__bg{fill:var(--white,#fff);stroke:var(--grey-cc,#ccc);stroke-width:2;filter:drop-shadow(0 4px 8px rgba(0,0,0,.25))}.action-button[data-action=submit]{position:relative}.action-button__nudge{top:calc(100% + 10px);background:var(--primary,#1976d2);color:var(--white,#fff);font-size:1.3rem;font-weight:600;white-space:nowrap;padding:.6rem 1rem;border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.25);pointer-events:none;z-index:10;animation:tt-submit-nudge-pulse 1.8s ease-in-out infinite}.action-button__nudge,.action-button__nudge:before{position:absolute;left:50%;transform:translateX(-50%)}.action-button__nudge:before{content:"";bottom:100%;border:7px solid transparent;border-bottom-color:var(--primary,#1976d2)}@keyframes tt-submit-nudge-pulse{0%,to{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-3px)}}.train-tracks-picker__backdrop{fill:rgba(0,0,0,.001);cursor:pointer}.train-tracks-picker__panel{fill:var(--white,#fff);stroke:var(--grey-cc,#ccc);stroke-width:2;filter:drop-shadow(0 6px 12px rgba(0,0,0,.3))}.train-tracks-picker__piece{cursor:pointer}.train-tracks-picker__piece-bg{fill:var(--grey-f5,#f5f5f5);stroke:var(--grey-cc,#ccc);stroke-width:1;transition:fill 80ms ease}.train-tracks-picker__piece:active .train-tracks-picker__piece-bg,.train-tracks-picker__piece:hover .train-tracks-picker__piece-bg{fill:var(--primary-light,#e6f0ff)}.train-tracks-picker__piece.is-empty use{fill:var(--grey-55,#555)}:root{--train-tracks-keys-padding:var(--space-2x) .3rem;--train-tracks-keys-block:14.4rem;--train-tracks-key-font-size:1.8rem;--train-tracks-key-block:5rem;--train-tracks-key-inline:5rem;--train-tracks-keys-bg:var(--grey-ed);--train-tracks-keys-border:1px solid var(--keyline);--train-tracks-keys-column-gap:.5rem;--train-tracks-keys-row-gap:.5rem;--train-tracks-keys-container-inline:100%;--train-tracks-keys-inline:calc(var(--train-tracks-key-inline)*5 + var(--train-tracks-keys-column-gap)*4);--train-tracks-keys-positioning:flex-start}@media (min-width:375px) and (min-height:700px){:root{--train-tracks-keys-block:17.3rem;--train-tracks-key-block:6rem;--train-tracks-key-inline:6rem}}@media (min-width:720px) and (min-height:950px){:root{--train-tracks-keys-padding:var(--space-4x);--train-tracks-keys-block:18.8rem;--train-tracks-key-font-size:2rem;--train-tracks-keys-column-gap:1.6rem;--train-tracks-key-block:6rem;--train-tracks-key-inline:6rem}}@media (min-width:1024px){:root{--train-tracks-keys-padding:0px;--train-tracks-keys-bg:transparent;--train-tracks-keys-border:none;--train-tracks-keys-column-gap:1.2rem;--train-tracks-keys-row-gap:1rem;--train-tracks-keys-container-inline:auto;--train-tracks-keys-inline:calc(var(--train-tracks-key-inline)*3 + var(--train-tracks-keys-column-gap)*2);--train-tracks-keys-positioning:flex-start;--train-tracks-key-font-size:2.2rem;--train-tracks-key-block:6rem;--train-tracks-key-inline:6rem}}.keys-container{align-items:center;background-color:var(--train-tracks-keys-bg);height:var(--train-tracks-keys-block);border-top:var(--train-tracks-keys-border);display:flex;flex-direction:column;gap:var(--train-tracks-keys-column-gap);width:var(--train-tracks-keys-container-inline);justify-content:var(--train-tracks-keys-positioning);padding:var(--train-tracks-keys-padding);touch-action:none;margin-top:auto}@media (min-width:1024px){.keys-container{margin-top:calc(var(--app-margin) + 6rem)}}.keys{display:flex;flex-wrap:wrap;gap:var(--train-tracks-keys-row-gap);width:var(--train-tracks-keys-inline);justify-content:center;margin-left:auto;margin-right:auto}@media (min-width:1024px){.keys{display:grid;grid-template:"key key key" auto "key key key" auto "delete x submit" auto/1fr 1fr 1fr}}.keys>li{height:var(--train-tracks-key-block);display:flex;flex-direction:column;width:var(--train-tracks-key-inline);max-width:6.7rem}@media (min-width:1024px){.keys>li:has([data-key=submitPuzzle]){grid-area:submit}.keys>li:has([data-key=delete]){grid-area:delete}.keys>li:has([data-key=X]){grid-area:x}}.completed .keys{pointer-events:none}.key{align-items:center;background-color:var(--train-tracks-key-bg,var(--white));height:100%;border:1px solid var(--keyline);border-radius:4px;box-shadow:0 1px 0 0 rgba(0,0,0,.1);display:flex;flex-shrink:0;font-size:var(--train-tracks-key-font-size);font-weight:600;width:100%;justify-content:center;position:relative;text-transform:uppercase;transition:transform .1s ease-in-out;-webkit-user-select:none;-moz-user-select:none;user-select:none}.key.active{box-shadow:none;transform:translateY(1px)}.key:hover{background-color:#ededed}.key .track-icon{width:70%;height:70%;border:1px solid #ccc;box-shadow:0 1px 1px rgba(0,0,0,.4);margin:0}.key:hover .track-icon{box-shadow:0 2px 2px rgba(0,0,0,.4);margin:0 0 2px}.key--primary{--train-tracks-key-bg:var(--primary);color:#fff}.key--primary:hover{background-color:var(--primary);background-image:linear-gradient(rgba(0,0,0,.05),rgba(0,0,0,.05))}.key--primary.active,.key--primary:active{--train-tracks-key-bg:var(--primary-light);box-shadow:none;transform:translateY(1px)}.key--primary.active:before,.key--primary:active:before{opacity:1;transform:translateY(calc(-100% - 10px)) scale(1)}.key--primary.active:after,.key--primary:active:after{opacity:1;transform:translateY(calc(var(--train-tracks-key-block)*-1 - 10px)) translateX(-50%) scale(1) rotate(45deg)}.key--primary.pressed{--train-tracks-key-bg:var(--primary-light)}.key--primary:is(.used-up,[disabled],[aria-disabled=true],.not-allowed){box-shadow:none;opacity:.5;pointer-events:none}@media (min-width:1024px){.key--primary:after,.key--primary:before{display:none}}.key--secondary{--train-tracks-key-bg:var(--grey-ed)}.key--secondary:hover{background-color:var(--grey-ed);background-image:linear-gradient(rgba(0,0,0,.05),rgba(0,0,0,.05))}.key--secondary{aspect-ratio:1/1}@media (min-width:720px){.key--secondary{aspect-ratio:auto}}.key--secondary.active,.key--secondary:active{--train-tracks-key-bg:var(--grey-dd)}:root{--game-gap:0px}@media (min-width:720px){:root{--game-gap:var(--space-5x)}}:where(.game){display:flex;flex-direction:column;flex-grow:1;top:0;right:0;bottom:0;left:0;max-height:100vh;max-height:100vb;position:absolute}.timer{font-size:1.6rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:500}:root{--settings-menu-inset:0;--settings-menu-padding-x:var(--space-6x);--settings-menu-padding-y:var(--space-4x);--settings-menu-padding:var(--settings-menu-padding-y) var(--settings-menu-padding-x);--settings-menu-transform:translateX(calc(100% + 2rem))}@media (min-width:720px){:root{--settings-menu-padding-x:var(--space-6x);--settings-menu-padding-y:var(--space-4x);--settings-menu-inset:2rem 2rem 2rem auto;--settings-menu-width:40rem}}.settings-menu{background-color:var(--app-bg);width:var(--settings-menu-width,auto);top:var(--settings-menu-inset);right:var(--settings-menu-inset);bottom:var(--settings-menu-inset);left:var(--settings-menu-inset);overflow-y:auto;position:fixed;transform:var(--settings-menu-transform);transition:transform .3s ease-in-out;z-index:3}.settings-menu[data-state=open]{--settings-menu-transform:none}@media (min-width:720px){.settings-menu{border-radius:1rem;top:2rem;right:2rem;bottom:2rem;left:auto}}.settings-menu__header{align-items:center;border-bottom:1px solid var(--keyline);display:flex;justify-content:space-between;padding:6rem var(--settings-menu-padding-x) var(--settings-menu-padding-y) var(--settings-menu-padding-x);position:relative}.settings-menu__title{font-size:1.6rem;font-weight:500}.settings-menu__close{width:4rem;height:4rem;position:absolute;right:2rem;top:2rem}.settings-menu__section-title{border-bottom:1px solid var(--keyline-light);color:var(--grey-69);font-size:1.4rem;font-weight:400;line-height:1;padding:var(--settings-menu-padding-y) var(--settings-menu-padding-x);text-transform:uppercase}.settings-menu__action{align-items:center;border-bottom:1px solid var(--keyline);cursor:pointer;display:flex;font-size:1.5rem;width:100%;justify-content:space-between;padding-top:var(--settings-menu-padding-y);padding-bottom:var(--settings-menu-padding-y);padding-left:var(--settings-menu-padding-x);padding-right:var(--settings-menu-padding-x)}@media (hover:hover) and (pointer:fine){.settings-menu__action:hover{background-color:var(--highlight-neutral)}}.settings-menu__action:is([aria-disabled=true],[disabled],:disabled){--fill:var(--grey-cc);color:var(--grey-cc);cursor:not-allowed}:is(button,a).settings-menu__action{gap:var(--space-2x);justify-content:flex-start}.puzzle-title{align-items:baseline;color:var(--primary);display:flex;gap:.4rem}.puzzle-title__difficulty,.puzzle-title__name,.puzzle-title__number{font-size:1.6rem;font-weight:600}:root{--puzzle-header-gap:var(--space-2x);--puzzle-header-font-size:1.6rem;--puzzle-header-border:0;--puzzle-header-block:5.2rem}@media (min-width:720px){:root{--puzzle-header-gap:var(--space-4x);--puzzle-header-font-size:1.8rem;--puzzle-header-border:1px solid var(--keyline);--puzzle-header-block:6.6rem}}.puzzle-header{align-items:center;background-color:var(--app-bg);height:var(--puzzle-header-block);border-bottom:var(--puzzle-header-border);display:flex;font-size:var(--puzzle-header-font-size);width:100%;justify-content:space-between;line-height:1.6rem;margin-left:auto;margin-right:auto;min-height:5.2rem}.puzzle-header__section{align-items:center;height:100%;display:flex;gap:var(--puzzle-header-gap)}.puzzle-header__section>li{height:100%;flex-shrink:0;position:relative}@media (min-width:720px){.puzzle-header__section>li:has(.puzzle-header__action--toggle-view){display:none}}.puzzle-header__section--right{flex-shrink:0;justify-content:flex-end}.puzzle-header__action{background-color:var(--puzzle-header-action-bg,var(--app-bg));height:100%;gap:var(--space);justify-content:center;padding:0 var(--space-2x);transition:color .1s ease-in-out,background-color .1s ease-in-out}.puzzle-header__action,.toggle-switch{align-items:center;display:flex}.toggle-switch__input{height:1px;clip:rect(1px,1px,1px,1px);width:1px;opacity:0;overflow:hidden;white-space:nowrap}.toggle-switch__input:checked+.toggle-switch__container{background-color:var(--success)}.toggle-switch__input:checked+.toggle-switch__container:after{transform:translateX(2rem)}.toggle-switch__input:focus{outline:0}.toggle-switch__input:focus+.toggle-switch__container{outline:var(--normal-stroke);outline-offset:.1rem}.toggle-switch__container{background-color:var(--error);height:2.4rem;border-radius:9999px;cursor:pointer;display:block;width:4.4rem;position:relative}.toggle-switch__container:after{aspect-ratio:1/1;background-color:var(--app-bg);height:1.6rem;border-radius:9999px;content:"";display:block;width:1.6rem;top:.4rem;right:auto;bottom:auto;left:.4rem;position:absolute;transition:transform .25s ease-in-out,background-color .25s ease-in-out}:root{--action-popout-padding:var(--action-popout-padding-y) var(--action-popout-padding-x);--action-popout-padding-x:var(--space-6x);--action-popout-padding-y:var(--space-4x)}.action-popout{--y:var(--space-8x);--r:8px;background-color:var(--app-bg);border-radius:var(--r);box-shadow:var(--shadow);font-size:1.6rem;pointer-events:none;z-index:10}@media (max-width:719.98px){.action-popout{width:min(100% - var(--app-margin) * 2,40rem);top:auto;right:auto;bottom:var(--y);left:50%;transform:translateY(calc(100% + var(--y))) translateX(-50%);transition:transform .2s ease-in-out;position:fixed}.action-popout[data-state=open]{pointer-events:auto;transform:translateY(0) translateX(-50%)}}@media (min-width:720px){.action-popout{border:1px solid #ddd;top:calc(100% + 1.5rem);right:-1.5rem;width:18rem;opacity:0;position:absolute;transition:all .2s ease-in-out;transform:translateY(2rem)}.action-popout:after,.action-popout:before{height:0;border-style:solid;display:block;content:"";width:0;bottom:100%;right:2rem;position:absolute}.action-popout:after{border-width:0 10px 10px;border-color:transparent transparent #fff}.action-popout:before{border-width:0 12px 12px;border-color:transparent transparent #ddd;right:1.9rem}.action-popout[data-state=open]{pointer-events:auto;opacity:1;transform:translateY(0)}}.action-popout__header{align-items:center;display:flex;justify-content:space-between;padding:var(--action-popout-padding-x);position:relative}@media (min-width:720px){.action-popout__header{display:none}}.action-popout__title{color:var(--primary);font-size:1.4rem;font-weight:400;width:calc(100% - var(--action-modal-padding-x) - 1.6rem);line-height:1.3}.action-popout__close{--size:4rem;align-items:center;height:var(--size);display:flex;justify-content:center;width:var(--size);top:50%;right:calc(var(--action-popout-padding-x) - 1.2rem);position:absolute;transform:translateY(-50%)}.action-popout__actions-group{display:flex;gap:var(--space-3x)}.action-popout__actions{display:flex;flex-direction:column}.action-popout__actions>li:last-child>.action-popout__action{border-bottom-left-radius:var(--r);border-bottom-right-radius:var(--r)}@media (min-width:720px){.action-popout__actions>li:first-child>.action-popout__action{border:none;border-top-left-radius:var(--r);border-top-right-radius:var(--r)}}.action-popout__action{background-color:var(--action-popout-action-bg,var(--app-bg));border-top:1px solid var(--keyline);font-size:1.5rem;font-weight:500;width:100%;padding:var(--action-popout-padding);text-align:left;transition:background-color .1s ease-in-out}@media (hover:hover) and (pointer:fine){.action-popout__action:hover{--action-popout-action-bg:var(--highlight-neutral)}}.action-popout__divider{background-color:var(--keyline-light);height:1px;border:none;display:block;margin-left:var(--action-popout-padding-x);margin-right:var(--action-popout-padding-x)}:root{--action-modal-padding:var(--action-modal-padding-y) var(--action-modal-padding-x);--action-modal-padding-x:var(--space-6x);--action-modal-padding-y:var(--space-4x)}.action-modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.2);opacity:0;z-index:3;pointer-events:none}.action-modal-bg[data-state=open]{opacity:1;pointer-events:all;-webkit-user-select:text;-moz-user-select:text;user-select:text}.action-modal-bg .action-modal{z-index:4}.action-modal{background-color:var(--app-bg);border-radius:8px;box-shadow:var(--shadow);display:block;width:min(30rem,100vw - var(--app-margin) * 2);top:50%;right:auto;bottom:auto;left:50%;max-height:calc(100vh - var(--app-margin)*2);opacity:0;overflow-y:auto;pointer-events:none;position:fixed;transform:translate(-50%,-50%) scale(.9);transition:transform .15s ease-in-out,opacity .15s ease-in-out;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:2}.action-modal--wide{width:min(50rem,100vw - var(--app-margin) * 2)}.action-modal[data-state=open]{opacity:1;pointer-events:all;transform:translate(-50%,-50%) scale(1);-webkit-user-select:text;-moz-user-select:text;user-select:text}.action-modal__header{align-items:center;border-bottom:1px solid var(--keyline-light);display:flex;justify-content:space-between;padding:var(--action-modal-padding-x);position:relative}.action-modal__title{color:var(--primary);font-size:1.4rem;font-weight:400;width:calc(100% - var(--action-modal-padding-x) - 1.6rem);line-height:1.3}.action-modal__close{--size:4rem;align-items:center;height:var(--size);display:flex;justify-content:center;width:var(--size);top:50%;right:calc(var(--action-popout-padding-x) - 1.2rem);position:absolute;transform:translateY(-50%)}.action-modal__actions{display:flex;gap:var(--space-4x)}.action-modal__actions>li{flex-grow:1}.action-modal__actions[aria-orientation=vertical]{flex-direction:column}.action-modal__actions--no-gap{gap:0}.action-modal__action{background-color:var(--action-modal-action-bg,var(--app-bg));width:100%;padding:var(--action-modal-padding);text-align:left;transition:background-color .1s ease-in-out}[aria-orientation=vertical] .action-modal__action{border-bottom:1px solid var(--grey-e4)}@media (hover:hover) and (pointer:fine){.action-modal__action:hover{--action-modal-action-bg:var(--highlight-neutral)}}@media (hover:hover) and (pointer:fine){.action-modal__action:has(.action-modal__group):hover{--action-modal-action-bg:var(--app-bg)}}.action-modal__content{display:flex;flex-direction:column;gap:var(--space-4x);padding:var(--action-modal-padding)}.action-modal__content p{font-size:1.4rem;line-height:1.5}.action-modal__content p+p{margin-top:var(--space-2x)}.action-modal__group-title{display:block;font-size:1.4rem;font-weight:400;margin-bottom:var(--space-2x)}.action-modal__group{display:flex;flex-direction:column;gap:var(--space-4x)}.action-modal__group[data-variant=row]{flex-direction:row;justify-content:space-between}.action-modal__group[data-variant=row-reversed],.action-modal__group[data-variant=rowReverse]{flex-direction:row-reverse}.action-modal__group[data-variant=row-collapsed],.action-modal__group[data-variant=rowCollapsed]{flex-direction:row}.action-modal__group>svg{flex-shrink:0}.blind{align-items:center;background-color:var(--blind-bg);border-radius:8px;box-shadow:var(--shadow);color:var(--white);display:flex;font-size:1.4rem;width:min(37.5rem,100vw - var(--app-margin) * 2);width:min(37.5rem,100vi - var(--app-margin) * 2);top:var(--space-3x);right:auto;bottom:auto;left:50%;justify-content:space-between;padding:var(--space-4x);position:fixed;transform:translateX(-50%) var(--blind-translate-y,translateY(calc(-100% - var(--space-3x) - 100px)));transition:transform .25s ease-in-out;z-index:3}.blind[data-state=open]{--blind-translate-y:translateY(0)}.blind[data-variant=incorrect]{--blind-bg:var(--error)}.blind[data-variant=correct]{--blind-bg:var(--primary)}.blind__close{align-items:center;display:flex;justify-content:center}:root{--completion-block:100vh;--completion-inline:100vw}@supports (top:1vi){:root{--completion-inline:100vi}}@supports (top:1vi){:root{--completion-block:100vb}}@media (min-width:720px){:root{--completion-block:min(55rem,(100vh - (var(--app-margin) * 2)));--completion-inline:55rem}@supports (top:1vi){:root{--completion-block:min(55rem,(100vb - (var(--app-margin) * 2)))}}}.completion{align-items:center;background-color:var(--app-bg);height:var(--completion-block);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:var(--space-2x);top:50%;right:auto;bottom:auto;left:50%;width:var(--completion-inline);justify-content:center;opacity:0;padding-top:var(--space-6x);padding-bottom:var(--space-6x);padding-left:var(--space-6x);padding-right:var(--space-6x);align-content:center;justify-content:center;place-content:center;pointer-events:none;position:fixed;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:transform .2s ease-in-out,opacity .2s ease-in-out;transform:translate(-50%,-50%) scale(.9);z-index:3}.completion[data-state=open]{opacity:1;pointer-events:all;-webkit-user-select:text;-moz-user-select:text;user-select:text;transform:translate(-50%,-50%) scale(1)}@media (min-width:720px){.completion{border-radius:8px}}.completion>.signposts{margin-top:auto}.completion__puzzle-content{align-items:center;display:flex;flex-direction:column;flex-grow:1;width:100%;justify-content:center}.completion__title{color:var(--primary);font-size:2.4rem;font-weight:700;margin-bottom:1.2rem}.completion__message{font-size:1.8rem;font-weight:600;margin-bottom:1.2rem;text-align:center;text-wrap:balance}@media (min-width:720px){.completion__message{margin-bottom:2rem;padding-left:5rem;padding-right:5rem}}.completion__timer{color:var(--primary)}.completion__review{--block-button-inline:8rem;display:block;margin-left:auto;margin-right:auto}.completion__actions{margin-top:1.2rem}.completion__share{align-items:center;display:flex;flex-direction:column;width:100%;justify-content:center}.completion__share__title{font-size:1.4rem;font-weight:500;text-align:center}.completion__share__actions{align-items:center;display:flex;gap:var(--space-3x)}.rotate-device{align-items:center;background-color:var(--app-bg);display:none;flex-direction:column;top:0;right:0;bottom:0;left:0;justify-content:center;position:fixed;text-align:center}.rotate-device[data-show-before*="height:600"]{display:flex}@media (min-height:600px){.rotate-device[data-show-before*="height:600"]{display:none}}.rotate-device[data-show-before*="width:720"]{display:flex}@media (min-width:720px){.rotate-device[data-show-before*="width:720"]{display:none}}.overlay{background-color:var(--overlay);display:none;top:0;right:0;bottom:0;left:0;position:fixed;z-index:2}@media (min-width:720px){.check-showing .overlay,.reveal-showing .overlay{top:6.6rem}}.overlay[data-state=showing]{display:block}:root{--onboarding-content-padding:var(--space-4x) var(--space-6x) 0 var(--space-6x)}.onboarding{align-items:center;background-color:var(--app-bg);height:min(50rem,100vh - var(--space-7x) * 2);height:min(50rem,100vb - var(--space-7x) * 2);border-radius:8px;box-shadow:var(--shadow);display:flex;flex-direction:column;top:50%;right:auto;bottom:auto;left:50%;width:min(50rem,100vw - var(--app-margin) * 2);width:min(50rem,100vi - var(--app-margin) * 2);justify-content:center;opacity:0;align-content:center;justify-content:center;place-content:center;pointer-events:none;position:fixed;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:transform .15s ease-in-out,opacity .15s ease-in-out;transform:translate(-50%,-50%) scale(.9);z-index:3}.onboarding[data-state=open]{opacity:1;pointer-events:all;-webkit-user-select:text;-moz-user-select:text;user-select:text;transform:translate(-50%,-50%) scale(1)}.onboarding__content{flex-grow:1;max-width:100%;overflow:hidden;padding:var(--onboarding-content-padding);text-wrap:balance}.onboarding__actions{border-top:1px solid var(--keyline);width:100%;padding:var(--space-6x)}.onboarding__close{align-items:center;display:flex;gap:var(--space-3x);top:var(--space-4x);right:var(--space-6x);bottom:auto;left:auto;line-height:1;position:absolute;z-index:2}.nice-scroll{--scrollbar-size:8px;--scrollbar-colour:var(--grey-dd);scrollbar-width:thin;scrollbar-color:var(--scrollbar-colour) transparent}.nice-scroll::-webkit-scrollbar{height:var(--scrollbar-size);width:var(--scrollbar-size)}.nice-scroll::-webkit-scrollbar-track{background-color:transparent}.nice-scroll::-webkit-scrollbar-thumb{background-color:var(--scrollbar-colour);border-radius:9999px;border:2px solid #fff}.flow>*+*{margin-top:var(--flow-space,var(--space-2x))}.hidden{display:none}@media (min-width:720px){.md\:hidden{display:none}}@media (min-width:1024px){.lg\:hidden{display:none}}@media (min-width:720px){.md\:block{display:block}}@media (min-width:1024px){.lg\:block{display:block}}.lg\:sticky{position:sticky}.lg\:top-0{top:0}.z-0{z-index:0}.z-1{z-index:1}.z-10{z-index:10}.z-20{z-index:20}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.mx-auto{margin-right:auto}.ml-auto,.mx-auto{margin-left:auto}.mr-auto{margin-right:auto}.hide-scrollbar{scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}.block-button{--s:0 .2rem .2rem 0 rgba(0,0,0,0.25);align-items:center;background-color:var(--block-button-bg);height:4.8rem;border:1px solid var(--block-button-bc,currentColor);border-radius:4px;box-shadow:var(--s);color:var(--block-button-fg);display:inline-flex;font-size:var(--block-button-font-size,1.4rem);width:var(--block-button-inline,100%);justify-content:center;text-align:center}.block-button:active{box-shadow:none;top:1px;position:relative}.block-button:where([data-variant=primary]){--block-button-bg:var(--primary);--block-button-fg:var(--white);--block-button-bc:var(--primary)}@media (hover:hover) and (pointer:fine){.block-button:where([data-variant=primary]):hover{--block-button-bg:var(--primary-dark)}}.block-button:where([data-variant=secondary]){--block-button-bg:var(--white);--block-button-bc:var(--grey-33);--block-button-fg:var(--grey-33)}@media (hover:hover) and (pointer:fine){.block-button:where([data-variant=secondary]):hover{--block-button-bg:#f2f2f2}}.block-button:where([data-variant=textonly]){--block-button-bg:transparent;--block-button-bc:transparent;--block-button-fg:var(--primary);box-shadow:none;padding-top:1rem;padding-bottom:1rem;padding-left:1rem;padding-right:1rem;margin:0}@media (hover:hover) and (pointer:fine){.block-button:where([data-variant=textonly]):hover{--block-button-fg:#333}}.block-button:is([aria-disabled=true],[disabled],:disabled){--block-button-bg:var(--app-bg);--block-button-bc:var(--grey-cc);--block-button-fg:var(--grey-cc);--s:0 .2rem .2rem 0 rgba(0,0,0,0.1);cursor:not-allowed}@media (hover:hover) and (pointer:fine){.block-button:is([aria-disabled=true],[disabled],:disabled):hover{--block-button-bg:var(--app-bg)}}.block-button:is([aria-disabled=true],[disabled],:disabled):active{box-shadow:var(--s);top:auto}:where(.block-button){font-weight:500}.block-button--fit{width:-moz-fit-content;width:fit-content;padding-left:var(--space-4x);padding-right:var(--space-4x)}.block-button--centre{display:block;margin-left:auto;margin-right:auto}.signposts{display:flex;flex-direction:column;gap:var(--space-3x);width:100%;margin-left:auto;margin-right:auto;padding-left:var(--space-6x);padding-right:var(--space-6x)}@media (min-width:720px){.signposts{flex-direction:row;padding-left:0;padding-right:0}}.signposts>div{width:100%}.signposts__title{font-size:1.4rem;font-weight:400;line-height:1.1;margin-bottom:1.2rem;text-align:center}.signpost{align-items:flex-start;background-color:#eee;height:8.6rem;border-radius:4px;display:flex;flex-direction:column;width:100%;justify-content:center;margin-left:auto;margin-right:auto;max-width:27.5rem;overflow:hidden;padding-left:11.5rem;position:relative}.signpost__image{height:10.8rem;top:-2rem;left:-2rem;width:10.8rem;position:absolute;transform:rotate(45deg)}.signpost__play-now,.signpost__puzzle{font-size:1.2rem;font-weight:700}.signpost__play-now{color:var(--primary)}.icon{align-items:center;height:var(--icon-block);display:inline-flex;width:var(--icon-inline);justify-content:center}.icon[data-size="8"]{--icon-block:0.8rem;--icon-inline:0.8rem}.icon[data-size="12"]{--icon-block:1.2rem;--icon-inline:1.2rem}.icon[data-size="14"]{--icon-block:1.4rem;--icon-inline:1.4rem}.icon[data-size="16"]{--icon-block:1.6rem;--icon-inline:1.6rem}.icon[data-size="20"]{--icon-block:2rem;--icon-inline:2rem}.icon[data-size="24"]{--icon-block:2.4rem;--icon-inline:2.4rem}.icon[data-size="30"]{--icon-block:3rem;--icon-inline:3rem}.icon[data-size="38"]{--icon-block:3.8rem;--icon-inline:3.8rem}.icon[data-size="42"]{--icon-block:4.2rem;--icon-inline:4.2rem}.icon[data-size="48"]{--icon-block:4.8rem;--icon-inline:4.8rem}.icon-button{align-items:center;aspect-ratio:1/1;background-color:var(--icon-button-bg,transparent);height:3.2rem;border-radius:50%;display:inline-flex;flex-shrink:0;font-size:1.8rem;font-weight:500;width:3.2rem;justify-content:center}@media (hover:hover) and (pointer:fine){.icon-button:hover{--icon-button-bg:rgba(0,0,0,0.07)}}.icon-button:active{--icon-button-bg:rgba(0,0,0,0.07)}.icon-button.icon-button--solid{align-items:center;background:#333;height:3rem;border-radius:4px;color:#fff;display:flex;width:3rem;justify-self:center}@media (min-width:720px){:root{--slide-padding:0 var(--space-10x);--slider-arrow-display:block}}.slider{height:100%;width:100%;overflow:hidden;position:relative}.slider__controls{align-items:center;height:3.6rem;display:flex;gap:var(--space-2x);justify-content:center;margin:0 0 var(--space-11x) 0}.slider-control{aspect-ratio:1/1;background-color:var(--slider-control-bg,var(--keyline));border-radius:var(--slider-control-radius,50%);height:1rem;cursor:pointer;width:var(--slider-control-inline,1rem);transition:width .2s ease-in-out,border-radius .2s ease-in-out}.slider-control[data-state=showing]{--slider-control-radius:9999px;--slider-control-inline:2rem;--slider-control-bg:var(--primary)}.slider-control[data-state=seen]{--slider-control-bg:var(--primary)}.slider__arrow{height:2rem;width:2rem;position:absolute;transform:translateY(-50%);z-index:1}.slider__arrow[data-direction=left]{top:50%;right:auto;bottom:auto;left:0}.slider__arrow[data-direction=right]{top:50%;right:0;bottom:auto;left:auto}.slides{display:flex;transition:transform .2s ease-in-out}.slide{flex:1 0 auto;width:100%;padding:var(--slide-padding,0)}.slide__content>p{text-align:center}.slide__content>p+p{margin:var(--space-2x) 0 0 0}.slide__image{height:auto;width:100%;margin:var(--space-4x) auto 0 auto}:root{--action-bar-gap:var(--space-2x)}@media (min-width:720px){:root{--action-bar-gap:var(--space-6x)}}.action-bar{align-items:center;background-color:var(--app-bg);height:var(--action-bar-block,100%);display:flex;gap:var(--action-bar-gap);justify-content:center}.action-bar[data-area=tools]{--action-bar-gap:var(--space-6x);--action-bar-block:auto;flex-grow:1;padding-top:.8rem;padding-bottom:.8rem}@media (min-width:720px){.action-bar[data-area=tools]{--action-bar-gap:var(--space-10x)}}@media (max-width:599.98px) and (min-height:800.02px){.action-bar[data-area=tools]{max-height:10rem}}.action{flex-shrink:0;position:relative}.action-button{align-items:center;height:100%;display:flex;flex-direction:column;font-size:1.4rem;justify-content:center}.action-button[aria-disabled=true]{opacity:.5;pointer-events:none}.action-button__icon{--size:4rem;align-items:center;height:var(--size);border-radius:50%;display:flex;width:var(--size);justify-content:center}@media (hover:hover) and (pointer:fine){.action-button:hover .action-button__icon{background-color:var(--primary-light)}}@media (min-width:720px){.action-button__icon{--size:3.2rem}}.action-button[aria-expanded=true] .action-button__icon,.action-button[aria-pressed=true] .action-button__icon{background-color:var(--primary-light)}.action-button__label{font-size:1.2rem}.copied-to-clipboard{background-color:var(--black);border-radius:4px;color:var(--white);display:block;top:50%;right:auto;bottom:auto;left:50%;opacity:0;overflow-y:auto;padding-top:var(--space-2x);padding-bottom:var(--space-2x);padding-left:var(--space-4x);padding-right:var(--space-4x);pointer-events:none;position:fixed;transform:translate(-50%,-50%) scale(.9);transition:transform .15s ease-in-out,opacity .15s ease-in-out;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:5}.copied-to-clipboard[data-state=open]{opacity:1;pointer-events:all;transform:translate(-50%,-50%) scale(1);-webkit-user-select:text;-moz-user-select:text;user-select:text}.form-control{font-size:1.4rem;line-height:1.1;display:grid;grid-template-columns:1rem auto;gap:var(--space-3x)}.custom-radio{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:1.6rem;border:1px solid;border-radius:50%;color:currentColor;display:grid;font:inherit;width:1.6rem;margin:0;align-content:center;justify-content:center;place-content:center}.custom-radio:before{height:1rem;border-radius:50%;box-shadow:inset 1em 1em var(--success);content:"";width:1rem;transform:scale(0);transition:transform .12s ease-in-out;background-color:CanvasText}.custom-radio:checked:before{transform:scale(.9)}.custom-radio:focus{outline:solid currentColor;outline-offset:max(2px,.1rem)}.dm-input{accent-color:var(--primary)}input[type=range]{--track-block:.5rem;-moz-appearance:none;appearance:none;background-color:transparent;height:var(--track-block);flex-grow:1;width:100%;margin-top:auto;margin-bottom:auto;position:relative;-webkit-appearance:none}input[type=range]:after{background:var(--primary);height:var(--track-block);border-radius:9999px;content:"";width:var(--progress,0);top:0;right:auto;bottom:0;left:0;pointer-events:none;position:absolute}input[type=range]::-webkit-slider-runnable-track{background-color:#d9d9d9;height:var(--track-block);border-radius:9999px;cursor:pointer;width:100%}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--primary);height:2rem;border:2px solid var(--app-bg);border-radius:50%;cursor:pointer;width:2rem;margin-top:calc(var(--track-block)/ 2 - 1rem)}input[type=range]:focus::-webkit-slider-runnable-track{background:#d9d9d9}input[type=range]::-moz-range-track{background:#d9d9d9;height:var(--track-block);border-radius:9999px;cursor:pointer;width:100%}input[type=range]::-moz-range-thumb{background:var(--primary);height:2rem;border:2px solid var(--app-bg);border-radius:50%;cursor:pointer;width:2rem}.form-group{display:flex;flex-direction:column;gap:var(--space)}.form-group[data-variant=row]{align-items:center;flex-direction:row}.print-preview{height:9rem;width:9rem}
/*# sourceMappingURL=maps/main.css.map */
