:root{
  --lab-bg:#050505;
  --lab-panel:#111;
  --lab-panel-2:#171717;
  --lab-line:#2d2d2d;
  --lab-line-strong:#4b4b4b;
  --lab-text:#f2f2ed;
  --lab-muted:#aaa89f;
  --lab-yellow:#f1d52f;
  --lab-yellow-soft:#c7b227;
  --lab-red:#ff6b5f;
  --lab-green:#9bd46d;
  --lab-mono:"IBM Plex Mono","Roboto Mono","Courier New",monospace;
  --lab-sans:Inter,Arial,Helvetica,sans-serif;
}

body.page-card-lab{background:var(--lab-bg);color:var(--lab-text)}
.page-card-lab .content{max-width:none;padding:0}
.page-card-lab button,.page-card-lab input,.page-card-lab select,.page-card-lab textarea{font:inherit}
.page-card-lab button{cursor:pointer}
.lab-hero{border-bottom:1px solid var(--lab-line);background:#080808}
.lab-hero__inner{max-width:1500px;margin:0 auto;padding:72px 34px 52px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:42px;align-items:end}
.lab-eyebrow,.lab-kicker{display:block;font:700 12px/1.2 var(--lab-mono);letter-spacing:.13em;text-transform:uppercase;color:var(--lab-yellow)}
.lab-hero h1{max-width:920px;margin:14px 0 18px;font:800 clamp(36px,5vw,74px)/.95 var(--lab-sans);letter-spacing:-.045em}
.lab-hero p{max-width:850px;margin:0;color:var(--lab-muted);font:400 17px/1.7 var(--lab-sans)}
.lab-hero__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.lab-button,.lab-deck__tools button,.lab-file-button,.lab-editor-actions button,.lab-inline-button,.lab-condition-group__head button,.lab-print-dialog button{min-height:42px;padding:10px 14px;border:1px solid var(--lab-line-strong);border-radius:0;background:#111;color:var(--lab-text);font:700 12px/1.1 var(--lab-mono);letter-spacing:.04em;text-decoration:none;text-transform:uppercase}
.lab-button:hover,.lab-deck__tools button:hover,.lab-file-button:hover,.lab-editor-actions button:hover,.lab-inline-button:hover,.lab-condition-group__head button:hover,.lab-print-dialog button:hover{border-color:var(--lab-yellow);color:var(--lab-yellow)}
.lab-button--primary,.page-card-lab .is-primary{border-color:var(--lab-yellow)!important;background:var(--lab-yellow)!important;color:#080808!important}
.lab-button--primary:hover,.page-card-lab .is-primary:hover{background:#fff176!important;color:#080808!important}
.lab-hero__facts{display:grid;gap:1px;border:1px solid var(--lab-line);background:var(--lab-line)}
.lab-fact{padding:18px;background:#0d0d0d}
.lab-fact strong{display:block;margin-bottom:6px;font:700 13px/1.2 var(--lab-mono);text-transform:uppercase;color:var(--lab-text)}
.lab-fact span{display:block;color:var(--lab-muted);font:400 13px/1.55 var(--lab-sans)}
.lab-page{max-width:1500px;margin:0 auto;padding:30px 34px 72px}
.lab-disclaimer{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:18px;border:1px solid var(--lab-line);background:#0c0c0c;margin-bottom:20px}
.lab-disclaimer__mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--lab-yellow);color:var(--lab-yellow);font:800 22px var(--lab-mono)}
.lab-disclaimer strong{font:700 13px/1.3 var(--lab-mono);text-transform:uppercase}
.lab-disclaimer p{margin:5px 0 0;color:var(--lab-muted);font:400 14px/1.55 var(--lab-sans)}
.lab-shell{display:grid;gap:20px}
.lab-deck{border:1px solid var(--lab-line);background:#0b0b0b}
.lab-deck__head{display:grid;grid-template-columns:1fr minmax(230px,340px);gap:24px;padding:22px;border-bottom:1px solid var(--lab-line)}
.lab-deck__head h2{margin:7px 0 4px;font:800 29px/1 var(--lab-sans);letter-spacing:-.025em}
.lab-deck__head p{margin:0;color:var(--lab-muted);font:400 14px/1.55 var(--lab-sans)}
.lab-deck-name{align-self:end}
.lab-deck-name span,.lab-fields label>span,.lab-timeline label>span,.lab-print-dialog label>span{display:block;margin-bottom:7px;color:var(--lab-muted);font:700 11px/1.1 var(--lab-mono);letter-spacing:.04em;text-transform:uppercase}
.lab-deck-name input,.lab-fields input,.lab-fields select,.lab-timeline select,.lab-condition select,.lab-condition input,.lab-condition-group__head select,.lab-modifier-head input,.lab-mod-value,.lab-print-dialog select,.lab-print-dialog input[type=text]{width:100%;min-height:42px;border:1px solid var(--lab-line);border-radius:0;background:#090909;color:var(--lab-text);padding:9px 10px;outline:none;font:500 13px/1.25 var(--lab-mono)}
.lab-deck-name input:focus,.lab-fields input:focus,.lab-fields select:focus,.lab-timeline select:focus,.lab-condition select:focus,.lab-condition input:focus,.lab-condition-group__head select:focus,.lab-modifier-head input:focus,.lab-mod-value:focus,.lab-print-dialog select:focus{border-color:var(--lab-yellow)}
.lab-deck__tools{display:flex;flex-wrap:wrap;gap:8px;padding:13px 22px;border-bottom:1px solid var(--lab-line)}
.lab-file-button{display:inline-flex;align-items:center;justify-content:center}
.lab-deck__cards{display:grid;grid-template-columns:repeat(7,minmax(126px,1fr));gap:1px;background:var(--lab-line)}
.lab-deck-card{position:relative;min-height:120px;padding:15px;border:0;background:#101010;color:var(--lab-text);text-align:left;display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto auto;gap:6px 10px;align-content:start}
.lab-deck-card:hover{background:#151515}
.lab-deck-card.is-active{box-shadow:inset 0 -4px 0 var(--lab-yellow);background:#171717}
.lab-deck-card__slot{position:absolute;top:9px;right:10px;color:#777;font:700 10px var(--lab-mono)}
.lab-deck-card>strong{grid-row:1/4;display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--lab-yellow);color:var(--lab-yellow);font:800 23px var(--lab-mono)}
.lab-deck-card>span:not(.lab-deck-card__slot){font:700 13px/1.25 var(--lab-sans)}
.lab-deck-card small{grid-column:2;color:var(--lab-muted);font:500 10px/1.35 var(--lab-mono);text-transform:uppercase}
.lab-workspace{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(350px,.58fr);gap:20px;align-items:start}
.lab-editor{display:grid;gap:14px}
.lab-panel,.lab-preview-panel,.lab-analysis-panel{border:1px solid var(--lab-line);background:var(--lab-panel)}
.lab-panel>header{display:grid;grid-template-columns:48px 1fr;gap:14px;padding:18px 20px;border-bottom:1px solid var(--lab-line);background:#0d0d0d}
.lab-panel>header>span{display:grid;place-items:center;width:48px;height:34px;border:1px solid var(--lab-line-strong);color:var(--lab-yellow);font:800 12px var(--lab-mono)}
.lab-panel>header h3,.lab-analysis-panel h3{margin:0;font:800 20px/1.08 var(--lab-sans);letter-spacing:-.02em}
.lab-panel>header p{margin:6px 0 0;color:var(--lab-muted);font:400 13px/1.5 var(--lab-sans)}
.lab-panel>h4,.lab-modifier-head h4,.lab-generated h4{margin:0;padding:16px 20px 0;font:700 12px/1.2 var(--lab-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--lab-yellow)}
.lab-fields{display:grid;gap:13px;padding:18px 20px}
.lab-fields--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.lab-fields--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.lab-span-2{grid-column:span 2}.lab-span-3{grid-column:span 3}.lab-span-4{grid-column:1/-1}
.lab-inline-button{align-self:end}
.lab-condition-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--lab-line);border-top:1px solid var(--lab-line)}
.lab-condition-group{background:#111;padding:16px}
.lab-condition-group__head{display:grid;grid-template-columns:1fr 120px auto;gap:8px;align-items:center;margin-bottom:10px}
.lab-condition-group__head strong{font:700 12px var(--lab-mono);text-transform:uppercase}
.lab-condition-list{display:grid;gap:8px}
.lab-condition{display:grid;grid-template-columns:100px minmax(130px,1.5fr) 80px minmax(100px,1fr) 38px;gap:6px;align-items:center}
.lab-condition button{width:38px;height:42px;border:1px solid var(--lab-line);background:#090909;color:var(--lab-muted);font:700 18px var(--lab-mono)}
.lab-condition button:hover{border-color:var(--lab-red);color:var(--lab-red)}
.lab-empty-state{margin:0;padding:14px;border:1px dashed var(--lab-line);color:#777;font:500 12px/1.5 var(--lab-mono)}
.lab-timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--lab-line);border-top:1px solid var(--lab-line)}
.lab-timeline__phase{background:#111;padding:17px}
.lab-timeline__phase>strong{display:block;margin-bottom:13px;color:var(--lab-yellow);font:800 13px var(--lab-mono);text-transform:uppercase}
.lab-timeline label+label{display:block;margin-top:12px}
.lab-modifier-head{display:grid;grid-template-columns:1fr minmax(230px,340px);gap:16px;align-items:end;padding:0 20px 14px}
.lab-modifier-head h4{padding:16px 0 0}
.lab-modifier-groups{border-top:1px solid var(--lab-line)}
.lab-mod-group{border-bottom:1px solid var(--lab-line);background:#101010}
.lab-mod-group summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:13px 20px;color:var(--lab-text);font:700 12px var(--lab-mono);text-transform:uppercase}
.lab-mod-group summary::-webkit-details-marker{display:none}
.lab-mod-group summary span{color:var(--lab-yellow)}
.lab-mod-group>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--lab-line)}
.lab-modifier{display:grid;grid-template-columns:20px 1fr auto;gap:10px;align-items:center;padding:13px;background:#111;min-height:66px}
.lab-modifier:hover{background:#151515}
.lab-modifier>input[type=checkbox]{width:16px;height:16px;accent-color:var(--lab-yellow)}
.lab-modifier strong{display:block;font:700 12px/1.3 var(--lab-sans)}
.lab-modifier small{display:block;margin-top:4px;color:var(--lab-muted);font:400 11px/1.35 var(--lab-sans)}
.lab-mod-value{width:70px!important;min-height:36px!important;padding:6px!important}
.lab-editor-actions{display:flex;flex-wrap:wrap;gap:8px;padding:14px;border:1px solid var(--lab-line);background:#0d0d0d}
.lab-analysis{position:sticky;top:88px;display:grid;gap:14px}
.lab-preview-panel{padding:14px}
.lab-preview-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;color:var(--lab-muted);font:700 11px var(--lab-mono);text-transform:uppercase}
.lab-preview-head strong{color:var(--lab-yellow);font-size:16px}
.ball-card{position:relative;width:min(100%,360px);aspect-ratio:63/88;margin:0 auto;border:1px solid #5b5b55;background:#eee9d8;color:#111;overflow:hidden;font-family:var(--lab-sans)}
.ball-card__top{position:absolute;left:0;right:0;top:0;height:14%;display:flex;justify-content:space-between;align-items:center;padding:4% 5%;border-bottom:1px solid #111;background:#111;color:#fff}
.ball-card__type{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--lab-yellow);color:var(--lab-yellow);font:800 22px var(--lab-mono)}
.ball-card__cost{font:900 30px/1 var(--lab-sans);letter-spacing:-.04em}.ball-card__cost small{font:700 9px var(--lab-mono);letter-spacing:.08em}
.ball-card__title{position:absolute;left:5%;right:5%;top:17%;height:12%;border-bottom:1px solid #222}
.ball-card__title strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:900 18px/1.1 var(--lab-sans);letter-spacing:-.025em}
.ball-card__title span{display:block;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:700 8px/1.1 var(--lab-mono);text-transform:uppercase}
.ball-card__art{position:absolute;left:5%;right:5%;top:31%;height:18%;display:grid;align-content:center;border:1px solid #222;background:#d8d3c4;padding:4%}
.ball-card__art span{font:700 8px var(--lab-mono);text-transform:uppercase}.ball-card__art b{margin-top:4px;font:900 18px/1 var(--lab-sans);letter-spacing:-.03em;text-transform:uppercase}
.ball-card__rules{position:absolute;left:5%;right:5%;top:52%;bottom:10%;overflow:hidden;font:600 11px/1.33 var(--lab-sans);white-space:normal}
.ball-card.is-dense .ball-card__rules{font-size:9.5px;line-height:1.25}.ball-card.is-very-dense .ball-card__rules{font-size:8px;line-height:1.17}
.ball-card__foot{position:absolute;left:5%;right:5%;bottom:2.5%;height:5.5%;display:flex;justify-content:space-between;align-items:end;border-top:1px solid #222;padding-top:2%;font:700 7px var(--lab-mono);text-transform:uppercase}
.lab-analysis-panel{padding-bottom:16px}
.lab-analysis-panel>header{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:17px 18px;border-bottom:1px solid var(--lab-line);background:#0d0d0d}
.lab-validity{padding:7px 9px;border:1px solid var(--lab-line);font:700 10px var(--lab-mono);text-transform:uppercase}.lab-validity.is-ok{color:var(--lab-green);border-color:#456532}.lab-validity.is-error{color:var(--lab-red);border-color:#6c322d}
.lab-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--lab-line);border-bottom:1px solid var(--lab-line)}
.lab-metrics>div{padding:13px;background:#111}
.lab-metrics span{display:block;color:var(--lab-muted);font:700 9px/1.2 var(--lab-mono);text-transform:uppercase}.lab-metrics strong{display:block;margin-top:5px;font:800 15px/1.2 var(--lab-sans)}
.lab-dimensions{display:grid;gap:8px;padding:16px 18px;border-bottom:1px solid var(--lab-line)}
.lab-dimensions>div{display:grid;grid-template-columns:90px 1fr 34px;gap:8px;align-items:center;font:600 10px var(--lab-mono)}
.lab-dimensions i{display:block;height:5px;background:#2a2a2a;position:relative}.lab-dimensions i:after{content:"";position:absolute;inset:0 auto 0 0;width:var(--v);background:var(--lab-yellow)}
.lab-dimensions strong{text-align:right}
.lab-formula,.lab-generated,.lab-alert{margin:14px 18px 0;padding:13px;border:1px solid var(--lab-line);background:#0d0d0d}
.lab-formula code{display:block;color:var(--lab-yellow);font:700 10px/1.5 var(--lab-mono)}
.lab-formula p,.lab-generated p,.lab-alert p,.lab-alert li{color:var(--lab-muted);font:400 12px/1.55 var(--lab-sans)}
.lab-generated h4{padding:0;margin-bottom:8px}
.lab-generated p{margin:0;color:var(--lab-text)}
.lab-alert strong{font:700 11px var(--lab-mono);text-transform:uppercase}.lab-alert ul{margin:8px 0 0;padding-left:18px}.lab-alert.is-error{border-color:#6c322d}.lab-alert.is-error strong{color:var(--lab-red)}
.lab-method,.lab-official{margin-top:42px}.lab-section-head h2{margin:0;font:800 34px/1 var(--lab-sans);letter-spacing:-.03em}.lab-section-head p{max-width:900px;color:var(--lab-muted);font:400 15px/1.6 var(--lab-sans)}
.lab-method__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:18px;background:var(--lab-line);border:1px solid var(--lab-line)}
.lab-method-card{padding:20px;background:#0f0f0f}.lab-method-card strong{display:block;font:700 12px var(--lab-mono);text-transform:uppercase;color:var(--lab-yellow)}.lab-method-card code{display:block;margin:11px 0;color:var(--lab-text);font:700 12px var(--lab-mono)}.lab-method-card p{margin:0;color:var(--lab-muted);font:400 12px/1.55 var(--lab-sans)}
.lab-method__formula{margin-top:1px;padding:18px;border:1px solid var(--lab-line);background:#090909;color:var(--lab-yellow);font:700 12px/1.6 var(--lab-mono)}
.lab-footer-note{margin:30px 0 0;padding:17px;border-left:3px solid var(--lab-yellow);background:#0d0d0d;color:var(--lab-muted);font:400 13px/1.6 var(--lab-sans)}
.lab-print-dialog{max-width:460px;border:1px solid var(--lab-line-strong);border-radius:0;background:#101010;color:var(--lab-text);padding:0}.lab-print-dialog::backdrop{background:rgba(0,0,0,.78)}.lab-print-dialog form{display:grid;gap:14px;padding:22px}.lab-print-dialog h3{margin:0;font:800 24px var(--lab-sans)}.lab-print-dialog p{margin:0;color:var(--lab-muted);font:400 13px/1.55 var(--lab-sans)}.lab-print-dialog .lab-check{display:flex;gap:10px;align-items:center}.lab-print-dialog .lab-check span{margin:0}.lab-print-dialog form>div{display:flex;justify-content:flex-end;gap:8px}
.lab-toast{position:fixed;right:24px;bottom:24px;z-index:10000;max-width:360px;padding:13px 15px;border:1px solid var(--lab-yellow);background:#111;color:var(--lab-text);font:700 12px var(--lab-mono);opacity:0;transform:translateY(10px);transition:.2s}.lab-toast.is-on{opacity:1;transform:none}.lab-toast.is-error{border-color:var(--lab-red)}
.lab-print-stage{display:none}

@media (max-width:1200px){
  .lab-deck__cards{grid-template-columns:repeat(4,minmax(140px,1fr))}
  .lab-workspace{grid-template-columns:minmax(0,1fr) 360px}
  .lab-fields--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lab-span-3{grid-column:span 1}.lab-span-4{grid-column:1/-1}
  .lab-condition-groups{grid-template-columns:1fr}
  .lab-method__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .lab-hero__inner{grid-template-columns:1fr;padding:52px 22px 40px}.lab-page{padding:22px 18px 54px}
  .lab-workspace{grid-template-columns:1fr}.lab-analysis{position:static}.lab-deck__head{grid-template-columns:1fr}.lab-deck__cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lab-timeline{grid-template-columns:1fr}.lab-mod-group>div{grid-template-columns:1fr}.lab-method__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  .lab-hero h1{font-size:40px}.lab-hero p{font-size:15px}.lab-hero__actions{display:grid}.lab-button{text-align:center}
  .lab-deck__tools{display:grid;grid-template-columns:1fr 1fr;padding:12px}.lab-deck__cards{grid-template-columns:1fr}.lab-deck-card{min-height:88px}
  .lab-fields--2,.lab-fields--4{grid-template-columns:1fr}.lab-span-2,.lab-span-3{grid-column:auto}
  .lab-condition-group__head{grid-template-columns:1fr 110px}.lab-condition-group__head button{grid-column:1/-1}.lab-condition{grid-template-columns:1fr 1fr}.lab-condition>*:nth-child(2){grid-column:1/-1}.lab-condition button{width:100%}
  .lab-modifier-head{grid-template-columns:1fr}.lab-modifier{grid-template-columns:20px 1fr}.lab-mod-value{grid-column:2}.lab-editor-actions{display:grid;grid-template-columns:1fr 1fr}
  .lab-method__grid{grid-template-columns:1fr}.lab-metrics{grid-template-columns:1fr 1fr}.lab-section-head h2{font-size:28px}
}

@media print{
  html,body{background:#fff!important;color:#000!important}
  body>*:not(.lab-print-stage){display:none!important}
  body.lab-printing .lab-print-stage{display:block!important}
  .lab-print-stage{width:100%;margin:0;padding:0}
  .print-sheet{display:grid;grid-template-columns:repeat(3,63.5mm);grid-auto-rows:88.9mm;gap:4mm;justify-content:center;align-content:start;page-break-after:always;break-after:page}
  .print-sheet:last-child{page-break-after:auto;break-after:auto}
  .print-sheet .ball-card{width:63.5mm;height:88.9mm;aspect-ratio:auto;margin:0;break-inside:avoid;page-break-inside:avoid;border:.3mm solid #111}
  .print-sheet .ball-card__type{width:9mm;height:9mm;font-size:6mm}.print-sheet .ball-card__cost{font-size:8mm}.print-sheet .ball-card__cost small{font-size:2.2mm}
  .print-sheet .ball-card__title strong{font-size:4.4mm}.print-sheet .ball-card__title span{font-size:1.8mm}.print-sheet .ball-card__art span{font-size:1.8mm}.print-sheet .ball-card__art b{font-size:4.2mm}
  .print-sheet .ball-card__rules{font-size:2.55mm;line-height:1.28}.print-sheet .ball-card.is-dense .ball-card__rules{font-size:2.2mm}.print-sheet .ball-card.is-very-dense .ball-card__rules{font-size:1.85mm;line-height:1.15}.print-sheet .ball-card__foot{font-size:1.55mm}
  .ball-card-back{position:relative;width:63.5mm;height:88.9mm;border:.3mm solid #111;background:#080808;color:#f1d52f;display:grid;place-items:center;align-content:center;gap:4mm;break-inside:avoid;page-break-inside:avoid}
  .ball-card-back:before,.ball-card-back:after{content:"";position:absolute;inset:4mm;border:.4mm solid #f1d52f}.ball-card-back:after{inset:8mm;border-color:#4b4b4b}.ball-card-back strong{font:900 16mm/1 Arial,sans-serif;letter-spacing:-.08em}.ball-card-back span{max-width:42mm;text-align:center;font:700 2.4mm/1.5 "Courier New",monospace;letter-spacing:.1em}
  .has-crop .ball-card,.has-crop .ball-card-back{outline:.15mm solid transparent}
}

@media print{
  .print-sheet{gap:2mm}
  .print-card-wrap{position:relative;width:63.5mm;height:88.9mm;break-inside:avoid;page-break-inside:avoid}
  .print-card-wrap>.ball-card,.print-card-wrap>.ball-card-back{position:absolute;inset:0}
  .print-mark{display:none;position:absolute;width:1.5mm;height:1.5mm;z-index:20;pointer-events:none}
  .has-crop .print-mark{display:block}
  .print-mark:before,.print-mark:after{content:"";position:absolute;background:#000}
  .print-mark:before{width:1.5mm;height:.15mm}.print-mark:after{width:.15mm;height:1.5mm}
  .print-mark.tl{left:-1.5mm;top:-1.5mm}.print-mark.tl:before{left:0;bottom:0}.print-mark.tl:after{right:0;top:0}
  .print-mark.tr{right:-1.5mm;top:-1.5mm}.print-mark.tr:before{right:0;bottom:0}.print-mark.tr:after{left:0;top:0}
  .print-mark.bl{left:-1.5mm;bottom:-1.5mm}.print-mark.bl:before{left:0;top:0}.print-mark.bl:after{right:0;bottom:0}
  .print-mark.br{right:-1.5mm;bottom:-1.5mm}.print-mark.br:before{right:0;top:0}.print-mark.br:after{left:0;bottom:0}
  .print-sheet--backs{direction:rtl}.print-sheet--backs .print-card-wrap{direction:ltr}
}

.lab-deck-audit{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--lab-line);border-top:1px solid var(--lab-line)}
.lab-deck-audit>div{padding:13px 16px;background:#0d0d0d}
.lab-deck-audit span{display:block;color:var(--lab-muted);font:700 9px/1.2 var(--lab-mono);text-transform:uppercase}
.lab-deck-audit strong{display:block;margin-top:5px;font:800 16px/1.1 var(--lab-sans)}
.lab-deck-audit>p{grid-column:1/-1;margin:0;padding:12px 16px;border-top:1px solid #6d5f1b;background:#171507;color:#e8d96c;font:600 11px/1.45 var(--lab-mono)}
@media(max-width:700px){.lab-deck-audit{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{
  .print-sheet{column-gap:3mm;row-gap:2mm}
  .print-mark{width:1mm;height:1mm}
  .print-mark:before{width:1mm}.print-mark:after{height:1mm}
  .print-mark.tl{left:-1mm;top:-1mm}.print-mark.tr{right:-1mm;top:-1mm}.print-mark.bl{left:-1mm;bottom:-1mm}.print-mark.br{right:-1mm;bottom:-1mm}
}
.ball-card.is-ultra-dense .ball-card__rules{font-size:6.8px;line-height:1.1}
@media print{.print-sheet .ball-card.is-ultra-dense .ball-card__rules{font-size:1.55mm;line-height:1.08}}

/* V8 · guided rule wizard and duplex cards */
.wizard-shell{gap:14px}
.wizard-help{display:grid;grid-template-columns:1fr 1fr;gap:1px;border:1px solid var(--lab-line);background:var(--lab-line)}
.wizard-help>div{padding:16px 18px;background:#0d0d0d}
.wizard-help strong{display:block;color:var(--lab-yellow);font:800 11px/1.2 var(--lab-mono);text-transform:uppercase;letter-spacing:.06em}
.wizard-help p{margin:6px 0 0;color:var(--lab-muted);font:400 13px/1.5 var(--lab-sans)}
.wizard-steps{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;border:1px solid var(--lab-line);background:var(--lab-line)}
.wizard-steps button{min-height:78px;border:0;background:#0e0e0e;color:var(--lab-muted);padding:12px;text-align:left;display:grid;align-content:start;gap:7px}
.wizard-steps button:hover{background:#151515;color:var(--lab-text)}
.wizard-steps button span{font:800 10px var(--lab-mono);color:#777}
.wizard-steps button b{font:700 12px/1.25 var(--lab-sans)}
.wizard-steps button.is-active{background:#171717;box-shadow:inset 0 -4px 0 var(--lab-yellow);color:var(--lab-text)}
.wizard-steps button.is-active span,.wizard-steps button.is-done span{color:var(--lab-yellow)}
.wizard-workspace{grid-template-columns:minmax(0,1.25fr) minmax(370px,.75fr)}
.wizard-panel{min-height:480px}
.wizard-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--lab-line);border-bottom:1px solid var(--lab-line)}
.wizard-choice,.wizard-action{position:relative;background:#101010;padding:18px;cursor:pointer}
.wizard-choice:hover,.wizard-action:hover{background:#151515}
.wizard-choice input,.wizard-action input{position:absolute;opacity:0;pointer-events:none}
.wizard-choice b{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--lab-line-strong);font:800 18px var(--lab-mono);color:var(--lab-muted)}
.wizard-choice strong{display:block;margin-top:12px;font:800 13px/1.3 var(--lab-sans)}
.wizard-choice.is-selected,.wizard-action.is-selected{box-shadow:inset 0 -4px 0 var(--lab-yellow);background:#181818}
.wizard-choice.is-selected b{border-color:var(--lab-yellow);color:var(--lab-yellow)}
.wizard-explain,.wizard-target-summary{padding:13px 14px;border-left:3px solid var(--lab-yellow);background:#0d0d0d;color:var(--lab-muted);font:500 12px/1.55 var(--lab-sans)}
.wizard-target-summary strong,.wizard-target-summary span{display:block}.wizard-target-summary strong{color:var(--lab-text);font-weight:700}.wizard-target-summary span{margin-top:4px;font:600 10px var(--lab-mono);text-transform:uppercase;color:var(--lab-yellow)}
.wizard-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--lab-line)}
.wizard-action{min-height:112px}
.wizard-action span{display:block;font:800 14px/1.2 var(--lab-sans)}
.wizard-action small{display:block;margin-top:8px;color:var(--lab-muted);font:400 11px/1.45 var(--lab-sans)}
.wizard-action.is-selected span{color:var(--lab-yellow)}
.wizard-condition-list{display:grid;gap:1px;padding:0 20px 20px}
.wizard-condition-list>div{display:grid;grid-template-columns:1fr 38px;gap:8px;align-items:center;padding:10px 10px 10px 13px;border:1px solid var(--lab-line);background:#0d0d0d}
.wizard-condition-list span{font:600 12px/1.35 var(--lab-sans)}
.wizard-condition-list button{height:34px;border:1px solid var(--lab-line);background:#090909;color:var(--lab-muted);font:700 18px var(--lab-mono)}
.wizard-condition-list button:hover{border-color:var(--lab-red);color:var(--lab-red)}
.wizard-toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--lab-line);border-top:1px solid var(--lab-line);border-bottom:1px solid var(--lab-line)}
.wizard-toggle-grid label{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;padding:14px;background:#101010;cursor:pointer;min-height:58px}
.wizard-toggle-grid label:hover{background:#151515}
.wizard-toggle-grid input{width:16px;height:16px;accent-color:var(--lab-yellow)}
.wizard-toggle-grid span{font:600 12px/1.4 var(--lab-sans)}
.wizard-review{display:grid;gap:12px;padding:18px 20px}
.wizard-review .lab-generated{margin:0}
.wizard-review ol{margin:0;padding-left:20px;color:var(--lab-text);font:500 13px/1.55 var(--lab-sans)}
.wizard-review li+li{margin-top:8px}
.wizard-nav{display:flex;justify-content:space-between;gap:12px;padding:14px;border:1px solid var(--lab-line);background:#0d0d0d}
.wizard-nav>div{display:flex;gap:8px}
.wizard-nav button{min-height:42px;padding:10px 14px;border:1px solid var(--lab-line-strong);background:#111;color:var(--lab-text);font:700 12px var(--lab-mono);text-transform:uppercase}
.wizard-nav button:hover:not(:disabled){border-color:var(--lab-yellow);color:var(--lab-yellow)}
.wizard-nav button:disabled{opacity:.35;cursor:not-allowed}
.wizard-panel h4{padding:16px 20px 10px!important}
.lab-generated ol{color:var(--lab-text)}

@media(max-width:1200px){
 .wizard-steps{grid-template-columns:repeat(4,minmax(0,1fr))}
 .wizard-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .wizard-workspace{grid-template-columns:minmax(0,1fr) 360px}
}
@media(max-width:900px){
 .wizard-workspace{grid-template-columns:1fr}
 .wizard-help{grid-template-columns:1fr}
 .wizard-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
 .wizard-choice-grid,.wizard-action-grid,.wizard-toggle-grid{grid-template-columns:1fr}
 .wizard-steps{grid-template-columns:1fr 1fr}.wizard-steps button{min-height:62px}
 .wizard-nav{display:grid}.wizard-nav>div{display:grid;grid-template-columns:1fr 1fr}.wizard-nav button{width:100%}
}
.ball-card__rules,.lab-generated p{white-space:pre-line}

/* V8 · exact poker-size duplex cards and broader guided variables */
.wizard-inline-help{margin:-5px 0 12px;color:var(--lab-muted);font:400 12px/1.5 var(--lab-sans)}
.wizard-condition-list>div{grid-template-columns:minmax(90px,.35fr) minmax(0,1fr) 28px;align-items:center}
.wizard-condition-list small{color:var(--lab-yellow);font:700 8px/1.25 var(--lab-mono);text-transform:uppercase;letter-spacing:.04em}
.lab-card-pair{display:grid;gap:14px}
.lab-card-pair>.ball-card,.lab-card-pair>.ball-card-back{width:min(100%,360px);margin:0 auto}
.rule-sections{display:grid;gap:5px}
.rule-sections>div{display:grid;grid-template-columns:66px minmax(0,1fr);gap:6px;align-items:start}
.rule-sections b{padding-top:1px;color:#5b4a00;font:900 7px/1.2 var(--lab-mono);letter-spacing:.025em}
.rule-sections span{font:600 10px/1.25 var(--lab-sans)}
.lab-generated .rule-sections{gap:8px}
.lab-generated .rule-sections>div{grid-template-columns:84px minmax(0,1fr)}
.lab-generated .rule-sections b{color:var(--lab-yellow);font-size:9px}
.lab-generated .rule-sections span{color:var(--lab-text);font-size:13px;line-height:1.45}
.ball-card{aspect-ratio:63.5/88.9}
.ball-card__top{height:12%;padding:3.5% 4.5%}
.ball-card__title{left:4.5%;right:4.5%;top:14.5%;height:11.5%}
.ball-card__art{left:4.5%;right:4.5%;top:28%;height:12%;padding:2.5% 3.5%}
.ball-card__art span{font-size:7px}.ball-card__art b{margin-top:2px;font-size:15px}
.ball-card__rules{left:4.5%;right:4.5%;top:42.5%;bottom:8.5%;overflow:hidden}
.ball-card__foot{left:4.5%;right:4.5%;bottom:2%;height:4.5%}
.ball-card.is-dense .rule-sections{gap:3px}.ball-card.is-dense .rule-sections>div{grid-template-columns:60px minmax(0,1fr)}.ball-card.is-dense .rule-sections span{font-size:9px;line-height:1.17}
.ball-card.is-very-dense .rule-sections{gap:2px}.ball-card.is-very-dense .rule-sections>div{grid-template-columns:54px minmax(0,1fr);gap:4px}.ball-card.is-very-dense .rule-sections b{font-size:6.4px}.ball-card.is-very-dense .rule-sections span{font-size:7.9px;line-height:1.13}
.ball-card.is-ultra-dense .rule-sections{gap:1px}.ball-card.is-ultra-dense .rule-sections>div{grid-template-columns:48px minmax(0,1fr);gap:3px}.ball-card.is-ultra-dense .rule-sections b{font-size:5.8px}.ball-card.is-ultra-dense .rule-sections span{font-size:6.8px;line-height:1.08}
.ball-card-back--rules{position:relative;display:block;aspect-ratio:63.5/88.9;border:1px solid #5b5b55;background:#eee9d8;color:#111;overflow:hidden;font-family:var(--lab-sans)}
.ball-card-back--rules:before,.ball-card-back--rules:after{display:none}
.ball-card-back--rules header{position:absolute;left:0;right:0;top:0;height:15%;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;column-gap:8px;padding:4% 5%;border-bottom:1px solid #111;background:#111;color:#fff}
.ball-card-back--rules header span{grid-column:1;font:700 7px/1 var(--lab-mono);text-transform:uppercase;color:var(--lab-yellow)}
.ball-card-back--rules header strong{grid-column:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font:900 15px/1.05 var(--lab-sans)}
.ball-card-back--rules header b{grid-column:2;grid-row:1/3;align-self:center;font:900 18px/1 var(--lab-sans);color:var(--lab-yellow)}
.ball-card-back__title{position:absolute;left:5%;right:5%;top:17%;height:5%;border-bottom:1px solid #222;font:900 8px/1.2 var(--lab-mono);text-transform:uppercase;letter-spacing:.05em}
.ball-card-back--rules ol{position:absolute;left:5%;right:4.5%;top:24%;bottom:8%;margin:0;padding:0;list-style:none;counter-reset:step;overflow:hidden;display:grid;align-content:start;gap:4px}
.ball-card-back--rules li{counter-increment:step;position:relative;padding-left:22px;font:600 9.2px/1.22 var(--lab-sans)}
.ball-card-back--rules li:before{content:counter(step);position:absolute;left:0;top:0;display:grid;place-items:center;width:16px;height:16px;border:1px solid #111;background:#d8d3c4;font:900 7px/1 var(--lab-mono)}
.ball-card-back--rules footer{position:absolute;left:5%;right:5%;bottom:2%;height:4%;display:flex;justify-content:space-between;align-items:end;border-top:1px solid #222;padding-top:1.5%;font:700 6.5px var(--lab-mono);text-transform:uppercase}
.ball-card-back--rules.is-dense ol{gap:3px}.ball-card-back--rules.is-dense li{padding-left:20px;font-size:8.2px;line-height:1.17}.ball-card-back--rules.is-dense li:before{width:14px;height:14px;font-size:6.5px}
.ball-card-back--rules.is-very-dense ol{gap:2px}.ball-card-back--rules.is-very-dense li{padding-left:18px;font-size:7.2px;line-height:1.12}.ball-card-back--rules.is-very-dense li:before{width:13px;height:13px;font-size:6px}
.ball-card-back--rules.is-ultra-dense ol{gap:1px}.ball-card-back--rules.is-ultra-dense li{padding-left:16px;font-size:6.3px;line-height:1.07}.ball-card-back--rules.is-ultra-dense li:before{width:12px;height:12px;font-size:5.6px}
.lab-print-dialog .lab-check{font:600 12px/1.4 var(--lab-sans)}
@media(max-width:600px){.wizard-condition-list>div{grid-template-columns:1fr 30px}.wizard-condition-list small{grid-column:1}.wizard-condition-list span{grid-column:1}.wizard-condition-list button{grid-column:2;grid-row:1/3}.lab-generated .rule-sections>div{grid-template-columns:68px minmax(0,1fr)}}

@media print{
  .print-sheet{display:grid;grid-template-columns:repeat(3,63.5mm);grid-template-rows:repeat(3,88.9mm);column-gap:2mm;row-gap:1mm;justify-content:center;align-content:start;page-break-after:always;break-after:page}
  .print-sheet:last-child{page-break-after:auto;break-after:auto}
  .print-card-wrap{position:relative;width:63.5mm;height:88.9mm;break-inside:avoid;page-break-inside:avoid}
  .print-card-wrap>.ball-card,.print-card-wrap>.ball-card-back{position:absolute;inset:0;width:63.5mm;height:88.9mm;aspect-ratio:auto;margin:0;border:.3mm solid #111;box-sizing:border-box}
  .print-sheet .ball-card__type{width:8.5mm;height:8.5mm;font-size:5.7mm}.print-sheet .ball-card__cost{font-size:7.5mm}.print-sheet .ball-card__cost small{font-size:2mm}
  .print-sheet .ball-card__title strong{font-size:4.1mm}.print-sheet .ball-card__title span{font-size:1.65mm}.print-sheet .ball-card__art span{font-size:1.55mm}.print-sheet .ball-card__art b{font-size:3.5mm}
  .print-sheet .rule-sections{gap:1.15mm}.print-sheet .rule-sections>div{grid-template-columns:15mm minmax(0,1fr);gap:1.2mm}.print-sheet .rule-sections b{font-size:1.55mm}.print-sheet .rule-sections span{font-size:2.28mm;line-height:1.2}
  .print-sheet .ball-card.is-dense .rule-sections{gap:.75mm}.print-sheet .ball-card.is-dense .rule-sections>div{grid-template-columns:14mm minmax(0,1fr)}.print-sheet .ball-card.is-dense .rule-sections span{font-size:2.05mm;line-height:1.15}
  .print-sheet .ball-card.is-very-dense .rule-sections{gap:.45mm}.print-sheet .ball-card.is-very-dense .rule-sections>div{grid-template-columns:12.8mm minmax(0,1fr);gap:.8mm}.print-sheet .ball-card.is-very-dense .rule-sections b{font-size:1.38mm}.print-sheet .ball-card.is-very-dense .rule-sections span{font-size:1.78mm;line-height:1.1}
  .print-sheet .ball-card.is-ultra-dense .rule-sections{gap:.25mm}.print-sheet .ball-card.is-ultra-dense .rule-sections>div{grid-template-columns:11.5mm minmax(0,1fr);gap:.65mm}.print-sheet .ball-card.is-ultra-dense .rule-sections b{font-size:1.2mm}.print-sheet .ball-card.is-ultra-dense .rule-sections span{font-size:1.55mm;line-height:1.05}
  .print-sheet .ball-card__foot{font-size:1.45mm}
  .print-sheet .ball-card-back--rules header span{font-size:1.55mm}.print-sheet .ball-card-back--rules header strong{font-size:3.55mm}.print-sheet .ball-card-back--rules header b{font-size:4.5mm}.print-sheet .ball-card-back__title{font-size:1.7mm}
  .print-sheet .ball-card-back--rules ol{gap:1mm}.print-sheet .ball-card-back--rules li{padding-left:5.2mm;font-size:2.15mm;line-height:1.19}.print-sheet .ball-card-back--rules li:before{width:3.8mm;height:3.8mm;font-size:1.55mm}
  .print-sheet .ball-card-back--rules.is-dense ol{gap:.7mm}.print-sheet .ball-card-back--rules.is-dense li{padding-left:4.7mm;font-size:1.95mm;line-height:1.14}.print-sheet .ball-card-back--rules.is-dense li:before{width:3.4mm;height:3.4mm;font-size:1.4mm}
  .print-sheet .ball-card-back--rules.is-very-dense ol{gap:.45mm}.print-sheet .ball-card-back--rules.is-very-dense li{padding-left:4.2mm;font-size:1.72mm;line-height:1.09}.print-sheet .ball-card-back--rules.is-very-dense li:before{width:3.1mm;height:3.1mm;font-size:1.25mm}
  .print-sheet .ball-card-back--rules.is-ultra-dense ol{gap:.25mm}.print-sheet .ball-card-back--rules.is-ultra-dense li{padding-left:3.8mm;font-size:1.52mm;line-height:1.04}.print-sheet .ball-card-back--rules.is-ultra-dense li:before{width:2.8mm;height:2.8mm;font-size:1.15mm}
  .print-sheet .ball-card-back--rules footer{font-size:1.35mm}
  .print-sheet--backs{direction:ltr}
}


/* V8.1 - isolated physical pagination for card and deck printing */
@media print{
  html,
  body,
  body.site-v2{
    width:auto!important;
    height:auto!important;
    min-width:0!important;
    min-height:0!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    background:#fff!important;
    color:#000!important;
  }
  body.site-v2{display:block!important;transform:none!important;}
  body>*{display:none!important;}
  body>.lab-print-stage{
    position:static!important;
    display:block!important;
    width:auto!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    transform:none!important;
    background:#fff!important;
  }
  .print-sheet{
    display:grid!important;
    grid-template-columns:repeat(3,63.5mm)!important;
    grid-template-rows:repeat(3,88.9mm)!important;
    column-gap:2mm!important;
    row-gap:1mm!important;
    justify-content:center!important;
    align-content:start!important;
    width:194.5mm!important;
    height:268.7mm!important;
    min-width:194.5mm!important;
    min-height:268.7mm!important;
    max-width:194.5mm!important;
    max-height:268.7mm!important;
    margin:0 auto!important;
    padding:0!important;
    overflow:visible!important;
    box-sizing:content-box!important;
    break-inside:avoid-page!important;
    page-break-inside:avoid!important;
    break-before:auto!important;
    page-break-before:auto!important;
    break-after:auto!important;
    page-break-after:auto!important;
    background:#fff!important;
  }
  .print-sheet+.print-sheet{
    break-before:page!important;
    page-break-before:always!important;
  }
  .print-card-wrap{
    position:relative!important;
    width:63.5mm!important;
    height:88.9mm!important;
    min-width:63.5mm!important;
    min-height:88.9mm!important;
    max-width:63.5mm!important;
    max-height:88.9mm!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    box-sizing:border-box!important;
    break-inside:avoid-page!important;
    page-break-inside:avoid!important;
    background:#fff!important;
  }
  .print-card-wrap>.ball-card,
  .print-card-wrap>.ball-card-back{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:63.5mm!important;
    height:88.9mm!important;
    min-width:63.5mm!important;
    min-height:88.9mm!important;
    max-width:63.5mm!important;
    max-height:88.9mm!important;
    margin:0!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
    transform:none!important;
  }
}
