.tournament-journal{--journal-ink:#173b53;--journal-green:#286047;color:var(--journal-ink)}
.journal-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:2rem;border-radius:16px;background:#eaf1ed;border:1px solid #c9d9ce}
.journal-heading h2{font-size:clamp(1.7rem,4vw,2.6rem);margin:.25rem 0}.journal-heading p{margin:.3rem 0}.journal-heading img{object-fit:contain;flex-shrink:0}.journal-heading .eyebrow{color:#286047}
.journal-shortcuts{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.2rem 0 2rem}.journal-shortcuts a{padding:.6rem .85rem;border:1px solid #c9d5dc;border-radius:30px;text-decoration:none;font-size:.85rem;font-weight:700;background:#fff;color:#173b53}
.journal-section{margin:2rem 0;scroll-margin-top:1rem}.journal-section-title{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:1rem}.journal-section-title h2{margin:.2rem 0}.journal-section-title .eyebrow{font-size:.73rem;color:#526a72;letter-spacing:.07em;text-transform:uppercase;margin:0}.journal-section-title>span{font-size:.8rem;white-space:nowrap;color:#526a72}
.journal-match-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1rem}.journal-match{border:1px solid #c9d5dc;border-radius:12px;background:white;padding:1.15rem;overflow-wrap:anywhere}.journal-match-heading{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1rem;font-size:.8rem;color:#526a72}.journal-match-heading time{font-size:1rem;font-weight:800;color:#173b53}.journal-player{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.2rem .6rem;margin:.7rem 0}.journal-player strong{font-size:.95rem}.journal-player span{font-size:.85rem}.journal-player small{grid-column:1/-1;color:#526a72;font-size:.75rem}.journal-winner strong{color:#286047}.journal-score{font-size:.9rem;font-weight:800;margin:1rem 0 0;padding-top:.8rem;border-top:1px solid #e4e9ec}
.journal-empty{background:#f3f6f7;border:1px dashed #c9d5dc;padding:1.2rem;border-radius:10px;color:#526a72;font-size:.9rem}.journal-photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem}.journal-photos figure{margin:0;border:1px solid #c9d5dc;background:#fff;border-radius:12px;overflow:hidden}.journal-photos a{display:block;background:#edf1f2}.journal-photos img{display:block;width:100%;height:240px;object-fit:contain}.journal-photos figcaption{display:grid;gap:.4rem;padding:1rem;font-size:.85rem;overflow-wrap:anywhere}.journal-photos figcaption span{font-size:.75rem;color:#526a72}
.journal-calendar-toolbar{display:flex;align-items:center;gap:.6rem;margin:1rem 0;flex-wrap:wrap}.journal-calendar-toolbar h3{margin:0 auto 0 .5rem;text-transform:capitalize}.journal-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid #d4dfe3;border-radius:12px;overflow:hidden;background:#d4dfe3;gap:1px}.journal-calendar-weekday{text-align:center;padding:.6rem .1rem;font-size:.8rem;background:#edf2f4}.journal-calendar-day,.journal-calendar-blank{min-height:80px;background:#fff;padding:.5rem;min-width:0}.journal-calendar-blank{background:#f5f7f8}.journal-calendar-day>span{font-size:.8rem;font-weight:700}.journal-calendar-day.is-today{box-shadow:inset 0 0 0 2px #286047}.journal-calendar-day.has-events{background:#eaf4ec}.journal-calendar-day a{display:block;font-size:.73rem;line-height:1.3;color:#1c523a;font-weight:700;margin-top:.4rem;overflow-wrap:anywhere;text-decoration:none}.journal-event-list{display:grid;gap:.8rem;margin:1.2rem 0}.journal-event{display:flex;gap:1rem;scroll-margin-top:1rem;background:white;border:1px solid #d4dfe3;border-radius:12px;padding:1.2rem}.journal-event-date{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:60px;align-self:flex-start;border-radius:8px;background:#eaf4ec;padding:.6rem;color:#286047}.journal-event-date strong{font-size:1.6rem}.journal-event-date span{text-transform:uppercase;font-size:.73rem}.journal-event h3{margin:0 0 .5rem}.journal-event p{font-size:.85rem;margin:.4rem 0}.journal-event-description{white-space:pre-wrap;overflow-wrap:anywhere}.journal-event-location{font-weight:700}.journal-update{padding:.7rem 0;font-size:.8rem;color:#526a72}.journal-publication{margin-bottom:1rem}.journal-event-choices{display:grid;gap:.7rem;max-height:300px;overflow:auto;margin:1rem 0}.journal-publication summary{cursor:pointer;font-weight:700}.journal-public-page{background:#f5f7f8;margin:0}.journal-public-shell{max-width:1200px;margin:0 auto;padding:1.5rem}.journal-public-header{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin:0 0 1rem}.journal-public-header h1{font-size:1.1rem;margin:0}.journal-public-header a{color:#173b53;font-size:.8rem}.journal-public-footer{font-size:.8rem;color:#526a72;text-align:center;padding:1.5rem}
@media(max-width:600px){.journal-heading{padding:1.2rem}.journal-heading img{width:65px;height:65px}.journal-heading .eyebrow{font-size:.75rem}.journal-shortcuts{gap:.4rem}.journal-shortcuts a{font-size:.75rem;padding:.5rem .7rem}.journal-section-title{align-items:flex-start}.journal-section-title h2{font-size:1.3rem}.journal-calendar-day,.journal-calendar-blank{min-height:60px;padding:.3rem}.journal-calendar-day a{font-size:.62rem}.journal-event{padding:.9rem;gap:.7rem}.journal-event-date{min-width:48px}.journal-public-shell{padding:1rem}.journal-photos img{height:220px}}

.journal-event-information{flex:1;min-width:0;overflow-wrap:anywhere}.journal-event-poster{margin:0;flex:0 0 220px;align-self:flex-start;max-width:100%}.journal-event-poster a{display:block;text-align:center;font-size:.8rem;color:#173b53}.journal-event-poster img{display:block;width:100%;height:auto;max-height:360px;object-fit:contain;background:#f3f6f7;border:1px solid #d4dfe3;border-radius:8px;margin-bottom:.5rem}.journal-shortcuts a{min-height:44px;display:flex;align-items:center}.journal-calendar-day a:focus-visible{outline:2px solid #173b53;outline-offset:2px}.journal-event{align-items:flex-start}
@media(max-width:700px){.journal-event{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.8rem}.journal-event-information{min-width:0}.journal-event-poster{grid-column:1/-1;width:100%;max-width:420px;justify-self:center}.journal-event-poster img{max-height:480px}.journal-event p{font-size:.95rem;line-height:1.55}.journal-event h3{font-size:1.1rem}.journal-calendar-day a{font-size:0;min-height:12px}.journal-calendar-day a::after{content:'●';font-size:.7rem}.journal-calendar-day{min-height:50px}.journal-calendar-day.has-events{position:relative}.journal-calendar-day a{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;padding-bottom:5px}.journal-calendar-day a~a{display:none}.journal-shortcuts a{font-size:.85rem}.journal-public-header{align-items:flex-start}.journal-public-header h1{font-size:1rem}.journal-heading{align-items:flex-start}}

.journal-generated-poster{width:100%;max-width:min(960px,96svh);margin:0 auto}.journal-generated-poster>a{display:block;border:1px solid #c9d5dc;border-radius:12px;overflow:hidden;background:white}.journal-generated-poster img{display:block;width:100%;height:auto;object-fit:contain}.journal-generated-poster figcaption{display:flex;align-items:center;justify-content:center;text-align:center;gap:.8rem;flex-wrap:wrap;margin-top:.75rem}.journal-generated-poster .btn{min-height:44px}@media(max-width:600px){.journal-generated-poster figcaption{align-items:center;flex-direction:column;gap:.5rem}.journal-generated-poster figcaption span{font-size:.8rem}}

.journal-slideshow{width:100%;max-width:860px;margin:0 auto;border:1px solid #c9d5dc;border-radius:12px;overflow:hidden;background:#fff}.journal-slide-frame{position:relative;aspect-ratio:16/10;max-height:580px;background:#fff;touch-action:pan-y}.journal-slide-link{display:block;position:absolute;inset:0}.journal-slide-link[hidden],.journal-slide-arrow[hidden],.journal-slide-toolbar button[hidden]{display:none}.journal-slide-link img{display:block;width:100%;height:100%;object-fit:contain}.journal-slide-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:1;display:flex;justify-content:center;align-items:center;width:46px;height:52px;border:1px solid #ffffff80;border-radius:9px;background:#082d47c7;color:#fff;font-size:1.4rem;cursor:pointer}.journal-slide-arrow.previous{left:10px}.journal-slide-arrow.next{right:10px}.journal-slideshow figcaption{padding:1rem}.journal-slideshow [data-slide-caption]{display:grid;gap:.35rem;overflow-wrap:anywhere}.journal-slideshow [data-slide-caption] span{font-size:.85rem;color:#526a72}.journal-slide-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-top:.8rem}.journal-slide-toolbar span{font-size:.85rem;color:#526a72}.journal-slide-toolbar .btn{min-height:44px}@media(max-width:600px){.journal-slide-frame{aspect-ratio:4/3}.journal-slide-arrow{width:44px;height:48px}.journal-slide-arrow.previous{left:5px}.journal-slide-arrow.next{right:5px}.journal-slide-toolbar{flex-wrap:wrap}}

.journal-sponsor-grid,.sponsor-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:1rem}.journal-sponsor{background:#fff;border:1px solid #c9d5dc;border-radius:12px;overflow:hidden;min-width:0;overflow-wrap:anywhere}.journal-sponsor>a,.journal-sponsor>div{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:180px;padding:1.4rem;text-align:center;text-decoration:none;color:#173b53}.journal-sponsor img{width:100%;height:100px;object-fit:contain}.journal-sponsor span{font-size:.8rem;color:#526a72}.sponsor-admin-card{display:flex;flex-direction:column;align-items:flex-start;gap:.8rem}.sponsor-admin-card img{width:100%;height:110px;object-fit:contain}.sponsor-form-logo{width:100%;height:120px;object-fit:contain}@media(max-width:600px){.journal-sponsor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.journal-sponsor>a,.journal-sponsor>div{padding:.8rem;min-height:150px;gap:.7rem}.journal-sponsor img{height:80px}.journal-sponsor strong{font-size:.9rem}.sponsor-admin-grid{grid-template-columns:1fr}}

.journal-event-details-toggle{margin-top:.6rem;min-height:44px}.journal-event-expanded{margin-top:1rem}.journal-event-expanded[hidden]{display:none}.journal-event-information .journal-event-poster{width:100%;max-width:420px;margin:1rem auto 0}.journal-event-expanded .journal-event-description{margin-bottom:1rem}

.journal-preview-banner{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;border:1px dashed #90a7b4;border-radius:12px;background:#fff;margin:1rem 0}.journal-preview-banner strong{font-size:.95rem}.journal-preview-banner p{font-size:.8rem;color:#526a72;margin:.35rem 0 0}.journal-preview-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.journal-preview-actions .btn{min-height:44px}@media(max-width:700px){.journal-preview-banner{flex-direction:column;align-items:flex-start}.journal-preview-actions{width:100%}}

.journal-moja-programme,.journal-moja-results{background:#eef4f7;border:1px solid #d4dfe3;border-radius:12px;padding:1rem}.journal-moja-programme{display:grid;gap:1.2rem}.journal-moja-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:.9rem}.journal-moja-time{background:#082d47;color:#fff;font-size:1.1rem;letter-spacing:.02em;line-height:1.3;margin:0 0 .8rem;padding:.55rem 1rem;border-radius:5px}.journal-moja-match{position:relative;min-width:0;border:1px solid #b7c6cf;border-left:5px solid #4798b8;background:#fff;padding:1rem 1.2rem;display:flex;flex-direction:column;gap:.75rem;overflow-wrap:anywhere}.journal-moja-match.has-score{padding-top:.75rem}.journal-moja-player{display:grid;gap:.15rem}.journal-moja-player strong{font-size:1.05rem;font-weight:800;color:#082d47;line-height:1.35}.journal-moja-club{font-size:.85rem;line-height:1.35;color:#6b7880;text-transform:uppercase}.journal-moja-player.is-winner strong{color:#b65518}.journal-moja-player.is-winner strong span{font-size:1rem}.journal-moja-score{align-self:flex-end;max-width:100%;margin-right:-.5rem;padding:.15rem .55rem;background:#b65518;color:#fff;font-size:1rem;font-weight:800;line-height:1.4;overflow-wrap:anywhere}@media(max-width:700px){.journal-moja-programme,.journal-moja-results{padding:.65rem}.journal-moja-grid{grid-template-columns:minmax(0,1fr);gap:.7rem}.journal-moja-time{font-size:1rem;padding:.5rem .75rem}.journal-moja-match{padding:.85rem .9rem;gap:.65rem}.journal-moja-player strong{font-size:1rem}.journal-moja-club{font-size:.8rem}}
/* Future homepage: full-width club identity and responsive information panels. */
.journal-public-page{min-height:100svh;background:var(--page,#f2f7fa)}
.journal-home-brand{background:var(--court-outside);display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.5rem clamp(1rem,4vw,4rem);color:var(--on-outside)}
.journal-home-brand .auth-logo{width:280px;flex:0 1 280px;text-align:center}
.journal-home-brand .brand-plate{width:100%;padding:0 12px}
.journal-home-brand .brand-plate img{height:auto}
.journal-home-brand .club-house-name{font-size:34px}
.journal-home-brand .club-house-brand{padding-bottom:14px}
.journal-home-brand .court-lines{width:220px;max-width:24vw;margin:0;opacity:.85}
.journal-home-brand>p{font-weight:650;font-size:clamp(1.1rem,2vw,1.8rem);margin:0;max-width:360px;line-height:1.35}
.journal-public-shell{width:100%;max-width:none;padding:clamp(1rem,3vw,3rem) clamp(1rem,4vw,4rem);min-width:0}
.journal-public-header{margin:0 0 1rem;align-items:center}
.journal-public-header h1{font-size:clamp(1.6rem,2.5vw,2.4rem);margin:0}
.journal-public-header .eyebrow{margin:0 0 .4rem;font-size:.75rem}
.journal-public-header .btn{font-size:.95rem;min-height:44px;text-decoration:none;flex-shrink:0;color:#fff}
.journal-public-page .journal-heading{display:none}
.journal-public-page .journal-shortcuts{margin:.5rem 0 1.5rem;grid-column:1/-1}
.journal-public-page .journal-section{margin:0;padding:clamp(1rem,2vw,1.5rem);border:1px solid #d4dfe3;border-radius:16px;background:#fff;min-width:0}
.journal-public-page .journal-section-title{flex-wrap:wrap;gap:.5rem}
.journal-public-page .journal-section-title h2{font-size:clamp(1.2rem,1.5vw,1.65rem)}
.journal-public-page .journal-event-list{margin:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}
.journal-public-page .journal-event{background:#f7fafb}
.journal-public-page .tournament-journal>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem}
.journal-public-page #journal-sponsors{grid-column:1/-1}
.journal-public-page .journal-moja-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.journal-public-page .journal-shortcuts{margin:0}
.journal-public-page .journal-update{margin:0 0 1rem}
.journal-public-page .journal-preview-banner{margin:0 0 1.25rem}
.journal-public-page .journal-empty{margin:0}
@media(min-width:1800px){.journal-public-page .journal-moja-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1100px){.journal-public-page .tournament-journal>div{grid-template-columns:minmax(0,1fr)}.journal-public-page .journal-moja-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}}
@media(max-width:700px){.journal-home-brand{padding:1.2rem 1rem;gap:1rem;justify-content:center}.journal-home-brand .auth-logo{width:210px;flex:0 1 210px}.journal-home-brand .club-house-name{font-size:30px}.journal-home-brand .court-lines,.journal-home-brand>p{display:none}.journal-public-header .eyebrow{font-size:.65rem}.journal-public-header .btn{padding:.65rem .85rem}.journal-public-page .tournament-journal>div{gap:1rem}.journal-public-page .journal-moja-grid{grid-template-columns:minmax(0,1fr)}.journal-public-page .journal-shortcuts{gap:.4rem}.journal-public-page .journal-shortcuts a{font-size:.78rem}.journal-public-page .journal-section-title>span{white-space:normal}.journal-public-page .journal-moja-programme,.journal-public-page .journal-moja-results{padding:.65rem}}

.journal-public-page .journal-section{box-shadow:0 3px 16px #173b5306}
.journal-public-page .journal-section-title>span{padding:.25rem .6rem;border-radius:20px;background:#edf4f8;color:#245f80;font-weight:650}
.journal-public-page .journal-shortcuts a:hover{border-color:#245f80;background:#eaf2f7}
.journal-public-page .journal-event-date{background:#e4f0f7;color:#245f80}
.journal-public-page .journal-update{margin:1rem 0 0;text-align:right;font-size:.75rem}
.journal-public-page .journal-home-brand{border-bottom:3px solid #e2ee87}


.journal-home-brand{position:relative;padding-top:4.5rem}
.journal-home-login{position:absolute;left:1rem;top:1rem;min-height:44px;text-decoration:none}
.journal-home-event{flex:1;min-width:0;max-width:850px;text-align:center;font-size:clamp(1.5rem,2.5vw,3rem);font-weight:800;line-height:1.2;letter-spacing:-.025em;overflow-wrap:anywhere}
.journal-public-page .journal-preview-banner{margin:1.5rem 0 0}
@media(max-width:900px){.journal-home-brand{flex-wrap:wrap}.journal-home-brand>p{display:none}.journal-home-event{max-width:none}}
@media(max-width:700px){.journal-home-brand{padding-top:4.5rem;flex-direction:column;gap:1rem}.journal-home-brand .auth-logo{flex:0 1 auto}.journal-home-event{width:100%;font-size:clamp(1.3rem,5vw,1.8rem)}}

/* Fit sponsor artwork to its frame without stretching it. */
.journal-sponsor>a,.journal-sponsor>div{padding:.6rem;gap:.6rem}
.journal-sponsor img{height:140px;object-fit:contain}
.sponsor-admin-card img,.sponsor-form-logo{height:160px;object-fit:contain}
@media(max-width:600px){.journal-sponsor>a,.journal-sponsor>div{padding:.4rem}.journal-sponsor img{height:110px}}
