/* Document Maker Pro - paper styles. Source uses ^N shorthand = .pp[data-t=tN]  (compiled by build/mkcss.py -> assets/css/paper.css) */
/* ===== base (A4 = 794px wide) ===== */
.pp{--pc:#1e40af;--pl:#e7ecf9;--pm:#b7c5ee;--pd:#10215a;--pk:#0c1330;--pg:#7c3aed;--fz:14.5px;--ff:"Times New Roman",Times,serif;position:relative;box-sizing:border-box;width:210mm;min-height:297mm;padding:16mm 18mm;background:#fff;color:#000;font-family:var(--ffo,var(--ff));font-size:calc(var(--fz)*var(--fzk,1));line-height:1.5;text-align:left;overflow:hidden;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.pp *{box-sizing:border-box}
.pp h1,.pp h2{margin:0}
.pp .hd{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;position:relative}
.pp .ht{flex:1;min-width:0}
.pp .ht h2{text-align:center;text-decoration:underline;font-size:23px;letter-spacing:1px}
.pp .ht h1{font-size:30px;text-transform:uppercase}
.pp.bio .ht{text-align:center}
.pp .ph{width:30mm;height:37mm;object-fit:cover;border:1px solid #000;flex:none;position:relative}
.pp.sh-rd .ph{border-radius:50%;width:32mm;height:32mm}
.pp.sh-no .ph,.pp.sh-no .lg{display:none}
.pp .sh{font-weight:bold;margin:13px 0 5px;text-transform:uppercase}
.pp .n{display:none}
.pp .ct,.pp .wm{display:none}
.pp .wm{display:block;text-align:center;font-size:10px;color:#888;margin-top:12px;position:relative}
.pp .sym{text-align:center;font-size:20px;font-weight:bold;color:var(--pc)}
.pp table.k{border-collapse:collapse;width:100%}
.pp table.k td{padding:2px 4px;vertical-align:top}
.pp table.k td:first-child{width:36%;font-weight:bold}
.pp table.t{border-collapse:collapse;width:100%}
.pp table.t td,.pp table.t th{border:1px solid #000;padding:4px 6px;font-size:13.5px}
.pp ul{margin:2px 0 4px;padding-left:22px}
.pp .two{columns:2}
.pp .sg{display:flex;justify-content:space-between;margin-top:36px}
.pp .sgn{align-self:flex-end}
.pp.proj{display:flex;flex-direction:column}
.pp .fp{flex:1 1 auto;min-height:100px;padding:13mm 10mm;text-align:center;display:flex;flex-direction:column;justify-content:space-between;border:3px double #000;position:relative}
.pp .fp .big{font-size:28px;font-weight:bold;text-transform:uppercase}
.pp .fp .sn{font-size:26px;margin-top:8px}
.pp .fp .s2{font-size:19px;margin-top:6px}
.pp .fp .tp{margin-top:14px;font-size:26px}
.pp .fp .lg{max-height:38mm;max-width:80%}
.pp .fp .mid{font-size:20px;line-height:2}
.pp .fp .sb{display:flex;justify-content:space-between;text-align:left;font-size:17px;font-weight:bold}
.pp .fp .sr{text-align:right}
/* legacy name handling (v1): big name only on some skins */
.pp.resume h1,.pp.bio h1{display:none}
.pp.resume.nh h1{display:block}
.pp.resume.nh h2,.pp.nh .nm{display:none}
.pp.bio.nw h1,.pp.resume.nw h1{display:block}
.pp.nw{--ff:Arial,Helvetica,sans-serif}
.pp.nw .nm,.pp.nw .r-mob,.pp.nw .r-email{display:none}
.pp.nw .ct{display:block;font-size:.86em;margin-top:4px}
.pp.nw .ht{text-align:left}
.pp.nw .ht h2{font-size:11px;letter-spacing:4px;text-decoration:none;text-align:inherit;font-weight:700;margin-bottom:3px}
.pp.nw .ht h1{font-size:30px;line-height:1.15}
.pp.nw .sym{font-size:20px;margin-bottom:2px;text-align:inherit}
.pp.nw{line-height:1.42}
.pp.nw table.k td{padding:1px 4px}
.pp.nw .sg{margin-top:24px}
.pp.nw .sc{margin:0 0 3px}
.pp.nw .sh{font-size:14px;margin:11px 0 5px;letter-spacing:.5px}
.pp.nw.proj{padding:10mm}
.pp.nw .fp{padding:14mm 12mm;border:0}

/* ===== v1 skins t1..t12 (unchanged look) ===== */
.pp[data-t=t1] .sh{text-decoration:underline}
.pp.bio[data-t=t1]{border:2px solid #000}
.pp[data-t=t2] .sh{background:var(--pc);color:#fff;padding:2px 10px;border-radius:3px}
.pp[data-t=t2] table.t th{background:var(--pc);color:#fff}
.pp.resume[data-t=t2] .hd{background:var(--pc);color:#fff;margin:-16mm -18mm 12px;padding:10mm 18mm}
.pp.resume[data-t=t2] .ph{border:3px solid #fff;border-radius:50%;width:32mm;height:32mm}
.pp.bio[data-t=t2]{border:7px double var(--pc)}
.pp.proj[data-t=t2] .fp{border:9px solid var(--pc)}
.pp.proj[data-t=t2] .big.tp{background:var(--pc);color:#fff;padding:10px}
.pp.proj[data-t=t2] .s2{color:var(--pc);font-weight:bold}
.pp[data-t=t3] .sh{color:var(--pc);border-bottom:2px solid var(--pc)}
.pp[data-t=t3] .hd h1,.pp.bio[data-t=t3] .hd h2{color:var(--pc)}
.pp.resume[data-t=t3] .hd{border-bottom:4px solid var(--pc);padding-bottom:8px}
.pp.bio[data-t=t3] .hd h2{text-decoration:none;border-bottom:3px solid var(--pc);padding:0 20px;display:inline-block}
.pp.proj[data-t=t3] .fp{border:0;border-left:16mm solid var(--pc);text-align:left;padding-left:12mm}
.pp.proj[data-t=t3] .big.tp{color:var(--pc)}
.pp[data-t=t4]::after{content:"";position:absolute;left:8mm;top:8mm;right:8mm;bottom:8mm;border:3px solid var(--pc);pointer-events:none}
.pp.proj[data-t=t4]::after{display:none}
.pp[data-t=t4] .sh{text-align:center;border-top:2px solid var(--pc);border-bottom:2px solid var(--pc);color:var(--pc);letter-spacing:2px}
.pp[data-t=t4] .hd h2{color:var(--pc)}
.pp.proj[data-t=t4] .fp{border:4px solid var(--pc);box-shadow:0 0 0 4px #fff,0 0 0 6px var(--pc);margin:3mm}
.pp[data-t=t5]{background:#fffcf3;--ff:Georgia,"Times New Roman",serif}
.pp[data-t=t5] .hd{border-top:3px double var(--pd);border-bottom:3px double var(--pd);padding:8px 0}
.pp[data-t=t5] .hd h1,.pp[data-t=t5] .hd h2{text-align:center;letter-spacing:6px;font-weight:400;text-decoration:none;color:var(--pd)}
.pp[data-t=t5] .sh{text-align:center;color:var(--pd);letter-spacing:2px;font-variant:small-caps;text-transform:none;font-size:17px}
.pp[data-t=t5] .sh::before,.pp[data-t=t5] .sh::after{content:" ❖ "}
.pp[data-t=t5] table.t th{background:#f3ead2}
.pp.proj[data-t=t5] .fp{border:5px double var(--pd);background:#fffcf3;margin:3mm}
.pp.proj[data-t=t5] .big{letter-spacing:3px;font-weight:400}
.pp.proj[data-t=t5] .tp{color:var(--pd)}
.pp[data-t=t6] .hd{border-bottom:3px solid var(--pc);padding-bottom:6px}
.pp[data-t=t6] .hd h1,.pp[data-t=t6] .hd h2{color:var(--pc)}
.pp[data-t=t6] .sh{background:linear-gradient(90deg,var(--pc) 45%,rgba(255,255,255,0));color:#fff;margin-left:-18mm;padding:2px 12px 2px 18mm;border-radius:0 20px 20px 0;width:100%}
.pp.proj[data-t=t6] .fp{border:3px solid var(--pc);padding-top:0}
.pp.proj[data-t=t6] .fp>div:first-child{background:var(--pc);color:#fff;margin:0 -10mm;padding:9mm 10mm}
.pp[data-t=t7] .sh{position:relative;padding-left:24px;color:var(--pc);border-bottom:1px dotted var(--pc)}
.pp[data-t=t7] .sh::before{content:"";position:absolute;left:2px;top:7px;width:12px;height:12px;border-radius:50%;background:var(--pc);box-shadow:0 0 0 4px var(--pl)}
.pp[data-t=t7] .hd{border-left:9px solid var(--pc);padding-left:12px}
.pp[data-t=t7] .hd h2{text-decoration:none;text-align:left;color:var(--pc)}
.pp[data-t=t7] .hd h1{color:var(--pc)}
.pp.proj[data-t=t7] .fp{border:4px dashed var(--pc);border-radius:26px}
.pp.proj[data-t=t7] .tp{color:var(--pc)}
.pp[data-t=t8] .hd{background:linear-gradient(135deg,var(--pc),var(--pd));color:#fff;padding:8mm 10mm;border-radius:0 0 34px 0;margin:-16mm -18mm 14px}
.pp[data-t=t8] .hd h2{text-decoration:none;text-align:left}
.pp[data-t=t8] .sh{color:var(--pd);border-bottom:1px solid var(--pc)}
.pp[data-t=t8] table.t th{background:var(--pd);color:#fff}
.pp.bio[data-t=t8] .sym{color:#fff}
.pp.proj[data-t=t8] .fp{border:0;background:linear-gradient(160deg,var(--pc),var(--pd));color:#fff}
.pp[data-t=t9]{background:var(--pl)}
.pp[data-t=t9] .hd{background:#fff;border-radius:12px;padding:10px 14px;box-shadow:0 1px 5px rgba(0,0,0,.27);border-left:9px solid var(--pc)}
.pp[data-t=t9] .sh{background:#fff;border-radius:8px 8px 0 0;padding:5px 12px;border-top:4px solid var(--pc);box-shadow:0 1px 3px rgba(0,0,0,.2);margin-bottom:0;display:inline-block}
.pp[data-t=t9] table.t,.pp[data-t=t9] table.k{background:#fff;border-radius:8px;box-shadow:0 1px 4px rgba(0,0,0,.2)}
.pp[data-t=t9] table.k td{padding:4px 10px}
.pp.proj[data-t=t9] .fp{background:#fff;border:0;border-radius:22px;margin:6mm;box-shadow:0 0 0 10px var(--pl),0 0 0 13px var(--pc)}
.pp[data-t=t10]{--ff:"Courier New",monospace;--fzk:.93}
.pp[data-t=t10] .sh{color:var(--pd);border-bottom:2px dashed var(--pd)}
.pp[data-t=t10] .sh::before{content:"# "}
.pp[data-t=t10] table.t td,.pp[data-t=t10] table.t th{border:1px dashed #000}
.pp[data-t=t10] .hd h2{text-decoration:none;border:2px dashed #000;padding:6px}
.pp[data-t=t10] .hd h2::before{content:"[ "}
.pp[data-t=t10] .hd h2::after{content:" ]"}
.pp.bio[data-t=t10]{border:2px dashed #000}
.pp.proj[data-t=t10] .fp{border:3px dashed #000}
.pp[data-t=t11]{--ff:Arial,Helvetica,sans-serif;--fzk:.93}
.pp[data-t=t11] .hd{border-bottom:9px solid var(--pc);padding-bottom:8px}
.pp[data-t=t11] .hd h1,.pp[data-t=t11] .hd h2{font-size:40px;font-weight:900;line-height:1;color:var(--pc);text-align:left;text-decoration:none}
.pp[data-t=t11] .sh{color:#fff;background:#111;display:inline-block;padding:2px 14px;transform:skew(-10deg)}
.pp[data-t=t11] table.t th{background:#111;color:#fff}
.pp.proj[data-t=t11] .fp{border:0;border-top:18mm solid var(--pc);border-bottom:18mm solid var(--pc)}
.pp.proj[data-t=t11] .big{font-weight:900;font-size:34px!important}
.pp.proj[data-t=t11] .tp{color:var(--pc)}
.pp[data-t=t12]{background:var(--pl);--ff:"Trebuchet MS",Verdana,sans-serif;--fzk:.93}
.pp[data-t=t12] .hd{background:#fff;border-radius:20px;padding:12px 18px;box-shadow:0 0 0 3px var(--pc)}
.pp[data-t=t12] .hd h1,.pp[data-t=t12] .hd h2{color:var(--pd);text-decoration:none}
.pp[data-t=t12] .sh{background:#fff;color:var(--pd);border-radius:20px;padding:2px 14px;display:inline-block;box-shadow:0 0 0 2px var(--pc)}
.pp[data-t=t12] table.t{background:#fff}
.pp[data-t=t12] .ph{border-radius:50%;width:30mm;height:30mm;border:3px solid var(--pc)}
.pp.proj[data-t=t12] .fp{border:6px solid var(--pc);border-radius:32px;background:#fff;margin:4mm}

/* ===== v3 skins t13..t37 ===== */
/* 13 Sidebar Edge */
.pp[data-t=t13]{background:linear-gradient(90deg,var(--pc) 0,var(--pc) 15mm,#fff 15mm);padding-left:30mm}
.pp[data-t=t13] .hd{border-bottom:2px solid var(--pc);padding-bottom:9px}
.pp[data-t=t13] .ht h1{font-size:32px;color:var(--pd);letter-spacing:1px}
.pp[data-t=t13] .ht h2{color:var(--pc)}
.pp[data-t=t13] .sh{position:relative;color:var(--pd);font-size:13px;letter-spacing:2px;border-bottom:1px solid var(--pm);padding-bottom:3px}
.pp[data-t=t13] .sh::before{content:"";position:absolute;left:-30mm;top:7px;width:15mm;height:4px;background:#fff}
.pp[data-t=t13] table.t th{background:var(--pl)}
.pp.proj[data-t=t13]{padding-left:30mm}
.pp.proj[data-t=t13] .fp{text-align:left;justify-content:space-around;padding-left:2mm}
.pp.proj[data-t=t13] .tp{color:var(--pc);font-size:30px;border-left:6px solid var(--pc);padding-left:12px}
.pp.proj[data-t=t13] .sb{border-top:2px solid var(--pc);padding-top:10px}
/* 14 Dark Header */
.pp[data-t=t14] .hd{background:var(--pk);color:#fff;margin:-16mm -18mm 14px;padding:11mm 18mm}
.pp[data-t=t14] .ht h1{color:#fff;font-size:32px}
.pp[data-t=t14] .ht h2,.pp[data-t=t14] .ct{color:var(--pm)}
.pp[data-t=t14] .sh{color:var(--pd);border-left:5px solid var(--pc);padding:3px 9px;background:var(--pl)}
.pp[data-t=t14] table.t th{background:var(--pk);color:#fff}
.pp.proj[data-t=t14]{padding:0}
.pp.proj[data-t=t14] .fp{padding:0 0 12mm}
.pp.proj[data-t=t14] .fh{background:var(--pk);color:#fff;padding:14mm 12mm}
.pp.proj[data-t=t14] .s2{color:var(--pm)}
.pp.proj[data-t=t14] .tp{color:var(--pd);border-top:4px solid var(--pc);border-bottom:4px solid var(--pc);padding:12px}
.pp.proj[data-t=t14] .sb{padding:0 14mm}
/* 15 Minimal Mono */
.pp[data-t=t15]{--fzk:.95;line-height:1.65;--ff:"Helvetica Neue",Helvetica,Arial,sans-serif}
.pp[data-t=t15] .hd{border-bottom:1px solid #bbb;padding-bottom:12px}
.pp[data-t=t15] .ht h1{font-weight:300;font-size:36px;letter-spacing:-1px;color:#111}
.pp[data-t=t15] .ht h2{color:var(--pc);font-family:"Courier New",monospace}
.pp[data-t=t15] .sh{font-family:"Courier New",monospace;font-size:11px;letter-spacing:3px;color:#777;font-weight:400;margin-top:18px}
.pp[data-t=t15] .sh::before{content:"/ ";color:var(--pc);font-weight:700}
.pp[data-t=t15] table.t td,.pp[data-t=t15] table.t th{border:0;border-bottom:1px solid #ddd}
.pp[data-t=t15] table.t th{color:#777;font-weight:400;text-align:left;font-size:12px}
.pp.proj[data-t=t15] .fp{text-align:left;justify-content:space-between;border-top:1px solid #111;border-bottom:1px solid #111;padding:12mm 4mm}
.pp.proj[data-t=t15] .big{font-weight:300;font-size:40px;text-transform:none;line-height:1.15}
.pp.proj[data-t=t15] .sn{font-size:15px;letter-spacing:4px;text-transform:uppercase;font-weight:400;color:var(--pc)}
.pp.proj[data-t=t15] .tp{font-size:42px;margin-top:20px}
/* 16 Stripe Top */
.pp[data-t=t16]{padding-top:28mm}
.pp[data-t=t16]::before{content:"";position:absolute;left:0;top:0;right:0;height:14mm;background:var(--pc)}
.pp[data-t=t16]::after{content:"";position:absolute;left:0;bottom:0;right:0;height:7mm;background:var(--pd)}
.pp[data-t=t16] .hd{text-align:center;flex-direction:column;gap:6px}
.pp[data-t=t16] .ht{text-align:center}
.pp[data-t=t16] .ht h1{color:var(--pc);letter-spacing:2px;font-size:32px}
.pp[data-t=t16] .sh{color:var(--pc);border-bottom:2px solid var(--pc);padding-bottom:2px}
.pp[data-t=t16] table.t th{background:var(--pc);color:#fff}
.pp.proj[data-t=t16]{padding:22mm 12mm}
.pp.proj[data-t=t16] .fp{min-height:100px}
.pp.proj[data-t=t16] .tp{color:var(--pc);border-top:3px solid var(--pc);border-bottom:3px solid var(--pc);padding:10px 0}
/* 17 Royal Frame */
.pp[data-t=t17]{padding:22mm 26mm;--ff:Georgia,"Times New Roman",serif}
.pp[data-t=t17]::before{content:"";position:absolute;left:7mm;top:7mm;right:7mm;bottom:7mm;border:2px solid var(--pc)}
.pp[data-t=t17]::after{content:"";position:absolute;left:10mm;top:10mm;right:10mm;bottom:10mm;border:1px solid var(--pm)}
.pp[data-t=t17] .hd{flex-direction:column;border-bottom:1px solid var(--pc);padding-bottom:10px}
.pp[data-t=t17] .ht{text-align:center}
.pp[data-t=t17] .ht h1{letter-spacing:4px;color:var(--pd);font-size:28px;font-weight:400}
.pp[data-t=t17] .ht h2{color:var(--pc)}
.pp[data-t=t17] .ht h2::before,.pp[data-t=t17] .ht h2::after{content:" ✦ "}
.pp[data-t=t17] .sh{text-align:center;font-variant:small-caps;text-transform:none;color:var(--pc);font-size:17px;letter-spacing:2px}
.pp[data-t=t17] .sh::before,.pp[data-t=t17] .sh::after{content:" ✦ ";font-size:.7em}
.pp[data-t=t17] table.t th{background:var(--pl)}
.pp.proj[data-t=t17]{padding:10mm}
.pp.proj[data-t=t17] .fp{border:0;padding:20mm 16mm}
.pp.proj[data-t=t17] .big{font-weight:400;letter-spacing:3px}
.pp.proj[data-t=t17] .tp{color:var(--pc);font-style:italic;text-transform:none;font-size:30px}
/* 18 Mint Soft */
.pp[data-t=t18]{background:var(--pl)}
.pp[data-t=t18] .hd{background:#fff;border-radius:18px;padding:14px 20px;border:2px solid var(--pm)}
.pp[data-t=t18] .ht h1{color:var(--pd)}
.pp[data-t=t18] .ht h2{color:var(--pc)}
.pp[data-t=t18] .sc{background:#fff;border-radius:14px;padding:4px 16px 10px;margin:12px 0}
.pp[data-t=t18] .sh{color:var(--pd);margin:8px 0 6px;position:relative;padding-left:20px}
.pp[data-t=t18] .sh::before{content:"";position:absolute;left:0;top:5px;width:11px;height:11px;border-radius:50%;background:var(--pc)}
.pp[data-t=t18] table.t th{background:var(--pl)}
.pp[data-t=t18] .ph{border-radius:16px}
.pp.proj[data-t=t18] .fp{background:#fff;border-radius:26px;border:3px solid var(--pm)}
.pp.proj[data-t=t18] .tp{background:var(--pl);color:var(--pd);border-radius:18px;padding:14px}
/* 19 Corporate Grid */
.pp[data-t=t19] .hd{background:var(--pc);color:#fff;margin:-16mm -18mm 0;padding:10mm 18mm;border-bottom:5px solid var(--pd)}
.pp[data-t=t19] .ht h1{color:#fff}
.pp[data-t=t19] .ht h2,.pp[data-t=t19] .ct{color:var(--pm)}
.pp[data-t=t19] .sc{border:1px solid #bbb;margin:12px 0 0}
.pp[data-t=t19] .sh{margin:0;background:var(--pl);color:var(--pd);border-bottom:1px solid #bbb;padding:3px 10px;font-size:12px;letter-spacing:1.5px}
.pp[data-t=t19] .sb2{padding:6px 10px}
.pp[data-t=t19] table.t th{background:var(--pc);color:#fff}
.pp[data-t=t19] table.t td,.pp[data-t=t19] table.t th{border-color:#999}
.pp[data-t=t19] .wm{margin-top:14px}
.pp.proj[data-t=t19] .fp{border:1px solid #888}
.pp.proj[data-t=t19] .fh{background:var(--pc);color:#fff;margin:-14mm -12mm 0;padding:12mm}
.pp.proj[data-t=t19] .s2{color:var(--pm)}
.pp.proj[data-t=t19] .tp{border:1px solid #888;background:var(--pl);color:var(--pd);padding:14px}
.pp.proj[data-t=t19] .sb{border:1px solid #888;padding:10px}
/* 20 Bold Block */
.pp[data-t=t20]{--ff:"Arial Black",Arial,Helvetica,sans-serif;--fzk:.9}
.pp[data-t=t20] .hd{background:var(--pc);color:#fff;padding:9mm 9mm;margin:0 3mm 18px 0;box-shadow:6px 6px 0 var(--pk)}
.pp[data-t=t20] .ht h1{color:#fff;font-size:34px;font-weight:900}
.pp[data-t=t20] .ht h2{color:var(--pm)}
.pp[data-t=t20] .sh{font-size:14px;font-weight:900;display:inline-block;border-bottom:5px solid var(--pc);margin-bottom:6px}
.pp[data-t=t20] table.t th{background:var(--pk);color:#fff}
.pp[data-t=t20] table.k td:first-child{color:var(--pd)}
.pp.proj[data-t=t20] .fp{border:6px solid #111;box-shadow:8px 8px 0 var(--pc);margin:0 8px 8px 0}
.pp.proj[data-t=t20] .tp{background:var(--pc);color:#fff;padding:16px;box-shadow:6px 6px 0 #111;font-size:30px}
/* 21 Underline Pro */
.pp[data-t=t21] .hd{padding-bottom:12px;background:linear-gradient(var(--pc),var(--pc)) left bottom/28mm 4px no-repeat}
.pp[data-t=t21] .ht h1{font-size:34px;color:#111}
.pp[data-t=t21] .ht h2{color:var(--pc)}
.pp[data-t=t21] .sh{font-size:12px;letter-spacing:2px;color:#555;border-bottom:1px solid #ddd;padding-bottom:4px;background:linear-gradient(var(--pc),var(--pc)) left bottom/20mm 3px no-repeat}
.pp[data-t=t21] table.k td:first-child{color:#666;font-weight:600}
.pp[data-t=t21] table.t th{background:#f3f4f6}
.pp.proj[data-t=t21] .fp{text-align:left;justify-content:space-between;padding:14mm 4mm}
.pp.proj[data-t=t21] .tp{font-size:36px;color:#111;padding-bottom:14px;background:linear-gradient(var(--pc),var(--pc)) left bottom/30mm 5px no-repeat}
.pp.proj[data-t=t21] .sn{color:var(--pc)}
/* 22 Dotted Journal */
.pp[data-t=t22]{background:#fffdf6;--ff:"Trebuchet MS",Verdana,sans-serif;--fzk:.95}
.pp[data-t=t22] .hd{border:2px dotted var(--pc);border-radius:16px;padding:12px;flex-direction:column;text-align:center}
.pp[data-t=t22] .ht{text-align:center}
.pp[data-t=t22] .ht h1{color:var(--pd);font-size:28px}
.pp[data-t=t22] .ht h2{color:var(--pc)}
.pp[data-t=t22] .sh{color:var(--pc);border-bottom:2px dotted var(--pc);font-size:14px}
.pp[data-t=t22] .sh::before{content:"✿ "}
.pp[data-t=t22] table.k td{border-bottom:1px dotted #aaa}
.pp[data-t=t22] table.t td,.pp[data-t=t22] table.t th{border:1px dotted #777}
.pp[data-t=t22] .ph{border-radius:14px;border:2px dotted var(--pc);padding:2px}
.pp.proj[data-t=t22] .fp{border:3px dotted var(--pc);border-radius:26px;background:#fffdf6}
.pp.proj[data-t=t22] .tp{color:var(--pc)}
.pp.proj[data-t=t22] .s2::before,.pp.proj[data-t=t22] .s2::after{content:" ✿ "}
/* 23 Vintage Paper */
.pp[data-t=t23]{background:#f6edd6;--ff:Georgia,"Palatino Linotype",serif;padding:18mm 20mm}
.pp[data-t=t23] .hd{border-top:4px double var(--pd);border-bottom:4px double var(--pd);padding:10px 0;flex-direction:column}
.pp[data-t=t23] .ht{text-align:center}
.pp[data-t=t23] .ht h1{font-style:italic;font-weight:400;letter-spacing:2px;color:var(--pd);font-size:34px;text-transform:none}
.pp[data-t=t23] .ht h2{color:var(--pd)}
.pp[data-t=t23] .sh{text-align:center;text-transform:none;font-style:italic;font-size:19px;color:var(--pd);font-weight:400;margin-top:16px}
.pp[data-t=t23] .sh::after{content:"";display:block;width:40mm;margin:2px auto 0;border-bottom:1px solid var(--pd)}
.pp[data-t=t23] table.t td,.pp[data-t=t23] table.t th{border-color:#9c7f4e}
.pp[data-t=t23] table.t th{background:#e8d9b2}
.pp[data-t=t23] .ph{border:4px solid #fff;box-shadow:0 0 0 1px #9c7f4e}
.pp.proj[data-t=t23] .fp{border:6px double #7a5a2a;margin:2mm}
.pp.proj[data-t=t23] .big{font-weight:400;letter-spacing:2px;color:var(--pd)}
.pp.proj[data-t=t23] .tp{font-style:italic;text-transform:none;font-size:32px}
/* 24 Fresh Pop */
.pp[data-t=t24]{--ff:Verdana,Geneva,sans-serif;--fzk:.92}
.pp[data-t=t24]::before{content:"";position:absolute;right:-18mm;top:-18mm;width:62mm;height:62mm;border-radius:50%;background:var(--pm)}
.pp[data-t=t24]::after{content:"";position:absolute;left:-14mm;bottom:-14mm;width:46mm;height:46mm;border-radius:50%;background:var(--pl)}
.pp[data-t=t24] .hd,.pp[data-t=t24] .sc,.pp[data-t=t24] table.k{position:relative;z-index:1}
.pp[data-t=t24] .ht h1{font-size:36px;font-weight:800;color:#111;display:inline-block;background:linear-gradient(rgba(255,255,255,0) 60%,var(--pm) 60%)}
.pp[data-t=t24] .ht h2{color:var(--pc)}
.pp[data-t=t24] .sh{display:inline-block;background:var(--pc);color:#fff;border-radius:6px 20px 6px 20px;padding:3px 16px}
.pp[data-t=t24] table.t th{background:var(--pc);color:#fff}
.pp[data-t=t24] table.t tr:nth-child(even) td{background:var(--pl)}
.pp[data-t=t24] .ph{border-radius:50%;width:34mm;height:34mm;border:4px solid var(--pc)}
.pp.proj[data-t=t24] .fp{z-index:1}
.pp.proj[data-t=t24] .tp{color:#111;font-size:32px;display:inline-block;align-self:center;line-height:1.3;padding:0 8px;background:linear-gradient(rgba(255,255,255,0) 66%,var(--pm) 66%)}
.pp.proj[data-t=t24] .sn{color:var(--pc)}
/* 25 Split Header */
.pp[data-t=t25] .hd{margin:-16mm -18mm 14px;padding:12mm 18mm;min-height:42mm;color:#fff;background:linear-gradient(90deg,var(--pc) 0,var(--pc) 68%,var(--pm) 68%,var(--pm) 100%)}
.pp[data-t=t25] .ht{padding-right:12mm}
.pp[data-t=t25] .ht h1{color:#fff;font-size:30px}
.pp[data-t=t25] .ht h2,.pp[data-t=t25] .ct{color:var(--pl)}
.pp[data-t=t25] .ph{border:4px solid #fff}
.pp[data-t=t25] .sh{background:var(--pl);border-left:6px solid var(--pc);padding:3px 10px;color:var(--pd)}
.pp[data-t=t25] table.t th{background:var(--pc);color:#fff}
.pp.proj[data-t=t25]{padding:0}
.pp.proj[data-t=t25] .fp{padding:0 12mm 14mm;background:linear-gradient(90deg,#fff 0,#fff 68%,var(--pl) 68%,var(--pl) 100%)}
.pp.proj[data-t=t25] .fh{margin:0 -12mm;padding:16mm 34% 16mm 12mm;background:linear-gradient(90deg,var(--pc) 0,var(--pc) 68%,var(--pm) 68%,var(--pm) 100%);color:#fff}
.pp.proj[data-t=t25] .s2{color:var(--pl)}
.pp.proj[data-t=t25] .tp{color:var(--pc)}
/* 26 Arch Header */
.pp[data-t=t26] .hd{margin:-16mm -18mm 16px;padding:12mm 18mm 20mm;background:var(--pc);color:#fff;border-radius:0 0 50% 50%/0 0 22mm 22mm;flex-direction:column;text-align:center}
.pp[data-t=t26] .ht{text-align:center}
.pp[data-t=t26] .ht h1{color:#fff}
.pp[data-t=t26] .ht h2,.pp[data-t=t26] .ct{color:var(--pl)}
.pp[data-t=t26] .ph{border:4px solid #fff;margin-top:8px}
.pp[data-t=t26] .sh{color:var(--pc);font-size:15px;border-bottom:1px solid var(--pm);position:relative;padding-left:18px}
.pp[data-t=t26] .sh::before{content:"";position:absolute;left:0;top:6px;width:10px;height:10px;border-radius:50%;background:var(--pc)}
.pp[data-t=t26] table.t th{background:var(--pl)}
.pp.proj[data-t=t26]{padding:0}
.pp.proj[data-t=t26] .fp{padding:0 12mm 14mm}
.pp.proj[data-t=t26] .fh{background:var(--pc);color:#fff;margin:0 -12mm;padding:16mm 12mm 22mm;border-radius:0 0 50% 50%/0 0 26mm 26mm}
.pp.proj[data-t=t26] .s2{color:var(--pl)}
.pp.proj[data-t=t26] .tp{color:var(--pc)}
/* 27 Gold Luxury */
.pp[data-t=t27]{background:#fffdf8;padding:22mm 26mm;--ff:"Palatino Linotype",Palatino,Georgia,serif}
.pp[data-t=t27]::before{content:"";position:absolute;left:6mm;top:6mm;right:6mm;bottom:6mm;border:3px solid #1c1c1c}
.pp[data-t=t27]::after{content:"";position:absolute;left:9mm;top:9mm;right:9mm;bottom:9mm;border:1px solid #b8923b}
.pp[data-t=t27] .hd{flex-direction:column;border-bottom:3px double #b8923b;padding-bottom:12px}
.pp[data-t=t27] .ht{text-align:center}
.pp[data-t=t27] .ht h1{letter-spacing:6px;font-size:28px;color:#1c1c1c;font-weight:400}
.pp[data-t=t27] .ht h2{color:#b8923b}
.pp[data-t=t27] .sh{text-align:center;letter-spacing:4px;font-size:12.5px;color:var(--pc);border-top:1px solid #b8923b;border-bottom:1px solid #b8923b;padding:3px 0}
.pp[data-t=t27] table.t th{background:#1c1c1c;color:#e3c273}
.pp[data-t=t27] table.t td,.pp[data-t=t27] table.t th{border-color:#b8923b}
.pp.proj[data-t=t27]{padding:10mm}
.pp.proj[data-t=t27] .fp{padding:22mm 16mm}
.pp.proj[data-t=t27] .big{font-weight:400;letter-spacing:5px;color:#1c1c1c}
.pp.proj[data-t=t27] .tp{color:var(--pc);border-top:1px solid #b8923b;border-bottom:1px solid #b8923b;padding:14px 0;font-size:28px}
.pp.proj[data-t=t27] .s2{color:#b8923b;letter-spacing:4px}
/* 28 Tech Terminal */
.pp[data-t=t28]{background:#fafbfc}
.pp[data-t=t28] .hd{background:#10151d;color:#e5e9f0;margin:-16mm -18mm 14px;padding:17mm 18mm 9mm}
.pp[data-t=t28] .hd::before{content:"";position:absolute;left:18mm;top:6mm;width:10px;height:10px;border-radius:50%;background:#ff5f56;box-shadow:16px 0 0 #ffbd2e,32px 0 0 #27c93f}
.pp[data-t=t28] .ht h1{color:#fff;font-family:"Courier New",monospace;font-size:28px}
.pp[data-t=t28] .ht h2{color:var(--pm);font-family:"Courier New",monospace}
.pp[data-t=t28] .ht h2::before{content:"$ "}
.pp[data-t=t28] .ct{color:var(--pm);font-family:"Courier New",monospace}
.pp[data-t=t28] .sh{font-family:"Courier New",monospace;color:var(--pc);text-transform:none;font-size:15px}
.pp[data-t=t28] .sh::before{content:"// "}
.pp[data-t=t28] table.t th{background:#10151d;color:#fff;font-family:"Courier New",monospace}
.pp.proj[data-t=t28]{padding:0}
.pp.proj[data-t=t28] .fp{padding:0 12mm 14mm;font-family:"Courier New",monospace;background:#fafbfc}
.pp.proj[data-t=t28] .fh{background:#10151d;color:#fff;margin:0 -12mm;padding:20mm 12mm 12mm}
.pp.proj[data-t=t28] .fh::before{content:"";position:absolute;left:12mm;top:7mm;width:10px;height:10px;border-radius:50%;background:#ff5f56;box-shadow:16px 0 0 #ffbd2e,32px 0 0 #27c93f}
.pp.proj[data-t=t28] .tp{color:var(--pc);text-align:left;font-size:28px}
.pp.proj[data-t=t28] .tp::before{content:"> "}
.pp.proj[data-t=t28] .s2{color:var(--pm)}
/* 29 Corner Fold */
.pp[data-t=t29]::before{content:"";position:absolute;left:0;top:0;border-top:36mm solid var(--pc);border-right:36mm solid rgba(255,255,255,0)}
.pp[data-t=t29]::after{content:"";position:absolute;right:0;bottom:0;border-bottom:20mm solid var(--pm);border-left:20mm solid rgba(255,255,255,0)}
.pp[data-t=t29] .hd{padding-left:14mm;padding-top:4mm}
.pp[data-t=t29] .ht h1{color:var(--pd)}
.pp[data-t=t29] .ht h2{color:var(--pc)}
.pp[data-t=t29] .sh{color:var(--pd);border-bottom:1px solid var(--pm)}
.pp[data-t=t29] .sh::before{content:"■ ";color:var(--pc);font-size:.8em}
.pp[data-t=t29] table.t th{background:var(--pl)}
.pp.proj[data-t=t29] .fp{text-align:left;justify-content:space-around;padding:18mm 8mm 14mm 14mm}
.pp.proj[data-t=t29] .tp{color:var(--pc);font-size:32px}
/* 30 Wave Header */
.pp[data-t=t30] .hd{margin:-16mm -18mm 16px;padding:12mm 18mm 22mm;background:var(--pc);color:#fff;overflow:hidden}
.pp[data-t=t30] .hd::before{content:"";position:absolute;left:-10%;right:-10%;bottom:-9mm;height:17mm;background:var(--pm);border-radius:50%}
.pp[data-t=t30] .hd::after{content:"";position:absolute;left:-25%;right:-5%;bottom:-12mm;height:17mm;background:#fff;border-radius:50%}
.pp[data-t=t30] .ht,.pp[data-t=t30] .ph{position:relative;z-index:1}
.pp[data-t=t30] .ht h1{color:#fff}
.pp[data-t=t30] .ht h2,.pp[data-t=t30] .ct{color:var(--pl)}
.pp[data-t=t30] .ph{border:4px solid #fff}
.pp[data-t=t30] .sh{color:var(--pc);border-bottom:3px double var(--pm)}
.pp[data-t=t30] table.t th{background:var(--pl)}
.pp.proj[data-t=t30]{padding:0}
.pp.proj[data-t=t30] .fp{padding:0 12mm 14mm}
.pp.proj[data-t=t30] .fh{background:var(--pc);color:#fff;margin:0 -12mm;padding:16mm 12mm 28mm;overflow:hidden;position:relative}
.pp.proj[data-t=t30] .fh::before{content:"";position:absolute;left:-10%;right:-10%;bottom:-11mm;height:20mm;background:var(--pm);border-radius:50%}
.pp.proj[data-t=t30] .fh::after{content:"";position:absolute;left:-25%;right:-5%;bottom:-14mm;height:20mm;background:#fff;border-radius:50%}
.pp.proj[data-t=t30] .fh>*{position:relative;z-index:1}
.pp.proj[data-t=t30] .s2{color:var(--pl)}
.pp.proj[data-t=t30] .tp{color:var(--pc)}
/* 31 Ribbon Tags */
.pp[data-t=t31] .hd{border-bottom:3px solid var(--pc);padding-bottom:8px}
.pp[data-t=t31] .ht h1{color:var(--pd)}
.pp[data-t=t31] .ht h2{color:var(--pc)}
.pp[data-t=t31] .sh{display:inline-block;background:var(--pc);color:#fff;height:26px;line-height:26px;padding:0 8px 0 14px;position:relative;margin-right:14px;font-size:13px}
.pp[data-t=t31] .sh::after{content:"";position:absolute;right:-13px;top:0;border-left:13px solid var(--pc);border-top:13px solid rgba(255,255,255,0);border-bottom:13px solid rgba(255,255,255,0)}
.pp[data-t=t31] .sb2{margin-top:2px}
.pp[data-t=t31] table.t th{background:var(--pl)}
.pp.proj[data-t=t31] .fp{border:3px solid var(--pc)}
.pp.proj[data-t=t31] .tp{background:var(--pc);color:#fff;padding:14px 20px;font-size:26px}
.pp.proj[data-t=t31] .sn{color:var(--pd)}
/* 32 Soft Cards */
.pp[data-t=t32]{background:#eef0f5}
.pp[data-t=t32] .hd{background:#fff;border-radius:14px;padding:14px 18px;box-shadow:0 2px 8px rgba(0,0,0,.14);border-left:7px solid var(--pc)}
.pp[data-t=t32] .ht h1{color:#222}
.pp[data-t=t32] .ht h2{color:var(--pc)}
.pp[data-t=t32] .sc{background:#fff;border-radius:12px;padding:4px 16px 10px;margin:12px 0;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.pp[data-t=t32] .sh{color:var(--pc);margin:8px 0 6px;font-size:13px;letter-spacing:1px}
.pp[data-t=t32] table.t th{background:var(--pl)}
.pp.proj[data-t=t32] .fp{background:#fff;border-radius:20px;box-shadow:0 2px 10px rgba(0,0,0,.18);border-left:12px solid var(--pc);margin:6mm}
.pp.proj[data-t=t32] .tp{color:var(--pc)}
/* 33 Newspaper */
.pp[data-t=t33]{--ff:Georgia,"Times New Roman",serif;--fzk:.96}
.pp[data-t=t33] .hd{border-top:6px double #111;border-bottom:2px solid #111;padding:8px 0;flex-direction:column;text-align:center}
.pp[data-t=t33] .ht{text-align:center}
.pp[data-t=t33] .ht h1{font-size:44px;letter-spacing:-1px;text-transform:none;color:#111;line-height:1.05}
.pp[data-t=t33] .ht h2{color:var(--pc);border-bottom:1px solid #111;display:inline-block;padding:0 10px}
.pp[data-t=t33] .ct{border-top:1px solid #111;margin-top:6px;padding-top:3px;font-style:italic}
.pp[data-t=t33] .sh{text-align:center;font-size:12px;letter-spacing:3px;border-top:1px solid #111;border-bottom:1px solid #111;padding:2px;color:var(--pc)}
.pp[data-t=t33] table.t th{background:#e9e9e9}
.pp[data-t=t33] table.k td:first-child{font-variant:small-caps}
.pp.proj[data-t=t33] .fp{border-top:6px double #111;border-bottom:6px double #111}
.pp.proj[data-t=t33] .big{text-transform:none;font-size:34px;letter-spacing:-.5px;color:#111}
.pp.proj[data-t=t33] .tp{border-top:1px solid #111;border-bottom:1px solid #111;padding:12px 0;font-size:34px}
.pp.proj[data-t=t33] .s2{font-style:italic;color:var(--pc)}
/* 34 Chalkboard */
.pp[data-t=t34]{--ff:"Trebuchet MS",Verdana,sans-serif;background:#f3ead8}
.pp[data-t=t34]::before{content:"";position:absolute;left:0;top:0;right:0;bottom:0;border:5mm solid #c9a26a}
.pp[data-t=t34] .hd{background:var(--pk);color:#f4f4ef;border:5px solid #8a5a2b;border-radius:6px;padding:10px 16px}
.pp[data-t=t34] .ht h1{color:#f4f4ef}
.pp[data-t=t34] .ht h2,.pp[data-t=t34] .ct{color:var(--pm)}
.pp[data-t=t34] .sh{color:var(--pd);border-bottom:2px dashed var(--pc)}
.pp[data-t=t34] .sh::before{content:"✎ "}
.pp[data-t=t34] table.t th{background:var(--pk);color:#f4f4ef}
.pp[data-t=t34] .ph{border:4px solid #8a5a2b}
.pp.proj[data-t=t34]{padding:10mm}
.pp.proj[data-t=t34] .fp{background:var(--pk);color:#f4f4ef;border:8mm solid #8a5a2b;border-radius:4px;margin:0;box-shadow:inset 0 0 0 3px rgba(255,255,255,.18)}
.pp.proj[data-t=t34] .s2{color:var(--pm)}
.pp.proj[data-t=t34] .tp{border:2px dashed #f4f4ef;padding:14px}
/* 35 Sunset Gradient */
.pp[data-t=t35] .hd{margin:-16mm -18mm 16px;padding:12mm 18mm;background:linear-gradient(120deg,var(--pc),var(--pg));color:#fff}
.pp[data-t=t35] .ht h1{color:#fff}
.pp[data-t=t35] .ht h2,.pp[data-t=t35] .ct{color:#fff;opacity:.85}
.pp[data-t=t35] .ph{border:4px solid #fff}
.pp[data-t=t35] .sh{color:var(--pd);padding-bottom:4px;background:linear-gradient(90deg,var(--pc),var(--pg)) left bottom/100% 3px no-repeat}
.pp[data-t=t35] table.t th{background:linear-gradient(90deg,var(--pc),var(--pg));color:#fff}
.pp.proj[data-t=t35]{padding:0}
.pp.proj[data-t=t35] .fp{background:linear-gradient(160deg,var(--pc),var(--pg));color:#fff;padding:16mm 14mm}
.pp.proj[data-t=t35] .tp{background:rgba(255,255,255,.18);padding:16px;border-radius:12px;border:2px solid rgba(255,255,255,.6)}
/* 36 Geometric */
.pp[data-t=t36] .hd{margin:-16mm -18mm 16px;padding:11mm 18mm;background:var(--pc);color:#fff;border-bottom:6px solid var(--pd);overflow:hidden}
.pp[data-t=t36] .hd::before{content:"";position:absolute;right:0;top:0;border-top:48mm solid var(--pd);border-left:48mm solid rgba(255,255,255,0)}
.pp[data-t=t36] .ht,.pp[data-t=t36] .ph{position:relative;z-index:1}
.pp[data-t=t36] .ht h1{color:#fff}
.pp[data-t=t36] .ht h2,.pp[data-t=t36] .ct{color:var(--pm)}
.pp[data-t=t36] .ph{border:4px solid #fff}
.pp[data-t=t36] .sh{padding-left:20px;position:relative;color:var(--pd)}
.pp[data-t=t36] .sh::before{content:"";position:absolute;left:3px;top:6px;width:9px;height:9px;background:var(--pc);transform:rotate(45deg)}
.pp[data-t=t36] table.k tr:nth-child(odd) td{background:var(--pl)}
.pp[data-t=t36] table.t th{background:var(--pd);color:#fff}
.pp.proj[data-t=t36]{padding:0}
.pp.proj[data-t=t36] .fp{padding:16mm 14mm;overflow:hidden}
.pp.proj[data-t=t36] .fp::before{content:"";position:absolute;left:0;top:0;border-top:70mm solid var(--pc);border-right:70mm solid rgba(255,255,255,0)}
.pp.proj[data-t=t36] .fp::after{content:"";position:absolute;right:0;bottom:0;border-bottom:42mm solid var(--pd);border-left:42mm solid rgba(255,255,255,0)}
.pp.proj[data-t=t36] .fp>div{position:relative;z-index:1}
.pp.proj[data-t=t36] .fh{margin-top:14mm}
.pp.proj[data-t=t36] .tp{color:var(--pc)}
.pp.proj[data-t=t36] .sb{margin-bottom:24mm}
/* 37 Crystal Clear */
.pp[data-t=t37]{padding:20mm 22mm}
.pp[data-t=t37]::before{content:"";position:absolute;left:6mm;top:6mm;right:6mm;bottom:6mm;border:1.5px solid var(--pc);border-radius:18px}
.pp[data-t=t37] .hd{border-bottom:1px solid var(--pm);padding-bottom:10px}
.pp[data-t=t37] .ht h1{color:var(--pd)}
.pp[data-t=t37] .ht h2{color:var(--pc)}
.pp[data-t=t37] .sh{text-transform:none;font-size:14.5px;color:var(--pd);display:flex;align-items:center}
.pp[data-t=t37] .n{display:inline-block;width:22px;height:22px;line-height:22px;border-radius:50%;background:var(--pc);color:#fff;text-align:center;font-size:12px;font-style:normal;margin-right:8px;flex:none}
.pp[data-t=t37] table.t th{background:var(--pl)}
.pp[data-t=t37] .ph{border-radius:14px}
.pp.proj[data-t=t37]{padding:10mm}
.pp.proj[data-t=t37] .fp{border:0;padding:18mm 14mm}
.pp.proj[data-t=t37] .tp{color:var(--pc);background:var(--pl);border-radius:16px;padding:16px}
.pp.proj[data-t=t37] .sn{color:var(--pd)}

/* ===== mini previews (cards) ===== */
.mini{position:relative;width:100%;aspect-ratio:210/297;overflow:hidden;background:#fff;pointer-events:none}
.mini .pp{position:absolute;left:0;top:0;transform-origin:0 0;width:794px;min-height:1123px}
/* ===== print: editor.js adds html.dm-printing and a .dm-print-host clone ===== */
@media print{
@page{size:A4;margin:0}
html.dm-printing,html.dm-printing body{background:#fff!important;margin:0!important;padding:0!important}
html.dm-printing body>*:not(.dm-print-host){display:none!important}
html.dm-printing .dm-print-host{display:block!important;position:static!important;width:210mm}
html.dm-printing .dm-print-host .pp{transform:none!important;box-shadow:none!important;margin:0!important;min-height:297mm}
}
