@font-face{font-family:Pacifico;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/pacifico-v23-latin-regular.woff2)format("woff2")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#201f2b;--brand:#7c3aed;--brand-contrast:#fff;--surface:#fffc;--surface-soft:#ffffff59;font-family:system-ui,sans-serif;line-height:1.5}body{color:var(--ink);background-color:#bfe3f7;background-image:url(/images/background-app.png);background-repeat:no-repeat;background-size:100% 100%;background-attachment:fixed;min-height:100vh;margin:0}body.bg-home{background-image:url(/images/background-home.png)}main{max-width:28rem;margin:2rem auto;padding:0 1rem}form{gap:1rem;display:grid}label{gap:.25rem;font-weight:600;display:grid}input{font:inherit;padding:.5rem}button{font:inherit;padding:.5rem 1rem}[role=alert]{color:#b00020}small[role=alert]{font-weight:400}ul{padding-left:1.25rem}main.wide{max-width:56rem}.app-header{justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.app-brand{color:inherit;align-items:center;gap:.6rem;text-decoration:none;display:flex}.app-icon{border-radius:50%;width:2.5rem;height:2.5rem}.app-name{color:var(--ink);font-family:Pacifico,cursive;font-size:1.75rem}.profile-menu{position:relative}.profile-menu-trigger{min-height:unset;font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:.6rem;padding:.25rem;display:flex}.avatar{background:var(--brand);width:2.5rem;height:2.5rem;color:var(--brand-contrast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.9rem;font-weight:700;display:inline-flex}.profile-menu-username{font-weight:600}.profile-dropdown{z-index:10;background:var(--surface);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid color-mix(in srgb, var(--ink) 20%, transparent);border-radius:.75rem;min-width:11rem;margin:0;padding:.5rem;list-style:none;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 .5rem 1.5rem #00000026}.profile-dropdown li{display:block}.profile-dropdown a,.profile-dropdown button{text-align:left;width:100%;color:inherit;min-height:unset;background:0 0;border:none;border-radius:.5rem;padding:.5rem .75rem;text-decoration:none;display:block}.profile-dropdown a:hover,.profile-dropdown button:hover{background:color-mix(in srgb, var(--brand) 12%, transparent)}.pill-button{border:2px solid var(--ink);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-weight:600;text-decoration:none;display:inline-flex}.pill-button:disabled{opacity:.5;cursor:not-allowed}.pill-icon{font-size:1.1rem;line-height:1;display:inline-flex}.action-row{flex-wrap:wrap;gap:1rem;margin:1rem 0 2rem;display:flex}.storage-line{opacity:.8;font-size:.9rem}.back-link{margin:0 0 1rem}.back-link a{color:var(--ink);font-weight:600;text-decoration:none}.back-link a:hover{text-decoration:underline}.gallery-frame-wrap{margin-top:2.75rem;position:relative}.gallery-frame{border:2px solid var(--ink);background:var(--surface-soft);border-radius:1.75rem;padding:1.5rem}.gallery-mascot{pointer-events:none;z-index:1;width:6rem;height:auto;position:absolute;top:-3.42rem;left:55%;transform:translate(-50%)}.gallery{gap:1rem;padding:0;list-style:none;display:grid}.gallery-row-item{display:block}.gallery-row{color:inherit;background:var(--surface-soft);border-radius:.75rem;align-items:center;gap:1rem;padding:.75rem;text-decoration:none;display:flex}.gallery-row:hover{background:color-mix(in srgb, var(--brand) 10%, var(--surface-soft))}.gallery-row-thumbnail{object-fit:cover;border-radius:.5rem;flex-shrink:0;width:5rem;height:5rem}.gallery-row-name{flex:auto;min-width:6rem;font-weight:600}.gallery-row-stencils{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.gallery-row-stencil-thumbnail{object-fit:cover;background:#fff;border:1px solid #ccc;border-radius:.35rem;width:2.5rem;height:2.5rem}.gallery-row-more{opacity:.75;font-size:.8rem}.image-page-original{flex-wrap:wrap;align-items:flex-start;gap:1.5rem;margin-bottom:1.5rem;display:flex}.image-page-original img{border-radius:.5rem;width:24rem;max-width:100%}.image-page-actions{flex-wrap:wrap;gap:.75rem;display:flex}.stencil-strip{grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:1rem;padding:0;list-style:none;display:grid}.stencil-card{align-content:start;gap:.25rem;font-size:.875rem;display:grid}.stencil-card img{background:#fff;border:1px solid #ccc;width:100%;height:auto;display:block}.editor-layout{align-items:flex-start;gap:1.5rem;margin-bottom:1rem;display:flex}.editor-original{border:1px solid color-mix(in srgb, currentColor 25%, transparent);border-radius:.5rem;width:8rem}.editor-preview{background:#fff;border:1px solid #ccc;flex:auto;max-width:100%}.editor-actions{flex-wrap:wrap;gap:.5rem;display:flex}.user-list{gap:.75rem;padding:0;list-style:none;display:grid}.user-row{border:1px solid color-mix(in srgb, currentColor 25%, transparent);border-radius:.5rem;gap:.5rem;padding:.75rem;display:grid}.user-actions{flex-wrap:wrap;gap:.5rem;display:flex}.user-password,.user-delete,.user-name{gap:.5rem;max-width:24rem;display:grid}html{-webkit-text-size-adjust:100%}img,canvas{max-width:100%;height:auto}button,input:not([type=checkbox]),select{min-height:2.75rem;font-size:1rem}input[type=checkbox]{width:1.25rem;height:1.25rem}nav a{padding:.5rem 0;display:inline-block}fieldset{border:0;gap:1rem;margin:0 0 1rem;padding:0;display:grid}@media (width>=40rem){fieldset{grid-template-columns:repeat(2,1fr)}}@media (width<=40rem){main,main.wide{margin:1rem auto;padding:0 .75rem}body{background-attachment:scroll}.app-header{padding:.75rem 1rem}.app-name{font-size:1.4rem}.profile-menu-username{display:none}.gallery-frame{border-radius:1.25rem;padding:1rem}.gallery-mascot{width:4.5rem;top:-2.56rem}.gallery-row{flex-wrap:wrap}.image-page-original{flex-direction:column}.image-page-original img{width:100%}.editor-layout{flex-direction:column}.editor-original{width:6rem}.stencil-strip{grid-template-columns:repeat(auto-fill,minmax(8rem,1fr));gap:.75rem}.user-actions button{flex:auto}.user-password,.user-delete,.user-name{max-width:none}}
