
:root{--sage:#8fa98a;--sage-d:#5d7a5a;--sage-l:#eef3ec;--blue:#2f6f8f;--blue-d:#1f4e66;--blue-l:#e6f0f5;--ink:#22302a;--mut:#5f6e66}
*{box-sizing:border-box}body{margin:0;font-family:"Segoe UI",Helvetica,Arial,sans-serif;color:var(--ink);background:#f7f9f6;line-height:1.55}
header{background:linear-gradient(135deg,var(--blue-d),var(--blue) 55%,var(--sage-d));color:#fff;padding:14px 28px}
header .brand{font-weight:700;letter-spacing:.5px;display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px}header .brand .logo{display:inline-flex}header .brand img{height:36px;width:auto;display:block}header .brand small{font-weight:400;opacity:.8;margin-left:8px}@media(max-width:560px){header .brand small{display:none}header{padding-left:18px;padding-right:18px}}
.crumbs{font-size:13px;opacity:.85;margin-top:4px}.crumbs a{color:#fff}
.hero{background:var(--blue-l);border-bottom:4px solid var(--sage);padding:26px 28px}
.hero h1{margin:0 0 4px;color:var(--blue-d);font-size:32px}.hero p{margin:0;color:var(--mut)}
.wrap{max-width:1080px;margin:0 auto;padding:22px 28px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin:18px 0}
.stat{background:#fff;border:1px solid #dbe5d8;border-radius:10px;padding:12px 14px}
.stat b{display:block;font-size:22px;color:var(--blue-d)}.stat span{font-size:12px;color:var(--mut);text-transform:uppercase;letter-spacing:.4px}
section{background:#fff;border:1px solid #dbe5d8;border-radius:12px;padding:18px 22px;margin:16px 0}
h2{margin:0 0 10px;color:var(--sage-d);font-size:21px;border-left:5px solid var(--blue);padding-left:10px}
table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:7px 9px;border-bottom:1px solid #e5ece3;vertical-align:top}
th{background:var(--sage-l);color:var(--sage-d);font-weight:600}
.chips span{display:inline-block;background:var(--sage-l);border:1px solid #cddbc9;border-radius:16px;padding:4px 11px;margin:3px 4px 3px 0;font-size:14px}
.chips span.stk{background:var(--blue-l);border-color:#bcd5e2}
.seasons{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.season{border-radius:10px;padding:12px 14px;font-size:14px;background:var(--sage-l)}
.season h3{margin:0 0 6px;font-size:16px;color:var(--blue-d)}.season ul{margin:0;padding-left:18px}
.season.w{background:#e9f1f6}.season.sp{background:#eef5ea}.season.su{background:#f1f6ee}.season.f{background:#f3f2ea}
.aff{border:2px dashed #c9a227;background:#fffbea;border-radius:12px;padding:14px 18px}
.aff h2{border-left-color:#c9a227;color:#7a6110}.aff .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.aff a{display:block;background:#fff;border:1px solid #e8d78a;border-radius:8px;padding:10px;text-decoration:none;color:var(--ink);font-size:14px}
.aff a b{display:block;color:var(--blue-d)}.tag{font-size:11px;background:#c9a227;color:#fff;border-radius:4px;padding:1px 6px;margin-left:6px}
.note{font-size:12.5px;color:var(--mut)}.src{font-size:12.5px;color:var(--mut);margin-top:8px}.src a{color:var(--blue)}
.two{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}@media(max-width:760px){.two{grid-template-columns:minmax(0,1fr)}table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.seasons,.aff .grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.seasons{grid-template-columns:minmax(0,1fr)}}
footer{color:var(--mut);font-size:12.5px;padding:10px 28px 30px;max-width:1080px;margin:0 auto}
.badge{display:inline-block;font-size:11.5px;border-radius:4px;padding:1px 6px;background:#f6e0de;color:#8a2f25}.badge.ok{background:#dcefdc;color:#2c6a2c}
/*VISUALCSS*/.mapgrid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(240px,1fr);gap:18px;align-items:start}.shore svg{width:100%;height:auto;display:block}
.locrow{display:grid;grid-template-columns:190px 1fr;gap:18px;align-items:start;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid #e5ece3}.loc svg{width:160px;height:auto;display:block}
.locwrap .note{margin:4px 0 0}.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fbox{background:var(--blue-l);border:1px solid #cfe0e9;border-radius:10px;padding:10px 14px}
.fbox h4{margin:0 0 6px;font-size:14px;color:var(--sage-d)}.fbox ul{margin:0;padding-left:16px;font-size:13px;line-height:1.45}.fbox li{margin:3px 0}
.fsrc{font-size:11px;color:var(--mut)}.fnote{font-size:11.5px;color:var(--mut);margin:6px 0 0}
.maph{margin:0 0 6px;font-size:15px;color:var(--blue-d)}.legend{background:var(--sage-l);border:1px solid #dbe5d8;border-radius:10px;padding:12px 14px}
.legcap{margin:0 0 8px;font-size:13.5px;font-weight:600;color:var(--blue-d)}.ktypes{display:flex;flex-wrap:wrap;gap:6px 12px;margin-bottom:8px;font-size:12.5px;color:var(--mut)}
.ktype i{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:5px;vertical-align:-1px}
.ptlist{margin:0;padding:0;list-style:none;font-size:13.5px}.ptlist li{display:flex;gap:9px;align-items:flex-start;padding:5px 0;border-top:1px solid #dde7da}
.mob{display:none}.pin{flex:0 0 22px;height:22px;border-radius:50%;color:#fff;font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center;border:2px solid #fff;box-shadow:0 0 0 1px #c9d6c5}
.mapbtn{background:#2f6f8f;color:#fff;border:0;border-radius:8px;padding:8px 14px;font-size:14px;cursor:pointer}
@media(max-width:860px){.fgrid{grid-template-columns:1fr}}@media(max-width:760px){.dsk{display:none}.mob{display:inline}.mapgrid{grid-template-columns:1fr}.locrow{grid-template-columns:1fr}}/*/VISUALCSS*/

/*EDGECSS*/.edge2{display:grid;grid-template-columns:2fr 1fr;gap:16px;align-items:start}.edgeh{margin:14px 0 6px;font-size:15px;color:var(--blue-d)}
.edgel{margin:6px 0;padding-left:20px;font-size:14px;line-height:1.5}.edgel li{margin:3px 0}
.cdd{background:var(--sage-l);border-left:4px solid var(--sage-d);border-radius:8px;padding:10px 14px;font-size:13.5px;margin:10px 0}
.ogrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.oc{display:block;border:1px solid #dfe8dc;border-radius:10px;padding:10px 12px;text-decoration:none;color:var(--ink);font-size:13.5px;background:#fff}
.oc b{display:block;color:var(--blue-d)}.ot{display:inline-block;font-size:11px;background:var(--blue-l);color:var(--blue-d);border-radius:4px;padding:1px 6px;margin:3px 0 4px}
@media(max-width:760px){.edge2{grid-template-columns:1fr}}/*/EDGECSS*/

/*lr-st*/
.lr-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.lr-st{position:relative;flex:none;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif}
.lr-st-btn{display:flex;align-items:center;gap:6px;background:none;border:0;color:#fff;font:inherit;font-size:14px;line-height:1.2;padding:8px 2px;cursor:pointer;letter-spacing:0;border-radius:6px;max-width:58vw}
.lr-st-btn:focus-visible{outline:2px solid #cfe3c9;outline-offset:3px}
.lr-st-pre{opacity:.75;font-weight:400}
.lr-st-name{font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:underline wavy rgba(207,227,201,.75);text-decoration-thickness:1.5px;text-underline-offset:5px;padding-bottom:3px}
.lr-st-btn:hover .lr-st-name{text-decoration-color:#cfe3c9}
.lr-st-chev{flex:none;transition:transform .15s}.lr-st-btn[aria-expanded="true"] .lr-st-chev{transform:rotate(180deg)}
.lr-st-pop{position:absolute;right:0;top:calc(100% + 8px);z-index:50;width:min(320px,calc(100vw - 24px));max-height:min(70vh,520px);overflow:auto;background:#fff;color:#22302a;border-radius:14px;box-shadow:0 14px 40px rgba(20,50,66,.28);padding:14px;font-weight:400;letter-spacing:0;-webkit-overflow-scrolling:touch}
.lr-st-pop[hidden]{display:none}
.lr-st-pop h3{margin:2px 2px 8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#5d7a5a}
.lr-st-pop ul{list-style:none;margin:0 0 12px;padding:0}
.lr-st-live a{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 10px;padding:11px 12px;border-radius:10px;background:#e6f0f5;color:#1f4e66;font-weight:650;text-decoration:none;font-size:15px}
.lr-st-live a:hover,.lr-st-live a:focus-visible{background:#d6e7ef;outline:2px solid #2f6f8f;outline-offset:0}
.lr-st-live a small{font-weight:500;color:#5d7a5a;font-size:12px}
.lr-st-live a[aria-current="true"]::after{content:"✓";color:#2f6f8f;margin-left:6px}
.lr-st-soon{display:grid;grid-template-columns:1fr 1fr;gap:2px 10px}
.lr-st-soon li{font-size:13px;color:#7a8780;padding:5px 2px;border-bottom:1px dotted #e1e8e3}
.lr-st-note{margin:0;font-size:12px;color:#5f6e66}
@media(max-width:400px){.lr-st-pre{display:none}.lr-st-btn{font-size:13.5px;max-width:46vw}}

/*lr-x*/
#sun-moon .lr-x-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:-2px 0 12px}
#sun-moon .lr-x-date{font-weight:650;color:var(--blue-d)}
.lr-x-nav{display:flex;gap:6px}
.lr-x-nav button{font:inherit;font-size:13px;border:1px solid #cbd8d1;background:#fff;color:var(--blue-d);border-radius:999px;padding:5px 11px;cursor:pointer}
.lr-x-nav button[aria-pressed="true"]{background:var(--blue-d);border-color:var(--blue-d);color:#fff}
.lr-x-nav button:focus-visible,.lr-share a:focus-visible,.lr-share button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.lr-x-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.lr-x-grid>*{min-width:0}
.lr-x-card{background:#fff;border:1px solid #dbe5d8;border-radius:12px;padding:14px}
.lr-x-card h3{margin:0 0 8px;font-size:15px;color:var(--blue-d)}
.lr-x-sun{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 14px}
.lr-x-sun div span{display:block;font-size:12px;color:var(--mut)}.lr-x-sun div b{font-size:17px;color:var(--ink)}
.lr-x-moon{display:flex;align-items:center;gap:14px;margin-top:12px;padding-top:12px;border-top:1px solid #e6ece4}
.lr-x-moon b{display:block;font-size:16px}.lr-x-moon span{font-size:13px;color:var(--mut)}
.lr-x-score{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:4px}
.lr-x-score strong{font-size:30px;color:var(--blue-d);line-height:1}.lr-x-score span{color:var(--mut);font-size:13px}
.lr-x-chart{width:100%;height:auto;display:block;margin:6px 0 4px}
.lr-x-key{display:flex;gap:14px;font-size:12px;color:var(--mut);flex-wrap:wrap}
.lr-x-key i{display:inline-block;width:12px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.lr-x-per{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:6px}
.lr-x-per li{display:flex;align-items:center;gap:10px;font-size:14px;padding:7px 10px;border-radius:9px;background:var(--sage-l)}
.lr-x-per li.major{background:var(--blue-l)}
.lr-x-per .tag{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:2px 8px;background:var(--sage-d);color:#fff;flex:none}
.lr-x-per li.major .tag{background:var(--blue-d)}
.lr-x-per .tx b{display:block;color:var(--blue-d);font-size:14.5px}.lr-x-per .tx small{display:block;color:var(--mut);font-size:12.5px}
.lr-x-fine{font-size:12.5px;color:var(--mut);margin:10px 0 0}
@media(min-width:760px){.lr-x-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr)}}
@media(max-width:480px){.lr-x-card{padding:12px}}
.lr-share{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px}
.lr-share .lbl{font-size:13px;font-weight:600;color:var(--blue-d);margin-right:2px}
.lr-share a,.lr-share button{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:13.5px;font-weight:600;text-decoration:none;color:var(--blue-d);background:#fff;border:1px solid #cbd8d1;border-radius:999px;padding:7px 12px;cursor:pointer;line-height:1}
.lr-share a:hover,.lr-share button:hover{border-color:var(--sage)}
.lr-share .native{background:var(--blue-d);border-color:var(--blue-d);color:#fff}
.lr-share svg{flex:none}
.lr-share .ok{font-size:13px;color:var(--sage-d);font-weight:600}


html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
section[id],.hero h1{scroll-margin-top:64px}
.lr-jump{position:sticky;top:0;z-index:40;background:rgba(247,249,246,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid #dbe5d8;box-shadow:0 2px 10px rgba(31,78,102,.06)}
.lr-jump ul{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;list-style:none;margin:0 auto;max-width:1080px;padding:10px 18px;
 -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14px,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,transparent 0,#000 14px,#000 calc(100% - 28px),transparent)}
.lr-jump ul::-webkit-scrollbar{display:none}
.lr-jump li{flex:none}
.lr-jump a{display:block;white-space:nowrap;font-size:14px;font-weight:600;line-height:1;padding:9px 14px;border-radius:999px;border:1px solid #cbd8d1;background:#fff;color:var(--blue-d,#1f4e66);text-decoration:none;transition:background .15s,color .15s,border-color .15s}
.lr-jump a:hover{border-color:var(--sage,#8fa98a)}
.lr-jump a[aria-current="true"]{background:var(--blue-d,#1f4e66);border-color:var(--blue-d,#1f4e66);color:#fff}
.lr-jump a:focus-visible,.lr-top:focus-visible{outline:2px solid var(--blue,#2f6f8f);outline-offset:2px}
@media(min-width:760px){.lr-jump ul{padding:10px 28px}}
.lr-top{position:fixed;right:16px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:45;display:flex;align-items:center;gap:6px;font:inherit;font-size:13.5px;font-weight:600;color:#fff;background:var(--blue-d,#1f4e66);border:0;border-radius:999px;padding:10px 14px;box-shadow:0 6px 18px rgba(31,78,102,.3);cursor:pointer;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .2s,transform .2s}
.lr-top.show{opacity:1;transform:none;pointer-events:auto}

.tscroll{overflow-x:auto}.tscroll table{min-width:640px}.nhlist{columns:2 260px;column-gap:28px;padding-left:18px}.nhlist li{break-inside:avoid;margin:2px 0}.cty{margin-top:22px}.twn{font-weight:700;color:var(--blue-d);margin:10px 0 2px}.tlist{list-style:none;padding:0;margin:0 0 6px}.tlist li{margin:1px 0}.tlist .note{font-size:12.5px}.toc a{display:inline-block;margin:0 10px 6px 0}
