:root{--primary: #2f6bff;--primary-600: #2057e6;--primary-grad: linear-gradient(135deg, #4b7bec 0%, #3b5bdb 100%);--primary-soft: #eaf1ff;--accent: #f69046;--accent-soft: #fff3ea;--bg: #f2f5fb;--surface: #ffffff;--border: #e8edf5;--text: #1f2733;--text-2: #5b6677;--text-3: #9aa6b8;--danger: #ef4444;--ok: #16a34a;--shadow-sm: 0 1px 2px rgba(20, 40, 80, .05);--shadow: 0 6px 24px rgba(31, 60, 120, .08);--shadow-lg: 0 16px 48px rgba(31, 60, 120, .16);--radius: 12px;--sidebar-w: 216px;--sidebar-edge-w: 18px;--topbar-h: 60px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:var(--text);background:var(--bg);font-size:14px;-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer}.app{display:flex;height:100%;overflow:hidden}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;transition:width .22s cubic-bezier(.4,0,.2,1)}.sidebar.collapsed{width:0;border-right-width:0;background:transparent}.sidebar__brand{height:var(--topbar-h);display:flex;align-items:center;gap:10px;padding:0 18px;border-bottom:1px solid var(--border);flex-shrink:0}.sidebar__logo{width:30px;height:30px;border-radius:8px;object-fit:cover;box-shadow:var(--shadow-sm)}.sidebar__brand-text{min-width:0}.sidebar__title{font-size:15px;font-weight:600;letter-spacing:.5px;white-space:nowrap}.sidebar__ver{margin-top:2px;font-size:11px;font-weight:500;color:var(--text-3);letter-spacing:.02em}.sidebar__nav{padding:12px 10px;display:flex;flex-direction:column;gap:4px;flex:1;min-height:0;overflow-x:hidden;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;color:var(--text-2);font-size:14px;border:none;background:transparent;width:100%;text-align:left;transition:background .15s,color .15s;white-space:nowrap}.nav-item:hover{background:var(--bg);color:var(--text)}.nav-item.active{background:var(--primary-soft);color:var(--primary);font-weight:600}.nav-item__icon{width:18px;height:18px;flex-shrink:0}.sidebar__footer{margin-top:auto;padding:14px 18px;font-size:12px;color:var(--text-3);border-top:1px solid var(--border);line-height:1.6}.sidebar__collapse-btn{display:flex;align-items:center;gap:8px;margin:auto 10px 10px;padding:8px 12px;border-radius:10px;color:var(--text-3);font-size:13px;border:none;background:transparent;cursor:pointer;width:calc(100% - 20px);text-align:left;transition:background .15s,color .15s,opacity .2s;white-space:nowrap;flex-shrink:0;opacity:0}.sidebar:hover .sidebar__collapse-btn{opacity:1}.sidebar__collapse-btn:hover{background:var(--bg);color:var(--text-2)}.sidebar__edge{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-edge-w);z-index:50;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:0 0 14px 6px}.sidebar__edge:hover,.sidebar__edge:focus-within{width:52px}.sidebar__expand-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text-2);box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .18s,background .15s,color .15s;flex-shrink:0}.sidebar__edge:hover .sidebar__expand-btn,.sidebar__edge:focus-within .sidebar__expand-btn{opacity:1;pointer-events:auto}.sidebar__expand-btn:hover{background:var(--primary-soft);color:var(--primary)}.main{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}.topbar{position:relative;z-index:40;height:var(--topbar-h);flex-shrink:0;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 22px}.topbar__left{display:flex;align-items:center;gap:14px;min-width:0}.topbar__title{font-size:16px;font-weight:600}.share-pill{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:none;border-radius:9px;background:transparent;color:var(--primary);cursor:pointer;transition:background .15s ease,color .15s ease}.share-pill:hover{background:#2f6bff1a;color:var(--primary-strong, var(--primary))}.share-pill svg{flex-shrink:0}.topbar__right{display:flex;align-items:center;gap:14px}.icon-btn{width:36px;height:36px;border-radius:9px;border:1px solid var(--border);background:var(--surface);display:grid;place-items:center;color:var(--text-2);transition:color .15s,border-color .15s,background .15s;outline:none;-webkit-tap-highlight-color:transparent}.icon-btn:hover{color:var(--primary);border-color:var(--primary);background:var(--primary-soft)}.icon-btn:focus:not(:focus-visible){outline:none}.user-chip{display:flex;align-items:center;gap:8px;padding:4px 8px 4px 4px;border-radius:999px;border:none;background:transparent;color:var(--text);transition:all .15s}.user-chip:hover{background:#f6f8fc}.avatar{width:30px;height:30px;border-radius:50%;object-fit:cover;background:var(--primary-grad);flex-shrink:0}.avatar--lg{width:52px;height:52px}.avatar-fallback{display:grid;place-items:center;color:#fff;font-weight:600}.user-chip__name{font-size:14px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:22px}.content--battle{display:flex;flex-direction:column;overflow:hidden;background:var(--surface)}.content--team{display:flex;flex-direction:column;overflow:hidden}html.battle-board,html.battle-board body,html.battle-board .app,html.battle-board .main{background:var(--surface)}html.battle-board .sidebar,html.battle-board .sidebar__edge,html.battle-board .topbar{display:none}html.battle-board .content--battle{padding:16px 20px}html.battle-board .guild-page--battle .guild-basic__label{font-size:15px}html.battle-board .guild-page--battle .battle-metrics__num{font-size:24px}html.battle-board .battle-board-title{display:block;font-size:18px;margin-right:20px}@media (max-width: 900px){.content--battle,html.battle-board .content--battle{padding:12px}.battle-metrics{flex-wrap:wrap;align-items:flex-start}.battle-metrics .guild-basic__grid{flex:0 1 auto}.battle-metrics__tools{width:100%;margin-left:0;justify-content:flex-end}html.battle-board .battle-board-title{order:0}html.battle-board .battle-metrics__tools{order:1;width:auto;margin-left:auto}html.battle-board .battle-metrics .guild-basic__grid,html.battle-board .battle-metrics .guild-empty{order:2;flex:1 1 100%}}.user-menu{position:relative}.user-panel{position:absolute;top:calc(100% + 8px);right:0;width:304px;background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:0 18px 46px #1f3c7824;z-index:50;overflow:hidden}.user-panel:before{content:"";position:absolute;top:-8px;left:0;right:0;height:8px}.user-panel__header{padding:18px 18px 14px;display:flex;align-items:center;gap:12px;background:linear-gradient(180deg,#f7faff,#fff);color:var(--text)}.user-panel__header .avatar{box-shadow:0 8px 18px #2f6bff29}.user-panel__name{font-size:16px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-panel__stats{display:grid;grid-template-columns:1fr 1fr;padding:4px 18px 12px}.stat{text-align:center;padding:6px}.stat__num{font-size:19px;font-weight:700;color:var(--text);line-height:1.1;letter-spacing:-.3px;font-variant-numeric:tabular-nums}.stat__label{font-size:11px;color:var(--text-3);margin-top:4px;letter-spacing:2px}.user-panel__exp{padding:0 18px 16px}.exp__head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:7px;font-size:11px;color:var(--text-3);letter-spacing:1px}.exp__val{color:var(--text-2);font-weight:600;letter-spacing:0;font-variant-numeric:tabular-nums}.exp__track{position:relative;height:6px;border-radius:999px;background:#eef2f9;overflow:hidden}.exp__fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--primary) 0%,#6f9bff 100%);transition:width .5s cubic-bezier(.22,.61,.36,1)}.user-panel__actions{border-top:1px solid var(--border);display:flex;flex-direction:column;padding:8px;background:#fff}.panel-action{padding:10px 12px;border:none;border-radius:10px;background:transparent;text-align:left;color:var(--text-2);font-size:14px;display:flex;align-items:center;gap:10px;transition:all .15s}.panel-action:hover{background:#f6f8fc;color:var(--primary)}.panel-action.danger:hover{background:#fff5f5;color:var(--danger)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card__head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.card__title{display:inline-flex;align-items:center;gap:6px;font-size:15px;font-weight:600}.card__hint{font-size:12px;color:var(--text-3)}.card__body{padding:18px}.tb-notice{margin:16px 0 0;font-size:13px;color:var(--text-3)}.tb-layout{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:18px;align-items:stretch}.tb-right{display:flex;flex-direction:column;gap:18px;min-width:0}.tb-right>.tb-result-card{flex:1}.tb-layout>.card,.tb-right>.card{min-width:0}.tb-result-card{display:flex;flex-direction:column}.tb-result-card .card__body{flex:1;display:flex;flex-direction:column;min-width:0}.tb-result-card .empty-state{margin:auto}.tb-conflict-card{min-width:0}@media (max-width: 980px){.tb-layout{grid-template-columns:1fr}}@media (max-width: 680px){.tb-pick-row{flex-wrap:wrap}.tb-divider-v{display:none}.tb-pick-row>.tb-pick-col:first-child,.tb-predict-bar{width:100%}.predict-compact .predict-table th,.predict-compact .predict-table td,.predict-table th,.predict-table td{padding:6px 7px;font-size:11px}.predict-tab{padding:5px 10px;font-size:12px}.predict-stream-switch .tb-grid-switch__btn{font-size:13px;padding:5px 8px}}.tb-pick-row{display:flex;gap:20px;align-items:stretch}.tb-pick-col{display:flex;flex-direction:column;gap:16px}.tb-pick-row>.tb-pick-col:first-child{width:300px}.tb-divider-v{align-self:stretch;border-left:1px dashed var(--border)}.tb-predict-bar{width:210px}.tb-type-block{flex-shrink:0}.predict-compact .predict-tabs{margin-bottom:10px}.predict-compact .predict-tab{padding:5px 11px;font-size:12px}.predict-compact .predict-table{font-size:12px}.predict-compact .predict-table th,.predict-compact .predict-table td{padding:6px 9px}.predict-compact .predict-note{font-size:14px;margin-top:8px}.empty-state--sm{padding:24px 16px;font-size:13px}.empty-state--sm .emoji{font-size:26px}.tb-section-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;margin:0 0 12px}.tb-grid-switch{display:flex;gap:6px;margin:0 0 12px}.tb-grid-switch__btn{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-2);font-size:14px;font-weight:600;transition:all .12s}.tb-grid-switch__btn:hover{border-color:#cdd8ea}.tb-grid-switch__btn.is-active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.tb-grid-switch__btn .badge{font-size:12px;font-weight:500;opacity:.8}.tb-section-title .badge{font-size:12px;font-weight:500;color:var(--text-3)}.link-btn{margin-left:auto;border:none;background:transparent;color:var(--primary);font-size:13px;font-weight:600;padding:0}.link-btn:hover{text-decoration:underline}.slot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-width:320px}.type-book-cell{position:relative;width:84px;height:84px;border-radius:12px;border:2px solid #f0d3b6;background:linear-gradient(160deg,#fbe9d6,#f7d3b0);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;-webkit-user-select:none;user-select:none;color:#7a4a1d;transition:all .12s}.type-book-cell:hover{border-color:var(--accent);box-shadow:0 0 0 2px #f690462e}.type-book-cell__label{font-size:15px;font-weight:700}.type-book-cell__count{font-size:13px;font-weight:600}.book{position:relative;aspect-ratio:1 / 1;border-radius:10px;border:2px solid var(--border);background:#f8fafc;display:flex;align-items:flex-end;justify-content:center;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .12s;overflow:hidden}.book:hover{border-color:#cdd8ea}.book.filled{background:linear-gradient(160deg,#fbe9d6,#f7d3b0);border-color:#f0d3b6}.book.filled.primary{background:linear-gradient(160deg,#dbeafe,#bfdbfe);border-color:#bcd6fb}.book.empty{cursor:default}.book.highlight{border-color:var(--accent);box-shadow:0 0 0 2px #f6904640}.book__name{position:relative;z-index:2;width:100%;text-align:center;font-size:12px;line-height:18px;padding:1px 2px;background:#ffffff9e;color:#7a4a1d;font-weight:600}.book.primary .book__name{color:#1d4ed8}.book__idx{position:absolute;top:3px;left:4px;z-index:2;font-size:11px;line-height:13px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:#7a4a1d;pointer-events:none}.book.primary .book__idx{color:#1d4ed8}.book__idx.is-invert,.book.primary .book__idx.is-invert{color:var(--danger)}.book__remove{position:absolute;top:2px;right:2px;z-index:3;width:16px;height:16px;padding:0;border-radius:50%;border:none;background:var(--primary);color:#fff;line-height:0;display:none;align-items:center;justify-content:center;box-shadow:0 1px 3px #2f6bff66}.book__remove:hover{background:var(--primary-600)}.book:hover .book__remove{display:flex}.tb-actions{display:flex;flex-direction:column;gap:12px}.cost-row{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:10px;background:var(--bg)}.cost-row .label{font-size:13px;color:var(--text-2)}.cost-row .value{font-weight:700;font-size:15px}.cost-row .value .sep{color:var(--text-3);font-weight:500}.btn{border:none;border-radius:10px;padding:11px 16px;font-size:14px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:all .15s}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--primary-grad);color:#fff;box-shadow:0 6px 16px #2f6bff47}.btn-primary:not(:disabled):hover{filter:brightness(1.04)}.btn-accent{background:var(--accent);color:#fff}.btn-ghost{background:var(--surface);border:1px solid var(--border);color:var(--text-2)}.btn-ghost:hover{border-color:var(--primary);color:var(--primary)}.btn-block{width:100%}.btn-lg{padding:14px 16px;font-size:15px}.btn-row{display:flex;flex-wrap:wrap;gap:10px}.btn-row .btn,.btn-row .split-btn{flex:1 1 90px}.split-btn{position:relative;display:inline-flex;align-items:stretch;min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:10px;color:var(--text-2);transition:border-color .15s,color .15s}.split-btn:hover,.split-btn.is-open{border-color:var(--primary);color:var(--primary)}.split-btn.is-busy{opacity:.6;pointer-events:none}.split-btn.is-busy:hover{border-color:var(--border);color:var(--text-2)}.split-btn__main,.split-btn__caret{border:none;background:transparent;color:inherit;font-size:14px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .15s}.split-btn__main{flex:1 1 auto;min-width:0;padding:11px 10px 11px 14px;border-radius:9px 0 0 9px;white-space:nowrap}.split-btn__caret{flex:0 0 32px;width:32px;padding:0;border-left:1px solid var(--border);border-radius:0 9px 9px 0}.split-btn:hover .split-btn__caret,.split-btn.is-open .split-btn__caret{border-left-color:#2f6bff59}.split-btn__main:hover,.split-btn__caret:hover{background:var(--primary-soft)}.split-btn__caret svg{transition:transform .15s}.split-btn.is-open .split-btn__caret svg{transform:rotate(180deg)}.split-btn__menu{position:absolute;top:calc(100% + 6px);left:0;right:0;min-width:132px;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);z-index:30}.split-btn__item{width:100%;display:flex;align-items:center;gap:8px;padding:8px 10px;border:none;border-radius:8px;background:transparent;color:var(--text-2);font-size:14px;font-weight:600;text-align:left;white-space:nowrap}.split-btn__item:hover,.split-btn__item.is-active{background:var(--primary-soft);color:var(--primary)}.tb-predict-btn{flex:1;flex-direction:column;gap:8px;min-height:132px;border-radius:14px}.tb-predict-btn__text{font-size:17px;font-weight:700;letter-spacing:1px}.pad-books{display:flex;flex-direction:column;gap:12px;min-width:0;flex:1}.pad-books__meta{margin:0;font-size:13px;color:var(--text-2);line-height:1.5}.pad-books__section{display:flex;flex-direction:column;gap:8px;min-width:0}.pad-books__heading{margin:0;font-size:13px;font-weight:700;color:var(--text-1)}.pad-books__heading-btn{font-weight:700;color:var(--text-1);align-self:flex-start}.pad-books__grid{display:flex;flex-wrap:wrap;gap:8px;min-width:0;padding:2px}.pad-books__grid .lib-book{width:64px;height:64px;cursor:default}.pad-books__grid .book:hover{border-color:#f0d3b6}.btn-sub{font-size:12px;font-weight:600;padding:2px 8px;border-radius:999px;background:#fff3;white-space:nowrap}.library{display:flex;flex-direction:column;gap:14px}.lib-target{display:flex;gap:8px}.seg{flex:1;padding:9px;text-align:center;border-radius:9px;border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-size:13px;font-weight:600}.seg.active{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.lib-search{position:relative}.lib-search .input{padding:8px 34px;font-size:13px}.lib-search__icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-3);pointer-events:none}.lib-search__clear{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;background:transparent;color:var(--text-3);cursor:pointer;border-radius:6px}.lib-search__clear:hover{color:var(--text-2);background:var(--bg)}.lib-search-hint{margin:-6px 0 0;font-size:12px;color:var(--text-3)}.filter-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.filter-row.is-paused{opacity:.4;pointer-events:none}.filter-label{font-size:13px;color:var(--text-3)}.chip{padding:6px 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-size:13px}.chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.chip:disabled{opacity:.4;cursor:not-allowed}.lib-books{display:flex;flex-wrap:wrap;gap:8px;max-height:360px;overflow:auto;padding:2px}.lib-book{width:60px;height:60px;flex-shrink:0}.lib-cat{width:100%;font-size:13px;color:var(--text-3);margin:6px 0 2px}.modal--lib{width:min(960px,94vw)}.modal__body--lib{gap:14px}.modal__body--lib .lib-books{max-height:56vh}.modal__body--lib .lib-book{width:64px;height:64px}.modal__body--inline{flex:1;overflow-y:auto;padding:0}.modal__body--inline .lib-books{max-height:none}.lib-books .lib-selected-empty{width:100%}.lib-selected{display:flex;flex-direction:column;gap:8px}.lib-selected-empty{padding:14px;text-align:center;font-size:13px;color:var(--text-3);background:var(--bg);border-radius:10px}.lib-selected-strip{display:flex;gap:8px;overflow-x:auto;padding:8px;background:var(--bg);border-radius:10px}.lib-selected-strip .book{flex-shrink:0}.predict-streams{display:flex;flex-direction:column;gap:12px;min-width:0}.predict-stream-switch{margin-bottom:0}.predict-stream-switch .tb-grid-switch__btn{flex:1;justify-content:center}.predict-stream-pane{min-width:0}.predict-stream-pane:not(.is-active){display:none}.predict-stream{min-width:0}.predict-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.predict-tab{padding:7px 14px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-size:13px;font-weight:600}.predict-tab.active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.book-name-idx{margin-left:.35em;font-variant-numeric:tabular-nums;font-weight:700;color:var(--text-3)}.predict-tab.active .book-name-idx,.cell-drop .book-name-idx{color:inherit;opacity:.72}.predict-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:10px;border:1px solid var(--border)}table.predict-table{border-collapse:collapse;width:max-content;min-width:100%;font-size:13px}.predict-table th,.predict-table td{padding:8px 12px;text-align:center;white-space:nowrap;border-bottom:1px solid var(--border)}.predict-table thead th{background:var(--bg);color:var(--text-2);font-weight:600;position:sticky;top:0;z-index:2}.predict-table tbody tr:last-child td{border-bottom:none}.predict-table .row-label{position:sticky;left:0;z-index:2;background:var(--surface);font-weight:600;color:var(--text-2);text-align:left}.predict-table thead th.row-label{z-index:3}.predict-table .row-section-divider td{border-top:2px solid var(--text-3)}.predict-table .cell-drop{color:var(--accent);cursor:pointer;font-weight:600}.predict-table .cell-drop:hover{text-decoration:underline}.predict-note{font-size:14px;color:var(--text-3);margin-top:10px}.empty-state{text-align:center;padding:40px 20px;color:var(--text-3)}.empty-state .emoji{font-size:32px;margin-bottom:8px}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#1420386b;display:grid;place-items:center;z-index:100;padding:20px}.modal{width:440px;max-width:100%;background:var(--surface);border-radius:16px;box-shadow:var(--shadow-lg);overflow:hidden}.modal__head{padding:18px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.modal--report{border-radius:8px}.modal--report .modal__head{padding:12px 16px;min-height:0}.modal--report .modal__title{font-size:16px;line-height:1.2}.modal--report .modal__head .icon-btn{width:24px;height:24px}.modal__title{font-size:16px;font-weight:600}.modal__body{padding:20px;display:flex;flex-direction:column;gap:14px}.modal__foot{padding:16px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:13px;color:var(--text-2);font-weight:600}.field .hint{font-size:12px;color:var(--text-3)}.input,.textarea{border:1px solid var(--border);border-radius:9px;padding:10px 12px;font-size:14px;color:var(--text);background:var(--surface);width:100%;outline:none;transition:border .15s;font-family:inherit}.input:focus,.textarea:focus{border-color:var(--primary)}.input--static{background:var(--bg);color:var(--text-2);cursor:default;-webkit-user-select:text;user-select:text}.pwd-checks{display:flex;flex-wrap:wrap;gap:5px;margin-top:2px}.pwd-check{font-size:11px;padding:2px 8px;border-radius:20px;transition:background .15s,color .15s}.pwd-check--ok{background:#e8f5e9;color:var(--ok)}.pwd-check--fail{background:#fef2f2;color:var(--danger)}.input-pwd{position:relative}.input-pwd .input{padding-right:40px}.input-pwd__toggle{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:none;border-radius:7px;background:transparent;color:var(--text-3);transition:color .15s,background .15s}.input-pwd__toggle:hover{color:var(--primary);background:var(--primary-soft)}.caps-hint{margin-top:2px;font-size:12px;color:var(--accent)}.textarea{resize:vertical;min-height:90px}.close-x{border:none;background:transparent;font-size:20px;color:var(--text-3);line-height:1}.close-x:hover{color:var(--text)}.tb-help-row{display:flex;align-items:center;gap:16px}.tb-help-item{display:inline-flex;align-items:center;gap:5px;border:none;background:transparent;padding:0;font-size:13px;color:var(--text-2);cursor:pointer;transition:color .15s}.tb-help-item:hover{color:var(--primary)}.tb-help-item__q{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;border:1px solid var(--border);color:var(--text-3);font-size:11px;line-height:1;transition:border-color .15s,color .15s}.tb-help-item:hover .tb-help-item__q{border-color:var(--primary);color:var(--primary)}.modal--help{width:520px;max-height:76vh;display:flex;flex-direction:column}.modal--help.modal--wide{width:640px}.modal--help.modal--order{width:min(1120px,calc(100vw - 40px));min-width:0}.modal--order .modal__body--help{min-width:0;gap:12px}.sorder-wrap{overflow-x:hidden;min-width:0;padding:6px}.sorder-grid{--sorder-max-cols: 20;--sorder-gap: 4px;--sorder-min: 48px;display:grid;gap:var(--sorder-gap);width:100%;grid-template-columns:repeat(auto-fill,minmax(min(100%,max(var(--sorder-min),calc((100% - (var(--sorder-max-cols) - 1) * var(--sorder-gap)) / var(--sorder-max-cols)))),1fr))}.sorder-cell{position:relative;width:100%;aspect-ratio:1 / 1;height:auto;min-width:0;border-radius:10px;border:2px solid #f0d3b6;display:flex;align-items:flex-end;justify-content:center;-webkit-user-select:none;user-select:none;overflow:hidden}.sorder-cell__name{position:relative;z-index:2;width:100%;text-align:center;font-size:12px;line-height:18px;padding:1px 2px;background:#ffffff9e;color:#7a4a1d;font-weight:600}.sorder-cell--high,.sorder-cell--special{background:linear-gradient(160deg,#fbe9d6,#f7d3b0);border-color:#f0d3b6}.sorder-cell--primary{background:linear-gradient(160deg,#dbeafe,#bfdbfe);border-color:#bcd6fb}.sorder-cell--primary .sorder-cell__name,.sorder-cell--primary .sorder-cell__idx{color:#1d4ed8}button.sorder-cell--btn{font:inherit;color:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0}.sorder-cell__idx{position:absolute;top:3px;left:4px;z-index:2;font-size:11px;line-height:13px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:#7a4a1d;pointer-events:none}.sorder-cell.sorder-cell--hit{border-color:var(--primary)}.sconflict-wrap{overflow-x:hidden;min-width:0;padding:6px}.sconflict-grid{display:flex;flex-wrap:wrap;gap:14px 16px}.sconflict-pair{display:flex;align-items:center;gap:4px;min-width:0}.sconflict-pair .sorder-cell{width:64px;flex:0 0 64px}.sconflict-pair__sep{color:var(--text-3);font-size:12px;line-height:1;-webkit-user-select:none;user-select:none}.modal__body--help{gap:0;overflow-y:auto}.help-line{display:block;font-size:13px;color:var(--text-2);line-height:22px}.help-line--h{margin-top:12px;font-weight:700;color:var(--text)}.help-line--h:first-child{margin-top:0}.ctable-wrap{overflow-x:auto}.ctable{width:100%;border-collapse:collapse;font-size:13px}.ctable th,.ctable td{padding:8px 10px;text-align:center;border-bottom:1px solid var(--border);white-space:nowrap}.ctable th{background:var(--bg);color:var(--text-2);font-weight:600}.ctable td{color:var(--text-2)}.ctable tr:last-child td{border-bottom:none}.ctable__tip{padding:24px 0;text-align:center;font-size:13px;color:var(--text-3)}.ctable__note{margin:14px 0 0;font-size:12px;color:var(--text-3)}.toast-wrap{position:fixed;top:22px;left:50%;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;gap:10px;align-items:center}.toast{padding:11px 18px;border-radius:10px;background:var(--primary);color:#fff;font-size:14px;box-shadow:var(--shadow);animation:toast-in .2s ease;display:flex;align-items:center;gap:8px}.toast.success{background:var(--primary)}.toast.error{background:var(--danger)}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#d7deea;border-radius:8px}::-webkit-scrollbar-track{background:transparent}.login-page{position:relative;height:100%;width:100%;display:flex;align-items:stretch;justify-content:flex-end;overflow:hidden;background:#141a44}.login-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.login-card{position:relative;z-index:1;width:100%;max-width:480px;height:100%;display:flex;flex-direction:column;justify-content:center;padding:0 56px;border-radius:0;background:#ffffff12;box-shadow:-40px 0 90px #0a103266;backdrop-filter:blur(30px) saturate(150%);-webkit-backdrop-filter:blur(30px) saturate(150%);overflow:hidden;color:#fff}.login-card__shine{position:absolute;top:-60%;left:-20%;width:80%;height:200%;transform:rotate(22deg);background:linear-gradient(90deg,#fff0,#ffffff38,#fff0);pointer-events:none}.login-card__brand{position:absolute;top:44px;left:56px;right:56px;display:flex;align-items:center;gap:12px}.login-card__logo{width:44px;height:44px;border-radius:13px;object-fit:cover;box-shadow:0 8px 20px #00000038}.login-card__name{font-size:17px;font-weight:600;letter-spacing:.5px;color:#fff}.login-card__head{margin-bottom:26px}.login-card__head h2{margin:0;font-size:30px;font-weight:800;letter-spacing:.5px;color:#fff}.login-card__head p{margin:9px 0 0;font-size:14px;color:#ffffffb3}.login-card__foot{position:absolute;bottom:30px;left:56px;right:56px;text-align:center;font-size:12px;color:#ffffff8c}.login-tabs{display:flex;gap:6px;background:#ffffff1f;border-radius:12px;padding:5px;margin-bottom:22px}.login-tab{flex:1;border:none;background:transparent;padding:11px 0;border-radius:9px;font-size:14px;color:#ffffffbf;transition:all .15s}.login-tab.active{background:#fff;color:var(--primary);font-weight:600;box-shadow:0 4px 12px #0a103240}.login-pwd .field{margin-bottom:14px}.login-card .field label{color:#ffffffd9}.login-card .input{background:#ffffffeb;border-color:#ffffff80;color:var(--text)}.login-card .input::placeholder{color:var(--text-3)}.login-card .input:focus{background:#fff}.login-wx{padding:4px 0}.login-hint{margin:16px 0 0;font-size:12px;line-height:1.6;color:#ffffffa6;text-align:center}.btn-lg{padding:13px 18px;font-size:15px;border-radius:11px}@media (max-width: 560px){.login-card{max-width:100%;border-radius:0;border-left:none;padding:0 28px}.login-card__brand,.login-card__foot{left:28px;right:28px}}.btn-wechat{background:#07c160;color:#fff;border:none}.btn-wechat:hover:not(:disabled){background:#06ad56}.btn-douyin{background:#161823;color:#fff;border:none}.btn-douyin:hover:not(:disabled){background:#000}.login-soon{position:relative;opacity:.55;cursor:not-allowed}.login-soon:after{content:"敬请期待";position:absolute;top:-8px;right:-6px;padding:1px 7px;font-size:11px;font-weight:600;color:#fff;background:#0000008c;border-radius:999px}.account-page{max-width:720px}.account-menu{display:inline-flex;gap:4px;padding:4px;margin-bottom:16px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-sm)}.account-menu__item{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;padding:8px 16px;font-size:14px;color:var(--text-2);border-radius:9px;cursor:pointer;transition:background .15s,color .15s}.account-menu__item:hover{color:var(--text);background:var(--primary-soft)}.account-menu__item.active{color:#fff;background:var(--primary)}.account-panel{padding:22px 24px}.account-panel__title{margin:0 0 16px;font-size:16px;font-weight:700;color:var(--text)}.account-form{max-width:440px}.account-form .field+.field{margin-top:18px}.account-form .field{gap:8px}.account-page .hint{margin:6px 0 14px;font-size:13px;line-height:1.6;color:var(--text-2)}.account-page .hint--error{color:var(--danger)}.account-form__foot{margin-top:18px}.avatar--xl{width:72px;height:72px;font-size:28px}.avatar-edit{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.avatar-edit__trigger{position:relative;display:inline-flex;padding:0;border:none;background:transparent;border-radius:50%;cursor:pointer;overflow:hidden;outline-offset:3px}.avatar-edit__trigger:disabled{cursor:not-allowed}.avatar-edit__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000075;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:500;letter-spacing:.5px;opacity:0;transition:opacity .18s ease;pointer-events:none}.avatar-edit__trigger:hover .avatar-edit__overlay,.avatar-edit__trigger:focus-visible .avatar-edit__overlay,.avatar-edit__trigger:disabled .avatar-edit__overlay{opacity:1}.avatar-state{font-size:12px;line-height:1.4}.avatar-state--pending{color:var(--text-2)}.avatar-state--risky{color:var(--danger)}.link-badges{display:flex;gap:8px}.link-badge{padding:4px 12px;font-size:13px;border-radius:999px;border:1px solid var(--border);color:var(--text-3);background:var(--bg)}.link-badge.on{font-weight:600}.link-badge--wx.on{color:#07c160;border-color:#bbf0cf;background:#ecfdf3}.link-badge--douyin.on{color:#161823;border-color:#c9cbd4;background:#f2f3f7}.link-section{margin-top:20px;padding-top:16px;border-top:1px dashed var(--border)}.link-section__title{font-size:14px;font-weight:600;color:var(--text);margin-bottom:6px}.link-code{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.link-code__value{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:24px;font-weight:700;letter-spacing:3px;color:var(--primary);padding:8px 16px;background:var(--primary-soft);border-radius:10px;-webkit-user-select:all;user-select:all}.link-code__remain{font-size:12px;color:var(--text-3)}.link-input-row{display:flex;gap:10px;align-items:stretch}.link-input{flex:1;min-width:0;text-transform:uppercase;letter-spacing:2px}.btn-sm{padding:6px 12px;font-size:13px}.nav-group{margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.nav-group__label{padding:4px 12px 6px;font-size:11px;font-weight:600;color:var(--text-3);letter-spacing:.06em}.nav-item--sub{padding-left:18px}.guild-page{display:flex;flex-direction:column;gap:16px;min-width:0}.guild-page--battle{flex:1;min-height:0;height:100%;gap:48px}.guild-page--battle>.battle-metrics-dock{flex-shrink:0}.guild-page--team{flex:1;min-height:0;height:100%}.guild-page--team>.guild-card,.guild-page--team>.guild-basic--collapsed{flex-shrink:0}.battle-metrics-dock{min-width:0;padding:2px 0}.guild-card{min-width:0}.guild-card .card__head{flex-wrap:nowrap;gap:10px}.guild-card .card__head--actions{justify-content:flex-end;gap:8px}.guild-card .card__head .card__title{flex-shrink:0}.guild-card .card__head .guild-list-bar{flex:1;margin-bottom:0;flex-wrap:nowrap}.guild-card .card__head .guild-list-bar .input{flex:1 1 160px;max-width:240px}.guild-card .card__head .guild-filter--select{flex:0 0 148px;min-width:0}.guild-head-ops{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:auto}.btn.is-disabled{opacity:.6;pointer-events:none}.guild-card .card__head .btn-primary,.guild-page .btn-primary,.modal .btn-primary{box-shadow:none}.modal .btn{padding:6px 12px;font-size:13px;min-height:32px;box-shadow:none}.guild-card .card__body{min-width:0}.guild-list-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;min-width:0}.guild-list-bar .input{flex:1 1 220px;min-width:0;max-width:360px;height:36px;padding:0 12px}.guild-list-bar .guild-filter--select{flex:0 1 180px;min-width:140px}.guild-empty{margin:0;font-size:13px;color:var(--text-3)}.guild-batch-p{margin:0;font-size:13px;color:var(--text-2);line-height:1.6}.battle-metrics{display:flex;align-items:center;gap:16px;min-width:0}.battle-board-title{display:none;flex-shrink:0;font-size:16px;font-weight:600;color:var(--text);line-height:1.2}.battle-metrics .guild-basic__grid{flex:0 1 auto;min-width:0}.battle-metrics .guild-basic__grid--4{grid-template-columns:repeat(4,max-content);justify-content:start;gap:16px 36px}.battle-metrics__tools{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:auto}.battle-metrics__tools .icon-btn,.guild-basic__tools .icon-btn,.guild-card .card__head .icon-btn,.modal__head .icon-btn{border-color:transparent;background:transparent}.battle-metrics__tools .icon-btn:hover,.battle-metrics__tools .icon-btn:active,.battle-metrics__tools .icon-btn:focus,.battle-metrics__tools .icon-btn:focus-visible,.guild-basic__tools .icon-btn:hover,.guild-basic__tools .icon-btn:active,.guild-basic__tools .icon-btn:focus,.guild-basic__tools .icon-btn:focus-visible,.guild-card .card__head .icon-btn:hover,.guild-card .card__head .icon-btn:active,.guild-card .card__head .icon-btn:focus,.guild-card .card__head .icon-btn:focus-visible,.modal__head .icon-btn:hover,.modal__head .icon-btn:active,.modal__head .icon-btn:focus,.modal__head .icon-btn:focus-visible{border-color:transparent;background:transparent;box-shadow:none;outline:none}.icon-btn:disabled{opacity:.45;cursor:not-allowed}.battle-metrics__num{padding:0;border:none;background:none;color:var(--primary);font-size:18px;font-weight:600;line-height:1.2;cursor:pointer}.battle-metrics__num:hover{text-decoration:underline}.battle-detail__row{display:flex;align-items:flex-start;gap:12px}.battle-detail__lab{flex:0 0 72px;font-size:13px;font-weight:600;color:var(--text-2)}.battle-detail__val{min-width:0;font-size:13px;font-weight:500;color:var(--text);word-break:break-all}.guild-search,.battle-report{position:relative;flex-shrink:0}.battle-toolbar__tools{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0}.battle-report.is-ready .icon-btn{color:var(--primary)}.battle-report__preview-wrap{position:relative;width:fit-content;max-width:100%;margin-top:8px}.battle-report__preview{display:block;max-width:100%;max-height:160px;border-radius:8px;object-fit:contain;background:#f6f8fc;cursor:zoom-in}.battle-report__del,.battle-pin__x{position:absolute;width:18px;height:18px;padding:0;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#1f27338c;color:#fff;font-size:14px;line-height:1;opacity:0;pointer-events:none;transition:opacity .15s,background .15s}.battle-report__busy{position:absolute;top:6px;left:6px;padding:2px 8px;border-radius:4px;background:#1f27338c;color:#fff;font-size:12px;line-height:18px;pointer-events:none}.battle-report__del{top:6px;right:6px}.battle-report__preview-wrap:hover .battle-report__del,.battle-pin:hover .battle-pin__x{opacity:1;pointer-events:auto}.battle-report__del:hover,.battle-pin__x:hover{background:var(--danger)}.guild-search__panel{position:absolute;top:calc(100% + 6px);right:0;z-index:45;width:min(360px,calc(100vw - 48px));padding:10px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 28px #1f3c781f,0 2px 6px #1f3c780f}.battle-report__row{display:flex;align-items:center;gap:8px;min-width:0}.battle-report__xy{display:flex;gap:8px}.battle-report__xy .input{flex:1;min-width:0}.battle-report__seen{display:flex;flex-direction:column;gap:8px;min-width:0}.battle-report__seen-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}.battle-report__seen-k{flex-shrink:0;width:48px;font-size:12px;color:var(--text-3)}.battle-report__seen-more{flex-shrink:0;display:inline-flex;align-items:center;gap:2px;height:28px;padding:0;border:none;background:transparent;box-shadow:none;color:var(--text-3);font-size:12px;outline:none;-webkit-tap-highlight-color:transparent}.battle-report__seen-more:hover,.battle-report__seen-more:active,.battle-report__seen-more:focus,.battle-report__seen-more:focus-visible{border:none;background:transparent;box-shadow:none;outline:none;color:var(--text)}.battle-report__seen-more svg{transform:rotate(-90deg)}.battle-report__seen-more.is-open svg{transform:none}.battle-report__seen-item{position:relative;display:inline-flex;align-items:center;height:28px;padding:0 10px;border:1px solid var(--border);border-radius:6px;background:transparent;box-shadow:none;color:var(--text);font-size:13px;line-height:1}.battle-report__seen-item.has-x{padding-right:18px}.battle-report__seen-item.is-on{border-color:var(--primary);color:var(--primary)}.battle-report__seen-name{height:100%;padding:0;border:none;background:transparent;box-shadow:none;color:inherit;font-size:inherit;line-height:1;outline:none;-webkit-tap-highlight-color:transparent}.battle-report__seen-name:hover,.battle-report__seen-name:active,.battle-report__seen-name:focus,.battle-report__seen-name:focus-visible{border:none;background:transparent;box-shadow:none;outline:none}.battle-report__seen-x{position:absolute;top:0;right:0;width:16px;height:16px;padding:0;border:none;background:transparent;box-shadow:none;color:var(--text-3);display:flex;align-items:center;justify-content:center;outline:none;-webkit-tap-highlight-color:transparent}.battle-report__seen-x:hover,.battle-report__seen-x:active,.battle-report__seen-x:focus,.battle-report__seen-x:focus-visible{border:none;background:transparent;box-shadow:none;outline:none;color:var(--danger)}.battle-report__seen-miss{font-size:13px;color:var(--text-3);line-height:28px}.guild-search__list{margin:8px 0 0;padding:0;list-style:none;max-height:240px;overflow-x:hidden;overflow-y:auto}.guild-search__empty{padding:10px 8px;font-size:13px;color:var(--text-3)}.guild-search__opt{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:8px 10px;border:none;border-radius:8px;background:transparent;color:var(--text);text-align:left}.guild-search__opt strong{font-size:13px;font-weight:600}.guild-search__opt span{font-size:12px;color:var(--text-3)}.guild-search__opt:hover,.guild-search__opt.is-on{background:var(--primary-soft)}.guild-search__opt.is-on strong{color:var(--primary)}.guild-basic__head{cursor:pointer}.guild-basic__tools{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;flex:1 1 240px}.guild-basic__tools .guild-search{flex:0 0 auto}.guild-basic__bar{cursor:pointer}.guild-basic--collapsed{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;width:100%;height:38px;margin-top:-22px;margin-bottom:-16px;padding:0;border:none;background:none;cursor:pointer}.guild-basic__expand{display:inline-flex;align-items:center;gap:4px;padding:0;border:none;background:none;color:var(--text-3);font-size:12px;line-height:1;cursor:pointer;opacity:0;transition:opacity .15s ease,color .15s ease}.guild-basic--collapsed:hover .guild-basic__expand,.guild-basic--collapsed:focus-within .guild-basic__expand{opacity:1}.guild-basic__expand:hover{color:var(--text-2)}.guild-basic__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 20px}.guild-basic__grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.guild-basic__item{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}.guild-basic__label{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--text-2)}.guild-basic__label .tb-help-item{font-size:inherit;font-weight:inherit;color:inherit}.battle-metric-help{position:relative;display:inline-flex}.battle-metric-help__pop{position:absolute;top:calc(100% + 8px);left:0;z-index:46;width:max-content;max-width:min(280px,calc(100vw - 32px));padding:8px 10px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 28px #1f3c781f,0 2px 6px #1f3c780f;font-size:12px;font-weight:500;color:var(--text-2);line-height:1.5;white-space:normal}.battle-metric-help__pop:before{content:"";position:absolute;top:-8px;left:0;right:0;height:8px}.guild-basic__grid--4 .guild-basic__item:nth-child(n+3) .battle-metric-help__pop{left:auto;right:0}.guild-basic__value{font-size:15px;font-weight:600;color:var(--text);word-break:break-all}.guild-basic__unit{font-size:inherit;font-weight:inherit;color:inherit}.guild-basic__extra{font-size:12px;font-weight:500;color:var(--text-3);line-height:1.4;word-break:break-all}@media (max-width: 720px){.guild-basic__grid,.guild-basic__grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}.guild-table,.guild-table th,.guild-table td{text-align:left}.guild-table__ops{display:flex;gap:6px;justify-content:flex-end}.pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px;margin-top:14px;min-width:0}.pager__info,.pager__ellipsis,.pager__jump{font-size:13px;color:var(--text-2);white-space:nowrap}.pager__info{margin-right:6px}.pager__ellipsis{min-width:28px;text-align:center;color:var(--text-3)}.pager__btn{min-width:32px;height:32px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:13px;font-weight:600}.pager__btn:hover:not(:disabled):not(.is-on){border-color:var(--primary);color:var(--primary)}.pager__btn.is-on{background:var(--primary);border-color:var(--primary);color:#fff}.pager__btn:disabled{opacity:.4;cursor:not-allowed}.pager__jump{display:inline-flex;align-items:center;gap:6px;margin-left:6px}.pager__input,.pager__select{height:32px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:13px}.pager__input{width:calc(1ch + 8px);min-width:calc(1ch + 8px);max-width:calc(4ch + 8px);padding:0 4px;text-align:center;box-sizing:content-box}.pager__input::-webkit-inner-spin-button,.pager__input::-webkit-outer-spin-button{-webkit-appearance:none}.pager__select{padding:0 8px}.pager__input:focus,.pager__select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-soft)}.guild-tag{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600}.guild-tag.ok{background:#e8f8ee;color:var(--ok)}.guild-tag.off{background:var(--bg);color:var(--text-3)}.guild-radios{display:flex;flex-wrap:wrap;gap:8px}.guild-radios--wrap{flex:1;min-width:0}.guild-radio{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--border);border-radius:999px;font-size:12px;color:var(--text-2);cursor:pointer}.guild-radio input{display:none}.guild-radio.on{border-color:var(--primary);background:var(--primary-soft);color:var(--primary);font-weight:600}.guild-filter{display:flex;gap:10px;align-items:flex-start}.guild-filter--select{align-items:center}.guild-filter--select .guild-filter__lab{padding-top:0}.guild-filter--select .select-box{flex:1;min-width:0}.select-box{position:relative;min-width:0}.select-box__trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-width:0;height:36px;padding:0 10px 0 12px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);font-size:13px;font-weight:600;text-align:left}.select-box__trigger:hover{border-color:#c9d4ea}.select-box.is-open .select-box__trigger{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.select-box__value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-box__caret{flex-shrink:0;color:var(--text-3);transition:transform .2s ease,color .15s}.select-box.is-open .select-box__caret{transform:rotate(180deg);color:var(--primary)}.select-box__list{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:30;margin:0;padding:6px;list-style:none;max-height:240px;overflow-x:hidden;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 28px #1f3c781f,0 2px 6px #1f3c780f;animation:selectBoxIn .16s ease-out}@keyframes selectBoxIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.select-box__opt{display:block;width:100%;padding:8px 10px;border:none;border-radius:8px;background:transparent;color:var(--text);font-size:13px;font-weight:500;text-align:left}.select-box__opt:hover{background:var(--primary-soft);color:var(--primary)}.select-box__opt.is-on{background:var(--primary-soft);color:var(--primary);font-weight:700}.guild-filter__lab{flex-shrink:0;width:36px;padding-top:6px;font-size:12px;color:var(--text-3)}.team-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:16px;min-width:0}.guild-page--team .team-layout{flex:1;min-height:0;align-items:stretch}.team-left,.team-right{min-width:0}.guild-page--team .team-left,.guild-page--team .team-right{display:flex;flex-direction:column;min-height:0}.guild-page--team .team-left .card__head,.guild-page--team .team-right .card__head{flex-shrink:0}.team-locate{position:relative;flex:1 1 160px;min-width:0;max-width:280px}.team-left .card__head .team-locate .input{height:32px;padding:0 12px;font-size:13px}.team-locate__panel{left:0;right:auto;width:max(100%,280px)}.team-chip.is-focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-soft)}.team-chip--drag.in-team.is-focus{opacity:1}.team-left__body,.team-right__body{display:flex;flex-direction:column;gap:8px}.team-left__body{gap:12px}.guild-page--team .team-left__body,.guild-page--team .team-right__body{flex:1;min-height:0}.guild-page--team .team-left__body{overflow-x:hidden;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.guild-page--team .team-left__body::-webkit-scrollbar{width:0;height:0;display:none}.team-card{display:flex;align-items:stretch;gap:8px;min-width:0}.team-card.is-drag{opacity:.45}.team-card.is-over{outline:1px dashed var(--primary);outline-offset:2px;border-radius:8px}.team-card__idx{flex:0 0 22px;align-self:center;box-sizing:border-box;width:22px;min-width:22px;max-width:22px;height:22px;padding:0;display:flex;align-items:center;justify-content:center;color:var(--text-2);font-size:13px;font-weight:700;cursor:text;-webkit-user-select:none;user-select:none}.team-card__idx[draggable=true]{cursor:grab}.team-card__idx:active{cursor:grabbing}.team-card__idx-input{margin:0;padding:0;border:none;border-bottom:1px solid var(--primary);border-radius:0;background:transparent;box-shadow:none;outline:none;text-align:center;font:inherit;font-weight:700;color:var(--primary);cursor:text}.team-card__idx-input:hover,.team-card__idx-input:focus,.team-card__idx-input:focus-visible{border:none;border-bottom:1px solid var(--primary);background:transparent;box-shadow:none;outline:none}.team-slots{flex:1;min-width:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.team-slot{position:relative;min-width:0;min-height:36px;border:1px dashed #d7deea;border-radius:8px;display:flex;align-items:center;justify-content:center;background:var(--surface);transition:border-color .15s,background .15s,box-shadow .15s}.team-slot.empty.team-slot--captain{border-color:#b7c7ee;background:#f7f9ff}.team-slot.empty.team-slot--captain .team-slot__ph{color:var(--text-2);font-weight:600}.team-slot.empty:hover{border-color:var(--primary);background:var(--primary-soft)}.team-slot.filled{border-style:solid;border-color:transparent;background:linear-gradient(180deg,#eef3ff 0%,var(--primary-soft) 100%);box-shadow:inset 0 0 0 1px #d9e4ff;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.team-slot--captain.filled{box-shadow:inset 2px 0 0 var(--primary),inset 0 0 0 1px #d9e4ff}.team-slot.filled:active,.team-slot.is-drag{cursor:grabbing}.team-slot.is-drag{opacity:.42}.team-slot.is-over{border-style:solid;border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 2px var(--primary-soft)}.team-slot--captain.is-over{box-shadow:inset 2px 0 0 var(--primary),0 0 0 2px var(--primary-soft)}.team-slot.is-focus{border-style:solid;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-soft),inset 0 0 0 1px var(--primary)}.team-slot--captain.filled.is-focus{box-shadow:inset 2px 0 0 var(--primary),0 0 0 2px var(--primary-soft),inset 0 0 0 1px var(--primary)}.team-slot__name,.team-slot__ph{width:100%;padding:4px 8px;text-align:center}.team-slot__name{font-size:12px;font-weight:700;color:var(--text);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-slot__ph{font-size:12px;color:var(--text-3)}.team-slot__x{position:absolute;top:2px;right:2px;width:16px;height:16px;padding:0;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#1f27338c;color:#fff;opacity:0;pointer-events:none;transition:opacity .15s,background .15s}.team-slot.filled:hover .team-slot__x,.team-slot.filled:focus-within .team-slot__x{opacity:1;pointer-events:auto}.team-slot__x:hover{background:var(--danger)}.team-card__ops{flex:0 0 0;align-self:center;display:flex;align-items:center;gap:0;width:0;min-width:0;max-width:0;overflow:hidden;opacity:0;pointer-events:none;transition:flex-basis .15s,width .15s,max-width .15s,opacity .15s}.team-card:hover .team-card__ops,.team-card:focus-within .team-card__ops{flex-basis:88px;width:88px;max-width:88px;opacity:1;pointer-events:auto}.team-card.is-edit-no .team-card__ops,.team-card.is-edit-no:hover .team-card__ops,.team-card.is-edit-no:focus-within .team-card__ops{flex-basis:0;width:0;max-width:0;opacity:0;pointer-events:none}.team-card__ins,.team-card__del{flex:0 0 28px;width:28px;height:28px;padding:0;border:none;background:transparent;color:var(--text-3);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;line-height:1;letter-spacing:-.04em;cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent}.team-card__ins:hover,.team-card__ins:active,.team-card__ins:focus,.team-card__ins:focus-visible,.team-card__del:hover,.team-card__del:active,.team-card__del:focus,.team-card__del:focus-visible{border:none;background:transparent;box-shadow:none;outline:none}.team-card__ins:hover,.team-card__ins:focus-visible{color:var(--primary)}.team-card__del:hover,.team-card__del:focus-visible{color:var(--danger)}.pager--simple,.team-right .pager{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:8px;width:100%}.pager--simple .pager__info{margin-right:0}.pager--simple .pager__nav{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-left:auto;min-width:0}.pager--simple .pager__jump,.team-right .pager__jump{margin-left:0}.pager--simple .pager__btn{min-width:28px;padding:0 8px}.team-pool{display:flex;flex-direction:column;gap:8px;min-width:0}.guild-page--team .team-right__body>.input,.guild-page--team .team-right__body>.guild-filter,.guild-page--team .team-right__body>.pager{flex-shrink:0}.guild-page--team .team-pool{flex:1;min-height:0}.team-pool__lab{margin-top:4px;font-size:12px;font-weight:600;color:var(--text-3)}.team-pool .team-chip{width:100%;justify-content:space-between}.team-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;background:var(--surface);border:1px solid var(--border);font-size:12px;font-weight:600;color:var(--text);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-chip--drag{cursor:grab}.team-chip--drag.in-team{opacity:.65;cursor:pointer}.team-chip em{font-style:normal;font-size:11px;color:var(--text-3);font-weight:500}.battle-maps{flex:1;min-width:0;min-height:0;display:flex;align-items:flex-start;justify-content:center;gap:12px}.battle-maps.is-stack{flex-direction:column;align-items:center;justify-content:flex-start;overflow:hidden}.battle-map{position:relative;display:block;flex:0 0 auto;padding:0;border:none;background:var(--surface);border-radius:10px;overflow:hidden;line-height:0;cursor:crosshair;outline:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.battle-map img{display:block;width:100%;height:auto;vertical-align:top;pointer-events:none}.battle-map.is-fit img{height:100%;object-fit:fill}.battle-pin{position:absolute;width:16px;height:16px;margin:-8px 0 0 -8px;border:none;background:transparent;padding:0;z-index:2}.battle-pin i{display:block;width:14px;height:14px;border-radius:50%;background:var(--primary);border:2px solid #fff;box-shadow:var(--shadow-sm)}.battle-pin.unknown i{background:var(--text-3)}.battle-pin__tip{display:none;position:absolute;left:18px;top:-6px;min-width:120px;padding:6px 8px;border-radius:8px;background:#142038eb;color:#fff;font-style:normal;font-size:12px;line-height:1.4;text-align:left;white-space:nowrap;pointer-events:none}.battle-pin__tip strong,.battle-pin__tip span{display:block}.battle-pin__x{top:-10px;right:-10px;z-index:3}.battle-pin:hover .battle-pin__tip{display:block}.modal--shot{width:min(860px,100%)}.battle-shot{width:100%;height:auto;border-radius:8px}.modal-mask--over{z-index:110;background:#142038b8}.battle-shot-full{display:block;max-width:100%;max-height:calc(100vh - 40px);width:auto;height:auto;object-fit:contain;border-radius:8px}.modal-mask--over>.icon-btn{position:absolute;top:12px;right:12px;border-color:transparent;background:transparent;color:#fff}.modal-mask--over>.icon-btn:hover{border-color:transparent;background:transparent;color:#fff}@media (max-width: 1100px){.content--team{overflow-x:hidden;overflow-y:auto}.guild-page--team{flex:none;height:auto}.guild-page--team .team-layout{flex:none}.guild-page--team .team-left,.guild-page--team .team-right{height:auto}.guild-page--team .team-left__body{flex:0 1 auto;max-height:min(70vh,640px)}.guild-page--team .team-right__body,.guild-page--team .team-pool{flex:none}.team-layout{grid-template-columns:minmax(0,1fr)}.team-slots{grid-template-columns:repeat(2,minmax(0,1fr))}}
