@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Noto+Sans+SC:wght@400;500;600;700;800&family=Permanent+Marker&family=ZCOOL+KuaiLe&display=swap");:root{--surface:rgba(255,255,255,0.82);--surface-solid:#ffffff;--canvas:#f7f7fb;--ink:#18181f;--muted:#6b6b78;--line:rgba(37,30,65,0.1);--accent:#6d28d9;--accent-strong:#5b21b6;--accent-soft:#f0eaff;--danger:#e75b62;--shadow:0 16px 40px rgba(37,30,65,0.12)}*{box-sizing:border-box}body,html{min-height:100%;margin:0;background:radial-gradient(circle at 50% -15%,#eee9ff 0,transparent 35rem),var(--canvas);color:var(--ink);font-family:Inter,Noto Sans SC,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}main{display:flex;flex-direction:column;min-height:100vh;max-width:1120px;margin:0 auto;padding:24px 24px 128px}.app-title,h1.app-title{position:relative;width:100%;margin:8px 0 24px;color:#6535a8;font-family:Permanent Marker,ZCOOL KuaiLe,Noto Sans SC,cursive;font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:400;letter-spacing:.015em;line-height:1.1;text-align:center;text-shadow:0 3px 12px rgba(91,33,182,.16)}.app-title:hover,h1.app-title:hover{background:linear-gradient(105deg,#7c3aed,#5b21b6 55%,#8b5cf6);-webkit-background-clip:text;background-clip:text;color:transparent}.scratch-container{position:relative;align-self:center;margin:20px auto 0;overflow:hidden;border:1px solid rgba(255,255,255,.75);border-radius:18px;background:#ececf2;box-shadow:var(--shadow)}.scratch-container.loaded canvas{animation:fade-in .22s ease-out}.scratch-container .reset-overlay{opacity:0;transition:opacity 1s ease-in-out}.scratch-container .reset-overlay.is-resetting{opacity:1}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.controls{position:fixed;z-index:100;bottom:max(16px,env(safe-area-inset-bottom));left:50%;justify-content:space-between;width:min(620px,calc(100% - 32px));min-height:64px;padding:8px;border:1px solid rgba(255,255,255,.75);border-radius:20px;background:var(--surface);box-shadow:0 12px 32px rgba(31,25,52,.16),inset 0 1px rgba(255,255,255,.65);backdrop-filter:blur(18px) saturate(145%);-webkit-backdrop-filter:blur(18px) saturate(145%);transform:translateX(-50%) translateZ(0)}.controls,.controls-group{display:flex;align-items:center}.controls-group{gap:6px}.controls-navigation{gap:8px}.controls button{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;padding:0;border:1px solid transparent;border-radius:13px;background:transparent;color:#4d4561;cursor:pointer;transition:transform .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease}.controls button:hover:not(:disabled){border-color:rgba(109,40,217,.12);background:var(--accent-soft);color:var(--accent);transform:translateY(-1px)}.controls button:focus-visible,.language-button:focus-visible,.nav-button:focus-visible{outline:3px solid rgba(109,40,217,.3);outline-offset:2px}.controls button:active:not(:disabled){transform:scale(.95)}.controls button:disabled{color:#b9b5c2;cursor:not-allowed;opacity:.65}.controls button svg{width:20px;height:20px}.mode-toggle-button{background:#eaf3ff!important;color:#2876c9!important}.tag-button{background:#f2ebff!important;color:var(--accent)!important}.reset-button{background:#fff0f0!important;color:var(--danger)!important}.controls .control-button-primary{background:var(--accent)!important;color:#fff!important;box-shadow:0 5px 12px rgba(109,40,217,.25)}.controls .control-button-primary:hover:not(:disabled){background:var(--accent-strong)!important;color:#fff}.image-index{min-width:52px;color:var(--ink);font-size:.8rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em;text-align:center}.empty-loading-container{display:block;width:100%;height:1px;opacity:0}.loading-container{display:flex;align-items:center;justify-content:center;flex-grow:1;margin:auto;padding:20px 0}.loading-container.loading-failure:after{width:24px;height:24px;margin-left:12px;border:3px solid #e8e1f6;border-top:3px solid var(--accent);border-radius:50%;content:"";animation:spin 1s linear infinite}.loading-message{color:var(--muted);font-size:.95rem;font-weight:600}@keyframes spin{to{transform:rotate(1turn)}}.indicators-container{position:absolute;top:50%;right:0;display:flex;align-items:center;gap:6px;transform:translateY(-50%)}.shuffle-indicator,.tag-indicator{display:inline-flex;align-items:center;min-height:24px;padding:3px 9px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.75);color:var(--muted);font-family:inherit;font-size:.7rem;font-style:normal;font-weight:700;letter-spacing:.02em;text-transform:none}.shuffle-indicator{background:#eef7ff;color:#2671c5}.tag-indicator{background:#f4efff;color:var(--accent)}.no-images{display:flex;flex:1 1;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.no-images .naughty-title{margin-bottom:12px;color:var(--ink);font-size:1.55rem;letter-spacing:-.035em}.no-images p{max-width:420px;margin-bottom:8px;color:var(--muted);line-height:1.6}.no-images .highlight-tag{color:var(--accent);font-weight:700}.no-images .naughty-suggestion{margin-bottom:24px}.no-images .nav-button{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border:0;border-radius:12px;background:var(--accent);color:#fff;cursor:pointer;font-weight:700;transition:transform .16s ease,background-color .16s ease}.no-images .nav-button:hover{background:var(--accent-strong);transform:translateY(-1px)}.no-images .button-icon{width:18px;height:18px}@media (max-width:600px){main{padding:18px 14px 112px}.app-title,h1.app-title{margin:4px 0 16px;font-size:1.85rem}.scratch-container{margin-top:20px;border-radius:14px}.controls{width:calc(100% - 20px);min-height:58px;padding:6px;border-radius:18px}.controls-group,.controls-navigation{gap:4px}.controls button{width:40px;height:40px;border-radius:11px}.controls button svg{width:19px;height:19px}.image-index{min-width:46px;font-size:.75rem}.indicators-container{right:0}.shuffle-indicator,.tag-indicator{min-height:20px;padding:2px 7px;font-size:.62rem}}@media (max-width:390px){.controls{width:calc(100% - 12px)}.controls button{width:37px;height:37px}.image-index{min-width:40px;font-size:.7rem}}.Toast_toast__Jg6J0{position:fixed;bottom:20px;right:20px;z-index:9999;min-width:280px;max-width:450px;padding:14px 16px;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);display:flex;align-items:center;justify-content:space-between;transition:all .3s ease;animation:Toast_slideIn__JQHMq .3s forwards}.Toast_hidden__KuQoC{animation:Toast_slideOut__gZwxq .3s forwards}.Toast_content__TpS73{display:flex;align-items:center;gap:12px}.Toast_content__TpS73 p{margin:0;font-size:.95rem;line-height:1.4}.Toast_icon__vGErh{width:20px;height:20px;flex-shrink:0}.Toast_closeButton__g1d2N{background:none;border:none;padding:4px;cursor:pointer;opacity:.7;transition:opacity .2s;display:flex;align-items:center;justify-content:center}.Toast_closeButton__g1d2N:hover{opacity:1}.Toast_closeButton__g1d2N svg{width:16px;height:16px}.Toast_success__KNV1s{background-color:#ecfdf5;color:#064e3b;border-left:4px solid #10b981}.Toast_success__KNV1s .Toast_icon__vGErh{color:#10b981}.Toast_error__GDxRb{background-color:#fef2f2;color:#7f1d1d;border-left:4px solid #ef4444}.Toast_error__GDxRb .Toast_icon__vGErh{color:#ef4444}.Toast_warning__N63tB{background-color:#fffbeb;color:#92400e;border-left:4px solid #f59e0b}.Toast_warning__N63tB .Toast_icon__vGErh{color:#f59e0b}.Toast_info__ykZRS{background-color:#eff6ff;color:#1e40af;border-left:4px solid #3b82f6}.Toast_info__ykZRS .Toast_icon__vGErh{color:#3b82f6}@keyframes Toast_slideIn__JQHMq{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes Toast_slideOut__gZwxq{0%{transform:translateX(0);opacity:1}to{transform:translateX(100%);opacity:0}}.Toast_toastContainer__hmcBu{position:fixed;bottom:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:10px}@media (max-width:768px){.Toast_toast__Jg6J0{left:20px;right:20px;max-width:unset}}