/* TheoryCampus Avatar Editor — alpha.22.7 */
.tc-svg-avatar__hair-piece{fill:var(--tc-avatar-hair,#d7a548);stroke:#282425;stroke-width:4;stroke-linejoin:round;stroke-linecap:round}
.tc-svg-avatar__hair-piece--buzz{fill-opacity:.38;stroke-opacity:.72;stroke-width:3}
.tc-svg-avatar__hair-detail,.tc-svg-avatar__hair-curl{fill:none;stroke:rgba(255,255,255,.28);stroke-width:2.4;stroke-linecap:round}
.tc-svg-avatar__hair-stubble{fill:none;stroke:rgba(40,36,37,.55);stroke-width:3.2;stroke-linecap:round}
.tc-svg-avatar__hair-fade{fill:none;stroke:var(--tc-avatar-hair,#d7a548);stroke-width:4;stroke-linecap:round;opacity:.7}
.tc-svg-avatar__hair-braid{fill:none;stroke:var(--tc-avatar-hair,#d7a548);stroke-width:15;stroke-linecap:round;stroke-dasharray:9 5}
.tc-svg-avatar__hair-braid--box{stroke-width:11;stroke-dasharray:12 3}.tc-svg-avatar__hair-style{transform-box:fill-box;transform-origin:center}
.tc-avatar-editor-preview__avatar{position:relative;width:min(250px,100%);height:390px;margin:auto;filter:drop-shadow(0 16px 12px rgba(55,34,20,.18))}
.tc-avatar-editor-preview__avatar .tc-svg-avatar__art{display:block;width:100%;height:100%;overflow:visible}
body.tc-avatar-editor-open{overflow:hidden}
.tc-avatar-editor-portal{position:fixed!important;z-index:40000!important;inset:0!important;width:100vw!important;max-width:none!important;height:100dvh!important;padding:0!important;border:0!important;border-radius:0!important;background:#f7f4f2!important;transform:none!important;opacity:1!important;visibility:visible!important;overflow:hidden!important;box-shadow:none!important}
.tc-avatar-editor-portal>.tc-dojang-panel__close{display:none!important}
.tc-avatar-editor{height:100%;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);background:#f7f4f2}
.tc-avatar-editor__header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 30px;background:#fff;border-bottom:1px solid var(--tc-line);position:relative;z-index:4}
.tc-avatar-editor__header h2{margin:3px 0 4px;font-size:32px}.tc-avatar-editor__header p{margin:0;color:var(--tc-muted);max-width:760px}
.tc-avatar-editor__tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:12px 30px;background:#fff;border-bottom:1px solid var(--tc-line);position:relative;z-index:4}
.tc-avatar-editor__tabs button{min-height:46px;padding:10px 12px;border:1px solid var(--tc-line);border-radius:12px;background:#fff;color:var(--tc-black);font-weight:850;cursor:pointer}
.tc-avatar-editor__tabs button:hover{border-color:var(--tc-black)}.tc-avatar-editor__tabs button.is-active{background:var(--tc-black);border-color:var(--tc-black);color:#fff}
.tc-avatar-editor__form{margin:0!important;min-height:0;display:grid!important;grid-template-columns:minmax(250px,320px) minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:0!important}
.tc-avatar-editor__preview{padding:26px 24px;background:linear-gradient(160deg,#fff,#eee7df);border-right:1px solid var(--tc-line);overflow:auto}
.tc-avatar-editor__preview-stage{min-height:410px;margin:14px 0 18px;display:grid;place-items:center;border-radius:22px;background:radial-gradient(circle at 50% 38%,#fff 0,#efe4d6 62%,#dcc7ae 100%);overflow:hidden}
.tc-avatar-editor__catalogue{min-width:0;overflow:auto;padding:28px 30px 42px}.tc-avatar-editor__panel{display:grid;gap:22px}.tc-avatar-editor__panel[hidden]{display:none!important}
.tc-avatar-editor__panel fieldset{margin:0;padding:18px;border:1px solid var(--tc-line);border-radius:16px;background:#fff;display:grid;gap:12px}.tc-avatar-editor__panel legend{padding:0 5px;font-weight:900}
.tc-avatar-editor__section-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.tc-avatar-editor__section-heading h3{font-size:28px;margin:4px 0 5px}.tc-avatar-editor__section-heading p{margin:0;color:var(--tc-muted);max-width:720px}.tc-avatar-editor__section-heading>strong{padding:7px 11px;border-radius:99px;background:#fff;border:1px solid var(--tc-line);white-space:nowrap}
.tc-avatar-editor__colour-field{padding:15px 18px!important}.tc-avatar-builder__swatches--large button{width:52px;height:52px}
.tc-avatar-editor__search{display:grid;gap:7px;font-weight:850}.tc-avatar-editor__search input{width:100%;height:48px;padding:0 15px;border:1px solid var(--tc-line);border-radius:12px;background:#fff;font:inherit}.tc-avatar-editor__search input:focus{outline:3px solid rgba(224,38,46,.16);border-color:var(--tc-red)}
.tc-avatar-editor__hair-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.tc-avatar-editor__hair-card{min-width:0;padding:12px;border:1px solid var(--tc-line);border-radius:17px;background:#fff;color:var(--tc-black);display:grid;gap:5px;text-align:left;cursor:pointer;transition:transform .16s,border-color .16s,box-shadow .16s}
.tc-avatar-editor__hair-card:hover{transform:translateY(-2px);border-color:var(--tc-black);box-shadow:0 10px 24px rgba(40,36,37,.09)}.tc-avatar-editor__hair-card.is-selected{border:2px solid var(--tc-red);padding:11px;background:#fff7f7;box-shadow:0 0 0 3px rgba(224,38,46,.09)}
.tc-avatar-editor__hair-card strong{font-size:13px;line-height:1.25}.tc-avatar-editor__hair-card small{color:var(--tc-muted)}.tc-avatar-editor__hair-card.is-selected small{color:var(--tc-red);font-weight:800}
.tc-avatar-hair-preview{height:132px;border-radius:13px;background:linear-gradient(145deg,#f6f0ea,#e9ded3);display:grid;place-items:center;overflow:hidden}.tc-avatar-hair-preview svg{width:118px;height:145px;overflow:visible}
.tc-avatar-hair-preview__face,.tc-avatar-hair-preview__neck{fill:#efb184;stroke:#282425;stroke-width:5;stroke-linejoin:round}.tc-avatar-hair-preview__eye{fill:#282425}.tc-avatar-hair-preview__mouth{fill:none;stroke:#7c4f32;stroke-width:4;stroke-linecap:round}
.tc-avatar-hair-preview .tc-svg-avatar__hair-piece{fill:var(--tc-avatar-preview-hair,#d7a548)}.tc-avatar-hair-preview .tc-svg-avatar__hair-braid{stroke:var(--tc-avatar-preview-hair,#d7a548)}
.tc-avatar-editor__placeholder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.tc-avatar-editor__placeholder-grid article{padding:22px;border:1px solid var(--tc-line);border-radius:17px;background:#fff;display:grid;gap:6px}.tc-avatar-editor__placeholder-grid article.is-selected{border:2px solid var(--tc-red);background:#fff7f7}.tc-avatar-editor__placeholder-grid article>span{font-size:34px}.tc-avatar-editor__placeholder-grid p{margin:4px 0 0;color:var(--tc-muted)}
.tc-avatar-editor__empty{padding:24px;border:1px dashed var(--tc-line);border-radius:14px;text-align:center;color:var(--tc-muted)}
.tc-avatar-editor__footer{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:20px;padding:14px 30px;background:#fff;border-top:1px solid var(--tc-line);position:relative;z-index:4}.tc-avatar-editor__footer span{color:var(--tc-muted);margin-right:auto}.tc-avatar-editor__footer .tc-avatar-builder__save{width:auto!important;min-width:180px}
@media(max-width:1120px){.tc-avatar-editor__hair-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tc-avatar-editor__form{grid-template-columns:250px minmax(0,1fr)}}
@media(max-width:820px){.tc-avatar-editor__header{padding:17px 18px}.tc-avatar-editor__header p{display:none}.tc-avatar-editor__tabs{padding:10px 14px;display:flex;overflow-x:auto}.tc-avatar-editor__tabs button{min-width:116px}.tc-avatar-editor__form{display:block!important;overflow:auto}.tc-avatar-editor__preview{border-right:0;border-bottom:1px solid var(--tc-line);display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:center}.tc-avatar-editor__preview>.tc-card-label{grid-column:1/-1}.tc-avatar-editor__preview-stage{min-height:190px;margin:0}.tc-avatar-editor-preview__avatar{width:125px;height:200px}.tc-avatar-editor__catalogue{overflow:visible;padding:22px 18px 110px}.tc-avatar-editor__footer{position:fixed;left:0;right:0;bottom:0;padding:11px 16px}.tc-avatar-editor__footer span{display:none}}
@media(max-width:620px){.tc-avatar-editor__header h2{font-size:26px}.tc-avatar-editor__header .tc-button{padding:10px;font-size:12px}.tc-avatar-editor__preview{display:none}.tc-avatar-editor__hair-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tc-avatar-hair-preview{height:110px}.tc-avatar-editor__section-heading{display:block}.tc-avatar-editor__section-heading>strong{display:inline-block;margin-top:10px}.tc-avatar-editor__placeholder-grid{grid-template-columns:1fr}.tc-avatar-editor__footer .tc-button{width:100%!important}}
@media(prefers-reduced-motion:reduce){.tc-avatar-editor__hair-card{transition:none}}