/* NEKRO Studio 0.7 - scoped, self-contained composition */
.nks-admin{margin:0 0 0 -20px!important;color:#f1e9dc;background:#101113;min-height:calc(100vh - 32px);font-family:system-ui,-apple-system,Segoe UI,sans-serif}.nks-admin *{box-sizing:border-box}.nks-head{display:flex;align-items:center;gap:26px;justify-content:space-between;padding:16px 26px;background:#1b1c20;border-bottom:1px solid #3a3227}.nks-head h1{color:#fff!important;font-size:26px!important;margin:0!important}.nks-head p{margin:4px 0 0;color:#b8b5b2}.nks-brand{color:#e2bd6d;font:bold 28px Georgia,serif;min-width:180px}.nks-brand small{display:block;font:12px system-ui;color:#c2b8a6}.nks-head-actions{display:flex;gap:8px;flex-wrap:wrap}.nks-admin button{cursor:pointer}.nks-head-actions button,.nks-tools button{background:#252529;border:1px solid #555055;border-radius:8px;color:#fff;padding:10px 14px}.nks-head-actions .nks-gold{background:linear-gradient(130deg,#f8db92,#c59537);color:#15130f;border-color:#d1a34b;font-weight:700}.nks-work{display:grid;grid-template-columns:minmax(235px,22%) minmax(420px,1fr) minmax(265px,23%);min-height:780px}.nks-pane{background:#1a1b1e;padding:20px;min-width:0;overflow:auto;max-height:calc(100vh - 105px)}.nks-left{border-right:1px solid #373431}.nks-right{border-left:1px solid #373431}.nks-pane h2{font-size:16px!important;margin:20px 0 13px;color:#ecc677!important}.nks-pane h2:first-child{margin-top:0}.nks-pane h3{font-size:14px;margin:21px 0 10px;color:#f3ece0}.nks-pane label{display:block;color:#e7e4db;font-size:12px;font-weight:600;margin-bottom:12px}.nks-pane input:not([type=radio]):not([type=checkbox]):not([type=range]),.nks-pane textarea,.nks-pane select{display:block;width:100%;margin-top:6px;background:#f8f4eb!important;border:1px solid #c1b5a4!important;border-radius:7px!important;color:#29231c!important;padding:9px!important;min-height:35px!important;font-size:13px!important}.nks-pane textarea{resize:vertical}.nks-double{display:grid;grid-template-columns:1fr 1fr;gap:8px}.nks-check{display:flex!important;gap:8px;align-items:center}.nks-photo-options{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.nks-photo-options img{width:55px;height:55px;object-fit:cover;border-radius:50%}.nks-photo-options button{border:1px solid #947543;color:#dfc17e;background:#292521;padding:8px;border-radius:6px}.nks-main{min-width:0;background:#101114;display:flex;flex-direction:column;align-items:stretch}.nks-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:15px 20px;color:#dccda9;font-size:12px}.nks-tools span:first-child{margin-right:auto}.nks-stage{padding:30px 22px;display:flex;align-items:center;justify-content:center;min-height:550px;overflow:hidden}.nks-stage-help{padding:12px 24px;text-align:center;color:#a69c8d;font-size:12px}.nks-templates{display:grid;grid-template-columns:1fr 1fr;gap:8px}.nks-theme-tile{cursor:pointer}.nks-theme-tile input{position:absolute;opacity:0}.nks-theme-tile span{display:block;height:74px;background-position:center;background-size:cover;border:2px solid transparent;border-radius:6px}.nks-theme-tile input:checked+span{border:3px solid #e0b451;box-shadow:0 0 0 2px #45361a}.nks-theme-tile small{display:block;margin-top:4px;text-align:center}.nks-settings{color:#dfbc68!important;display:block;margin-top:10px}.nks-icons{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.nks-icons button{background:#252428;border:1px solid #51473b;color:#d5b167;border-radius:6px;padding:5px 2px;min-height:60px}.nks-icons button.chosen{border-color:#ecca79;background:#4c3a21}.nks-icons svg{width:28px;height:28px;display:block;margin:auto}.nks-icons small{display:block;font-size:10px;color:#e9e3d9}.nks-props{background:#25262a;border:1px solid #46413b;border-radius:10px;padding:12px}.nks-props strong{display:block;color:#f6d18a;margin-bottom:12px}.nks-props input[type=range]{width:84%;accent-color:#d7ad58}.nks-tip{color:#b5ab9c;font-size:12px;line-height:1.5}.nks-canvas{position:relative;width:100%;max-width:1120px;aspect-ratio:16/9;flex:none;overflow:hidden;background-color:#f8f2e7;background-image:var(--nks-bg);background-size:cover;background-position:center;border:3px solid #c2a062;border-radius:8px;box-shadow:0 22px 60px #0009;color:#262018;container-type:inline-size}.nks-canvas:after{content:'';position:absolute;inset:10px;pointer-events:none;border:1px solid #bd984e80;border-radius:3px}.nks-theme-classic,.nks-theme-lantern{color:#fff2d9}.nks-theme-minimal{color:#282322}.nks-el{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);font-size:calc(var(--s)*.055cqw);line-height:1.19;max-width:82%;width:max-content;min-width:4%;overflow-wrap:anywhere;white-space:pre-line;z-index:2}.nks-el-symbol{color:#b88b31;width:12%;display:flex;justify-content:center}.nks-el-symbol svg{width:100%;height:100%;max-height:100px}.nks-el-name{width:78%;font-size:calc(var(--s)*.075cqw);font-family:Georgia,'Times New Roman',serif;line-height:1.05}.nks-el-name strong{display:block;font-weight:500}.nks-font-ceremonial .nks-el-name{font-style:italic}.nks-font-modern .nks-el-name{font-family:Arial,sans-serif;font-style:normal}.nks-el-name .nks-sp{display:block;font-size:.37em;font-style:normal;margin-bottom:.18em}.nks-el-portrait{width:calc(var(--s)*.27%);min-width:8%;max-width:28%;aspect-ratio:1/1;border:3px solid #bd984e;border-radius:50%;overflow:hidden;background:#ffffffad}.nks-el-portrait img{width:100%;height:100%;object-fit:cover;display:block}.nks-el-portrait .nks-placeholder{font-size:12px;color:#6c604f;display:grid;place-items:center;height:100%}.nks-el-message,.nks-el-ceremony,.nks-el-signature{width:74%}.nks-el-dates{width:70%;font-family:Georgia,serif}.nks-admin .nks-el{cursor:grab;touch-action:none;user-select:none}.nks-admin .nks-el:active{cursor:grabbing}.nks-admin .nks-el.nks-active{outline:2px dashed #c99436;outline-offset:8px}.nks-mobile .nks-canvas{max-width:340px}.nks-mobile .nks-el{font-size:calc(var(--s)*.055cqw)}.nks-public{max-width:1250px;margin:35px auto 24px}.nks-public .nks-canvas{margin:auto}.nks-footer-actions{display:flex;gap:16px;justify-content:center;margin:18px auto 30px}.nks-footer-actions button{background:#d5ad4e;border:0;padding:12px 18px;border-radius:6px;color:#191919}.nks-memory{max-width:840px;margin:26px auto}.nks-public .nks-el-name{font-size:calc(var(--s)*.075cqw)}
@media(max-width:1250px){.nks-work{grid-template-columns:240px minmax(300px,1fr) 250px}.nks-head{flex-wrap:wrap}}@media(max-width:1000px){.nks-work{grid-template-columns:1fr 1fr}.nks-main{grid-column:1/-1;grid-row:1}.nks-pane{max-height:none}.nks-stage{min-height:350px}.nks-left,.nks-right{border:0}}@media(max-width:640px){.nks-work{display:block}.nks-stage{padding:10px;min-height:230px}.nks-head{padding:14px}.nks-brand{min-width:0}.nks-pane{padding:15px}.nks-admin{margin-left:-10px!important}.nks-public{margin:12px auto}.nks-public .nks-canvas{border-width:1px}}
@media print{body *{visibility:hidden!important}.nks-canvas,.nks-canvas *{visibility:visible!important}.nks-canvas{position:absolute!important;top:5mm!important;left:5mm!important;width:calc(100% - 10mm)!important;max-width:none!important;box-shadow:none!important}.nks-admin .nks-el.nks-active{outline:none!important}@page{size:landscape;margin:5mm}}

.nks-icons button img{width:35px;height:35px;object-fit:contain;display:block;margin:auto}.nks-el-symbol img.nks-symbol-image{width:100%;height:100%;max-height:120px;object-fit:contain;display:block}.nks-icons button span{font-size:26px;line-height:28px;display:block;color:#deb965}

/* v0.9.1: robust size for uploaded custom PNG/WebP symbols */
.nks-el-symbol{width:clamp(38px,12%,160px);height:auto;aspect-ratio:1/1;max-height:32%;align-items:center;overflow:visible}
.nks-el-symbol img.nks-symbol-image{display:block!important;width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important;opacity:1!important;visibility:visible!important;filter:none!important}
.nks-icons button img{width:38px!important;height:38px!important;object-fit:contain!important}
.nks-theme-ivory .nks-el-symbol img,.nks-theme-minimal .nks-el-symbol img{filter:drop-shadow(0 1px 1px rgba(0,0,0,.12))!important}

/* NEKRO Studio 0.9.2 – visible controls */
.nks-toggle{display:block;width:100%;padding:10px 12px;margin:4px 0 14px;background:#34291e;border:1px solid #c8a254;color:#f7e4b6;border-radius:7px;font-weight:650}.nks-toggle:hover{background:#4d3825}.nks-icons button img{max-width:46px;max-height:46px;object-fit:contain}.nks-props select#nks-element-select{margin-bottom:8px}

/* 0.9.3: one consistent scale for every element in both preview and public page.
   --s is a user-controlled value 12..88. The canvas is a CSS size container. */
.nks-canvas .nks-el{box-sizing:border-box; font-size:clamp(7px,calc(var(--s,24) * .065cqw),96px); transition:none}
.nks-canvas .nks-el-name{width:78%;font-size:clamp(8px,calc(var(--s,54) * .080cqw),128px)}
.nks-canvas .nks-el-symbol{width:clamp(12px,calc(var(--s,55) * .34cqw),42cqw)!important;height:auto!important;aspect-ratio:1/1;max-width:42%;max-height:none;min-width:0;overflow:visible;display:flex;align-items:center;justify-content:center}
.nks-canvas .nks-el-symbol img.nks-symbol-image,.nks-canvas .nks-el-symbol svg{width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important}
.nks-canvas .nks-el-portrait{width:clamp(12px,calc(var(--s,24) * .34cqw),32cqw)!important;height:auto;aspect-ratio:1/1;min-width:0;max-width:32%;border-width:clamp(1px,.22cqw,3px)}
.nks-canvas .nks-el-message,.nks-canvas .nks-el-ceremony,.nks-canvas .nks-el-signature,.nks-canvas .nks-el-dates{font-size:clamp(7px,calc(var(--s,22) * .065cqw),96px)}
.nks-canvas .nks-el[style*="display: none"]{display:none!important}
.nks-canvas .nks-el-symbol[style*="display: none"]{display:none!important}
.nks-size-value{display:inline-block;min-width:3ch;margin-left:7px;color:#f4d58a;font-weight:700}
.nks-public .nks-el-name{font-size:clamp(8px,calc(var(--s,54) * .080cqw),128px)}
.nks-mobile .nks-canvas .nks-el{font-size:clamp(4px,calc(var(--s,24) * .065cqw),96px)}
