/* Card faces. Each card is 360 x 504 px. */
.k-card{width:360px;height:504px;box-sizing:border-box;border-radius:18px;position:relative;overflow:hidden;font-family:Archivo,Arial,sans-serif;color:#221d15;text-align:left;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.k-card *{box-sizing:border-box}
.k-in{height:100%;border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:9px}
.k-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.k-name{font-family:'Alfa Slab One',Georgia,serif;font-size:24px;line-height:1.02;overflow-wrap:anywhere}
.k-title{font-family:'Alfa Slab One',Georgia,serif;font-size:30px;line-height:1.02;overflow-wrap:anywhere}
.k-role,.k-tag{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#fff;padding:4px 8px;border-radius:3px;flex:none}
.k-tag{padding:1px 6px;letter-spacing:.04em;color:#fff}
.k-kind{font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.k-muted{font-size:13px;color:#7a6c50}
.k-quote{margin:0;font-family:'Special Elite','Courier New',monospace;font-size:15px;line-height:1.33;color:#4a4030}
.k-text{margin:0;font-size:15px;line-height:1.38}
.k-foot{margin-top:auto;display:flex;justify-content:space-between;gap:8px;border-top:1.5px solid;padding-top:7px;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.k-empty{display:flex;align-items:center;justify-content:center;font-family:'Special Elite',monospace;font-size:12px;color:rgba(34,29,21,.55)}

/* crook */
.k-crook{background:#e9d8ad;padding:14px}
.k-crook .k-in{border:2px solid #221d15}
.k-mug{position:relative;height:214px;border-radius:6px;overflow:hidden;background:#c8b37e;background-size:cover;background-position:center 25%;flex:none}
.k-chart{position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(34,29,21,.2) 0 1px,transparent 1px 16px)}
.k-mug.has-art .k-chart{background:repeating-linear-gradient(0deg,rgba(255,255,255,.22) 0 1px,transparent 1px 16px);mix-blend-mode:overlay}
.k-head{position:absolute;left:50%;bottom:56px;width:74px;height:74px;margin-left:-37px;border-radius:50%;background:#221d15}
.k-body{position:absolute;left:50%;bottom:0;width:166px;height:70px;margin-left:-83px;border-radius:83px 83px 0 0;background:#221d15}
.k-plate{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);background:#e9d8ad;color:#221d15;font-family:'Special Elite',monospace;font-size:12px;padding:3px 10px;border:1.5px solid #221d15;white-space:nowrap}
.k-ribbon{position:absolute;right:-38px;top:18px;transform:rotate(35deg);background:#9b2414;color:#f6e6b8;font-size:11px;font-weight:800;letter-spacing:.2em;padding:4px 42px}
.k-sks{display:flex;gap:6px;flex-wrap:wrap}
.k-sk{display:flex;align-items:center;gap:6px;color:#fff;border-radius:4px;padding:5px 9px;font-weight:800;font-size:13px}
.k-sk b{font-family:'Alfa Slab One',Georgia,serif;font-weight:400;font-size:18px;line-height:1}
.k-ab{background:rgba(34,29,21,.88);color:#f6e6b8;border-radius:6px;padding:8px 10px;display:flex;flex-direction:column;gap:2px;font-size:13px;line-height:1.3}
.k-ab b{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase}
.k-legend{background:linear-gradient(155deg,#f6e6b8 0%,#d9b45c 45%,#f3dfa6 70%,#c99a3e 100%)}
.k-legend .k-in{border-color:#3a2a0e;outline:1px solid #3a2a0e;outline-offset:-7px}
.k-legend .k-mug{background-color:#241b10}
.k-legend .k-head,.k-legend .k-body{background:#0b0805}
.k-hired{background:#d6cfc0}

/* complication */
.k-comp{background:#f1ece0;display:flex;flex-direction:column}
.k-hazard{height:28px;flex:none;background:repeating-linear-gradient(-45deg,#d33b22 0 18px,#221d15 18px 36px)}
.k-good .k-hazard{background:repeating-linear-gradient(-45deg,#3f9a78 0 18px,#221d15 18px 36px)}
.k-cin{flex:1;padding:14px 20px 14px;display:flex;flex-direction:column;gap:10px;min-height:0}
.k-comp .k-kind{color:#b8301b}
.k-good .k-kind{color:#2c7a52}
.k-pic{height:132px;border-radius:6px;background:#d9d1bd center/cover;flex:none}
.k-heat{display:flex;align-items:center;gap:14px;background:#221d15;color:#f1ece0;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;line-height:1.15}
.k-hv{font-family:'Alfa Slab One',Georgia,serif;font-size:40px;line-height:1;color:#ff6a3d;letter-spacing:0}

/* gear */
.k-gear{background:#dfe6ea;background-image:linear-gradient(rgba(47,95,174,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(47,95,174,.12) 1px,transparent 1px);background-size:18px 18px;padding:14px;color:#14284d}
.k-gear .k-in{border:2px solid #1f3f78;gap:10px}
.k-once{font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;border:1.5px solid #14284d;padding:3px 8px;border-radius:3px}
.k-blue{height:150px;border:1.5px dashed #2f5fae;border-radius:6px;background:center/cover;flex:none;color:#2f5fae}
.k-bonus{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600;line-height:1.3}
.k-bv{font-family:'Alfa Slab One',Georgia,serif;font-size:42px;line-height:1;color:#b88418;flex:none}

/* target */
.k-target{background:#16263a;background-image:linear-gradient(rgba(140,190,240,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(140,190,240,.09) 1px,transparent 1px);background-size:20px 20px;padding:14px;color:#e8e4da}
.k-target .k-in{border:2px solid #4a6c92;gap:8px}
.k-target .k-title{font-size:26px;color:#e9d8ad}
.k-banner{height:86px;border-radius:5px;background:center/cover;flex:none;border:1.5px solid #4a6c92}
.k-blurb{font-family:'Special Elite',monospace;font-size:12.5px;color:#9fb3c8;line-height:1.3}
.k-obs{display:flex;flex-direction:column;gap:5px}
.k-ob{display:grid;grid-template-columns:20px 1fr 28px 44px;align-items:center;gap:6px;border:1.5px solid #4a6c92;border-radius:5px;padding:4px 7px}
.k-ob.last{border-color:#e0b04a;background:rgba(224,176,74,.12)}
.k-on{font-family:'Special Elite',monospace;color:#9fb3c8;font-size:12px}
.k-onm{font-weight:600;font-size:13px;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.k-onm i{font-style:normal;color:#9fb3c8;font-size:11px}
.k-od{font-family:'Alfa Slab One',Georgia,serif;font-size:17px;text-align:right}
.k-ol{color:#e0b04a;font-weight:800;font-size:12px;text-align:right}
.k-tight .k-ob{padding:2px 7px}
.k-tight .k-banner{height:56px}
.k-target .k-foot{color:#e8e4da}

/* agenda */
.k-agenda{background:#1b1714;padding:14px;color:#f1ece0}
.k-agenda .k-in{border:2px dashed #ff8a3d;padding:16px;gap:12px}
.k-agenda .k-title{font-size:32px}
.k-rule{height:2px;width:64px;background:#ff8a3d}
.k-agenda .k-text{font-size:18px}
.k-round{width:120px;height:120px;border-radius:50%;background:center/cover;border:2px solid #ff8a3d;flex:none}
.k-afoot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#b8ad98}
.k-ab2{font-family:'Alfa Slab One',Georgia,serif;font-size:30px;color:#e0b04a;letter-spacing:0}
.k-agenda .k-foot{margin-top:6px;color:#b8ad98}

/* ---------- Full-art layout ---------- */
.f-card{padding:0;border-radius:18px;background:#e9d8ad;padding:9px;color:#f4efe4}
.f-art{position:relative;height:100%;border-radius:11px;overflow:hidden;background-size:cover!important;background-position:center top!important;display:flex;flex-direction:column}
.f-art::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(8,6,4,.55) 0%,rgba(8,6,4,0) 22%,rgba(8,6,4,0) 40%,rgba(8,6,4,.82) 66%,rgba(8,6,4,.94) 100%)}
.f-art>*{position:relative;z-index:1}
.f-ph{position:absolute!important;inset:0;z-index:0!important}
.f-ph .k-head{bottom:250px;width:110px;height:110px;margin-left:-55px;background:#221d15}
.f-ph .k-body{bottom:150px;width:230px;height:110px;margin-left:-115px;background:#221d15}
.f-top{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 12px 0}
.f-top.f-col{flex-direction:column;align-items:flex-start;gap:4px}
.f-top .k-name{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.7);font-size:25px}
.f-kind{color:#fff!important;background:rgba(10,8,6,.62);padding:4px 8px;border-radius:3px}
.f-low{margin-top:auto;padding:0 14px 11px;display:flex;flex-direction:column;gap:8px}
.f-low .k-title{color:#fff;font-size:28px;text-shadow:0 2px 10px rgba(0,0,0,.7)}
.f-low .k-quote{color:#e6dcc6;font-size:14px}
.f-low .k-text{color:#f4efe4;font-size:15px}
.f-low .k-foot{color:rgba(255,255,255,.75);padding-top:6px}
.f-plate{align-self:flex-start;background:#e9d8ad;color:#221d15;font-family:'Special Elite',monospace;font-size:12px;padding:2px 9px;border:1.5px solid #221d15}
.f-card .k-ab{background:rgba(233,216,173,.95);color:#221d15}
/* crook frames */
.f-legend{background:linear-gradient(155deg,#f6e6b8 0%,#d9b45c 45%,#f3dfa6 70%,#c99a3e 100%)}
.f-legend .f-art{box-shadow:inset 0 0 0 1.5px rgba(246,230,184,.7)}
.f-legend .k-ribbon{position:absolute;z-index:2}
.f-hired{background:#bdb5a6}
/* complication */
.f-comp{background:#d33b22}
.f-good{background:#3f9a78}
.f-comp .k-hazard{height:20px;flex:none}
.f-heat{position:absolute!important;right:12px;top:42px;display:flex;flex-direction:column;align-items:center;background:rgba(10,8,6,.78);border:2px solid #ff6a3d;border-radius:10px;padding:6px 12px;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#fff}
.f-heat .k-hv{font-size:38px}
/* gear */
.f-gear{background:#2f5fae}
.f-gear .k-once{border-color:#fff;color:#fff;background:rgba(10,8,6,.5)}
.f-gear .k-bonus{color:#f4efe4}
.f-gear .k-bv{color:#f3c55a}
/* target */
.f-target{background:#4a6c92}
.f-target .f-top .k-title{color:#fff;font-size:26px;text-shadow:0 2px 10px rgba(0,0,0,.8)}
.f-target .k-blurb{color:#cfdbe8}
.f-target .k-ob{background:rgba(10,16,26,.72);border-color:rgba(140,180,220,.55);color:#f4efe4}
.f-target .k-ob.last{border-color:#e0b04a;background:rgba(60,44,12,.8)}
.f-tight .k-ob{padding:2px 7px}
/* agenda */
.f-agenda{background:#1b1714;box-shadow:inset 0 0 0 2px #ff8a3d}
.f-agenda .f-low .k-text{font-size:17px}
.f-legend .f-top{padding-right:58px}
.f-good .k-hazard{background:repeating-linear-gradient(-45deg,#3f9a78 0 18px,#221d15 18px 36px)}
.f-good .f-heat{border-color:#6fcf9f}
.f-good .f-heat .k-hv{color:#8fe3b5}

/* picture fitting */
.f-img{position:absolute!important;inset:0;width:100%;height:100%;z-index:0!important;display:block}
.f-blur{position:absolute!important;inset:-20px;z-index:0!important;background-size:cover;background-position:center;filter:blur(18px) brightness(.55)}
.f-art::after{z-index:0}
.f-notext .f-top,.f-notext .f-low,.f-notext .f-heat,.f-notext .k-ribbon,.f-notext .f-ph{display:none}
.f-notext .f-art::after{display:none}
.f-whole{background:#0b0907;padding:0}

/* no mugshot: a warm lamp-lit backdrop behind the placeholder figure */
.k-scene{background:radial-gradient(ellipse at 50% 30%,#8a7046 0%,#3a2c1c 60%,#1c150e 100%)}
.k-scene .k-head,.k-scene .k-body,.f-ph .k-head,.f-ph .k-body{background:#0e0a07}
