/* Build planner: scoped additions to the existing dark/gold visual language. */
.planner-page{--pl-bg:var(--bg);--pl-panel:var(--panel);--pl-card:var(--panel-soft);--pl-line:var(--line);--pl-gold:var(--gold);--pl-text:var(--text);--pl-muted:var(--muted);--pl-red:#f0a398;--pl-green:#a9ccb0;margin:0;background:var(--pl-bg);color:var(--pl-text);font:14px/1.7 var(--font)}
.planner-page *{box-sizing:border-box}.pl-container a,.pl-dialog a{color:var(--pl-gold);text-decoration:none}.pl-container a:hover,.pl-dialog a:hover{text-decoration:underline}.planner-page button,.planner-page input,.planner-page select,.planner-page textarea{font:inherit}.planner-page button{cursor:pointer}.planner-page button:disabled{opacity:.45;cursor:not-allowed}.planner-page :focus-visible{outline:2px solid var(--pl-gold);outline-offset:3px}

.pl-container{margin:0 auto;padding:30px 0 54px}.pl-breadcrumb{display:flex;gap:12px;font-size:11px;color:var(--pl-muted);margin-bottom:26px}.pl-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px}.pl-eyebrow{font:10px/1.4 Georgia,serif;letter-spacing:2.3px;color:var(--pl-gold);margin:0 0 8px}.pl-intro h1{font:500 clamp(26px,3vw,33px)/1.5 var(--serif);letter-spacing:.08em;margin:0 0 8px;color:var(--pl-text)}.pl-intro p:not(.pl-eyebrow){color:var(--pl-muted);margin:0;font-size:13px}.pl-text-link{font-size:12px;white-space:nowrap}.pl-panel{background:var(--pl-panel);border:1px solid var(--pl-line);border-radius:4px;padding:20px}.pl-loading{text-align:center;padding:60px;color:var(--pl-muted)}.pl-status:empty{display:none}.pl-status{border:1px solid #766846;background:#302d22;padding:10px 15px;border-radius:5px;margin-bottom:16px;font-size:13px}.pl-status[data-error="true"]{border-color:#8b5149;background:#322322;color:#f5c3ba}
.pl-intro .pl-scope-summary{max-width:880px;margin-top:12px!important;padding:10px 13px;border-left:2px solid var(--pl-gold);background:#c2a1660a;font-size:11px!important;line-height:1.85}.pl-scope-summary strong{color:var(--pl-gold);font-weight:500}
.pl-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin-bottom:18px}.pl-toolbar>.pl-btn{min-height:42px;white-space:nowrap}.pl-build-name>.pl-input{display:block;min-height:42px}.pl-build-name{flex:1;min-width:180px;max-width:360px}.pl-btn{display:inline-flex;gap:7px;align-items:center;justify-content:center;border:1px solid #5a5544;border-radius:5px;background:var(--pl-card);color:var(--pl-text);padding:8px 13px;font-size:12px;min-height:38px}.pl-btn:hover{background:#282b23;border-color:var(--pl-gold)}.pl-btn-primary{background:var(--pl-gold);color:#171914;border-color:var(--gold-light);font-weight:700}.pl-btn-primary:hover{background:var(--gold-light);color:#171914}.pl-btn-quiet{background:transparent;color:var(--pl-muted);border-color:var(--pl-line)}.pl-icon-btn{border:0;background:transparent;color:var(--pl-muted);padding:4px 9px;min-height:34px;font-size:17px}.pl-icon-btn:hover{color:var(--pl-gold)}.pl-danger{color:var(--pl-red)}
.pl-layout{display:grid;grid-template-columns:240px minmax(0,1fr) 285px;gap:18px;align-items:start}.pl-settings,.pl-summary{display:grid;gap:16px}.pl-summary{position:sticky;top:16px}.pl-panel h2{font-size:16px;margin:0 0 15px;color:var(--pl-text);font-weight:600}.pl-panel h3{font-size:13px;margin:0 0 10px;color:var(--pl-gold);font-weight:600}.pl-label{display:block;font-size:11px;color:var(--pl-muted);margin-bottom:5px}.pl-field{margin-bottom:13px}.pl-field:last-child{margin-bottom:0}.pl-input,.pl-select,.pl-textarea{width:100%;min-width:0;min-height:39px;padding:7px 10px;border:1px solid #474a40;border-radius:4px;background:var(--pl-bg);color:var(--pl-text)}.pl-input[type=number]{font-variant-numeric:tabular-nums}.pl-textarea{min-height:130px;resize:vertical;font-family:ui-monospace,monospace;font-size:12px}.pl-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pl-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.pl-small{font-size:11px;color:var(--pl-muted)}.pl-help-text{font-size:12px;color:var(--pl-muted);margin:5px 0 12px}.pl-divider{height:1px;background:var(--pl-line);margin:18px 0}.pl-attribute{display:grid;grid-template-columns:1fr 70px;align-items:center;gap:10px;margin:9px 0}.pl-attribute span{font-size:12px}.pl-attribute input{min-height:34px;padding:4px 8px}.pl-points{color:var(--pl-gold);font-size:12px;margin-top:12px}.pl-settings details{border-top:1px solid var(--pl-line);padding-top:12px;margin-top:12px}.planner-page summary{cursor:pointer;color:var(--pl-gold);font-size:12px}.pl-settings details .pl-field{margin-top:10px}
.pl-tabs{display:flex;gap:3px;border-bottom:1px solid var(--pl-line);margin-bottom:18px;overflow:auto}.pl-tab{border:0;background:transparent;color:var(--pl-muted);padding:10px 14px;white-space:nowrap;font-size:13px;border-bottom:2px solid transparent}.pl-tab[aria-selected=true]{color:var(--pl-gold);border-bottom-color:var(--pl-gold);background:linear-gradient(transparent,#37332755)}.pl-panel-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}.pl-panel-bar h2{margin:0}.pl-pill{display:inline-flex;align-items:center;border:1px solid var(--pl-line);border-radius:20px;padding:2px 8px;font-size:10px;color:var(--pl-muted)}.pl-slot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pl-slot{display:flex;flex-direction:column;min-width:0;border:1px solid var(--pl-line);border-radius:6px;background:linear-gradient(135deg,var(--pl-card),var(--pl-panel));padding:12px}.pl-slot-title{display:flex;align-items:center;justify-content:space-between;color:var(--pl-muted);font-size:10px;letter-spacing:.08em;margin-bottom:8px}.pl-slot-content{min-height:57px;display:flex;align-items:center;gap:10px}.pl-slot-glyph{display:flex;justify-content:center;align-items:center;width:34px;height:38px;flex-shrink:0;font-size:19px;color:#bbab83;background:var(--pl-bg);border:1px solid #464534}.pl-slot-name{min-width:0;flex:1}.pl-slot-name strong{display:block;font-size:13px;font-weight:500;color:var(--pl-gold);overflow-wrap:anywhere}.pl-slot-name small{display:block;font-size:10px;color:var(--pl-muted);line-height:1.4;overflow-wrap:anywhere}.pl-slot-empty{border:1px dashed #565643;background:transparent;color:var(--pl-muted);border-radius:4px;padding:12px;flex:1;text-align:left;font-size:12px}.pl-slot-empty:hover{border-color:var(--pl-gold);color:var(--pl-gold)}.pl-slot-actions{display:flex;align-items:center;gap:6px;margin-top:9px}.pl-slot-actions .pl-btn{padding:4px 9px;min-height:29px;font-size:10px}.pl-inline-link{font-size:11px;margin-left:auto}.pl-swap-switch{display:flex;gap:6px;margin:14px 0}.pl-swap-switch .pl-btn[aria-pressed=true]{border-color:var(--pl-gold);color:var(--pl-gold)}.pl-charms{margin-top:18px}.pl-charm-row{display:flex;gap:10px;align-items:center;border-bottom:1px solid var(--pl-line);padding:10px 0;font-size:12px}.pl-charm-row>span{flex:1}.pl-empty-note{padding:18px 12px;border:1px dashed var(--pl-line);border-radius:5px;font-size:12px;color:var(--pl-muted);text-align:center}
.pl-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pl-stat{padding:10px;background:var(--pl-bg);border:1px solid var(--pl-line);border-radius:5px}.pl-stat span{display:block;color:var(--pl-muted);font-size:10px}.pl-stat strong{display:block;color:var(--pl-gold);font-size:22px;font-weight:500;line-height:1.6;font-variant-numeric:tabular-nums}.pl-stat small{font-size:10px}.pl-stat-list{margin:0}.pl-stat-list>div{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--pl-line);font-size:12px}.pl-stat-list dt{color:var(--pl-muted)}.pl-stat-list dd{margin:0;color:var(--pl-text);font-variant-numeric:tabular-nums}.pl-alerts{margin:0;padding-left:17px;font-size:11px;color:var(--pl-muted)}.pl-alerts li{margin:7px 0;overflow-wrap:anywhere}.pl-alerts .error{color:var(--pl-red)}.pl-success{font-size:12px;color:var(--pl-green)}.pl-summary details{margin-top:14px}.pl-unsupported{font-size:11px;color:var(--pl-muted);padding-left:18px;max-height:220px;overflow:auto}.pl-guide-note{padding:12px 16px;margin-bottom:16px;border-left:3px solid var(--pl-gold);background:#23241a;font-size:12px}
.pl-skill-group{margin-bottom:22px}.pl-skill-list{display:grid;gap:6px}.pl-skill-row{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:12px;align-items:center;padding:10px;border:1px solid var(--pl-line);border-radius:5px;background:var(--pl-bg)}.pl-skill-row strong{font-size:13px;font-weight:500;display:block}.pl-skill-row small{font-size:10px;color:var(--pl-muted);display:block}.pl-skill-control{display:flex;align-items:center;gap:3px}.pl-skill-control input{width:47px;text-align:center;min-height:32px;padding:3px}.pl-skill-control button{background:transparent;border:0;color:var(--pl-gold);font-size:19px;padding:2px 5px}.pl-skill-controls{display:flex;gap:10px;margin-bottom:16px}.pl-skill-controls .pl-input{flex:1}.pl-skill-controls .pl-btn{flex-shrink:0}
.pl-dialog{color:var(--pl-text);background:var(--pl-panel);border:1px solid #756442;border-radius:9px;padding:0;width:min(820px,calc(100vw - 32px));max-height:88vh;box-shadow:0 24px 100px #0009}.pl-dialog::backdrop{background:#07090cd9;backdrop-filter:blur(5px)}.pl-dialog-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:17px 22px;background:var(--pl-card);border-bottom:1px solid var(--pl-line)}.pl-dialog-head h2{margin:0;font-size:17px;color:var(--pl-gold)}.pl-dialog-body{padding:20px 22px;overflow:auto}.pl-dialog-search{display:flex;gap:9px;position:sticky;top:0;background:var(--pl-panel);padding-bottom:14px;z-index:1}.pl-search-results{display:grid;gap:7px;margin-top:12px;max-height:54vh;overflow:auto;padding:2px}.pl-search-result{display:flex;width:100%;text-align:left;gap:14px;align-items:center;background:var(--pl-card);border:1px solid var(--pl-line);border-radius:5px;color:var(--pl-text);padding:12px}.pl-search-result:hover{border-color:var(--pl-gold);background:#24271f}.pl-search-result strong{font-size:13px;color:var(--pl-gold);display:block;font-weight:500}.pl-search-result small{font-size:11px;display:block;color:var(--pl-muted)}.pl-search-result .pl-pill{margin-left:auto;flex-shrink:0}.pl-modal-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:18px;margin-top:18px;border-top:1px solid var(--pl-line)}.pl-roll-row{display:grid;grid-template-columns:1fr 100px;align-items:center;gap:14px;margin:12px 0}.pl-roll-row label{font-size:12px}.pl-roll-row small{display:block;color:var(--pl-muted);font-size:10px}.pl-checkbox{display:flex;align-items:center;gap:8px;font-size:12px;margin:12px 0}.pl-checkbox input{accent-color:var(--pl-gold)}.pl-socket-row{display:grid;grid-template-columns:90px 1fr;align-items:center;gap:10px;margin:9px 0;font-size:12px}.pl-equipment-effects{padding-left:18px;font-size:12px;color:var(--pl-muted)}.pl-saved-row{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--pl-line)}.pl-saved-row>div{flex:1}.pl-saved-row strong{display:block;font-size:13px}.pl-saved-row small{font-size:11px;color:var(--pl-muted)}.pl-compare-table{width:100%;border-collapse:collapse;font-size:12px}.pl-compare-table th,.pl-compare-table td{padding:10px;border-bottom:1px solid var(--pl-line);text-align:right}.pl-compare-table th:first-child,.pl-compare-table td:first-child{text-align:left}.pl-positive{color:var(--pl-green)}.pl-negative{color:var(--pl-red)}
.pl-help{margin-top:28px}.pl-help-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.pl-step{font:28px Georgia,serif;color:#776746}.pl-help-grid h3{margin:8px 0;color:var(--pl-text)}.pl-help p{color:var(--pl-muted);font-size:12px}.pl-help details{border-top:1px solid var(--pl-line);padding-top:14px;margin-top:18px}.pl-related-nav{display:flex;gap:22px;flex-wrap:wrap}.pl-preview-error{padding:30px;border:1px solid #8b5149;color:var(--pl-red)}
@media(min-width:1400px){.pl-layout{grid-template-columns:250px minmax(0,1fr) 300px}.pl-slot{padding:15px}}
@media(max-width:1150px){.pl-layout{grid-template-columns:220px minmax(0,1fr)}.pl-summary{position:static;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}.pl-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.pl-stat{padding:8px}.pl-stat strong{font-size:19px}}
@media(max-width:760px){.pl-container{padding:22px 0 38px}.pl-breadcrumb{margin-bottom:20px}.pl-intro{display:block}.pl-intro .pl-text-link{display:inline-block;margin-top:12px}.pl-layout{display:flex;flex-direction:column}.pl-settings,.pl-workspace,.pl-summary{width:100%}.pl-settings{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pl-panel{padding:15px}.pl-settings>.pl-panel:first-child{grid-column:1/-1}.pl-settings>.pl-panel:first-child>.pl-settings-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.pl-summary{grid-template-columns:1fr}.pl-help-grid{grid-template-columns:1fr;gap:14px}.pl-help-grid>div{border-bottom:1px solid var(--pl-line);padding-bottom:10px}.pl-toolbar{gap:6px}.pl-build-name{max-width:none;width:100%;flex-basis:100%;margin-bottom:4px}.pl-toolbar .pl-btn{font-size:11px;padding:7px 10px}.pl-slot-grid{gap:8px}.pl-slot{padding:10px}.pl-slot-glyph{display:none}.pl-slot-name strong{font-size:12px}.pl-slot-actions{flex-wrap:wrap}.pl-dialog-body{padding:16px}.pl-dialog-head{padding:13px 16px}.pl-dialog-search{flex-wrap:wrap}.pl-dialog-search .pl-input{flex:1;min-width:180px}.pl-three{grid-template-columns:1fr}.pl-roll-row{grid-template-columns:1fr 85px}}
@media(prefers-reduced-motion:reduce){.planner-page *{scroll-behavior:auto!important}}
.planner-page .pl-recommendations{margin:16px 0 24px;padding:16px;border:1px solid #574e39;border-radius:6px;background:#1c2017}.planner-page .pl-recommendations>details>summary{cursor:pointer;color:var(--gold-light);font-weight:600;font-size:14px}.planner-page .pl-rec-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.planner-page .pl-rec-group h4{font-size:13px;font-weight:500;color:var(--pl-gold);margin:16px 0 8px}.planner-page .pl-rec-grid{display:grid;grid-template-columns:1fr;gap:10px}.planner-page .pl-rec-card{padding:13px;border:1px solid #414739;border-radius:5px;background:var(--pl-panel)}.planner-page .pl-rec-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.planner-page .pl-rec-title strong{font-size:13px}.planner-page .pl-rec-title small{display:block;font-size:10px;color:var(--pl-muted)}.planner-page .pl-rec-card>p{font-size:12px;line-height:1.8;margin:9px 0;color:var(--pl-text)}.planner-page .pl-rec-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.planner-page .pl-rec-actions>a{font-size:11px;color:var(--pl-gold)}.planner-page .pl-rec-actions .pl-btn{font-size:11px;padding:7px 10px}@media(max-width:520px){.planner-page .pl-rec-options{grid-template-columns:1fr;gap:0}.planner-page .pl-rec-title{flex-wrap:wrap}.planner-page .pl-recommendations{padding:12px}}

/* Keep editor grids and long imported names inside the common page width. */
.pl-layout>*,
.pl-settings>*,
.pl-summary>*,
.pl-slot,
.pl-skill-row>div,
.pl-search-result>span,
.pl-rec-title>div,
.pl-saved-row>div{min-width:0}
.pl-panel h2,.pl-panel h3,.pl-dialog h2{overflow-wrap:anywhere}
.pl-saved-row strong,.pl-saved-row small,.pl-search-result strong,.pl-search-result small,.pl-rec-title strong,.pl-rec-title small{overflow-wrap:anywhere}
.pl-textarea,.pl-dialog-body{overflow-wrap:anywhere}
.pl-dialog{max-height:88dvh}
.pl-modal-actions{flex-wrap:wrap}
.pl-intro{padding-bottom:24px;border-bottom:1px solid var(--pl-line)}
.pl-eyebrow{display:flex;align-items:center;gap:11px}
.pl-eyebrow:before{content:"";width:29px;height:1px;background:var(--pl-gold)}
@media(max-width:480px){
  .pl-settings,.pl-settings>.pl-panel:first-child>.pl-settings-fields,.pl-slot-grid,.pl-rec-options{grid-template-columns:minmax(0,1fr)}
  .pl-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pl-panel-bar{align-items:flex-start;flex-wrap:wrap}
  .pl-skill-controls{flex-wrap:wrap}
  .pl-dialog-search .pl-input{min-width:0;flex-basis:100%}
  .pl-socket-row{grid-template-columns:minmax(0,1fr)}
  .pl-compare-table{font-size:11px;table-layout:fixed}
  .pl-compare-table th,.pl-compare-table td{padding:8px 4px;overflow-wrap:anywhere}
  .pl-btn,.pl-input,.pl-select{min-height:42px}
}
