
body.nameplate-page{--green:#245a40;--dark:#163c2a;--orange:#db6039;--ink:#263e32;--muted:#778276;--line:#dfe4d9;--cream:#f5f5ed;--white:#fffef9;--accent:#245a40;--card-ink:#1c3327;--font:"PingFang TC","Microsoft JhengHei",system-ui,sans-serif}*{box-sizing:border-box}body.nameplate-page{margin:0;background:var(--cream);color:var(--ink);font:14px/1.5 var(--font)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #e6ae6c;outline-offset:2px}a{color:inherit}button{border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--ink);padding:9px 13px;transition:background .15s,transform .15s}button:hover{background:#edf1e7}button:active{transform:translateY(1px)}.primary{color:white;background:var(--green);border-color:var(--green);font-weight:700}.primary:hover{background:var(--dark)}.orange{background:var(--orange);color:white;border-color:var(--orange)}.orange:hover{background:#bc4c29}.danger{color:#b64d35}.subtle{background:transparent}.topbar{background:var(--green);color:#fffdf0;padding:18px 4.2%;display:flex;align-items:center;justify-content:space-between;gap:15px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.egg{display:inline-block;width:39px;height:47px;flex:none;filter:drop-shadow(2px 3px 0 #163c2a55)}.brand strong{display:block;font-size:16px;letter-spacing:1px}.brand small{display:block;color:#d0dfd1;font-size:10px;letter-spacing:2px}.topnote{border:1px solid #91b09b60;padding:6px 12px;border-radius:30px;font-size:11px;color:#e0e9da}.hero{padding:35px 4.2% 26px;display:flex;justify-content:space-between;align-items:end;gap:25px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--orange);font-weight:800;margin:0 0 8px}h1{font-size:clamp(27px,3vw,38px);line-height:1.2;letter-spacing:1px;margin:0 0 12px}h1 span{color:var(--orange)}.intro{color:#647364;margin:0}.hero-tag{font-size:11px;letter-spacing:1px;color:var(--green);white-space:nowrap}.workspace{margin:0 4.2% 40px;display:grid;grid-template-columns:390px minmax(0,1fr);gap:24px;align-items:start}.editor{display:flex;flex-direction:column;gap:16px}.panel{border:1px solid var(--line);border-radius:14px;background:var(--white);padding:20px;box-shadow:0 3px 0 #243e3010}.panel-title{display:flex;align-items:center;gap:10px;margin-bottom:17px}h2{font-size:15px;letter-spacing:.5px;margin:0}.step{font-size:10px;font-weight:800;color:var(--green);border:1px solid #cfdbc8;border-radius:5px;padding:3px 6px}.panel-title .right{margin-left:auto}.mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.mode{padding:12px 3px 10px;text-align:center;border-radius:9px;font-size:11px;display:flex;flex-direction:column;align-items:center;gap:6px}.mode.active{border:1.5px solid var(--green);background:#edf2e7;box-shadow:0 0 0 1px #245a4010;font-weight:700}.mode-icon{height:29px;width:38px;color:var(--green)}label{display:block;color:#5e6d5d;font-size:12px;margin-bottom:6px}.field{margin-top:15px}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}input,select,textarea{border:1px solid #dce2d5;border-radius:7px;padding:9px 10px;width:100%;background:white;color:var(--ink);min-width:0}input[type=color]{padding:3px;height:38px}input[type=checkbox]{width:15px;height:15px;accent-color:var(--green)}input[type=range]{accent-color:var(--green);padding:0}textarea{resize:vertical;min-height:110px;line-height:1.65}small,.hint{font-size:11px;color:var(--muted)}.hint{margin:8px 0 0;line-height:1.7}.checkrow{display:flex;align-items:center;gap:7px;margin:11px 0 0;font-size:12px}.checkrow label{margin:0}.swatches{display:flex;align-items:center;gap:8px}.swatch{border-radius:50%;padding:0;width:25px;height:25px;background:var(--swatch);border:3px solid white;box-shadow:0 0 0 1px #d7ded0}.swatch:hover{background:var(--swatch);outline:2px solid #9aab90}.colorbox{display:flex;align-items:center;gap:7px;flex:1}.colorbox input{width:32px;height:30px}.tools{display:flex;gap:7px;flex-wrap:wrap}.tools button{font-size:11px;padding:7px 10px}.upload{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;border:1px dashed #b9c7b1;border-radius:8px;padding:12px;background:#f8f9f2;color:#5c725d;cursor:pointer;font-size:12px}.upload input{position:absolute;width:1px;height:1px;opacity:0}.upload:focus-within{outline:3px solid #e6ae6c}.upload img{max-width:70px;max-height:30px}.logo-tools{display:flex;align-items:center;gap:8px}.logo-tools .upload{flex:1}.logo-tools button{font-size:11px}.list-head{display:flex;justify-content:space-between;align-items:center;margin:18px 0 10px}.count{color:var(--green);background:#eaf0e4;border-radius:20px;padding:2px 8px;font-size:11px}.person{border:1px solid var(--line);border-radius:8px;padding:12px;margin-bottom:9px;position:relative}.person-top{display:flex;align-items:center;gap:8px;margin-bottom:8px}.person-no{font-size:10px;color:#8b9885}.person-name{font-weight:700;font-size:13px;flex:1}.iconbtn{border:0;padding:1px 6px;font-size:17px;background:transparent}.person .two{gap:7px}.person input{font-size:12px;padding:7px 8px}.person label{font-size:10px;margin:0 0 4px}.person .field{margin-top:8px}.names{max-height:390px;overflow:auto;padding-right:3px}.empty{padding:22px 10px;text-align:center;color:#86917f;border:1px dashed #d2ddcb;border-radius:8px}.preview-panel{background:#e8ebdf;border:1px solid #dce2d1;border-radius:15px;min-width:0;overflow:hidden;position:sticky;top:16px}.preview-toolbar{background:#fdfef6;border-bottom:1px solid #d9e0d2;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:15px}.preview-title{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:700}.live{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:400;color:#72806b}.live:before{content:"";width:5px;height:5px;border-radius:50%;background:#79a55a}.preview-actions{display:flex;gap:7px}.preview-actions button{font-size:12px}.preview-meta{display:flex;justify-content:space-between;gap:10px;padding:16px 20px 0;font-size:11px;color:#72806c}.pages{padding:18px 24px 25px;overflow:auto;max-height:920px}.paper-wrap{position:relative;margin:0 auto 24px}.paper{position:absolute;left:0;top:0;transform-origin:top left;width:210mm;height:297mm;background:white;box-shadow:0 6px 22px #253a2520;overflow:hidden;color:var(--card-ink)}.sheet-grid{position:absolute;display:grid;justify-content:center;align-content:center}.badge{position:relative;width:var(--cw);height:var(--ch);display:flex;flex-direction:column;overflow:hidden;background:#fff;color:var(--card-ink);font-family:var(--font)}.badge.marks{outline:.18mm dashed #adb2a9;outline-offset:-.09mm}.face{height:100%;width:100%;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;padding:4mm 3mm;text-align:center;border-top:1.6mm solid var(--accent)}.face.minimal{border:0}.face.band{border:0}.face.band:before{content:"";position:absolute;left:0;top:0;width:100%;height:23%;background:var(--accent)}.face.band .event{position:absolute;top:2.5mm;left:3mm;right:3mm;color:var(--accent-contrast);z-index:1}.face.band .identity{margin-top:3mm}.face.band .card-logo{display:none}.face.minimal:after{content:"";position:absolute;bottom:3mm;width:12mm;height:.6mm;background:var(--accent)}.card-logo{height:7mm;max-width:38mm;object-fit:contain;margin-bottom:2mm;flex:none}.event{font-size:7pt;line-height:1.2;color:var(--accent);max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-height:3.5mm;flex:none}.identity{display:flex;flex-direction:column;justify-content:center;width:100%;min-height:0;flex:1}.card-name{font-weight:800;line-height:1.2;white-space:nowrap;letter-spacing:.025em;overflow:hidden;flex:none}.card-company,.card-role{line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-height:1.4em;flex:none}.card-company{margin-top:1mm;color:#5a665c}.card-role{font-weight:500;color:var(--accent)}.card-tag{font-size:6pt;line-height:1.4;min-height:1.4em;letter-spacing:.09em;color:#8d978b;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:none}.tent .face{height:50%;flex:none}.tent .face:first-child{transform:rotate(180deg)}.tent:after{content:"";position:absolute;top:50%;left:0;right:0;border-top:.15mm dashed #c0c5bd}.tent.no-fold:after{display:none}.badge.sticker .face{padding:2mm}.badge.sticker .event{font-size:5pt;min-height:2mm}.badge.sticker .card-tag{display:none}.badge.sticker .card-logo{height:3.7mm;margin-bottom:.8mm}.badge.sticker .card-company{margin-top:.5mm}.badge.sticker .face.band .identity{margin-top:2mm}.page-number{position:absolute;bottom:3mm;left:0;right:0;text-align:center;color:#8e958a;font-size:7pt}.preview-footer{padding:16px 20px;border-top:1px solid #d6decd;background:#f3f6ec;display:flex;gap:10px;align-items:start;color:#778371;font-size:11px}.preview-footer strong{color:#51694f}.notice{background:#fff7dd;color:#886121;border:1px solid #ebd8a1;padding:10px;border-radius:8px;margin-top:12px;font-size:12px}.hidden{display:none!important}.error{color:#b34f32}.footer{margin:0 4.2% 30px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;color:#8b9683;font-size:10px;letter-spacing:.5px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--dark);color:white;border-radius:9px;padding:12px 20px;z-index:50;box-shadow:0 4px 20px #183c2940;max-width:92%;font-size:13px}.help{border-top:1px solid var(--line);margin-top:17px;padding-top:12px}.help summary{cursor:pointer;font-size:11px;color:#6f7f68}.help p{font-size:11px;color:#788471;line-height:1.8}dialog{border:1px solid var(--line);border-radius:16px;width:370px;max-width:90vw;padding:24px;color:var(--ink);box-shadow:0 18px 70px #1a362630}dialog::backdrop{background:#163c2a60}dialog p{color:#72806c;font-size:13px}dialog .tools{justify-content:end;margin-top:20px}.pill{background:#f8e6dd;color:#a35034;border-radius:4px;padding:3px 6px;font-size:10px}#printArea{display:none}
@media(min-width:1500px){.workspace{grid-template-columns:420px minmax(0,1fr)}.pages{max-height:1100px}}@media(max-width:1050px){.workspace{grid-template-columns:350px minmax(0,1fr);gap:16px;margin:0 3% 30px}.panel{padding:16px}.pages{padding:18px 15px}.preview-toolbar{padding:14px;flex-wrap:wrap}.preview-meta{padding:14px 15px 0}}@media(max-width:760px){.topbar{padding:15px 5%}.topnote{display:none}.hero{padding:27px 5% 23px}.hero-tag{display:none}.workspace{display:flex;flex-direction:column;margin:0 5% 28px;gap:20px}.editor,.preview-panel{width:100%}.preview-panel{position:relative;top:0}.names{max-height:300px}.pages{max-height:670px;padding:18px 12px}.footer{margin:0 5% 25px;flex-direction:column;gap:5px}.intro{font-size:12px}.preview-toolbar{gap:10px}.preview-actions button{padding:8px 10px}.panel-title{margin-bottom:14px}}@page{size:A4 portrait;margin:0}@media print{html,body{padding:0!important;margin:0!important;background:white!important;width:210mm!important}body> :not(#printArea){display:none!important}#printArea{display:block!important}#printArea .paper{position:relative!important;transform:none!important;box-shadow:none!important;margin:0!important;width:210mm!important;height:297mm!important;break-after:page;page-break-after:always}#printArea .paper:last-child{break-after:auto;page-break-after:auto}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}

/* SamEgg print studio — one designed object, two honest preview scales. */
body.nameplate-page{--cream:#f5f2e9;--white:#fffef9;--muted:#65735f;--line:#d8ddce}
.topbar{background:#f5f2e9;color:#214a34;border-bottom:1px solid #d7ddce;padding:14px 4.2%}.brand small{color:#6a7d67}.brand .egg{height:39px;width:33px}.topnote{color:#64745d;border:0;font-size:12px}.hero{padding:25px 4.2% 22px}.hero h1{font-size:30px}.eyebrow{font-size:10px;letter-spacing:1.6px;margin-bottom:8px}.hero-tag{font-size:12px}.workspace{grid-template-columns:360px minmax(0,1fr);gap:28px}.panel{border-radius:10px;box-shadow:none;padding:18px}.editor{gap:12px}.mode{min-height:84px;font-size:12px}.mode.active{background:#e6eddf;border-color:#245a40}.step{border:0;background:#edf0e5;padding:4px 6px}.hint,small{color:#63735e}.intro{font-size:13px}.preview-panel{border-radius:12px;background:#dce3d3;top:18px}.preview-toolbar{background:#fffdf5;padding:16px 22px}.view-switch{display:flex;align-items:center;gap:4px;padding:13px 22px;border-bottom:1px solid #ced6c3;background:#f7f7ef}.view-switch button{background:transparent;border:0;color:#6a7965;padding:7px 13px;font-size:12px;min-height:34px}.view-switch button.selected{background:#245a40;color:#fffdf1}.view-switch>span{margin-left:auto;font-size:11px;color:#6d7c64}.preview-footer{background:#f2f4e9}.preview-meta{padding-top:15px}.detail-preview{display:none}.detail-view .detail-preview{display:flex;min-height:590px;flex-direction:column;align-items:center;padding:24px 30px 22px;position:relative;overflow:hidden;background:#dde5d2}.detail-view .pages{position:absolute;visibility:hidden;width:100%;height:0;overflow:hidden;padding-top:0;padding-bottom:0;pointer-events:none}.detail-view .preview-meta{padding:12px 22px;border-top:1px solid #cdd8c1;background:#edf1e4}.detail-object{position:relative;flex-shrink:0;z-index:1;filter:drop-shadow(6px 14px 12px #34432a2b);margin:15px 0 17px}.detail-card{transform-origin:top left;position:absolute;left:0;top:0}.detail-card .badge{border-radius:4px;outline:0}.spec-note{display:flex;justify-content:space-between;width:100%;font-size:10px;letter-spacing:1.4px;color:#4e6445;align-items:center}.spec-note span{letter-spacing:0;font-size:11px;color:#637558}.detail-caption{display:flex;flex-direction:column;align-items:center;gap:3px}.detail-caption strong{font-size:13px;font-variant-numeric:tabular-nums;letter-spacing:1px}.detail-caption span{font-size:11px;color:#64775b}.paper{background:#fff}.badge{container-type:size}.face{container-type:size;align-items:stretch;display:flex;flex-direction:column;padding:0!important;border:0!important;background:#fff8e8;color:#1c3e2b;text-align:left;position:relative;overflow:hidden}.face:before,.face:after{display:none!important}.arthead{width:100%;position:relative;background:var(--accent);color:var(--accent-contrast);height:43%;flex:none;overflow:hidden;padding:5% 7%}.card-brand{position:relative;z-index:3;display:flex;align-items:center;gap:5%;height:17%;font-size:3.6cqw;font-weight:700;line-height:1.3;letter-spacing:.04em}.card-brand small{display:block;font-size:1.9cqw;letter-spacing:.18em;color:inherit;margin-top:1.2%}.brand-seal svg{width:100%;height:100%}.brand-seal{width:7cqw;height:8.6cqw;border-radius:52% 52% 44% 44%;background:#fff1cd;color:#28533b;display:flex;align-items:center;justify-content:center;font-size:6cqw;flex:none}.hello-type{position:absolute;top:36%;left:7%;font:900 14cqw/.9 var(--font);letter-spacing:-.055em;z-index:1}.hello-type span{display:block;font-size:3.5cqw;font-weight:400;letter-spacing:.12em;margin-top:8%}.egg-illustration{position:absolute;width:42%;height:83%;right:1%;bottom:-4%;z-index:2;transform:rotate(9deg)}.egg-illustration svg{width:100%;height:100%;overflow:visible}.orbit{position:absolute;border:1px solid currentColor;border-radius:50%;opacity:.2;width:85%;aspect-ratio:1;right:-34%;top:2%}.orbit-two{width:110%;right:-46%;top:-15%}.art-spark{position:absolute;top:27%;right:11%;font-size:9cqw;color:#efaa66;z-index:3}.card-content{height:57%;flex:1;min-height:0;display:flex;flex-direction:column;padding:6% 7% 4%;position:relative}.face .event,.face.band .event{position:static!important;flex:none;color:var(--accent);font-size:3cqw;line-height:1.4;letter-spacing:.02em;width:100%;min-height:1.4em;margin:0 0 5%}.identity,.face.band .identity{display:flex;flex:1;min-height:0;width:100%;margin:0;justify-content:center;position:relative;z-index:2}.card-name{font-weight:800;letter-spacing:-.025em;line-height:1.3;color:#183d29}.card-company{line-height:1.6;margin-top:2%;color:#5c7058}.card-role{color:var(--accent);margin-top:4%;min-height:1.6em}.card-role span{padding:.22em .6em;background:#dfe9d3;border-radius:2px;white-space:nowrap;display:inline-block;max-width:100%;text-overflow:ellipsis;overflow:hidden;vertical-align:top}.card-bottom{flex:none;display:flex;justify-content:space-between;align-items:end;margin-top:4%;padding-top:4%;border-top:.2mm solid #c5d2b7;min-height:8%;gap:3%}.card-tag{font-size:2cqw;letter-spacing:.12em;color:#617358;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-egg{display:block;width:7%;height:100%;flex:none}.mini-egg svg{width:100%;height:100%}.card-brand .card-logo{position:static;max-height:100%;max-width:65%;height:100%;width:auto;object-fit:contain;margin:0;background:#fffdf1;padding:1%;border-radius:1mm}.face.band{background:#fff6e7}.band .arthead{background:var(--accent);color:var(--accent-contrast)}.band .hello-type{font-family:Georgia,serif;font-weight:400;font-size:15cqw;letter-spacing:-.04em}.band .art-spark{color:#f5d780}.band .arthead:after{content:'';position:absolute;bottom:0;left:0;right:0;height:4%;background:repeating-linear-gradient(90deg,#fff6e7 0,#fff6e7 3%,transparent 3%,transparent 6%)}.band .event{color:#b24c28}.band .card-role{color:#ac492b}.band .card-role span{background:#f7dcc5}.band .card-bottom{border-color:#d8bda4}.minimal .arthead{background:#eee6ce;color:#214d36}.minimal .hello-type{font-family:Georgia,serif;font-size:17cqw;font-style:italic;font-weight:400}.minimal .egg-illustration{transform:rotate(-8deg);width:38%;right:2%}.minimal .orbit{color:#658257;opacity:.3}.minimal .art-spark{color:#db6039}.minimal .arthead:before{content:'';position:absolute;left:0;right:0;bottom:0;height:1.5%;background:var(--accent)}.minimal .brand-seal{background:var(--accent);color:#fff5da}.landscape .arthead{position:absolute;right:0;top:0;bottom:0;width:31%;height:100%;padding:7% 5%}.landscape .card-content{height:100%;width:69%;padding:5% 6%;flex:none}.landscape .card-brand{display:none}.landscape .hello-type{font-size:7cqw;left:10%;top:13%;writing-mode:vertical-rl;letter-spacing:-.06em}.landscape .hello-type span{display:none}.landscape .egg-illustration{width:92%;height:65%;right:-2%;bottom:-3%;transform:rotate(9deg)}.landscape .art-spark{font-size:5cqw;top:10%;right:5%}.landscape .card-bottom{margin-top:2%;padding-top:2%}.landscape .event{font-size:2.5cqw!important;margin-bottom:1%!important}.landscape .mini-egg{display:none}.landscape .card-tag{font-size:1.7cqw}.landscape .card-role{margin-top:1%}.landscape .card-company{margin-top:0}.sticker .card-bottom{display:none}.sticker .card-content{padding:3% 4%}.sticker .event{font-size:2.6cqw!important;min-height:1.4em}.sticker .card-role{margin-top:0}.tent .face{height:50%}.tent:after{z-index:5}.face.band .card-logo{display:block}.detail-card .badge:after{opacity:.7}
@media(min-width:1500px){.workspace{grid-template-columns:390px minmax(0,1fr);max-width:1500px;margin-left:auto;margin-right:auto;padding:0 3%}.detail-view .detail-preview{min-height:640px}}@media(max-width:1050px){.workspace{grid-template-columns:330px minmax(0,1fr);gap:18px}.detail-view .detail-preview{padding:22px 16px;min-height:560px}.preview-toolbar{padding:14px}.view-switch{padding:12px 14px}.hero h1{font-size:28px}}
@media(max-width:760px){.workspace{display:flex;gap:18px}.preview-panel{order:-1;position:relative;top:0}.hero{padding:23px 5%}.hero h1{font-size:26px}.intro{font-size:12px;line-height:1.8}.preview-toolbar{padding:13px 15px;flex-wrap:nowrap}.preview-title{font-size:13px}.live{display:none}.preview-actions button{padding:9px 10px;font-size:11px}.detail-view .detail-preview{min-height:490px;padding:20px 20px}.spec-note{font-size:9px;letter-spacing:1px}.spec-note span{font-size:10px}.detail-object{margin-top:18px}.view-switch{padding:9px 14px}.view-switch>span{font-size:10px}.panel{padding:17px}.topbar{padding:13px 5%}.hero-tag{display:none}.detail-caption span{font-size:11px}.mode{min-height:88px}.tools button{min-height:38px}.topnote{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}


/* Legibility and uploaded-brand placement. */
body.nameplate-page{--orange:#bd4b28}.brand small{color:#56694f;font-size:11px;letter-spacing:1px}.eyebrow{color:#a64025}.preview-footer,.preview-meta,.live,.help p{color:#5d7056}.danger:hover{color:#9e3e28}.spec-note,.spec-note span{font-size:11px;letter-spacing:.04em}.person-no,.person label{font-size:11px}.step,.pill{font-size:11px}.topbar .brand small{line-height:1.6}.face.band .event{color:#a64025}.landscape.has-logo .card-brand{display:flex;position:absolute;left:9%;top:5%;width:82%;height:19%;justify-content:center}.landscape.has-logo .card-brand .card-logo{max-width:100%;width:100%;height:100%}.landscape.has-logo .hello-type{display:none}.detail-card .badge{pointer-events:none}.detail-object:after{display:none!important}

.brand-toggle{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 14px;background:#edf1e5;border:1px solid #d1dcc6;border-radius:8px;margin:0 0 18px}.brand-toggle label{margin:0;color:#244b34;font-size:13px;font-weight:700;cursor:pointer}.brand-toggle p{margin:4px 0 0;font-size:11px;color:#607259}.brand-toggle input{appearance:none;-webkit-appearance:none;position:relative;flex:none;width:43px;height:25px;border:0;border-radius:20px;background:#9aa594;cursor:pointer;transition:background .15s;padding:0}.brand-toggle input:before{content:'';position:absolute;top:3px;left:3px;width:19px;height:19px;background:white;border-radius:50%;transition:transform .15s}.brand-toggle input:checked{background:#245a40}.brand-toggle input:checked:before{transform:translateX(18px)}
.face.plain{align-items:center;text-align:center;background:#fff!important;color:#1c3327;padding:4mm 3mm!important;border-top:1.6mm solid var(--accent)!important}.face.plain .event{position:static!important;color:var(--accent);font-size:7pt!important;line-height:1.2;margin:0!important;min-height:3.5mm;width:100%;flex:none;letter-spacing:normal}.face.plain .identity{margin:0;flex:1;justify-content:center;width:100%;min-height:0}.face.plain .card-name{font-weight:800;line-height:1.2;letter-spacing:.025em}.face.plain .card-company{line-height:1.4;margin-top:1mm;color:#5a665c}.face.plain .card-role{line-height:1.4;margin-top:0;min-height:1.4em;font-weight:500;color:var(--accent)}.face.plain .card-tag{font-size:6pt;line-height:1.4;min-height:1.4em;letter-spacing:.09em;color:#788574;width:100%;flex:none}.face.plain .card-logo{height:7mm;max-width:38mm;object-fit:contain;margin:0 0 2mm;flex:none;position:static;background:transparent;padding:0;border-radius:0;display:block}.face.plain.minimal,.face.plain.band{border:0!important}.face.plain.minimal:after{display:block!important;content:'';position:absolute;bottom:3mm;width:12mm;height:.6mm;background:var(--accent)}.face.plain.band:before{display:block!important;content:'';position:absolute;left:0;top:0;width:100%;height:23%;background:var(--accent)}.face.plain.band .event{position:absolute!important;top:2.5mm;left:3mm;right:3mm;width:auto;color:var(--accent-contrast);z-index:1}.face.plain.band .identity{margin-top:3mm}.face.plain.band .card-logo{margin-top:23%;height:6mm}.badge.sticker .face.plain{padding:2mm!important}.badge.sticker .face.plain .event{font-size:5pt!important;min-height:2mm}.badge.sticker .face.plain .card-tag{display:none}.badge.sticker .face.plain .card-logo{height:3.7mm;margin-bottom:.8mm}.badge.sticker .face.plain .card-company{margin-top:.5mm}

/* Generated template art is immutable; editable text sits in its reserved writing area. */
.template-choices{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;overflow-x:auto;padding:3px 2px 9px;scroll-snap-type:x proximity}.template-choice{padding:4px;background:#fffdf5;border:1px solid #d5decb;border-radius:7px;min-width:0;scroll-snap-align:start}.template-choice img{width:100%;aspect-ratio:9/13;display:block;object-fit:contain;border-radius:3px}.template-choice span{display:block;font-size:11px;line-height:1.5;margin:6px 0 2px;text-align:center;color:#425e38;white-space:normal}.template-choice.selected{border:2px solid #245a40;padding:3px;background:#e9f0df}.brand-options{margin-bottom:16px}.two:has(>#plainStyleField.hidden){grid-template-columns:1fr}.face.raster{padding:0!important;border:0!important;align-items:stretch;background:#fff5df;text-align:left}.face.raster .template-art{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;max-width:none;pointer-events:none}.raster-content{position:absolute;left:10%;width:80%;top:57%;bottom:12%;display:flex;flex-direction:column;min-height:0}.face.raster .event{font-size:3cqw!important;line-height:1.3;min-height:1.3em;margin:0 0 3%!important;color:var(--accent);letter-spacing:0;position:static!important}.face.raster .identity{flex:1;min-height:0;justify-content:center;margin:0}.face.raster .card-name{font-weight:800;line-height:1.25;letter-spacing:0}.face.raster .card-company{margin-top:2%;line-height:1.4;color:#53674c}.face.raster .card-role{margin-top:1%;line-height:1.4;min-height:1.4em;color:var(--accent)}.face.raster .card-logo{height:5mm;max-width:50%;object-fit:contain;object-position:left;margin:0 0 1mm;flex:none}.face.raster .card-tag{font-size:2cqw;line-height:1.3;flex:none;color:#5d7155}.face.raster.landscape .template-art{width:38%;object-fit:fill}.face.raster.landscape .raster-content{left:43%;width:52%;top:8%;bottom:8%}.face.raster.landscape .event{font-size:2.6cqw!important;margin-bottom:2%!important}.face.raster.landscape .card-logo{max-width:80%;height:4mm}.face.raster.landscape .card-tag{font-size:1.8cqw}.badge.sticker .face.raster .event{font-size:2.4cqw!important}.badge.sticker .face.raster .card-logo{height:3mm}

/* Both modes use precisely the legacy flex layout. The only addition is an absolute background. */
.face.plain.centered-brand{isolation:isolate;background:#fff9e8!important}.centered-template{position:absolute!important;z-index:-1;left:0;top:0;width:100%;height:100%;object-fit:fill;pointer-events:none;max-width:none!important}.wide-choices .template-choice img{aspect-ratio:9/5}.face.plain.centered-brand.band:before{z-index:-1}.face.plain.centered-brand.minimal:after{z-index:0}

/* Alignment changes text anchoring, never the geometry shared by the branded/plain badge. */
.face.plain,.face.raster{text-align:var(--text-align,center)!important}.face .event,.face .card-name,.face .card-company,.face .card-role,.face .card-tag{text-align:inherit}.face .card-logo{align-self:var(--logo-align,flex-start);object-position:var(--text-align,left)}.face.raster.activity-plain{background:#fff!important}.face.raster.activity-plain.classic:before{display:block!important;content:'';position:absolute;left:0;top:0;width:100%;height:1.6mm;background:var(--accent)}.face.raster.activity-plain.band:before{display:block!important;content:'';position:absolute;left:0;top:0;width:100%;height:23%;background:var(--accent)}.face.raster.activity-plain.minimal:after{display:block!important;content:'';position:absolute;bottom:3mm;left:calc(50% - 6mm);width:12mm;height:.6mm;background:var(--accent)}.legacy-footer{position:absolute;left:10%;width:80%;bottom:3%;font-size:2cqw;line-height:1.3;letter-spacing:.12em;text-align:inherit;color:#5d7155;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}

/* Horizontal event badges: one full-width header and one full-width writing area. */
.face.raster.landscape .landscape-art{position:absolute;left:0;right:0;top:0;height:34%;overflow:hidden;pointer-events:none;background:#fff9e8}.face.raster.landscape .landscape-art .template-art{width:100%!important;height:calc(100% / var(--header-fraction))!important;max-width:none;inset:0;object-fit:fill}.face.raster.landscape{background:#fff9e8}.face.raster.landscape .raster-content{left:8%;width:84%;top:39%;bottom:8%;text-align:inherit}.face.raster.landscape .event{font-size:2.6cqw!important;line-height:1.3;margin-bottom:2%!important}.face.raster.landscape .identity{width:100%;margin:0;justify-content:center}.face.raster.landscape .card-name{width:100%;font-weight:800;line-height:1.2;letter-spacing:0}.face.raster.landscape .card-company{margin-top:1%;line-height:1.35}.face.raster.landscape .card-role{margin-top:.5%;line-height:1.35;min-height:1.35em}.face.raster.landscape .card-logo{height:4mm;max-width:45%;object-fit:contain;margin:0 0 .5mm}.face.raster.landscape .legacy-footer{left:8%;width:84%;bottom:2%;font-size:1.6cqw;line-height:1.2}.face.raster.landscape .card-tag{font-size:1.8cqw}

/* Follow the existing laboratory shell; printed cards retain their own colours. */
body.nameplate-page{--cream:var(--se-bg,#f5f2e9);--white:var(--se-surface,#fffef9);--ink:var(--se-ink,#263e32);--muted:var(--se-muted,#65735f);--line:var(--se-border,#d8ddce);background:var(--cream);color:var(--ink)}
body.nameplate-page .nameplate-app .hero{max-width:1600px;margin:0 auto}body.nameplate-page .nameplate-app button:not(.swatch){min-height:36px}body.nameplate-page .nameplate-app .detail-preview .badge{background:white}body.nameplate-page .lab-site-header button{padding:0}body.nameplate-page .lab-site-header .site-brand{font:inherit}
html.dark body.nameplate-page .panel{background:var(--se-surface);border-color:var(--se-border)}html.dark body.nameplate-page .nameplate-app input,html.dark body.nameplate-page .nameplate-app select,html.dark body.nameplate-page .nameplate-app textarea{background:#172c24;color:#f5f4e9;border-color:#42624f}html.dark body.nameplate-page .nameplate-app label,html.dark body.nameplate-page .nameplate-app .hint{color:#bdd0bf}html.dark body.nameplate-page .hero h1{color:#f5f4e9}html.dark body.nameplate-page .brand-toggle{background:#233f30}html.dark body.nameplate-page .brand-toggle label,html.dark body.nameplate-page .brand-toggle p{color:#e0ecd9}html.dark body.nameplate-page .person-name{color:#f5f4e9}html.dark body.nameplate-page .mode{color:#264b34}html.dark body.nameplate-page .nameplate-app button.primary{color:#fff}
@media print{html,body.nameplate-page{width:210mm!important;margin:0!important;padding:0!important}body.nameplate-page> :not(#printArea){display:none!important}body.nameplate-page #printArea{display:block!important}}
