@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap');
.text-link{color:var(--gold);text-decoration:underline;text-underline-offset:3px}.sync-label{display:block;color:var(--muted);font-size:.6875rem;margin-top:7px}.store-data .event-time{margin:5px 0 9px}.event-row .event-time{color:var(--mint)}.event-content{min-width:0;overflow-wrap:anywhere}.event-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 24px;border-bottom:1px solid var(--border)}.event-tools p{font-size:.75rem;color:var(--muted)}.event-tools select{min-width:0;max-width:200px;font-size:.75rem;padding:10px}.event-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 24px;font-size:.75rem;color:var(--muted)}.event-pager:empty{display:none}.event-pager .button{min-width:44px;padding:8px 12px}.schedule-note{padding:0 24px 20px;color:var(--muted);font-size:.6875rem}.store-events{margin:0 0 24px;border:1px solid var(--border);border-radius:8px}.store-events summary{padding:16px 20px;color:var(--gold);cursor:pointer;font-size:.875rem}.store-event-list{max-height:380px;overflow:auto}.store-event-list .event-row:last-child{border-bottom:0}.store-preview .event-time{color:var(--mint)}
:root{color-scheme:dark;--bg:#081b24;--panel:#102833;--panel-deep:#0c222c;--border:#25404a;--text:#f1eee5;--muted:#9db3b8;--gold:#dfc38a;--mint:#98d2bd;--font:'DM Sans',system-ui,sans-serif;--title:'Cormorant Garamond',Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:radial-gradient(ellipse at 80% 0%,#16313a 0,transparent 45%),var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.5}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--mint);outline-offset:4px}button{border:0}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.1}h1{font-family:var(--title);font-size:clamp(2rem,3.2vw,3.3rem);font-weight:600;letter-spacing:-.025em}h2{font:600 1.65rem var(--title)}h3{font:600 1.6rem var(--title)}.small{font-size:.875rem}.muted{color:var(--muted)}.eyebrow{font-size:.75rem;letter-spacing:.18em;font-weight:600;color:var(--gold);margin-bottom:.6rem}.skip{position:absolute;left:12px;top:-100px;background:var(--gold);color:#112630;padding:12px;z-index:100}.skip:focus{top:12px}.topbar{height:100px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 max(4vw,20px);gap:32px}.brand{display:flex;gap:12px;align-items:center}.brand-mark{font-size:4rem;line-height:1;color:var(--gold)}.brand strong{font:600 1.6rem var(--title);letter-spacing:.18em}.brand small{display:block;font-size:.625rem;letter-spacing:.27em;color:var(--muted);margin-top:2px}.topbar nav{display:flex;gap:32px;align-items:center}.topbar nav a,.nav-button{padding:12px 0;font-size:.875rem;color:var(--muted);background:none}.topbar nav .active,.topbar nav a:hover,.nav-button:hover{color:var(--gold)}.topbar nav .active{box-shadow:0 2px var(--gold)}.header-note{color:var(--muted);font-size:.75rem}main{max-width:1600px;margin:auto;padding:24px max(4vw,20px) 0}.preview-bar{background:#16373c;border:1px solid #2c5052;border-radius:6px;color:#c1ddd3;padding:8px 14px;font-size:.8125rem;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.preview-bar button{background:none;text-decoration:underline;color:var(--gold);font-size:inherit;margin-left:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:32px 0 26px}.season-control{display:flex;flex-direction:column;gap:6px;font-size:.625rem;letter-spacing:.12em;color:var(--muted)}select{min-width:230px;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:7px;padding:11px 34px 11px 14px;font-size:.875rem;letter-spacing:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);margin:0 0 24px;border:1px solid var(--border);border-radius:10px;background:var(--panel-deep);overflow:hidden}.stat{padding:18px 24px;display:flex;align-items:center;gap:18px}.stat+.stat{border-left:1px solid var(--border)}.stat-icon{color:var(--gold);font-size:1.8rem;min-width:35px;text-align:center}.stat strong{font:600 2.25rem var(--title);line-height:1;display:block}.stat span:last-child{font-size:.8125rem;color:var(--muted)}.map-section{display:grid;grid-template-columns:minmax(0,2.5fr) minmax(290px,1fr);gap:20px}.map-column{min-width:0}.map-toolbar{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:12px;flex-wrap:wrap}.segmented{display:flex;border:1px solid var(--border);border-radius:7px;background:#0c222b;padding:3px}.segmented button{background:none;color:var(--muted);padding:8px 14px;border-radius:4px;font-size:.8125rem}.segmented button[aria-pressed=true]{background:#29443f;color:#dfebdd}.search{display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:7px;padding:0 12px;background:#0c222b;flex:1;max-width:260px;min-width:175px}.search>span{font-size:1.6rem;color:var(--muted)}.search input{background:none;border:0;padding:10px 0;color:var(--text);width:100%;min-width:0;font-size:.8125rem}.search input::placeholder{color:var(--muted)}.map-viewport{height:520px;border:1px solid #68765f;border-radius:12px;position:relative;overflow:hidden;background:#24454b}.map-world{position:absolute;inset:0;transform-origin:50% 50%;transition:transform .2s ease}.map-art{width:100%;height:100%;object-fit:fill;display:block;user-select:none}.map-shade{position:absolute;inset:0;background:linear-gradient(180deg,#04161925,#061b1210 65%,#061b2370);pointer-events:none}.region-label{position:absolute;font:600 .72rem var(--title);letter-spacing:.24em;color:#ede4be;pointer-events:none;text-shadow:0 1px 4px #08212a,0 1px 6px #08212a}.region-label.north{top:11%;left:43%}.region-label.center{top:55%;left:45%}.region-label.coast{top:83%;left:74%}.map-caption{position:absolute;top:14px;left:14px;display:flex;gap:9px;align-items:center;padding:8px 12px;border:1px solid #c2ad7655;background:#0a252ade;border-radius:6px;font-size:.8125rem;pointer-events:none}.mini-star{color:var(--gold)}.zoom-controls{position:absolute;right:14px;top:14px;display:grid;gap:3px}.zoom-controls button{border:1px solid #738678;background:#0a252aea;border-radius:5px;width:34px;height:34px;font-size:1.2rem}.compass{position:absolute;right:18px;bottom:32px;text-align:center;font:600 .75rem var(--title);color:var(--gold);pointer-events:none}.compass span{font-size:2.8rem;line-height:1}.map-footnote{position:absolute;bottom:11px;left:14px;color:#f3efdc;font-size:.6875rem;background:#08202bcc;border-radius:3px;padding:3px 7px;pointer-events:none}.map-legend{display:flex;gap:20px;font-size:.75rem;color:#c0cbc7;margin-top:12px;align-items:center;flex-wrap:wrap}.map-legend span:last-child{margin-left:auto}.legend-dot{display:inline-block;width:8px;height:8px;border-radius:100%;margin-right:6px}.neutral{background:#c1d2c2}.champion{background:var(--gold)}.pin{position:absolute;transform:translate(-50%,-100%);background:transparent;padding:0;width:32px;height:38px;z-index:2;filter:drop-shadow(0 2px 4px #001922)}.pin svg{width:100%;height:100%;overflow:visible}.pin path{fill:#254b49;stroke:#dfddbd;stroke-width:2}.pin circle{fill:#d5e2c5}.pin.is-champion path{fill:#84642d;stroke:#f5d798}.pin.is-champion circle{fill:#f4dca8}.pin.is-selected{z-index:10;filter:drop-shadow(0 0 5px #f7e4a3)}.pin.is-selected path{stroke:#fff8d4;stroke-width:3}.pin span{position:absolute;bottom:45px;left:50%;transform:translateX(-50%);background:#09222af5;border:1px solid #a99767;border-radius:5px;white-space:nowrap;padding:6px 10px;color:#fff2d3;font-size:.75rem;display:none;pointer-events:none}.pin:hover,.pin:focus-visible{z-index:20}.pin:hover span,.pin:focus-visible span{display:block}.map-empty{position:absolute;top:40%;left:15%;right:15%;padding:24px;background:#0c2631eb;border-radius:8px;text-align:center}.panel{background:linear-gradient(135deg,#122c36,#0d242e);border:1px solid var(--border);border-radius:12px;overflow:hidden}.store-preview{margin-top:55px;padding:24px;display:flex;flex-direction:column;gap:20px}.store-preview .eyebrow{margin-bottom:8px}.store-preview h2{font-size:2rem}.store-preview .location{color:var(--muted);font-size:.875rem;line-height:1.7;margin-top:9px}.badge{font-size:.6875rem;letter-spacing:.025em;color:var(--mint);border:1px solid #527267;background:#1e3b39;padding:4px 8px;border-radius:4px;display:inline-block;white-space:nowrap}.badge.gold{color:var(--gold);border-color:#766342;background:#423b26}.champion-box{padding:18px;background:#cfad6410;border:1px solid #665738;border-radius:8px}.champion-box .trophy{font-size:1.8rem;color:var(--gold);float:right}.champion-box strong{font:600 1.45rem var(--title);display:block;color:#f2d696;margin:7px 0;overflow-wrap:anywhere}.champion-box .label{font-size:.625rem;letter-spacing:.12em;color:var(--gold)}.store-data{font-size:.8125rem;color:var(--muted)}.store-data strong{display:block;color:var(--text);font-weight:500;margin-bottom:5px}.button{display:inline-flex;justify-content:center;align-items:center;background:var(--gold);color:#0e252a;padding:11px 16px;border-radius:6px;font-size:.8125rem;font-weight:700;border:1px solid var(--gold);min-height:44px}.button:hover{background:#efd5a0}.button.secondary{background:none;color:var(--text);border-color:#4b6268}.button.secondary:hover{background:#23404a}.store-preview .button{width:100%;margin-top:auto}.lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px;border-bottom:1px solid var(--border)}.section-heading h2{font-size:1.6rem}.team-empty{text-align:center;padding:26px 24px 28px;max-width:560px;margin:auto}.empty-emblem{color:var(--gold);font-size:2.2rem}.team-empty h3{margin:10px 0 12px}.team-empty>p:not(.small){font-size:.875rem;color:var(--muted);max-width:360px;margin:0 auto;line-height:1.8}.empty-steps{display:flex;justify-content:center;gap:12px;margin:23px 0}.empty-steps span{border-bottom:1px solid #816b42;padding-bottom:9px;font-size:.75rem;color:#c8d6d1}.empty-message{padding:38px 28px;text-align:center;display:grid;gap:14px;justify-items:center}.empty-message p{max-width:360px;color:var(--muted);font-size:.875rem;line-height:1.8}.empty-message .empty-emblem{margin:0}.champion-section,.directory-section{margin-top:24px}.champion-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:8px}.champion-card{background:none;text-align:left;padding:20px 16px;border-radius:7px;display:block;min-width:0}.champion-card:hover{background:#25433f}.champion-card .champ-icon{color:var(--gold);font-size:1.35rem;display:block;margin-bottom:10px}.champion-card strong{font:600 1.35rem var(--title);display:block;overflow-wrap:anywhere;color:#efcf8c;margin-bottom:5px}.champion-card span{font-size:.8125rem;display:block;color:#c1d1d0;line-height:1.5}.champion-card small{font-size:.75rem;color:var(--muted);display:block;margin-top:8px}.directory{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border)}.directory button{background:var(--panel-deep);padding:15px 24px;text-align:left;font-size:.875rem;line-height:1.5}.directory button:hover{background:#1a3640}.directory small{display:block;color:var(--muted);font-size:.75rem}.event-row{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:16px;padding:18px 24px;border-bottom:1px solid var(--border)}.event-date{color:var(--gold);font-size:.8rem;text-align:center}.event-date strong{display:block;font:600 1.8rem var(--title)}.event-row h3{font:500 .875rem var(--font);line-height:1.5}.event-row p{font-size:.75rem;color:var(--muted);margin-top:4px}.event-row a{font-size:.75rem;color:var(--gold);text-decoration:underline}footer{padding:34px 0;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:var(--muted);font-size:.75rem}footer button{background:none;color:var(--muted);text-decoration:underline;font-size:inherit}dialog{width:min(900px,calc(100% - 32px));max-height:85vh;color:var(--text);padding:32px;border-radius:14px;border:1px solid #587064;background:#0d2732;box-shadow:0 20px 100px #0008}dialog::backdrop{background:#021219cc;backdrop-filter:blur(5px)}dialog .close{float:right;background:#28434b;border:1px solid #486069;border-radius:50%;font-size:1.4rem;width:36px;height:36px;position:relative;z-index:1}dialog h2{font-size:2.3rem;margin:8px 40px 12px 0}dialog .dialog-address{color:var(--muted);margin-bottom:20px;font-size:.875rem}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}.detail-block{border:1px solid var(--border);border-radius:8px;padding:20px}.detail-block h3{font-size:1.4rem;margin-bottom:12px}.detail-block p{font-size:.875rem;color:var(--muted);margin:10px 0}.result-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-top:1px solid var(--border)}.result-row strong{color:var(--gold);font-size:1rem}.result-row p{margin:3px 0}.result-row a{font-size:.8125rem;color:var(--gold);white-space:nowrap;text-decoration:underline}.dialog-actions{display:flex;gap:12px;flex-wrap:wrap}#info-dialog{max-width:620px}#info-content p,#info-content li{color:#c2d2d2;line-height:1.8;font-size:.9375rem;margin:12px 0}#info-content ul{padding-left:22px}.error{padding:26px;border:1px solid #966d56;background:#412f2c;margin:20px 0;border-radius:8px}.error button{margin-top:12px}
@media(min-width:1600px){.map-viewport{height:570px}}@media(max-width:1100px){.header-note{display:none}.topbar{height:88px}.map-section{grid-template-columns:minmax(0,1.8fr) minmax(270px,1fr)}.map-viewport{height:470px}.store-preview{padding:20px}.search{max-width:210px}.champion-grid{grid-template-columns:repeat(3,1fr)}.topbar nav{gap:24px}.stat{padding:18px}}@media(max-width:800px){.topbar{height:auto;min-height:100px;flex-wrap:wrap;padding-top:14px;padding-bottom:12px;gap:10px}.brand-mark{font-size:3rem}.brand strong{font-size:1.35rem}.topbar nav{gap:20px;flex-wrap:wrap}.topbar nav a,.nav-button{font-size:.8125rem;padding:7px 0}main{padding:18px 18px 0}.page-heading{padding:24px 0;align-items:flex-start;flex-direction:column;gap:16px}.season-control{width:100%;max-width:320px}.map-section{grid-template-columns:1fr}.store-preview{margin-top:0;display:grid;grid-template-columns:1fr 1fr;gap:16px}.store-preview .button{grid-column:1/-1}.map-viewport{height:470px}.lower-grid{grid-template-columns:1fr}.champion-grid{grid-template-columns:repeat(2,1fr)}.directory{grid-template-columns:repeat(2,1fr)}.stat{padding:14px 12px;gap:9px}.stat strong{font-size:1.8rem}.stat-icon{font-size:1.5rem;min-width:22px}.stat span:last-child{font-size:.7rem}}@media(max-width:480px){.topbar nav{width:100%;justify-content:space-between;gap:10px}.topbar{padding-left:18px;padding-right:18px}.stats{margin-bottom:20px}.stat{flex-direction:column;align-items:flex-start;gap:8px}.stat-icon{display:none}.stat strong{font-size:1.7rem}.map-toolbar{gap:10px}.segmented{width:100%}.segmented button{flex:1}.search{max-width:none;width:100%}.map-viewport{height:420px}.pin{width:27px;height:33px}.region-label{font-size:.6rem}.map-caption{font-size:.7rem;max-width:75%;left:10px;padding:7px}.store-preview{grid-template-columns:1fr}.store-preview h2{font-size:1.8rem}.map-legend{gap:12px}.map-legend span:last-child{width:100%;margin-left:0}.section-heading{padding:20px 18px;align-items:flex-start}.section-heading h2{font-size:1.4rem}.champion-grid{grid-template-columns:1fr 1fr}.champion-card{padding:16px 10px}.champion-card strong{font-size:1.25rem}.directory{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}dialog{padding:22px}.result-row{align-items:flex-start}.empty-steps{flex-wrap:wrap}footer{font-size:.7rem}.preview-bar button{margin-left:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.map-world{transition:none}}
@media(max-width:600px){.event-row{grid-template-columns:36px minmax(0,1fr);gap:8px 12px;padding:16px 18px}.event-row>a{grid-column:2;justify-self:start}.event-tools{padding:14px 18px;flex-wrap:wrap}.event-tools select{max-width:100%;flex:1}.event-pager{padding:14px 18px}.store-event-list .event-row{padding:14px 10px}.event-row h3{overflow-wrap:anywhere}.store-event-list .event-date strong{font-size:1.6rem}.schedule-note{padding:0 18px 18px}}
.trophy-icon{width:1.5em;height:1.5em;display:inline-block;vertical-align:middle}.champion-card .champ-icon{color:var(--gold)}.champion-card .champion-set{display:inline-block;margin-top:9px;padding:3px 7px;border:1px solid #536146;border-radius:4px;color:var(--gold);font-size:.75rem}.sync-label,.schedule-note{font-size:.75rem}.season-tools{display:grid;gap:3px;min-width:260px}.season-control{font-size:.75rem;letter-spacing:.08em}.season-tools .nav-button{justify-self:end;font-size:.75rem;padding:5px 0}.season-status{display:grid;gap:7px;margin:0 0 22px;padding:15px 18px;border-left:2px solid var(--gold);background:#152f35;border-radius:0 7px 7px 0;font-size:.8125rem}.season-status>div{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap}.season-status strong{color:var(--gold);font-weight:500}.season-dot{width:7px;height:7px;background:var(--gold);border-radius:50%;flex:none}.section-subtitle{color:var(--muted);font-size:.8125rem;line-height:1.6;margin-top:10px}.history-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.history-heading .eyebrow{color:var(--gold);font-size:.6875rem;letter-spacing:.15em;margin:0 0 8px}.history-heading h3{font-size:1.7rem;line-height:1.2}.history-heading>span{white-space:nowrap;padding-top:6px}.history-controls{width:max-content;margin:12px 0}.history-controls button{min-height:44px;padding:10px 18px}.store-champions .history-note{font-size:.8125rem;line-height:1.7;margin:12px 0 18px}.store-champions .result-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:14px;padding:18px 0}.history-trophy{color:var(--gold);align-self:start;margin-top:5px}.result-set{display:block;color:var(--mint);font-size:.75rem;margin-bottom:4px}.result-identity{min-width:0;overflow-wrap:anywhere}.result-identity strong{font:600 1.5rem var(--title)}.result-row .source-missing{font-size:.75rem}.share-note{font-size:.75rem;color:var(--muted);margin:10px 0 0;overflow-wrap:anywhere}.share-note input{display:block;width:100%;margin-top:8px;padding:8px;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:4px}.calendar-row{padding:20px 0;border-top:1px solid var(--border)}.calendar-row h3{color:var(--gold);font-size:1.5rem}.calendar-row .text-link{font-size:.875rem}.store-champions .empty-history{padding:20px 0;line-height:1.7}
@media(max-width:600px){.history-heading{flex-direction:column;gap:0}.history-heading>span{padding:0}.store-champions .result-row{grid-template-columns:24px minmax(0,1fr);gap:10px}.store-champions .result-row>a,.store-champions .result-row>.source-missing{grid-column:2;justify-self:start}.history-controls{width:100%}.history-controls button{flex:1}.season-tools{min-width:0;width:100%}.season-control{max-width:none}.season-status{font-size:.75rem}.season-status>div{align-items:flex-start}.season-status>div>span:last-child{flex-basis:100%}.season-dot{margin-top:5px}.champion-section>.section-heading{flex-wrap:wrap}.history-heading h3{font-size:1.5rem}.store-champions{padding:18px 16px}}
