.custom-lock-box{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;box-sizing:border-box;border:1px dashed #bbb;border-radius:4px;background:transparent;cursor:pointer;color:inherit;line-height:1;transition:border-color .12s,background-color .12s}.custom-lock-box:hover{border-color:#c0c;background:#cc00cc14}.custom-lock-box.filled{border-style:solid;border-color:#c0c;background:#cc00cc0f;position:relative}.custom-lock-box img{width:16px;height:16px;object-fit:contain;display:block}.custom-lock-box .custom-lock-count{position:absolute;right:-3px;bottom:-4px;font-size:9px;font-weight:700;line-height:1;padding:1px 2px;border-radius:3px;background:#c0c;color:#fff}body.dark-mode .custom-lock-box{border-color:#555}body.dark-mode .custom-lock-box.filled{border-color:#c0c;background:#cc00cc2e}.custom-stage-toggle{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:18px;padding:0;box-sizing:border-box;border:1px solid #bbb;border-radius:4px;background:#f0f0f0;color:#333;font-size:12px;font-weight:700;line-height:1;cursor:pointer;transition:background-color .12s,border-color .12s}.custom-stage-toggle:hover{border-color:#c0c}.custom-stage-toggle.custom-stage-exact{background:#c0c;border-color:#c0c;color:#fff}body.dark-mode .custom-stage-toggle{background:#2a2a2a;border-color:#555;color:#ddd}.character-rec-custom-level .option-chip-wrapper{flex-wrap:nowrap;min-width:0}@media (max-width: 600px){.character-rec-custom-level[data-level=ideal] .option-chip-wrapper .rating-stars{display:none}}.custom-alt-btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;height:18px;padding:0 6px;box-sizing:border-box;border:1px solid #bbb;border-radius:9px;background:#f0f0f0;color:#777;font-size:10px;font-weight:700;line-height:1;cursor:pointer;transition:background-color .12s,border-color .12s,color .12s}.custom-alt-btn:hover{border-color:#c0c;color:#a000a0}.custom-alt-btn.has-alt{background:#cc00cc1a;border-color:#c0c;color:#a000a0}body.dark-mode .custom-alt-btn{background:#2a2a2a;border-color:#555;color:#aaa}body.dark-mode .custom-alt-btn.has-alt{background:#c0c3;border-color:#c0c;color:#e879f9}.custom-alt-chip{flex:0 0 auto;display:inline-flex;align-items:center;height:18px;padding:0 5px;box-sizing:border-box;border:1px dashed #555;border-radius:4px;background:#f0f0f0;color:#555;font-size:10px;font-weight:600;line-height:1}body.dark-mode .custom-alt-chip{background:#2a2a2a;color:#aaa;border-color:#555}.custom-alt-modal-hint{margin:0 0 10px;font-size:11px;line-height:1.4;color:#888}body.dark-mode .custom-alt-modal-hint{color:#999}.custom-alt-main-info{margin-bottom:8px;font-size:12px;color:#555}.custom-alt-main-info b{color:#a000a0}body.dark-mode .custom-alt-main-info{color:#bbb}body.dark-mode .custom-alt-main-info b{color:#e879f9}.custom-alt-grid{overflow-y:auto;max-height:60vh;padding:2px;overscroll-behavior:contain}.custom-alt-items{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.custom-alt-item{display:flex;align-items:center;justify-content:center;padding:12px 2px;background:#f5f5f5;border:1px solid transparent;border-radius:6px;cursor:pointer;user-select:none;font-size:12px;font-weight:600;color:#333;text-align:center;min-height:48px}.custom-alt-item:hover{background:#ececec;border-color:#c0c}.custom-alt-item.selected{background:#c0c;border-color:#c0c;color:#fff}.custom-alt-item.disabled{opacity:.32;cursor:not-allowed;position:relative}.custom-alt-item.disabled:hover{background:#f5f5f5;border-color:transparent}body.dark-mode .custom-alt-item{background:#2a2a2a;color:#ddd}body.dark-mode .custom-alt-item:hover{background:#333}body.dark-mode .custom-alt-item.selected{background:#c0c;color:#fff}body.dark-mode .custom-alt-item.disabled:hover{background:#2a2a2a}.custom-alt-item.custom-alt-none{color:#999}.custom-alt-item.custom-alt-none.selected{color:#fff}.custom-alt-none .equip-option-modal-none-icon{font-size:20px;line-height:1}body.dark-mode .custom-alt-item.custom-alt-none{color:#aaa}.custom-alt-item.custom-alt-confirm{grid-column:1 / -1;background:#c0c;border-color:#c0c;color:#fff}.custom-alt-item.custom-alt-confirm:hover{background:#a300a3;border-color:#a300a3;color:#fff}body.dark-mode .custom-alt-item.custom-alt-confirm{background:#c0c;color:#fff}body.dark-mode .custom-alt-item.custom-alt-confirm:hover{background:#a300a3}.custom-calc-panel{margin-bottom:16px;border:1px solid #e0c3e8;border-radius:6px;padding:12px 14px;background:linear-gradient(180deg,#cc00cc0d,#cc00cc05)}body.dark-mode .custom-calc-panel{border-color:#4a2f50;background:linear-gradient(180deg,#cc00cc1f,#cc00cc0a)}.custom-calc-title{font-size:14px;font-weight:700;color:#a000a0;margin-bottom:4px}body.dark-mode .custom-calc-title{color:#ddd}.custom-calc-desc{font-size:11px;color:#888;margin-bottom:10px;line-height:1.4}body.dark-mode .custom-calc-desc{color:#999}.custom-calc-mode-row{display:flex;align-items:center;gap:8px;margin-bottom:10px}.custom-calc-mode-label{font-size:12px;font-weight:600;color:#555}body.dark-mode .custom-calc-mode-label{color:#bbb}.custom-calc-mode-toggle{display:inline-flex;border:1px solid #cc00cc;border-radius:14px;overflow:hidden}.custom-calc-mode-btn{padding:4px 12px;border:none;background:transparent;color:#a000a0;font-size:12px;font-weight:700;cursor:pointer;transition:background-color .12s,color .12s}.custom-calc-mode-btn.active{background:#c0c;color:#fff}body.dark-mode .custom-calc-mode-btn{color:#e879f9}body.dark-mode .custom-calc-mode-btn.active{background:#c0c;color:#fff}.custom-calc-slot-row{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}.custom-calc-slot-label{font-size:12px;font-weight:600;color:#555}body.dark-mode .custom-calc-slot-label{color:#bbb}.custom-calc-slot-toggle{display:inline-flex;border:1px solid #cc00cc;border-radius:14px;overflow:hidden}.custom-calc-slot-btn{padding:4px 14px;border:none;border-right:1px solid rgba(204,0,204,.3);background:transparent;color:#a000a0;font-size:12px;font-weight:700;cursor:pointer;transition:background-color .12s,color .12s}.custom-calc-slot-btn:last-child{border-right:none}.custom-calc-slot-btn.active{background:#c0c;color:#fff}.custom-calc-slot-btn:disabled{color:#bbb;cursor:not-allowed;background:repeating-linear-gradient(45deg,transparent,transparent 4px,rgba(0,0,0,.04) 4px,rgba(0,0,0,.04) 8px)}body.dark-mode .custom-calc-slot-btn{color:#e879f9}body.dark-mode .custom-calc-slot-btn.active{background:#c0c;color:#fff}body.dark-mode .custom-calc-slot-btn:disabled{color:#666}.custom-calc-input-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.custom-calc-icon{width:24px;height:24px;object-fit:contain}.custom-calc-label{font-size:13px;font-weight:600;color:#333}body.dark-mode .custom-calc-label{color:#ddd}.custom-spinner{display:inline-flex;align-items:stretch;border:1px solid #ccc;border-radius:6px;overflow:hidden;background:#fff}body.dark-mode .custom-spinner{border-color:#555;background:#1a1a1a}.custom-spinner-btn{width:30px;min-height:30px;padding:0;border:none;background:#eee;color:#333;font-size:18px;font-weight:700;line-height:1;cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-select:none}.custom-spinner-btn:active{background:#d8a8e0}body.dark-mode .custom-spinner-btn{background:#333;color:#eee}body.dark-mode .custom-spinner-btn:active{background:#5a2f60}.custom-module-input{width:64px;padding:6px 4px;font-size:15px;text-align:center;border:none;border-left:1px solid #ddd;border-right:1px solid #ddd;background:transparent;color:#333;box-sizing:border-box;-moz-appearance:textfield;appearance:textfield}.custom-module-input::-webkit-inner-spin-button,.custom-module-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}body.dark-mode .custom-module-input{color:#eee;border-color:#444}.custom-calc-targets:empty{display:none}.custom-calc-targets{margin-top:10px}.custom-calc-targets-label{font-size:11px;color:#888;margin-bottom:4px}body.dark-mode .custom-calc-targets-label{color:#999}.custom-calc-targets-row{display:flex;flex-wrap:wrap;gap:6px}.custom-calc-target{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid #d8b8e0;border-radius:14px;background:#fff;color:#333;font-size:12px;cursor:pointer;transition:background-color .12s,border-color .12s}.custom-calc-target:hover{border-color:#c0c;background:#cc00cc0f}.custom-calc-target.disabled{cursor:default;opacity:.55}.custom-calc-target.disabled:hover{border-color:#d8b8e0;background:#fff}.custom-calc-target-p{font-weight:700;color:#a000a0}.custom-calc-target-arrow{color:#aaa}.custom-calc-target-n{display:inline-flex;align-items:center;gap:3px;font-weight:700;font-variant-numeric:tabular-nums}body.dark-mode .custom-calc-target{background:#1f1f1f;border-color:#4a2f50;color:#ddd}body.dark-mode .custom-calc-target:hover{border-color:#c0c;background:#cc00cc26}body.dark-mode .custom-calc-target.disabled:hover{border-color:#4a2f50;background:#1f1f1f}body.dark-mode .custom-calc-target-p{color:#e879f9}.custom-calc-run{padding:6px 16px;font-size:13px;font-weight:700;color:#fff;background:#c0c;border:none;border-radius:4px;cursor:pointer;transition:background-color .12s}.custom-calc-run:hover{background:#b300b3}.custom-calc-result{margin-top:12px;min-height:0}.custom-calc-result:empty{margin-top:0}.custom-calc-msg{font-size:13px;color:#777;padding:4px 0}body.dark-mode .custom-calc-msg{color:#aaa}.custom-calc-result-main{display:flex;align-items:baseline;gap:10px}.custom-calc-prob-label{display:inline-flex;align-items:center;gap:3px;font-size:13px;font-weight:600;color:#555}body.dark-mode .custom-calc-prob-label{color:#bbb}.custom-calc-prob-value{font-size:30px;font-weight:800;color:#c0c;font-variant-numeric:tabular-nums;line-height:1.1}body.dark-mode .custom-calc-prob-value{color:#e879f9}.custom-calc-prob-unit{font-size:16px;font-weight:700;margin-left:2px}.custom-calc-phases{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:6px;font-size:12px;color:#555}.custom-calc-phase b{color:#a000a0;font-variant-numeric:tabular-nums}body.dark-mode .custom-calc-phases{color:#bbb}body.dark-mode .custom-calc-phase b{color:#e879f9}.custom-calc-result-sub{margin-top:6px;font-size:13px;color:#444}body.dark-mode .custom-calc-result-sub{color:#ccc}.custom-calc-keys{display:inline-flex;align-items:center;gap:5px}.custom-calc-keys b{font-variant-numeric:tabular-nums}.custom-calc-icon-sm{width:18px;height:18px;object-fit:contain;vertical-align:middle}.custom-calc-help{margin-top:12px;border-top:1px dashed #d8c3e0;padding-top:8px}body.dark-mode .custom-calc-help{border-top-color:#4a2f50}.custom-calc-help-toggle{display:inline-flex;align-items:center;gap:5px;padding:2px 0;border:none;background:transparent;color:#a000a0;font-size:12px;font-weight:600;cursor:pointer}body.dark-mode .custom-calc-help-toggle{color:#ddd}.custom-calc-help-arrow{font-size:10px}.custom-calc-help-body{margin-top:8px;font-size:12px;line-height:1.65;color:#555}.custom-calc-help-body b{color:#a000a0;font-weight:700}body.dark-mode .custom-calc-help-body{color:#bbb}body.dark-mode .custom-calc-help-body b{color:#e879f9}.custom-calc-help-body b.custom-calc-strat-head{color:#ff5e00}body.dark-mode .custom-calc-help-body b.custom-calc-strat-head{color:#fbbf24}.custom-calc-table-cap{margin:10px 0 4px;font-size:12px;font-weight:700;color:#a000a0}.custom-calc-table-cap:first-child{margin-top:2px}body.dark-mode .custom-calc-table-cap{color:#ddd}.custom-calc-table{width:100%;border-collapse:collapse;font-size:11px;font-variant-numeric:tabular-nums;margin-bottom:4px}.custom-calc-table th,.custom-calc-table td{border:1px solid #e3d3e8;padding:3px 6px;text-align:center}.custom-calc-table-left th,.custom-calc-table-left td{text-align:left}.custom-calc-table th{background:#cc00cc14;font-weight:700;color:#555}.custom-calc-table td:first-child{text-align:left}.custom-calc-table tbody tr:nth-child(2n) td{background:#cc00cc08}body.dark-mode .custom-calc-table th,body.dark-mode .custom-calc-table td{border-color:#3a2a40}body.dark-mode .custom-calc-table th{background:#6202752c;color:#ccc}body.dark-mode .custom-calc-table tbody tr:nth-child(2n) td{background:#0000001a}.custom-calc-table tbody tr.custom-tbl-hi td{color:#2563eb;font-weight:700}body.dark-mode .custom-calc-table tbody tr.custom-tbl-hi td{color:#67e8f9}.custom-calc-table tbody tr.custom-tbl-max td{background:#0a0a0ae6;color:#67e8f9;font-weight:700}body.dark-mode .custom-calc-table tbody tr.custom-tbl-max td{background:#0a0a0ae6;color:#67e8f9}.custom-calc-cfg-title{margin:12px 0 6px;font-size:12px;font-weight:700;color:#a000a0}body.dark-mode .custom-calc-cfg-title{color:#ddd}.custom-calc-cfg{display:flex;flex-direction:column;gap:8px}.custom-calc-cfg-piece{border-left:3px solid #cc00cc;padding:4px 0 4px 8px}.custom-calc-cfg-slot{font-size:12px;font-weight:700;color:#333;margin-bottom:2px}body.dark-mode .custom-calc-cfg-slot{color:#ddd}.custom-calc-cfg-slot-img{width:30px;height:30px;object-fit:contain;vertical-align:middle;border-radius:4px}.custom-calc-cfg-req{font-size:11px;line-height:1.5}.custom-calc-cfg-eff{font-weight:600;margin-bottom:2px}.custom-calc-cfg-formula{font-size:11px;line-height:1.7;color:#555;padding-left:6px;font-variant-numeric:tabular-nums}.custom-calc-cfg-formula b{color:#c0c;font-weight:700}body.dark-mode .custom-calc-cfg-formula{color:#ccc}body.dark-mode .custom-calc-cfg-formula b{color:#e879f9}.custom-calc-cfg-held{font-size:10px;color:#999;padding-left:16px;margin-bottom:2px}body.dark-mode .custom-calc-cfg-held{color:#888}.custom-calc-cfg-phtag{display:inline-block;font-weight:700;border-radius:4px;padding:0 5px;margin-right:5px;font-size:10px}body.dark-mode .custom-calc-cfg-phtag{color:#fff}.custom-calc-cfg-slotbadge{display:inline-block;padding:0 5px;border-radius:8px;background:#cc00cc1f;color:#a000a0;font-size:10px;font-weight:700;vertical-align:middle}body.dark-mode .custom-calc-cfg-slotbadge{background:#cc00cc40;color:#e879f9}.custom-calc-cfg-nums{color:#666}body.dark-mode .custom-calc-cfg-nums{color:#aaa}.custom-calc-cfg-lock{font-size:11px;color:#a000a0;margin-top:2px}body.dark-mode .custom-calc-cfg-lock{color:#999}.custom-calc-cfg-note{margin-top:10px;font-size:11px;line-height:1.5;color:#888}body.dark-mode .custom-calc-cfg-note{color:#999}.custom-calc-actual{margin-bottom:10px}.custom-calc-flow-hint{font-size:12px;color:#888;padding:6px 0;line-height:1.5}body.dark-mode .custom-calc-flow-hint{color:#999}.custom-calc-flow-budget{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;color:#a000a0;margin-bottom:8px}body.dark-mode .custom-calc-flow-budget{color:#e879f9}.custom-calc-flow-chain{display:flex;flex-direction:column;align-items:center;gap:2px}.custom-calc-flow-node{width:100%;max-width:320px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border:1px solid #e0c3e8;border-radius:8px;background:#fff}body.dark-mode .custom-calc-flow-node{background:#1f1f1f;border-color:#4a2f50}.custom-calc-flow-node-title{font-size:12px;font-weight:600;color:#555}.custom-calc-flow-node-title small{font-size:10px;color:#999;font-weight:600}body.dark-mode .custom-calc-flow-node-title{color:#ccc}.custom-calc-flow-node-val{font-size:18px;font-weight:800;font-variant-numeric:tabular-nums;color:#555}.custom-calc-flow-node.start{justify-content:center;background:#f6eef8;border-style:dashed}body.dark-mode .custom-calc-flow-node.start{background:#2a1f2e}.custom-calc-flow-node.start .custom-calc-flow-node-title{color:#a000a0;font-weight:700}body.dark-mode .custom-calc-flow-node.start .custom-calc-flow-node-title{color:#e879f9}.custom-calc-flow-node.phase1 .custom-calc-flow-node-val{color:#2563eb}.custom-calc-flow-node.phase2 .custom-calc-flow-node-val{color:#0891b2}.custom-calc-flow-node.total{border-color:#c0c;border-width:2px;background:#cc00cc0d}.custom-calc-flow-node.total .custom-calc-flow-node-val{color:#c0c;font-size:22px}.custom-calc-flow-node.total .custom-calc-flow-node-title{color:#a000a0;font-weight:700}body.dark-mode .custom-calc-flow-node.phase1 .custom-calc-flow-node-val{color:#60a5fa}body.dark-mode .custom-calc-flow-node.phase2 .custom-calc-flow-node-val{color:#67e8f9}body.dark-mode .custom-calc-flow-node.total{background:#cc00cc24;border-color:#c0c}body.dark-mode .custom-calc-flow-node.total .custom-calc-flow-node-val,body.dark-mode .custom-calc-flow-node.total .custom-calc-flow-node-title{color:#e879f9}.custom-calc-flow-step{display:flex;flex-direction:column;align-items:center;gap:0;padding:1px 0}.custom-calc-flow-arrow{font-size:14px;line-height:1.1;color:#c0c;font-weight:700}.custom-calc-flow-steplabel{font-size:10px;color:#888;text-align:center}body.dark-mode .custom-calc-flow-steplabel{color:#999}.custom-calc-flow-cond{color:#0891b2;font-weight:600}body.dark-mode .custom-calc-flow-cond{color:#67e8f9}.custom-calc-flow-narrative{margin-top:10px;font-size:12px;line-height:1.6;color:#555}.custom-calc-flow-narrative b{color:#a000a0;font-variant-numeric:tabular-nums}body.dark-mode .custom-calc-flow-narrative{color:#bbb}body.dark-mode .custom-calc-flow-narrative b{color:#e879f9}.equip-option-modal-item.disabled{opacity:.35;cursor:not-allowed;position:relative}.equip-option-modal-item.disabled:after{content:"✓";position:absolute;top:2px;right:5px;font-size:11px;color:#c0c}.custom-lock-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;overflow-y:auto;max-height:60vh;padding:2px;overscroll-behavior:contain}.custom-lock-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:14px 8px;background:#f5f5f5;border:1px solid transparent;border-radius:6px;cursor:pointer;user-select:none;min-height:64px}.custom-lock-item:hover{background:#ececec;border-color:#c0c}.custom-lock-item.selected{background:#c0c;border-color:#c0c;color:#fff}.custom-lock-item img{width:34px;height:34px;object-fit:contain}.custom-lock-item-count{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}.custom-lock-item.disabled{opacity:.32;cursor:not-allowed;position:relative}.custom-lock-item.disabled:after{content:"✓";position:absolute;top:3px;right:6px;font-size:12px;color:#c0c}.custom-lock-item.custom-lock-none{font-size:13px;color:#777}.custom-lock-item.custom-lock-none.selected{color:#fff}body.dark-mode .custom-lock-item{background:#2a2a2a;color:#ddd}body.dark-mode .custom-lock-item:hover{background:#333}body.dark-mode .custom-lock-item.selected{background:#c0c;color:#fff}body.dark-mode .custom-lock-item.custom-lock-none{color:#aaa}
