:root{--bg-app:#2a2d34;--bg-card:#3b404a;--bg-card-hover:#4f5562;--bg-card-accent:#7f8694;--text-main:#f8fafc;--text-muted:#cbd5e1;--accent-primary:#de4f4f;--accent-primary-hover:#e56b6b;--accent-primary-glow:#de4f4f66;--accent-secondary:#5c54ed;--accent-secondary-hover:#4f46e5;--accent-secondary-glow:#5c54ed66;--accent-success:#10b981;--accent-danger:#de4f4f;--border-color:#7f8694;--border-radius:6px;--transition-speed:.2s;--glass-bg:#7f869426;--glass-border:#7f86944d;--color-discord:#5865f2;--color-discord-hover:#4752c4;--color-discord-rgb:88, 101, 242;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text-main);background-color:var(--bg-app);font-family:Inter,system-ui,-apple-system,sans-serif;font-weight:400;line-height:1.5}:root.theme-light{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-app:#fff;--bg-card:#fafafa;--bg-card-hover:#f8fafc;--bg-card-accent:#cbd5e1;--text-main:#111721;--text-muted:#363e49;--border-color:#5b5f63;--glass-bg:#fafafa;--glass-border:#5b5f63;--accent-primary-glow:#de4f4f33;--accent-secondary-glow:#5c54ed33}*{box-sizing:border-box;margin:0;padding:0;font-family:"M PLUS Rounded 1c",Inter,system-ui,-apple-system,sans-serif}body{background:var(--bg-app);min-width:320px;min-height:100vh;margin:0;display:flex}#root{width:100%}h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:600}a{color:var(--accent-primary);-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:var(--accent-primary-hover)}button{border-radius:var(--border-radius);background-color:var(--accent-primary);color:#fff;cursor:pointer;transition:all var(--transition-speed);border:1px solid #0000;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500}button:hover{background-color:var(--accent-primary-hover);box-shadow:0 4px 10px var(--accent-primary-glow)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}input,select{background:var(--bg-card);color:var(--text-main);border:1px solid var(--border-color);transition:border-color var(--transition-speed);border-radius:4px;outline:none;padding:.5rem;font-family:inherit}input:focus,select:focus{border-color:var(--accent-primary)}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border);border-radius:var(--border-radius)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-app)}::-webkit-scrollbar-thumb{background:var(--bg-card-accent);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.navbar{background:var(--bg-app);border-bottom:1px solid var(--border-color);z-index:2000;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.navbar-left{align-items:center;gap:1rem;display:flex}.navbar-right{align-items:center;display:flex}.theme-toggle-btn{color:var(--text-main);border:1px solid var(--border-color);cursor:pointer;transition:all var(--transition-speed);background:0 0;justify-content:center;align-items:center;padding:.5rem;font-size:1.1rem;display:flex}.theme-toggle-btn:hover{background:var(--bg-card);color:var(--accent-primary);border-color:var(--accent-primary)}.hamburger-btn{color:var(--text-main);border:1px solid var(--border-color);background:0 0;justify-content:center;align-items:center;height:2rem;padding:0 1rem;display:flex}.hamburger-btn:hover{background:var(--bg-card);box-shadow:none}.hamburger-btn:focus{outline:none}.hamburger-btn-text{justify-content:center;align-items:center;margin:0;padding:0;font-size:1.5rem;display:flex}.navbar-logo-container{justify-content:center;align-items:center;gap:.2rem;display:flex}.navbar-logo{border-radius:10px;width:32px;height:32px}.navbar-title{color:var(--accent-primary);letter-spacing:.5px;font-size:1rem;font-weight:700}@media (width<=600px){.navbar-title{display:none}}.drawer-menu{background:var(--bg-app);z-index:3000;width:280px;height:100vh;transition:transform var(--transition-speed);flex-direction:column;padding:1.5rem;display:flex;position:fixed;top:0;left:0;transform:translate(0);box-shadow:4px 0 15px #00000080}.drawer-header{justify-content:space-between;align-items:center;margin-bottom:2rem;font-size:1.2rem;font-weight:600;display:flex}.close-btn{color:var(--text-muted);background:0 0;border:none;padding:0;font-size:1.5rem}.close-btn:hover{color:var(--text-main);box-shadow:none;background:0 0}.drawer-link{text-align:left;color:var(--text-main);border-radius:var(--border-radius);background:0 0;border:none;border-left:4px solid #0000;width:100%;margin-bottom:.5rem;padding:1rem;font-size:1.1rem}.drawer-link:hover{box-shadow:none;background:#7f86941a}.drawer-link.active{border-left-color:var(--accent-primary);color:var(--accent-primary);background:#de4f4f26}.drawer-link-bottom{margin-top:auto}.backdrop{z-index:2500;background:#0009;position:fixed;inset:0}.app-footer{border-top:1px solid var(--border-color);background:var(--glass-bg);border-radius:var(--border-radius);text-align:center;margin-top:2rem;padding:1rem}.footer-content{flex-direction:column;align-items:center;display:flex}.footer-link{color:var(--text-main);align-items:center;gap:.5rem;text-decoration:none;transition:color .2s;display:flex}.footer-link:hover{color:var(--accent-primary)}.twitter-link{color:#1da1f2}.copyright,.ai-notice{color:var(--text-muted);opacity:.7;margin:0 0 .75rem;font-size:.85rem}.disclaimer{color:var(--text-muted);margin:0 auto;font-size:.75rem;line-height:1.6}.footer-policy-links{justify-content:center;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.footer-policy-link{color:var(--text-muted);font-size:.8rem;text-decoration:none;transition:color .2s}.footer-policy-link:hover{color:var(--accent-primary);text-decoration:underline}.footer-policy-separator{color:var(--text-muted);opacity:.5;font-size:.8rem}.app-layout{flex-direction:column;width:100vw;height:100vh;display:flex;overflow:hidden}.app-container{flex:1;width:100%;display:flex;overflow:auto}.overload-page,.about-page{flex-shrink:0;width:100%}.main-content{flex-direction:column;width:100%;min-height:100%;display:flex}.raid-layout{flex:1;width:100%;min-height:0;display:flex}.left-panel{border-right:1px solid var(--border-color);flex-direction:column;flex:1;gap:.75rem;padding:.75rem 1rem;display:flex;overflow-y:auto}.right-panel{background:var(--bg-card);flex-direction:column;gap:1.5rem;width:410px;padding:1rem 1rem 120px;display:flex;overflow-y:auto}@media (width<=1230px){.app-container{flex-direction:column;height:auto;min-height:calc(100vh - 60px);overflow-y:auto}.raid-layout{flex-direction:column;gap:1rem;padding:.5rem}.left-panel{border-right:none;border-bottom:1px solid var(--border-color);margin-bottom:1rem;padding-bottom:1rem;overflow-y:visible}.right-panel{width:100%;padding-bottom:2rem;overflow-y:visible}}.sync-pill{letter-spacing:.2px;border:1px solid #0000;border-radius:20px;flex-shrink:0;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.72rem;font-weight:600;transition:all .3s;display:inline-flex}@media (width<=600px){.sync-pill .sync-text,.timestamp{display:none}.sync-pill{border-radius:50%;justify-content:center;width:24px;height:24px;padding:.25rem}}.sync-pill .sync-icon{font-size:.85rem}.sync-pill .spin{animation:1.8s linear infinite syncIconSpin}@keyframes syncIconSpin{to{transform:rotate(360deg)}}.sync-local{color:var(--text-muted);background:#ffffff08;border-color:#ffffff1a}.sync-loading{color:#60a5fa;background:#3b82f60d;border-color:#3b82f633;box-shadow:0 0 8px #3b82f626}.sync-success{color:#34d399;background:#10b9810d;border-color:#10b98133;animation:2.5s ease-in-out infinite syncSuccessPulse}@keyframes syncSuccessPulse{0%,to{border-color:#10b98133;box-shadow:0 0 4px #34d3991a}50%{border-color:#34d39966;box-shadow:0 0 10px #34d39959}}.sync-danger{color:#f87171;background:#ef44440d;border-color:#ef444433;animation:2s ease-in-out infinite syncDangerPulse}@keyframes syncDangerPulse{0%,to{box-shadow:0 0 2px #ef44440d}50%{box-shadow:0 0 8px #ef444440}}.navbar-login-btn{color:#a5b4fc;cursor:pointer;background:#6366f114;border:1px solid #6366f140;border-radius:8px;align-items:center;gap:.4rem;margin-right:.75rem;padding:.4rem .9rem;font-size:.85rem;font-weight:600;transition:all .25s;display:flex}.navbar-login-btn:hover{color:#fff;background:#6366f126;border-color:#6366f180;transform:translateY(-1px);box-shadow:0 0 10px #6366f133}.navbar-login-btn:active{transform:translateY(0)}.navbar-save-btn{color:#34d399;cursor:pointer;background:#10b98114;border:1px solid #10b98140;border-radius:8px;align-items:center;gap:.4rem;margin-right:.75rem;padding:.4rem .9rem;font-size:.85rem;font-weight:600;transition:all .25s;display:flex}.navbar-save-btn:hover:not(:disabled){color:#fff;background:#10b98126;border-color:#10b98180;transform:translateY(-1px);box-shadow:0 0 10px #10b98133}.navbar-save-btn:active:not(:disabled){transform:translateY(0)}.navbar-save-btn:disabled{opacity:.5;cursor:not-allowed;color:var(--text-muted);background:#ffffff08;border-color:#ffffff1a}.btn-cloud-icon{font-size:1rem}.navbar-user-profile{background:#ffffff05;border:1px solid #ffffff0d;border-radius:20px;align-items:center;gap:.5rem;margin-right:.75rem;padding:.3rem .6rem .3rem .4rem;display:flex}.navbar-avatar-btn{cursor:pointer;transition:all var(--transition-speed);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;margin:0;padding:0;display:flex}.navbar-avatar-btn:hover{box-shadow:0 0 8px var(--accent-primary-glow);transform:scale(1.08)}.navbar-avatar{object-fit:cover;border:1px solid #ffffff26;border-radius:50%;width:26px;height:26px}.navbar-avatar-fallback{width:26px;height:26px;color:var(--text-muted);background:#ffffff14;border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;display:flex}.navbar-logout-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.2rem;font-size:.95rem;transition:all .15s;display:flex}.navbar-logout-btn:hover{color:#f87171;box-shadow:none;background:#ef444414}.filter-toggle-btn{border:1px solid var(--border-color);width:100%;color:var(--text-muted);cursor:pointer;background:#ffffff0d;border-radius:6px;padding:.5rem;font-size:.85rem;transition:all .2s}.filter-toggle-btn:hover{color:var(--text-main);background:#ffffff1a}.phase-badge{color:#00e5ff;white-space:nowrap;background:#00e5ff26;border:1px solid #00e5ff4d;border-radius:4px;padding:.15rem .5rem;font-size:.75rem;display:inline-block}.phase-arrow{color:var(--text-muted);margin:0 .25rem;font-size:.85rem}.theme-light .phase-badge{color:#08a;background:#0096b41f;border-color:#0096b440}.app-modal-backdrop{z-index:4000;background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.app-modal-content{background:var(--bg-card);width:100%;max-width:480px;max-height:98vh;animation:.2s ease-out modalFadeIn;overflow:auto}.app-modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:.5rem 1rem;display:flex}.app-modal-header h3{margin:0;font-size:1.1rem}.app-modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:.25rem .5rem;font-size:1.25rem}.app-modal-close:hover{color:var(--text-main)}.app-modal-body{padding:1rem}.app-modal-footer{border-top:1px solid var(--border-color);padding:1rem 1.25rem}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.memo-modal.app-modal-content{max-width:480px}.memo-modal .memo-modal-input{resize:vertical;background:var(--glass-bg);border:1px solid var(--border-color);width:100%;color:var(--text-main);box-sizing:border-box;border-radius:6px;padding:.5rem;font-family:inherit;font-size:.85rem;transition:border-color .2s,box-shadow .2s}.memo-modal .memo-modal-input:focus{border-color:var(--accent-primary);outline:none;box-shadow:0 0 0 2px #de4f4f26}.memo-modal .memo-modal-counter{color:var(--text-muted);opacity:.8;align-self:flex-end;font-size:.8rem}.memo-modal .app-modal-footer{justify-content:space-between;align-items:center;display:flex}.memo-modal-actions{gap:.75rem;display:flex}.memo-btn-clear,.memo-btn-cancel,.memo-btn-save{cursor:pointer;border-radius:6px;padding:.4rem .75rem;font-size:.9rem;font-weight:600;transition:all .2s}.memo-btn-clear{border:1px solid var(--border-color);color:var(--text-muted);background:0 0}.memo-btn-clear:hover{color:var(--accent-danger);background:#de4f4f1a;border-color:#de4f4f4d}.memo-btn-cancel{border:1px solid var(--border-color);color:var(--text-main);background:0 0}.memo-btn-cancel:hover{background:#ffffff1a}.memo-btn-save{background:var(--accent-primary);border:1px solid var(--accent-primary);color:#fff}.memo-btn-save:hover{background:#d32f2f;border-color:#d32f2f}.set-manager{flex-wrap:nowrap;align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.set-segment-control{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius);flex-shrink:0;display:flex;overflow:hidden}.segment-btn{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;padding:.4rem .8rem;font-size:.85rem;font-weight:600;transition:all .2s}.segment-btn:hover{color:var(--text-main);background:#ffffff0d}.segment-btn.active{background:var(--accent-primary);color:#fff}.set-select-container{flex:1;align-items:center;gap:.5rem;min-width:150px;display:flex}.set-select{background:var(--bg-app);border:1px solid var(--border-color);min-width:0;color:var(--text-main);border-radius:var(--border-radius);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;flex:1;height:38px;padding:.45rem .5rem;font-size:.9rem;transition:border-color .2s,box-shadow .2s;overflow:hidden}.set-select:focus{border-color:var(--accent-primary);outline:none;box-shadow:0 0 0 2px #de4f4f26}.set-actions{flex-shrink:0;gap:.4rem;display:flex}.set-btn{border:1px solid var(--border-color);color:var(--text-main);border-radius:var(--border-radius);cursor:pointer;box-sizing:border-box;background:0 0;justify-content:center;align-items:center;width:38px;height:38px;padding:0;font-size:1.1rem;transition:all .2s;display:flex}.set-btn:hover:not(:disabled){border-color:var(--text-muted);background:#7f869433}.set-btn:disabled{opacity:.3;cursor:not-allowed}.set-btn-new{color:var(--accent-primary);border-color:var(--accent-primary);font-size:1.3rem}.set-btn-new:hover:not(:disabled){background:#de4f4f1a}.set-btn-memo{border-color:var(--border-color);color:var(--text-main);font-size:1.1rem;position:relative}.set-btn-memo.has-memo{border-color:var(--accent-primary);background:#de4f4f14}.set-btn-memo.has-memo:after{content:"";background:var(--accent-primary);border:2px solid var(--bg-card);border-radius:50%;width:8px;height:8px;position:absolute;top:4px;right:4px}@media (width<=680px){.set-manager{flex-wrap:wrap;padding:.75rem}.set-segment-control{flex:1;min-width:100%}.segment-btn{flex:1;padding:.4rem}.set-select-container{flex:unset;width:100%}.set-select{height:34px;padding:.25rem}}.header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}@media (width<=1230px){.header{flex-direction:column;align-items:stretch;gap:1rem}}.header h1{color:var(--accent-primary);margin-bottom:.25rem;font-size:1.8rem}.header p{color:var(--text-muted);font-size:.85rem}.segmented-control{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius);display:flex;overflow:hidden}.seg-btn{color:var(--text-muted);background:0 0;border:none;border-radius:0;padding:.6rem 1rem;font-weight:600}.seg-btn:hover{box-shadow:none;background:#7f869433}.seg-btn.active{background:var(--accent-primary);color:#fff}.header-toggle-group{border:1px solid var(--border-color);border-radius:var(--border-radius);background:0 0;display:flex;overflow:hidden}.header-toggle-group .format-toggle-btn,.header-toggle-group .ui-mode-toggle-btn{color:var(--text-main);box-shadow:none;transition:background var(--transition-speed), color var(--transition-speed);background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;padding:.6rem 1rem;font-size:.95rem;display:flex}.header-toggle-group .format-toggle-btn{border-right:1px solid var(--border-color);white-space:nowrap}.header-toggle-group .ui-mode-toggle-btn{cursor:pointer;padding:.6rem .8rem}.header-toggle-group .format-toggle-btn:hover,.header-toggle-group .ui-mode-toggle-btn:hover{background:#7f869433}.raid-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.share-url-modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:4000;background:#080a0fcc;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.share-url-modal-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;width:min(600px,100vw - 2rem);max-height:calc(100vh - 2rem);padding:2rem;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;position:relative;overflow-y:auto;box-shadow:0 25px 60px #0009}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.share-url-modal-close-btn{color:var(--text-muted);cursor:pointer;opacity:.5;background:0 0;border:none;justify-content:center;align-items:center;padding:.5rem;font-size:1.2rem;transition:opacity .2s;display:flex;position:absolute;top:1rem;right:1rem}.share-url-modal-close-btn:hover{opacity:1;color:var(--text-main)}.share-url-modal-header{text-align:center;margin-bottom:2rem}.share-url-modal-header h2{color:var(--accent-primary);margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.share-url-modal-subtitle{color:var(--text-muted);margin:0;font-size:.9rem}.share-url-modal-options{flex-direction:column;gap:1rem;margin-bottom:1.5rem;display:flex}.share-url-option-btn{border:1px solid var(--border-color);cursor:pointer;text-align:left;background:#ffffff08;border-radius:12px;align-items:flex-start;gap:1rem;padding:1.25rem;transition:all .2s;display:flex}.share-url-option-btn:hover{background:#ffffff0f;border-color:#6366f14d;transform:translateY(-2px)}.share-url-option-btn:active{transform:translateY(0)}.share-url-option-icon{flex-shrink:0;font-size:2rem}.share-url-option-content h3{color:var(--text-main);margin:0 0 .25rem;font-size:1.1rem;font-weight:600}.share-url-option-content>p{color:var(--text-muted);margin:0 0 .5rem;font-size:.85rem}.share-url-option-features{color:var(--text-muted);margin:0;padding-left:1.25rem;font-size:.8rem;line-height:1.6}.share-url-option-features li{margin-bottom:.25rem}.share-url-modal-cancel-btn{border:1px solid var(--border-color);width:100%;color:var(--text-muted);cursor:pointer;background:#ffffff0d;border-radius:8px;padding:.75rem;font-size:.9rem;transition:all .2s}.share-url-modal-cancel-btn:hover{color:var(--text-main);background:#ffffff14}@media (width<=620px){.share-url-modal-content{margin:.5rem;padding:1.5rem}.share-url-modal-header h2{font-size:1.25rem}.share-url-option-btn{padding:1rem}.share-url-option-icon{font-size:1.5rem}}.share-url-option-badge{color:#f5c400;vertical-align:middle;background:#ffc80026;border:1px solid #ffc8004d;border-radius:4px;margin-left:.5rem;padding:.1rem .4rem;font-size:.7rem;font-weight:600;display:inline-block}.share-url-option-badge.generating{color:var(--accent-primary);background:#6366f126;border-color:#6366f14d}.share-url-option-btn.disabled{opacity:.5;cursor:not-allowed;transform:none!important}.share-url-option-btn.disabled:hover{background:#ffffff08;border-color:#ffffff14}.share-url-turnstile-section{text-align:center;margin-bottom:1rem}.share-url-turnstile-label{color:var(--text-muted);margin-bottom:.75rem;font-size:.82rem}.global-filters{background:var(--bg-card);border-radius:var(--border-radius);border:1px solid var(--border-color);flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.filter-toggle-btn{background:var(--glass-bg);border:1px solid var(--border-color);color:var(--text-main);text-align:left;width:100%;padding:0 1rem}.filter-toggle-btn:hover{box-shadow:none;background:#7f869433}.filter-group{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.filter-label{color:var(--text-muted);min-width:60px;font-size:.85rem}.filter-btn{background:var(--bg-dark);border:1px solid var(--border-color);color:var(--text-muted);border-radius:4px;padding:.3rem .6rem;font-size:.85rem}.filter-btn.active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.action-btn{cursor:pointer;color:#fff;border:none;border-radius:6px;align-items:center;gap:.25rem;padding:.45rem 1rem;font-size:.85rem;font-weight:600;line-height:1.4;transition:all .2s;display:inline-flex}.action-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.share-btn{background:linear-gradient(135deg,#1a73e8,#4285f4)}.share-btn:hover{box-shadow:0 2px 6px #4285f44d}.backup-btn{background:linear-gradient(135deg,#34a853,#2e8b57)}.backup-btn:hover{box-shadow:0 2px 6px #34a8534d}.restore-btn{background:linear-gradient(#2a2d34,#2a2d34)}.restore-btn:hover{box-shadow:0 2px 6px #ffffff4d}.settings-panel-toggle-container,.settings-panel-filters-container{margin-bottom:.25rem}.settings-panel-backup-section{border-bottom:1px solid #ffffff1a;flex-wrap:wrap;align-items:center;gap:.5rem;padding-bottom:.5rem;display:flex}.settings-panel-backup-title{color:var(--text-muted);width:100%;font-size:.85rem}.global-filter-checkbox{color:var(--text-main);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;padding:.1rem 0;font-size:.85rem;display:flex}.global-filter-checkbox input[type=checkbox]{cursor:pointer;width:16px;height:16px}.autocomplete-wrapper{flex:1;width:100%;min-width:0;position:relative}.char-select{flex:1;width:100%;padding:.3rem;font-size:.85rem}.autocomplete-dropdown{background:var(--bg-card);border:1px solid var(--border-color);z-index:10;border-radius:4px;width:max-content;min-width:100%;max-width:250px;max-height:250px;margin-top:4px;position:absolute;top:100%;left:0;overflow-y:auto;box-shadow:0 4px 12px #00000080}.autocomplete-item{cursor:pointer;border-bottom:1px solid #ffffff0d;padding:.35rem .6rem}.autocomplete-item:last-child{border-bottom:none}.autocomplete-item:hover,.autocomplete-item.active{background:#7f869466}.autocomplete-item-name{color:var(--text-main);align-items:center;gap:10px;font-weight:600;display:flex}.char-info-badge{color:#fff;background-color:var(--badge-bg);text-shadow:0 1px 2px #00000080;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:18px;font-size:.7rem;font-weight:800;line-height:0;display:flex}.char-name-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.char-select-modal{width:95%!important;max-width:680px!important}.char-modal-body-container{flex-direction:column;gap:.5rem;display:flex}.char-modal-search-wrapper{width:100%;position:relative}.char-modal-search-input{background:var(--bg-card);border:1px solid var(--border-color);width:100%;color:var(--text-main);border-radius:6px;outline:none;padding:.25rem 1rem;font-size:1rem}.char-modal-search-input:focus{border-color:var(--accent-primary)}.search-clear-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1.1rem;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.search-clear-btn:hover{color:var(--text-main)}.char-modal-filters{flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.modal-filter-checkbox{color:var(--text-main);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.modal-filter-checkbox input[type=checkbox]{cursor:pointer;width:16px;height:16px}.modal-filter-group{align-items:center;gap:1rem;font-size:.85rem;display:flex}.modal-filter-label{color:var(--text-muted);flex-shrink:0;width:60px;font-weight:600}.modal-filter-buttons{flex-wrap:wrap;gap:.4rem;display:flex}.modal-filter-btn{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-muted);border-radius:4px;padding:.25rem .6rem;font-size:.8rem}.modal-filter-btn:hover{border-color:var(--accent-primary);color:var(--text-main);box-shadow:none;background:var(--bg-card-hover)}.modal-filter-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.char-icon-grid{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:4px;max-height:380px;padding-right:4px;display:grid;overflow-y:auto}.char-icon-grid-item{cursor:pointer;background:#ffffff05;border:2px solid #0000;border-radius:6px;flex-direction:column;align-items:center;gap:4px;transition:all .15s;display:flex}.char-icon-grid-item:hover{background:var(--bg-card-hover);border-color:var(--accent-primary)}.char-icon-grid-item.selected{border-color:var(--accent-primary);background:var(--accent-primary-glow)}.char-icon-grid-item.excluded{opacity:.25;cursor:not-allowed;pointer-events:none;background:0 0}.char-icon-container{width:80px;height:80px;position:relative}.char-icon-img{object-fit:cover;background:var(--bg-app);border-radius:6px;width:80px;height:80px}.char-placeholder-icon{border:1px solid var(--border-color);color:#fff;text-shadow:0 1px 2px #0009;background:linear-gradient(135deg,#4f5562,#2a2d34);border-radius:6px;justify-content:center;align-items:center;width:80px;height:80px;font-size:.85rem;font-weight:700;display:flex}.char-element-badge{background-color:var(--badge-bg);color:#fff;border:1px solid #fff3;border-radius:4px;justify-content:center;align-items:center;width:18px;height:18px;font-size:.65rem;font-weight:700;display:flex;position:absolute;top:-2px;left:-2px;box-shadow:0 1px 3px #00000080}.char-icon-name{text-align:center;color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:.7rem;overflow:hidden}.char-grid-empty{text-align:center;color:var(--text-muted);grid-column:1/-1;padding:2rem;font-size:.9rem}.char-modal-footer-content{justify-content:space-between;width:100%;display:flex}.clear-selection-btn{border:1px solid var(--border-color);color:var(--text-muted);background:0 0}.clear-selection-btn:hover{color:var(--accent-danger);border-color:var(--accent-danger);background:#de4f4f1a}.close-modal-btn{background:var(--bg-card-accent);color:var(--text-main)}.close-modal-btn:hover{background:var(--text-muted)}@media (width<=600px){.char-modal-filters{max-height:150px;overflow-y:auto}.modal-filter-group{flex-direction:column;align-items:flex-start;gap:.25rem}}.best-team{background:var(--bg-card);border-radius:var(--border-radius);border:1px solid var(--border-color);color:var(--text-main);flex-direction:column;gap:.4rem;padding:.4rem .6rem;transition:transform .2s,box-shadow .2s;display:flex}.best-team-header{flex-direction:column;width:100%;display:flex}.best-team-header.single-row{flex-direction:row;justify-content:space-between;align-items:center}.best-team-header.single-row .best-team-title-row{width:auto}.best-team-header.single-row .best-team-damage{text-align:right;width:auto}.best-team-title-row{align-items:center;gap:.4rem;width:100%;display:flex}.best-team-num{text-transform:uppercase;min-width:52px;font-size:.85rem;font-weight:700}.best-team-chars{border-top:1px solid var(--border-color);flex-direction:column;gap:.4rem;padding-top:.4rem;display:flex}.char-badge{color:var(--text-main);border:1px solid var(--border-color);white-space:nowrap;background:#ffffff14;border-radius:4px;align-items:center;gap:.2rem;width:100%;padding:0 .2rem;font-size:.85rem;display:flex;overflow:hidden}.char-badge-info{color:#fff;background-color:var(--badge-bg);text-shadow:0 1px 2px #00000080;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;font-size:.7rem;font-weight:800;line-height:0;display:flex}.char-badge-name{border-left:1px solid #ffffff14;flex:1;padding:.1rem .2rem}.best-team-damage{white-space:nowrap;text-align:right;flex-shrink:0;width:100%;font-size:.85rem}.best-team-damage strong{font-size:1rem}.element-badge{background:var(--bg-card);color:var(--badge-color,var(--text-muted));border:1px solid var(--badge-color,var(--border-color));white-space:nowrap;border-radius:12px;flex-shrink:0;margin-left:auto;padding:.2rem .5rem;font-size:.75rem}.best-team.team-disabled{border-style:dashed}.best-team.team-disabled .best-team-chars,.best-team.team-disabled .best-team-damage,.best-team.team-disabled .best-team-num,.best-team.team-disabled .element-badge,.best-team.team-disabled .team-disabled-badge,.best-team.team-disabled .team-pinned-badge{opacity:.5;filter:grayscale(.5)}.best-team{border-left:3px solid var(--team-border-color,#fff3)}.best-team-title-row .element-badge{color:var(--badge-color);border-color:var(--badge-color)}.team-disabled-badge,.team-pinned-badge{color:var(--text-muted);font-size:.75rem}.best-team.team-selected{border:1.5px solid var(--accent-primary)!important;border-left-width:3px!important;box-shadow:0 0 12px #de4f4f40,inset 0 0 4px #de4f4f26!important}.best-team-chars.icon-mode{flex-direction:row;justify-content:center;align-items:center;gap:6px;padding-top:.4rem}.best-team-chars.icon-mode .char-badge-icon-wrapper{cursor:default;border-radius:4px;justify-content:center;align-items:center;display:flex;position:relative}.best-team-chars.icon-mode .char-icon-img{object-fit:cover;border:1px solid var(--border-color);background:var(--bg-app);border-radius:4px;width:60px;height:60px}.best-team-chars.icon-mode .char-placeholder-icon{border:1px solid var(--border-color);color:#fff;text-shadow:0 1px 2px #0009;background:linear-gradient(135deg,#4f5562,#2a2d34);border-radius:4px;justify-content:center;align-items:center;width:60px;height:60px;font-size:.6rem;font-weight:700;display:flex}.best-team-chars.icon-mode .char-element-badge{background-color:var(--badge-bg);color:#fff;z-index:1;border:1px solid #ffffff26;border-radius:2px;justify-content:center;align-items:center;width:15px;height:15px;font-size:.5rem;font-weight:700;display:flex;position:absolute;top:-2px;left:-2px;box-shadow:0 1px 3px #00000080}.best-team.team-disabled .best-team-chars.icon-mode .char-badge-icon-wrapper{opacity:.5;filter:grayscale(.5)}@media (width<=375px){.best-team-chars.icon-mode{gap:4px;padding-top:.3rem}.best-team-chars.icon-mode .char-icon-img,.best-team-chars.icon-mode .char-placeholder-icon{width:50px;height:50px}.best-team-chars.icon-mode .char-element-badge{width:13px;height:13px;font-size:.45rem;top:-1px;left:-1px}}.calc-toggles{padding:.5rem;font-size:.85rem;position:relative}.calc-toggles-title{color:var(--text-muted);text-align:center;margin-bottom:.5rem}.calc-toggles-inline{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.calc-toggle-btn{background:var(--bg-dark);border:1px solid var(--border-color);color:var(--text-muted);border-radius:20px;justify-content:center;align-items:center;gap:.4rem;padding:.4rem .8rem;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.calc-toggle-btn:hover{box-shadow:0 0px 8px var(--bg-card-accent)}.calc-toggle-btn.on{background:var(--bg-card);border-color:var(--toggle-color);color:var(--toggle-color)}.calc-toggle-btn.off{opacity:.4;background:0 0}@media (width<=580px){.calc-toggle-btn{padding:.3rem .6rem}}.calculate-btn{background:var(--accent-primary);border:none;width:100%;padding:1rem;font-size:1.1rem;font-weight:600;box-shadow:0 4px 10px #de4f4f33}.calculate-btn:hover{transform:translateY(-2px);box-shadow:0 6px 15px #de4f4f66}.calculate-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.error-message{color:var(--text-main);background:var(--accent-primary);border-radius:var(--border-radius);padding:1rem;font-weight:500}.result-card{border:2px solid var(--accent-primary);border-radius:16px;flex-direction:column;gap:0;width:100%;margin-bottom:1.5rem;padding:.6rem .5rem .5rem;display:flex;box-shadow:0 0 20px #de4f4f26}.result-label{text-align:center;color:var(--accent-primary);text-transform:uppercase;letter-spacing:1px;font-size:1.2rem;font-weight:800}.result-total{text-align:center;color:var(--text-muted);border-bottom:1px solid var(--border-color);margin-bottom:.6rem;font-size:1.4rem}.result-total strong{color:var(--text-main);word-break:break-all;font-size:2rem}.best-teams{flex-direction:column;gap:.75rem;display:flex}.calc-details-section.with-border{border-top:1px solid var(--border-color);margin-top:.5rem}.filter-toggle-btn.union-margin{margin-top:.5rem}.calc-details-content{flex-direction:column;padding:.75rem .5rem .25rem;display:flex}.auto-calc-checkbox-label{color:var(--text-main);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.6rem;font-size:.85rem;display:flex}.auto-calc-checkbox-label input[type=checkbox]{cursor:pointer;accent-color:var(--accent-primary);width:15px;height:15px}.calc-constraints-section{border-top:1px solid var(--border-color);flex-direction:column;gap:.5rem;margin-top:.75rem;padding-top:.75rem;display:flex}.calc-constraint-group{flex-direction:column;gap:.2rem;display:flex}.calc-constraint-group .autocomplete-wrapper{width:100%}.calc-constraint-group .char-select{width:100%;height:32px;padding:.35rem .5rem;font-size:.8rem}.calc-char-tags{flex-wrap:wrap;gap:.35rem;margin-top:.25rem;display:flex}.calc-char-tag{cursor:pointer;border:1px solid;border-radius:12px;align-items:center;gap:.3rem;padding:.15rem .5rem;font-size:.75rem;font-weight:500;transition:all .2s;display:inline-flex}.calc-char-tag:hover{filter:brightness(1.15);transform:translateY(-.5px)}.calc-char-tag.suspended,.calc-team-tag.suspended{opacity:.6;text-decoration:line-through;color:var(--text-muted)!important;background:#7f86941a!important;border-color:#7f869440!important}.calc-char-tag-remove{color:inherit;cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;width:auto;height:auto;margin:0;padding:0;font-size:.75rem;transition:opacity .2s;display:flex}.calc-char-tag-remove:hover{opacity:1;box-shadow:none;background:0 0}.calc-team-tags{flex-wrap:wrap;gap:.35rem;margin-top:.25rem;transition:opacity .2s,filter .2s;display:flex}.calc-team-tag{cursor:pointer;border:1px solid;border-radius:12px;align-items:center;gap:.3rem;padding:.15rem .5rem;font-size:.75rem;font-weight:500;transition:all .2s;display:inline-flex}.calc-team-tag:hover{filter:brightness(1.15);transform:translateY(-.5px)}.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;top:20px;right:20px}.toast-item{pointer-events:auto;cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);border-radius:8px;align-items:center;gap:12px;min-width:260px;max-width:320px;padding:10px 16px;transition:transform .2s,opacity .2s;animation:.3s cubic-bezier(.16,1,.3,1) forwards toast-slide-in;display:flex;box-shadow:0 4px 15px #0006}.toast-item:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000080}.toast-success{border-color:#40c4634d}.toast-success .toast-icon{color:#40c463}.toast-error{border-color:#de4f4f4d}.toast-error .toast-icon{color:#de4f4f}.toast-info{border-color:#58a6ff4d}.toast-info .toast-icon{color:#58a6ff}.toast-icon{flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;display:flex}.toast-text{color:var(--text-main);word-break:break-all;flex-grow:1;font-size:.9rem;font-weight:500}.toast-close-btn{color:var(--text-muted);cursor:pointer;opacity:.5;background:0 0;border:none;justify-content:center;align-items:center;padding:0 .5rem;font-size:1.2rem;transition:opacity .2s;display:flex}.toast-close-btn:hover{opacity:1;color:var(--text-main)}@keyframes toast-slide-in{0%{opacity:0;transform:translate(120%)scale(.9)}to{opacity:1;transform:translate(0)scale(1)}}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:4000;background:#000000bf;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.import-modal{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius);flex-direction:column;width:100%;max-width:540px;max-height:85vh;padding:0;animation:.3s ease-out modal-enter;display:flex;overflow:hidden;box-shadow:0 10px 30px #00000080}@keyframes modal-enter{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.import-modal-header{border-bottom:2px solid var(--accent-primary);background:var(--bg-dark);padding:1.25rem 1.5rem}.import-modal-header h2{color:var(--accent-primary);margin:0 0 .5rem;font-size:1.25rem}.import-modal-header p{color:var(--text-muted);margin:0;font-size:.9rem}.import-modal-content{flex-direction:column;flex:1;gap:1rem;padding:1rem;display:flex;overflow-y:auto}.import-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:.75rem;font-size:.85rem;font-weight:700}.import-new-set-box{background:var(--bg-dark);border-radius:var(--border-radius);border:1px solid var(--border-color);padding:1rem}.import-input-group{align-items:flex-start;gap:.5rem;margin-top:.5rem;display:flex}.import-input-field-wrap{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.import-name-counter{color:var(--text-muted);text-align:right;opacity:.8;font-size:.75rem}.import-input{background:var(--bg-dark);border:1px solid var(--border-color);color:var(--text-main);border-radius:var(--border-radius);flex:1;padding:.4rem .8rem;font-size:.9rem}.import-input:focus{border-color:var(--accent-primary);outline:none}.import-set-list{flex-direction:column;gap:.5rem;display:flex}.import-set-item{background:var(--bg-dark);border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;text-align:left;width:100%;color:var(--text-main);justify-content:space-between;align-items:center;padding:.8rem 1rem;transition:all .2s;display:flex}.import-set-item:hover{background:var(--bg-card-hover);border-color:var(--accent-primary);box-shadow:0 0 10px var(--accent-primary-glow)}.import-set-info{flex-direction:column;display:flex}.import-set-name{font-size:.95rem;font-weight:600}.import-set-tag{color:var(--text-muted);font-size:.75rem}.import-fixed-tag{color:#f6ad55;font-weight:700}.import-modal-footer{border-top:1px solid var(--border-color);justify-content:flex-end;gap:1rem;padding:1.25rem;display:flex}.import-cancel-btn{border:1px solid var(--border-color);color:var(--text-muted);border-radius:var(--border-radius);cursor:pointer;background:0 0;padding:.6rem 1.2rem}.import-cancel-btn:hover{color:var(--text-main);background:#ffffff0d}.import-save-btn{background:var(--accent-primary);border:1px solid var(--accent-primary);color:#fff;border-radius:var(--border-radius);cursor:pointer;white-space:nowrap;align-self:flex-start;padding:.4rem 1rem;font-size:.9rem;font-weight:600;transition:all .2s}.import-save-btn:hover{background:#d32f2f;border-color:#d32f2f}@media (width<=600px){.modal-backdrop{padding:0}.import-modal{border-radius:0;height:100vh;max-height:100vh}}input{font-size:1rem}.import-new-set-desc{color:var(--text-muted);font-size:.85rem}.import-overwrite-arrow{color:var(--text-muted);font-size:.8rem}.import-set-item.fixed-set-warning{border-color:#f6ad554d}.import-set-item.fixed-set-warning:hover{border-color:#f6ad55;box-shadow:0 0 10px #f6ad5533}.import-custom-tag{color:var(--text-muted)}.import-active-tag{color:var(--accent-primary);font-weight:600}.warning-text{color:#f6ad55;font-weight:600}.element-tabs-list{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:4px;padding:0 .25rem;display:flex;overflow-x:auto}.element-tab-btn{border:1px solid var(--tab-border-color,var(--border-color));color:var(--tab-color,var(--text-muted));border-radius:var(--border-radius);white-space:nowrap;opacity:.5;background:0 0;flex:1;justify-content:center;align-items:center;gap:6px;min-width:0;padding:.5rem .25rem;font-size:.8rem;display:flex;position:relative}.element-tab-btn:focus{outline:none}.element-tab-btn:hover{box-shadow:none;background:#7f86941a}.element-tab-btn.active{opacity:1;background:#ffffff0d;font-weight:800;box-shadow:0 0 8px #ffffff0d}.tab-drag-handle{opacity:.4;cursor:grab;padding:0 2px;font-size:.9rem}.tab-drag-handle:hover{opacity:.8}.element-tab-btn:active .tab-drag-handle{cursor:grabbing}.element-tab-btn.dragging{opacity:.5;border-style:dashed}.element-tabs{margin-bottom:.25rem;padding:.5rem}.element-tabs-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:0 .5rem;display:flex}.element-tabs-title{color:var(--text-muted);font-size:.85rem}.element-tabs-drag-hint{color:var(--text-muted);opacity:.6;font-size:.7rem}.char-icon-slots{flex:1;justify-content:center;align-items:center;gap:4px;display:flex}.char-slot{flex-direction:column;flex-shrink:0;align-items:center;gap:4px;display:flex}.char-slot.disabled{opacity:.6}.char-slot-icon-wrapper{cursor:pointer;border-radius:6px;justify-content:center;align-items:center;transition:transform .15s,box-shadow .15s;display:flex;position:relative}.char-slot-icon-wrapper:hover{transform:scale(1.05);box-shadow:0 4px 10px #0006}.char-slot-icon-wrapper .char-icon-img{object-fit:cover;border:1px solid var(--border-color);background:var(--bg-app);border-radius:6px;width:74px;height:74px}.char-slot-icon-wrapper .char-placeholder-icon{border:1px solid var(--border-color);color:#fff;text-shadow:0 1px 2px #0009;background:linear-gradient(135deg,#4f5562,#2a2d34);border-radius:6px;justify-content:center;align-items:center;width:74px;height:74px;font-size:.75rem;font-weight:700;display:flex}.char-slot-empty{border:1.5px dashed var(--border-color);width:74px;height:74px;color:var(--text-muted);cursor:pointer;box-shadow:none;background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:1.25rem;font-weight:500;transition:all .15s;display:flex}.char-slot-empty:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--accent-primary-glow);box-shadow:0 4px 10px var(--accent-primary-glow);transform:scale(1.05)}.char-slot-remove{background:var(--accent-danger);color:#fff;cursor:pointer;opacity:0;z-index:2;border:1px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;padding:0;font-size:8px;font-weight:700;transition:opacity .15s,background-color .15s;display:flex;position:absolute;top:-5px;right:-5px;box-shadow:0 1px 3px #0006}.char-slot-icon-wrapper:hover .char-slot-remove{opacity:1}.char-slot-remove:hover{background:var(--accent-primary-hover)}.char-slot-element-badge{background-color:var(--badge-bg);color:#fff;z-index:1;border:1px solid #ffffff26;border-radius:3px;justify-content:center;align-items:center;width:16px;height:16px;font-size:.6rem;font-weight:700;display:flex;position:absolute;top:-2px;left:-2px;box-shadow:0 1px 3px #00000080}.char-slot-name{color:var(--text-muted);text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%;max-width:58px;font-size:.65rem;font-weight:500;line-height:1.2;overflow:hidden}.damage-input-container{align-items:center;gap:.5rem;width:100%;display:flex}.damage-field{text-align:right;width:100%;padding:.3rem;font-size:.85rem}.damage-suffix{min-width:1.5rem;color:var(--text-muted);font-size:.9rem}.team-status-btn{border:1px solid var(--border-color);cursor:pointer;width:34px;height:34px;color:var(--text-muted);background:#ffffff0a;border-radius:6px;outline:none;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex;position:relative}.team-status-btn:hover{color:var(--text-main);border-color:var(--accent-primary);background:#ffffff1a}.team-status-btn.pinned{color:var(--accent-primary);border-color:var(--accent-primary);background:#de4f4f14}.team-status-btn.excluded{color:var(--accent-danger);border-color:#de4f4f4d}.status-icon-gear{font-size:1.1rem;transition:transform .3s}.team-status-btn:hover .status-icon-gear{transform:rotate(45deg)}.status-badge-container{gap:2px;display:flex;position:absolute;top:-6px;right:-6px}.status-badge{background:var(--bg-card);border:1px solid var(--border-color);border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:.7rem;display:flex;box-shadow:0 2px 4px #0000004d}.team-status-menu-container{align-items:center;display:flex;position:relative}.team-status-menu{z-index:100;border:1px solid var(--border-color);border-radius:var(--border-radius);-webkit-backdrop-filter:blur(10px);background:#3b404a;flex-direction:column;gap:.25rem;width:max-content;min-width:240px;padding:.5rem;animation:.15s ease-out menuFadeIn;display:flex;position:absolute;top:110%;left:0;box-shadow:0 4px 16px #00000040}.theme-light .team-status-menu{background:#fff}@keyframes menuFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.team-status-menu-item{color:var(--text-main);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:4px;align-items:center;gap:.6rem;padding:.4rem .6rem;font-size:.85rem;transition:background .15s;display:flex}.team-status-menu-item:hover{background:var(--bg-card-hover)}.team-status-menu-item input[type=checkbox]{cursor:pointer;accent-color:var(--accent-primary);width:14px;height:14px}.team-status-menu-divider{background:var(--border-color);opacity:.3;height:1px;margin:.25rem 0}.team-status-menu-action{color:var(--text-main);cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;white-space:nowrap;background:0 0;border:none;border-radius:4px;align-items:center;gap:.6rem;width:100%;padding:.4rem .6rem;font-family:inherit;font-size:.85rem;transition:background .15s;display:flex}.team-status-menu-action:hover{background:var(--bg-card-hover);box-shadow:none}.status-badge.memo{background:var(--bg-app);border-color:var(--border-color);font-size:.65rem}.status-badge.clickable{cursor:pointer;transition:transform .15s,background .15s}.status-badge.clickable:hover{background:var(--bg-card-hover);border-color:var(--accent-primary);transform:scale(1.15)}@media (width<=1230px){.team-container:not(.icon-mode) .team-status-menu-container{position:absolute;top:.5rem;left:2rem}.team-status-btn{width:28px;height:28px}.team-status-menu{width:220px;min-width:200px;max-width:calc(100vw - 4rem)}.team-status-menu-item,.team-status-menu-action{text-overflow:ellipsis;padding:.35rem .5rem;font-size:.8rem;overflow:hidden}}.team-container{background:var(--bg-card);border-radius:var(--border-radius);transition:opacity .2s, transform var(--transition-speed);z-index:var(--z-index);align-items:center;gap:.5rem;padding:.6rem .5rem;display:flex;position:relative}.draggable-team{border:1px solid var(--accent-primary);box-shadow:0 0 4px var(--accent-primary);transition:all .2s}.team-drag-handle{cursor:grab;color:var(--text-muted);opacity:.4;touch-action:none;justify-content:center;align-items:center;margin-right:-.25rem;padding:.2rem;font-size:1.2rem;display:flex}.team-drag-handle:hover{opacity:1;color:var(--text-main)}.team-drag-handle:active{cursor:grabbing}.team-disabled{border:1px dashed var(--border-color);background:0 0}.team-disabled .team-drag-handle,.team-disabled .char-selects,.team-disabled .damage-input-wrapper,.team-disabled .team-status-btn,.team-disabled .remove-btn{opacity:.4}.team-disabled .team-status-btn:hover,.team-disabled .team-status-menu-container:focus-within .team-status-btn{opacity:1}.char-selects{flex:1;gap:.5rem;display:flex}.damage-input-wrapper{width:150px}.team-actions{align-items:center;display:flex}.remove-btn{color:var(--text-muted);background:0 0;border:1px solid #0000;padding:.4rem;font-size:1.2rem;line-height:1}.remove-btn:hover{color:var(--accent-danger);background:#de4f4f1a;border-color:#de4f4f4d}.add-team-btn{border:1px dashed var(--border-color);color:var(--text-muted);background:0 0;width:100%;padding:1rem}.add-team-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:0 0}@media (width<=1230px){.team-container:not(.icon-mode){flex-direction:column;align-items:stretch;padding:2.5rem 1rem 1rem;position:relative}.team-container.icon-mode{grid-template-rows:auto auto;grid-template-columns:auto auto auto 1fr;align-items:center;gap:.35rem .75rem;padding:.2rem;display:grid}.team-container.icon-mode .team-drag-handle{opacity:.5;grid-area:2/1;justify-self:center;margin:0;padding:.25rem 0}.team-container.icon-mode .team-status-menu-container{grid-area:2/2;justify-self:start;margin:0}.team-container.icon-mode .team-actions{grid-area:2/3;justify-self:start;margin:0}.team-container.icon-mode .char-icon-slots{grid-area:1/1/auto/-1;align-self:center}.team-container.icon-mode .damage-input-wrapper{grid-area:2/4;justify-self:end;width:100%;max-width:200px;margin-top:.25rem}.team-container:not(.icon-mode) .team-drag-handle{padding:.2rem;position:absolute;top:.25rem;left:.25rem}.team-container:not(.icon-mode) .remove-btn{color:var(--text-muted);border:1px solid var(--border-color);background:0 0;padding:.2rem;font-size:1rem;position:absolute;top:.5rem;right:.5rem}.team-container:not(.icon-mode) .char-selects{grid-template-rows:auto auto;grid-template-columns:repeat(6,1fr);gap:.5rem;width:100%;display:grid}.team-container:not(.icon-mode) .char-selects>div:first-child{grid-area:1/1/auto/span 2}.team-container:not(.icon-mode) .char-selects>div:nth-child(3){grid-area:1/3/auto/span 2}.team-container:not(.icon-mode) .char-selects>div:nth-child(5){grid-area:1/5/auto/span 2}.team-container:not(.icon-mode) .char-selects>div:nth-child(2){grid-area:2/2/auto/span 2}.team-container:not(.icon-mode) .char-selects>div:nth-child(4){grid-area:2/4/auto/span 2}.team-container:not(.icon-mode) .damage-input-wrapper{width:100%;margin-top:.75rem}}.team-selected{border:1.5px solid var(--accent-primary)!important;box-shadow:0 0 12px #de4f4f40,inset 0 0 4px #de4f4f26!important}.teams-wrapper.icon-mode{flex-direction:column;gap:.75rem;display:flex}@media (width>=800px){.teams-wrapper.icon-mode{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}}@media (width>=1680px){.teams-wrapper.icon-mode{grid-template-columns:repeat(3,1fr)}}.team-container.icon-mode{grid-template-rows:auto auto;grid-template-columns:auto auto auto 1fr;align-items:center;gap:.35rem .75rem;padding:.2rem;display:grid}.team-container.icon-mode .team-drag-handle{opacity:.5;grid-area:2/1;justify-self:center;margin:0;padding:.25rem 0}.team-container.icon-mode .team-status-menu-container{grid-area:2/2;justify-self:start;margin:0}.team-container.icon-mode .team-actions{grid-area:2/3;justify-self:start;margin:0}.team-container.icon-mode .remove-btn{padding:.4rem;font-size:1.1rem;position:static}.team-container.icon-mode .char-icon-slots{grid-area:1/1/auto/-1;align-self:center}.team-container.icon-mode .damage-input-wrapper{grid-area:2/4;justify-self:end;width:100%;max-width:200px;margin-top:.25rem}@media (width<=800px){.team-container.icon-mode{grid-template-rows:auto auto;grid-template-columns:auto auto auto 1fr;gap:.25rem .5rem;padding:.3rem}.team-container.icon-mode .team-drag-handle{grid-area:2/1}.team-container.icon-mode .team-status-menu-container{grid-area:2/2;justify-self:start}.team-container.icon-mode .team-actions{grid-area:2/3;justify-self:start}}@media (width<=400px){.team-container.icon-mode{grid-template-rows:auto auto;grid-template-columns:32px auto auto 1fr;gap:.2rem .3rem;padding:.5rem}.team-container.icon-mode .team-drag-handle{grid-area:2/1}.team-container.icon-mode .team-status-menu-container{grid-area:2/2;justify-self:start}.team-container.icon-mode .team-actions{grid-area:2/3;justify-self:start}.team-container.icon-mode .damage-input-wrapper{grid-area:2/4;justify-self:end;margin-top:0}.team-container.icon-mode .char-icon-slots{gap:4px}.team-container.icon-mode .char-slot{width:65px}.team-container.icon-mode .char-slot-icon-wrapper,.team-container.icon-mode .char-slot-icon-wrapper .char-icon-img,.team-container.icon-mode .char-slot-icon-wrapper .char-placeholder-icon,.team-container.icon-mode .char-slot-empty{width:65px;height:65px}.team-container.icon-mode .char-slot-name{max-width:65px}}.set-name-modal .app-modal-content{max-width:420px}.set-name-modal-body{flex-direction:column;gap:.4rem;display:flex}.set-name-modal-input{background:var(--bg-app);border:1px solid var(--border-color);width:100%;color:var(--text-main);box-sizing:border-box;border-radius:6px;padding:.6rem .75rem;font-family:inherit;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.set-name-modal-input:focus{border-color:var(--accent-primary);outline:none;box-shadow:0 0 0 2px #de4f4f26}.set-name-counter{color:var(--text-muted);opacity:.8;align-self:flex-end;font-size:.8rem;transition:color .2s}.set-name-counter.near-limit{color:#f6ad55;opacity:1}.set-name-counter.at-limit{color:var(--accent-primary);opacity:1}.set-name-modal-footer{justify-content:flex-end;gap:.75rem;display:flex}.set-name-btn-cancel,.set-name-btn-confirm{cursor:pointer;border-radius:6px;padding:.4rem .9rem;font-size:.9rem;font-weight:600;transition:all .2s}.set-name-btn-cancel{border:1px solid var(--border-color);color:var(--text-main);background:0 0}.set-name-btn-cancel:hover{background:#ffffff1a}.set-name-btn-confirm{background:var(--accent-primary);border:1px solid var(--accent-primary);color:#fff}.set-name-btn-confirm:hover:not(:disabled){background:#d32f2f;border-color:#d32f2f}.set-name-btn-confirm:disabled{opacity:.4;cursor:not-allowed}.confirm-modal-message{color:var(--text-main);white-space:pre-wrap;word-break:break-all;margin:0;line-height:1.6}.confirm-modal-footer{justify-content:flex-end;gap:.75rem;display:flex}.confirm-btn-cancel,.confirm-btn-confirm{cursor:pointer;border-radius:6px;padding:.4rem .9rem;font-size:.9rem;font-weight:600;transition:all .2s ease-in-out}.confirm-btn-cancel{border:1px solid var(--border-color);color:var(--text-main);background:0 0}.confirm-btn-cancel:hover{border-color:var(--text-muted);background:#ffffff14}.theme-light .confirm-btn-cancel:hover{background:#0000000a}.confirm-btn-confirm{color:#fff;background:var(--accent-secondary,#4a90d9);border:none}.confirm-btn-confirm:hover{filter:brightness(1.1);box-shadow:0 2px 8px #0003}.confirm-btn-confirm.is-danger{background:var(--accent-primary)}.confirm-btn-confirm.is-danger:hover{background:#d32f2f}.merge-backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#04060abf}.merge-modal-content{width:100%;max-width:580px;color:var(--text-main);background:#10141ee6;border:1px solid #ffffff14;border-radius:16px;padding:2.25rem 2rem;animation:.3s cubic-bezier(.16,1,.3,1) forwards mergeModalEntrance;box-shadow:0 30px 60px #0009,0 0 50px #f59e0b08}@keyframes mergeModalEntrance{0%{opacity:0;transform:scale(.96)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.merge-header{text-align:center;margin-bottom:1.75rem}.merge-warning-icon{color:#f59e0b;margin-bottom:.75rem;font-size:2.5rem;animation:2s ease-in-out infinite mergeWarningPulse;display:inline-flex}@keyframes mergeWarningPulse{0%,to{filter:drop-shadow(0 0 2px #f59e0b33);transform:scale(1)}50%{filter:drop-shadow(0 0 10px #f59e0b80);transform:scale(1.08)}}.merge-header h2{letter-spacing:.5px;margin:0 0 .5rem;font-size:1.45rem;font-weight:700}.merge-subtitle{color:var(--text-muted);margin:0;padding:0 1rem;font-size:.88rem;line-height:1.5}.merge-stats-grid{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2rem;display:grid}.merge-stat-card{border:1px solid #ffffff0d;border-radius:10px;flex-direction:column;align-items:center;gap:.25rem;padding:1rem;display:flex}.local-stat{background:#6366f10d;border-color:#6366f126}.cloud-stat{background:#10b9810d;border-color:#10b98126}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem}.stat-value{color:#fff;font-size:1.05rem;font-weight:700}.merge-body{flex-direction:column;gap:1rem;display:flex}.merge-instruction{color:#fff;margin:0 0 .5rem;font-size:.92rem;font-weight:600}.merge-options-list{flex-direction:column;gap:.85rem;display:flex}.merge-option-btn{cursor:pointer;text-align:left;background:#ffffff05;border:1px solid #ffffff0f;border-radius:12px;align-items:flex-start;gap:1rem;width:100%;padding:1.1rem 1.25rem;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.option-icon-wrapper{width:40px;height:40px;color:var(--text-muted);background:#ffffff0a;border:1px solid #ffffff0f;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.25rem;transition:all .2s;display:flex}.option-info{flex-direction:column;gap:.25rem;display:flex}.option-title{color:#fff;font-size:.95rem;font-weight:700;transition:color .2s}.option-desc{color:var(--text-muted);font-size:.8rem;line-height:1.4}.merge-choice:hover{background:#6366f10f;border-color:#6366f14d;box-shadow:0 4px 15px #6366f114}.merge-choice:hover .option-icon-wrapper{color:#a5b4fc;background:#6366f126;border-color:#6366f14d}.merge-choice:hover .option-title{color:#a5b4fc}.cloud-choice:hover{background:#10b9810f;border-color:#10b9814d;box-shadow:0 4px 15px #10b98114}.cloud-choice:hover .option-icon-wrapper{color:#34d399;background:#10b98126;border-color:#10b9814d}.cloud-choice:hover .option-title{color:#34d399}.local-choice:hover{background:#ef44440f;border-color:#ef44444d;box-shadow:0 4px 15px #ef444414}.local-choice:hover .option-icon-wrapper{color:#f87171;background:#ef444426;border-color:#ef44444d}.local-choice:hover .option-title{color:#f87171}@media (width<=600px){.merge-stats-grid{grid-template-columns:1fr}.merge-modal-content{padding:1.5rem}}.teams-wrapper{margin-bottom:1 rem;flex-direction:column;gap:.75rem;display:flex}.calculator-placeholder{text-align:center;color:var(--text-muted);padding:2rem}.auth-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080a0fb3;transition:all .3s}.auth-modal-content{background:var(--bg-app);width:min(840px,100vw - 2rem);max-width:620px;max-height:calc(100vh - 2rem);color:var(--text-main);border:1px solid #ffffff14;border-radius:20px;padding:2rem 2.25rem 1.75rem;animation:.35s cubic-bezier(.16,1,.3,1) forwards authModalEntrance;position:relative;overflow-y:auto;box-shadow:0 25px 60px #0009,0 0 50px #5865f20f}@keyframes authModalEntrance{0%{opacity:0;transform:scale(.94)translateY(15px)}to{opacity:1;transform:scale(1)translateY(0)}}.auth-close-btn{color:var(--text-muted);cursor:pointer;opacity:.5;background:0 0;border:none;justify-content:center;align-items:center;padding:.5rem;font-size:1.2rem;transition:opacity .2s;display:flex;position:absolute;top:1.25rem;right:1.25rem}.auth-close-btn:hover{opacity:1;color:var(--text-main)}.auth-header{text-align:center;margin-bottom:1.75rem}.auth-header h2{letter-spacing:1px;color:var(--accent-primary);margin:0 0 .4rem;font-size:1.5rem;font-weight:700}.auth-subtitle{color:var(--text-muted);margin:0;font-size:.86rem;line-height:1.4}.auth-warning-box{text-align:center;color:#f59e0b;background:#f59e0b14;border:1px solid #f59e0b33;border-radius:12px;padding:1.25rem}.auth-warning-box p{margin:0 0 .5rem;font-size:.95rem}.auth-warning-desc{color:#f59e0bcc;line-height:1.4;margin:0!important;font-size:.82rem!important}.auth-columns{align-items:stretch;gap:0;min-height:320px;display:flex}.auth-col-left{flex-direction:column;flex:1;gap:0;padding-right:2rem;display:flex}.auth-col-right{flex-direction:column;flex:0 0 220px;justify-content:center;padding-left:2rem;display:flex}.auth-col-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0 0 1rem;font-size:.78rem;font-weight:600}.auth-col-divider{background:#ffffff12;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:1px;display:flex;position:relative}.auth-col-divider span{text-transform:uppercase;letter-spacing:1px;color:#fff3;white-space:nowrap;background:#121621f2;padding:.5rem .25rem;font-size:.7rem;position:absolute}.auth-form{flex-direction:column;flex:1;gap:.85rem;display:flex}.auth-input-group{width:100%;position:relative}.input-icon{color:var(--text-muted);pointer-events:none;font-size:.95rem;transition:color .2s;position:absolute;top:50%;left:.9rem;transform:translateY(-50%)}.auth-input-group input{background:var(--bg-card);border:1px solid var(--border-color);width:100%;color:var(--text-main);border-radius:8px;outline:none;padding:.72rem 1rem .72rem 2.5rem;font-size:.9rem;transition:all .2s}.auth-input-group input::placeholder{color:rgba(--text-muted)}.auth-input-group input:focus{background:#ffffff0d;border-color:#6366f166;box-shadow:0 0 10px #6366f126}.auth-consent-label{cursor:pointer;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;align-items:flex-start;gap:.6rem;padding:.6rem .75rem;transition:background .2s,border-color .2s;display:flex}.auth-consent-label:hover{background:#ffffff0a;border-color:#6366f133}.auth-consent-checkbox{width:15px;height:15px;accent-color:var(--accent-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;margin-top:2px;padding:0}.auth-consent-text{color:var(--text-main);-webkit-user-select:none;user-select:none;font-size:.8rem;line-height:1.45}.auth-consent-hint{color:var(--text-muted);margin-top:.2rem;font-size:.72rem;line-height:1.4;display:block}.auth-turnstile-wrapper{justify-content:center;display:flex}.auth-submit-btn{background:var(--accent-secondary);cursor:pointer;width:100%;box-shadow:0 4px 12px var(--accent-secondary-glow);border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;margin-top:auto;padding:.78rem 1rem;font-size:.9rem;font-weight:600;transition:all .25s;display:flex}.auth-submit-btn:hover{background:var(--accent-secondary-hover);background-color:var(--accent-secondary-hover);box-shadow:0 6px 15px var(--accent-secondary-glow);transform:translateY(-1px)}.auth-submit-btn:active{transform:translateY(0)}.auth-submit-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.submit-icon{font-size:1.05rem}.auth-spinner{border:2px solid #fff3;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.6s linear infinite authSpinnerSpin}@keyframes authSpinnerSpin{to{transform:rotate(360deg)}}.auth-providers{flex-direction:column;gap:.85rem;display:flex}.discord-auth-btn{background:var(--color-discord);color:#fff;cursor:pointer;width:100%;box-shadow:0 4px 15px rgba(var(--color-discord-rgb), .3);border:none;border-radius:10px;justify-content:center;align-items:center;gap:.7rem;padding:.8rem 1rem;font-size:.9rem;font-weight:600;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.discord-auth-btn:hover:not(:disabled){background:var(--color-discord-hover);box-shadow:0 6px 20px rgba(var(--color-discord-rgb), .45);transform:translateY(-2px)}.discord-auth-btn:active{transform:translateY(0)}.discord-icon{font-size:1.2rem}.google-auth-btn{color:#3c4043;cursor:pointer;background:#fff;border:1px solid #0000001f;border-radius:10px;justify-content:center;align-items:center;gap:.7rem;width:100%;padding:.8rem 1rem;font-size:.9rem;font-weight:600;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 2px 8px #00000026}.google-auth-btn:hover:not(:disabled){background:#f8f8f8;transform:translateY(-2px);box-shadow:0 5px 15px #0003}.google-auth-btn:active{transform:translateY(0)}.google-icon{color:#4285f4;font-size:1.1rem}.discord-auth-btn:disabled,.google-auth-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.auth-toggle-mode{text-align:center;color:var(--text-muted);border-top:1px solid #ffffff0f;margin-top:1.25rem;padding-top:1.25rem;font-size:.82rem}.auth-toggle-link{color:var(--accent-primary);cursor:pointer;background:0 0;border:none;margin-left:.3rem;padding:.1rem .3rem;font-size:.82rem;font-weight:600;transition:all .2s}.auth-toggle-link:hover{background-color:unset;box-shadow:unset;color:var(--accent-primary-hover);text-decoration:underline}@media (width<=620px){.auth-modal-content{border-radius:16px;max-width:100%;margin:.5rem;padding:1.5rem 1.25rem}.auth-columns{min-height:unset;flex-direction:column-reverse;gap:0}.auth-col-left{padding-top:1.25rem;padding-right:0}.auth-col-right{flex:unset;padding-bottom:1.25rem;padding-left:0}.auth-col-divider{flex-direction:row;width:100%;height:1px}.auth-col-divider span{padding:0 .75rem;position:static}.auth-providers{flex-direction:row;gap:.6rem}.discord-auth-btn,.google-auth-btn{flex:1;padding:.75rem .5rem;font-size:.82rem}}.dnd-poly-drag-image{opacity:.5!important}.dnd-poly-drag-image.dnd-poly-snapback{transition-property:transform!important;transition-duration:.25s!important;transition-timing-function:ease-out!important}
