:root{color:#171717;background:#f4f7f5;font-size:14px;font-family:SF Pro Rounded,Hiragino Rounded GB,Arial Rounded MT Bold,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Nunito,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;letter-spacing:0;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--page: #f4f7f5;--surface: #ffffff;--surface-strong: #eef3ef;--ink: #171717;--muted: #66716a;--line: #d8dfda;--accent: #0b8f62;--accent-ink: #064d36;--warn: #a16b00;--danger: #c73535;--info: #246b8f}*{box-sizing:border-box}body{min-width:320px;margin:0;background:linear-gradient(180deg,#ffffffb8,#f4f7f500),var(--page)}button,textarea,input,select{font:inherit;letter-spacing:0}a{color:inherit;text-decoration:none}button{min-height:36px;border:1px solid var(--ink);border-radius:8px;padding:0 14px;background:var(--ink);color:#fff;font-size:.92rem;cursor:pointer;transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .16s ease}button:hover:not(:disabled){background:#fff;color:var(--ink);transform:translateY(-1px)}button:disabled{border-color:var(--line);background:var(--surface-strong);color:var(--muted);cursor:not-allowed}button:focus-visible,textarea:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid rgba(11,143,98,.28);outline-offset:2px}code{display:inline-flex;max-width:100%;min-height:28px;align-items:center;border:1px solid #dfe6e1;border-radius:6px;padding:3px 8px;background:#f9fbfa;color:#10231b;font-size:.9rem;overflow-wrap:anywhere;white-space:normal}.app-shell{width:min(1440px,100%);margin:0 auto;padding:24px 40px 48px}.top-bar{display:flex;gap:18px;align-items:center;margin-bottom:28px}.home-shell{max-width:1180px}.home-header{border-block:1px solid var(--line);margin-bottom:22px;padding:22px 0}.brand-block{min-width:0;border-block:1px solid var(--line);padding:18px 0}.back-link{display:inline-flex;margin-bottom:10px;color:var(--accent-ink);font-size:.88rem;font-weight:700}.back-link:hover{text-decoration:underline}.eyebrow{margin:0 0 8px;color:var(--accent-ink);font-size:.82rem;font-weight:800;text-transform:uppercase}h1,h2,p{margin-top:0}h1{max-width:860px;margin-bottom:8px;font-size:2rem;line-height:1.1;overflow-wrap:anywhere}h2{margin-bottom:0;font-size:1.22rem;line-height:1.2}.lede{max-width:720px;margin-bottom:0;color:var(--muted);font-size:.98rem;line-height:1.55}.header-image{flex:0 0 96px;width:96px;height:96px;object-fit:cover;border-radius:8px;filter:saturate(.88) contrast(1.05)}.tool-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.button-secondary{border-color:var(--line);background:var(--surface);color:var(--ink)}.button-secondary:hover:not(:disabled){border-color:var(--accent);background:#f8fcfa;color:var(--accent-ink)}.copy-button--secondary{border-color:var(--line);background:var(--surface);color:var(--ink)}.copy-button--secondary:hover:not(:disabled){border-color:var(--accent);background:#f8fcfa;color:var(--accent-ink)}.copy-button--plain{min-height:auto;border:0;border-radius:0;padding:0;background:transparent;color:var(--accent-ink);font-weight:700}.copy-button--plain:hover:not(:disabled){background:transparent;color:var(--accent);transform:none;text-decoration:underline;text-underline-offset:2px}.copy-button--plain:disabled{border:0;background:transparent;color:var(--muted)}.copy-button--copied{color:var(--accent-ink)}.copy-button--failed{color:#942323}.copy-button--secondary.copy-button--failed,.copy-button--solid.copy-button--failed{border-color:#c7353566;background:#fff4f4eb}.tool-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.tool-card{display:grid;grid-template-columns:116px minmax(0,1fr);min-height:132px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.tool-card:hover{border-color:#0b8f6294;box-shadow:0 12px 28px #17171714;transform:translateY(-2px)}.tool-card img{width:100%;height:100%;min-height:132px;object-fit:cover}.tool-card-body{display:grid;align-content:center;gap:8px;min-width:0;padding:16px}.tool-card-kicker{color:var(--accent-ink);font-size:.78rem;font-weight:800;text-transform:uppercase}.tool-card strong{color:var(--ink);font-size:1.08rem;line-height:1.25;overflow-wrap:anywhere}.tool-card-body span:last-child{color:var(--muted);font-size:.92rem;line-height:1.5}.input-grid,.parsed-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.url-input-panel{display:grid;gap:10px;min-width:0}.label-row{display:flex;min-height:32px;align-items:center;justify-content:space-between;gap:14px;color:var(--muted)}.label-row strong{color:var(--ink);font-size:.98rem}textarea{width:100%;min-height:150px;resize:vertical;border:1px solid var(--line);border-radius:8px;padding:14px;background:var(--surface);color:var(--ink);font-size:.95rem;line-height:1.5}.query-preview{min-height:46px;border-left:4px solid var(--accent);padding:10px 12px;background:var(--surface-strong);color:#334038;font-size:.9rem;overflow-wrap:anywhere;line-height:1.45}.summary-strip{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;margin:22px 0}.summary-pill{display:flex;min-height:64px;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:8px;padding:14px;background:var(--surface)}.summary-pill span{color:var(--muted)}.summary-pill strong{color:var(--ink);font-size:1.55rem;line-height:1}.summary-pill--ok{border-color:#0b8f6257}.summary-pill--warn{border-color:#a16b0057}.summary-pill--danger{border-color:#c7353557}.summary-pill--info{border-color:#246b8f57}.results-band,.parsed-block{min-width:0;border-top:1px solid var(--line);padding-top:20px}.results-band{margin-bottom:28px}.section-heading{margin-bottom:16px}.section-note{margin:6px 0 0;color:var(--muted);font-size:.9rem;line-height:1.45}.section-heading--with-action{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.filter-tag{display:inline-flex;min-height:32px;align-items:center;gap:8px;border-color:var(--line);background:var(--surface);color:var(--ink);white-space:nowrap}.filter-tag:hover:not(:disabled){border-color:var(--accent);background:#f8fcfa;color:var(--accent-ink)}.filter-tag--active{border-color:var(--accent);background:#0b8f621f;color:var(--accent-ink)}.filter-tag strong{display:inline-flex;min-width:22px;min-height:22px;align-items:center;justify-content:center;border-radius:8px;background:#fff;color:inherit;font-size:.84rem}.table-wrap{width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:8px;background:var(--surface)}table{width:100%;min-width:720px;border-collapse:collapse}th,td{border-bottom:1px solid var(--line);padding:12px;text-align:left;vertical-align:top;font-size:.94rem}thead th{background:#edf5f1;color:#203128;font-size:.86rem}tbody tr:last-child th,tbody tr:last-child td{border-bottom:0}tbody th{width:20%;overflow-wrap:anywhere}.value-list{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.status-badge{display:inline-flex;min-width:68px;min-height:28px;align-items:center;justify-content:center;border-radius:8px;padding:3px 8px;background:var(--surface-strong);color:var(--ink);font-weight:700}.diff-row--same .status-badge{background:#0b8f621f;color:var(--accent-ink)}.diff-row--changed .status-badge{background:#a16b0029;color:#6d4900}.diff-row--onlyA .status-badge{background:#c735351f;color:#942323}.diff-row--onlyB .status-badge{background:#246b8f24;color:#164e69}.muted{color:var(--muted)}.empty-state{min-height:96px;margin:0;border:1px dashed var(--line);border-radius:8px;padding:24px;background:#ffffff94;color:var(--muted)}.sync-strip{display:grid;gap:10px;margin-bottom:22px;border:1px solid var(--line);border-radius:8px;padding:14px 16px;background:#ffffffd6}.sync-strip-main{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.sync-label{color:var(--muted);font-size:.86rem;font-weight:700}.sync-feedback{margin:0 0 22px;font-size:.9rem;line-height:1.45}.sync-feedback--info{color:var(--muted)}.sync-feedback--success{color:var(--accent-ink)}.sync-feedback--error{color:#942323}textarea.is-invalid{border-color:#c7353585;background:#fff4f4e6}.panel-grid,.team-grid,.config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.config-card{border:1px solid var(--line);border-radius:8px;padding:16px;background:var(--surface)}.config-card--danger{border-color:#c7353566;background:#fff8f8f5}.config-status{margin-bottom:0;font-size:.92rem;font-weight:700}.config-status--ok{color:var(--accent-ink)}.config-status--danger{color:#942323}.editor-panel,.team-card{min-width:0;border:1px solid var(--line);border-radius:8px;padding:16px;background:var(--surface)}.editor-help,.editor-status{margin:10px 0 0;color:var(--muted);font-size:.9rem;line-height:1.45}.validation-list{display:grid;gap:8px;margin:14px 0 0;padding-left:18px}.validation-list--danger{color:#942323}.validation-list--warn{color:#6d4900}.controls-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:18px}.accounts-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.select-field{display:grid;gap:8px;min-width:min(320px,100%)}.select-field span{color:var(--muted);font-size:.88rem;font-weight:600}.select-field select{min-height:42px;border:1px solid var(--line);border-radius:8px;padding:0 14px;background:var(--surface);color:var(--ink)}.text-field{display:grid;gap:8px}.text-field span{color:var(--muted);font-size:.88rem;font-weight:600}.text-field input{min-height:42px;border:1px solid var(--line);border-radius:8px;padding:0 14px;background:var(--surface);color:var(--ink)}.modal-toolbar{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px}.draft-stack{display:grid;gap:16px}.draft-list{display:grid;gap:14px}.draft-list-item{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;border:1px solid var(--line);border-radius:10px;padding:14px;background:#fbfcfb}.draft-list-item--active{border-color:#0b8f6266;box-shadow:0 0 0 1px #0b8f6214}.draft-list-main{flex:1 1 360px;display:grid;gap:12px;min-width:0}.draft-list-meta{display:flex;flex-wrap:wrap;gap:10px}.draft-list-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.draft-chip{display:inline-flex;min-height:30px;align-items:center;justify-content:center;border-radius:999px;padding:4px 12px;font-size:.85rem;font-weight:700}.draft-chip--info{background:#246b8f1f;color:#164e69}.draft-chip--warn{background:#ba750024;color:#8b5a00}.draft-chip--danger{background:#c735351f;color:#942323}.draft-card{border:1px solid var(--line);border-radius:10px;padding:14px;background:#fbfcfb}.draft-card-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:14px}.draft-character-list{display:grid;gap:10px}.draft-character-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(140px,.8fr) minmax(140px,.9fr) auto;gap:10px;align-items:end}.draft-character-row--dungeon{grid-template-columns:minmax(0,1.8fr) repeat(2,minmax(120px,.8fr)) auto}.table-wrap--account-config{background:linear-gradient(180deg,#fffffffa,#f8fbf9fa)}.account-config-table th:last-child,.account-config-table td:last-child{width:1%;white-space:nowrap}.account-config-name-field{display:grid;gap:8px;min-width:220px}.account-config-name-field span{color:var(--muted);font-size:.82rem;font-weight:700}.account-config-name-field input{min-height:40px;width:100%;border:1px solid var(--line);border-radius:8px;padding:0 12px;background:var(--surface);color:var(--ink)}.account-config-score{color:var(--ink);font-size:.92rem;font-weight:700}.account-config-status-pill{display:inline-flex;min-height:28px;align-items:center;justify-content:center;border-radius:999px;padding:4px 10px;font-size:.8rem;font-weight:700;white-space:nowrap}.account-config-status-pill--ok{background:#0b8f621f;color:var(--accent-ink)}.account-config-status-pill--warn{background:#ba750024;color:#8b5a00}.account-config-status-pill--danger{background:#c735351f;color:#942323}.account-config-actions{display:flex;flex-wrap:wrap;gap:10px}.draft-role-tag-list{display:flex;flex-wrap:wrap;gap:6px}.draft-role-tag{display:inline-flex;min-height:26px;align-items:center;gap:6px;border-radius:999px;padding:3px 10px;font-size:.78rem;font-weight:700;white-space:nowrap}.draft-role-tag strong{font-size:inherit;line-height:1}.draft-role-tag em{font-style:normal;opacity:.72}.draft-role-tag--cat{background:#c735351f;color:#942323}.draft-role-tag--ranged{background:#246b8f24;color:#164e69}.draft-role-tag--melee{background:#0b8f621f;color:var(--accent-ink)}.draft-role-tag--pending{background:#ba750024;color:#8b5a00}.pagination-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.pagination-info{margin-bottom:0;color:var(--muted);font-size:.88rem}.pagination-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.pagination-number{min-width:36px;padding-inline:10px}.pagination-number.is-active{border-color:var(--accent);background:var(--accent);color:#fff}.pagination-number.is-active:hover:not(:disabled){background:var(--accent);color:#fff;transform:none}.pagination-ellipsis{color:var(--muted);font-size:.88rem;font-weight:700}.compact-field{display:grid;gap:8px;min-width:0}.compact-field span{color:var(--muted);font-size:.85rem;font-weight:600}.compact-field input,.compact-field select{min-height:40px;width:100%;border:1px solid var(--line);border-radius:8px;padding:0 12px;background:var(--surface);color:var(--ink)}.compact-field--wide{min-width:0}.compact-button{align-self:end}.draft-card-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.preset-summary{display:flex;flex-wrap:wrap;gap:10px}.preset-summary span,.team-status,.team-issue,.job-badge{display:inline-flex;min-height:30px;align-items:center;justify-content:center;border-radius:999px;padding:4px 12px;font-size:.88rem;font-weight:700}.preset-summary span{background:#0b8f621f;color:var(--accent-ink)}.checkbox-cell{display:inline-flex;align-items:center;gap:8px;color:var(--muted);white-space:nowrap}.checkbox-cell input{width:16px;height:16px;margin:0;accent-color:var(--accent)}.selected-row{background:#0b8f620d}.account-role-list{display:flex;flex-wrap:wrap;gap:6px}.account-cat-count{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--muted);font-size:.84rem;font-weight:700;white-space:nowrap}.account-cat-emoji{font-size:1rem;letter-spacing:.06em}.job-badge--cat{background:#c735351f;color:#942323}.job-badge--ranged{background:#246b8f24;color:#164e69}.job-badge--melee{background:#0b8f621f;color:var(--accent-ink)}.team-card{display:grid;gap:14px;padding:18px}.team-card--invalid{border-color:#c7353566;box-shadow:0 0 0 1px #c7353514}.team-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.team-meta{display:flex;flex-wrap:wrap;gap:10px}.team-status--ok{background:#0b8f621f;color:var(--accent-ink)}.team-status--danger,.team-issue{background:#c735351f;color:#942323}.member-row--empty th,.member-row--empty td{color:#942323}.sticky-col{position:sticky;left:0;z-index:1;background:inherit}.table-wrap--matrix{border-radius:14px;background:linear-gradient(180deg,#fffffff5,#f4f7f5fa);box-shadow:0 18px 40px #17171714}.allocation-matrix{min-width:1080px;border-collapse:separate;border-spacing:0;background:transparent}.allocation-matrix thead th{position:sticky;top:0;z-index:3;min-width:188px;padding:12px;background:#edf5f1f0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:inset 0 -1px 0 var(--line)}.allocation-matrix .sticky-col{min-width:220px;box-shadow:inset -1px 0 0 var(--line)}.allocation-matrix thead .sticky-col{z-index:5;background:#edf5f1fa}.allocation-matrix tbody .sticky-col{background:linear-gradient(180deg,#f8fbf9,#f4f8f6)}.matrix-account-head{width:220px}.matrix-side-head{display:grid;gap:6px}.matrix-side-head strong{font-size:.95rem}.matrix-side-head span{color:var(--muted);font-size:.78rem;font-weight:500;line-height:1.35}.matrix-side-head .copy-button--plain{width:fit-content;font-size:.8rem}.matrix-capture-button{display:inline-flex;min-height:36px;align-items:center;gap:8px;border-radius:8px;white-space:nowrap}.matrix-capture-icon{display:inline-flex;width:18px;height:18px;align-items:center;justify-content:center}.matrix-capture-icon svg{width:100%;height:100%}.matrix-head-cell,.allocation-matrix tbody th,.allocation-matrix tbody td{vertical-align:top}.allocation-matrix tbody th,.allocation-matrix tbody td{padding:12px;background:transparent}.allocation-matrix tbody tr:nth-child(2n) .matrix-cell-card--empty{background:#f8fbf9}.matrix-head{display:grid;gap:8px}.matrix-head-card{display:grid;gap:10px;min-height:112px;border:1px solid rgba(216,223,218,.95);border-radius:12px;padding:12px;background:#ffffffe6}.matrix-head-top{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:8px}.matrix-head-top strong{font-size:1rem}.matrix-head-flag{display:inline-flex;min-height:26px;align-items:center;justify-content:center;border-radius:999px;padding:2px 10px;background:#0b8f621f;color:var(--accent-ink);font-size:.78rem;font-weight:700}.matrix-head-flag--invalid{background:#c735351f;color:#942323}.matrix-stat-row{display:flex;flex-wrap:wrap;gap:8px}.matrix-stat{display:inline-flex;min-height:28px;align-items:center;justify-content:center;border-radius:999px;padding:4px 10px;background:#eef5f1;color:#203128;font-size:.8rem;font-weight:700}.matrix-stat--danger{background:#c735351f;color:#942323}.matrix-head-note{color:var(--muted);font-size:.8rem;font-style:normal;line-height:1.35}.matrix-head-cell--invalid{background:#fff2f2e0}.matrix-head-cell--invalid .matrix-head-card{border-color:#c7353547;background:#fff8f8f5}.matrix-row--invalid .sticky-col{background:#fff4f4eb}.matrix-account{display:grid;gap:8px}.matrix-account strong{font-size:.96rem;line-height:1.3}.matrix-account-status{display:inline-flex;width:fit-content;min-height:26px;align-items:center;justify-content:center;border-radius:999px;padding:3px 10px;background:#0b8f621f;color:var(--accent-ink);font-size:.8rem;font-weight:700}.matrix-account-status--invalid{background:#c735351f;color:#942323}.matrix-account .copy-button--plain{width:fit-content;font-size:.82rem}.matrix-cell{min-width:0;background:transparent}.matrix-cell--invalid{background:transparent}.matrix-cell-card{position:relative;display:grid;gap:8px;min-height:92px;overflow:hidden;border:1px solid rgba(216,223,218,.95);border-radius:12px;padding:12px;background:#fffffff0;box-shadow:0 1px #1717170a}.matrix-cell-card--cat{border-color:#c7353538;background:#fff8f8f5}.matrix-cell-card--ranged{border-color:#246b8f33;background:#f5fafdf5}.matrix-cell-card--melee{border-color:#0b8f6233;background:#f6fcf9f5}.matrix-cell-card--invalid{border-color:#c7353540;background:#fff8f8f5}.matrix-cell-card--empty{border-style:dashed;justify-content:center;background:#f9fbfae6}.matrix-cell-top{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px}.matrix-cell-top strong{position:relative;z-index:1;color:var(--ink);font-size:.96rem;line-height:1.25}.matrix-cell-content{position:relative;z-index:1;display:grid;gap:6px}.matrix-cell-content span{color:var(--muted);font-size:.82rem;line-height:1.4}.matrix-cell-job-mark{position:absolute;right:10px;top:50%;z-index:0;transform:translateY(-54%);font-size:2.4rem;font-style:normal;font-weight:800;letter-spacing:-.05em;opacity:.16;pointer-events:none}.matrix-cell-card--cat .matrix-cell-job-mark{color:#942323}.matrix-cell-card--ranged .matrix-cell-job-mark{color:#164e69}.matrix-cell-card--melee .matrix-cell-job-mark{color:var(--accent-ink)}.matrix-empty{color:#942323;font-size:.92rem;font-weight:800}.matrix-cell-card--empty span:last-child{color:var(--muted);font-size:.8rem;line-height:1.35}.modal-backdrop{position:fixed;inset:0;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:20px;background:#1717176b;z-index:20}.modal-backdrop--stacked{z-index:24}.modal-card{width:min(680px,100%);max-height:calc(100vh - 40px);border:1px solid var(--line);border-radius:12px;padding:18px;background:var(--surface);box-shadow:0 18px 48px #1717172e;overflow-y:auto;overscroll-behavior:contain}.modal-card--wide{width:min(1080px,100%)}.modal-textarea{min-height:360px}.modal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}@media(max-width:980px){.app-shell{padding-inline:20px}.input-grid,.parsed-grid{grid-template-columns:1fr}.summary-strip,.tool-list{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-grid,.config-grid,.team-grid{grid-template-columns:1fr}.allocation-matrix thead th{min-width:176px;padding:10px}.allocation-matrix .sticky-col{min-width:196px}.matrix-head-card,.matrix-cell-card{padding:10px}}@media(max-width:620px){.app-shell{padding-top:20px}.top-bar{align-items:flex-start}.header-image{flex-basis:72px;width:72px;height:72px}h1{font-size:1.72rem}.tool-actions{display:grid;grid-template-columns:1fr}.sync-strip-main,.modal-actions,.accounts-actions,.modal-toolbar,.draft-card-head,.draft-card-actions,.draft-list-item,.draft-list-actions,.account-config-actions,.pagination-bar,.pagination-controls{align-items:stretch;flex-direction:column}.draft-character-row,.draft-character-row--dungeon,.tool-list,.tool-card{grid-template-columns:1fr}.tool-card img{height:120px;min-height:120px}.summary-strip{grid-template-columns:1fr}.summary-pill{min-height:64px}.section-heading--with-action{align-items:flex-start;flex-direction:column}.team-card-head{flex-direction:column}.controls-row{align-items:stretch}.select-field{min-width:100%}table{min-width:640px}.modal-backdrop{padding:12px}.modal-card{max-height:calc(100vh - 24px);padding:16px}.allocation-matrix{min-width:900px}.allocation-matrix .sticky-col{min-width:176px}.matrix-head-card{min-height:104px}}
