/* Hallmark · pre-emit critique: P5 H5 E4 S5 R4 V5. Existing academy system; collectible rank accents. */
:root{--league-red:#f28c87;--league-violet:#b7a1f5;--league-ice:#91d7ee;--league-gold:#edcc87;--league-green:#93d1ab;--league-orange:#eab28b;--league-deep:#11131d;--league-light:#f5f4ed;--league-dark:#08090d;--league-line:#454855;--league-empty:transparent}
.league{color:var(--color-ink);padding-bottom:30px}.league *{min-width:0}.league [hidden]{display:none!important}.league .mx-shell{max-width:1232px}.league p{line-height:1.7}.league h1{font:600 clamp(40px,5.8vw,76px)/1.02 var(--font-display);letter-spacing:-.05em;margin:16px 0 22px;overflow-wrap:anywhere}.league h1 em,.league h2 em{font-family:var(--font-outlier);color:var(--color-accent-text);font-weight:700}.league h2{font:600 clamp(25px,3.3vw,40px)/1.1 var(--font-display);letter-spacing:-.035em}.league h3{font-weight:600}.league-kicker{font:11px/1.6 var(--font-mono);letter-spacing:.14em;color:var(--color-accent-text)}.league-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:60px;align-items:end;padding:36px 0 32px}.league-hero p:not(.league-kicker){max-width:580px;color:var(--color-ink-2);font-size:15px}.league-hero-note{border-left:1px solid var(--color-rule);padding-left:26px;display:grid;gap:14px}.league-hero-note strong{font-size:14px}.league-hero-note span{font-size:12px;line-height:1.7;color:var(--color-muted)}.league-preview{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px 18px;background:var(--color-accent-soft);border:1px solid var(--color-rule);border-radius:10px;font-size:12px}.league-preview label{display:flex;align-items:center;gap:12px;white-space:nowrap}.league select,.league textarea{background:var(--color-surface);border:1px solid var(--color-rule);border-radius:7px;padding:10px;color:var(--color-ink);font:13px var(--font-body)}.league-preview p{color:var(--color-ink-2)}.league a,.league button,.league summary{touch-action:manipulation}.league :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--color-focus);outline-offset:5px}.league-nav{display:flex;gap:24px;flex-wrap:wrap;padding:22px 0;border-bottom:1px solid var(--color-rule);font-size:12px;color:var(--color-ink-2)}.league-nav a{min-height:28px;display:flex;align-items:center;white-space:nowrap}.league-nav a:hover{color:var(--color-accent-text)}.league-section{padding-top:56px;scroll-margin-top:110px}.league-section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:24px}.league-section-head p{font-size:13px;color:var(--color-muted);max-width:370px}.league-section-head .league-kicker{margin-bottom:9px;color:var(--color-accent-text)}
.rank-deck{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding:8px 0 20px;perspective:1400px}.rank-card{--rank:var(--league-red);position:relative;isolation:isolate;text-align:left;border:1px solid var(--color-rule);border-radius:13px;background:var(--league-deep);padding:18px 18px 20px;cursor:pointer;overflow:hidden;transform:rotateY(var(--ry,0deg)) rotateX(var(--rx,0deg));transition:transform .3s var(--ease-out),border-color .25s,box-shadow .25s;box-shadow:4px 5px 0 var(--color-surface-raised);transform-style:preserve-3d;color:var(--color-ink)}.rank-card:nth-child(2){--rank:var(--league-violet)}.rank-card:nth-child(3){--rank:var(--league-ice)}.rank-card:nth-child(4){--rank:var(--league-gold)}.rank-card:hover,.rank-card[aria-pressed=true]{border-color:var(--rank);box-shadow:4px 5px 0 var(--color-rule)}.rank-card:active{transform:translateY(2px)}.rank-card::before{content:'';position:absolute;inset:8px;border:1px solid var(--color-rule-soft);border-radius:8px;pointer-events:none;z-index:-1}.rank-serial{display:flex;justify-content:space-between;font:9px var(--font-mono);letter-spacing:.07em;color:var(--rank)}.rank-art{display:grid;place-items:center;height:194px;margin:14px -8px 10px;position:relative;background:repeating-linear-gradient(0deg,var(--league-empty) 0 27px,var(--color-rule-soft) 28px 29px)}.rank-art:before{content:'';position:absolute;width:146px;height:146px;border:1px solid var(--rank);border-radius:50%;opacity:.25}.rank-art svg{position:relative;width:158px;height:180px;color:var(--rank);filter:drop-shadow(6px 8px 0 var(--league-dark));transition:transform .4s var(--ease-out)}.rank-card:hover svg{transform:translateY(-5px) scale(1.03)}.rank-card strong{display:block;font-size:clamp(18px,2vw,26px);letter-spacing:-.03em;margin-bottom:5px}.rank-card small{display:block;font-size:11px;color:var(--color-ink-2)}.rank-card .rank-state{display:flex;justify-content:space-between;border-top:1px solid var(--color-rule);margin-top:18px;padding-top:13px;font:10px var(--font-mono);color:var(--rank)}.rank-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:32px;padding:25px 0;border-top:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule)}.rank-detail h3{font-size:22px;margin:8px 0}.rank-detail p{font-size:13px;color:var(--color-muted)}.rank-gates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;font-size:12px;align-content:center}.rank-gates li{display:flex;gap:9px;line-height:1.5}.rank-gates span{color:var(--color-muted)}.rank-gates [data-pass=true] span{color:var(--color-success)}
.league-missions{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:32px}.mission-list{border-top:1px solid var(--color-rule)}.mission-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:12px;align-items:center;border-bottom:1px solid var(--color-rule);padding:22px 0}.mission-row>span{font:12px var(--font-mono);color:var(--color-accent-text)}.mission-row h3{font-size:17px;margin-bottom:6px}.mission-row p{font-size:12px;color:var(--color-muted)}.mission-row a{font-size:12px;color:var(--color-accent-text);white-space:nowrap;padding:12px 0}.league-streak{padding:26px;background:var(--color-surface);border:1px solid var(--color-rule);border-radius:14px}.league-streak strong{font:600 44px var(--font-display)}.league-streak>p{font-size:12px;color:var(--color-muted);margin-top:14px}.streak-days{display:flex;gap:7px;margin:22px 0}.streak-days span{flex:1;text-align:center;border:1px solid var(--color-rule);padding:11px 3px;border-radius:6px;font:10px var(--font-mono)}.streak-days [data-done=true]{background:var(--color-accent-soft);color:var(--color-accent-text);border-color:var(--color-accent-text)}
.stone-vault{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.stone-slot{--stone:var(--league-ice);text-align:center;padding:18px 8px;border:1px solid var(--color-rule);border-radius:12px;background:var(--color-surface);cursor:pointer;color:var(--color-ink);transition:transform .25s}.stone-slot:hover{transform:translateY(-5px);border-color:var(--stone)}.stone-slot:nth-child(2){--stone:var(--league-gold)}.stone-slot:nth-child(3){--stone:var(--league-red)}.stone-slot:nth-child(4){--stone:var(--league-violet)}.stone-slot:nth-child(5){--stone:var(--league-green)}.stone-slot:nth-child(6){--stone:var(--league-orange)}.stone-slot svg{color:var(--stone);width:72px;height:85px;margin:0 auto 10px;filter:drop-shadow(3px 4px 0 var(--league-dark))}.stone-slot[data-earned=false] svg{opacity:.3;filter:grayscale(1)}.stone-slot strong{font-size:14px;display:block}.stone-slot small{font:10px var(--font-mono);color:var(--color-muted);display:block;margin-top:8px}.stone-slot[data-earned=true] small{color:var(--stone)}.stone-detail{min-height:80px;font-size:13px;color:var(--color-ink-2);padding:18px 0}.stone-detail strong{color:var(--color-ink)}.reward-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.reward-card{border:1px solid var(--color-rule);padding:24px;border-radius:12px;display:flex;align-items:center;gap:20px}.reward-card svg{width:50px;height:60px;color:var(--league-gold);flex:none}.reward-card h3{font-size:17px;margin:5px 0}.reward-card p{font-size:12px;color:var(--color-muted)}.reward-card button{margin-top:12px}.league-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border-radius:8px;background:var(--color-accent);color:var(--color-accent-ink);font:600 12px var(--font-body);cursor:pointer;white-space:nowrap;border:1px solid var(--league-empty)}.league-btn:hover{background:var(--color-accent-hover)}.league-btn:active{transform:translateY(1px)}.league-btn:disabled{background:var(--color-surface-raised);color:var(--color-muted);cursor:not-allowed;border-color:var(--color-rule)}.league-btn.secondary{background:var(--color-surface-raised);border-color:var(--color-rule);color:var(--color-ink)}
.squad-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:40px}.squad-roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:22px 0}.squad-person{border:1px solid var(--color-rule);border-radius:9px;padding:13px;display:flex;gap:10px;align-items:center;font-size:12px}.squad-person>span{border-radius:50%;width:32px;height:32px;background:var(--color-accent-soft);display:grid;place-items:center;color:var(--color-accent-text);flex:none;font-size:10px}.squad-person small{font-size:10px;color:var(--color-muted);display:block;margin-top:3px}.squad-panel{border:1px solid var(--color-rule);border-radius:14px;padding:25px;background:var(--color-surface)}.squad-panel>p,.squad-description{font-size:13px;color:var(--color-ink-2)}.election-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0 23px}.election-tabs button{border:1px solid var(--color-rule);padding:9px 12px;min-height:40px;border-radius:6px;font-size:11px;white-space:nowrap;cursor:pointer}.election-tabs [aria-pressed=true]{background:var(--color-accent-soft);border-color:var(--color-accent-text);color:var(--color-accent-text)}.league-field{display:grid;gap:9px;font-size:12px;margin:18px 0}.league textarea{resize:vertical;min-height:92px;width:100%}.league-status{min-height:28px;font-size:12px;color:var(--color-accent-text);margin-top:14px;line-height:1.7}.ballot-options{display:grid;gap:8px;margin:20px 0}.ballot-options label{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid var(--color-rule);border-radius:8px;font-size:13px;cursor:pointer}.ballot-options input{accent-color:var(--color-accent);width:17px;height:17px}.ballot-options label:has(:checked){border-color:var(--color-accent-text);background:var(--color-accent-soft)}.ballot-options small{color:var(--color-muted);font-size:11px}.result-row{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--color-rule);font-size:13px}.election-hint{font-size:11px;color:var(--color-muted);margin-top:16px;line-height:1.7}
.focus-legacy-room{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;padding:32px;border:1px solid var(--color-rule);border-radius:16px;background:var(--color-surface)}.focus-legacy-room p{color:var(--color-ink-2);font-size:13px;margin:18px 0}.focus-legacy-route{display:grid;gap:14px;border-left:1px solid var(--color-rule);padding-left:25px}.focus-legacy-route li{font-size:13px}.focus-legacy-route span{display:block;color:var(--color-muted);font-size:11px;margin-top:4px}.focus-legacy-room small{color:var(--color-muted);font-size:11px}.league-rulebook{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.4fr);gap:40px}.league-rulebook>div>p{font-size:13px;color:var(--color-muted);margin:20px 0}.league-rulebook details{border-bottom:1px solid var(--color-rule);padding:18px 0}.league-rulebook summary{font-size:14px;cursor:pointer;min-height:30px}.league-rulebook details p{font-size:13px;color:var(--color-ink-2);margin:12px 0}.league-rulebook details ul{list-style:disc;padding-left:20px;font-size:13px;line-height:1.9;color:var(--color-ink-2)}.league-dialog{background:var(--color-surface);color:var(--color-ink);border:1px solid var(--color-rule);border-radius:14px;max-width:480px;width:calc(100% - 32px);padding:28px}.league-dialog::backdrop{background:var(--color-overlay)}.league-dialog h2{font-size:23px;line-height:1.3}.league-dialog p{font-size:13px;color:var(--color-ink-2);line-height:1.8;margin:18px 0}.league-dialog-actions{display:flex;gap:12px;flex-wrap:wrap}.league-entry{display:flex;gap:25px;align-items:center;justify-content:space-between;margin:26px 0;padding:24px;border:1px solid var(--color-rule);border-radius:14px;background:var(--color-surface)}.league-entry h2{font:600 23px var(--font-display);margin:7px 0}.league-entry p{font-size:12px;line-height:1.6;color:var(--color-muted)}.league-entry a{white-space:nowrap}.league-entry .entry-stones{font-size:28px;letter-spacing:5px;color:var(--color-accent-text)}
@media(min-width:1000px){.rank-card:nth-child(1){margin-top:18px}.rank-card:nth-child(4){margin-top:-8px;margin-bottom:8px}}
@media(max-width:900px){.league-hero{gap:25px}.rank-deck{gap:12px}.rank-art{height:155px}.rank-art svg{height:145px;width:125px}.rank-card{padding:15px}.rank-card strong{font-size:20px}.rank-detail,.league-missions,.squad-layout,.league-rulebook{gap:24px}.stone-vault{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.league-hero,.league-missions,.rank-detail,.squad-layout,.focus-legacy-room,.league-rulebook{grid-template-columns:minmax(0,1fr)}.league-hero{padding-top:20px;gap:18px}.league-hero-note{padding:15px 0 0;border-left:0;border-top:1px solid var(--color-rule);gap:8px}.league-preview{align-items:start;flex-direction:column;gap:12px}.league-preview label{flex-wrap:wrap;white-space:normal}.league-nav{gap:12px 22px}.league-section{padding-top:38px}.league-section-head{display:grid;gap:12px}.rank-deck{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 13px}.rank-card strong{font-size:21px}.rank-art{height:145px;margin-inline:-8px}.rank-art:before{width:110px;height:110px}.rank-art svg{width:110px;height:134px}.rank-serial{font-size:8px;letter-spacing:0}.rank-card{padding:16px 12px}.rank-card small{font-size:10px}.rank-gates{grid-template-columns:minmax(0,1fr)}.reward-row{grid-template-columns:minmax(0,1fr)}.focus-legacy-room{padding:22px;gap:22px}.focus-legacy-route{padding:20px 0 0;border-left:0;border-top:1px solid var(--color-rule)}.squad-panel{padding:20px}.league-entry{align-items:start;flex-direction:column;gap:15px}.mission-row{grid-template-columns:25px minmax(0,1fr);gap:8px}.mission-row a{grid-column:2;justify-self:start;padding:5px 0}.stone-slot svg{width:55px;height:65px}}
@media(prefers-reduced-motion:reduce){.rank-card,.rank-card svg,.stone-slot{transform:none!important;transition:none!important}}

.leader-duties{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.leader-duties article{border-top:2px solid var(--color-accent-text);padding:22px 0}.leader-duties article>span{font:10px var(--font-mono);color:var(--color-accent-text)}.leader-duties h3{font-size:20px;line-height:1.3;margin:15px 0}.leader-duties p,.leader-response p,.leader-response li span,.leader-boundary p{font-size:13px;color:var(--color-ink-2);line-height:1.8}.leader-duties article>strong{display:block;font-size:11px;color:var(--color-muted);margin-top:15px}.leader-response{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:40px;border-top:1px solid var(--color-rule);padding:28px 0}.leader-response h3{font-size:22px;margin:10px 0}.leader-response ol{display:grid;gap:15px}.leader-response li{border-left:2px solid var(--color-rule);padding-left:20px}.leader-response li strong{display:block;font-size:14px;margin-bottom:6px}.leader-response li span{display:block}.leader-boundary{background:var(--color-surface);padding:26px;border:1px solid var(--color-rule);border-radius:12px}.leader-boundary strong{font-size:16px}.leader-boundary p{margin:10px 0 23px;max-width:950px}@media(max-width:700px){.leader-duties,.leader-response{grid-template-columns:minmax(0,1fr);gap:20px}.leader-duties{gap:6px}.leader-duties article{padding-block:18px}.leader-response{padding-block:24px}.leader-boundary{padding:20px}}

.team-stage-rules{padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid var(--color-rule)}.team-stage-rules summary{cursor:pointer;font-weight:600;font-size:16px;min-height:30px}

/* Website-native Focus Desk; existing Motion X tokens. */
.focus-workflow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:18px 0 25px;border-top:1px solid var(--color-rule)}.focus-workflow>span{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:12px}.focus-workflow b{font:11px var(--font-mono);color:var(--color-accent-text)}.focus-workflow small{color:var(--color-muted);font-size:10px}
.focus-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);border:1px solid var(--color-rule);border-radius:16px;overflow:hidden;background:var(--color-surface)}.focus-clock,.focus-work{min-width:0;padding:30px}.focus-clock{border-right:1px solid var(--color-rule);background:var(--league-deep)}.focus-clock-head,.focus-duration,.focus-notebook-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.focus-clock-head>span:last-child{font:10px var(--font-mono);color:var(--color-accent-text)}.focus-clock-head .league-kicker{margin:0}.focus-duration{font-size:12px;margin-top:20px}.focus-duration select{max-width:150px}.league .focus-layout input,.league .focus-layout textarea{width:100%;box-sizing:border-box;border:1px solid var(--color-rule);border-radius:8px;padding:12px;background:var(--color-paper);color:var(--color-ink);font:14px var(--font-body)}.focus-timer{font:500 clamp(64px,7vw,96px)/1.2 var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.05em;margin:28px 0 20px}.focus-clock progress{display:block;width:100%;height:4px;accent-color:var(--color-accent-text);margin-bottom:25px}.focus-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.focus-text-btn{font:500 12px var(--font-body);color:var(--color-ink-2);padding:12px 6px;cursor:pointer;min-height:42px}.focus-text-btn:hover{color:var(--color-accent-text)}.focus-text-btn:disabled{opacity:.5;cursor:not-allowed}.focus-hint{font-size:12px!important;line-height:1.7;color:var(--color-muted);margin-top:16px}.focus-work h3,.focus-notebook h3{font-size:23px;line-height:1.3;letter-spacing:-.02em;margin-top:8px}.focus-work textarea{min-height:125px}.focus-status{padding:12px 0}.focus-notebook{border-top:1px solid var(--color-rule);padding:24px 0}.focus-records{display:grid;gap:0;margin-top:22px}.focus-records li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;border-top:1px solid var(--color-rule);padding:18px 0}.focus-records strong{font-size:14px;overflow-wrap:anywhere}.focus-records p{font-size:11px;color:var(--color-muted);grid-column:1}.focus-records a{grid-column:2;grid-row:1/3;align-self:center;color:var(--color-accent-text);font-size:12px;white-space:nowrap}.focus-review-note{display:grid;grid-template-columns:minmax(0,.55fr) minmax(0,1fr);gap:22px;border-left:2px solid var(--color-accent-text);padding:15px 20px;margin-top:25px}.focus-review-note strong{font-size:14px}.focus-review-note p{font-size:12px;color:var(--color-muted);line-height:1.8}.focus-layout :focus-visible,.focus-notebook :focus-visible{outline:2px solid var(--color-accent-text);outline-offset:4px}.focus-actions button:active{transform:translateY(1px)}
@media(max-width:700px){.focus-workflow{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.focus-layout{grid-template-columns:minmax(0,1fr)}.focus-clock{border-right:0;border-bottom:1px solid var(--color-rule)}.focus-clock,.focus-work{padding:20px}.focus-notebook-head{align-items:start;flex-direction:column}.focus-review-note{grid-template-columns:minmax(0,1fr);gap:8px}.focus-timer{font-size:72px}.focus-records li{grid-template-columns:minmax(0,1fr)}.focus-records a{grid-column:1;grid-row:auto;justify-self:start}.focus-work h3{font-size:21px}}

/* Transparent raster stones retain their real facets and distinct colors. */
.stone-slot img{display:block;width:100%;height:126px;object-fit:contain;margin:0 auto 16px;transition:transform .35s var(--ease-out),opacity .25s;filter:drop-shadow(0 6px 12px var(--league-dark))}.stone-slot:hover img,.stone-slot[aria-pressed=true] img{transform:translateY(-4px) rotate(-3deg)}.stone-slot[aria-pressed=true]{border-color:var(--stone)}.stone-slot[data-earned=false] img{opacity:.65}.reward-card img{width:60px;height:72px;object-fit:contain;flex:none}.rank-card:nth-child(2){--rank:var(--league-ice)}@media(max-width:700px){.stone-slot img{height:90px}.rank-card strong{font-size:clamp(16px,4vw,21px)}}@media(prefers-reduced-motion:reduce){.stone-slot img{transform:none!important;transition:none!important}}
