.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:1000;justify-content:center;align-items:center;overflow:hidden;touch-action:none}.modal-close{position:absolute;top:-6px;right:6px;font-size:45px;cursor:pointer;color:#000;user-select:none}.modal-content{background:#fff;padding:0;border-radius:8px;max-width:650px;width:90%;height:600px;overflow:hidden;position:fixed;touch-action:none;display:flex;flex-direction:column}.modal-content.save-restore-modal-content{max-width:680px;width:90%;height:680px;padding:10px;box-sizing:border-box;overflow:hidden;touch-action:auto}.modal-content.swap-modal-content{max-width:none;width:auto;height:auto;padding:24px 32px;overflow:visible;display:flex;flex-direction:column;align-items:center;justify-content:center}.character-header{display:flex;align-items:center;gap:16px;margin-bottom:20px}.character-header-img{width:60px;height:60px;border-radius:50%;object-fit:cover;flex-shrink:0}.character-header-info{display:flex;flex-direction:column;gap:6px;min-width:0}.character-header-info h1{font-size:22px;margin:0;line-height:1.2}.character-stats-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px;color:#555}.character-stats-row .stat-icon{width:26px;height:26px;object-fit:contain;display:block;background:#2a2a2a;border-radius:4px}body.dark-mode .character-stats-row .stat-icon{background:transparent;border-radius:0}.character-stats-row .stat-value{padding:2px 6px;background:#f0f0f0;border-radius:4px;font-weight:500;font-variant-numeric:tabular-nums;display:inline-flex;align-items:baseline;gap:4px}.character-stats-row .stat-label{font-size:11px;font-weight:400;color:#888;white-space:nowrap}body.dark-mode .character-stats-row{color:#bbb}body.dark-mode .character-stats-row .stat-value{background:#2a2a2a}body.dark-mode .character-stats-row .stat-label{color:#999}.character-tier-row{display:flex;gap:5.5px;margin-bottom:24px;flex-wrap:wrap}.character-tier-cell{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:71px}.character-tier-tab{font-size:13px;color:#555;font-weight:500}body.dark-mode .character-tier-tab{color:#bbb}.character-tier-cell .tier-label{flex:0 0 auto;width:71px;height:41px;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3);border-radius:6px;white-space:nowrap;overflow:hidden;padding:0 4px;box-sizing:border-box}.character-tier-cell .tier-label.tier-SSS{background:linear-gradient(135deg,#ff3b3b,#c41e1e);color:#fff;text-shadow:-2px -2px 0 #ff0000,0 -2px 0 #ff7f00,2px -2px 0 #ffff00,2px 0 0 #00ff00,2px 2px 0 #0000ff,0 2px 0 #4b0082,-2px 2px 0 #9400d3,-2px 0 0 #ff0000;padding:0 4px 0 1px}@media (max-width: 768px){.character-tier-cell .tier-label.tier-SSS{text-shadow:-1px -1px 0 #ff0000,0 -1px 0 #ff7f00,1px -1px 0 #ffff00,1px 0 0 #00ff00,1px 1px 0 #0000ff,0 1px 0 #4b0082,-1px 1px 0 #9400d3,-1px 0 0 #ff0000}}.character-tier-cell .tier-label.tier-SS{background:linear-gradient(135deg,#f73,#d83b00)}.character-tier-cell .tier-label.tier-S{background:linear-gradient(135deg,#f93,#e07000)}.character-tier-cell .tier-label.tier-A{background:linear-gradient(135deg,#ffd54a,#d4a500)}.character-tier-cell .tier-label.tier-B{background:linear-gradient(135deg,#6c6,#2e8b2e)}.character-tier-cell .tier-label.tier-C{background:linear-gradient(135deg,#69f,#2a5fcc)}.character-tier-cell .tier-label.tier-D{background:linear-gradient(135deg,#999,#666);font-size:18px;letter-spacing:-.5px}.character-tier-cell .character-tier-rate{font-size:12px;font-weight:600;color:#555;line-height:1.2;font-variant-numeric:tabular-nums;width:71px;text-align:center}body.dark-mode .character-tier-cell .character-tier-rate{color:#ddd}.character-tier-cell .character-tier-rate.character-tier-rate-empty{visibility:hidden}.character-tier-row{align-items:flex-start}.character-tier-rate-note{margin-left:auto;align-self:flex-end;font-size:11px;color:#888;white-space:nowrap;padding-bottom:1px}body.dark-mode .character-tier-rate-note{color:#aaa}.char-preview-card .character-tier-cell .character-tier-rate{font-size:11px}.char-preview-card .character-tier-rate-note{font-size:10px}@media (max-width: 768px){.char-preview-card .character-tier-cell .character-tier-rate{width:51px;font-size:10px}.char-preview-card .character-tier-rate-note{font-size:9px}.character-tier-rate-note{font-size:10px}}.character-trend-graph{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.character-trend-row{display:flex;align-items:flex-start;gap:8px;padding:6px 10px;border-radius:8px}.character-trend-row[data-tab=boss]{background-color:#ef44440f}.character-trend-row[data-tab=arena]{background-color:#2563eb0f}body.dark-mode .character-trend-row[data-tab=boss]{background-color:#ef44441f}body.dark-mode .character-trend-row[data-tab=arena]{background-color:#5b95ff1f}.character-trend-row-label{flex:0 0 auto;width:48px;font-size:13px;font-weight:600;color:#555;padding-top:22px;text-align:left}body.dark-mode .character-trend-row-label{color:#bbb}.character-trend-row[data-tab=boss] .character-trend-row-label{padding-top:48px}.character-trend-row-content{display:flex;flex-direction:column;gap:4px}.character-trend-cells{display:flex;gap:5.5px;flex-wrap:nowrap}.character-trend-chart{display:block;width:322px;height:50px;margin-top:2px}.character-trend-chart-line{fill:none;stroke:#2563eb;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.character-trend-chart-dot{fill:#2563eb}body.dark-mode .character-trend-chart-line{stroke:#5b95ff}body.dark-mode .character-trend-chart-dot{fill:#5b95ff}.character-trend-cell{display:flex;flex-direction:column;align-items:center;gap:4px;width:60px;flex:0 0 60px}.character-trend-cell-empty{visibility:hidden}.character-trend-season-num{font-size:11px;color:#888;line-height:1.2;font-variant-numeric:tabular-nums}body.dark-mode .character-trend-season-num{color:#aaa}.character-trend-season-img{width:30px;height:30px;object-fit:contain;border-radius:4px;display:block}.character-trend-season-img-empty{background:transparent;border:1px dashed transparent}.character-trend-cell .tier-label{flex:0 0 auto;width:60px;height:32px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3);border-radius:6px;white-space:nowrap;overflow:hidden;padding:0 4px;box-sizing:border-box}.character-trend-cell .tier-label.tier-SSS{background:linear-gradient(135deg,#ff3b3b,#c41e1e);color:#fff;text-shadow:-1px -1px 0 #ff0000,0 -1px 0 #ff7f00,1px -1px 0 #ffff00,1px 0 0 #00ff00,1px 1px 0 #0000ff,0 1px 0 #4b0082,-1px 1px 0 #9400d3,-1px 0 0 #ff0000;padding:0 4px 0 1px;font-size:14px}.character-trend-cell .tier-label.tier-SS{background:linear-gradient(135deg,#f73,#d83b00)}.character-trend-cell .tier-label.tier-S{background:linear-gradient(135deg,#f93,#e07000)}.character-trend-cell .tier-label.tier-A{background:linear-gradient(135deg,#ffd54a,#d4a500)}.character-trend-cell .tier-label.tier-B{background:linear-gradient(135deg,#6c6,#2e8b2e)}.character-trend-cell .tier-label.tier-C{background:linear-gradient(135deg,#69f,#2a5fcc)}.character-trend-cell .tier-label.tier-D{background:linear-gradient(135deg,#999,#666);font-size:14px;letter-spacing:-.5px}.character-trend-cell .tier-label.tier-empty{background:transparent}.character-trend-rate{font-size:11px;font-weight:600;color:#555;line-height:1.2;font-variant-numeric:tabular-nums;width:60px;text-align:center}body.dark-mode .character-trend-rate{color:#ddd}@media (max-width: 600px){.character-trend-row-label{width:36px;font-size:11px}.character-trend-cells{gap:3px}.character-trend-cell{width:50px;flex:0 0 50px}.character-trend-cell .tier-label{width:50px;height:28px;font-size:15px}.character-trend-cell .tier-label.tier-SSS,.character-trend-cell .tier-label.tier-D{font-size:12px}.character-trend-rate{width:50px;font-size:10px}.character-trend-season-img{width:24px;height:24px}.character-trend-chart{width:262px}}.character-rec-section{margin-bottom:24px}.character-rec-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:2px solid #ddd;flex-wrap:nowrap}.character-rec-tab{padding:10px 20px;font-size:15px;background:#f5f5f5;color:#555;border:none;border-radius:6px 6px 0 0;cursor:pointer;font-weight:500;transition:background-color .15s,color .15s}.character-rec-tab:hover{background-color:#ececec}.character-rec-tab.active{background-color:#c0c;color:#fff}body.dark-mode .character-rec-tabs{border-bottom-color:#333}body.dark-mode .character-rec-tab{background:#2a2a2a;color:#aaa}body.dark-mode .character-rec-tab:hover{background-color:#333}body.dark-mode .character-rec-tab.active{background-color:#c0c;color:#fff}.char-preview-card .char-preview-page-link,.custom-modal-content .char-preview-page-link{display:inline-flex;align-items:center;align-self:center;margin-left:auto;padding:4px 8px;font-size:11px;color:#2563eb;text-decoration:none;border:1px solid #2563eb;border-radius:6px;white-space:nowrap;pointer-events:auto}body.dark-mode .char-preview-card .char-preview-page-link,body.dark-mode .custom-modal-content .char-preview-page-link{color:#5b95ff;border-color:#5b95ff}.char-preview-card .char-preview-page-link-locked,body.dark-mode .char-preview-card .char-preview-page-link-locked,.custom-modal-content .char-preview-page-link-locked,body.dark-mode .custom-modal-content .char-preview-page-link-locked{color:transparent!important;background-color:#78788240;border-color:transparent;user-select:none;pointer-events:none}.custom-loader-page-link-row{display:flex;justify-content:flex-end;margin-bottom:8px}.character-rec-tabs .tier-cross-link,.character-rec-top-link-row .tier-cross-link{padding:6px 14px;font-size:13px;color:#2563eb;text-decoration:none;border:1px solid #2563eb;border-radius:6px;white-space:nowrap;transition:background-color .15s,color .15s}.character-rec-tabs .tier-cross-link{align-self:center;margin-left:auto}.character-rec-top-link-row{display:flex;justify-content:flex-end;margin-bottom:6px}.character-rec-tabs .tier-cross-link:hover,.character-rec-top-link-row .tier-cross-link:hover{background-color:#2563eb;color:#fff}body.dark-mode .character-rec-tabs .tier-cross-link,body.dark-mode .character-rec-top-link-row .tier-cross-link{color:#5b95ff;border-color:#5b95ff}body.dark-mode .character-rec-tabs .tier-cross-link:hover,body.dark-mode .character-rec-top-link-row .tier-cross-link:hover{background-color:#5b95ff;color:#1a1a1a}.character-rec-level{margin-bottom:16px;border:1px solid #e0e0e0;border-radius:6px;padding:12px 14px;background:#fcfcfc}body.dark-mode .character-rec-level{border-color:#333;background:#1f1f1f}.character-rec-level-title{font-size:14px;font-weight:600;margin-bottom:10px;color:#333}body.dark-mode .character-rec-level-title{color:#ddd}.character-rec-level-title small{font-weight:400;font-size:12px;color:#888;margin-left:6px}body.dark-mode .character-rec-level-title small{color:#999}.character-rec-categories{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-start}.character-rec-cat{display:flex;flex-direction:column;gap:4px}.character-rec-cat-label{font-size:11px;color:#888;letter-spacing:.5px}body.dark-mode .character-rec-cat-label{color:#999}.rating-stars{font-size:12px;color:#555;letter-spacing:0;white-space:nowrap;line-height:1;display:inline-block;text-align:left}.rating-slot-empty{color:transparent!important}.rating-stars.rating-empty{color:#ccc}.rating-stars.rating-max{color:#ffd54a}body.dark-mode .rating-stars{color:#ddd}body.dark-mode .rating-stars.rating-empty{color:#555}.character-rec-level .rating-stars.rating-max,body.dark-mode .character-rec-level .rating-stars.rating-max{color:#ffd54a}.option-chip-wrapper{display:flex;align-items:center;gap:4px}.cube-tile-wrapper{display:flex;align-items:center;gap:6px}.rec-na{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:28px;padding:0 4px;font-size:12px;color:#999;background:transparent;border:1px dashed #ccc;border-radius:4px}body.dark-mode .rec-na{color:#888;border-color:#444}.dupe-badge{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:28px;padding:0 4px;font-size:12px;font-weight:500;color:#333;background:#f0f0f0;border-radius:4px;white-space:nowrap}.dupe-badge.dupe-badge-core{background:#fe307be6;color:#fff}body.dark-mode .dupe-badge{background:#2a2a2a;color:#ddd}body.dark-mode .dupe-badge.dupe-badge-core{background:#fe307be6;color:#fff}.skill-rec{display:inline-flex;align-items:center;justify-content:center;min-width:45px;height:28px;padding:0 8px;font-size:13px;font-weight:600;color:#333;background:#f0f0f0;border-radius:4px;font-variant-numeric:tabular-nums}body.dark-mode .skill-rec{background:#2a2a2a;color:#ddd}.doll-tile{position:relative;display:inline-flex;align-items:center;gap:6px;height:36px;padding:2px 8px 2px 4px;border-radius:4px;color:#fff}.doll-tile.doll-r{background:#4b6cff}.doll-tile.doll-sr{background:#9523ff}.doll-tile img{height:32px;width:32px;object-fit:contain}.doll-label{font-size:12px;font-weight:600;white-space:nowrap}.dupe-badge,.character-rec-cat:nth-child(1) .rec-na{width:58px;min-width:58px;height:28px;box-sizing:border-box}.skill-rec,.character-rec-cat:nth-child(2) .rec-na{width:74px;min-width:74px;height:28px;box-sizing:border-box}.doll-tile,.character-rec-cat:nth-child(3) .rec-na{width:96px;min-width:96px;height:36px;box-sizing:border-box}.equip-rows{display:flex;flex-direction:column;gap:3px}.equip-row{display:flex;align-items:center;gap:4px}.equip-tile{position:relative;width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:4px;flex-shrink:0;background:#f0f0f0;box-sizing:border-box}.equip-tile.equip-tile-t9{background:#fc8703e6}.equip-tile.equip-tile-t10{background:#ff6f6f}.character-rec-level .equip-tile.equip-tile-t9{background:#fc8703e6}.character-rec-level .equip-tile.equip-tile-t10{background:#ff6f6f}.equip-tile img{width:42px;height:42px;object-fit:contain}.equip-tile-lv{position:absolute;bottom:1px;right:2px;background:#555;color:#fff;font-size:10px;font-weight:600;padding:1px 4px;border-radius:2px;line-height:1.2}body.dark-mode .equip-tile{background:#2a2a2a}.equip-tile.rec-na{background:transparent;border:1px dashed #ccc}body.dark-mode .equip-tile.rec-na{border-color:#444}.equip-tile.equip-custom-orange,body.dark-mode .equip-tile.equip-custom-orange{background:#fc8703e6}.equip-tile.equip-custom-pink,body.dark-mode .equip-tile.equip-custom-pink{background:#fe307be6}.equip-tile-name{position:absolute;bottom:0;left:0;width:100%;box-sizing:border-box;background-color:#000000b3;color:#fff;font-size:9px;line-height:1.1;text-align:center;padding:2px 1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:0 0 4px 4px}.equip-options{display:flex;flex-direction:column;gap:1px}.option-chip{display:inline-flex;align-items:center;justify-content:space-between;gap:6px;min-width:130px;height:18px;padding:0 6px;font-size:11px;font-weight:500;color:#333;background:#f0f0f0;border-radius:3px;white-space:nowrap;box-sizing:border-box}.option-chip-name{font-weight:500}.option-chip-value{font-variant-numeric:tabular-nums}.option-chip.option-stage-12-15{color:#2563eb}body.dark-mode .option-chip.option-stage-12-15{color:#67e8f9}.option-chip.option-stage-15,body.dark-mode .option-chip.option-stage-15{background:#0a0a0ae6;color:#67e8f9}body.dark-mode .option-chip{background:#2a2a2a;color:#ddd}.option-chip.rec-na{border:1px dashed #ccc;background:transparent;color:#999;min-width:130px;height:18px}body.dark-mode .option-chip.rec-na{border-color:#444;color:#888}.cube-row{display:flex;flex-direction:column;gap:4px}.cube-tile{width:50px;height:50px;border-radius:6px;display:flex;align-items:center;justify-content:center;background:#f0f0f0;box-sizing:border-box}body.dark-mode .cube-tile{background:#2a2a2a}.cube-tile img{width:44px;height:44px;object-fit:contain}.cube-tile.rec-na{background:transparent;border:1px dashed #ccc;padding:0;min-width:0}body.dark-mode .cube-tile.rec-na{border-color:#444}.equip-tile.rec-na{padding:0;min-width:0}.char-preview-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:transparent;display:none;justify-content:center;align-items:center;z-index:1500;overflow:hidden;pointer-events:none}.char-preview-overlay.is-visible{display:flex}.char-preview-overlay.is-hover-mode{background:transparent;pointer-events:none}.char-preview-card{position:fixed;background:#ffffffe6;color:#333;border-radius:10px;padding:16px;width:92%;max-width:600px;max-height:88vh;overflow-y:auto;box-shadow:0 8px 32px #0006;box-sizing:border-box;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}body.dark-mode .char-preview-card{background:#1a1a1ae6;color:#e0e0e0}.char-preview-card .character-rec-tabs,.char-preview-close{pointer-events:auto}.char-preview-card .character-rec-level,body.dark-mode .char-preview-card .character-rec-level{background:transparent}.char-preview-card .rec-na,.char-preview-card .equip-tile.rec-na,.char-preview-card .option-chip.rec-na,.char-preview-card .cube-tile.rec-na{background:#f0f0f0}body.dark-mode .char-preview-card .rec-na,body.dark-mode .char-preview-card .equip-tile.rec-na,body.dark-mode .char-preview-card .option-chip.rec-na,body.dark-mode .char-preview-card .cube-tile.rec-na{background:#2a2a2a}.char-preview-close{position:absolute;top:2px;right:2px;width:30px;height:30px;background:none;border:none;font-size:26px;line-height:1;cursor:pointer;color:#555;padding:0;z-index:1}body.dark-mode .char-preview-close{color:#aaa}.char-preview-empty{padding:40px 16px;text-align:center;color:#999}body.dark-mode .char-preview-empty{color:#777}@media (max-width: 768px){.char-preview-card{width:96%;padding:5px;max-height:95vh}}@media (max-width: 768px){.character-rec-categories{display:grid;grid-template-columns:auto auto auto auto;gap:4px;align-items:start}.character-rec-categories>.character-rec-cat:nth-child(1){grid-column:1;grid-row:1}.character-rec-categories>.character-rec-cat:nth-child(2){grid-column:2;grid-row:1}.character-rec-categories>.character-rec-cat:nth-child(3){grid-column:3;grid-row:1}.character-rec-categories>.character-rec-cat:nth-child(5){grid-column:4;grid-row:1}.character-rec-categories>.character-rec-cat:nth-child(4){grid-column:1 / -1;grid-row:2}.cube-row{gap:1px}.cube-tile{width:42px;height:42px}.cube-tile img{width:36px;height:36px}.dupe-badge,.character-rec-cat:nth-child(1) .rec-na{width:48px;min-width:48px;font-size:11px}.skill-rec,.character-rec-cat:nth-child(2) .rec-na{width:64px;min-width:64px;font-size:11px}.doll-tile,.character-rec-cat:nth-child(3) .rec-na{width:84px;min-width:84px;height:32px}.doll-label{font-size:11px}.doll-tile img{height:28px;width:28px}.custom-trigger-btn{display:contents}}.char-preview-card .character-tier-row{margin-bottom:16px}.char-preview-card .character-tier-cell{gap:3px}.char-preview-card .character-tier-cell .tier-label{height:40px;font-size:20px}.char-preview-card .character-tier-cell .tier-label.tier-D{font-size:14px}@media (max-width: 768px){.char-preview-card .character-header{margin-bottom:10px;gap:12px}.char-preview-card .character-header-img{width:40px;height:40px}.char-preview-card .character-header-info h1{font-size:15px}.char-preview-card .character-stats-row{gap:4px;font-size:11px}.char-preview-card .character-stats-row .stat-icon{width:20px;height:20px}.char-preview-card .character-stats-row .stat-value{padding:1px 3px}.char-preview-card .character-stats-row .stat-label{font-size:9px}.char-preview-card .character-tier-cell .tier-label{height:28px;width:51px;font-size:15.5px}.char-preview-card .character-tier-cell .tier-label.tier-SSS{font-size:17px}.char-preview-card .character-tier-cell .tier-label.tier-D{font-size:10px}.char-preview-card .character-tier-row{margin-bottom:10px;gap:4.5px}.character-tier-cell{min-width:51px}.char-preview-card .character-rec-section{margin-bottom:10px}.char-preview-card .character-rec-tabs{margin-bottom:6px}.char-preview-card .character-rec-tab{padding:6px 12px;font-size:12px}.char-preview-card .character-rec-tab[data-tab=custom]{padding-left:8px;padding-right:8px}.char-preview-card .character-rec-level{margin-bottom:6px;padding:6px 8px}.char-preview-card .character-rec-level-title{font-size:12px;margin-bottom:4px}.char-preview-card .character-rec-categories{gap:8px}.char-preview-card .character-rec-cat-label{font-size:10px}.char-preview-card .equip-rows{gap:2px}.char-preview-card .equip-tile{width:40px;height:40px}.char-preview-card .equip-tile img{width:28px;height:28px}.char-preview-card .option-chip{min-width:95px;font-size:10px}.char-preview-card .cube-row{flex-direction:row}.char-preview-card .cube-tile-wrapper{gap:0}.char-preview-card .cube-tile-wrapper .rating-stars{display:none}.char-preview-card .cube-tile{width:36px;height:36px}.char-preview-card .cube-tile img{width:30px;height:30px}.char-preview-card .doll-tile,.char-preview-card .character-rec-cat:nth-child(3) .rec-na{height:28px}.char-preview-card .doll-tile img{height:24px;width:24px}.char-preview-card .rating-stars{font-size:11px}}@media (min-width: 769px){.char-preview-card .character-rec-categories{display:grid;grid-template-columns:1fr auto auto auto;gap:14px;align-items:start}.char-preview-card .character-rec-categories>.character-rec-cat:nth-child(4){grid-column:1;grid-row:1 / span 2}.char-preview-card .character-rec-categories>.character-rec-cat:nth-child(1){grid-column:2;grid-row:1}.char-preview-card .character-rec-categories>.character-rec-cat:nth-child(2){grid-column:3;grid-row:1}.char-preview-card .character-rec-categories>.character-rec-cat:nth-child(3){grid-column:4;grid-row:1}.char-preview-card .character-rec-categories>.character-rec-cat:nth-child(5){grid-column:2 / span 3;grid-row:2}}.custom-trigger-btn{background:transparent;border:none;padding:0;cursor:pointer;color:inherit;text-align:left;width:auto;box-sizing:border-box;font:inherit;transition:background-color .12s;border-radius:4px;display:flex;align-items:center}.custom-trigger-btn:hover{background-color:#cc00cc14}body.dark-mode .custom-trigger-btn:hover{background-color:#cc00cc2e}.custom-trigger-readonly,.custom-trigger-readonly:hover{background-color:transparent!important;cursor:default!important}.custom-modal-overlay{position:fixed;inset:0;background:#0000008c;z-index:10000;display:none;align-items:center;justify-content:center;overscroll-behavior:contain;touch-action:none}.custom-modal-content{background:#fff;color:#333;padding:18px 18px 12px;border-radius:10px;box-shadow:0 10px 30px #00000040;max-width:92vw;max-height:84vh;width:480px;box-sizing:border-box;overflow:hidden;display:flex;flex-direction:column;overscroll-behavior:contain}body.dark-mode .custom-modal-content{background:#222;color:#eee}.custom-modal-content h3{margin:0 0 12px;font-size:16px;text-align:center}.custom-modal-close{position:absolute;top:8px;right:12px;font-size:24px;cursor:pointer;color:#888;line-height:1;user-select:none}.custom-modal-close:hover{color:#c0c}.custom-modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:12px;padding-top:10px;border-top:1px solid rgba(120,120,130,.25)}.custom-modal-confirm,.custom-modal-clear{padding:8px 18px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;transition:opacity .12s,background-color .12s}.custom-modal-confirm{background:#c0c;color:#fff}.custom-modal-confirm:hover{background:#a300a3}.custom-modal-clear{background:#ddd;color:#333}.custom-modal-clear:hover{background:#c8c8c8}body.dark-mode .custom-modal-clear{background:#3a3a3a;color:#ddd}body.dark-mode .custom-modal-clear:hover{background:#4a4a4a}.custom-dupe-grid,.custom-doll-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;overflow-y:auto;max-height:60vh;padding:2px;overscroll-behavior:contain}.custom-grid-item{padding:12px 8px;background:#f5f5f5;border:1px solid transparent;border-radius:6px;text-align:center;cursor:pointer;font-size:14px;user-select:none}.custom-grid-item:hover{background:#ececec;border-color:#c0c}.custom-grid-item.selected{background:#c0c;color:#fff;font-weight:600}body.dark-mode .custom-grid-item{background:#2a2a2a;color:#ddd}body.dark-mode .custom-grid-item:hover{background:#333}body.dark-mode .custom-grid-item.selected{background:#c0c;color:#fff}.custom-skill-rows{display:flex;flex-direction:column;gap:10px;overflow-y:auto;max-height:60vh;padding:2px;overscroll-behavior:contain}.custom-skill-row{display:grid;grid-template-columns:80px 1fr;align-items:center;gap:12px}.custom-skill-row label{font-weight:600;font-size:14px}.custom-skill-row select{padding:6px;font-size:14px;border-radius:4px;border:1px solid #ccc;background:#fff}body.dark-mode .custom-skill-row select{background:#2a2a2a;color:#eee;border-color:#444}.custom-loader-header{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 12px}.custom-loader-header h3{margin:0}.custom-loader-char-image{width:40px;height:40px;border-radius:50%;object-fit:cover;border:1px solid #aaa;cursor:pointer;flex-shrink:0;transition:transform .1s ease;background:#f5f5f5}.custom-loader-char-image:hover{transform:scale(1.1)}body.dark-mode .custom-loader-char-image{border-color:#555;background:#2a2a2a}.char-preview-overlay.is-above-loader{z-index:10001}.custom-loader-buttons{display:flex;flex-direction:column;gap:10px;padding:8px 2px;overflow-y:auto;max-height:60vh;overscroll-behavior:contain}.custom-loader-pick{padding:14px 12px;border:2px solid #cc00cc;border-radius:8px;background:#fff;color:#c0c;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .12s,color .12s;text-align:center}.custom-loader-pick:hover:not(.disabled):not([disabled]){background:#c0c;color:#fff}.custom-loader-pick.disabled,.custom-loader-pick[disabled]{opacity:.45;cursor:not-allowed;background:#f5f5f5;color:#999;border-color:#ccc}.custom-loader-pick small{font-size:11px;margin-left:6px;font-weight:400}body.dark-mode .custom-loader-pick{background:#2a2a2a;color:#e864f0;border-color:#e864f0}body.dark-mode .custom-loader-pick:hover:not(.disabled):not([disabled]){background:#e864f0;color:#1a1a1a}body.dark-mode .custom-loader-pick.disabled,body.dark-mode .custom-loader-pick[disabled]{background:#1a1a1a;color:#555;border-color:#555}@media (max-width: 768px){.custom-modal-content{width:92vw;max-height:86vh;padding:14px}.custom-dupe-grid,.custom-doll-grid{grid-template-columns:repeat(3,1fr)}.custom-grid-item{padding:10px 4px;font-size:13px}.custom-skill-row{grid-template-columns:60px 1fr;gap:8px}}
