@font-face{font-family:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/outfit-latin-v15.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--fg:#f7f6f2;--bg:#232323;--muted:#9d9d9d;--surface:#1c1c1c;--well:#131313;--line:#515151;--accent:#6ee7ff;--glass-bg:#f7f6f214;--glass-bg-strong:#f7f6f224;--glass-border:#f7f6f233;--glass-blur:blur(16px) saturate(1.6);--glass-shadow:0 6px 16px #00000080, inset 0 1px 0 #ffffff1f;--glass-accent-bg:#6ee7ffcc;--glass-accent-border:#6ee7ffe6;--header-height:64px;--slider-inset:16px;--font-family:"Outfit", -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Noto Sans JP", "Yu Gothic", system-ui, sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}body{background:var(--bg);color:var(--fg);font-family:var(--font-family);min-height:100vh;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex-direction:column;min-height:100dvh;margin:0;display:flex}#app{flex-direction:column;flex:auto;min-height:0;display:flex}.site-header{height:var(--header-height);background:var(--bg);border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;padding:0 24px;display:flex}.site-header__wordmark{letter-spacing:.01em;color:var(--fg);margin:0;font-size:18px;font-weight:700}.site-header__wordmark a{color:inherit;text-decoration:none}.site-header__lang{color:var(--muted);font-size:14px;font-weight:500;text-decoration:none;transition:color .2s}.site-header__lang:hover,.site-header__lang:focus-visible{color:var(--fg)}main{scrollbar-gutter:stable;flex-direction:column;flex:auto;gap:8px;width:100%;max-width:960px;min-height:0;margin:0 auto;padding:28px 12px 24px;display:flex;overflow:hidden auto}.dropzone{border:1px dashed var(--line);background:var(--surface);text-align:center;cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:6px;margin:auto 0;padding:40px 16px;transition:border-color .2s,background .2s;display:flex}.dropzone__icon{color:var(--muted)}.dropzone__title{text-wrap:balance;max-width:34em;margin:0;font-size:15px;font-weight:500;line-height:1.6}.dropzone__title .nobr{white-space:nowrap}.dropzone__hint{color:var(--muted);margin:0;font-size:13px}.dropzone:hover,.dropzone:focus-visible{border-color:var(--muted);background:var(--glass-bg)}.dropzone.is-over{border-color:var(--accent);background:var(--glass-bg)}@media (prefers-reduced-motion:reduce){.dropzone{transition:none}}.controls{padding-inline:var(--slider-inset);flex-wrap:wrap;flex:none;justify-content:center;align-items:center;gap:16px;margin:0;display:flex}.controls>button{flex:1 1 0;min-width:0;max-width:240px}button{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);color:var(--fg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);cursor:pointer;border-radius:6px;min-height:44px;padding:10px 16px;font-family:inherit;font-size:15px}button.primary{background:var(--glass-accent-bg);border-color:var(--glass-accent-border);color:var(--bg);font-weight:700}.reset-button{z-index:2;background:var(--glass-bg);width:44px;height:44px;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);color:var(--fg);box-shadow:var(--glass-shadow);border-radius:999px;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:8px;right:8px}.reset-button:hover,.reset-button:focus-visible{background:var(--glass-bg-strong)}.reset-button{transition:opacity .2s,background .2s}.snackbar.is-visible:not(.is-indicator)~.stage-area .reset-button{opacity:0;pointer-events:none}@media (prefers-reduced-motion:reduce){.reset-button{transition:none}}.stage-area{flex:auto;justify-content:center;align-items:center;min-width:0;min-height:110px;max-height:min(70vh,640px);display:flex}.stage{background:var(--well);border-radius:12px;min-width:0;max-width:100%;max-height:100%;position:relative;overflow:hidden}.stage:has(.stage-inner:focus-visible){outline:2px solid var(--accent);outline-offset:-2px}.stage-inner:focus-visible{outline:none}.strength{padding:6px calc(2px + var(--slider-inset)) 0;flex:none;margin:12px 0 28px}.strength__track{height:24px;position:relative}.strength__rail{background:var(--line);border-radius:2px;height:4px;margin-top:-2px;position:absolute;top:50%;left:0;right:0}.strength__lever{pointer-events:none;z-index:1;border-radius:8px;width:28px;height:28px;margin-top:-14px;margin-left:-14px;position:absolute;top:50%;left:0;overflow:hidden;box-shadow:0 2px 6px #0000008c,0 0 0 1px #00000059}.strength__lever-image{background:url(/assets/strength-lever.png) 50%/cover;position:absolute;inset:-35%;transform:rotate(30deg)}.strength__input{appearance:none;cursor:pointer;background:0 0;width:100%;height:24px;margin:0;display:block;position:absolute;inset:0}.strength__input::-webkit-slider-runnable-track{background:0 0;border-radius:2px;height:4px}.strength__input::-webkit-slider-thumb{-webkit-appearance:none;opacity:0;background:0 0;border:none;border-radius:4px;width:16px;height:16px;margin-top:-6px}.strength__input::-moz-range-track{background:0 0;border-radius:2px;height:4px}.strength__input::-moz-range-thumb{opacity:0;background:0 0;border:none;border-radius:4px;width:16px;height:16px}.strength__ticks{justify-content:space-between;margin-top:4px;padding:0 8px;display:flex}.strength__ticks span{background:var(--muted);border-radius:50%;width:4px;height:4px}.stage-inner{transform-origin:0 0;will-change:transform;cursor:pointer;position:absolute;top:0;left:0}.stage-inner canvas{display:block}.stage-inner .before{width:100%;height:100%;clip-path:inset(0 var(--reveal,100%) 0 0);pointer-events:none;-webkit-user-drag:none;position:absolute;inset:0}.press-hint{background:var(--muted);opacity:0;pointer-events:none;border-radius:50%;width:72px;height:72px;margin:-36px 0 0 -36px;transition:opacity .45s,transform .45s;position:absolute;top:50%;left:50%;transform:scale(1.3)}.press-hint.is-visible{opacity:.5;transform:scale(1)}@media (prefers-reduced-motion:reduce){.press-hint{transition:none}}input[type=range]{width:100%;margin:0}.snackbar{top:calc(var(--header-height) + 64px);z-index:20;background:var(--glass-bg);width:-moz-fit-content;width:fit-content;max-width:calc(100% - 32px);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);color:var(--fg);white-space:normal;text-align:center;opacity:0;pointer-events:none;border-radius:8px;margin-inline:auto;padding:6px 12px;font-size:clamp(14px,.49vw + 12.1px,17px);line-height:1.4;transition:opacity .2s;position:fixed;left:16px;right:16px}.snackbar.is-visible{opacity:1}@media (prefers-reduced-motion:reduce){.snackbar{transition:none}}.save-sheet{z-index:10;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background:#141311cc;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px 16px;display:flex;position:fixed;inset:0}.save-sheet__image{-webkit-touch-callout:default;-webkit-user-select:auto;user-select:auto;object-fit:contain;border-radius:8px;max-width:100%;max-height:70vh}.save-sheet__hint{color:var(--fg);text-align:center;margin:0;font-size:15px}.save-sheet [data-testid=save-sheet-close]{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.privacy{--privacy-fit:35.9;color:var(--muted);font-size:min(calc((100vw - 32px) / var(--privacy-fit)), 11px);text-align:center;margin:24px 0 0;line-height:1.4}html:lang(en) .privacy{--privacy-fit:32.7}.site-footer{color:var(--muted);flex-wrap:wrap;flex:none;justify-content:center;align-items:baseline;gap:0 8px;margin-top:0;font-size:13px;line-height:1.7;display:flex}.site-footer__copy{margin:0}.site-footer__link{color:var(--muted);text-underline-offset:2px;text-decoration:underline}.site-footer__link:hover,.site-footer__link:focus-visible{color:var(--fg)}body.is-loaded{height:100vh;height:100dvh}body:not(.is-loaded) .strength,body:not(.is-loaded) [data-testid=share-area]{visibility:hidden}[data-testid=share-area]{flex-direction:column;flex:none;gap:4px;display:flex}body.is-loaded .stage-area{max-height:none}
