@import"https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css";:root{color-scheme:dark;--panel-width: 320px;--bg: #07101c;--surface: #0d1624;--surface-2: #111c2c;--line: rgba(255, 255, 255, .12);--line-strong: rgba(255, 255, 255, .44);--text: #f5f7fb;--muted: #9aa8b8;--active: #49a0ff;font-family:Pretendard Variable,Pretendard,Malgun Gothic,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}html,body,#app{width:100%;height:100%}html{font-size:100%}body{margin:0;overflow:hidden;color:var(--text);background:radial-gradient(circle at 48% 42%,#172335 0,var(--bg) 58%);font-size:.9rem}button,input{font:inherit}button{color:inherit}h1,h2,p{margin-top:0}.app-shell{width:100vw;height:100vh;min-width:768px;overflow:hidden}.workspace{display:grid;grid-template-columns:minmax(440px,1fr) 6px var(--panel-width);width:100%;height:100%;min-height:0}.equipment-area{min-width:0;min-height:0;background:#0d1624b8}.equipment-area{display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.equipment-area.exporting{width:max-content;min-width:1084px;height:max-content;grid-template-rows:auto auto auto;overflow:visible;background:#0d1624}.equipment-area.exporting .matrix-frame{overflow:visible}.equipment-area.exporting .matrix-head{position:static}.equipment-header{display:flex;align-items:center;justify-content:space-between;min-height:42px;height:42px;padding:0 8px;border-bottom:1px solid var(--line);background:#0d1624eb}.eyebrow{margin:0;color:var(--muted);font-size:.9rem;font-weight:700;line-height:1.2rem;letter-spacing:0}h1{margin-bottom:0;font-size:1rem;letter-spacing:0}h2{margin-bottom:0;font-size:.9rem;letter-spacing:0}.app-title{margin:0;color:var(--muted);font-size:.9rem;font-weight:700;line-height:42px}.character-badge{display:flex;align-items:center;gap:7px;min-width:0;white-space:nowrap}.character-badge span{color:var(--muted);font-size:.9rem;font-weight:700}.character-badge strong{font-size:.9rem}.character-badge small{color:var(--muted);font-size:.9rem}.copy-image-button{width:100%;height:30px;padding:0 10px;border:1px solid #42617e;border-radius:0;color:#c7d8ea;background:#13243a;font-size:.8rem;font-weight:700;cursor:pointer}.copy-image-button:hover:not(:disabled),.copy-image-button:focus-visible{border-color:#68a7e2;color:#fff;background:#18314e;outline:none}.copy-image-button:disabled{color:#718096;cursor:wait}.copy-image-button.success{border-color:#4f9f73;color:#bce7cf;background:#32875d33}.copy-image-button.error{border-color:#c2743d;color:#ffd0ad;background:#b4531f2e}.matrix-frame{min-height:0;overflow:auto;scrollbar-color:#354c67 #0a1420;scrollbar-width:thin}.matrix-frame.loading{display:grid;place-items:center}.matrix{width:max-content;min-width:100%}.matrix-grid{display:grid;grid-template-columns:82px 204px repeat(7,114px);min-width:1084px}.matrix-head{position:sticky;top:0;z-index:5;height:30px;border-bottom:1px solid var(--line);background:#0d1624fa}.matrix-head>div{display:grid;place-items:center;border-right:1px solid var(--line);color:var(--muted);font-size:.9rem;font-weight:700}.matrix-head>div:first-child{place-items:center start;padding-left:12px}.equipment-row{grid-template-rows:50px;border-bottom:1px solid var(--line);background:#0d1624b3}.equipment-row:hover{background:#ffffff0b}.identity-cell{grid-row:1;display:flex;align-items:center;min-width:0;padding:0 9px;overflow:hidden;border:0;border-right:1px solid var(--line);background:transparent;white-space:nowrap;text-overflow:ellipsis;cursor:pointer}.slot-name{grid-column:1;justify-content:flex-start;padding-left:12px;color:var(--muted);font-size:.9rem;font-weight:700}.item-name{grid-column:2;justify-content:space-between;color:var(--text);font-size:.9rem;font-weight:700;text-align:left}.item-name span{min-width:0;overflow:hidden;text-overflow:ellipsis}.item-name i{flex:0 0 auto;margin-left:7px;color:#547da5;font-size:1.2rem;font-style:normal}.equipment-row.rarity-rare .item-name{color:#00870b;background:#00870b11}.equipment-row.rarity-legend .item-name{color:#006fc6;background:#006fc611}.equipment-row.rarity-unique .item-name{color:#fb9800;background:#fb98000e}.equipment-row.rarity-heroic .item-name{color:#ee6c2a;background:#ee6c2a11}.equipment-row.rarity-special .item-name{color:#b792ff;background:#b792ff11}.identity-cell:hover:not(:disabled),.identity-cell:focus-visible{color:#eaf5ff;background:#3784d02e;outline:1px solid #4b9be8;outline-offset:-2px}.identity-cell:disabled{color:#607085;cursor:default}.option-cell{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;padding:0 17px 0 7px;overflow:hidden;border:0;border-right:1px solid var(--line);white-space:nowrap}.option-cell span{min-width:0;overflow:hidden;text-overflow:ellipsis}.target-cell{grid-row:1;background:transparent;font-size:.8rem;font-weight:700;cursor:default}.target-cell i{position:absolute;right:5px;font-size:.8rem;font-style:normal}.target-cell.matched{color:#acd5c1;background:#32875d21}.target-cell.matched i{color:#4fbd81}.target-cell.changed{color:#ffd5a0;background:#ce7e283b;box-shadow:inset 0 -2px #dc8f3e}.target-cell.changed i{color:#ffae55}.target-cell.empty{color:#8291a4;background:repeating-linear-gradient(-45deg,rgba(94,112,136,.08),rgba(94,112,136,.08) 4px,transparent 4px,transparent 8px);box-shadow:inset 0 0 0 1px #8194ac40}.target-cell.current-only{color:#b8c7d9}.target-cell.extra-closed{color:#6f7e91;background:#2b588517}.target-cell.skill-option:not(.blank){background-image:repeating-linear-gradient(-45deg,rgba(154,123,235,.22),rgba(154,123,235,.22) 4px,transparent 4px,transparent 9px);background-blend-mode:screen}.target-cell:disabled,.option-cell.disabled{color:#465466;background:#03091061;cursor:default}.target-cell.blank{color:transparent;background:transparent;box-shadow:none}.extra{border-left:1px solid #42617e}.unavailable-cell{grid-column:3 / 10;grid-row:1;display:grid;place-items:center;color:#607085;background:repeating-linear-gradient(-45deg,rgba(74,89,108,.06),rgba(74,89,108,.06) 5px,transparent 5px,transparent 10px);font-size:.8rem}.matrix-legend{display:flex;align-items:center;gap:16px;height:34px;padding:0 8px;border-top:1px solid var(--line);color:var(--muted);background:#0d1624f5;font-size:.8rem}.matrix-legend span{display:inline-flex;align-items:center;gap:5px}.matrix-legend small{margin-left:auto;color:#718096}.legend-dot{width:8px;height:8px;border:1px solid transparent}.legend-dot.matched{background:#347b58}.legend-dot.changed{background:#ce7e28}.legend-dot.empty{border-color:#718096}.resize-handle{position:relative;padding:0;border:0;background:#07101ce6;cursor:col-resize}.resize-handle:before{position:absolute;top:0;right:0;bottom:0;width:1px;background:#ffffff2e;content:""}.resize-handle:hover:before{background:#ffffff80}.side-panel{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border-left:1px solid var(--line);background:#07101ce6}.search-panel{position:sticky;top:0;z-index:3;padding:8px;border-bottom:1px solid var(--line);background:#0d1624f5}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.target-transfer-actions{display:flex;gap:4px}.target-transfer-actions button{display:grid;place-items:center;width:26px;height:24px;padding:0;border:1px solid #354961;color:#aebfd2;background:#101e2f;font-size:.95rem;cursor:pointer}.target-transfer-actions button:hover,.target-transfer-actions button:focus-visible{border-color:#68a7e2;color:#fff;outline:none}.search-form{display:grid;grid-template-columns:minmax(86px,1fr) minmax(78px,1fr) 32px;gap:5px}.field{display:block;min-width:0;color:var(--muted);font-size:.9rem}.field span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.field input{width:100%;height:30px;min-width:0;padding:0 10px;border:1px solid var(--line);border-radius:0;outline:none;color:var(--text);background:#0a1320;font-size:.9rem}.field input:focus{border-color:#63b3ff8c;box-shadow:0 0 0 1px #49a0ff59 inset}.server-combo{position:relative;min-width:0}.server-combo input{width:100%}.server-options{position:absolute;top:calc(100% + 1px);left:0;z-index:30;width:min(260px,calc(var(--panel-width) - 16px));max-height:224px;overflow:auto;border:1px solid var(--line-strong);background:#07101c;box-shadow:0 10px 18px #00000052}.server-options button{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;width:100%;height:28px;padding:0 6px;border:0;border-bottom:1px solid var(--line);color:var(--text);background:transparent;text-align:left;cursor:pointer}.server-options button:hover,.server-options button.highlighted{background:#49a0ff29}.server-options strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.server-options strong{font-size:.9rem}.search-button{align-self:start;height:30px;padding:0;border:1px solid rgba(99,179,255,.55);color:var(--text);background:#235f9f;cursor:pointer}.search-button{width:32px;font-size:1.4rem;line-height:1}.search-button:hover{background:#2a6eb5}.search-button:disabled{border-color:#35465a;color:#728196;background:#172638;cursor:not-allowed}.search-inline-error{margin:6px 0 0;color:#ffb4ad;font-size:.8rem}.load-state{display:grid;place-content:center;justify-items:center;gap:10px;min-width:100%;min-height:100%;padding:24px;color:var(--muted);text-align:center}.load-state strong{color:var(--text);font-size:1rem}.load-state span{font-size:.9rem}.board-empty{display:grid;justify-items:center;gap:8px;max-width:520px;padding:28px;color:var(--muted);text-align:center}.board-empty strong{color:var(--text);font-size:20px}.board-empty.progress{justify-items:stretch;min-width:360px;text-align:left}.progress-bar{width:100%;height:10px;overflow:hidden;border:1px solid var(--line);border-radius:0;background:#ffffff12}.progress-bar span{display:block;height:100%;background:linear-gradient(90deg,#49a0ff,#35c96f);transition:width .18s ease}.board-empty.progress em{color:var(--muted);font-size:12px;font-style:normal;text-align:right}.error-state strong,.load-error-banner{color:#ffb4ad}.load-error-banner{position:sticky;top:0;z-index:7;padding:7px 10px;border-bottom:1px solid rgba(255,105,97,.45);background:#481319f5;font-size:.85rem}.side-tab-panel{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border-bottom:1px solid var(--line)}.side-tab-buttons{display:grid;grid-template-columns:1fr;border-bottom:1px solid var(--line)}.side-tab-buttons button{height:29px;border:0;border-right:1px solid var(--line);color:var(--muted);background:#ffffff09;font-size:.8rem;font-weight:700}.side-tab-buttons button.active{color:var(--text);background:#49a0ff1f;box-shadow:inset 0 -2px 0 var(--active)}.side-tab-content{min-height:0;height:100%;overflow:hidden}.history-panel{height:100%;min-height:0;padding:8px;overflow:auto}.history-list{display:grid;gap:3px}.history-row{display:grid;grid-template-columns:minmax(0,1fr) 34px;border:1px solid var(--line);background:#ffffff0b}.history-item{display:grid;grid-template-columns:64px minmax(0,1fr) 76px;align-items:center;gap:6px;width:100%;height:27px;padding:0 7px;border:0;border-radius:0;color:var(--text);background:transparent;text-align:left;cursor:pointer}.history-item:hover{background:#49a0ff1f}.history-item strong,.history-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-item strong{font-size:.8rem}.history-item .history-class,.history-item .history-server{color:var(--muted);font-size:.75rem}.history-item .history-class{color:#a7f3d0}.history-item .history-server{text-align:right}.history-delete{border:0;border-left:1px solid var(--line);border-radius:0;color:var(--muted);background:transparent;cursor:pointer}.history-delete:hover{color:#ff6b6b}.empty-panel{padding:16px 10px;color:var(--muted);font-size:.8rem;text-align:center}.import-footer{display:grid;gap:6px;padding:8px;border-top:1px solid var(--line);background:#0d1624f5}.import-button{width:100%;height:32px;border:1px solid rgba(99,179,255,.55);color:var(--text);background:#235f9f;font-size:.85rem;font-weight:700;cursor:pointer}.import-button:hover{background:#2a6eb5}.import-button:disabled{border-color:#35465a;color:#728196;background:#172638;cursor:not-allowed}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:20px;background:#02070dc7;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-dismiss{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:default}.target-modal{position:relative;z-index:1;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;width:min(960px,100%);height:min(720px,calc(100vh - 40px));border:1px solid #3b516b;background:#0d1928;box-shadow:0 28px 80px #00000085;font-size:1rem}.target-modal>header{display:flex;align-items:flex-start;justify-content:space-between;padding:16px 18px;border-bottom:1px solid #2b3c51;background:linear-gradient(180deg,#192a3e,#132235)}.target-modal.rarity-unique>header{border-bottom-color:#fb98008c;background:linear-gradient(135deg,#fb980061,#182331 72%)}.target-modal.rarity-heroic>header{border-bottom-color:#ee6c2a94;background:linear-gradient(135deg,#ee6c2a6b,#1a222d 72%)}.target-modal>header h2{margin-bottom:4px;font-size:1.2rem}.target-modal>header span{display:block;max-width:460px;overflow:hidden;color:#f5f7fbcc;font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}.target-modal>header button{width:28px;height:28px;border:1px solid #3b4d62;color:#98a7ba;background:#101d2d;font-size:1.2rem;cursor:pointer}.selection-summary{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:14px 18px;background:#2b3c51}.selection-summary div{display:flex;align-items:center;justify-content:space-between;min-width:0;height:42px;padding:0 11px;background:#101e2f}.selection-summary span{color:#7d8ca0;font-size:.8rem}.selection-summary strong{max-width:120px;overflow:hidden;font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.current-options,.target-options{margin:18px 20px 0}.modal-section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.modal-section-title strong{font-size:1rem}.modal-section-title span{min-width:44px;padding:3px 8px;border:1px solid #354961;color:#9ba9ba;background:#101e2f;font-size:.9rem;text-align:center}.modal-section-title span.complete{border-color:#347b58;color:#8fd1ae;background:#32875d24}.option-chips{display:flex;flex-wrap:wrap;gap:5px;min-height:31px;padding:6px;border:1px solid #283a50;background:#0a1522}.option-chips span{padding:3px 7px;border:1px solid #34475f;color:#9dabbc;background:#101e2f;font-size:.8rem}.extra-choice{display:flex;align-items:center;justify-content:space-between;height:42px;margin-bottom:12px;padding:0 9px 0 11px;border:1px solid #283a50;color:#a8b4c3;background:#0a1522;font-size:.9rem}.extra-choice div{display:flex;gap:4px}.extra-choice button{height:29px;padding:0 13px;border:1px solid #354961;color:#9eacbd;background:#101e2f;font-size:.9rem;cursor:pointer}.extra-choice button.active{border-color:#4b9be8;color:#dceeff;background:#347ec347}.extra-choice button:disabled{color:#58677a;background:#0b1623;cursor:not-allowed}.option-groups{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:10px;min-height:0;margin:0 20px 20px}.option-groups.single{grid-template-columns:minmax(0,1fr)}.option-group{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;overflow:hidden;border:1px solid #30445d;background:#07101c80}.option-group>header{display:flex;align-items:center;justify-content:space-between;height:30px;padding:0 9px;border-bottom:1px solid #30445d;color:#b8c5d4;background:#101e2f;font-size:.85rem}.option-group>header span{color:#7f90a4;font-size:.8rem}.skill-group>header{color:#c8b8f5;background:#6249a033}.option-picker{display:grid;align-content:start;gap:7px;min-height:0;padding:8px;overflow:auto}.general-group .option-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.skill-group .option-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.option-groups.single .option-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.option-picker button{display:flex;align-items:center;justify-content:space-between;min-width:0;height:40px;padding:0 11px;border:1px solid #30445d;color:#c0cad6;background:#0a1522;font-size:.9rem;cursor:pointer}.option-picker button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.option-picker button:hover:not(:disabled){border-color:#579ddf;color:#e8f3ff}.option-picker button.selected{border-color:#4b9be8;color:#dceeff;background:#347ec33d}.skill-group .option-picker button{background-image:repeating-linear-gradient(-45deg,rgba(154,123,235,.14),rgba(154,123,235,.14) 4px,transparent 4px,transparent 9px)}.skill-group .option-picker button.selected{border-color:#8c6ed0;background-color:#6249a04d}.option-picker button i{color:#68b4f7;font-style:normal}.option-picker button:disabled{opacity:.32;cursor:not-allowed}.target-modal>footer{display:flex;align-items:center;justify-content:space-between;padding:13px 20px;border-top:1px solid #2b3c51;background:#0a1522}.target-modal>footer div{display:flex;gap:7px}.target-modal>footer .utility-actions{gap:5px}.target-modal>footer button{height:34px;padding:0 15px;border:1px solid #354961;background:#132236;font-size:.9rem;font-weight:700;cursor:pointer}.target-modal>footer .clear-button{color:#95a3b5;background:transparent}.target-modal>footer .apply-button{border-color:#3d8ad3;color:#eff7ff;background:#276fae}.transfer-modal{position:relative;z-index:1;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(760px,100%);height:min(680px,calc(100vh - 40px));border:1px solid #3b516b;background:#0d1928;box-shadow:0 28px 80px #00000085}.transfer-modal>header{display:flex;align-items:flex-start;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #2b3c51;background:linear-gradient(180deg,#192a3e,#132235)}.transfer-modal>header h2{margin:2px 0 0;font-size:1.15rem}.transfer-modal>header button{width:28px;height:28px;border:1px solid #3b4d62;color:#98a7ba;background:#101d2d;font-size:1.2rem;cursor:pointer}.transfer-content{min-height:0;display:grid;grid-template-rows:minmax(180px,1fr) auto auto;gap:10px;padding:14px 16px;overflow:auto}.transfer-content textarea{width:100%;min-height:180px;resize:none;padding:12px;border:1px solid #354961;outline:none;color:#dce8f5;background:#081321;font:.8rem/1.45 Consolas,Courier New,monospace}.transfer-content textarea:focus{border-color:#68a7e2}.transfer-error{margin:0;padding:9px 10px;border:1px solid rgba(224,99,99,.55);color:#ffc1c1;background:#992b2b33;font-size:.85rem}.transfer-result{display:grid;gap:9px;padding:10px;border:1px solid #30465f;background:#0a1522}.transfer-result>strong{color:#cfe4f8;font-size:.9rem}.transfer-result section{display:grid;gap:4px}.transfer-result h3{margin:0;color:#8fa5ba;font-size:.78rem}.transfer-result p,.transfer-result ul{margin:0;color:#d9e4ef;font-size:.82rem}.transfer-result ul{display:grid;gap:5px;padding:0;list-style:none}.transfer-result li{display:grid;grid-template-columns:72px minmax(0,1fr);gap:3px 8px;padding:6px 8px;border:1px solid #293c52;background:#101e2f}.transfer-result li b{color:#ffd0ad}.transfer-result li small{grid-column:2;color:#9caec0}.transfer-modal>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid #2b3c51;background:#0a1522}.transfer-modal>footer span{color:#8fa1b4;font-size:.8rem}.transfer-modal>footer div{display:flex;flex-shrink:0;gap:7px}.transfer-modal>footer button{height:32px;padding:0 14px;border:1px solid #354961;color:#dce8f5;background:#132236;font-size:.85rem;font-weight:700;cursor:pointer}.transfer-modal>footer button.primary{border-color:#3d8ad3;color:#eff7ff;background:#276fae}.transfer-modal>footer button:disabled{opacity:.55;cursor:wait}@media(max-width:1100px){:root{--panel-width: 286px}}@media(max-width:800px){.option-groups{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr))}.option-groups.single{grid-template-rows:minmax(0,1fr)}.general-group .option-picker,.skill-group .option-picker,.option-groups.single .option-picker{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.general-group .option-picker,.skill-group .option-picker,.option-groups.single .option-picker{grid-template-columns:minmax(0,1fr)}}
