/* Campaign Workshop, portable import/export, and reusable template editors. */
.workshop-wrap{width:min(var(--page-max),calc(100% - var(--s5)));margin:var(--s6) auto var(--s7)}
.workshop-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:var(--s4);border:1px solid var(--rule);border-radius:var(--r-sm) 3px 0 0;background:var(--panel-2)}
.workshop-tabs button{min-height:var(--field);padding:0 var(--s4);border-left:1px solid var(--rule);color:var(--ink-faint);font:600 .78rem/1 var(--font-display);letter-spacing:.1em;text-transform:uppercase}
.workshop-tabs button:first-child{border-left:0}
.workshop-tabs button[aria-selected="true"]{color:var(--gold-deep);background:color-mix(in srgb,var(--gold-hi) 14%,transparent);box-shadow:inset 0 -3px var(--gold-deep)}
.workshop-panel{display:block;min-width:0;padding-top:var(--s4)}
.workshop-panel:focus{outline:none}
.workshop-item-grid,.workshop-template-list{display:grid;gap:var(--s4)}
.workshop-item-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr))}
.workshop-item-card{min-width:0;padding:var(--s5)}
.workshop-item-card>header{display:flex;align-items:start;justify-content:space-between;gap:var(--s3);padding-bottom:var(--s3);border-bottom:1px solid var(--rule-soft)}
.workshop-item-card h2{margin:var(--s1) 0 0;color:var(--ink);font:500 1.2rem/1.2 var(--font-scribal)}
.workshop-version{flex:none;color:var(--gold-deep);font:600 .72rem/1 var(--font-display);letter-spacing:.08em;text-transform:uppercase}
.workshop-source{margin:var(--s3) 0 var(--s2);color:var(--verdigris);font:600 .72rem/1.3 var(--font-display);letter-spacing:.06em;text-transform:uppercase;overflow-wrap:anywhere}
.workshop-description,.workshop-attunement,.workshop-grants{margin:var(--s2) 0;color:var(--ink-soft);overflow-wrap:anywhere}
.workshop-copies{margin-top:var(--s4);padding-top:var(--s3);border-top:1px dotted var(--rule-soft)}
.workshop-provenance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2);margin:var(--s2) 0 0;padding:var(--s2);border:1px solid var(--rule-soft);border-radius:var(--r-sm);background:var(--panel-2)}
.workshop-provenance div{min-width:0}
.workshop-provenance dt{color:var(--ink-faint);font:600 .66rem/1.2 var(--font-display);letter-spacing:.07em;text-transform:uppercase}
.workshop-provenance dd{margin:var(--s1) 0 0;color:var(--ink);overflow-wrap:anywhere}

.workshop-copy-note{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--s2) var(--s3);align-items:start;padding:var(--s4);border-left:3px solid var(--verdigris)}
.workshop-copy-note b{color:var(--verdigris)}
.workshop-copy-note span{color:var(--ink-soft)}
.workshop-template-tools{display:flex;align-items:center;gap:var(--s2);margin:var(--s4) 0}
.workshop-save-state{margin-left:auto;color:var(--ink-faint);font:italic .82rem/1.2 var(--font-scribal)}
.workshop-template{padding:0;overflow:clip}
.workshop-template summary{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);min-height:calc(var(--field) + var(--s3));padding:var(--s3) var(--s4);cursor:pointer;list-style:none}
.workshop-template summary::-webkit-details-marker{display:none}
.workshop-template summary>span:first-child{display:grid;gap:var(--s1);min-width:0}
.workshop-template summary strong{color:var(--ink);font:500 1.05rem/1.2 var(--font-scribal);overflow-wrap:anywhere}
.template-kind{color:var(--verdigris);font:600 .68rem/1 var(--font-display);letter-spacing:.08em;text-transform:uppercase}
.template-summary-tail{display:flex;align-items:center;gap:var(--s3);flex:none;color:var(--gold-deep);font:600 .72rem/1 var(--font-display);text-transform:uppercase}
.workshop-template[open] .template-summary-tail span:last-child{transform:rotate(90deg)}
.workshop-template-editor{padding:var(--s5);border-top:1px solid var(--rule);background:color-mix(in srgb,var(--panel-2) 66%,transparent)}
.workshop-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4)}
.workshop-field{display:grid;align-content:start;gap:var(--s1);min-width:0;color:var(--ink-faint);font:600 .7rem/1.2 var(--font-display);letter-spacing:.07em;text-transform:uppercase}
.workshop-field--wide{grid-column:1/-1}
.workshop-field input,.workshop-field textarea{width:100%;min-width:0;min-height:var(--field);padding:var(--s2);border:1px solid var(--rule-soft);border-radius:var(--r-sm);background:var(--panel);color:var(--ink);font:400 1rem/1.35 var(--font-body);letter-spacing:normal;text-transform:none}
.workshop-field textarea{resize:vertical}
.workshop-check{display:flex;align-items:center;gap:var(--s2);min-height:var(--field);color:var(--ink)}
.workshop-check input,.workshop-bundle input,.portable-option input{width:20px;height:20px;flex:none;accent-color:var(--gold-deep)}
.workshop-bundle{grid-column:1/-1;margin:0;padding:var(--s4);border:1px solid var(--rule-soft);border-radius:var(--r-sm)}
.workshop-bundle legend{padding:0 var(--s2);color:var(--ink-faint);font:600 .72rem/1.2 var(--font-display);letter-spacing:.07em;text-transform:uppercase}
.workshop-bundle label{display:flex;align-items:center;gap:var(--s2);min-height:var(--field);padding:var(--s2);border-top:1px dotted var(--rule-soft)}
.workshop-bundle label:first-of-type{border-top:0}
.workshop-bundle label span{display:grid;min-width:0}
.workshop-bundle small{color:var(--ink-faint);font:600 .65rem/1.2 var(--font-display);letter-spacing:.07em;text-transform:uppercase}
.workshop-remove-template{margin-top:var(--s4);color:var(--rubric)}
.template-description{height:auto;resize:vertical}

dialog.portable-dialog{width:min(44rem,calc(100vw - var(--s4)))}
.portable-summary{padding:var(--s4);border:1px solid var(--rule-soft);border-radius:var(--r-sm);background:var(--panel-2)}
.portable-summary h3{margin:var(--s1) 0;color:var(--ink);font:500 1.35rem/1.2 var(--font-scribal)}
.portable-summary p:last-child{margin:0;color:var(--ink-soft)}
.portable-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2);margin:var(--s2) 0 var(--s4);padding:0;list-style:none}
.portable-counts li{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);min-width:0;padding:var(--s2);border:1px solid var(--rule-soft);border-radius:var(--r-sm);background:var(--panel-2)}
.portable-counts span{overflow-wrap:anywhere}
.portable-counts strong{color:var(--gold-deep);font-family:var(--font-display)}
.portable-bundle-note{padding:var(--s3);border-left:3px solid var(--verdigris);background:color-mix(in srgb,var(--verdigris) 6%,transparent);color:var(--ink-soft)}
.portable-bundle-note b{display:block;color:var(--verdigris)}
.portable-warnings{padding-left:var(--s5);color:var(--ink-soft)}
.portable-option{display:flex;align-items:start;gap:var(--s3);padding:var(--s4);border:1px solid var(--rule);border-radius:var(--r-sm);background:var(--panel-2);cursor:pointer}
.portable-option span{display:grid;gap:var(--s1)}
.portable-option small{color:var(--ink-soft);font-size:var(--fs-small);line-height:1.3}

@media(max-width:760px){
  .workshop-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
  .workshop-wrap{width:calc(100% - var(--s3));margin-top:var(--s3)}
  .workshop-tabs button{padding-inline:var(--s2)}
  .workshop-item-card,.workshop-template-editor{padding:var(--s4)}
  .workshop-provenance,.workshop-fields,.portable-counts{grid-template-columns:1fr}
  .workshop-copy-note{grid-template-columns:1fr}
  .workshop-template-tools{display:grid;grid-template-columns:1fr 1fr}
  .workshop-template-tools button{width:100%}
  .workshop-save-state{grid-column:1/-1;grid-row:2;margin-left:0;text-align:center}
  .portable-dialog .rules-inner{padding:var(--s4)}
}
@media(prefers-reduced-motion:reduce){.workshop-template .template-summary-tail span:last-child{transition:none}}
