/* KishMat 58.65 — optional skill calibration. Inherits both theme palettes. */
.mastery-placement-card{display:flex;align-items:center;gap:16px;margin:18px 0;padding:17px 21px;border:1px solid color-mix(in srgb,var(--brand,#15916a) 28%,var(--border,#c6d8ce));border-radius:22px;background:linear-gradient(115deg,color-mix(in srgb,var(--brand-soft,#dcf5e9) 70%,var(--surface,#fff)),var(--surface,#fff) 72%);box-shadow:0 7px 29px #0b6e4822;color:var(--text,#193d32)}
.mastery-placement-art{position:relative;flex:0 0 72px;width:72px;height:72px;display:grid;place-items:center;border-radius:23px;background:linear-gradient(145deg,#16b48b,#146954);color:#fff;box-shadow:0 10px 22px #09835944;font-size:48px}.mastery-placement-art i{position:absolute;top:-8px;right:-5px;color:#ffe195;font-size:23px;font-style:normal}
.mastery-placement-intro{flex:1;min-width:0}.mastery-placement-kicker{font-size:.7rem;letter-spacing:.02em;color:var(--brand,#168662);font-weight:850}
.mastery-placement-intro h2{font-size:clamp(1rem,2.3vw,1.26rem);font-weight:900;color:var(--text,#173f34);margin:3px 0 6px}.mastery-placement-intro p{font-size:.8rem;line-height:1.85;color:var(--muted-strong,#52756a);margin:0}
.mastery-placement-launch,.mastery-placement-done{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:13px;padding:12px 18px;min-height:44px;border:1px solid transparent;font:inherit;font-size:.82rem;font-weight:900}
.mastery-placement-launch{cursor:pointer;background:linear-gradient(130deg,#16a77e,#106d57);color:white;box-shadow:0 6px 15px #0b885e39}.mastery-placement-launch:hover{filter:brightness(1.07)}.mastery-placement-done{color:var(--brand,#148562);background:var(--surface-subtle,#e9f8ed);border-color:var(--border,#b4d9c4)}
.mastery-placement-dialog{width:min(1050px,calc(100vw - 22px));max-height:calc(100dvh - 16px);border-radius:23px;border:1px solid var(--border,#bed5c8);padding:0;background:var(--surface,#fff);color:var(--text,#13382d);box-shadow:0 25px 90px #061e1a88;overflow:auto}
.mastery-placement-dialog::backdrop{background:#071f1be0;backdrop-filter:blur(6px)}
.mastery-placement-modal{padding:clamp(12px,2vw,26px);display:grid;gap:12px}.mastery-placement-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.mastery-placement-head h2{font-size:clamp(1.1rem,2.6vw,1.55rem);margin:3px 0;color:var(--text,#183f30)}.mastery-placement-head button{border:1px solid var(--border,#b9d5c6);border-radius:12px;background:var(--surface-subtle,#e5f2e9);color:inherit;width:40px;height:40px;cursor:pointer;font:inherit;font-weight:900}
.mastery-placement-progress-row{display:flex;align-items:center;gap:15px;font-size:.78rem;font-weight:850}.mastery-placement-progress-row progress{flex:1;width:100%;height:10px;accent-color:var(--brand,#15936c);direction:ltr}
.mastery-placement-content{display:grid;grid-template-columns:minmax(260px,1fr) minmax(220px,.62fr);align-items:center;gap:clamp(12px,2.5vw,30px);min-width:0}
.mastery-placement-board-wrap{width:min(100%,min(62dvh,530px));aspect-ratio:1;justify-self:center;position:relative;border:4px solid var(--surface,#fff);border-radius:13px;box-shadow:0 9px 26px #061e1b33;overflow:hidden;background:var(--board-dark,#468b74);direction:ltr}
.mastery-placement-board-wrap [data-placement-board],.mastery-placement-board-wrap .cg-wrap,.mastery-placement-board-wrap cg-container,.mastery-placement-board-wrap cg-board{width:100%!important;height:100%!important;aspect-ratio:1}
.mastery-placement-side{display:grid;gap:12px;justify-items:start;align-content:center;min-width:0}
.mastery-placement-character{font-size:clamp(65px,10vw,115px);line-height:1;color:var(--brand,#178663);filter:drop-shadow(0 7px 8px #17916a45);animation:mastery-placement-bob 4.5s ease-in-out infinite}
.mastery-placement-category{padding:6px 10px;border-radius:99px;background:var(--surface-subtle,#eaf6ef);color:var(--muted-strong,#46715d);font-size:.73rem;font-weight:850}
.mastery-placement-side p{font-weight:750;line-height:1.8;margin:0;color:var(--text,#173d34);font-size:.9rem}
.mastery-placement-side small{font-size:.72rem;line-height:1.8;color:var(--muted,#648078)}
.mastery-placement-skip,.mastery-placement-done-button{cursor:pointer;min-height:43px;border-radius:11px;padding:9px 14px;font:inherit;font-weight:850;border:1px solid var(--border,#bfd9c9);background:var(--surface-subtle,#edf8f2);color:var(--text,#254d3e)}
.mastery-placement-skip:disabled{opacity:.55;cursor:wait}.mastery-placement-done-button{color:#fff;background:linear-gradient(120deg,#12996e,#14715d);border:0}
.mastery-placement-result{display:grid;gap:8px;padding:14px;border-radius:14px;background:var(--brand-soft,#e7faec);color:var(--text,#183e32)}.mastery-placement-result strong{font-size:1.06rem}.mastery-placement-result span{line-height:1.8;font-size:.83rem}
.mastery-placement-dialog [hidden]{display:none!important}
html[data-theme="dark"] .mastery-placement-art{background:linear-gradient(140deg,#175948,#197c68)}
@keyframes mastery-placement-bob{50%{transform:translateY(-6px) rotate(-2deg)}}
@media(max-width:720px){.mastery-placement-card{padding:12px;gap:11px;flex-wrap:wrap}.mastery-placement-art{width:49px;height:49px;flex-basis:49px;border-radius:15px;font-size:33px}.mastery-placement-launch{flex:1 0 100%}.mastery-placement-content{grid-template-columns:minmax(0,1fr);gap:11px}.mastery-placement-dialog{max-height:calc(100dvh - 10px)}.mastery-placement-board-wrap{width:min(100%,min(45dvh,410px));max-width:100%}.mastery-placement-side{grid-template-columns:1fr auto;gap:7px;align-items:center}.mastery-placement-character{display:none}.mastery-placement-category,.mastery-placement-side p,.mastery-placement-side small,.mastery-placement-result{grid-column:1/-1}.mastery-placement-skip,.mastery-placement-done-button{grid-column:1/-1}.mastery-placement-modal{gap:6px}.mastery-placement-head h2{font-size:1.05rem}}
@media(max-height:570px) and (min-width:721px){.mastery-placement-modal{gap:6px;padding:10px}.mastery-placement-board-wrap{width:min(100%,54dvh)}.mastery-placement-character{display:none}}
@media(prefers-reduced-motion:reduce){.mastery-placement-character{animation:none}}
.mastery-placement-card [hidden]{display:none!important}
/* Make placement squares/coordinates behave like the main mission board. */
.mastery-placement-board-wrap [data-placement-board]{container-type:inline-size;direction:ltr;touch-action:none}
.mastery-placement-board-wrap [data-placement-board] cg-board{border-radius:0!important}
.mastery-placement-board-wrap [data-placement-board] coords{direction:ltr;z-index:2;font-size:clamp(7px,2cqw,10px);font-family:Arial,sans-serif;font-weight:700}
.mastery-placement-dialog button:focus-visible,.mastery-placement-card button:focus-visible{outline:3px solid var(--brand,#159569);outline-offset:3px}

/* v58.66 - full-line skill placement, readable in-square coordinates and live companion. */
.mastery-placement-character{display:grid;place-items:center;width:clamp(90px,11vw,145px);height:clamp(99px,12vw,156px);margin-inline:auto;border-radius:24px;background:radial-gradient(circle at 50% 44%,color-mix(in srgb,var(--brand,#18a97e) 15%,var(--surface,#fff)),transparent 73%);filter:none;animation:none}
.mastery-placement-character .mastery-companion-svg{width:100%;height:100%;max-width:100%;overflow:visible}
.mastery-placement-dialog .mastery-placement-side{align-content:center;justify-items:center;text-align:center}
.mastery-placement-turn{font-size:.8rem;font-weight:900;color:var(--brand,#168d66);border-radius:999px;padding:7px 13px;border:1px solid color-mix(in srgb,var(--brand,#16a376) 35%,var(--border,#d6e5d9));background:var(--surface-subtle,#f0fbf6);box-shadow:0 4px 12px #0d5a360f}
.mastery-placement-board-wrap #masteryPlacementBoard{container-type:inline-size;direction:ltr}
.mastery-placement-board-wrap #masteryPlacementBoard coords{direction:ltr;z-index:2;opacity:.96;font:700 clamp(7px,2.1cqw,10px)/1 Arial,sans-serif;text-shadow:0 1px 0 rgb(255 255 255 / 18%)}
.mastery-placement-board-wrap #masteryPlacementBoard coords.ranks{top:0;left:auto;right:1px;width:1em;height:100%}
.mastery-placement-board-wrap #masteryPlacementBoard coords.ranks coord{flex:0 0 12.5%;transform:none;padding-block-start:1px;text-align:right}
.mastery-placement-board-wrap #masteryPlacementBoard coords.files{left:0;bottom:1px;width:100%;height:1em;text-align:left;text-transform:lowercase}
.mastery-placement-board-wrap #masteryPlacementBoard coords.files coord{flex:0 0 12.5%;padding-inline-start:1px}
.mastery-placement-board-wrap #masteryPlacementBoard coords .coord-light{color:#6d543b}
.mastery-placement-board-wrap #masteryPlacementBoard coords .coord-dark{color:#fff4df}
.mastery-placement-board-wrap .cg-wrap,.mastery-placement-board-wrap cg-container{direction:ltr!important}
@media(max-width:720px){.mastery-placement-dialog .mastery-placement-side{grid-template-columns:minmax(0,1fr);align-items:center;justify-items:center;text-align:center;gap:8px}.mastery-placement-character{display:grid;grid-row:auto;grid-column:auto;width:100px;height:108px;margin:0 auto}.mastery-placement-turn,.mastery-placement-category,.mastery-placement-side p{grid-column:1}.mastery-placement-category,.mastery-placement-turn{justify-self:center}.mastery-placement-side small,.mastery-placement-skip,.mastery-placement-done-button,.mastery-placement-result{grid-column:1/-1}.mastery-placement-board-wrap{width:100%;max-width:none}.mastery-placement-modal{gap:8px}.mastery-placement-head{align-items:flex-start}.mastery-placement-progress-row{gap:9px}.mastery-placement-board-wrap #masteryPlacementBoard coords{font-size:clamp(8px,2.45cqw,11px)}}
@media(max-height:570px) and (min-width:721px){.mastery-placement-character{display:grid;width:74px;height:78px}.mastery-placement-board-wrap{width:min(100%,53dvh)}}
@media(prefers-reduced-motion:reduce){.mastery-placement-character,.mastery-placement-character *{animation:none!important}}
