/* Phase 8B — clean canvas, saved-character drag placement and guided beginner flow. */
.nf8b-starter-banner{border:1px solid #d6c7f5;background:#f7f2ff;border-radius:12px;
 padding:13px;margin:12px 0 16px;color:#594080}
.nf8b-starter-banner strong{display:block;font-size:12px}
.nf8b-starter-banner p{font-size:11px;line-height:1.6;margin:6px 0 10px}
.nf8b-starter-banner button,.nf8b-drag-help button{border:1px solid #7a50dd;background:#7751dd;
 color:#fff;border-radius:8px;padding:10px 11px;font-weight:750;font-size:11px;cursor:pointer;width:100%}
.nf8b-drag-help{padding:11px;margin:6px 0 12px;border:1px solid #d8cbf2;
 background:#f8f4ff;border-radius:10px;color:#624b83}
.nf8b-drag-help strong{font-size:11px}
.nf8b-drag-help p{font-size:10px;line-height:1.65;margin:7px 0 9px}
.nf8-saved-cutout{cursor:grab;user-select:none}
.nf8-saved-cutout:active{cursor:grabbing}
.nf8-saved-cutout.nf8b-dragging{opacity:.55}
.nf8-saved-cutout .media-thumb img{-webkit-user-drag:none;user-select:none;pointer-events:none}
.stage-scroll{position:relative}
.stage-scroll.nf8b-drop-active #artboard-shell{outline:3px solid #8051eb;outline-offset:4px}
.nf8b-drop-hint{position:absolute;top:12px;left:50%;transform:translateX(-50%);z-index:35;
 align-self:flex-start;pointer-events:none;background:#54329f;color:white;
 border-radius:9px;padding:10px 15px;box-shadow:0 9px 25px #24134a26;font-weight:700;
 max-width:calc(100% - 30px);font-size:11px;text-align:center}
.nf8b-drop-hint[hidden]{display:none!important}
.nf8b-beginner-dialog{width:min(650px,94vw);max-width:94vw;border:0;border-radius:16px;
 padding:0;background:#fff;box-shadow:0 20px 60px #16102b40;max-height:90vh;overflow:auto}
.nf8b-beginner-dialog::backdrop{background:#120d2e9c}
.nf8b-guide-body{padding:20px 23px 17px;color:#5b4176}
.nf8b-step-index{display:flex;justify-content:space-between;gap:8px;
 font-size:11px;font-weight:750;color:#7851c6;margin-bottom:9px}
.nf8b-progress{height:7px;overflow:hidden;background:#e7ddf7;border-radius:20px}
.nf8b-progress>div{height:100%;border-radius:20px;background:#8051eb;transition:width .18s}
.nf8b-step-illustration{width:66px;height:66px;border-radius:18px;background:#f1eaff;color:#7851d8;
 display:flex;align-items:center;justify-content:center;font-size:35px;margin:18px 0}
.nf8b-guide-body h3{font-size:17px;line-height:1.35;margin:0 0 10px;color:#39295b}
.nf8b-guide-body>p{font-size:13px;line-height:1.65;margin:0 0 12px}
.nf8b-step-tip{padding:10px 12px;color:#6b5584;background:#f7f3fe;border-radius:9px;
 font-size:11px;line-height:1.6;margin:10px 0}
.nf8b-step-show{background:#fff;border:1px solid #9f87d8;border-radius:8px;
 color:#6a46b0;font-weight:800;padding:10px 13px;cursor:pointer}
.nf8b-guide-footer{display:flex;align-items:center;justify-content:flex-end;gap:9px;
 padding:13px 22px;border-top:1px solid #eee6f8}
.nf8b-guide-footer button{border:1px solid #d8c9ef;background:#fff;color:#6a4b89;
 border-radius:8px;padding:10px 14px;font-size:11px;font-weight:750}
.nf8b-guide-footer button.primary-btn{background:#7953e1;color:white;border-color:#7953e1}
.nf8b-guide-footer button:disabled{opacity:.43;cursor:not-allowed}
.nf8b-guide-footer button[hidden]{display:none}
.nf8b-guide-footer button:focus-visible,.nf8b-step-show:focus-visible,
.nf8b-starter-banner button:focus-visible,.nf8b-drag-help button:focus-visible{
 outline:2px solid #9d69e6;outline-offset:3px}
@media(max-width:900px){
 .nf8b-guide-top{display:none}
}
@media(max-width:600px){
 .nf8b-guide-body{padding:14px}
 .nf8b-guide-footer{padding:10px;gap:4px}
 .nf8b-guide-footer button{padding:9px 8px;font-size:10px}
 .nf8b-step-illustration{width:50px;height:50px;font-size:28px;margin:12px 0}
}
.nf8b-help-link{padding:13px;margin:13px;border:1px solid #ded3f3;border-radius:10px;background:#f8f5ff;color:#59437b}
.nf8b-help-link strong{font-size:12px}
.nf8b-help-link p{font-size:11px;line-height:1.5;margin:6px 0 9px}
.nf8b-help-link button{padding:9px 12px;border-radius:8px;background:#7751e1;
 color:#fff;border:1px solid #7751e1;font-size:11px;font-weight:750;cursor:pointer}


/* Creator-requested canvas sizes: actual document dimensions, no overlays/rulers. */
.nf-creator-sizes-title{margin:17px 0 7px}
.nf-creator-sizes-note{font-size:10px;color:#877795;line-height:1.6;margin:0 0 11px}
.nf-creator-presets button{background:#faf7ff;border-color:#e0d6f5}
.nf-creator-presets button:hover{background:#f4edff;border-color:#a989ed}
.nf-creator-presets button small{font-weight:700;color:#7154a4}
.nf-more-sizes-title{margin-top:22px}
