.cartoon-host{font:inherit;color:var(--text,#292a24)}
.cartoon-float{--cartoon-size:168px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);position:fixed;right:8px;bottom:160px;width:var(--cartoon-size);height:var(--cartoon-size);z-index:40}
.cartoon-actor{position:relative;padding:0;width:100%;height:100%;min-height:44px;border:0;background:transparent;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:grab}
.cartoon-actor.dragging{cursor:grabbing}
.cartoon-launch{display:block;width:fit-content;max-width:100%;margin:28px auto 20px;font-size:1rem}
.cartoon-fold{position:absolute;right:0;top:0;width:44px;height:44px;min-height:44px;padding:0;border:1px solid var(--line,#dedfd6);border-radius:50%;background:#fff;color:var(--ink,#252922);font-size:1.4rem}
.cartoon-sprite{display:block;width:100%;aspect-ratio:1;clip-path:inset(2%);background-size:200% 200%;background-repeat:no-repeat;background-position:0 0;animation:cartoon-blink 5.2s steps(1,end) infinite}
.cartoon-sprite.pixel{image-rendering:pixelated}
@keyframes cartoon-blink{0%,94%,99%,100%{background-position:0 0}95%,98%{background-position:100% 0}}
.wave .cartoon-sprite{animation:cartoon-wave 1.4s steps(1,end),cartoon-blink 5.2s 1.4s steps(1,end) infinite}
@keyframes cartoon-wave{0%,35%,70%{background-position:0 100%}18%,52%,88%{background-position:100% 100%}100%{background-position:0 0}}
.cartoon-menu{position:absolute;right:0;bottom:calc(var(--cartoon-size) + 8px);width:230px;max-height:calc(50dvh - 110px);overflow:auto;background:#fff;border:1px solid #dedfd6;border-radius:20px;padding:10px;box-shadow:0 8px 28px #212b321a}
.cartoon-menu strong{display:block;padding:10px;font-size:.9rem}
.cartoon-menu button{display:block;width:100%;min-height:48px;text-align:left;background:transparent;border:0;border-radius:10px;padding:10px 12px;font:inherit;color:inherit}
.cartoon-menu button:hover,.cartoon-menu button:focus-visible{background:#fff4c9}
.cartoon-read-status{margin:0 10px;font-size:.9rem}
.cartoon-dialog .dialog-content{padding-bottom:24px}
.cartoon-dialog h1{font-size:1.6rem;margin:8px 0 20px}
.cartoon-preview{display:grid;place-items:center;min-height:210px;margin-bottom:16px;border-radius:24px;background:#faf8f1;border:1px solid #ece9df}
.cartoon-preview .cartoon-sprite{width:210px}
.cartoon-source{width:180px;height:190px;object-fit:contain;padding:10px}
.cartoon-empty{display:grid;gap:14px;text-align:center;color:#65655a;padding:20px}
.cartoon-empty b{font-size:48px;color:#9c7811;font-weight:400}
.cartoon-styles{border:0;padding:0;margin:24px 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cartoon-styles legend{font-weight:650;margin-bottom:12px}
.cartoon-styles label{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;margin:0;border:2px solid #e5e5dd;border-radius:20px;padding:10px 8px 14px;cursor:pointer}
.cartoon-styles label:has(:checked){border-color:#b68c13;background:#fffae8}
.cartoon-styles input{position:absolute;top:10px;right:10px;width:20px;height:20px;accent-color:#a67b08}
.cartoon-styles strong{font-size:1rem}.cartoon-styles label>span:last-child{font-size:.9rem;color:#626356;text-align:center}
.cartoon-style-sample{width:100px;height:100px;clip-path:inset(2%);background-size:200% 200%;background-position:0 0}
.cartoon-style-sample.pixel{background-image:url('/mingbai/cartoon-samples/pixel.png');image-rendering:pixelated}
.cartoon-style-sample.chibi{background-image:url('/mingbai/cartoon-samples/chibi.png')}
.cartoon-style-sample.chibi3d{background-image:url('/mingbai/cartoon-samples/chibi3d.png')}
.cartoon-saved{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}
.cartoon-file{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;overflow:hidden}
.cartoon-status:empty,.cartoon-read-status:empty{display:none}.cartoon-status{color:#535447;font-size:.9rem;line-height:1.5;margin:0 0 10px;overflow-wrap:anywhere}.cartoon-status.error{color:#a22e22}
.cartoon-progress{display:block;width:100%;height:6px;margin:0 0 10px}
.cartoon-remove-confirm{padding:14px;background:#fff8ed;border-radius:16px;margin-top:12px}
.cartoon-global-reader>.reader-panel{background:transparent!important;border:0!important;padding:0!important;margin:0!important}
.cartoon-global-reader .reader-body{display:none}
.cartoon-entry{display:flex;align-items:center;gap:16px;width:100%;text-align:left;background:#fff8de;border:1px solid #e9d990;border-radius:20px;padding:20px;margin:0 0 24px;color:inherit;font:inherit;min-height:80px}
.cartoon-entry>span:first-child{font-size:1.8rem}.cartoon-entry strong{display:block}.cartoon-entry small{display:block;margin-top:5px;color:#68695e;font-size:.9rem}.cartoon-entry>b{margin-left:auto}
body:has(input:focus,textarea:focus,select:focus,[contenteditable=true]:focus) .cartoon-float{visibility:hidden}
@media(prefers-reduced-motion:reduce){.cartoon-sprite,.wave .cartoon-sprite{animation:none}}
@media(max-height:580px){.cartoon-float{--cartoon-size:140px;bottom:110px}}
.cartoon-styles{margin:18px 0}.cartoon-style-sample{display:none}.cartoon-styles label{padding:14px 28px 14px 10px;align-items:flex-start;border-width:1px;border-radius:13px}.cartoon-styles label>span:last-child{display:none}.cartoon-styles strong{font-size:.94rem}.cartoon-styles input{top:18px;right:8px}.cartoon-styles legend{font-size:.94rem}.cartoon-preview{border-radius:20px;background:#fff}
