@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=DM+Sans:wght@400;500;600;650;700;800&display=swap');
:root{--ink:#17192c;--blue:#494dff;--blue-dark:#383bdd;--paper:#fafaf7;--line:#dedee5;--muted:#666875;--orange:#ffb773;--radius:16px;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:100px}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button,a,input,select{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:4px}[hidden]{display:none!important}.skip-link{position:absolute;top:-80px;left:20px;padding:12px;background:white;z-index:100}.skip-link:focus{top:10px}.announcement{padding:11px 5%;background:var(--blue);color:white;display:flex;justify-content:space-between;gap:15px;font-size:.82rem;font-weight:700;letter-spacing:.07em}.announcement a{letter-spacing:0;font-weight:500}.site-header{height:104px;display:flex;align-items:center;justify-content:space-between;padding:16px 5%;gap:24px;border-bottom:1px solid var(--line);background:var(--paper)}.wordmark{font-family:'Archivo Black',Arial,sans-serif;font-weight:900;font-size:2.7rem;letter-spacing:-.055em;line-height:.95;display:flex;flex-direction:column}.wordmark-star{color:var(--blue);font-size:2.6rem;margin-left:3px}.wordmark small{font:700 .58rem 'DM Sans',sans-serif;letter-spacing:.18em;line-height:1.9}.site-header nav{display:flex;gap:36px;font-weight:650;font-size:.95rem}.site-header nav a{padding:8px 0}.site-header nav a:hover{color:var(--blue)}.cart-button{border:1px solid var(--ink);background:transparent;border-radius:30px;padding:11px 17px;display:flex;align-items:center;gap:10px;font-size:.9rem;font-weight:650}.cart-button #cart-count{display:grid;place-items:center;min-width:22px;height:22px;background:var(--ink);color:white;border-radius:50%;font-size:.75rem}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:525px}.hero-copy{padding:64px 6% 38px 9%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.15em;margin:0 0 23px}.hero h1{font-family:'Archivo Black',Arial,sans-serif;font-size:clamp(2.7rem,4.35vw,5rem);line-height:1.09;letter-spacing:-.052em;margin:0 0 22px;font-weight:900}.hero h1 span{color:var(--blue)}.hero-description{font-size:1.05rem;line-height:1.7;color:var(--muted);margin:0 0 28px}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.button{padding:16px 23px;border-radius:7px;border:1px solid var(--ink);display:inline-flex;gap:30px;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;min-height:48px;transition:transform .15s,background .15s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:#30334e}.button-outline{background:transparent}.button-outline:hover{background:#eeeeed}.text-link{font-weight:700;font-size:.9rem;text-decoration:underline;text-underline-offset:5px}.hero-footnote{font-size:.82rem;color:var(--muted);margin-top:auto;padding-top:33px;display:flex;align-items:center;gap:9px}.hero-footnote span{font-size:1.3rem;color:var(--blue)}.hero-art{position:relative;overflow:hidden;background:var(--blue);min-height:490px;display:flex;align-items:center;justify-content:center;padding:50px 35px;color:#fff}.art-label{position:absolute;top:30px;left:30px;font-size:.73rem;letter-spacing:.15em;font-weight:700}.mascot-orbit{width:380px;height:380px;max-width:90%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;position:relative;isolation:isolate}.mascot-orbit:before,.mascot-orbit:after{content:'';position:absolute;inset:0;border:1px solid white;border-radius:50%;pointer-events:none;z-index:-1;opacity:0;transform:scale(.86);animation:mascot-ripple 6s linear infinite}.mascot-orbit:after{animation-delay:-3s}.mascot-orbit img{width:92%;height:92%;object-fit:cover;border-radius:50%;transform:rotate(-7deg);box-shadow:0 15px 60px #20219333}.art-sticker{position:absolute;right:28px;bottom:65px;transform:rotate(9deg);background:var(--orange);color:var(--ink);font-family:'Archivo Black',Arial,sans-serif;font-size:1.5rem;line-height:1.05;padding:18px 22px;border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink)}.art-bottom{position:absolute;bottom:23px;left:30px;right:30px;display:flex;justify-content:space-between;gap:12px;font-size:.7rem;font-weight:700;letter-spacing:.11em}.ticker{background:var(--ink);color:white;padding:20px 5%;display:flex;align-items:center;justify-content:space-between;gap:28px;font-size:.76rem;font-weight:800;letter-spacing:.13em;overflow:hidden;white-space:nowrap}.ticker b{color:var(--orange);font-size:1.6rem;line-height:1}.section{padding:74px 5%}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}.section-heading .eyebrow{margin-bottom:12px}h2{font-family:'Archivo Black',Arial,sans-serif;font-weight:900;letter-spacing:-.045em;font-size:clamp(2rem,3vw,3.4rem);line-height:1.12;margin:0}h3{font-size:1.15rem;line-height:1.4}.subtle{font-size:.86rem;color:var(--muted);line-height:1.6}.catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:23px;margin-bottom:30px}.filter-group{display:flex;gap:9px;flex-wrap:wrap}.filter{font-size:.9rem;font-weight:650;border:1px solid var(--line);border-radius:24px;padding:11px 19px;background:transparent}.filter.active{background:var(--ink);color:white;border-color:var(--ink)}.filter:hover:not(.active){border-color:var(--ink)}.catalog{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:23px}.catalog-message{grid-column:1/-1;text-align:center;padding:54px 20px 60px;border:1px solid var(--line);border-radius:var(--radius);background:#f0f0f7}.catalog-message p{max-width:480px;margin:0 auto 23px;color:var(--muted);font-size:1rem;line-height:1.7}.catalog-message h3{font-size:1.4rem;margin:12px 0}.mini-star{color:var(--blue);font-size:2.5rem}.community{background:#eeeefe;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.community h2{margin-bottom:24px}.community p:not(.eyebrow){max-width:480px;color:#57586b;font-size:1rem;line-height:1.75;margin-bottom:28px}.community-photo{border-radius:14px;overflow:hidden;aspect-ratio:1.35;background:#dddff6}.community-photo img{width:100%;height:100%;object-fit:cover;display:block}.visit{display:grid;grid-template-columns:1fr 1fr;gap:8%;border-bottom:1px solid var(--line)}.visit-details h3{margin-top:0}.visit address{font-style:normal;line-height:1.8;color:var(--muted);font-size:1.1rem;margin-bottom:24px}.visit-details .subtle{margin-top:22px}dialog{border:0;border-radius:14px;padding:30px;color:var(--ink);background:var(--paper);max-height:90dvh;box-shadow:0 20px 100px #1113}dialog::backdrop{background:#12142888;backdrop-filter:blur(3px)}.product-dialog{width:min(900px,94vw)}.cart-dialog{width:min(490px,94vw);margin:0 0 0 auto;height:100dvh;max-height:100dvh;border-radius:0;padding:27px}.dialog-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:22px}.dialog-header h2{font-size:1.7rem}.close-dialog{background:none;border:0;min-width:44px;min-height:44px;font-size:2rem;line-height:1}.product-dialog>.close-dialog{position:absolute;right:12px;top:12px}.feedback{font-size:.9rem;color:var(--muted);line-height:1.5}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:15px 24px;border-radius:8px;background:var(--ink);color:white;box-shadow:0 5px 30px #1114;z-index:20;font-size:.9rem}.product-card{display:flex;flex-direction:column;min-width:0}.product-image{position:relative;aspect-ratio:1;background:#f0f0f3;border-radius:11px;overflow:hidden;border:1px solid #e6e6eb;display:grid;place-items:center;padding:22px;width:100%}.product-image img{width:100%;height:100%;object-fit:contain;transition:transform .25s}.product-image:hover img{transform:scale(1.04)}.product-card .product-category{margin:16px 0 7px;color:var(--muted);font-size:.77rem;letter-spacing:.04em;text-transform:uppercase}.product-name{font-size:.98rem;font-weight:700;line-height:1.5;text-align:left;border:0;background:transparent;padding:0;color:var(--ink)}.product-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:13px}.price{font-weight:800;font-size:1.05rem}.product-add{background:white;border:1px solid var(--line);border-radius:50%;width:38px;height:38px;font-size:1.4rem;display:grid;place-items:center}.product-add:hover{background:var(--blue);color:white}.availability{position:absolute;left:12px;top:12px;font-size:.73rem;background:white;border-radius:4px;padding:6px 9px;font-weight:650}.product-detail-layout{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding-top:22px}.detail-image{width:100%;aspect-ratio:1;object-fit:contain;background:#f0f0f3;border-radius:8px}.detail-copy h2{font-family:'DM Sans',Arial,sans-serif;font-size:1.6rem;line-height:1.3;letter-spacing:-.03em;margin:15px 0}.detail-copy p{font-size:.92rem;line-height:1.6;color:var(--muted);white-space:pre-line}.detail-copy select{display:block;width:100%;padding:12px;margin:10px 0 20px;border:1px solid var(--line);border-radius:6px;background:white}.detail-copy .button{width:100%}.cart-empty{padding:65px 5px;text-align:center;color:var(--muted);line-height:1.7}.cart-line{display:grid;grid-template-columns:65px 1fr;gap:16px;border-bottom:1px solid var(--line);padding:23px 0}.cart-line img{width:65px;height:85px;object-fit:contain;background:#eeeef4;border-radius:5px}.cart-line h3{font-size:.92rem;margin:0 0 7px}.cart-line small{font-size:.8rem;color:var(--muted)}.cart-line-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:13px}.quantity{display:flex;align-items:center;border:1px solid var(--line);border-radius:4px}.quantity button{width:32px;height:32px;background:none;border:0;font-size:1.2rem}.quantity span{min-width:25px;text-align:center;font-size:.9rem}.remove-line{border:0;background:none;text-decoration:underline;color:var(--muted);font-size:.8rem}.summary-row{display:flex;justify-content:space-between;margin:23px 0 12px;font-weight:800}.checkout-button{width:100%;margin-top:15px}.summary-note{font-size:.8rem;color:var(--muted);line-height:1.5}
@media(min-width:1500px){body{max-width:1800px;margin:auto}.hero-copy{padding-top:84px;padding-bottom:48px}.hero-art{min-height:580px}.mascot-orbit{width:400px;height:400px}}
@media(max-width:1000px){.site-header nav{gap:20px}.hero-copy{padding:48px 7%}.hero-art{min-height:450px}.mascot-orbit{width:270px;height:270px}.art-sticker{font-size:1.2rem;right:15px;bottom:67px}.hero-actions{gap:20px}.hero h1{font-size:3rem}.catalog{grid-template-columns:repeat(3,minmax(0,1fr))}.community{gap:5%}}
@media(max-width:700px){.announcement{padding:10px 5%;justify-content:center;font-size:.68rem}.announcement>a{display:none}.site-header{height:auto;padding:17px 5%;flex-wrap:wrap;gap:16px}.wordmark{font-size:2.2rem}.wordmark-star{font-size:2.1rem}.site-header nav{order:3;width:100%;justify-content:space-between;font-size:.84rem;border-top:1px solid var(--line);padding-top:11px;gap:10px}.cart-button{padding:8px 13px}.hero{grid-template-columns:1fr}.hero-copy{padding:43px 6% 30px}.hero h1{font-size:clamp(2.6rem,10.5vw,4rem)}.hero-description{font-size:1rem}.hero-actions{gap:22px}.hero-actions .button{padding:15px 19px}.eyebrow{font-size:.72rem;margin-bottom:20px}.hero-footnote{font-size:.76rem;padding-top:25px}.hero-art{min-height:355px;margin:0 5% 25px;border-radius:12px}.mascot-orbit{width:235px;height:235px}.art-label{font-size:.63rem;top:22px;left:23px}.art-bottom{font-size:.6rem;left:23px;right:23px;bottom:20px}.art-sticker{bottom:49px;right:20px;font-size:1.15rem;padding:12px 17px}.ticker{padding:16px 6%;justify-content:flex-start;gap:24px;font-size:.66rem}.ticker b{font-size:1.3rem}.section{padding:46px 5%}.section-heading{align-items:flex-start}.section-heading h2{font-size:2rem}.catalog-toolbar{flex-direction:column;align-items:stretch;gap:15px}.filter-group{gap:7px}.filter{padding:9px 15px;font-size:.84rem}.catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.catalog-message{padding:34px 20px 40px}.community{grid-template-columns:1fr;gap:30px}.community-photo{aspect-ratio:1.5}.visit{grid-template-columns:1fr;gap:30px}.visit-details h3{margin-bottom:12px}.product-detail-layout{grid-template-columns:1fr;gap:10px}.product-detail-layout>.detail-image{max-height:260px}.product-image{padding:13px}.product-name{font-size:.9rem}.product-card .product-category{font-size:.7rem}.price{font-size:.95rem}.product-add{width:34px;height:34px}dialog{padding:22px}.toast{width:max-content;max-width:90vw;text-align:center}}
.calendar-section{border-top:1px solid var(--line)}.calendar-timezone{color:var(--muted);font-size:.9rem;line-height:1.6}.calendar-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(250px,1fr);gap:32px;align-items:start}.calendar-board{border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:white;min-width:0}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}.calendar-toolbar h3{margin:0;font-size:1.35rem}.calendar-controls{display:flex;gap:8px}.calendar-controls button{border:1px solid var(--line);border-radius:7px;min-width:44px;min-height:44px;padding:8px 12px;background:var(--paper);color:var(--ink);font-weight:700;font-size:.9rem}.calendar-controls button:hover{background:var(--ink);border-color:var(--ink);color:white}.calendar-table{width:100%;border-collapse:collapse;table-layout:fixed}.calendar-table th{font-size:.875rem;font-weight:600;color:var(--muted);padding:0 0 14px}.calendar-table abbr{text-decoration:none}.calendar-table td{height:75px;border-top:1px solid var(--line);text-align:center;vertical-align:top;padding:8px 2px;font-size:1rem}.calendar-table time{display:grid;place-items:center;width:32px;height:32px;margin:0 auto;border-radius:50%}.calendar-table .calendar-current{background:var(--blue);color:white;font-weight:700}.calendar-outside{color:#777986;background:#fafafa}.calendar-event-marker{display:flex;justify-content:center;flex-wrap:wrap;gap:2px;padding:5px 2px 2px;max-width:100%}.calendar-game-badge{display:grid;place-items:center;width:16px;height:16px;flex:0 0 16px;border:1px solid var(--line);border-radius:50%;background:white;overflow:hidden;box-shadow:0 1px 2px #18192d0d}.calendar-game-badge img{display:block;width:100%;height:100%;object-fit:contain;padding:1.5px}.calendar-game-store img,.calendar-game-open-play img{padding:0}.calendar-day:hover .calendar-game-badge,.calendar-day[aria-pressed="true"] .calendar-game-badge{border-color:var(--blue)}.calendar-legend{display:flex;align-items:center;gap:8px;margin:16px 0 0;color:var(--muted);font-size:.875rem}.calendar-legend span{width:10px;height:10px;border-radius:50%;background:var(--blue)}.calendar-agenda{padding:30px;border-radius:var(--radius);background:var(--ink);color:white;min-width:0}.calendar-agenda h3{font-size:1.2rem;margin:0 0 16px}.calendar-agenda p{font-size:1rem;line-height:1.7;color:#d8d9e4;margin:0 0 25px}.calendar-agenda .text-link{display:inline-block;line-height:1.7}.calendar-event{padding:0 0 20px;margin-bottom:22px;border-bottom:1px solid #ffffff40;scroll-margin-top:30px}.calendar-event h4{font-size:1.1rem;margin:0 0 10px;line-height:1.5}.calendar-event .calendar-event-time{font-size:.875rem;margin-bottom:10px}.calendar-event p:last-child{margin-bottom:0}
@media(min-width:701px) and (max-width:900px){.site-header{height:auto;flex-wrap:wrap;gap:16px}.site-header nav{order:3;width:100%;justify-content:space-between;border-top:1px solid var(--line);padding-top:11px;font-size:.95rem}.site-header nav a{min-height:44px;display:flex;align-items:center}}
@media(max-width:850px){.calendar-layout{grid-template-columns:1fr;gap:20px}.calendar-agenda{padding:24px}.calendar-section .section-heading{flex-wrap:wrap;gap:12px}}
@media(max-width:480px){.site-header nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;font-size:.875rem}.site-header nav a{min-height:44px;display:flex;align-items:center}.calendar-board{padding:16px 10px}.calendar-toolbar{gap:12px;padding:0 4px}.calendar-toolbar h3{font-size:1.2rem}.calendar-table td{height:60px;padding:6px 0}.calendar-table time{width:30px;height:30px}.calendar-table th{font-size:.875rem}.calendar-event-marker{gap:1.5px}.calendar-agenda{padding:24px}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header{border-bottom:0}.header-search-wrap{padding:0 5% 24px;border-bottom:1px solid var(--line);background:var(--paper)}.header-search{display:flex;align-items:stretch;width:100%;min-height:58px;border:1px solid #b9bac8;border-radius:9px;background:white;transition:border-color .15s,box-shadow .15s}.header-search:focus-within{border-color:var(--blue);box-shadow:0 0 0 2px var(--blue)}.header-search input{flex:1;min-width:0;width:100%;border:0;border-radius:9px 0 0 9px;padding:16px 20px;background:transparent;color:var(--ink);font-size:1.125rem;line-height:1.4;outline:none}.header-search input::placeholder{color:#707281;opacity:1}.search-submit{display:grid;place-items:center;flex-shrink:0;width:66px;border:0;border-left:1px solid var(--line);border-radius:0 8px 8px 0;background:white;color:var(--ink)}.search-submit:hover{background:var(--blue);color:white}.search-submit:focus-visible{outline-offset:-5px}.catalog-toolbar{flex-wrap:wrap}.search-summary{display:flex;align-items:center;gap:12px;min-width:0;max-width:100%;flex-wrap:wrap}.search-summary p{margin:0;color:var(--muted);font-size:1rem;line-height:1.6;overflow-wrap:anywhere}.search-summary button{min-height:44px;background:none;border:0;padding:8px 0;color:var(--blue-dark);font-size:.9rem;font-weight:700;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}.shop-section #shop-title:focus{outline:none}.shop-section #shop-title{scroll-margin-top:24px}
.search-category{position:relative;display:flex;flex:0 0 154px;border-right:1px solid var(--line);border-radius:8px 0 0 8px;background:#f8f8fc}
.search-category select{display:block;width:100%;min-width:0;border:0;border-radius:inherit;padding:12px;background:transparent;color:var(--ink);font:inherit;font-size:1rem;cursor:pointer}
.search-category-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:0;border-radius:inherit;padding:14px 17px;background:transparent;color:var(--ink);font-size:1rem;font-weight:600;transition:background .15s}
.search-category-trigger:hover,.search-category-trigger[aria-expanded="true"]{background:#eeeefe}
.search-category-chevron{flex-shrink:0;color:var(--muted);transition:transform .15s}
.search-category-trigger[aria-expanded="true"] .search-category-chevron{transform:rotate(180deg);color:var(--blue)}
.search-category select:focus-visible,.search-category-trigger:focus-visible{outline:2px solid var(--blue);outline-offset:-4px}
.search-category-menu{position:absolute;top:calc(100% + 9px);left:-1px;z-index:40;width:244px;max-width:calc(100vw - 32px);padding:8px;border:1px solid var(--line);border-radius:12px;background:white;box-shadow:0 12px 32px #17192c1f}
.search-category-heading{margin:0;padding:6px 12px 9px;color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.search-category-option{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:48px;padding:11px 12px;border:0;border-radius:7px;background:transparent;color:var(--ink);text-align:left;font-size:.95rem;font-weight:500}
.search-category-option:hover,.search-category-option:focus-visible{background:#f3f3fb;outline:2px solid var(--blue);outline-offset:-2px}
.search-category-option[aria-selected="true"]{background:#eeeefe;color:var(--blue-dark);font-weight:700}
.search-category-option svg{flex-shrink:0;opacity:0}
.search-category-option[aria-selected="true"] svg{opacity:1}
.header-search:has(.search-category) input{border-radius:0}
@media(prefers-reduced-motion:reduce){.search-category-trigger,.search-category-chevron{transition:none}}
@media(max-width:700px){.header-search-wrap{padding-bottom:20px}.header-search{min-height:54px}.header-search input{font-size:1rem;padding:14px}.search-submit{width:54px}.search-summary{gap:8px 16px}.search-summary p{width:100%}}
.calendar-heading-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.calendar-retry{border:1px solid #fff;background:transparent;color:#fff;border-radius:6px;padding:10px 16px;min-height:44px;font:inherit;margin-bottom:24px}.calendar-event p{white-space:pre-line}
.calendar-day{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;width:100%;min-height:44px;padding:0;border:0;border-radius:6px;background:transparent;color:inherit;font:inherit}
.calendar-day:hover,.calendar-day[aria-pressed="true"]{background:#494dff12}
.calendar-day[aria-pressed="true"] time{outline:2px solid var(--blue);outline-offset:2px}
.calendar-agenda-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.calendar-agenda-heading h3{flex:1;min-width:0;margin:0}
.calendar-upcoming{min-height:44px;padding:0 6px;border:0;background:transparent;color:white;font-size:.875rem;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.calendar-event p{overflow-wrap:anywhere}
.calendar-event-link{color:var(--orange);text-decoration:underline;text-underline-offset:3px}
.calendar-event-link:hover{color:white}
.calendar-event-link:focus-visible{outline:3px solid var(--orange);outline-offset:3px;border-radius:2px}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media(min-width:701px) and (max-width:1100px){.site-header{height:auto;flex-wrap:wrap;gap:16px}.site-header nav{order:3;width:100%;justify-content:space-between;flex-wrap:wrap;gap:8px 20px;border-top:1px solid var(--line);padding-top:9px}.site-header nav a{min-height:44px;display:flex;align-items:center}}

/* Match calendar arrows without relying on font-specific symbol metrics. */
.calendar-controls{align-items:center}
.calendar-controls .calendar-arrow{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:0;line-height:1}
.calendar-arrow svg{display:block;width:20px;height:20px;pointer-events:none}
#calendar-prev svg{transform:rotate(180deg)}

/* One row of four cards, with native horizontal swipe and a seamless loop. */
.catalog.catalog-rail{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 69px)/4);gap:23px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:none;scrollbar-width:none;padding:5px 0 8px;scroll-padding:0}
.catalog-rail::-webkit-scrollbar{display:none}
.catalog-rail:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
.catalog-rail .product-card{scroll-snap-align:start;scroll-margin:0}
.catalog-rail .product-image{min-height:0}
.catalog-rail .product-image img{min-height:0;max-height:100%;display:block}
.catalog-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:22px}
.catalog-controls button{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);line-height:1}
.catalog-controls svg{display:block;width:24px;height:24px;pointer-events:none}
#catalog-previous svg{transform:rotate(180deg)}
.catalog-controls button:hover{background:var(--ink);color:white;border-color:var(--ink)}
.catalog-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px}
.catalog-actions .catalog-controls{margin-top:0}
.catalog-back{display:inline-flex;align-items:center;min-height:44px;margin-bottom:20px}
.catalog-page .section-heading h1{font-family:'Archivo Black',Arial,sans-serif;font-weight:900;font-size:clamp(2rem,3vw,3.4rem);line-height:1.12;letter-spacing:-.045em;margin:0}
@media(max-width:900px){.catalog.catalog-rail{grid-auto-columns:calc((100% - 23px)/2)}}
@media(max-width:560px){.catalog.catalog-rail{grid-auto-columns:85%;gap:16px}.catalog-controls{margin-top:18px}}
@media(prefers-reduced-motion:reduce){.catalog-rail{scroll-behavior:auto}}

/* White rings flow outward behind the stationary mascot. */
.mascot-orbit{height:auto}
@keyframes mascot-ripple{0%{transform:scale(.86);opacity:0}12%{opacity:.42}100%{transform:scale(1.75);opacity:0}}
.hero-art .art-label,.hero-art .art-sticker,.hero-art .art-bottom{z-index:1}
@media(prefers-reduced-motion:reduce){.mascot-orbit:before,.mascot-orbit:after{animation:none;transform:scale(1);opacity:.4}.mascot-orbit:after{transform:scale(1.15);opacity:.17}}

/* The event sticker lifts and gives a quick wiggle when invited to play. */
.art-sticker{cursor:pointer;transform-origin:50% 70%;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}
@keyframes sticker-wiggle{0%{transform:rotate(9deg)}35%{transform:translateY(-7px) rotate(-3deg) scale(1.05)}65%{transform:translateY(-6px) rotate(8deg) scale(1.04)}100%{transform:translateY(-6px) rotate(5deg) scale(1.04)}}
@media(hover:hover){.art-sticker:hover{background:#ffc58e;box-shadow:7px 8px 0 var(--ink);transform:translateY(-6px) rotate(5deg) scale(1.04);animation:sticker-wiggle .6s ease-out}}
.art-sticker:focus-visible{outline:3px solid white;outline-offset:6px;background:#ffc58e;box-shadow:7px 8px 0 var(--ink);transform:translateY(-6px) rotate(5deg) scale(1.04);animation:sticker-wiggle .6s ease-out}
.art-sticker:active{animation:none;transform:translateY(1px) rotate(9deg) scale(.98);box-shadow:2px 3px 0 var(--ink)}
@media(prefers-reduced-motion:reduce){.art-sticker:hover,.art-sticker:focus-visible,.art-sticker:active{animation:none;transform:rotate(9deg)}}

/* Carry the site's orange sticker treatment into the community invitation. */
.discord-cta{width:min(100%,390px);min-height:88px;padding:20px 28px;justify-content:space-between;gap:20px;border:2px solid var(--ink);border-radius:7px;background:var(--orange);color:var(--ink);font-family:'Archivo Black',Arial,sans-serif;font-size:1.25rem;font-weight:400;letter-spacing:-.02em;line-height:1.25;box-shadow:5px 5px 0 var(--ink);transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}
.discord-cta span[aria-hidden]{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:50%;border:1px solid var(--ink);background:transparent;font-family:'DM Sans',Arial,sans-serif;font-size:1.8rem;line-height:1;transition:transform .18s ease}
.discord-cta:hover,.discord-cta:focus-visible{background:#ffc58e;border-color:var(--ink);transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--ink)}
.discord-cta:hover span[aria-hidden],.discord-cta:focus-visible span[aria-hidden]{transform:translate(2px,-2px)}
.discord-cta:focus-visible{outline:3px solid var(--ink);outline-offset:6px}
.discord-cta:active{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--ink)}
@media(max-width:700px){.discord-cta{width:100%;min-height:78px;padding:18px 22px;font-size:1.125rem;gap:16px}.discord-cta span[aria-hidden]{flex-basis:42px;width:42px;height:42px;font-size:1.65rem}}
@media(prefers-reduced-motion:reduce){.discord-cta:hover,.discord-cta:focus-visible,.discord-cta:active,.discord-cta:hover span[aria-hidden],.discord-cta:focus-visible span[aria-hidden]{transform:none}}

/* Live card search, shared by the storefront, card pages, and deck builder. */
.header-search{position:relative;z-index:10}.search-suggestions{position:absolute;top:calc(100% + 10px);left:0;right:0;z-index:30;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 18px 45px #17192c24;max-height:min(460px,55dvh);overflow-y:auto;overscroll-behavior:contain}.search-suggestions-status{margin:0;padding:15px 20px 9px;font-size:.78rem;font-weight:700;color:var(--muted);line-height:1.5}.search-suggestions ul{list-style:none;padding:0;margin:0}.search-option{display:flex;align-items:center;gap:14px;padding:12px 20px;min-height:74px;border-top:1px solid #eeeef4;color:var(--ink);text-decoration:none}.search-option:hover,.search-option[aria-selected="true"]{background:#eeeefe}.search-option[aria-selected="true"]{box-shadow:inset 3px 0 var(--blue)}.search-option-image{flex:0 0 40px;width:40px;height:54px;display:grid;place-items:center;color:var(--blue);font-size:1.7rem;background:#f2f2f8;border-radius:4px}.search-option-image img{width:100%;height:100%;object-fit:contain;border-radius:3px}.search-option-copy{flex:1;min-width:0}.search-option-name{display:block;font-size:1rem;font-weight:500;line-height:1.35;overflow-wrap:anywhere}.search-option-name mark{background:transparent;color:var(--blue-dark);font-weight:800}.search-option-type{display:block;margin-top:3px;font-size:.76rem;color:var(--muted)}.search-option-price{flex-shrink:0;font-size:.9rem;font-weight:700;white-space:nowrap}.search-option-all{min-height:54px;color:var(--blue-dark);font-weight:700;font-size:.9rem;justify-content:space-between;background:#fafaff}.search-option-all span:first-child{overflow-wrap:anywhere}
@media(max-width:700px){.search-suggestions{top:calc(100% + 8px);border-radius:9px}.search-suggestions-status{padding:12px 13px 8px}.search-option{padding:11px 13px;gap:10px}.search-option-image{flex-basis:32px;width:32px;height:44px}.search-option-name{font-size:.9rem}.search-option-price{font-size:.78rem}.search-option-type{font-size:.7rem}}

.pokemon-notice { margin: -1rem 0 2rem; padding: 1rem 1.25rem; border-left: 3px solid var(--ink, #19192d); font-size: 1rem; line-height: 1.6; background: rgba(86, 77, 255, .045); }
.pokemon-notice[hidden] { display: none; }

.product-condition{align-self:flex-start;max-width:100%;margin:8px 0 0;padding:5px 9px;border:1px solid #ebc698;border-radius:5px;background:#fff0dd;color:var(--ink);font-size:.78rem;font-weight:700;line-height:1.4;overflow-wrap:anywhere}

.shop-pickup-note{margin:16px 0 0;color:var(--muted);font-size:1rem;line-height:1.6;max-width:42rem}

/* The buylist is a primary store action across every storefront page. */
.buylist-link{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 20px;border-radius:28px;background:var(--orange);color:var(--ink);font-weight:800;font-size:.9rem;line-height:1.3;text-align:center;white-space:nowrap;border:1px solid var(--ink)}
.buylist-link:hover{background:#ffc58e}.buylist-link[aria-current="page"]{box-shadow:inset 0 0 0 1px var(--ink)}
.site-header nav{gap:24px}.site-header{gap:20px}.site-header .wordmark{flex-shrink:0}.site-header .cart-button{flex-shrink:0}
@media(min-width:1101px) and (max-width:1350px){.site-header{padding-left:3%;padding-right:3%;gap:14px}.site-header nav{gap:15px;font-size:.875rem}.buylist-link{padding:12px 16px}}
@media(max-width:1100px){.site-header .buylist-link{margin-left:auto}.site-header nav{order:4}}
@media(max-width:700px){.site-header{gap:12px}.site-header .buylist-link{font-size:.875rem;padding:11px 15px}.site-header .wordmark{font-size:2.25rem}.site-header .cart-button{padding:8px 10px}.site-header .cart-button>span:not(#cart-count){display:none}.site-header nav{gap:8px 16px;flex-wrap:wrap;justify-content:flex-start;font-size:.875rem}}
@media(max-width:380px){.site-header .buylist-link{order:3;width:100%;margin-left:0}.site-header .cart-button{margin-left:auto}}
@media(max-width:700px){.site-header{display:grid;grid-template-columns:minmax(0,1fr) auto}.site-header .wordmark{order:1}.site-header .cart-button{order:2;margin-left:auto}.site-header .buylist-link{order:3;grid-column:1/-1;width:100%;margin-left:0}.site-header nav{order:4;grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.site-header nav a{display:flex;align-items:center;min-height:44px;padding:8px 0}.site-header .cart-button>span:not(#cart-count){display:inline}}
.seo-card-summary{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:40px;align-items:start}
.seo-card-summary img{width:100%;height:auto;max-height:520px;object-fit:contain}
.seo-card-summary h1{font-size:clamp(2rem,4vw,3rem);line-height:1.2;letter-spacing:-.035em}
.seo-card-summary p{font-size:1rem;line-height:1.8;overflow-wrap:anywhere}
@media(max-width:760px){.seo-card-summary{grid-template-columns:1fr;gap:20px}.seo-card-summary img{max-height:380px}}

.stock-badge-out{display:inline-block;padding:.2em .5em;border-radius:4px;background:#b91c1c;color:#fff;font-weight:700;line-height:1.35;white-space:nowrap}

.calendar-section{scroll-margin-top:24px}.calendar-share-status{margin:-12px 0 24px;overflow-wrap:anywhere;font-size:1rem;line-height:1.6}.calendar-share-status a{color:var(--blue-dark);text-decoration:underline}

.calendar-game-key{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;margin-top:12px;color:var(--muted);font-size:.875rem;line-height:1.5}.calendar-game-key>span{display:inline-flex;align-items:center;gap:6px}.calendar-game-key img{width:24px;height:24px;object-fit:contain;padding:2px;border:1px solid var(--line);border-radius:50%;background:white}
.calendar-game-union-arena,.calendar-game-key img[src="/assets/calendar-union-arena.png"]{background:var(--ink)}
.calendar-game-mtg img{width:14px;height:14px}.calendar-game-flesh-and-blood{width:28px;flex-basis:28px;border-radius:4px}.calendar-game-flesh-and-blood img{height:14px}.calendar-game-key img[src="/assets/calendar-flesh-and-blood.webp"]{width:44px;border-radius:5px}

@font-face{font-family:'Defy Calendar Condensed';src:url('/assets/calendar-closed.woff') format('woff');font-weight:700;font-style:normal;font-display:swap}
/* A compact closure badge leaves the calendar cell and date styling unchanged. */
.calendar-closed-label{display:inline-block;align-self:center;max-width:100%;margin-top:3px;padding:3px 5px;border-radius:5px;background:#2457c5;color:#fff;font-family:'Defy Calendar Condensed','Arial Narrow',Arial,sans-serif;font-size:.75rem;font-weight:700;line-height:1.2;letter-spacing:-.02em;white-space:nowrap}
/* Dim only closed-day lettering; backgrounds, focus rings, and controls stay unchanged. */
.calendar-closed .calendar-day{color:color-mix(in srgb,currentColor 50%,transparent)}
.calendar-closed .calendar-current,.calendar-closed .calendar-closed-label{color:rgb(255 255 255 / 50%)}
.calendar-closure-notice{padding:0;background:transparent}
.calendar-closure-notice h4{margin:0 0 10px;font-size:.875rem;line-height:1.2}
.calendar-agenda .calendar-closure-notice p{margin:0 0 20px}
@media(max-width:700px){.calendar-closed-label{padding:2px;margin-top:2px;border-radius:4px}}
