/* Public template workspace: one visual surface and one current step. */
.nw-template-page [hidden]{display:none!important}
.nw-template-page .nw-template-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:24px;align-items:start;width:100%}
.nw-template-page .main_cont{max-width:1440px;padding:24px;margin:auto;width:100%;box-sizing:border-box}
.nw-template-page .main_mid{width:100%;min-width:0;float:none}
.nw-template-page .nw-template-heading .ttx{width:100%;float:none}
.nw-template-page .nw-template-summary{max-width:900px;margin-top:12px;color:var(--nw-muted);font-size:14px;line-height:1.7}
.nw-template-page .nw-template-summary>*:first-child{margin-top:0}
.nw-template-page .nw-template-summary>*:last-child{margin-bottom:0}
.nw-template-page h1{font-size:clamp(1.3rem,2.4vw,2rem);line-height:1.25}
.nw-template-page .nw-personalizer{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(0,1.15fr);gap:24px;background:white;border:1px solid #e4e4eb;border-radius:20px;padding:24px;margin:20px 0;align-items:start}
.nw-template-page:not([data-template-flow=edit]) .nw-personalizer{grid-template-columns:minmax(0,1fr)}
.nw-template-page .nw-template-visual{grid-column:2;grid-row:1;min-width:0;width:100%;max-width:480px;justify-self:center}
.nw-template-page:not([data-template-flow=edit]) .nw-template-visual{grid-column:1}
.nw-template-page .nw-template-fields{grid-column:1;grid-row:1;min-width:0;width:100%;margin:0;padding:0;float:none}
.nw-template-page .nw-template-fields fieldset{border:0;padding:0;margin:0}
.nw-template-page .nw-template-fields legend{font-size:1.1rem;font-weight:650;margin-bottom:16px}
.nw-template-page .nw-template-view img,.nw-template-page .nw-template-result>img,.nw-template-page .nw-template-visual video{display:block;width:100%;height:auto;max-height:70svh;object-fit:contain;margin:0 auto;border-radius:12px}
.nw-template-page .nw-template-result{padding:0;border:0;margin:0;background:none}
.nw-template-page .nw-template-visual .nw-image-stage,.nw-template-page .nw-template-visual .nw-video-stage{position:relative;width:100%;margin:0;max-height:none;background:#f5f5f8;border-radius:12px;overflow:hidden}
.nw-template-page #canvas,.nw-template-page #canvas .konvajs-content{width:100%!important;height:auto!important;aspect-ratio:var(--canvas-ratio, .8)}
.nw-template-page #canvas canvas{width:100%!important;height:100%!important}
.nw-template-page .nw-video-stage canvas{display:block;width:100%;height:auto;max-height:none;touch-action:auto}
.nw-template-page .nw-view-actions,.nw-template-page .nw-result-actions,.nw-template-page .nw-video-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:16px}
.nw-template-page .nw-template-actionbar{position:static;display:block;padding:0;margin:18px 0 0;border:0;background:none;box-shadow:none}
.nw-template-page button,.nw-template-page .nw-result-actions a{min-height:44px;border-radius:9px;padding:10px 16px;font:inherit;cursor:pointer}
.nw-template-page .nw-primary,.nw-template-page #btn_preview,.nw-template-page [data-render],.nw-template-page [download]{background:var(--nw-accent)!important;color:var(--nw-on-accent)!important;border:1px solid var(--nw-accent);transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}
.nw-template-page :is(.nw-primary,#btn_preview,[data-render],[download]):is(:hover,:active){background:var(--nw-accent-strong)!important;color:var(--nw-on-accent-strong)!important;border-color:var(--nw-accent-strong)}
.nw-template-page :is(.nw-primary,#btn_preview,[data-render],[download]):hover{box-shadow:0 6px 18px color-mix(in srgb,var(--nw-accent-strong) 24%,transparent);transform:translateY(-1px)}
.nw-template-page :is(.nw-primary,#btn_preview,[data-render],[download]):active{box-shadow:none;transform:translateY(0)}
.nw-template-page .nw-template-actionbar>button{width:100%}
.nw-template-page .nw-template-fields .inpt_frm{display:flex;flex-direction:column;gap:16px;padding:0;margin:0}
.nw-template-page .nw-template-fields .inpt_frm>li{width:100%;margin:0;padding:12px;box-sizing:border-box}
.nw-template-page .nw-template-fields input,.nw-template-page .nw-template-fields textarea{max-width:100%;box-sizing:border-box;font-size:16px}
.nw-template-page [data-visitor-fields]>div{margin-bottom:16px}
.nw-template-page .nw-photo-input{margin:6px 0 0}
.nw-template-page .nw-photo-input p{font-size:.8rem;margin:6px 0}
.nw-template-page .nw-photo-tools{display:flex;flex-wrap:wrap;gap:6px}
.nw-template-page .nw-photo-tools button{background:white;border:1px solid #d9d9e2;color:#333}
.nw-template-page .nw-photo-directions{display:flex;gap:4px}
.nw-template-page .nw-canvas-fields{position:absolute;inset:0;pointer-events:none}
.nw-template-page button.nw-canvas-field{position:absolute;pointer-events:auto;background:transparent!important;border:1px dashed transparent!important;padding:0;min-height:0;border-radius:0;touch-action:pan-y;color:transparent}
.nw-template-page button.nw-canvas-field.is-selected{border-color:var(--nw-accent-strong)!important;box-shadow:0 0 0 2px white}
.nw-template-page button.nw-canvas-field:focus-visible{outline:3px solid var(--nw-accent-strong);outline-offset:3px}
.nw-template-page [data-running=true] .nw-canvas-fields{display:none}
.nw-template-page .nw-template-details summary{padding:16px;cursor:pointer;font-weight:600;color:var(--nw-accent-strong);min-height:44px}
.nw-template-page .nw-detail-cover{display:block;width:100%;height:auto;border-radius:12px;margin-bottom:16px}
.nw-template-page .nw-template-details .nw-reading-body{max-width:none;padding:0 16px 16px}
.nw-template-page .nw-skip:not(:focus){position:fixed!important;top:-100px!important;left:0!important}
.nw-template-page progress{width:100%;height:8px;margin-top:12px}
.nw-template-page [data-status],.nw-template-page #generator-font-status{font-size:.875rem;margin:8px 0}
.nw-template-page [data-status]:empty,.nw-template-page #generator-font-status:empty,.nw-template-page .nw-field-error:empty{display:none}
@media(max-width:1100px){.nw-template-page .nw-template-layout{grid-template-columns:minmax(0,1fr)}.nw-template-page .nw-home-sidebar{display:none}}
@media(max-width:650px){.nw-template-page .main_cont{padding:12px}.nw-template-page .nw-personalizer{grid-template-columns:minmax(0,1fr);padding:16px;gap:18px}.nw-template-page .nw-template-visual{grid-column:1;grid-row:1;max-width:290px}.nw-template-page .nw-template-fields{grid-column:1;grid-row:2}.nw-template-page .nw-template-heading{padding:16px}.nw-template-page #breadcrumb{font-size:.75rem;margin-bottom:12px}.nw-template-page .nw-template-result>img{max-height:none}.nw-template-page .nw-template-actionbar{position:static}.nw-template-page .nw-template-fields .inpt_frm>li{padding:0;background:none;border:0}.nw-template-page .nw-template-details{padding:0}}
.nw-template-page .nw-template-layout *{font-family:inherit}
.nw-template-page .nw-template-layout{font-family:'NW Inter',system-ui,sans-serif}

.nw-template-page .nw-template-visual small{display:none}
.nw-template-page [data-running=true] .nw-template-visual small{display:block}
.nw-template-page [data-running=false] progress{display:none}
.nw-template-page .nw-template-fields label{display:block;margin-bottom:6px}

.nw-template-page button.nw-canvas-field.is-selected[data-has-photo=true]{touch-action:none}

.nw-template-page[data-template-flow=view] .nw-video-actions [data-preview]{display:none}
@media(max-width:650px){
 .nw-template-page .nw-template-fields .inpt_frm>li,.nw-template-page .nw-template-fields [data-visitor-fields]>div{background:#f8f8fa;border:1px solid #e4e4eb;border-radius:12px;padding:14px;box-sizing:border-box}
 .nw-template-page .nw-template-fields [data-visitor-fields]>div{margin-bottom:16px}
}
.nw-template-page .nw-personalizer{box-sizing:border-box}
.nw-template-page .nw-video-stage .nw-preview-play{position:absolute;right:12px;bottom:12px;z-index:3;display:grid!important;place-items:center;width:48px;height:48px;min-height:48px;padding:0;border:1px solid #ffffffaa;border-radius:50%;background:#ffffffed;color:var(--nw-accent-strong);box-shadow:0 2px 10px #0003}
.nw-template-page .nw-preview-play svg{fill:none;stroke:currentColor;stroke-width:2}
.nw-template-page .nw-preview-play:focus-visible{outline:3px solid var(--nw-accent-strong);outline-offset:3px}
.nw-template-page [data-running=true] .nw-preview-play{visibility:hidden}
.nw-template-page .nw-video-actions:empty{display:none}
.nw-template-page .nw-template-edit-preview [data-status][data-tone=success],.nw-template-page .nw-template-edit-preview .nw-video-actions{display:none}
.nw-template-page [data-running=true] .nw-template-edit-preview .nw-video-actions{display:flex}
.nw-photo-zoom{display:flex!important;align-items:center;gap:8px;width:100%;font-size:.85rem}.nw-photo-zoom input{flex:1;min-width:60px}.nw-photo-zoom output{min-width:42px}
.nw-share-dialog{width:min(440px,calc(100vw - 32px));max-height:85svh;overflow:auto;box-sizing:border-box;padding:22px;border:1px solid #e4e4eb;border-radius:18px;background:#fff;color:#252329;font-family:'NW Inter',sans-serif}
.nw-share-dialog::backdrop{background:#14111a80}
.nw-share-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.nw-share-heading h2{font-size:1.2rem;margin:0}.nw-share-heading button{background:none;border:0;font-size:1.5rem}
.nw-share-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.nw-share-dialog a,.nw-share-dialog [data-share-body]>button{display:block;padding:12px;border:1px solid #e4e4eb;border-radius:9px;text-align:center;min-height:44px;box-sizing:border-box;color:var(--nw-accent-strong);text-decoration:none;background:#faf8fa}
.nw-share-dialog [data-share-body]>a,.nw-share-dialog [data-share-body]>button{margin-top:12px;width:100%}.nw-share-dialog p{font-size:.875rem;line-height:1.5}.nw-share-dialog p:empty{display:none}.nw-share-dialog input{width:100%;box-sizing:border-box}
.nw-share-template-secondary{text-align:center;margin-top:8px}.nw-share-template-secondary button{background:none;border:0;color:var(--nw-accent-strong);font-size:.875rem}
.nw-template-page .nw-with-icon{display:inline-flex!important;align-items:center;justify-content:center;gap:8px}
.nw-template-page .nw-action-icon{flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;pointer-events:none}
.nw-template-page .nw-with-icon[hidden]{display:none!important}
.nw-share-options .nw-with-icon{justify-content:flex-start;padding:12px}

/* Browse artwork stays complete; the primary action is server-rendered above it. */
.nw-template-page .nw-entry-action{margin-top:16px;min-width:180px}
.nw-template-page .nw-design-summary{padding:0;margin:0}
.nw-template-page :is(button,a,input,textarea,summary):focus-visible{outline:3px solid var(--nw-accent-strong);outline-offset:3px}
.nw-template-page[data-template-flow=view] .nw-entry-action{display:inline-flex}
.nw-template-page:not([data-template-flow=view]) .nw-entry-action{display:none}
.nw-template-page[data-template-flow=view] .nw-image-workspace:not(.nw-personalizer) :is(#div_item_names,h2,#div_buttons,.form-group,#canvas),.nw-template-page[data-template-flow=view] .nw-video-lab:not(.nw-personalizer){display:none}
.nw-template-page .nw-template-view img,.nw-template-page .nw-template-visual video{max-height:65svh;object-fit:contain}
@media(max-width:650px){
 .nw-template-page .nw-template-visual{width:100%;max-width:420px}
 .nw-template-page .nw-template-view img{max-height:60svh}
 .nw-template-page .nw-entry-action{width:100%;justify-content:center}
 .nw-template-page .nw-design-summary{padding:0}
}
@media(prefers-reduced-motion:reduce){.nw-template-page *{scroll-behavior:auto!important;transition:none!important}}
.nw-template-page .nw-preview-tools{display:none}
.nw-template-page .nw-preview-tools button{background:#fff;border:1px solid #d9d9e2;color:var(--nw-accent-strong);width:100%}
@media(max-width:650px){
 .nw-template-page[data-template-flow=edit] .nw-template-visual{--preview-height:clamp(140px,24svh,240px);max-width:min(100%,calc(var(--preview-height) * var(--preview-ratio,.8)));transition:none}
 .nw-template-page[data-template-flow=edit] .nw-personalizer[data-preview-expanded=true] .nw-template-visual{--preview-height:70svh}
 .nw-template-page .nw-preview-tools{display:block;margin-bottom:10px}
 .nw-template-page .nw-video-stage{min-height:0}
 .nw-template-page .nw-template-edit-preview{width:100%}
 .nw-template-page .nw-template-visual .nw-preview-play{width:44px;height:44px;min-height:44px;right:6px;bottom:6px}
 .nw-template-page .nw-template-fields :is(input,textarea,button){scroll-margin-block:24px}
 .nw-template-page .nw-template-fields input[type=file]{width:100%}
 .nw-template-page .nw-template-fields textarea{resize:vertical}
}

/* Dark canvas editor, isolated from the normal page and its artwork. */
.nw-template-page.nw-editor-open{overflow:hidden}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor){--ed-bg:#0e1420;--ed-panel:#192230;--ed-input:#111a27;--ed-border:#38485f;--ed-text:#f4f6fb;--ed-muted:#adbed5;--ed-accent:var(--nw-accent);--ed-highlight:color-mix(in srgb,var(--nw-accent-strong) 65%,white);color-scheme:dark;position:fixed;inset:var(--editor-top,0px) 0 auto;width:100%;max-width:none;height:var(--editor-height,100dvh);max-height:none;margin:0;padding:0;border:0;background:var(--ed-bg);color:var(--ed-text);font-family:'NW Inter',system-ui,sans-serif;box-sizing:border-box;overflow:hidden}
:is(.nw-direct-editor,.nw-inline-editor)::backdrop{background:#0e1420}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-personalizer,.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-personalizer[data-field-open=true]{height:100%;margin:0;padding:12px 20px;border:0;border-radius:0;display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;overflow:hidden;background:var(--ed-bg);color:var(--ed-text)}
.nw-template-page .nw-direct-toolbar{grid-column:1/-1;grid-row:1;display:flex;align-items:center;gap:10px;padding:8px;background:var(--ed-panel);border:1px solid var(--ed-border);border-radius:14px}
.nw-template-page .nw-direct-toolbar p{margin:0;flex:1;font-size:.875rem;text-align:center;color:var(--ed-muted)}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) :is(button,input,textarea){font-family:inherit}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) :is(.nw-direct-toolbar button,.nw-direct-field-list button,.nw-photo-tools button){border:1px solid var(--ed-border);background:#222f42;color:var(--ed-text);box-shadow:none}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-direct-done{border:1px solid #3b7866;background:#16372d;color:#b6efda;width:auto;min-height:44px}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) :is(button,input,textarea):focus-visible{outline:2px solid var(--ed-highlight);outline-offset:2px}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) button:hover{filter:brightness(1.12)}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) button:disabled{opacity:.5;cursor:not-allowed}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-template-visual{grid-column:1;grid-row:2;align-self:center;width:min(100%,calc(var(--stage-height,70dvh) * var(--preview-ratio,.8)));max-width:none;max-height:100%;overflow:auto}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-template-fields{grid-column:2;grid-row:2;align-self:start;max-height:100%;overflow:auto;background:var(--ed-panel);border:1px solid var(--ed-border);border-radius:16px;padding:16px;box-sizing:border-box;min-height:200px;color:var(--ed-text)}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-template-actionbar{grid-column:1/-1;grid-row:3;margin:0;justify-self:center;width:min(100%,440px)}
.nw-template-page .nw-direct-panel-title{font-size:1rem;margin:0 0 10px;color:inherit}
.nw-template-page .nw-direct-counter{font-size:.8rem;color:var(--ed-muted);margin:0;flex:1}
.nw-template-page .nw-direct-panel-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}
.nw-template-page .nw-field-navigation{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;flex-shrink:0}
@media(max-width:450px){.nw-template-page .nw-direct-panel-footer{flex-wrap:wrap}.nw-template-page .nw-field-navigation{margin-left:auto}}
.nw-template-page .nw-direct-field-list{display:grid;gap:6px}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-template-fields :is(input:not([type=range]),textarea){width:100%;background:var(--ed-input);border:1px solid #5a6d86;border-radius:9px;color:var(--ed-text);padding:10px;font-size:16px}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-template-fields textarea{min-height:54px;resize:vertical}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-template-fields :is(.inpt_frm>li,[data-visitor-fields]>div){padding:0;background:none;border:0;margin:0}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-template-fields .inpt_frm{gap:0}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-template-fields :is(li>label,[data-visitor-fields]>div>label){position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-template-fields li>p:not(.nw-field-error){display:none}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) input[type=file][data-photo-ready="1"]{display:none}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-canvas-field{border-color:#ccd9eb66!important;min-width:24px;min-height:24px;background:transparent!important}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-canvas-field.is-selected{border-color:var(--ed-highlight)!important;box-shadow:0 0 0 1px var(--ed-highlight)}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-photo-directions{display:none}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-photo-input{margin:0}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-photo-tools{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:6px;align-items:center}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-photo-tools button{padding:6px;min-height:44px;font-size:.75rem;gap:4px}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-photo-tools button svg{width:16px;height:16px}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-photo-zoom{width:auto;display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:2px;margin:0;font-size:.7rem;line-height:1.2;color:var(--ed-muted)}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-photo-zoom input{grid-column:1/-1;grid-row:2;width:100%;min-width:0;margin:0;padding:0;height:24px;min-height:24px;border:0;background:transparent;accent-color:var(--ed-accent)}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-photo-zoom output{grid-column:2;grid-row:1;min-width:0;margin:0;font-size:inherit;line-height:inherit}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-photo-input>p[data-state=success]{display:none}
.nw-template-page .nw-playback-controls{display:flex;flex-direction:column;gap:8px}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-playback-controls .nw-video-actions{display:flex;margin:0;justify-content:flex-start}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-playback-controls progress{margin:0;width:100%;accent-color:var(--ed-accent)}
.nw-template-page .nw-message{display:flex;align-items:center;gap:8px;border:1px solid #527b9f;background:#112b43;border-radius:10px;padding:6px 8px;color:#b4dcff;margin:6px 0;font-size:.8rem}
.nw-template-page .nw-message>[role],.nw-template-page .nw-message>[data-status]{flex:1;margin:0!important;color:inherit!important;min-width:0;background:none!important;border:0!important;padding:0!important;line-height:1.4}
.nw-template-page .nw-message[data-tone=error]{border-color:#965164;background:#3b1d2b;color:#ffcad7}
.nw-template-page .nw-message[data-tone=success]{border-color:#3b7866;background:#16372d;color:#b6efda}
.nw-template-page .nw-message [data-dismiss-message]{display:grid;place-items:center;flex:none;width:36px;min-height:36px;padding:4px;border:0;background:transparent;color:inherit}
.nw-template-page .nw-message svg{fill:none;stroke:currentColor;stroke-width:2}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-template-edit-preview .nw-message{display:flex}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-template-fields [data-status]:empty{display:none}
@media(max-width:650px){
 .nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-personalizer,.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-personalizer[data-field-open=true]{grid-template-columns:minmax(0,1fr);padding:6px 8px max(6px,env(safe-area-inset-bottom));gap:6px}
 .nw-template-page .nw-direct-toolbar{padding:4px;border-radius:10px;gap:6px}
 .nw-template-page .nw-direct-toolbar button{padding:6px 8px;white-space:nowrap;font-size:.8rem}
 .nw-template-page .nw-direct-toolbar p{font-size:.75rem;line-height:1.3}
 .nw-template-page[data-template-flow=edit] :is(.nw-direct-editor,.nw-inline-editor) .nw-template-visual{width:min(100%,calc((var(--stage-height,70dvh) - var(--panel-height,0px) - 6px) * var(--preview-ratio,.8)));max-width:none;min-width:0;transform:translateY(calc(var(--panel-height,0px) / -2))}
 .nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-template-fields{position:absolute;bottom:var(--panel-bottom,calc(58px + env(safe-area-inset-bottom)));left:8px;right:8px;width:auto;max-height:42%;padding:10px;z-index:5;min-height:148px;box-shadow:0 -4px 20px #0003}
 .nw-template-page .nw-direct-panel-title{font-size:.9rem;margin-bottom:6px}
 .nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-template-fields textarea{min-height:44px;max-height:80px;padding:8px}
 .nw-template-page .nw-direct-panel-footer{margin-top:6px}
 .nw-template-page .nw-direct-counter{font-size:.72rem;line-height:1.35}
 .nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-direct-done{padding:6px 10px;font-size:.8rem}
 .nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-photo-tools{gap:4px}
 .nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-photo-tools [data-reset]{font-size:0}
 .nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-photo-tools [data-reset] svg{width:18px;height:18px}
 .nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-template-actionbar button{padding:8px;min-height:44px}
 .nw-template-page .nw-message [data-dismiss-message]{width:44px;min-height:44px}
}

.nw-template-page .nw-photo-input>.nw-message[data-tone=success]{display:none}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-message [data-status][data-tone=success]{display:block}

.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-template-fields fieldset{margin:0;padding:0;border:0;min-width:0}

/* Compact field navigation shared by image and video editors. */
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-direct-field-list button{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;min-height:40px;padding:7px 10px;font-size:14px;line-height:1.3}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-direct-panel-title{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px;line-height:1.3}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-field-name{min-width:0;overflow-wrap:anywhere}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-required-badge{flex:none;padding:3px 6px;border:1px solid #78435c;border-radius:5px;background:#3a2035;color:#ffb2ce;font-size:10px;font-weight:600;line-height:1.2}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-direct-done{min-height:32px;padding:4px 9px;font-size:12px;line-height:1.3;gap:5px}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-direct-done svg{width:15px;height:15px}

.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-template-fields{display:block}

/* Keep playback controls readable within the dark editor. */
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-template-actionbar{padding:0;border:0;background:transparent}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-playback-controls [data-cancel]{background:#222f42;color:#f4f6fb;border:1px solid #5a6d86;min-height:36px;padding:6px 10px;font-size:13px;line-height:1.3}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-message{background:#112b43;color:#b4dcff;border-color:#527b9f;padding:6px 8px;margin:6px 0}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-message[data-tone=error]{background:#3b1d2b;color:#ffcad7;border-color:#965164}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-message[data-tone=success]{background:#16372d;color:#b6efda;border-color:#3b7866}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-message [data-dismiss-message]{background:transparent;color:inherit;border:0;padding:4px}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) progress{display:block;height:6px;padding:0;border:0;border-radius:4px;overflow:hidden;background:#38485f;accent-color:var(--nw-accent)}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) progress::-webkit-progress-bar{background:#38485f}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) progress::-webkit-progress-value{background:var(--nw-accent)}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) progress::-moz-progress-bar{background:var(--nw-accent)}

/* Align the desktop create action with the artwork column. */
@media(min-width:651px){
 .nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-template-actionbar{grid-column:1;grid-row:3;width:min(100%,440px,calc(var(--stage-height,70dvh) * var(--preview-ratio,.8)));justify-self:center}
 .nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-template-actionbar>button{width:100%;justify-content:center}
}

.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-guided-progress{margin:0 0 8px;color:var(--ed-muted);font-size:11px;line-height:1.3}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-field-value{display:block;font-size:11px;line-height:1.3;font-weight:400;color:var(--ed-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:170px;margin-top:2px}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-field-type{flex:none;display:flex;color:#adbed5}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-field-type svg{fill:none;stroke:currentColor;stroke-width:1.8}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-direct-field-list .nw-field-name{flex:1}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-field-complete{color:#b6efda;font-size:14px;flex:none}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-direct-field-list button.is-current{border-color:var(--ed-highlight);background:color-mix(in srgb,var(--nw-accent) 14%,var(--ed-panel))}
@media(min-width:651px){.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) [data-video-lab] .nw-direct-field-list{margin-bottom:14px}}

.nw-template-page .nw-message[data-tone=success],.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-message[data-tone=success]{background:#d1fae5;color:#065f46;border-color:#6ee7b7}
.nw-template-page .nw-template-result>.nw-message{margin-bottom:16px}

/* Compact playback notices and fully reachable field controls. */
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-message{padding:4px 8px;font-size:12px;line-height:1.3}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-message [data-dismiss-message]{width:32px;min-height:32px;height:32px}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-message>[data-status]{font-size:12px;line-height:1.3}
.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-direct-panel-footer{position:sticky;bottom:0;background:var(--ed-panel);z-index:1;padding-top:2px}
.nw-template-page .nw-share-dialog .nw-share-options :is(a,button){display:flex;align-items:center;justify-content:center;gap:8px}
.nw-template-page .nw-share-dialog .nw-action-icon{flex:none;width:18px;height:18px}
@media(max-width:650px){.nw-template-page :is(.nw-direct-editor,.nw-inline-editor) .nw-template-fields{max-height:56%}}

.nw-template-page .nw-view-actions>button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 14px;border:1px solid var(--nw-accent-strong);background:var(--nw-accent-strong);color:#fff;font-size:14px;line-height:1.3;border-radius:10px}

/* Desktop editing lives in the page; mobile continues to use its dialog. */
@media(min-width:651px){
 .nw-template-page .nw-inline-editor{position:static;inset:auto;width:100%;height:auto;max-height:none;overflow:visible;border:1px solid #eceef2;border-radius:18px;background:#fff;margin-bottom:24px;color:#f4f6fb}
 .nw-template-page .nw-inline-editor .nw-personalizer,.nw-template-page .nw-inline-editor .nw-personalizer[data-field-open=true]{height:auto;overflow:visible;border-radius:18px;background:#fff;padding:20px;grid-template-columns:minmax(0,1fr) minmax(280px,400px);grid-template-rows:auto auto auto auto auto;gap:12px 24px;align-items:start}
 .nw-template-page .nw-inline-editor .nw-template-visual{grid-column:1;grid-row:1/5;align-self:start;overflow:hidden;width:min(100%,calc(var(--stage-height,600px) * var(--preview-ratio,.8)));margin:0 auto;max-height:none}
 .nw-template-page .nw-inline-editor .nw-inline-ad{grid-column:2;grid-row:1;min-width:0;color:#64748b}
 .nw-template-page .nw-inline-editor .nw-inline-ad .nw-public-ad{margin:0;width:100%;box-sizing:border-box}
 .nw-template-page .nw-inline-editor .nw-direct-toolbar{grid-column:2;grid-row:2;justify-self:end;background:transparent;border:0;padding:0}
 .nw-template-page .nw-inline-editor .nw-direct-toolbar>button:first-child,.nw-template-page .nw-inline-editor .nw-direct-toolbar p{display:none}
 .nw-template-page .nw-inline-editor .nw-template-fields{grid-column:2;grid-row:3;max-height:none;width:100%;min-height:0;position:static}
 .nw-template-page .nw-inline-editor .nw-template-actionbar{grid-column:2;grid-row:4;width:100%;max-width:none;justify-self:stretch}
 .nw-template-page .nw-inline-editor .nw-view-actions{grid-column:1;grid-row:5;margin:0;align-self:start}
 .nw-template-page .nw-inline-editor .nw-view-actions [data-personalize]{display:none}
 .nw-template-page .nw-inline-editor .nw-direct-panel-footer{position:static}
}

@media(min-width:651px){
 .nw-template-page .nw-inline-editor .nw-direct-toolbar>button:first-child,.nw-template-page .nw-inline-editor .nw-direct-toolbar p{display:none!important}
 .nw-template-page .nw-inline-editor .nw-inline-ad-placeholder{display:flex;align-items:center;justify-content:center;min-height:250px;border:1px dashed #d4d9e2;border-radius:12px;background:#f4f5f8;color:#7a8597;font-size:12px;text-transform:uppercase;letter-spacing:.06em}
}

@media(min-width:651px){.nw-template-page .nw-inline-editor .nw-direct-counter{color:var(--ed-muted)}}

@media(min-width:651px){
 .nw-template-page .nw-inline-editor .nw-personalizer,.nw-template-page .nw-inline-editor .nw-personalizer[data-field-open=true]{grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:12px 40px;padding:24px}
 .nw-template-page .nw-inline-editor .nw-template-visual{width:100%;max-width:380px}
 .nw-template-page .nw-inline-editor .nw-view-actions{justify-content:center;gap:10px}
 .nw-template-page .nw-inline-editor .nw-template-fields{padding:20px}
}
@media(min-width:651px) and (max-width:900px){.nw-template-page .nw-inline-editor .nw-personalizer,.nw-template-page .nw-inline-editor .nw-personalizer[data-field-open=true]{grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:12px 20px;padding:16px}}

/* Distinct visitor actions: personalize, preview, and share. */
.nw-template-page .nw-editor-spinner{animation:nw-editor-spin .8s linear infinite}
.nw-template-page .nw-view-actions>button[aria-busy=true]{opacity:1;cursor:not-allowed}
@keyframes nw-editor-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.nw-template-page .nw-editor-spinner{animation:none}}
.nw-template-page .nw-view-actions>[data-personalize]{background:var(--nw-accent);border-color:var(--nw-accent);color:var(--nw-on-accent)}
.nw-template-page .nw-view-actions>[data-cover-play]{background:#2563eb;border-color:#2563eb}
.nw-template-page .nw-view-actions>button[aria-haspopup="dialog"]{background:#047857;border-color:#047857}
.nw-template-page .nw-view-actions>button:hover{filter:brightness(.92)}

/* Result actions share the same colors on image and video wishes. */
.nw-template-page .nw-result-actions>[download]{background:var(--nw-accent);border:1px solid var(--nw-accent);color:var(--nw-on-accent)}
.nw-template-page .nw-result-actions>[data-edit-details]{background:#2563eb;border:1px solid #2563eb;color:#fff}
.nw-template-page .nw-result-actions>button[aria-haspopup="dialog"]{background:#047857;border:1px solid #047857;color:#fff}
.nw-template-page .nw-result-actions>:hover{filter:brightness(.92)}
.nw-template-page .nw-result-ad{margin:16px 0;clear:both}
.nw-template-page .nw-result-ad>.nw-public-ad{margin:0;width:100%;box-sizing:border-box}

@media(min-width:651px){
 .nw-template-page[data-template-flow=result] .nw-template-visual{max-width:none;width:100%}
 .nw-template-page[data-template-flow=result] .nw-template-result{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(0,1.15fr);gap:16px 24px;align-items:start}
 .nw-template-page[data-template-flow=result] .nw-template-result>.nw-message{grid-column:1;grid-row:1;margin:0}
 .nw-template-page[data-template-flow=result] .nw-template-result>:is(img,video){grid-column:1;grid-row:2 / 4;min-width:0;width:100%;max-height:70svh;object-fit:contain}
 .nw-template-page[data-template-flow=result] .nw-result-ad{grid-column:2;grid-row:1 / 3;margin:0;min-width:0}
 .nw-template-page[data-template-flow=result] .nw-result-actions{grid-column:2;grid-row:3;margin:0;align-self:end}
}

/* Related wishes need wider cards at tablet and phone widths. */
@media(min-width:901px) and (max-width:1100px){
 .nw-template-page .nw-wish-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
 .nw-template-page .nw-wish-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
}
@media(max-width:420px){
 .nw-template-page .nw-wish-grid{gap:10px}
 .nw-template-page .nw-card-title{font-size:14px;line-height:1.45;padding:10px}
}

/* A single stable cover surface for poster, inline video, or live template preview. */
.nw-template-page .nw-cover-player{cursor:pointer;position:relative;aspect-ratio:var(--cover-ratio);width:100%;max-width:calc(65svh * var(--cover-ratio));margin:auto;overflow:hidden;border-radius:12px;background:#10121a;scroll-margin-block:90px}
.nw-template-page .nw-cover-player>img,.nw-template-page .nw-cover-player>video,.nw-template-page .nw-cover-player>.nw-video-stage{position:absolute;inset:0;width:100%;height:100%;max-height:none;margin:0;object-fit:contain;border-radius:0}
.nw-template-page .nw-cover-player .nw-video-stage canvas{width:100%;height:100%;object-fit:contain}
.nw-template-page .nw-cover-play{position:absolute;z-index:2;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:68px;height:68px;min-height:68px;padding:0;border-radius:50%;border:2px solid #fff;background:#2563eb;color:#fff;box-shadow:0 3px 16px #0005}
.nw-template-page .nw-cover-status{font-size:14px;line-height:1.5;margin:10px 0}
.nw-template-page .nw-cover-player:fullscreen{width:100%;height:100%;max-width:none;border-radius:0}
@media(max-width:650px){.nw-template-page .nw-cover-player{max-width:calc(60svh * var(--cover-ratio));}}

.nw-template-page .nw-cover-player .nw-canvas-fields{display:none!important}

.nw-template-page .nw-cover-play{pointer-events:none}
