button.button-component{position:relative;border:2px solid var(--color-control-border-dark);border-top-color:var(--color-control-border-light);border-left-color:var(--color-control-border-light);box-shadow:2px 2px 0 var(--color-control-shadow);background-color:var(--color-control-background);color:var(--color-page-text);padding:.5rem 1rem;font-weight:700;font-family:inherit;font-size:13px;cursor:pointer;transition:border-color .25s;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;top:0;left:0;transition:left .1s ease,top .1s ease,box-shadow .1s ease}button.button-component.small{padding:.25em .5rem}button.button-component.negative{border-color:var(--color-negative);color:var(--color-negative-dark);border-color:var(--color-negative-dark);border-top-color:var(--color-negative-light);border-left-color:var(--color-negative-light);background-color:var(--color-negative);color:var(--color-page-text-inverted)}button.button-component.negative:hover:not(:disabled){border-color:var(--color-negative-dark);background-color:var(--color-negative-dark);color:var(--color-page-text-inverted)}button.button-component.primary{background-color:var(--color-active);border-color:var(--color-active-dark);border-top-color:var(--color-active-light);border-left-color:var(--color-active-light);color:var(--color-page-text-inverted)}button.button-component.primary:hover:not(:disabled),button.button-component.primary:focus{border-color:var(--color-active-dark);background-color:var(--color-active-dark)}button.button-component:disabled{cursor:not-allowed;box-shadow:none;opacity:.6;pointer-events:none}button.button-component:hover:not(:disabled),button.button-component:focus{border-color:var(--color-active);outline:none}button.button-component:active,button.button-component:active:focus{top:2px;left:2px;box-shadow:0 0 0 var(--color-control-shadow)}.icon-button{padding:0;line-height:.5;background:transparent;border:none;cursor:pointer;color:inherit}.icon-button:hover{color:var(--color-active)}.icon-button:focus{outline:none;color:var(--color-active)}.icon-button.small svg{width:1rem;height:1rem}.icon-button:disabled{pointer-events:none;opacity:.6}.icon-button.bordered{border:2px solid var(--color-control-border-dark);border-top-color:var(--color-control-border-light);border-left-color:var(--color-control-border-light);box-shadow:2px 2px 0 var(--color-control-shadow);background-color:var(--color-control-background);top:0;left:0;transition:left .1s ease,top .1s ease,box-shadow .1s ease}.icon-button.bordered:hover:not(:disabled),.icon-button.bordered:focus{color:inherit;border-color:var(--color-active);outline:none}.icon-button.bordered:active,.icon-button.bordered:active:focus{position:relative;top:2px;left:2px;box-shadow:0 0 0 var(--color-control-shadow)}.message{position:relative;border:2px solid var(--color-message-border);padding:1rem;background-color:var(--color-message-background);color:var(--color-message-text);box-shadow:2px 2px 0 var(--color-panel-shadow)}.message>:first-child{margin-top:0}.message>:last-child{margin-bottom:0}.message .message-close-button{position:absolute;top:.5rem;right:.5rem;background:transparent;border:none;cursor:pointer}.message.narrow{max-width:25rem;margin:0 auto}.message.positive{border-color:var(--color-positive);background-color:var(--color-positive-pale)}.message.info{border-color:var(--color-info);background-color:var(--color-info-pale)}.message.negative{border-color:var(--color-negative);background-color:var(--color-negative-pale)}.flex-row{display:flex;flex-direction:row;align-items:center}.flex-col{display:flex;flex-direction:column;align-items:center}.dialog-background{position:fixed;top:0;left:0;background:#00000080;width:100vw;height:100vh;display:flex;justify-content:center;align-items:center;animation:fadeIn .25s forwards;z-index:10}dialog.small-dialog{display:flex;flex-direction:column;gap:1rem;position:fixed;top:50%;transform:translateY(-50%);z-index:20;max-width:90vw;border:2px solid var(--color-dialog-border-dark);border-top-color:var(--color-dialog-border-light);border-left-color:var(--color-dialog-border-light);background-color:var(--color-panel-background);box-shadow:0 0 1rem #00000020,4px 4px var(--color-dialog-shadow)}dialog.small-dialog .header{display:flex;justify-content:space-between;align-items:center;line-height:12px}dialog.small-dialog .header h2{margin:0}dialog.small-dialog .dialog-buttons{display:flex;justify-content:flex-end;gap:1rem;margin-top:auto}.tooltip-container{position:relative;cursor:help;text-decoration:underline;text-decoration-style:dotted;--tooltip-background: var(--color-info-pale);--tooltip-border: var(--color-info)}.tooltip-container button{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:help;background:none;border:none;padding:0;line-height:1;text-decoration:underline;text-decoration-style:dotted;font:inherit}.tooltip-container button:focus{outline:2px solid var(--color-active)}.tooltip-container .tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:var(--tooltip-background);border:2px solid var(--tooltip-border);padding:.25rem .5rem;white-space:nowrap;z-index:1000;margin-bottom:.25rem;font-size:var(--page-font-size);font-weight:var(--page-font-weight);filter:drop-shadow(2px 2px 0 var(--color-control-shadow));will-change:opacity;pointer-events:none;opacity:0;transition:opacity .2s ease-in-out}.tooltip-container .tooltip svg.tooltip-arrow{z-index:10;position:absolute;top:calc(100% + 0px);left:50%;transform:translate(-50%)}.tooltip-container .tooltip.left-align{left:auto;right:calc(50% - 1rem);transform:none}.tooltip-container .tooltip.left-align svg.tooltip-arrow{left:auto;right:calc(1rem - 14px)}.tooltip-container .tooltip.right-align{left:calc(50% - 1rem);right:auto;transform:none}.tooltip-container .tooltip.right-align svg.tooltip-arrow{left:calc(1rem - 2px);right:auto}.tooltip-container.negative{--tooltip-background: var(--color-negative-pale);--tooltip-border: var(--color-negative)}.tooltip-container.negative button{color:var(--color-negative)}.tooltip-container.force-show .tooltip,.tooltip-container:hover .tooltip,.tooltip-container:focus-within .tooltip{pointer-events:auto;opacity:1}@media (prefers-reduced-motion: reduce){.tooltip{transition:none}}.validated-input-container{position:relative}.validated-input-container>input{padding-right:calc(.5rem + 24px)}.validated-input-container>svg{position:absolute;top:50%;right:.1875rem;transform:translateY(-50%);pointer-events:none}.validated-input-container .message.negative{position:absolute;z-index:100;padding:.25rem .5rem}.validated-input-container.error.hide-error-on-blur:not(:focus-within) .message{display:none}.validated-input-container.error.hide-error-on-blur:not(:focus-within)>input{border-color:var(--color-negative-dark)}.canvas-overlay-container{position:relative}.canvas-overlay-container>canvas{position:absolute;top:0;left:0}.canvas-overlay-container .canvas-overlay{position:absolute;top:0;left:0;z-index:1}.canvas-overlay-container .canvas-overlay .canvas-overlay-character{display:inline-block;background-color:#ff00001a}.canvas-overlay-container .canvas-overlay .canvas-overlay-character:hover{background-color:#0000001a;outline:2px solid orange}.font-character{display:flex;align-items:center;justify-content:center;image-rendering:pixelated;background-size:cover}.font-character.selectable{position:relative;background-color:var(--color-page-background)}.font-character.selectable.selected{outline:2px solid var(--color-active);z-index:2}.font-character.selectable:focus,.font-character.selectable:hover{outline:2px solid var(--color-active);box-shadow:2px 2px 0 2px var(--color-control-shadow)}.font-character.selectable:focus{transform:scale(1.05);z-index:10}.font-character.selectable:hover{transform:scale(1.25);z-index:20}#character-editor-canvas{border:2px solid;border-top-color:var(--color-control-inset-dark);border-right-color:var(--color-control-inset-light);border-bottom-color:var(--color-control-inset-light);border-left-color:var(--color-control-inset-dark);cursor:crosshair;image-rendering:pixelated}.font-view{padding:1rem;background-color:var(--color-panel-background)}.font-view .font-heading{gap:.5rem 2rem}@media screen and (max-width: 1100px){.font-view .font-heading{gap:.5rem 1.5rem}}@media screen and (max-width: 1000px){.font-view .font-heading{gap:.5rem 1rem}}@media screen and (max-width: 768px){.font-view .font-heading{gap:.5rem 1rem}}.narrow-page-wrapper{max-width:480px;margin:0 auto;padding:20px;border:2px solid var(--color-dialog-border-dark);border-top-color:var(--color-dialog-border-light);border-left-color:var(--color-dialog-border-light);background-color:var(--color-panel-background);box-shadow:4px 4px var(--color-control-shadow);box-sizing:border-box}nav{--nav-action-color: darkblue;--nav-action-background: #eee;--nav-action-light-border-color: #fff;--nav-action-dark-border-color: hsl(0 0 0 / .2);--nav-action-active-color: white;--nav-action-active-background: hsl(212 90% 30%);--nav-action-active-light-border-color: hsl(212 100% 80% / .25);--nav-action-active-dark-border-color: hsl(0 0 0 / .2);--nav-action-hover-color: white;--nav-action-hover-background: hsl(212 90% 40%);--nav-action-hover-light-border-color: hsl(212 90% 50% / .25);--nav-action-hover-dark-border-color: hsl(0 0 0 / .2);--nav-menu-background: hsl(212, 75%, 53%);--nav-menu-light-border-color: hsl(212 100% 80% / .25);--nav-menu-dark-border-color: hsl(0 0 0 / .2);position:relative;background:linear-gradient(90deg,rgb(0 41 85 / 1) 140px,rgb(0 41 85 / .6065306597) 160px,rgb(0 41 85 / .3678794412) 180px,rgb(0 41 85 / .2231301601) 200px,rgb(0 41 85 / .1353352832) 220px,rgb(0 41 85 / .04978706837) 240px,rgb(0 41 85 / .01831563889) 280px,rgb(0 41 85 / .006737946999) 320px,rgb(0 41 85 / .002478752177) 360px,transparent);background-color:var(--nav-menu-background);box-shadow:0 1px #80808080;height:2.5rem;padding:0 .5rem}nav a:focus,nav *:focus{z-index:10;outline:4px solid rgb(215,239,255);outline-offset:0}.logo-link{margin:0;color:#fff;font-size:1rem;font-weight:700;text-decoration:none}.logo-link:hover{color:#ddd}.logo-link svg{position:relative;top:8px;width:48px;height:48px;filter:drop-shadow(2px 2px 4px #0696);border-radius:50%}.logo-text:first-letter{color:transparent;margin-left:-30px;margin-right:18px}.nav-menu{position:relative;flex:1}nav .nav-toggle,nav .page-link{color:var(--nav-action-color);background:var(--nav-action-background);border:2px solid transparent;border-top-color:var(--nav-action-light-border-color);border-left-color:var(--nav-action-light-border-color);border-bottom-color:var(--nav-action-dark-border-color);border-right-color:var(--nav-action-dark-border-color);padding:.25rem}.nav-toggle{display:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;height:2.5rem;align-items:center}.nav-toggle:hover,.nav-toggle:focus{color:#eee;background:var(--nav-menu-background);border-top-color:var(--nav-menu-light-border-color);border-left-color:var(--nav-menu-light-border-color);border-bottom-color:var(--nav-menu-dark-border-color);border-right-color:var(--nav-menu-dark-border-color)}.nav-actions{display:flex;gap:.5rem;list-style:none;margin:0;padding:0;align-items:center}.nav-actions li{display:inline-block}nav .page-link{position:relative;font-size:14px;font-weight:700;padding:.25rem .5rem;box-shadow:2px 2px 0 var(--color-control-shadow)}nav a.page-link:hover{text-decoration:none;color:var(--nav-action-hover-color);background-color:var(--nav-action-hover-background);border-top-color:var(--nav-action-hover-light-border-color);border-left-color:var(--nav-action-hover-light-border-color);border-bottom-color:var(--nav-action-hover-dark-border-color);border-right-color:var(--nav-action-hover-dark-border-color)}.page-link.active{color:var(--nav-action-active-color);background-color:var(--nav-action-active-background);border-top-color:var(--nav-action-active-light-border-color);border-left-color:var(--nav-action-active-light-border-color);border-bottom-color:var(--nav-action-active-dark-border-color);border-right-color:var(--nav-action-active-dark-border-color)}.nav-items{margin-left:6rem;flex:1}.nav-actions li.about-item{margin-right:auto}@media (max-width: 768px){nav{justify-content:space-between}.nav-actions li.about-item{margin-right:0}.nav-menu{flex:none}.nav-items{margin-left:0;flex-direction:row-reverse}.nav-toggle{display:flex}.nav-actions{position:absolute;top:calc(100% + 4px);right:0;background:var(--nav-menu-background);border:2px solid transparent;border-top-color:var(--nav-menu-light-border-color);border-left-color:var(--nav-menu-light-border-color);border-bottom-color:var(--nav-menu-dark-border-color);border-right-color:var(--nav-menu-dark-border-color);box-shadow:2px 2px 0 var(--color-panel-shadow);flex-direction:column;gap:0;min-width:12rem;z-index:1000;padding:.5rem;opacity:0;visibility:hidden;transform:translateY(-4px);pointer-events:none}.nav-menu:hover .nav-actions,.nav-menu:focus-within .nav-actions{opacity:1;visibility:visible;pointer-events:auto}.nav-actions li{width:100%;margin-right:0}.nav-actions .page-link{display:block;width:100%;box-sizing:border-box;margin-bottom:.25rem}.nav-actions .page-link:last-child{margin-bottom:0}}.nav-auth{color:#d7efff;margin-left:auto}.signed-in{display:flex;gap:1rem;align-items:center}.signed-in .user-name{text-align:right;min-width:4rem;font-weight:700;text-decoration:none;color:#d7efff}.signed-in:hover .user-name{text-decoration:underline;color:#fff}.page-content{max-width:1280px;margin:0 auto;padding:1rem}:root{--color-active: #2b86ff;--color-active-light: rgb(179 198 255);--color-active: #36f;--color-active: hsl(212 90% 50%);--color-active-dark: hsl(212, 100%, 35%);--color-message-border: #999;--color-message-background: #f0f0f0;--color-message-text: #333;--color-positive: #0f0;--color-positive-dark: #090;--color-positive-pale: #cfc;--color-info: #fc0;--color-info-pale: #ffc;--color-negative: #f73344;--color-negative-dark: #c00;--color-negative-light: #f9a;--color-negative-pale: #fee;--color-input-background: #f9f9f9;--color-control-background: #ddd;--color-control-border-light: #fff;--color-control-border-dark: #999;--color-control-inset-light: #ddd;--color-control-inset-dark: #999;--color-control-invalid-border: var(--color-negative);--color-control-shadow: #0001;--color-panel-background: hsl(36, 20%, 90%);--color-panel-shadow: #0002;--color-page-background: hsl(36, 20%, 80%);--color-page-text: #213547;--color-page-text-inverted: #fff;--color-text-muted: #666;--color-dialog-border-light: #fff;--color-dialog-border-dark: #0004;--color-dialog-shadow: #0004;--page-font-size: 13.333px;--page-font-weight: 400}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{scrollbar-gutter:stable;color:var(--color-page-text)}body{margin:0;font-family:monospace;font-weight:var(--page-font-weight);font-size:var(--page-font-size);line-height:1.5}html,body{background-color:var(--color-page-background)}a{color:var(--color-active-dark);text-decoration:inherit}a:hover{color:var(--color-active);text-decoration:underline}a:focus{outline:2px solid var(--color-active)}h1{font-size:1.25rem}h2{font-size:1rem}h3{font-size:.875rem}h4{font-size:.75rem}h5{font-size:.625rem}h6{font-size:.5rem}h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{font-weight:700}h1,h2,h3,h4,h5,h6,p,pre,ul,ol{margin:0}label{-webkit-user-select:none;user-select:none}input,select{font-family:monospace;font-size:13px;color:var(--color-page-text)}textarea,input[type=text],input[type=email],input[type=password],input[type=number]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:2px solid var(--color-control-inset-dark);border-right-color:var(--color-control-inset-light);border-bottom-color:var(--color-control-inset-light);border-radius:0;box-shadow:2px 2px 0 inset var(--color-control-shadow);background-color:var(--color-input-background);color:var(--color-page-text);padding:.25rem;font-family:monospace;font-size:13px}textarea:focus,input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=number]:focus{outline:none;border-color:var(--color-active)}textarea:invalid+span:after,input[type=text]:invalid+span:after,input[type=email]:invalid+span:after,input[type=password]:invalid+span:after,input[type=number]:invalid+span:after{content:"*";display:inline;color:var(--color-control-invalid-border)}input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;margin:0;background-color:var(--color-input-background);border:2px solid var(--color-control-inset-dark);border-right-color:var(--color-control-inset-light);border-bottom-color:var(--color-control-inset-light);border-radius:0;box-shadow:2px 2px 0 inset var(--color-control-shadow);width:16px;height:16px}input[type=checkbox]:checked{background-color:var(--color-active);box-shadow:-2px -2px 0 inset var(--color-active-dark)}input[type=checkbox]:focus,input[type=checkbox]:hover{outline:none;border-color:var(--color-active)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:2px solid var(--color-control-border-dark);border-top-color:var(--color-control-border-light);border-left-color:var(--color-control-border-light);border-radius:0;box-shadow:2px 2px 0 var(--color-control-shadow);background-color:var(--color-control-background);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23213547' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.2' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .125rem center;background-repeat:no-repeat;background-size:1rem;padding:.3125rem 1rem .3125rem .3125rem;font-family:monospace;font-size:13px;font-weight:700;-webkit-user-select:none;user-select:none}select:focus,select:hover{outline:none;border-color:var(--color-active)}.form-grid{display:grid;grid-template-columns:max-content 1fr;gap:.5rem 1rem;align-items:center}.form-grid label{font-weight:600}.less-emphasis{color:var(--color-text-muted)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.panel{background-color:var(--color-panel-background);padding:1rem}.panel h1:not(:first-child),.panel h2:not(:first-child),.panel h3:not(:first-child),.panel h4:not(:first-child),.panel h5:not(:first-child),.panel h6:not(:first-child){margin-top:1rem}.panel h1,.panel h2,.panel h3,.panel h4,.panel h5,.panel h6,.panel p,.panel ul,.panel ol{margin-bottom:.5rem}.panel h1:last-child,.panel h2:last-child,.panel h3:last-child,.panel h4:last-child,.panel h5:last-child,.panel h6:last-child,.panel p:last-child,.panel ul:last-child,.panel ol:last-child{margin-bottom:0}.panel li{margin:.125em 0}@media screen and (max-width: 768px){.desktop-only{display:none}}@media screen and (max-device-width: 480px){body{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}}
