*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font:16px/1.65 Arial,sans-serif;background:var(--paper);color:var(--ink)}button,input,select,textarea{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}img{display:block;max-width:100%;height:auto}button:disabled{opacity:.5;cursor:wait}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(38px,5.3vw,72px);line-height:1.03;letter-spacing:-.055em}h2{font-size:clamp(26px,3vw,38px);line-height:1.1;letter-spacing:-.035em}h3{font-size:21px;line-height:1.25;letter-spacing:-.02em}p{max-width:75ch}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,canvas:focus-visible{outline:3px solid var(--focus);outline-offset:4px}[hidden]{display:none!important}.wrap{max-width:1320px;margin:auto;padding:0 32px}.sr-only,.skip{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip:focus{position:fixed;left:15px;top:15px;width:auto;height:auto;clip-path:none;padding:12px;background:var(--panel);z-index:120}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;display:block;color:var(--accent);margin-bottom:18px}.muted{color:var(--muted)}.button,.save-button,.filter-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--line);background:var(--panel);color:var(--ink);padding:11px 19px;border-radius:var(--radius);font-weight:700;font-size:14px;min-height:44px;text-decoration:none}.button.primary{background:var(--accent);color:var(--on-accent);border-color:transparent}.button:hover,.save-button:hover{filter:brightness(.96);text-decoration:none}.save-button{padding:8px 12px;font-size:12px}.save-button[aria-pressed="true"]{background:var(--soft);border-color:var(--accent)}.icon{width:20px;height:20px;flex-shrink:0}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.section-head h2{margin-bottom:9px}.section-head p{margin-bottom:0;color:var(--muted);font-size:14px}.section-head>a{font-size:14px;font-weight:700;white-space:nowrap}.brand{font-size:25px;letter-spacing:-.05em;font-weight:900;display:inline-flex;align-items:center;gap:10px;line-height:1.1}.brand img{width:36px;height:36px}.brand small{display:block;font-size:9px;letter-spacing:.11em;text-transform:uppercase;margin-top:6px;font-weight:600}.header-search{display:flex;align-items:center;gap:8px}.header-search input{width:180px;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:var(--radius);padding:10px 12px}.header-search button{background:none;border:0;color:var(--ink);padding:8px}.site-header{position:relative;z-index:35}.site-nav{display:flex;gap:22px;align-items:center;font-size:13px;font-weight:700}.menu-toggle{display:none;border:1px solid var(--line);background:var(--panel);color:var(--ink);padding:9px;border-radius:var(--radius)}.footer{margin-top:65px;border-top:1px solid var(--line);padding:35px 0 28px}.footer-main{display:flex;justify-content:space-between;gap:50px}.footer p{font-size:13px;color:var(--muted);margin:14px 0;max-width:380px}.footer nav{display:flex;flex-wrap:wrap;align-content:start;gap:12px 22px;max-width:500px;font-size:13px}.footer nav button{border:0;background:none;color:inherit;padding:0;text-decoration:underline}.footer small{font-size:11px;color:var(--muted)}.storage-notice{position:fixed;z-index:90;bottom:18px;right:18px;width:min(480px,calc(100% - 36px));padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 70px #0004}.storage-notice strong{display:block;font-size:16px}.storage-notice p{font-size:12px;color:var(--muted);margin:8px 0 12px}.storage-notice .button{font-size:12px;padding:8px 12px}.storage-notice a{text-decoration:underline}dialog{border:1px solid var(--line);border-radius:var(--radius);padding:28px;max-width:620px;width:calc(100% - 32px);max-height:88vh;overflow:auto;background:var(--panel);color:var(--ink)}dialog::backdrop{background:#050e20c9}.dialog-head{display:flex;justify-content:space-between;align-items:start;gap:20px}.dialog-head h2{font-size:26px}.dialog-head button{background:var(--soft);color:var(--ink);border:0;border-radius:8px;width:42px;height:42px;font-size:24px}.setting-line{display:flex;gap:12px;align-items:center;margin:20px 0}.setting-line input{width:22px;height:22px}#notice{position:fixed;z-index:110;bottom:20px;left:20px;max-width:calc(100% - 40px);padding:15px 22px;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:var(--radius);box-shadow:0 4px 24px #0002}.page-intro{padding:58px 0 32px}.page-intro h1{font-size:clamp(36px,5vw,64px);max-width:850px}.page-intro p{font-size:18px;color:var(--muted);max-width:780px}.page-intro .eyebrow{margin-bottom:14px}.breadcrumb{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--muted);padding-top:25px}.catalog-controls{border:1px solid var(--line);padding:24px;background:var(--panel);border-radius:var(--radius);margin-bottom:25px}.filter-fields{display:grid;grid-template-columns:minmax(0,1fr) 170px 170px;gap:16px}.field label,.filter-fields label{display:block;font-size:12px;font-weight:700;margin-bottom:7px}input,textarea,select{max-width:100%;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:12px;border-radius:8px}input:not([type="radio"]):not([type="checkbox"]),textarea,select{width:100%}textarea{resize:vertical;min-height:135px}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.filter-button{font-size:12px;padding:7px 13px}.filter-button[aria-pressed="true"]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.result-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:16px 0}.result-row p{margin:0;font-size:13px;color:var(--muted)}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.empty-state{padding:40px;border:1px dashed var(--line);border-radius:var(--radius);text-align:center}.game-card{min-width:0}.game-card img{width:100%;object-fit:cover;aspect-ratio:16/10}.game-card h3{margin:12px 0 8px}.game-card p{font-size:13px;color:var(--muted);margin-bottom:12px}.card-meta{display:flex;justify-content:space-between;gap:8px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.card-actions{display:flex;justify-content:space-between;flex-wrap:wrap;align-items:center;gap:8px}.card-actions a{font-size:13px;font-weight:700}.rating{font-size:11px;color:var(--muted);display:block;margin:10px 0}.status-tag{font-size:10px;font-weight:800;padding:5px 9px;border-radius:20px;background:var(--panel);color:var(--ink);display:inline-block}.categories{display:flex;flex-wrap:wrap;gap:10px}.categories a{padding:14px 22px;border:1px solid var(--line);border-radius:var(--radius);font-weight:700;font-size:13px;background:var(--panel)}.community-ranking{list-style:none;padding:0;margin:22px 0 0;counter-reset:rank}.community-ranking li{counter-increment:rank;display:grid;grid-template-columns:35px 58px 1fr;gap:15px;align-items:center;padding:15px 0;border-top:1px solid var(--line)}.community-ranking li:before{content:"0" counter(rank);font-weight:800;color:var(--accent)}.community-ranking img{width:58px;height:58px;object-fit:cover;border-radius:10px}.community-ranking h3{font-size:16px;margin:0}.community-ranking .rating{margin:3px 0}.reading-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.reading-grid article{border:1px solid var(--line);padding:28px;border-radius:var(--radius);background:var(--panel)}.reading-grid article h2{font-size:26px}.reading-grid article p{font-size:15px;color:var(--muted);margin-bottom:0}.contact-layout{display:grid;grid-template-columns:minmax(0,1.4fr) 1fr;gap:40px}.contact-form,.community-box{padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.field{margin-bottom:18px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.check-label{display:flex;gap:10px;align-items:start;font-size:12px;margin:14px 0 20px}.check-label input{flex-shrink:0;margin-top:5px}.form-status{font-size:13px;margin:14px 0 0;min-height:24px}.contact-aside img{aspect-ratio:4/3;object-fit:cover;width:100%;border-radius:var(--radius);margin-bottom:22px}.contact-aside h2{font-size:25px}.contact-aside p{font-size:14px;color:var(--muted)}.game-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;padding:30px 0}.game-heading h1{font-size:clamp(35px,4.5vw,60px);margin-bottom:15px}.game-heading p{margin:0;color:var(--muted);max-width:700px}.play-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(240px,1fr);gap:25px}.play-area{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);overflow:hidden;min-width:0}.play-area:fullscreen{max-width:1100px;margin:auto;overflow:auto;padding:20px}.game-hud{display:flex;gap:27px;align-items:center;padding:14px 20px;background:var(--soft);font-size:11px}.game-hud strong{display:block;font-size:21px;line-height:1.2}.game-hud button{margin-left:auto}.canvas-wrap{position:relative}canvas{display:block;width:100%;height:auto;aspect-ratio:9/5;touch-action:none}.game-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px;background:#081627cc;color:#fff}.game-overlay h2{font-size:30px;margin-bottom:10px}.game-overlay p{font-size:14px;max-width:450px}.game-controls{display:flex;flex-wrap:wrap;gap:8px;padding:14px}.game-controls .button{font-size:12px;padding:8px 13px}.game-status{font-size:12px;padding:0 18px 15px;margin:0;min-height:32px}.aim-control{padding:12px 20px 0;font-size:12px}.aim-control input{width:100%;padding:0}.game-essential{background:var(--soft);border-radius:var(--radius);overflow:hidden}.game-essential img{width:100%;aspect-ratio:4/3;object-fit:cover}.game-essential div{padding:22px}.game-essential h2{font-size:23px}.game-essential p,.game-essential li{font-size:13px}.game-notes{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:25px 0 45px}.game-notes article{border-left:3px solid var(--accent);padding:10px 22px}.game-notes h2{font-size:23px}.game-notes p{font-size:14px;color:var(--muted);margin-bottom:0}.preview-strip{margin:40px 0}.preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.preview-grid button{border:1px solid var(--line);padding:0;border-radius:var(--radius);background:var(--panel);color:var(--ink);text-align:left;overflow:hidden}.preview-grid img{width:100%;aspect-ratio:9/5;object-fit:cover}.preview-grid span{display:block;padding:12px 18px;font-size:12px}#preview-dialog{max-width:1100px}.community-top{display:flex;gap:30px;justify-content:space-between;align-items:start}.community-top h2{font-size:30px}.community-forms{display:grid;grid-template-columns:1fr 1fr;gap:35px}.rate-options{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.rate-options label{display:flex;gap:5px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:8px}.rate-options input{margin:0}.community-forms h3{margin-top:24px}#comments-list article{border-bottom:1px solid var(--line);padding:17px 0}#comments-list h3{font-size:16px;margin:0}#comments-list time{font-size:11px;color:var(--muted)}#comments-list p{font-size:14px;margin-top:8px;overflow-wrap:anywhere}.similar{margin-top:50px}.concept-page{display:grid;grid-template-columns:1.2fr 1fr;gap:35px;align-items:center}.concept-page>img{width:100%;border-radius:var(--radius);object-fit:cover;aspect-ratio:4/3}.concept-page h2{font-size:27px}.concept-page p{color:var(--muted)}.about-art{width:100%;max-height:480px;object-fit:cover;border-radius:var(--radius);margin-bottom:32px}.noscript{padding:20px;background:var(--soft)}
@media(max-width:1000px){.wrap{padding:0 24px}.site-nav{gap:15px}.header-search input{width:140px}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.play-layout{grid-template-columns:1fr}.game-essential{display:grid;grid-template-columns:230px 1fr}.game-essential img{height:100%;aspect-ratio:auto}.footer-main{gap:25px}}
@media(max-width:700px){html{scroll-padding-top:90px}.wrap{padding:0 18px}h1{font-size:40px}h2{font-size:29px}.header-search input{width:100%}.menu-toggle{display:inline-flex}.site-nav{display:none}.site-nav.open{display:flex;position:absolute;top:100%;left:0;right:0;padding:20px;flex-wrap:wrap;background:var(--panel);border-bottom:1px solid var(--line);z-index:50}.section-head{align-items:start}.section-head>a{white-space:normal;max-width:100px;font-size:12px}.catalog-grid{grid-template-columns:1fr;gap:22px}.filter-fields{grid-template-columns:1fr 1fr}.filter-fields>div:first-child{grid-column:1/-1}.filter-fields input{min-width:0}.catalog-controls{padding:17px}.filter-button{font-size:11px;padding:7px 10px}.reading-grid,.contact-layout,.form-row,.game-notes,.preview-grid,.community-forms,.concept-page{grid-template-columns:1fr}.page-intro{padding:35px 0 20px}.page-intro h1{font-size:39px}.page-intro p{font-size:16px}.reading-grid article,.contact-form,.community-box{padding:22px}.game-heading{display:block}.game-heading>.actions{margin-top:18px}.game-hud{gap:20px;padding:13px}.game-hud .button{font-size:10px;padding:7px}.game-hud strong{font-size:18px}.game-overlay{padding:15px}.game-overlay h2{font-size:24px}.game-overlay p{font-size:12px;margin-bottom:12px}.game-controls{padding:10px;gap:7px}.game-controls .button{font-size:11px;padding:8px 10px}.game-essential{display:block}.game-essential img{aspect-ratio:16/9;height:auto}.community-top{display:block}.footer-main{display:block}.footer nav{margin-top:20px}.categories a{padding:11px 16px;font-size:12px}.storage-notice{padding:16px;bottom:10px;right:10px;width:calc(100% - 20px)}.about-art{max-height:300px}.concept-page{gap:22px}.play-area:fullscreen{padding:0}.preview-strip{margin:30px 0}.contact-aside{order:2}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.play-area:fullscreen{box-sizing:border-box;width:100%;height:100dvh;max-width:none;display:flex;flex-direction:column;padding:12px;overflow:auto}.play-area:fullscreen .canvas-wrap{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;background:#071625}.play-area:fullscreen canvas{height:100%;width:100%;object-fit:contain}.play-area:fullscreen .game-hud,.play-area:fullscreen .game-controls{flex-shrink:0}.play-area:fullscreen .game-status{flex-shrink:0;margin:6px 12px}

/* Kanduleri: clubhouse fixture sheet, scoreboard and captain's lineup. */
.club-fixtures .club-roster-head{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:25px;align-items:end;border-bottom:6px solid var(--ink);padding-bottom:29px}
.club-fixtures .club-roster-copy .page-intro{padding:45px 0 10px}
.club-fixtures .club-roster-copy h1{text-transform:uppercase;font-style:italic;max-width:14ch}
.club-fixtures .matchday-tally{background:#172f65;color:#fff;padding:26px 27px 23px;border-top:6px solid #d44635}
.club-fixtures .matchday-tally .eyebrow{color:#ffc1ad}
.club-fixtures .matchday-tally .tally-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid #7282a4;margin-top:17px;padding-top:12px}
.club-fixtures .matchday-tally strong{display:block;font:900 47px/1 Arial;letter-spacing:-.05em;color:#ffd0b4}
.club-fixtures .matchday-tally .tally-columns span{display:block;font-size:11px;font-weight:800;text-transform:uppercase}
.club-fixtures .matchday-tally p{color:#dfe8fd;font-size:12px;margin:14px 0 0}
.club-fixtures .club-search-desk{margin-top:30px;padding:24px 28px 28px;background:#edece6;border:1px solid var(--line)}
.club-fixtures .search-desk-heading{display:flex;align-items:baseline;justify-content:space-between;gap:25px;border-bottom:1px solid #b4b7c2;margin-bottom:20px}
.club-fixtures .search-desk-heading h2{font-size:27px;text-transform:uppercase}
.club-fixtures .search-desk-heading p{font-size:13px;color:var(--muted)}
.club-fixtures .catalog-controls{padding:0;background:transparent;border:0;margin:0}
.club-fixtures .filter-fields{grid-template-columns:minmax(0,1.8fr) minmax(140px,.9fr) minmax(140px,.9fr)}
.club-fixtures .filters{margin-top:13px}
.club-fixtures .filter-button{font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.club-fixtures .fixture-sheet{margin-top:43px}
.club-fixtures .fixture-board-label{display:flex;justify-content:space-between;gap:15px;background:#172f65;color:#fff;font-size:12px;font-weight:900;letter-spacing:.08em;padding:14px 18px}
.club-fixtures .fixture-board-label span:last-child{font-size:10px;font-weight:700}
.club-fixtures .result-row{border-bottom:1px solid #b1bac9;padding-bottom:12px}
.club-fixtures .catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.club-fixtures .game-card{background:#fffef9;min-width:0;border:2px solid #cbd0d8;border-top:5px solid #18366e}
.club-fixtures .game-card .fixture-card{display:grid;grid-template-columns:160px minmax(0,1fr);min-height:215px}
.club-fixtures .game-card .fixture-poster{min-width:0;position:relative}
.club-fixtures .game-card .fixture-poster .cover-link{display:block;margin:0;height:100%;position:relative}
.club-fixtures .game-card .fixture-poster img{height:100%;min-height:205px;object-fit:cover;width:100%;aspect-ratio:auto}
.club-fixtures .game-card .fixture-score{display:flex;flex-direction:column;min-width:0}
.club-fixtures .game-card .fixture-number{padding:7px 15px;background:#e4e9f1;font:900 11px Arial;text-transform:uppercase;letter-spacing:.1em}
.club-fixtures .game-card .card-body{padding:16px 14px;flex:1;display:flex;flex-direction:column}
.club-fixtures .game-card .card-body h3{font-size:21px;line-height:1.15}
.club-fixtures .game-card .card-body p{font-size:12px}
.club-fixtures .game-card .card-actions{margin-top:auto}
.club-fixtures .fixture-afterword{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:30px 0;margin-top:35px;border-top:4px solid #d44635}
.club-fixtures .fixture-afterword h2{font:900 26px Arial;text-transform:uppercase}
.club-fixtures .fixture-afterword p{font-size:14px;color:var(--muted);margin:0}
.club-playbook .club-saved-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.85fr);gap:30px;align-items:center;padding:18px 0 40px;border-bottom:5px solid #172f65}
.club-playbook .club-saved-intro .page-intro{padding:22px 0 10px}
.club-playbook .club-saved-intro h1{text-transform:uppercase;font-style:italic}
.club-playbook .club-stamp{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.club-playbook .club-stamp span{display:inline-block;padding:9px 12px;border:2px solid #172f65;font:900 11px Arial;letter-spacing:.06em}
.club-playbook .club-locker{margin:0;position:relative;border:4px solid #172f65;box-shadow:8px 8px #d44635}
.club-playbook .club-locker img{width:100%;height:290px;object-fit:cover}
.club-playbook .club-locker figcaption{background:#172f65;color:#fff;padding:11px 13px;font:800 12px Arial}
.club-playbook .club-saved-bench{display:grid;grid-template-columns:285px minmax(0,1fr);gap:34px;margin-top:38px;align-items:start}
.club-playbook .bench-card{background:#e7ebf1;border:2px solid #172f65;padding:27px 23px;box-shadow:6px 6px #c5cbdb}
.club-playbook .bench-card h2{font-size:26px;text-transform:uppercase}
.club-playbook .bench-card p,.club-playbook .bench-card li{font-size:13px;color:var(--muted)}
.club-playbook .bench-card ul{padding-left:19px;margin:20px 0}
.club-playbook .bench-card li{margin-bottom:12px}
.club-playbook .bench-entries{min-width:0}
.club-playbook .bench-entries>h2{border-bottom:3px solid #172f65;padding-bottom:15px;text-transform:uppercase}
.club-playbook .catalog-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.club-playbook .game-card{border:1px solid #b5becd;background:#fffef9;border-left:5px solid #172f65}
.club-playbook .game-card .fixture-card{display:grid;grid-template-columns:180px minmax(0,1fr)}
.club-playbook .game-card .fixture-poster .cover-link{display:block}
.club-playbook .game-card .fixture-poster img{width:100%;height:100%;min-height:175px;object-fit:cover;aspect-ratio:auto}
.club-playbook .game-card .fixture-score{display:flex;flex-direction:column}
.club-playbook .game-card .fixture-number{font:900 11px Arial;background:#e9ecf2;padding:8px 16px}
.club-playbook .game-card .card-body{padding:17px;flex:1}
.club-playbook .game-card .card-actions{margin-top:auto}
@media(max-width:1160px){.club-fixtures .catalog-grid{grid-template-columns:1fr}.club-playbook .club-saved-bench{grid-template-columns:240px minmax(0,1fr)}}
@media(max-width:840px){.club-fixtures .club-roster-head,.club-playbook .club-saved-head{grid-template-columns:1fr}.club-fixtures .matchday-tally{max-width:480px}.club-playbook .club-saved-bench{grid-template-columns:1fr}.club-playbook .bench-card{max-width:660px}}
@media(min-width:651px) and (max-width:840px){.club-fixtures .club-search-desk{min-width:0}.club-fixtures .filter-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.club-fixtures .filter-fields>div:first-child{grid-column:1/-1}.club-fixtures .filter-fields input,.club-fixtures .filter-fields select{width:100%;min-width:0}.club-fixtures .filters{display:flex;flex-wrap:wrap;gap:8px}.club-fixtures .filter-button{flex:0 1 auto;min-width:0}}
@media(max-width:650px){.club-fixtures .club-search-desk{padding:20px}.club-fixtures .search-desk-heading{display:block}.club-fixtures .filter-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.club-fixtures .filter-fields>div:first-child{grid-column:1/-1}.club-fixtures .game-card .fixture-card,.club-playbook .game-card .fixture-card{grid-template-columns:1fr}.club-fixtures .game-card .fixture-poster img,.club-playbook .game-card .fixture-poster img{height:auto;min-height:0;aspect-ratio:16/9}.club-fixtures .fixture-afterword{display:block}.club-fixtures .fixture-afterword .button{margin-top:19px}}
