/* Cluster layout and readable type. All chrome lives in the shared Blizzard kits. */
.tc{--font-game:"FrizQT",serif;--font-game-display:"FrizQT",serif;--font-mono:"ArialN",sans-serif;--wgf-btn-h:40px;--wgf-btn-cap:17.5px;--wgf-input-h:40px;--wgf-dropdown-h:40px;max-width:1160px;margin:0 auto;padding:28px 20px 60px;color:#f4ecd8;font:18px/1.55 "ArialN",sans-serif}
.tc>nav{margin-bottom:20px;font-size:16px}.tc a{color:var(--wgf-gold,#ffd100);text-decoration:underline;text-underline-offset:3px}
.tc .tc-window{border:0;box-shadow:none}.wgf-shell-page main .tc .wgf-window__title{padding:22px 44px;border:0;border-radius:0;box-shadow:none;justify-content:center;text-align:center}
.tc h1{margin:0;color:#ffd100;font:28px/1.25 "FrizQT",serif;font-variant:normal;letter-spacing:normal;text-shadow:none}
.tc h2{margin:0 0 16px;color:var(--wgf-gold,#ffd100);font:22px/1.35 "FrizQT",serif}.tc h3{font:18px/1.35 "FrizQT",serif}
.tc .wgf-window__body{padding:24px 32px}.tc .tc-lead{font-size:20px;max-width:900px;margin-top:0}
.tc section,.tc-decisions{margin:30px 0;padding:0}.tc .tc-estimate{padding:34px}.tc .tc-measured{padding:16px 20px}
.tc .tc-table{width:100%;border-collapse:collapse;font:18px/1.5 "ArialN",sans-serif;color:#f4ecd8;background:transparent}
.tc .tc-table th,.tc .tc-table td{padding:12px 16px;text-align:left;vertical-align:top;color:inherit;font-size:18px;line-height:1.5;font-variant:normal;letter-spacing:normal;text-transform:none;text-shadow:none}
.tc .tc-table td{background:transparent;border:0}.tc .tc-table th{font:16px/1.45 "FrizQT",serif;color:#f4ecd8;border:0}
.tc .tc-table a{font-family:inherit;font-size:inherit}.tc small,.tc .tc-meta{display:block;font:16px/1.5 "ArialN",sans-serif;opacity:1;color:var(--wgf-muted,#cfc3a5)}
.tc .tc-price{display:block;font-size:26px}.tc .wgf-price{color:inherit;font-family:"ArialN",sans-serif;font-weight:400}.tc .wgf-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.tc .tc-fresh{color:#91edb3}.tc .tc-stale,.tc .tc-warning{color:#ffd19c}.tc .tc-unknown{color:#cfc3a5}
.tc .tc-estimate,.tc .tc-estimate .tc-table{color:var(--tex-ink)}.tc .tc-estimate .tc-table th,.tc .tc-estimate .tc-table tbody>tr{background:none;color:inherit}
.tc .tc-estimate .tc-table td{border-bottom:1px solid #8a6a3a}.tc .tc-estimate .tc-meta,.tc .tc-estimate small{color:var(--tex-ink-muted)}
.tc .tc-scope,.tc .tc-controls{display:flex;flex-wrap:wrap;gap:18px;align-items:end;margin:20px 0}.tc label{display:block}
.tc .wgf-select,.tc input.wgf-input{font:16px/1.4 "FrizQT",serif;color:#ffd100;border:0;box-shadow:none;max-width:100%}
.tc input.wgf-input{display:block;padding:0 14px;color:#f4ecd8;width:100%;font-family:"ArialN",sans-serif}.tc input[type=number]{width:110px}
.tc .wgf-btn-red{font:16px/1 "FrizQT",serif;text-decoration:none;box-shadow:none;filter:none;text-shadow:none}.tc button{cursor:pointer}.tc .tc-primary{margin-top:18px}
/* Keep padding equal to the client caps; reserve checkmark space inside the center tile. */
.tc .wgf-checkbutton{display:inline-flex;position:relative;gap:8px;min-width:100px;padding:0 var(--wgf-btn-cap);font-size:16px;white-space:nowrap;cursor:pointer}
.tc .wgf-checkbutton::before{position:static;flex:0 0 14px}
/* Equal marker slots keep the label centered with either checkbox state. */
.tc .wgf-checkbutton::after{content:"";display:block;flex:0 0 14px;width:14px}
.tc .tc-checkbutton-label{display:inline-block}
.tc .tc-ingredient{display:block;margin:4px 0}
.tc .tc-guidance p{max-width:960px}
.tc .wgf-checkbutton input{position:absolute;inset:0;margin:0;width:100%;height:100%;opacity:0;cursor:pointer}.tc .wgf-checkbutton:focus-within{outline:2px solid #ffd100;outline-offset:3px}
.tc details{margin:16px 0}.tc details>summary{font-size:16px}.tc .tc-recipe-list{max-height:440px;overflow:auto}.tc .tc-scroll{overflow-x:auto}
.tc .tc-preview{font-size:16px;margin:14px 0;color:#cfc3a5}.tc .tc-facts{display:grid;grid-template-columns:230px minmax(0,1fr);gap:12px;margin:16px 0;padding:14px 18px}
.tc .tc-facts dt{font-weight:bold}.tc .tc-facts dd{margin:0;overflow-wrap:anywhere}.tc .wgf-tex-icon-frame{float:right;margin:0 0 16px 20px}.tc .tc-material-icon{width:44px;height:44px}
.tc .tc-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.tc [hidden]{display:none!important}.tc .wgf-window__tabs{margin:0;padding:0;gap:0;flex-wrap:wrap}
.tc .wgf-tab{font:16px/1.3 "FrizQT",serif;text-decoration:none;box-shadow:none;filter:none}.tc .tc-art-credit{font-size:14px;color:#cfc3a5;margin-top:14px}
@media(max-width:650px){.tc{padding:18px 12px;font-size:17px}.tc .wgf-window__body{padding:20px 16px}.tc .wgf-window__title{padding:20px 26px}.tc h1{font-size:23px}.tc .tc-estimate{padding:30px 24px}.tc .tc-facts{grid-template-columns:1fr;gap:6px}.tc .tc-facts dd{margin-bottom:8px}.tc .tc-controls>label,.tc .tc-scope>label{width:100%}.tc .tc-table td,.tc .tc-table th{padding:10px;min-width:90px;font-size:16px}.tc .wgf-tab{font-size:14px}}

.tc code{font:inherit}.tc input[type=checkbox]{font-family:"FrizQT",serif}.tc .wgf-ad-slot__label{font-family:"ArialN",sans-serif}

/* Item identity remains inside one focusable first-party tooltip anchor. */
.tc .tc-item-link{display:inline-flex;align-items:center;gap:10px;vertical-align:middle}
.tc .tc-item-link .tc-item-art{display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;padding:3px;box-sizing:border-box;float:none;margin:0}
.tc .tc-item-link .wgf-icon{display:block;width:32px;height:32px;object-fit:contain;margin:0}
.tc .tc-item-art--unknown{border:1px solid currentColor;opacity:.5}
.tc .tc-item-link+small{padding-left:48px}
.tc .tc-estimate .tc-item-link{color:var(--tex-ink)}

/* Complete client border: four isolated metal corners left the sides unfinished. */
.tc .tc-window::before{inset:0;box-sizing:border-box;border:12px solid transparent;border-image:url(/assets/ui/blizzard/tooltip-border-9slice.png) 16 / 12px / 0 round;background:none}
/* Preserve the real AH button endcaps; stretch its center, not its transparent gutter. */
.tc .wgf-disclosure>summary{display:flex;align-items:center;box-sizing:border-box;min-height:48px;padding:12px 24px 12px 58px;border:0;border-image:url(/assets/ui/auctionhouse-nav-button-secondary-inset.png) 10 16 10 16 fill / 10px 16px / 0 stretch;background:none;line-height:1.5}
.tc .wgf-disclosure>summary::before{left:24px;top:50%;transform:translateY(-50%)}

/* Hallmark · genre: editorial · tone: Warcraft guide · macrostructure: contents rail + skill chapters.
   Existing Blizzard marble, parchment, FrizQT and ArialN remain the visual system.
   Pre-emit critique: P4 H5 E4 S5 R4 V4. */
.tc:has(.tc-guide-layout){--guide-space-xs:8px;--guide-space-sm:12px;--guide-space-md:16px;--guide-space-lg:24px;--guide-space-xl:40px;--guide-rule:#8a6a3a;--guide-frame-width:34px;max-width:1280px}
.wgf-shell-page main .tc:has(.tc-guide-layout) .wgf-window__title{justify-content:flex-start;text-align:left;padding:32px}
.tc:has(.tc-guide-layout) h1{font-size:clamp(26px,2.2vw,34px);line-height:1.2;overflow-wrap:anywhere}
.tc:has(.tc-guide-layout) .tc-lead{max-width:65ch;font-size:21px;margin-bottom:var(--guide-space-xs)}
.tc:has(.tc-guide-layout) .tc-guide-byline{font-size:15px;color:var(--wgf-muted);margin:0 0 var(--guide-space-md)}
.tc:has(.tc-guide-layout) .tc-preview{font-size:14px;overflow-wrap:anywhere}
.tc .tc-guide-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--guide-space-xl);align-items:start}
.tc .tc-guide-body{min-width:0}
.tc .tc-guide-contents{padding:0;margin:var(--guide-space-lg) 0 0;min-width:0}
.tc .tc-guide-contents h2{font-size:18px;margin-bottom:var(--guide-space-sm)}
.tc .tc-guide-contents ol{display:flex;flex-wrap:wrap;gap:var(--guide-space-xs) var(--guide-space-md);list-style:none;margin:0;padding:0}
.tc .tc-guide-contents a{display:inline-block;font-size:16px;white-space:nowrap;padding:var(--guide-space-xs) 0}
.tc .tc-guide-body>section,.tc .tc-guide-body>form{margin:var(--guide-space-xl) 0}
.tc .tc-guide-body>#before-you-start{margin-top:0}
.tc .tc-guide-body p{max-width:65ch}
.tc .tc-guide-body h2{font-size:26px;line-height:1.25;margin-bottom:var(--guide-space-md)}
.tc .tc-plan-main{display:flex;flex-wrap:wrap;align-items:end;gap:var(--guide-space-md);margin:var(--guide-space-lg) 0}
.tc .tc-plan-main label{width:100%;min-width:0}
.tc .tc-plan-main label:first-child{flex:1 1 240px}
.tc .tc-plan-main .wgf-select{width:100%}
.tc .tc-plan-main input[type=number]{width:100%}
.tc .tc-guide-body .tc-controls{gap:var(--guide-space-md);margin:var(--guide-space-lg) 0}
.tc .tc-guide-body .tc-controls>label{width:100%;min-width:0}
.tc .tc-guide-body .tc-controls .wgf-select{width:100%}
.tc .tc-guide-body .tc-primary{margin-top:var(--guide-space-xs)}
.tc .tc-guide-body .wgf-select,.tc .tc-guide-body input.wgf-input{max-width:100%;min-width:0}
.tc .tc-guide-body #basket .tc-price{font-size:21px}
.tc .tc-guide-body #basket .tc-meta{font-size:14px}
.tc .tc-guide-body .tc-basket-note{font-size:16px;color:var(--wgf-muted)}
.tc .tc-guide-body #route{padding:calc(var(--guide-frame-width) + var(--guide-space-sm));margin-top:var(--guide-space-xl)}
.tc .tc-guide-body #route h2,.tc .tc-guide-body #route h3,.tc .tc-guide-body #route h4,.tc .tc-guide-body #route a{color:var(--tex-ink)}
.tc .tc-guide-body #route>h2{font-size:28px}
.tc .tc-guide-chapter{margin:var(--guide-space-xl) 0 0;padding:var(--guide-space-lg) 0 0;border-top:1px solid var(--guide-rule)}
.tc .tc-guide-chapter h3{font-size:25px;line-height:1.3;margin:0 0 var(--guide-space-sm)}
.tc .tc-guide-chapter h3 span{white-space:nowrap;font-size:20px}
.tc .tc-guide-body .tc-chapter-lead{font-size:17px;margin:0 0 var(--guide-space-lg)}
.tc .tc-guide-step{padding:var(--guide-space-lg) 0}
.tc .tc-guide-step+.tc-guide-step{border-top:1px solid var(--guide-rule)}
.tc .tc-guide-step h4{font:20px/1.3 "FrizQT",serif;margin:0 0 var(--guide-space-sm)}
.tc .tc-step-recipe{font-size:21px;line-height:1.35}
.tc .tc-guide-step p{margin:var(--guide-space-sm) 0}
.tc .tc-guide-step .tc-step-label{font-size:15px;margin-bottom:var(--guide-space-xs)}
.tc .tc-step-ingredients{display:flex;flex-wrap:wrap;gap:var(--guide-space-xs) var(--guide-space-lg)}
.tc .tc-step-ingredients .tc-ingredient{margin:0;font-size:17px}
.tc .tc-step-ingredients .tc-item-link{gap:var(--guide-space-xs)}
.tc .tc-step-ingredients .tc-item-art{flex-basis:30px;width:30px;height:30px}
.tc .tc-step-ingredients .wgf-icon{width:24px;height:24px}
.tc .tc-step-preparation{margin:var(--guide-space-md) 0;font-size:17px}
.tc .tc-step-preparation .tc-item-art{width:30px;height:30px;flex-basis:30px}
.tc .tc-step-preparation .wgf-icon{width:24px;height:24px}
.tc .tc-guide-step .tc-step-note{font-size:17px}
.tc .tc-guide-step small{font-size:14px}
.tc .tc-guide-body #training{margin:var(--guide-space-xl) 0}
.tc .tc-guide-body #guide-sources{font-size:16px}
.tc .tc-guide-body [id]{scroll-margin-top:var(--guide-space-lg)}
.tc .tc-guide-body #route summary{color:var(--wgf-gold)}
.tc .tc-guide-body a:focus-visible,.tc .tc-guide-contents a:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.tc .tc-guide-body #basket table,.tc .tc-guide-body #training table{table-layout:fixed}
.tc .tc-guide-body #basket thead,.tc .tc-guide-body #training thead{display:none}
.tc .tc-guide-body #basket tr,.tc .tc-guide-body #training tr{display:block;padding:var(--guide-space-sm) 0}
.tc .tc-guide-body #basket td,.tc .tc-guide-body #training td{display:block;min-width:0;padding:var(--guide-space-xs);overflow-wrap:anywhere}
.tc .tc-guide-body #basket td::before,.tc .tc-guide-body #training td::before{content:attr(data-label);display:block;font-size:14px;color:var(--wgf-muted)}
.tc .tc-guide-body .tc-recipe-list table{width:100%}
.tc .tc-guide-body .tc-recipe-list thead{display:none}
.tc .tc-guide-body .tc-recipe-list tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--guide-space-xs);padding:var(--guide-space-md) 0}
.tc .tc-guide-body .tc-recipe-list td{min-width:0;padding:var(--guide-space-xs);font-size:16px}
.tc .tc-guide-body .tc-recipe-list td:first-child{grid-column:1/-1}
.tc .tc-guide-body .tc-recipe-list td:not(:first-child){text-align:center}
.tc .tc-guide-body .tc-recipe-list .wgf-checkbutton{min-width:0;width:100%;box-sizing:border-box;font-size:14px;gap:4px}
@media(min-width:40rem){
 .tc .tc-plan-main label{width:auto;flex:0 1 110px}.tc .tc-plan-main label:first-child{flex:1 1 240px}
 .tc .tc-guide-body .tc-controls>label{width:auto;flex:1 1 240px}
 .tc .tc-guide-body #route{padding:calc(var(--guide-frame-width) + var(--guide-space-lg))}
 .tc .tc-guide-body #basket thead,.tc .tc-guide-body #training thead{display:table-header-group}
 .tc .tc-guide-body #basket tr,.tc .tc-guide-body #training tr{display:table-row}
 .tc .tc-guide-body #basket td,.tc .tc-guide-body #training td{display:table-cell;padding:var(--guide-space-sm)}
 .tc .tc-guide-body #basket td::before,.tc .tc-guide-body #training td::before{display:none}
 .tc .tc-guide-body .tc-recipe-list thead{display:table-header-group}
 .tc .tc-guide-body .tc-recipe-list tr{display:table-row}
 .tc .tc-guide-body .tc-recipe-list td{padding:var(--guide-space-sm)}
 .tc .tc-guide-body .tc-recipe-list .wgf-checkbutton{font-size:16px;width:auto;min-width:100px;gap:8px}
}
@media(min-width:65rem){
 .tc .tc-guide-layout{grid-template-columns:200px minmax(0,1fr);gap:32px;margin-top:var(--guide-space-xl)}
 .tc .tc-guide-contents{position:sticky;top:var(--guide-space-lg);margin:0}
 .tc .tc-guide-contents ol{display:block}
 .tc .tc-guide-contents li{margin-bottom:var(--guide-space-xs)}
 .tc .tc-guide-contents li:nth-child(4){margin-top:var(--guide-space-md)}
}

@media(max-width:39.99rem){
 .tc:has(.tc-guide-layout){padding-inline:4px}
 .tc:has(.tc-guide-layout) .wgf-window__body{padding-inline:12px}
 .wgf-shell-page main .tc:has(.tc-guide-layout) .wgf-window__title{padding:24px}
 .tc .tc-guide-body #route{padding:24px}
 .tc .tc-guide-body #route::before{box-sizing:border-box;background:none;border:12px solid transparent;border-image:url(/assets/ui/blizzard/tooltip-border-9slice.png) 16 / 12px / 0 round}
 .tc .tc-guide-body .tc-recipe-list tr{grid-template-columns:minmax(0,1fr)}
 .tc .tc-guide-body .tc-recipe-list td:first-child{grid-column:auto}
 .tc .tc-guide-body .tc-recipe-list .wgf-checkbutton{width:auto;min-width:100px;font-size:16px;gap:8px}
}
