/* Leagues page. Loaded after style.css; only adds lg-* classes and a few scoped tweaks. */
.lg-page{--card:#fffef9;--panel-line:#e4e5da;--blue:#1a9fe9;--frost:#dfe9ee;--frost-ink:#2f5866;--danger:#b65b3f}
.lg-view:focus{outline:none}
.lg-view>.lg-panel:first-child{margin-top:32px}
.lg-top-link{font-size:13px;color:#53624f;text-decoration:none;padding:6px 0;border-bottom:2px solid transparent}
.lg-top-link.active{color:var(--ink);border-bottom-color:#b6cd89;font-weight:600}
.lg-home-link{border:1px solid #cfd4c6;border-radius:999px;padding:6px 14px}
.lg-footer-link{margin-right:auto;font-size:11px;color:#687564}
.lg-loading{text-align:center;padding:90px 0;color:var(--muted);font-size:13px}
.lg-loading .orbit{animation:lg-spin 2.4s linear infinite}
@keyframes lg-spin{to{transform:rotate(360deg)}}

.lg-intro{padding:40px 0 28px}
.lg-intro h1{font-size:46px}
.lg-muted{font-size:13px;color:#69746b;line-height:1.7;margin:6px 0 18px}
.lg-hint{font-size:11.5px;line-height:1.75;color:#7c8477;margin:12px 0 0}

/* Panels mirror .game */
.lg-panel{background:var(--card);border:1px solid var(--panel-line);border-radius:22px;padding:26px;box-shadow:0 8px 30px #203c3405;margin-bottom:20px}
.lg-panel h2{font-size:19px}
.lg-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px}
.lg-narrow{max-width:620px}
.lg-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;align-items:start}
.lg-two{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
.lg-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;align-items:center}

.lg-btn,.lg-linkbtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:10px;font-size:14px;text-decoration:none;white-space:nowrap}
.lg-btn{border:1px solid #cbd3c4;background:#fff;color:var(--ink)}
.lg-linkbtn.primary{color:#fff}
.lg-linkbtn.primary span{margin-right:2px;font-size:17px}
.primary{min-height:44px}
.lg-link{background:none;border:0;padding:4px 2px;font-size:12px;color:var(--green);text-decoration:underline;text-underline-offset:3px}
.lg-link.danger{color:var(--danger)}
.primary.lg-danger{background:var(--danger)}

.lg-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:5px 10px;border-radius:999px;background:#f0f1e9;color:#53624f;white-space:nowrap;font-weight:600}
.lg-chip.lime{background:var(--lime);color:var(--ink)}
.lg-chip.ink{background:var(--ink);color:var(--lime)}
.lg-chip.muted{background:transparent;border:1px solid #e0e3d6;color:#8a9284;font-weight:400}
.lg-chip.frost{background:var(--frost);color:var(--frost-ink)}
h1 .lg-chip{font-size:13px;vertical-align:middle;letter-spacing:0}

/* Sign-in */
.lg-signin h2{margin-top:4px}
.lg-google{display:flex;align-items:center;justify-content:center;gap:12px;min-height:50px;border:1px solid #cbd3c4;background:#fff;border-radius:12px;color:var(--ink);text-decoration:none;font-weight:600;font-size:15px}
.lg-google:hover{background:#fafaf5}
.lg-google svg{width:20px;height:20px}
.lg-or{display:flex;align-items:center;gap:12px;color:#9aa293;font-size:12px;margin:18px 0}
.lg-or:before,.lg-or:after{content:'';flex:1;height:1px;background:var(--line)}
.lg-form label{margin-top:14px}
.lg-form>label:first-child{margin-top:0}
.lg-devlink{display:block;margin-top:10px;padding:10px 12px;border:1px dashed #d5ae63;border-radius:9px;background:#fbf5e6;font-size:12px}
.lg-devlink a{color:var(--green);font-weight:700}
.lg-steps{list-style:none;counter-reset:s;padding:0;margin:8px 0 0;display:grid;gap:16px}
.lg-steps li{counter-increment:s;display:grid;grid-template-columns:34px 1fr;gap:2px 12px}
.lg-steps li:before{content:counter(s);grid-row:span 2;width:34px;height:34px;border-radius:10px;background:var(--lime);display:grid;place-items:center;font-weight:800;transform:rotate(-7deg)}
.lg-steps b{font-size:14px}
.lg-steps span{font-size:12px;color:#6f7a6c;line-height:1.7}

/* Forms */
select{width:100%;background:#fff;border:1px solid #cbd3c4;border-radius:10px;padding:13px 14px;color:var(--ink);font:inherit;font-size:15px;min-height:48px}
select:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px #39775b12}
select:disabled{opacity:.5}
.lg-fieldset{border:1px solid var(--line);border-radius:14px;padding:16px 18px 18px;margin:20px 0 0;display:grid;gap:4px}
.lg-fieldset legend{font-size:12px;color:var(--green);padding:0 6px}
.lg-fieldset label{margin:12px 0 8px}
.lg-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lg-check{display:flex!important;gap:12px;align-items:flex-start;font-weight:600;cursor:pointer}
.lg-check input{width:20px;height:20px;flex:none;margin:1px 0 0;accent-color:var(--ink)}
.lg-check small{display:block;font-weight:400;color:var(--muted);font-size:11px;margin-top:3px}

/* Membership */
.lg-membership.is-active{background:linear-gradient(160deg,#fffef9 60%,#eef4dc)}
.lg-perks{margin:0 0 18px;padding:0;list-style:none;display:grid;gap:8px;font-size:13px}
.lg-perks li:before{content:'✓';color:#7d9e41;font-weight:800;margin-left:8px}
.lg-plans{display:grid;gap:10px}
.lg-plan{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:right;border:1px solid #cbd3c4;background:#fff;border-radius:14px;padding:14px 16px;color:var(--ink)}
.lg-plan b{font-size:17px}
.lg-plan span{font-size:12px;color:#6f7a6c}
.lg-plan.featured{background:var(--ink);border-color:var(--ink);color:#fff}
.lg-plan.featured span{color:var(--lime)}
.lg-meter{display:grid;grid-template-columns:1fr auto;gap:4px 10px;font-size:13px;margin:4px 0 6px}
.lg-meter b{font-variant-numeric:tabular-nums}
.lg-meter .progress-track{grid-column:1/-1;margin-top:8px}
.lg-dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;font-size:13px;margin:16px 0}
.lg-dl dt{color:var(--muted)}
.lg-dl dd{margin:0;font-variant-numeric:tabular-nums}
.lg-logout{margin-top:6px}

/* League list */
.lg-list{display:grid;gap:8px}
.lg-league-card{display:flex;align-items:center;gap:14px;padding:14px;border-radius:14px;background:#f6f6ef;color:var(--ink);text-decoration:none;border:1px solid transparent;min-height:64px}
.lg-league-card:hover{border-color:#cbd9ae;background:#f1f4e4}
.lg-league-card.frozen{background:#f2f5f6}
.lg-league-mark{width:40px;height:40px;flex:none;border-radius:11px;background:var(--ink);color:var(--lime);display:grid;place-items:center;font-weight:800;font-size:19px;transform:rotate(-7deg)}
.lg-league-card.frozen .lg-league-mark{background:var(--frost-ink);color:var(--frost)}
.lg-league-body{flex:1;min-width:0;display:grid;gap:3px}
.lg-league-body b{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lg-league-body small{font-size:11.5px;color:#6f7a6c}
.lg-arrow{color:#7d9e41;font-size:18px}
.lg-empty{padding:20px 0 12px}
.lg-empty p{font-size:13px}

/* League view */
.lg-league-head{padding:26px 0 20px}
.lg-back{display:inline-block;font-size:12px;color:var(--green);text-decoration:none;margin-bottom:14px;padding:6px 0}
.lg-title{font-size:44px;margin:12px 0 0;overflow-wrap:anywhere}
.lg-banner{display:flex;gap:18px;align-items:center;justify-content:space-between;padding:18px 20px;border-radius:16px;background:#f2eadf;margin:0 0 20px;font-size:13px;line-height:1.7}
.lg-banner b{display:block;font-size:15px;margin-bottom:2px}
.lg-banner.frozen{background:var(--frost);color:var(--frost-ink);border:1px solid #c8dae2}
.lg-banner.frozen .primary{background:var(--frost-ink);flex:none}
.lg-banner.compact{padding:12px 14px;margin:0 0 16px;font-size:12px;display:block}
.lg-banner.compact b{display:inline;font-size:13px;margin-left:6px}

.lg-riddle-list{display:grid;gap:8px}
.lg-riddle{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:12px;background:#f3f3ed;color:var(--ink);text-decoration:none;min-height:58px;border:1px solid transparent}
a.lg-riddle:hover{border-color:#cbd9ae}
.lg-riddle.open{background:#eef3e0}
.lg-riddle.upcoming{opacity:.7}
.lg-riddle-dot{width:10px;height:10px;border-radius:50%;flex:none;background:#bdc4b5}
.lg-riddle-dot.open{background:#87aa63;box-shadow:0 0 0 4px #87aa6333}
.lg-riddle-dot.upcoming{background:#d5ae63}
.lg-riddle-body{flex:1;min-width:0;display:grid;gap:2px}
.lg-riddle-body b{font-size:14px}
.lg-riddle-body small{font-size:11px;color:#6f7a6c}
.lg-details{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}
.lg-details summary{font-weight:600;color:#53624f;padding:6px 0}
.lg-details[open] summary{margin-bottom:10px}

.lg-tabs{display:inline-flex;background:#f0f1e9;border-radius:10px;padding:3px;gap:2px;flex:none}
.lg-tabs button{border:0;background:none;border-radius:8px;padding:6px 12px;font-size:12px;color:#53624f;min-height:34px}
.lg-tabs button.active{background:var(--ink);color:#fff}
.lg-table-wrap{overflow-x:auto;margin:0 -6px}
.lg-table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}
.lg-table th{font-size:11px;font-weight:400;color:var(--muted);text-align:right;padding:8px 6px;border-bottom:1px solid var(--line)}
.lg-table td{padding:11px 6px;border-bottom:1px solid #efefe8}
.lg-table tr.me td{background:#f1f5e3}
.lg-table td.pos{width:34px;color:#7c8477}
.lg-table td.who{font-weight:600;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lg-table td.who small{font-weight:400;color:var(--muted)}
.lg-table td.pts{font-weight:800;font-size:15px}
.lg-table td small{color:var(--muted);font-size:10px}
.medal{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:7px;font-size:12px;font-weight:800;transform:rotate(-7deg)}
.medal.m1{background:var(--ink);color:var(--lime)}
.medal.m2{background:var(--lime);color:var(--ink)}
.medal.m3{background:#f2eadf;color:var(--ink)}
.lg-dim{opacity:.45;transition:opacity .2s}

.lg-invite .input-row input{font-size:13px;padding:12px}
.lg-wa{background:#1a9fe9;text-decoration:none;font-size:14px;padding:11px 18px}
.lg-owner{background:#f6f6ee}
.lg-spawn{display:grid;gap:10px;padding:14px;border-radius:14px;background:#fff;border:1px solid var(--line)}
.lg-spawn b{display:block;font-size:14px}
.lg-spawn span{font-size:12px;color:#6f7a6c}
.lg-spawn-row{display:flex;gap:8px}
.lg-spawn-row select{flex:1;min-height:44px;padding:8px 10px;font-size:14px}
.lg-manage{list-style:none;padding:0;margin:0;display:grid}
.lg-manage li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #efefe8;font-size:13px}
.lg-manage-actions{display:flex;gap:10px;flex:none}
.lg-member-list{list-style:none;margin:0;padding:0;display:grid;gap:4px;max-height:420px;overflow:auto}
.lg-member-list>li,.lg-manage>li,.lg-list>*,.lg-riddle-list>*{min-width:0}
.lg-member-list li{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:13px}
.lg-member-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lg-member-name small{color:var(--muted)}
.lg-avatar{width:30px;height:30px;border-radius:9px;background:#eeeee3;display:grid;place-items:center;font-weight:700;font-size:13px;flex:none}
.lg-leave{margin-top:14px}
.lg-join p{font-size:14px;line-height:1.7;margin:0 0 6px}
.lg-error{text-align:center;margin:40px auto}
.lg-error .lg-actions{justify-content:center}
.lg-error p{font-size:14px;color:#6f7a6c}

/* Riddle view */
.lg-riddle-head{padding:20px 0 12px}
.lg-stats3{grid-template-columns:repeat(3,1fr)}
.lg-points-line{color:var(--green);font-size:14px!important;margin-top:4px!important}
.lg-riddle-info .lg-dl{margin:16px 0 4px}

.lg-toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:12px 20px;border-radius:12px;font-size:13px;z-index:40;box-shadow:0 10px 30px #203c3433;max-width:calc(100% - 32px);text-align:center}
.lg-toast.error{background:var(--danger)}

@media(max-width:900px){.lg-layout,.lg-two{grid-template-columns:1fr}}
@media(max-width:760px){
  .top-actions{gap:12px}
  .lg-home-link{display:none}
  .lg-intro{padding:26px 2px 22px}
  .lg-intro h1{font-size:36px}
  .lg-title{font-size:32px}
  .lg-panel{padding:20px 16px;border-radius:16px;margin-bottom:16px}
  .lg-panel-head{flex-wrap:wrap}
  .lg-banner{flex-direction:column;align-items:stretch;gap:12px}
  .lg-grid2{grid-template-columns:1fr 1fr;gap:8px}
  .lg-tabs{width:100%}
  .lg-tabs button{flex:1}
  .lg-table td.who{max-width:110px}
  .lg-table th:last-child,.lg-table td:last-child{display:none}
  .lg-stats3 b{font-size:21px}
  .lg-invite .lg-actions>*{flex:1}
}
