:root{color:#172033;background:#eaf6ff;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{margin:0;background:#eaf6ff}button,input,textarea{font:inherit}.page-shell{min-height:100vh;padding:28px;display:grid;place-items:center;background:linear-gradient(180deg,#eef7ff,#f5f9fd)}.tool-panel{position:relative;overflow:hidden;width:min(920px,100%);padding:38px 38px 34px;border:1px solid rgba(219,233,247,.9);border-radius:8px;background:radial-gradient(circle at 0% 8%,rgba(142,224,255,.22) 0%,rgba(142,224,255,.08) 28%,transparent 54%),radial-gradient(circle at 98% 0%,rgba(129,177,255,.22) 0%,rgba(129,177,255,.08) 32%,transparent 58%),linear-gradient(135deg,#fffffffc,#fdfefffc 46%,#f7fbfffa);box-shadow:0 28px 70px #19407021}.tool-panel:before{position:absolute;top:22px;right:38px;width:310px;height:248px;background:url(/assets/badminton-hero-BsnA-1RA.png) center / contain no-repeat;opacity:.58;transform:rotate(-3deg);content:"";pointer-events:none}.tool-panel:after{position:absolute;top:46px;right:84px;width:220px;height:160px;border-radius:999px;background:#c3e0ff47;filter:blur(10px);content:"";pointer-events:none}.heading{position:relative;z-index:1;max-width:620px}.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 8px;color:#6f8093;font-size:.85rem;font-weight:700;letter-spacing:0;text-transform:uppercase}.eyebrow-logo{display:inline-block;width:28px;height:28px;flex:0 0 28px;background:url(/assets/badminton-logo-VgDw3vIL.png) center / contain no-repeat;filter:drop-shadow(0 5px 10px rgba(31,122,255,.2))}h1{margin:0;font-size:2.5rem;line-height:1.15;color:#172033}h1:after{display:block;width:68px;height:5px;margin-top:16px;border-radius:999px;background:#ff3d67;content:""}.heading p:last-child{margin:18px 0 0;color:#667587;font-size:1.03rem;font-weight:700;line-height:1.7}.roster-panel{position:relative;z-index:1;margin-top:34px;padding:28px;border:1px solid rgba(219,233,247,.95);border-radius:8px;background:#fff;box-shadow:0 18px 46px #1b43711a}.roster-header{display:flex;align-items:center;justify-content:flex-start;gap:18px;margin-bottom:26px}.roster-header h2{display:inline-flex;align-items:baseline;gap:8px;margin:0;color:#172033;font-size:1.7rem;line-height:1.2}.roster-header h2 span{color:#667587;font-size:1rem;font-weight:700}.groups-grid{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px}.groups-grid:after{position:absolute;top:4px;bottom:0;left:50%;width:1px;background:linear-gradient(180deg,transparent,#e6edf5 12%,#e6edf5 88%,transparent);content:""}.group-card{display:grid;align-content:start;gap:16px;padding:0;border:0;background:transparent;box-shadow:none}.group-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.group-title{display:flex;align-items:center;gap:12px;min-width:0}.group-title span{position:relative;font-size:1.2rem;font-weight:700;color:#172033}.group-title span:after{position:absolute;left:0;bottom:-9px;width:34px;height:4px;border-radius:999px;background:#1f7aff;content:""}.group-card:nth-child(2) .group-title span:after{background:#35c497}.group-title strong{padding:6px 10px;border-radius:8px;color:#f59e0b;background:#fff7df;font-size:.95rem;white-space:nowrap}.import-button{min-height:42px;padding:0 14px;color:#1f7aff;background:#eff6ff;border:1px solid rgba(31,122,255,.28);white-space:nowrap}.member-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}.member-card{display:grid;grid-template-columns:36px 58px minmax(0,1fr) 36px;align-items:center;min-height:72px;padding:10px 16px;border-radius:8px;background:#f3f5f7;box-shadow:inset 0 1px #ffffffe6,0 12px 24px #1d35570d}.member-index{color:#172033;font-size:1rem;font-weight:800}.member-avatar{display:grid;place-items:center;width:52px;height:52px;border-radius:999px;color:#fff;background:#2f80ff;font-size:1.15rem;font-weight:800;box-shadow:0 8px 18px #2f80ff29}.member-card:nth-child(6n+1) .member-avatar{background:#2f80ff}.member-card:nth-child(6n+2) .member-avatar{background:#24c6c8}.member-card:nth-child(6n+3) .member-avatar{background:#ff8a2a}.member-card:nth-child(6n+4) .member-avatar{background:#8b5cf6}.member-card:nth-child(6n+5) .member-avatar{background:#f15f9b}.member-card:nth-child(6n) .member-avatar{background:#5b7cfa}.group-card:nth-child(2) .member-card:nth-child(6n+1) .member-avatar{background:#24c6c8}.group-card:nth-child(2) .member-card:nth-child(6n+2) .member-avatar{background:#2f80ff}.group-card:nth-child(2) .member-card:nth-child(6n+3) .member-avatar{background:#8b5cf6}.group-card:nth-child(2) .member-card:nth-child(6n+4) .member-avatar{background:#ff8a2a}.group-card:nth-child(2) .member-card:nth-child(6n+5) .member-avatar{background:#5b7cfa}.group-card:nth-child(2) .member-card:nth-child(6n) .member-avatar{background:#f15f9b}.member-name-input{min-width:0;width:100%;overflow:hidden;border:0;border-bottom:2px solid transparent;padding:8px 0;color:#172033;background:transparent;font-size:1.18rem;font-weight:800;text-overflow:ellipsis;outline:none}.member-name-input::placeholder{color:#9aa8b8;font-weight:700}.member-name-input:focus{border-bottom-color:#1f7aff}.remove-member-button{display:grid;place-items:center;min-height:32px;width:32px;padding:0;color:#718096;background:#fff;border:1px solid #dfe8f1;border-radius:999px;font-size:1.15rem;line-height:1}.add-member-button{min-height:48px;width:100%;color:#1f7aff;background:#f5f9ff;border:1px dashed rgba(31,122,255,.34)}.add-member-button:hover:not(:disabled),.remove-member-button:hover:not(:disabled){border-color:#1f7aff;background:#eaf3ff}.actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px}button{min-height:44px;border:0;border-radius:8px;padding:0 18px;cursor:pointer;font-weight:700;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}button:hover:not(:disabled){transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.48}.primary-button{color:#fff;background:linear-gradient(135deg,#1172ff,#0758df);box-shadow:0 12px 24px #1172ff3d}.actions .primary-button,.actions .secondary-button{min-width:210px;min-height:56px;font-size:1.08rem}.secondary-button{color:#5d6b7d;background:#f3f6f9;border:1px solid #dfe8f1}.result-panel{position:relative;z-index:1;margin-top:24px;padding-top:0;border-top:0}.result-share-card{padding:26px 28px 34px;border:1px solid rgba(224,234,244,.9);border-radius:8px;background:#fff;box-shadow:0 14px 32px #1b437114}.result-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.result-header h2{margin:0;font-size:1.55rem;color:#172033}.share-button{color:#1f7aff;background:#eff6ff;border:1px solid rgba(31,122,255,.18)}.result-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}.result-list li{position:relative;display:flex;align-items:center;min-height:62px;padding:14px 18px;border:0;border-radius:8px;background:#f4f6f8;font-weight:700;box-shadow:inset 0 1px #ffffffdb}.result-group{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#1f7aff;font-weight:900}.result-pair{display:grid;grid-template-columns:minmax(88px,1fr) 28px minmax(88px,1fr);align-items:center;gap:10px;width:min(360px,calc(100% - 96px));margin:0 auto}.result-name{overflow:hidden;color:#172033;text-overflow:ellipsis;white-space:nowrap}.result-divider{display:grid;place-items:center;color:#f59e0b;font-weight:900}.result-name-centered{text-align:center}.dialog-backdrop{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:24px;background:#17203357}.import-dialog{width:min(560px,100%);padding:24px;border:1px solid rgba(224,234,244,.9);border-radius:8px;background:#fff;box-shadow:0 24px 80px #19407038}.import-dialog h2{margin:0 0 18px;font-size:1.35rem}.import-dialog label{display:grid;gap:10px;font-weight:800}.import-dialog textarea{min-height:180px;resize:vertical;border:1px solid #d8e4ef;border-radius:8px;padding:14px;color:#172033;line-height:1.7;outline:none}.import-dialog textarea:focus{border-color:#1f7aff;box-shadow:0 0 0 3px #1f7aff24}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:18px}@media(max-width:720px){.page-shell{padding:14px;place-items:stretch}.tool-panel{padding:28px 16px 24px}.tool-panel:before{width:210px;height:168px;top:30px;right:-36px;opacity:.44}.tool-panel:after{top:54px;right:20px;width:150px;height:118px}h1{font-size:2.2rem}.heading p:last-child{font-size:1.08rem}.roster-panel{padding:16px}.roster-header{align-items:center;flex-direction:row;flex-wrap:wrap}.roster-header h2{font-size:1.42rem}.roster-header h2 span{font-size:.9rem}.groups-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.groups-grid:after{display:none}.group-header{align-items:stretch;flex-direction:column}.group-card{min-width:0}.group-title{justify-content:space-between;gap:8px}.group-title span{font-size:1rem}.group-title strong{padding:5px 8px;font-size:.82rem}.import-button{min-width:0;min-height:38px;padding:0 10px;font-size:.9rem}.member-card{grid-template-columns:16px 30px minmax(0,1fr) 24px;min-height:56px;min-width:0;padding:8px 6px}.member-index{font-size:.86rem}.member-avatar{width:30px;height:30px;font-size:.9rem}.member-name-input{font-size:.86rem}.remove-member-button{min-height:26px;width:24px;font-size:1rem}.add-member-button{min-width:0;min-height:42px;font-size:.92rem}.result-header{align-items:stretch;flex-direction:column}.actions .primary-button,.actions .secondary-button{flex:1 1 180px}.result-list li{padding-left:70px}.result-pair{width:100%;margin:0}}
