/* Homepage composition, independent of legacy page styles. */
html:has(.landing)[data-theme="green"]{background:linear-gradient(180deg,#f6f9f0 0%,#eaf3df 48%,#d9eacb 100%) fixed}
body:has(.landing) #app{max-width:none;padding:0;display:block;min-height:0}
.landing{width:100%;text-align:center;padding:0 0 56px}
.landing-heading{padding:46px 24px 30px}
.landing-kicker{font-size:12px;letter-spacing:.25em;color:var(--muted)}
.landing-heading h1{font-size:clamp(38px,4.4vw,62px);font-weight:400;letter-spacing:.055em;line-height:1.3;margin:21px 0 0}
.landing-landscape{display:none}
[data-theme="green"] .landing-landscape{display:block;width:100%;height:clamp(110px,12vw,172px);overflow:hidden}
.landing-landscape svg{display:block;width:100%;height:100%}
.landing-message{padding:35px 20px 0}
.landing-message p{font-size:16px;color:var(--muted);line-height:1.7;margin:0 0 14px}
.landing-message h2{font-size:28px;font-weight:400;line-height:1.6;margin:0;letter-spacing:.035em}
.landing-links{display:flex;flex-direction:column;align-items:center;gap:14px;margin:52px 20px 0}
.landing-links a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 5px;font-size:20px;line-height:1.5;text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:1px}
.landing-links a+a{font-size:17px;color:var(--muted)}
.landing-links a:hover{color:var(--accent);text-decoration-thickness:2px}
body:has(.landing) footer{border:0;min-height:70px;padding-top:16px;padding-bottom:20px;font-size:12px}
@media(max-width:650px){
 .landing{padding-bottom:38px}
 .landing-heading{padding:38px 20px 26px}
 .landing-kicker{font-size:11px}
 .landing-heading h1{font-size:38px;margin-top:18px}
 [data-theme="green"] .landing-landscape{height:110px}
 .landing-message{padding-top:30px}
 .landing-message p{font-size:15px;margin-bottom:12px}
 .landing-message h2{font-size:25px}
 .landing-links{margin-top:46px;gap:12px}
 .landing-links a{font-size:18px}
 .landing-links a+a{font-size:16px}
}
@media(max-height:700px) and (max-width:650px){
 .landing-heading{padding-top:25px;padding-bottom:22px}
 [data-theme="green"] .landing-landscape{height:90px}
 .landing-message{padding-top:24px}
 .landing-links{margin-top:30px}
}

@media(max-width:650px){
 .landing-links{margin-top:78px}
 [data-theme="green"] .week-matrix th:first-child{background:#d2e5c4}
}
@media(max-height:700px) and (max-width:650px){
 .landing-links{margin-top:54px}
}

/* Sea-blue edition, using the supplied poster photograph. */
.coast-landscape{display:none}
[data-theme="green"] .mini-photo,[data-theme="green"] .hero-photo,
[data-theme="blue"] .mini-photo,[data-theme="blue"] .hero-photo{display:none}
html[data-theme="blue"]{--bg:#bbd6e9;--ink:#397c29;--muted:#537e4c;--line:#95b6bc;--paper:#c9deeb;--accent:#285d20;background:linear-gradient(180deg,#accfe9,#c9dfe9 65%,#b5d1e6) fixed}
[data-theme="blue"] .coast-landscape{display:block;width:calc(100% - 44px);max-width:900px;height:260px;margin:0 auto;overflow:hidden}
.coast-landscape svg{display:block;width:100%;height:100%}
[data-theme="blue"] .author-works h2{background:#a8cbd7;color:var(--ink)}
[data-theme="blue"] tbody tr:nth-child(odd){background:#397c2905}
[data-theme="blue"] .empty-mark{color:#799799}
@media(max-width:650px){
 [data-theme="blue"] .coast-landscape{height:190px}
 [data-theme="blue"] .week-matrix th:first-child{background:#b3d1df}
}
@media(max-height:700px) and (max-width:650px){[data-theme="blue"] .coast-landscape{height:150px}}
.crumb + .season-nav{margin-top:25px}
.type-palette{position:relative;font-size:13px}
.type-palette summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.palette-options{position:absolute;bottom:32px;left:0;width:230px;padding:18px;background:var(--bg);border:1px solid var(--line);border-radius:8px;box-shadow:0 5px 22px #0002;z-index:5}
.palette-options label{display:flex;align-items:center;justify-content:space-between;gap:12px}
.palette-options input{width:48px;height:34px;border:0;background:none;cursor:pointer}
.color-swatches{display:flex;gap:8px;margin:16px 0}
.color-swatches button{width:25px;height:25px;border:1px solid #fff8;border-radius:50%;cursor:pointer}
#reset-text-color{border:0;background:none;color:var(--ink);padding:4px 0;text-decoration:underline;cursor:pointer}
[data-theme="green"] .author-works h2{color:var(--ink)}
.season-nav{gap:24px;overflow-x:auto}.season-nav a{white-space:nowrap;flex-shrink:0}
.card-builder{display:grid;grid-template-columns:1fr 1fr;gap:36px;padding-bottom:45px}.card-controls>label{display:block;margin-bottom:20px;font-size:16px}.card-controls select,.card-controls input[type=text],#card-title{display:block;width:100%;margin-top:9px;padding:12px;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--ink);font:inherit}.selection-heading{display:flex;justify-content:space-between;align-items:center;margin:28px 0 10px}.card-builder button{cursor:pointer;color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:4px;padding:8px 12px}.card-builder button:disabled{opacity:.4;cursor:default}.card-choice{border-top:1px solid var(--line);padding:14px 0}.card-choice label{display:flex;gap:10px;line-height:1.6;align-items:flex-start}.card-choice input{margin-top:7px;accent-color:var(--ink);width:18px;height:18px;flex-shrink:0}.card-choice small{display:block;color:var(--muted)}.card-choice>div{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.card-choice button{font-size:12px}.share-card{background:var(--card-bg);color:var(--card-ink);padding:28px 24px}.card-brand{font-size:13px;letter-spacing:.1em}.share-card h2{font-size:30px;font-weight:400;overflow-wrap:anywhere;margin:20px 0}.card-sea{height:145px;overflow:hidden}.card-sea svg{width:100%;height:100%;display:block}.share-card h3{font-size:22px;font-weight:400;line-height:1.5;margin:26px 0 20px;overflow-wrap:anywhere}.share-card ol{padding-left:25px}.share-card li{padding:8px 0 10px 5px;line-height:1.7;font-size:17px;overflow-wrap:anywhere}.share-card li a{text-decoration:underline;text-underline-offset:4px}.card-signoff{font-size:12px;border-top:1px solid #397c2933;padding-top:20px;margin-top:25px;display:flex;justify-content:space-between;gap:10px}.card-actions{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}.card-note,#card-feedback{font-size:13px;color:var(--muted);line-height:1.7;overflow-wrap:anywhere}#card-export img{display:block;width:100%;margin-top:18px}.card-download{display:inline-block;text-decoration:underline;padding:14px 0}.shared-page{max-width:600px;margin:30px auto 60px}@media(max-width:650px){.season-nav{gap:18px}.season-nav a{font-size:15px}.card-builder{grid-template-columns:1fr;gap:25px}.card-preview{min-width:0}.card-actions button{min-height:44px}.share-card{padding:25px 20px}}
.qr-editor{position:relative;margin:16px 0}.qr-editor .qr-base{width:100%;display:block;margin:0!important}.qr-editor .qr-move{position:absolute;margin:0!important;cursor:move;touch-action:none;user-select:none;outline:1px dashed #486c8980}.qr-size{display:flex;align-items:center;gap:12px;margin-top:20px;font-size:14px}.qr-size input{flex:1;min-width:0}
#card-preview-content .share-card{position:relative;min-height:0;aspect-ratio:3/4}
#card-preview-content .share-card.has-qr{padding-bottom:135px}
.preview-qr{position:absolute;display:block;touch-action:none;cursor:move;user-select:none;outline:none!important;border:0;background:transparent}
#qr-tuning{margin:16px 0;color:var(--muted);font-size:13px}#qr-tuning summary{cursor:pointer}#qr-tuning label{display:flex;gap:15px;align-items:center;margin:15px 0}#qr-tuning input{flex:1}#qr-tuning span{display:block;margin-top:8px}
#card-preview-content{container-type:inline-size}
#card-preview-content .share-card{aspect-ratio:auto;min-height:133.333cqw;height:auto}
.preview-qr{image-rendering:pixelated}
.share-card .card-signoff{margin-top:38px;padding-top:0;height:1px}
.share-card li a{text-underline-offset:7px}
.qr-caption{position:absolute;transform:translateY(-100%);padding-bottom:8px;text-align:center;font-size:10px;line-height:1.4;color:#7d858b;white-space:nowrap;pointer-events:none}
.about-intro{max-width:690px;margin:48px auto 30px;padding:0 28px}.about-intro h1{font-size:30px;font-weight:400;line-height:1.6;margin:18px 0 0}.about-intro+.club-values{padding-top:10px}@media(max-width:650px){.about-intro{margin:32px auto 20px;padding:0 20px}.about-intro h1{font-size:25px}}
.coast-landscape img,.card-sea img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
