.ca-page{width:100%;max-width:1040px;margin:auto;padding:24px 20px 140px!important;overflow-x:hidden}.ca-page *{box-sizing:border-box}.ca-page h2,.ca-page h3{color:#39264f;overflow-wrap:anywhere}.ca-page button,.ca-modal button{cursor:pointer}.ca-tabs{display:flex;gap:8px;margin:18px 0}.ca-tabs button{flex:1;min-height:46px;border:1px solid #e3d9f2;background:white;border-radius:15px;color:#715b88;font-weight:700}.ca-tabs button.active{background:#6b42d9;color:white}.ca-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px}.ca-compose{display:flex;gap:12px;align-items:center;border:2px solid #8c65cf;background:white;width:100%;min-height:86px;border-radius:20px;padding:17px;text-align:left;box-shadow:0 0 0 4px #eee7fa;margin:8px 0 22px;color:#39284e}.ca-compose>span{flex:1;display:grid;gap:7px}.ca-compose small{font-size:12px;color:#83718f}.ca-compose>b{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#5931ae;color:white;font-size:25px}.ca-feed{display:grid;gap:16px}.ca-post{background:white;border:1px solid #e6dfee;border-radius:22px;padding:20px;min-width:0}.ca-post-head{display:flex;align-items:center;gap:10px}.ca-avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#eee6ff;overflow:hidden;flex:none;color:#67438e}.ca-avatar img{width:100%;height:100%;object-fit:cover}.ca-meta{flex:1;min-width:0}.ca-meta strong{display:block;font-size:14px}.ca-meta small{display:block;font-size:11px;color:#84738f;margin-top:4px}.ca-post h3{font-size:18px;line-height:1.35;margin:17px 0 8px}.ca-post p,.ca-comment p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;font-size:14px}.ca-post-image{width:100%;max-height:480px;object-fit:contain;border-radius:16px;background:#f5f1fa;margin-top:12px}.ca-tags,.ca-reactions,.ca-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.ca-tags button,.ca-reactions button{border:1px solid #e4dbee;background:#f2ecfb;border-radius:99px;color:#6b469c;padding:7px 10px;min-height:36px}.ca-actions{border-top:1px solid #eee7f4;padding-top:12px}.ca-actions button{border:0;border-radius:12px;background:#f5f1fa;color:#6b537e;min-height:40px;padding:8px 13px;flex:1}.ca-actions .active,.ca-reactions .active{background:#6b42d9;color:white}.ca-follow{border:0;background:transparent;color:#7752ad;max-width:120px;font-size:11px;min-height:44px}.ca-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.ca-group{background:white;border:1px solid #e8dff2;border-radius:22px;overflow:hidden;display:flex;flex-direction:column;min-width:0}.ca-cover{height:124px;background:linear-gradient(125deg,#eee5fc,#c2a7e8);overflow:hidden}.ca-cover img{width:100%;height:100%;object-fit:cover}.ca-group-body{padding:0 18px 20px;display:flex;flex:1;flex-direction:column}.ca-logo{width:60px;height:60px;display:grid;place-items:center;background:white;border:4px solid white;border-radius:17px;margin-top:-26px;position:relative;color:#7144ba;font-size:26px;overflow:hidden}.ca-logo img{width:100%;height:100%;object-fit:cover}.ca-group p{font-size:12px;line-height:1.6;color:#83718f;flex:1}.ca-group h3{font-size:17px}.ca-membership{display:flex;align-items:center;gap:8px}.ca-membership>span{flex:1;background:#15845f;color:white;text-align:center;border-radius:15px;padding:13px}.ca-membership button{min-height:44px}.ca-group .primary-action,.ca-group .secondary-action{min-height:44px;margin-top:9px}.ca-status{display:inline-block;border-radius:20px;background:#eee6fc;color:#7952a2;padding:6px 11px;font-size:12px}.ca-status.accepted{color:#15845f;background:#dff3e9}.ca-status.rejected{color:#a64055;background:#fbe8ee}.ca-hero{border-radius:24px;overflow:hidden;background:white;margin:15px 0}.ca-hero .ca-cover{height:180px}.ca-hero-copy{padding:0 24px 24px}.ca-hero p{line-height:1.6;white-space:pre-wrap}.ca-comment{border-top:1px solid #e9e2f0;padding:15px 0}.ca-comment-form{display:grid;gap:10px;margin-top:20px}.ca-modal{max-height:88dvh!important;overflow-y:auto}.ca-modal .glass-field{width:100%;margin:6px 0 13px}.ca-modal .field-label{margin-top:13px}.ca-modal .textarea{min-height:130px}.ca-modal img.ca-upload-preview{max-height:230px;max-width:100%;display:block;margin:10px auto}.ca-hashtag-input{display:flex;gap:8px}.ca-modal .ca-tags{margin-bottom:12px}.ca-error{color:#a63a50;font-size:13px;min-height:18px;white-space:pre-wrap}.ca-empty{background:white;border:1px solid #e8dff0;border-radius:18px;padding:25px;line-height:1.6;color:#7e6c8b}.ca-load-more{display:block;margin:20px auto;min-height:44px}.ca-league-card{border:1px solid #e0d1f5;border-radius:22px;background:linear-gradient(125deg,#f5edff,white);padding:20px;margin:16px 0}.ca-league-numbers{display:flex;gap:20px;flex-wrap:wrap;margin:18px 0}.ca-league-numbers strong{font-size:28px;display:block;color:#6034b0}.ca-league-numbers small{color:#81718b}.ca-daily{padding:16px;background:#fff;border:1px solid #e0d1f5;border-radius:19px;display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-top:16px}.ca-daily>span{display:grid;gap:6px}.ca-daily small{color:#83718f}.ca-daily button{width:auto;min-height:44px;margin:0}.ca-links{display:flex;gap:9px;flex-wrap:wrap;margin-top:15px}.ca-links button,.ca-links a{border:1px solid #e1d6ef;background:white;color:#6b479b;padding:11px 14px;border-radius:14px;text-decoration:none;font-size:13px;min-height:44px}.ca-table-wrap{overflow-x:auto}.ca-table{width:100%;border-collapse:collapse;font-size:13px;margin:18px 0}.ca-table th,.ca-table td{border-bottom:1px solid #e7def0;padding:11px;text-align:left}.ca-goals{display:flex;gap:8px;flex-wrap:wrap}.ca-goal{background:#ece4f6;color:#8a7a97;border-radius:18px;padding:9px 13px}.ca-goal.earned{background:#eee2ff;color:#6a36b8;box-shadow:inset 0 0 0 1px #b092da}.ca-rank-row{display:flex;gap:12px;align-items:center;padding:14px;border:1px solid #e5dcef;border-radius:17px;background:white;margin:8px 0}.ca-rank-row.me{border:2px solid #9e79d1}.ca-rank-row>span:nth-last-child(2){flex:1}.ca-prizes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}.ca-prize{border-radius:20px;background:white;border:1px solid #e7ddf1;padding:16px}.ca-prize img{width:100%;max-height:180px;object-fit:contain}.ca-copy-link{display:flex;gap:8px;flex-wrap:wrap}.ca-copy-link input{flex:1;min-width:100px}.ca-rule-copy{line-height:1.7;font-size:14px}.ca-rule-copy h3{margin:26px 0 10px}.ca-rule-copy ul{padding-left:22px}.ca-admin-entry{display:none}.ca-admin-entry[data-allowed=true]{display:block}.ca-community-link{padding:0;border:0;background:none;color:#7249b2;font-size:11px}.ca-checks{display:grid;gap:9px;margin:12px 0}.ca-checks label{display:flex;align-items:flex-start;gap:9px;line-height:1.5;font-size:13px}
@media(max-width:760px){.ca-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ca-page{padding:16px 12px 130px!important}.ca-prizes{grid-template-columns:1fr}.ca-post{padding:16px}.ca-actions button{font-size:12px;padding:8px}.ca-table th,.ca-table td{padding:9px}.ca-modal{width:calc(100% - 16px)!important}}
@media(max-width:540px){.ca-grid{grid-template-columns:1fr}.ca-follow{max-width:90px}.ca-page h2{font-size:22px}.ca-daily button{width:100%}}

.ca-preview-state{display:grid;place-content:center;min-height:100dvh;text-align:center;background:radial-gradient(ellipse at center,#eee6fa,#faf8ff);color:#624984;padding:24px}.ca-preview-state strong{font-size:24px}.ca-preview-state p{max-width:420px;line-height:1.6}.ca-explorer-drawer .empty-state{grid-column:1/-1}.ca-group .ca-membership .secondary-action{flex:none;width:auto}.ca-modal .primary-action{min-height:46px}.ca-modal label{line-height:1.5}.ca-modal input[type=file]{max-width:100%}.ca-post-head small{font-size:11px}.ca-post a{overflow-wrap:anywhere}

.ca-logo{width:100px!important;height:76px!important;border-radius:16px!important;background:#fff!important;border:1px solid #ece3f5}.ca-logo img{object-fit:contain!important;padding:8px;width:100%;height:100%}.ca-hero-logo{width:150px;height:100px;object-fit:contain;background:white;border-radius:14px;padding:12px}.ca-community-rules p{white-space:pre-wrap;line-height:1.6;font-size:13px}.ca-community-rules h3{font-size:15px}.ca-cover img{width:100%;height:100%;object-fit:cover}

.ca-logo.logo-lorcana,.ca-logo.logo-magic,.ca-hero-logo.logo-lorcana,.ca-hero-logo.logo-magic{background:#2a1d40!important}
.ca-season-page{max-width:1100px;margin:auto;padding:28px 18px 110px;line-height:1.65}
.ca-season-heading{max-width:820px;margin:0 auto 26px;text-align:center}
.ca-season-heading h1{font-size:clamp(27px,5vw,44px);line-height:1.15;margin:18px 0;color:#49365a}
.ca-season-state,.ca-prize-rank{display:inline-block;border-radius:30px;background:#eee5ff;color:#6035ae;padding:6px 14px;font-weight:800}
.ca-season-page .ca-prizes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ca-prize{min-width:0;padding:20px;border-radius:22px;border:1px solid #e7ddf4;background:#fff;display:flex;flex-direction:column;align-items:center;text-align:center}
.ca-prize img{display:block;width:100%;height:220px;object-fit:contain;margin:18px auto 8px;background:white}
.ca-prize.ca-partner-prize img{height:90px;max-width:300px;margin-top:48px}
.ca-prize h3{font-size:20px;line-height:1.35;overflow-wrap:anywhere}
.ca-prize small{margin-top:auto;padding-top:14px;line-height:1.5;color:#6d6477}
.ca-prize-value{font-size:44px;color:#7043bd;line-height:1.2;margin:12px 0}
.ca-season-how{max-width:820px;margin:32px auto}.ca-season-pending{padding:16px;background:#f2ebfb;border-radius:16px}
.ca-season-how .ca-links a{display:inline-block;padding:10px 16px;white-space:normal;text-align:center}
@media(max-width:700px){.ca-season-page .ca-prizes{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ca-prize{padding:14px}.ca-prize img{height:165px}.ca-prize h3{font-size:17px}.ca-prize.ca-partner-prize img{margin-top:24px;height:65px}}
@media(max-width:370px){.ca-season-page .ca-prizes{grid-template-columns:minmax(0,1fr)}.ca-season-page{padding-left:12px;padding-right:12px}.ca-prize img{height:200px}}

#caLeagueProfile .ca-league-card{padding:14px;margin:12px 0;border-radius:18px}
.ca-league-profile-heading{display:flex;align-items:baseline;justify-content:space-between;gap:4px 12px;flex-wrap:wrap}
.ca-league-profile-heading h3{margin:0;font-size:1.05rem;line-height:1.25}
.ca-league-profile-heading .ca-league-pending{margin:0;font-size:.8rem;font-weight:650;color:#624489}
#caLeagueProfile .ca-league-numbers{gap:10px 22px;margin:9px 0}
#caLeagueProfile .ca-league-numbers strong{font-size:1.35rem;line-height:1.2}
#caLeagueProfile .ca-league-numbers small{display:block;font-size:.75rem}
.ca-league-eligibility{margin:4px 0 8px}
#caLeagueProfile .ca-league-quick-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:8px 0 0}
#caLeagueProfile .ca-league-quick-links button{min-width:0;min-height:44px;padding:6px;font-size:.84rem;line-height:1.2;border-radius:12px;cursor:pointer}
.ca-league-admin{display:block;min-height:36px;margin-top:3px;padding:4px 0;border:0;background:transparent;color:#65458b;font-size:.76rem;text-decoration:underline;cursor:pointer}
.ca-league-sheet.open{display:flex;flex-direction:column;overflow:hidden;max-height:88dvh}
.ca-league-sheet-header{flex:none;margin:0;padding:0 0 8px;border-bottom:1px solid #e7def0}
.ca-league-sheet-header h2{margin:0;font-size:clamp(1.15rem,4vw,1.55rem);line-height:1.2}
.ca-league-sheet-header button{flex:none}
.ca-league-sheet-body{min-height:0;min-width:0;overflow:auto;overscroll-behavior:contain;padding:10px 2px 0;overflow-wrap:anywhere}
.ca-league-sheet-body .ca-table-wrap{overscroll-behavior-x:contain}
.ca-league-sheet-body .ca-prizes{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}

.ca-toolbar-actions,.ca-account-actions,.ca-blocked-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ca-toolbar-actions button,.ca-account-actions button,.ca-blocked-row button,.ca-blocked-accounts{min-height:44px}
.ca-page .ca-account-options{flex:none;min-width:44px;min-height:44px;margin:0;padding:0;font-size:20px;line-height:1}
.ca-blocked-list{margin:12px 0}
.ca-blocked-row{justify-content:space-between;padding:8px 0;border-bottom:1px solid #e9e2f0}
.ca-blocked-row strong,.ca-post-head strong{overflow-wrap:anywhere}
