/* The protocol library: shares HospiQuest's existing camp palette. */
.protocol-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:26px;padding:28px;margin-bottom:18px;background:radial-gradient(ellipse at top right,#35524a80,transparent 65%),linear-gradient(130deg,#152827,#14201e);border-color:#55725d60}
.protocol-hero h2{font-size:26px;margin:12px 0}.protocol-hero p{color:var(--muted,#99aaa2);line-height:1.8;font-size:13px}.protocol-totals{display:grid;grid-template-columns:repeat(3,1fr);align-self:center;gap:10px;text-align:center}.protocol-totals b{display:block;color:#d6e99f;font:32px Georgia,serif}.protocol-totals span{font-size:9px;letter-spacing:1.2px;color:#90b4a6;display:block;margin-top:12px}
.protocol-target{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:24px;margin-bottom:20px}.protocol-target label{display:block;font-size:11px;color:#afc1b5}.protocol-target input,.protocol-target select,.protocol-invest input{width:100%;max-width:100%;box-sizing:border-box;margin-top:7px}.protocol-target form{display:flex;align-items:end;gap:10px;margin-top:14px}.protocol-target form label{flex:1;min-width:0}.protocol-recipient{padding:8px 0 8px 24px;border-left:1px solid #8aa89333;overflow-wrap:anywhere}.protocol-recipient h3{margin:12px 0 8px}.protocol-recipient p{font-size:12px;color:#bccbbd}.protocol-recipient small{display:block;font-size:11px;color:#98aea0;line-height:1.75}
.protocol-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 8px}.protocol-tabs .button{flex:1;white-space:nowrap}.protocol-tree-note{font-size:12px;color:#9caf9e;line-height:1.8;margin:16px 0}.protocol-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:14px 0 24px}.protocol-card{padding:22px;display:flex;flex-direction:column;min-width:0;position:relative}.protocol-card.learned{border-color:#8bab6055}.protocol-card-head{display:flex;align-items:center;gap:12px;min-height:45px}.protocol-symbol{width:42px;height:42px;display:grid;place-items:center;background:#7897791a;border-radius:12px;color:#c6db96}.protocol-card .pill{font-size:9px;letter-spacing:1px;white-space:normal}.protocol-rank{margin-left:auto;font-size:22px;color:#d1e59d}.protocol-rank small{font-size:11px;color:#869c8b}.protocol-card h3{font-size:22px;margin:20px 0 8px;overflow-wrap:anywhere}.protocol-description{font-size:12px;line-height:1.9;color:#b1bfae;min-height:70px}.protocol-meter{margin:5px 0 10px}.protocol-dependency{font-size:11px;line-height:1.9;color:#9eb6a7;margin-bottom:18px;min-height:42px}.protocol-dependency strong{color:#cbd6b5}.protocol-invest{display:flex;gap:12px;align-items:end;margin-top:auto}.protocol-invest label{width:80px;color:#9eb6a7;font-size:11px}.protocol-invest input{padding:10px}.protocol-invest .button{flex:1}.protocol-cast{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;flex-wrap:wrap}.protocol-cast small{font-size:10px;color:#9eb6a7}.protocol-passive{font-size:11px;line-height:1.8;color:#bbd598;padding:12px 0}.protocol-card.special .protocol-symbol{color:#91cabb;background:#5caa951c}.protocol-card.defense .protocol-symbol{color:#a6bbdf;background:#6592d117}.protocol-card.infusions .protocol-symbol{color:#d6b5e4;background:#a183b522}
.protocol-active,.protocol-note,.protocol-preferences{padding:24px;margin-bottom:20px}.protocol-note h3{font-size:22px}.protocol-note p{font-size:12px;line-height:1.9;color:#a4bba9}.protocol-active-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.protocol-active-row{display:flex;gap:10px;align-items:center;border:1px solid #74896d33;padding:12px;border-radius:10px;min-width:0}.protocol-active-row div{min-width:0;flex:1}.protocol-active-row strong{font-size:12px;display:block}.protocol-active-row small{display:block;color:#9eb6a7;font-size:10px;margin-top:5px;overflow-wrap:anywhere}.protocol-active-row .button{font-size:10px;padding:8px}.protocol-reagents{margin:16px 0}.protocol-reagents p{display:flex;justify-content:space-between;gap:10px;font-size:12px;padding:10px 0;border-bottom:1px solid #abc28b1a}.protocol-reagents strong{color:#d7e5ae}.protocol-preferences summary{cursor:pointer;font-size:13px;font-weight:600}.protocol-preferences label{display:flex;align-items:center;gap:12px;font-size:12px;margin:18px 0}.protocol-preferences input[type=checkbox]{width:18px;height:18px;flex-shrink:0;accent-color:#c5df99}.protocol-preferences p{font-size:12px;line-height:1.8}
@media(min-width:1650px){.protocol-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.protocol-hero{grid-template-columns:1.2fr 1fr}}
@media(max-width:850px){.protocol-hero{grid-template-columns:1fr}.protocol-target{grid-template-columns:1fr}.protocol-recipient{border-left:0;border-top:1px solid #8aa89333;padding:18px 0 0}.protocol-active-grid{grid-template-columns:1fr}}
@media(max-width:560px){.protocol-grid{grid-template-columns:1fr}.protocol-card{padding:20px}.protocol-hero,.protocol-target,.protocol-active,.protocol-note,.protocol-preferences{padding:20px}.protocol-tabs .button{flex:1 0 30%;font-size:11px}.protocol-totals b{font-size:28px}.protocol-totals span{font-size:8px;letter-spacing:.8px}.protocol-active-row{flex-wrap:wrap}.protocol-description{min-height:0}.protocol-hero h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){.protocol-grid *{transition:none!important}}
.protocol-target input,.protocol-target select,.protocol-invest input{background:#0d1b1b;color:#e5ebd5;border:1px solid #40594e;border-radius:8px;padding:11px 12px;font-family:inherit;font-size:12px;line-height:1.4;min-height:40px;color-scheme:dark}.protocol-target input::placeholder{color:#83978a}.protocol-target select option{background:#142421;color:#e5ebd5}.protocol-target input:focus,.protocol-target select:focus,.protocol-invest input:focus{outline:2px solid #c5df99;outline-offset:2px}.protocol-potency{font-size:12px;color:#d1e59d;line-height:1.8;margin:4px 0 14px}.protocol-potency.dim{color:#9eb6a7}

/* A buff remains compact while the entire chip is a real touch/keyboard target. */
button.buff-manage{font-family:inherit;cursor:pointer;min-height:44px;max-width:100%;text-align:left;line-height:1.45;white-space:normal;overflow-wrap:anywhere;touch-action:manipulation}
.buff-name-control{display:inline-flex;align-items:center;background:transparent;color:inherit;border:0;padding:7px 0;font:inherit}
.buff-name-control .buff-control-name{border-bottom:1px dotted currentColor}
.buff-manage:hover{filter:brightness(1.15)}
.buff-manage:focus-visible{outline:2px solid var(--lime,#d6e7a5);outline-offset:3px;border-radius:6px}
.buff-chip.buff-manage{gap:6px;font-size:11px;padding:7px 9px}
.buff-chip.buff-manage .icon{flex-shrink:0}
.buff-control-name{min-width:0;overflow-wrap:anywhere}
.buff-remove-mark{font-size:17px;line-height:1;margin-left:auto;opacity:.75}
.protocol-active-row [data-action="protocol_dismiss"]{min-height:44px;min-width:58px}
.buff-manage-dialog{overflow-wrap:anywhere}
.buff-manage-dialog p{font-size:14px;line-height:1.7}
.buff-manage-dialog .modal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.buff-manage-dialog .modal-actions .button{min-height:44px;flex:1 1 140px;justify-content:center}
