.cb{--cb-bg:#10141b;--cb-panel:#191f28;--cb-inset:#12171f;--cb-line:#2e3743;--cb-text:#e6eaf0;--cb-muted:#929eaf;--cb-accent:#e6b56f;--cb-blue:#79b9ed;background:var(--cb-bg);color:var(--cb-text);min-height:calc(100vh - 70px);font:14px/1.5 system-ui,-apple-system,"Microsoft YaHei",sans-serif;padding:24px max(20px,calc((100vw - 1720px)/2));color-scheme:dark}
.cb *{box-sizing:border-box}.cb button,.cb input,.cb select,.cb textarea{font:inherit}.cb button{cursor:pointer;color:inherit}.cb button:disabled{cursor:not-allowed;opacity:.4}.cb button,.cb input,.cb select,.cb textarea{border:1px solid var(--cb-line);border-radius:6px;background:var(--cb-inset)}.cb input,.cb select,.cb textarea{padding:9px 11px;color:var(--cb-text);max-width:100%}.cb input[type=checkbox]{width:17px;height:17px;accent-color:var(--cb-accent)}.cb button:focus-visible,.cb input:focus-visible,.cb select:focus-visible,.cb textarea:focus-visible,.cb a:focus-visible{outline:2px solid var(--cb-blue);outline-offset:3px}.cb button:hover:not(:disabled){border-color:var(--cb-accent);background:#242b35}.cb h1,.cb h2,.cb h3,.cb p{margin:0}.cb h1{font-size:24px;font-weight:700;letter-spacing:.03em}.cb h2{font-size:18px}.cb h3{font-size:14px;font-weight:600}.cb a{color:var(--cb-blue)}.cb small,.cb .muted{color:var(--cb-muted)}.cb svg{width:22px;height:22px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.cb .cb-btn{padding:8px 13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.cb .cb-primary{background:#d6a45e;color:#17191f;border-color:#e3b16e;font-weight:650}.cb .cb-primary:hover:not(:disabled){background:#e6b56f;color:#10141b}.cb .cb-danger{color:#ee9a9a}.cb .cb-link{border:0;background:transparent;color:var(--cb-blue);padding:3px 0}.cb .cb-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px}.cb .cb-top{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:22px}.cb .cb-top-title{display:flex;gap:14px;align-items:center}.cb .cb-crest{width:50px;height:54px;display:grid;place-items:center;color:var(--cb-accent);background:linear-gradient(150deg,#443625,#171c25);border:1px solid #6d5534;border-radius:12px}.cb .cb-crest svg{width:30px;height:30px}.cb .cb-eyebrow{font-size:11px;letter-spacing:.16em;color:var(--cb-accent);margin-bottom:3px}.cb .cb-meta{display:flex;align-items:center;gap:9px;color:var(--cb-muted);font-size:12px;margin-top:5px}.cb .cb-dot{width:5px;height:5px;border-radius:50%;background:#626f7e}.cb .cb-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.cb .cb-status{font-size:12px;color:var(--cb-muted);margin-right:6px;max-width:240px}.cb .cb-status.error{color:#f3a59b}.cb .cb-layout{display:grid;grid-template-columns:240px 142px minmax(320px,1fr) 268px;gap:16px;align-items:start}.cb .cb-panel{background:var(--cb-panel);border:1px solid var(--cb-line);border-radius:8px;overflow:hidden}.cb .cb-sidebar{padding:10px}.cb .cb-progress{display:flex;text-align:left;width:100%;gap:10px;align-items:center;padding:11px 9px;margin-bottom:8px;background:#202732;border-color:#303946;min-height:67px}.cb .cb-progress>svg{width:23px;color:#b7bec9}.cb .cb-progress-body{flex:1;min-width:0}.cb .cb-progress-body b{display:block;font-size:12px;margin-top:2px;font-weight:500;color:var(--cb-muted)}.cb .cb-progress>span:last-child{color:var(--cb-blue);font-size:12px}.cb .cb-section-title{display:flex;align-items:center;justify-content:space-between;padding:16px 3px 9px}.cb .cb-build-card{padding:12px;width:100%;text-align:left;margin-bottom:7px;background:var(--cb-inset)}.cb .cb-build-card.active{border-color:var(--cb-accent);box-shadow:inset 3px 0 var(--cb-accent);background:#2a2927}.cb .cb-mini-slots{display:flex;gap:4px;margin-top:9px}.cb .cb-mini-slots span{width:27px;height:27px;border:1px solid #39404a;border-radius:4px;display:grid;place-items:center;color:#5c6675}.cb .cb-mini-slots img{width:100%;height:100%;object-fit:contain}.cb .cb-wide{width:100%}.cb .cb-account-note{font-size:11px;color:var(--cb-muted);padding:13px 4px 3px;line-height:1.8}.cb .cb-gear{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:4px}.cb .cb-slot{aspect-ratio:1;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(145deg,#252c36,#11151c);border-radius:3px;min-width:0;color:#768292;overflow:hidden}.cb .cb-slot svg{width:29px;height:29px;opacity:.7}.cb .cb-slot small{font-size:9px;white-space:nowrap;position:absolute;bottom:2px;text-shadow:0 1px 4px #000}.cb .cb-slot img{width:100%;height:100%;object-fit:contain}.cb .cb-slot.selected{outline:2px solid var(--cb-accent);outline-offset:2px}.cb .cb-slot .cb-enchant{position:absolute;bottom:2px;right:4px;color:#fff;text-shadow:0 1px 3px #000;font-weight:700}.cb .cb-slot.grade-Epic,.cb .grade-Epic{border-color:#d08942}.cb .grade-Unique{border-color:#b896df}.cb .grade-Legend{border-color:#539cd5}.cb .grade-Rare{border-color:#72a77c}.cb .cb-tabs{display:flex;border-bottom:1px solid var(--cb-line);padding:0 12px;gap:3px;background:#1a2029}.cb .cb-tab{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;padding:15px 14px;color:var(--cb-muted);display:flex;gap:7px;align-items:center;justify-content:center;flex:1}.cb .cb-tab svg{width:17px;height:17px}.cb .cb-tab.active{border-bottom-color:var(--cb-accent);color:var(--cb-accent);background:#24262a}.cb .cb-editor{padding:20px;min-height:680px}.cb .cb-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.cb .cb-subtitle{color:var(--cb-muted);font-size:12px;margin-top:4px}.cb .cb-toolbar{display:flex;gap:8px;margin:14px 0;flex-wrap:wrap}.cb .cb-toolbar input{flex:1;min-width:140px}.cb .cb-toolbar select{max-width:150px}.cb .cb-results{display:grid;grid-template-columns:1fr 1fr;gap:7px;max-height:560px;overflow:auto}.cb .cb-result{display:flex;align-items:center;gap:10px;text-align:left;padding:9px;min-height:66px;width:100%}.cb .cb-result img,.cb .cb-item-image{width:42px;height:42px;object-fit:contain;border:1px solid #414753;border-radius:4px;flex-shrink:0}.cb .cb-result b{display:block;font-size:12px;font-weight:500}.cb .cb-result small{display:block;font-size:11px;margin-top:3px}.cb .cb-placeholder{width:42px;height:42px;display:grid;place-items:center;color:#9ba8b7;flex-shrink:0;border:1px solid var(--cb-line);border-radius:4px}.cb .cb-selected-item{display:flex;align-items:center;gap:13px;padding:15px;background:linear-gradient(110deg,#332c25,#171e28);border:1px solid #695436;border-radius:7px;margin-bottom:20px}.cb .cb-selected-item img{width:64px;height:64px}.cb .cb-selected-item .cb-actions{margin-left:auto}.cb .cb-block{margin:20px 0}.cb .cb-block>h3{margin-bottom:12px;color:#d9dfe8}.cb .cb-level-control{display:flex;gap:12px;align-items:center}.cb .cb-level-control input[type=range]{padding:0;flex:1;accent-color:var(--cb-accent)}.cb .cb-level-control select{width:90px}.cb .cb-stat-list{border:1px solid var(--cb-line);border-radius:5px;overflow:hidden}.cb .cb-stat-line{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;font-size:12px;border-bottom:1px solid #2a323d}.cb .cb-stat-line:last-child{border:0}.cb .cb-stat-line:nth-child(2n){background:#151b24}.cb .cb-stat-line strong{font-variant-numeric:tabular-nums;font-weight:500}.cb .cb-roll{display:flex;gap:7px;align-items:center;margin:8px 0}.cb .cb-roll select{flex:1;min-width:0}.cb .cb-roll input{width:93px}.cb .cb-roll .cb-btn{padding:7px;font-size:12px}.cb .cb-hint{padding:11px 12px;background:#202934;border:1px solid #354452;border-radius:5px;color:#afbfce;font-size:12px;line-height:1.8;margin:12px 0}.cb .cb-empty{text-align:center;color:var(--cb-muted);padding:55px 16px}.cb .cb-empty svg{width:45px;height:45px;color:#68788b;margin-bottom:14px}.cb .cb-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:12px;font-size:12px}.cb .cb-stats{position:sticky;top:84px}.cb .cb-score{padding:17px;background:linear-gradient(115deg,#292b31,#191f28);border-bottom:1px solid var(--cb-line)}.cb .cb-score strong{font-size:28px;display:block;color:var(--cb-accent);font-variant-numeric:tabular-nums}.cb .cb-stat-body{padding:12px;max-height:calc(100vh - 255px);overflow:auto}.cb .cb-stat-body>input{width:100%;margin-bottom:12px}.cb .cb-stat-group{margin-bottom:13px;border:1px solid var(--cb-line);border-radius:5px;overflow:hidden}.cb .cb-stat-group h3{font-size:12px;padding:9px;background:#242c37}.cb .cb-stat-group details{border-bottom:1px solid #29323d}.cb .cb-stat-group summary{display:flex;justify-content:space-between;gap:8px;padding:7px 9px;font-size:12px;cursor:pointer;list-style:none}.cb .cb-stat-group details[open] summary{color:var(--cb-accent)}.cb .cb-breakdown{padding:0 9px 7px;font-size:10px;color:var(--cb-muted)}.cb .cb-breakdown>div{display:flex;justify-content:space-between;gap:10px;margin:4px 0}.cb .cb-skill{border:1px solid var(--cb-line);border-radius:6px;margin:9px 0;overflow:hidden}.cb .cb-skill summary{display:flex;align-items:center;gap:10px;padding:12px;cursor:pointer;list-style:none}.cb .cb-skill summary>div{flex:1}.cb .cb-skill summary b{font-size:13px}.cb .cb-skill-body{padding:0 14px 15px}.cb .cb-skill-desc{white-space:pre-line;color:var(--cb-muted);font-size:12px;margin:10px 0}.cb .cb-specialty{display:flex;gap:8px;align-items:flex-start;padding:8px;border:1px solid var(--cb-line);border-radius:5px;font-size:12px;margin-top:7px}.cb .cb-specialty input{flex-shrink:0}.cb .cb-board-tabs{display:flex;gap:7px;overflow:auto;padding:0 0 12px}.cb .cb-board-tabs button{white-space:nowrap;padding:8px 11px;font-size:12px}.cb .cb-board-tabs button.active{border-color:var(--cb-accent);color:var(--cb-accent)}.cb .cb-board-wrap{overflow:auto;background:radial-gradient(ellipse at center,#232d3b,#111820);padding:16px;border:1px solid #35404e;border-radius:6px}.cb .cb-board{display:grid;gap:5px;width:max-content;margin:auto}.cb .cb-node{width:28px;height:28px;font-size:9px;border-radius:50%;padding:0;color:#7d8da2;background:#18202c;border:1px solid #40506a}.cb .cb-node.active{background:#b6833f;color:#fff;border-color:#f3c783;box-shadow:0 0 8px #dfb16955}.cb .cb-node:hover{transform:scale(1.15)}.cb .cb-node-info{min-height:65px;padding:14px;color:var(--cb-muted);font-size:12px}.cb .cb-description{width:100%;min-height:330px;resize:vertical;line-height:1.8}.cb .cb-description-preview{white-space:pre-wrap;line-height:1.9;overflow-wrap:anywhere;padding:18px;border:1px solid var(--cb-line);border-radius:6px;min-height:150px}.cb .cb-dialog{padding:0;background:var(--cb-panel);color:var(--cb-text);border:1px solid #465263;border-radius:12px;width:min(820px,calc(100vw - 28px));max-height:85vh;box-shadow:0 30px 100px #0009}.cb .cb-dialog::backdrop{background:#050911bd;backdrop-filter:blur(3px)}.cb .cb-dialog-head{padding:18px 22px;border-bottom:1px solid var(--cb-line);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:var(--cb-panel);z-index:2}.cb .cb-dialog-body{padding:20px 22px;max-height:65vh;overflow:auto}.cb .cb-dialog-footer{padding:14px 22px;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--cb-line);background:#161d27}.cb .cb-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cb .cb-field{display:flex;flex-direction:column;gap:7px;font-size:12px}.cb .cb-field.full{grid-column:1/-1}.cb .cb-collection-row{display:flex;gap:10px;align-items:center;padding:11px;border:1px solid var(--cb-line);border-radius:6px;margin:7px 0}.cb .cb-collection-row>div{flex:1}.cb .cb-collection-row small{display:block;margin-top:4px;font-size:11px}.cb .cb-collection-row label{display:flex;gap:9px;align-items:center;flex:1}.cb .cb-collection-row select{max-width:115px}.cb .cb-collection-row button{font-size:11px}.cb .cb-collection-list{max-height:400px;overflow:auto}.cb .cb-points-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.cb .cb-point-row{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:11px;background:var(--cb-inset);border:1px solid var(--cb-line);border-radius:6px}.cb .cb-point-row label{font-size:12px}.cb .cb-point-row input{width:86px}.cb .cb-pantheon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.cb .cb-pantheon-grid label{font-size:12px;color:var(--cb-muted)}.cb .cb-pantheon-grid select{display:block;width:100%;margin-top:5px}.cb .cb-compare{width:100%;border-collapse:collapse;font-size:12px}.cb .cb-compare th,.cb .cb-compare td{padding:9px;border:1px solid var(--cb-line);text-align:right}.cb .cb-compare th:first-child,.cb .cb-compare td:first-child{text-align:left}.cb .cb-toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:10000;padding:12px 22px;background:#303d4f;color:#fff;border:1px solid #596a7d;border-radius:7px;box-shadow:0 6px 30px #0008;max-width:90vw}.cb .cb-banner{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:12px 15px;margin-bottom:18px;border:1px solid #506079;background:#203044;border-radius:6px;font-size:12px}.cb .cb-loading{display:grid;justify-items:center;gap:18px;padding:100px 20px}.cb .cb-spinner{width:25px;height:25px;border:2px solid #445163;border-top-color:var(--cb-accent);border-radius:50%;animation:cb-spin .7s linear infinite}.cb fieldset{border:0;margin:0;padding:0;min-width:0}.cb [hidden]{display:none!important}@keyframes cb-spin{to{transform:rotate(360deg)}}
@media(min-width:1600px){.cb .cb-layout{grid-template-columns:260px 148px minmax(400px,1fr) 280px}.cb .cb-editor{min-height:740px}}
@media(max-width:1250px){.cb{padding:20px 15px}.cb .cb-layout{grid-template-columns:210px 116px minmax(280px,1fr)}.cb .cb-stats{grid-column:3;position:static}.cb .cb-stat-body{max-height:none}.cb .cb-editor{min-height:600px}.cb .cb-results{grid-template-columns:1fr}.cb .cb-top{align-items:flex-start}.cb .cb-status{width:100%;max-width:none}.cb .cb-actions{justify-content:flex-end}}
@media(max-width:820px){.cb{padding:15px 10px}.cb .cb-top{flex-direction:column;gap:14px}.cb .cb-top>.cb-actions{width:100%;justify-content:flex-start}.cb .cb-layout{grid-template-columns:94px minmax(0,1fr);gap:10px}.cb .cb-sidebar{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.cb .cb-progress{margin:0;min-height:58px;padding:8px}.cb .cb-progress-body{font-size:12px}.cb .cb-progress-body b{font-size:10px}.cb .cb-section-title,.cb .cb-build-list,.cb .cb-account-note{grid-column:1/-1}.cb .cb-build-list{display:flex;overflow:auto;gap:8px}.cb .cb-build-card{min-width:155px;max-width:210px;margin:0}.cb .cb-mini-slots{display:none}.cb .cb-gear{gap:6px}.cb .cb-slot svg{width:22px;height:22px}.cb .cb-slot small{font-size:8px}.cb .cb-editor{padding:13px;min-height:500px}.cb .cb-tabs{padding:0}.cb .cb-tab{padding:12px 5px;font-size:12px;gap:4px}.cb .cb-tab svg{width:14px}.cb .cb-stats{grid-column:1/-1}.cb .cb-stat-body{display:grid;grid-template-columns:1fr 1fr;gap:9px}.cb .cb-stat-body>input,.cb .cb-stat-body>.cb-hint{grid-column:1/-1}.cb .cb-stat-group{margin:0}.cb .cb-stat-body>.cb-skill{grid-column:1/-1}.cb .cb-selected-item{flex-wrap:wrap;padding:10px}.cb .cb-selected-item img{width:45px;height:45px}.cb .cb-roll{flex-wrap:wrap}.cb .cb-roll select{min-width:100px}.cb .cb-form-grid,.cb .cb-points-grid{grid-template-columns:1fr}.cb .cb-pantheon-grid{grid-template-columns:1fr 1fr}.cb .cb-dialog-body{padding:15px}.cb .cb-title-tools{flex-wrap:wrap}.cb .cb-results{max-height:470px}}
@media(prefers-reduced-motion:reduce){.cb *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.cb .cb-hotbar{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-top:13px}.cb .cb-hotbar-group{display:flex;flex-direction:column;gap:4px;align-items:center}.cb .cb-hotbar-group>button{width:40px;height:40px;padding:2px;color:var(--cb-muted);border-radius:4px}.cb .cb-hotbar-group .cb-item-image{width:33px;height:33px;border:0}.cb .cb-hotbar-group>small{color:var(--cb-accent)}.cb .cb-macro{padding:0 10px 10px}.cb .cb-macro-steps{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.cb .cb-macro-steps button{position:relative;padding:3px}.cb .cb-macro-steps small{margin-left:4px}.cb .cb-hotbar-group button:hover{box-shadow:0 0 0 1px var(--cb-accent)}
@media(min-width:821px){.cb .cb-sidebar,.cb .cb-gear{position:sticky;top:84px;max-height:calc(100vh - 105px);overflow:auto;scrollbar-width:thin}.cb .cb-gear{padding:4px}}
@media(max-width:820px){.cb .cb-hotbar{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Native dialogs keep their own scrolling; never chain wheel movement to the page. */
html:has(.cb dialog[open]),body:has(.cb dialog[open]){overflow:hidden;overscroll-behavior:none} .cb dialog,.cb dialog *{overscroll-behavior:contain}
