*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100dvh;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:var(--pw-text-body);line-height:1.5;color:var(--pw-neutral-ink);background:var(--pw-neutral-surface);-webkit-text-size-adjust:100%}body:before,body:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none}body:before{z-index:-2;background:url(/brand/land.webp) center / cover no-repeat,var(--pw-neutral-surface)}body:after{background:radial-gradient(120% 70% at 100% 0%,color-mix(in srgb,var(--pw-brand-secondary) 11%,transparent),transparent 60%),radial-gradient(100% 60% at 0% 100%,color-mix(in srgb,var(--pw-brand-primary) 7%,transparent),transparent 65%),color-mix(in srgb,var(--pw-neutral-surface) 42%,transparent)}@media(max-aspect-ratio:1/1){body:before{background-position:center bottom}}[hidden]{display:none!important}main{max-width:64rem;margin:0 auto;padding:var(--pw-space-6) var(--pw-space-4) var(--pw-space-16)}h1,h2,h3{line-height:1.15;margin:0 0 var(--pw-space-3);text-wrap:balance}h1{font-size:var(--pw-text-heading)}h2{font-size:var(--pw-text-title)}p{margin:0 0 var(--pw-space-4)}a{color:var(--pw-brand-primary)}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:var(--pw-focus-width) solid var(--pw-focus-color);outline-offset:var(--pw-focus-offset)}.skip-link{position:absolute;left:-9999px;top:var(--pw-space-2);background:var(--pw-neutral-paper);padding:var(--pw-space-3);border-radius:var(--pw-radius-md)}.skip-link:focus{left:var(--pw-space-2);z-index:10}.language-bar{padding:var(--pw-space-4);text-align:center}.language-bar ul{display:flex;gap:var(--pw-space-4);justify-content:center;list-style:none;margin:0;padding:0}.language-bar [aria-current=true]{font-weight:600}.platform-footer{padding:var(--pw-space-2) var(--pw-space-4);text-align:center;font-size:var(--pw-text-caption);color:var(--pw-neutral-muted)}.platform-footer p{margin:0}.platform-footer a{color:inherit}.site-header{background:linear-gradient(135deg,var(--pw-brand-primary) 0%,color-mix(in srgb,var(--pw-brand-secondary) 38%,var(--pw-brand-primary)) 55%,var(--pw-brand-primary) 100%);color:var(--pw-brand-primary-contrast);padding:var(--pw-space-6) var(--pw-space-4);box-shadow:var(--pw-shadow-md)}.site-header .inner{max-width:64rem;margin:0 auto;display:flex;align-items:center;gap:var(--pw-space-4)}.site-header-text{min-width:0}.site-logo{flex:none;height:3.5rem;width:auto;max-width:10rem;object-fit:contain;background:var(--pw-neutral-paper);border-radius:var(--pw-radius-md);padding:var(--pw-space-2);box-shadow:var(--pw-shadow-sm)}@media(max-width:30rem){.site-logo{height:2.75rem;max-width:7rem}}.site-header a{color:inherit}.card{background:var(--pw-neutral-paper);border:1px solid var(--pw-neutral-line);border-radius:var(--pw-radius-lg);padding:var(--pw-space-5);margin-bottom:var(--pw-space-4);box-shadow:var(--pw-shadow-sm)}.stack>*+*{margin-top:var(--pw-space-4)}.muted{color:var(--pw-neutral-muted)}.state{display:inline-block;padding:var(--pw-space-2) var(--pw-space-4);border-radius:var(--pw-radius-full);font-weight:600}.state-open{background:var(--pw-color-success-surface);color:var(--pw-color-success-ink)}.state-soon{background:var(--pw-color-warning-surface);color:var(--pw-color-warning-ink)}.state-closed{background:var(--pw-color-danger-surface);color:var(--pw-color-danger-ink)}.schedule{list-style:none;padding:0;margin:0}.schedule li{display:flex;flex-wrap:wrap;gap:var(--pw-space-2) var(--pw-space-4);padding:var(--pw-space-3) 0;border-bottom:1px solid var(--pw-neutral-line)}.schedule .when{font-variant-numeric:tabular-nums;font-weight:600}.sample-banner{background:var(--pw-color-warning-surface);color:var(--pw-color-warning-ink);padding:var(--pw-space-3) var(--pw-space-4);text-align:center;font-weight:600}.notice{border:1px solid var(--pw-neutral-line);border-left-width:6px;border-radius:var(--pw-radius-md);padding:var(--pw-space-4);margin:0 0 var(--pw-space-4)}.notice>:last-child{margin-bottom:0}.notice-good{background:var(--pw-color-success-surface);color:var(--pw-color-success-ink);border-color:var(--pw-color-success-ink)}.notice-warn{background:var(--pw-color-warning-surface);color:var(--pw-color-warning-ink);border-color:var(--pw-color-warning-ink)}.notice-bad{background:var(--pw-color-danger-surface);color:var(--pw-color-danger-ink);border-color:var(--pw-color-danger-ink)}.notice-info{background:var(--pw-color-pending-surface);color:var(--pw-color-pending-ink);border-color:var(--pw-color-pending-ink)}.notice h2,.notice h3{color:inherit}.action{display:inline-flex;align-items:center;justify-content:center;gap:var(--pw-space-2);min-height:var(--pw-touch-target);padding:var(--pw-space-3) var(--pw-space-6);border:2px solid var(--pw-brand-primary);border-radius:var(--pw-radius-md);background-color:var(--pw-brand-primary);background-image:linear-gradient(to bottom,color-mix(in srgb,var(--pw-neutral-paper) 15%,transparent),transparent 60%);color:var(--pw-brand-primary-contrast);font-size:var(--pw-text-body-large);font-weight:700;text-decoration:none;cursor:pointer;box-shadow:var(--pw-shadow-lg)}.action-secondary{background-color:var(--pw-neutral-paper);background-image:none;color:var(--pw-brand-primary);box-shadow:var(--pw-shadow-sm)}.action-danger{background:var(--pw-neutral-paper);border-color:var(--pw-color-danger-ink);color:var(--pw-color-danger-ink);box-shadow:var(--pw-shadow-sm)}.action-row{display:flex;flex-wrap:wrap;gap:var(--pw-space-4);margin-bottom:var(--pw-space-4)}fieldset{border:0;padding:0;margin:0 0 var(--pw-space-6);min-width:0}legend{padding:0;font-size:var(--pw-text-title);font-weight:700;line-height:1.15}.form-heading{font-size:var(--pw-text-body-large);margin:var(--pw-space-8) 0 var(--pw-space-3)}.field{margin-bottom:var(--pw-space-5);max-width:40rem}.field>label:not(.check),.field>.label{display:block;font-weight:600;margin-bottom:var(--pw-space-1)}.field .help{display:block;color:var(--pw-neutral-muted);margin:0 0 var(--pw-space-2)}.field .required-mark{color:var(--pw-color-danger-ink);font-weight:700}.field .optional-mark{color:var(--pw-neutral-muted);font-weight:400}input[type=text],input[type=tel],input[type=email],input[type=date],input[type=number],input[type=search],select,textarea{width:100%;min-height:var(--pw-touch-target);padding:var(--pw-space-3);font:inherit;color:var(--pw-neutral-ink);background:var(--pw-neutral-paper);border:2px solid var(--pw-neutral-line-strong);border-radius:var(--pw-radius-md)}textarea{min-height:calc(var(--pw-touch-target) * 2);resize:vertical}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:var(--pw-focus-width) solid var(--pw-focus-color);outline-offset:var(--pw-focus-offset)}.field-error{display:block;margin-top:var(--pw-space-2);padding:var(--pw-space-2) var(--pw-space-3);background:var(--pw-color-danger-surface);color:var(--pw-color-danger-ink);border-radius:var(--pw-radius-sm);font-weight:600}.field-error:before{content:"Needs fixing: ";font-weight:700}[aria-invalid=true]{border-color:var(--pw-color-danger-ink)}.check{display:flex;align-items:flex-start;gap:var(--pw-space-3);min-height:var(--pw-touch-target);padding:var(--pw-space-3);border:2px solid var(--pw-neutral-line-strong);border-radius:var(--pw-radius-md);background:var(--pw-neutral-paper);cursor:pointer}.check input[type=checkbox]{flex:none;width:28px;height:28px;margin:0;accent-color:var(--pw-brand-primary)}.check:has(input:checked){border-color:var(--pw-brand-primary);background:var(--pw-color-success-surface)}.check:focus-within{outline:var(--pw-focus-width) solid var(--pw-focus-color);outline-offset:var(--pw-focus-offset)}.check-list{display:grid;gap:var(--pw-control-gap)}.choice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:var(--pw-control-gap)}.choice-grid .check{align-items:start}.choice-grid .check input[type=checkbox]{margin-block-start:1px}.choice-name{font-weight:600;display:block}.choice-note{display:block;color:var(--pw-neutral-muted);font-size:var(--pw-text-caption)}.check-disabled{background:var(--pw-neutral-surface-sunk);border-style:dashed;cursor:not-allowed}.progress{position:sticky;top:0;z-index:5;background:var(--pw-neutral-paper);border-bottom:1px solid var(--pw-neutral-line);padding:var(--pw-space-3) var(--pw-space-4);margin:0 calc(var(--pw-space-4) * -1) var(--pw-space-4);box-shadow:var(--pw-shadow-sm)}@supports (backdrop-filter: blur(1px)){.progress{background:color-mix(in srgb,var(--pw-neutral-paper) 78%,transparent);backdrop-filter:saturate(180%) blur(16px)}}.progress p{margin:0 0 var(--pw-space-2);font-weight:600}.progress-track{height:10px;border-radius:var(--pw-radius-full);background:var(--pw-neutral-surface-sunk);overflow:hidden}.progress-fill{height:100%;width:0;background:var(--pw-brand-primary)}.slip{border:2px solid var(--pw-neutral-ink);border-radius:var(--pw-radius-lg);padding:var(--pw-space-6);margin-bottom:var(--pw-space-6);background:var(--pw-neutral-paper);break-inside:avoid}.slip-top{display:flex;flex-wrap:wrap;gap:var(--pw-space-6);align-items:flex-start;justify-content:space-between}.slip-number{font-size:var(--pw-text-display);line-height:1;font-weight:700;font-variant-numeric:tabular-nums;margin:0}.slip-qr svg{display:block;width:200px;height:200px;max-width:100%}.slip-link{word-break:break-all;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.details{display:grid;grid-template-columns:minmax(9rem,auto) 1fr;gap:var(--pw-space-2) var(--pw-space-4);margin:0 0 var(--pw-space-4)}.details dt{font-weight:600;color:var(--pw-neutral-muted)}.details dd{margin:0}.table-scroll{overflow-x:auto}table.results{width:100%;border-collapse:collapse}table.results th,table.results td{text-align:left;padding:var(--pw-space-3);border-bottom:1px solid var(--pw-neutral-line);vertical-align:top}table.results th{border-bottom-width:2px}table.results .rank{font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}.sponsors{display:flex;flex-wrap:wrap;gap:var(--pw-space-4);align-items:center;list-style:none;padding:0;margin:0}.sponsors li{display:flex;flex-direction:column;align-items:center;gap:var(--pw-space-2);border:1px solid var(--pw-neutral-line);border-radius:var(--pw-radius-md);padding:var(--pw-space-3);background:var(--pw-neutral-paper);font-weight:600;text-align:center}.sponsors img{display:block;max-height:72px;max-width:200px;width:auto;height:auto}.posters{margin:0 0 var(--pw-space-5)}.posters figure{margin:0}.posters a{display:block}.posters img{display:block;width:auto;height:auto;max-width:100%;max-height:min(40vh,420px);border-radius:var(--pw-radius-md);background:var(--pw-neutral-surface-sunk)}.posters.single{text-align:center}.posters.single img{margin-inline:auto}.posters.many{display:flex;gap:var(--pw-space-3);overflow-x:auto;padding-bottom:var(--pw-space-2);scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.posters.many figure{flex:0 0 auto;max-width:100%;scroll-snap-align:start}.posters.many:focus-visible{outline:3px solid var(--pw-brand-base);outline-offset:2px}.gallery{display:flex;gap:var(--pw-space-3);margin-top:var(--pw-space-3);padding-bottom:var(--pw-space-2);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.gallery:focus-visible{outline:3px solid var(--pw-brand-base);outline-offset:2px}.gallery figure{flex:0 0 auto;margin:0;scroll-snap-align:start;max-width:100%}.gallery img{display:block;width:auto;height:auto;max-height:320px;max-width:min(100%,480px);border-radius:var(--pw-radius-md);background:var(--pw-neutral-surface-sunk)}.gallery figcaption{margin-top:var(--pw-space-1);font-size:var(--pw-text-caption);color:var(--pw-neutral-ink-muted);max-width:480px}.gallery.single{display:block;overflow:visible}.gallery-hint{margin:var(--pw-space-1) 0 0;font-size:var(--pw-text-caption);color:var(--pw-neutral-ink-muted)}.prose{white-space:pre-wrap}.hero-strip{display:flex;gap:var(--pw-space-3);margin:0 0 var(--pw-space-2);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.hero-strip figure{flex:0 0 100%;margin:0;scroll-snap-align:center}.hero-strip.single{display:block;overflow:visible}.hero-strip img{display:block;width:100%;height:auto;aspect-ratio:3 / 2;max-height:min(38vh,360px);object-fit:cover;border-radius:var(--pw-radius-lg);background:var(--pw-neutral-surface-sunk);box-shadow:var(--pw-shadow-sm)}.hero-strip:focus-visible{outline:3px solid var(--pw-brand-base);outline-offset:2px}.page-lead{font-size:var(--pw-text-body-large)}.lead-aside{font-size:var(--pw-text-caption);color:var(--pw-neutral-muted);margin-top:calc(var(--pw-space-4) * -1)}.when{font-variant-numeric:tabular-nums;font-weight:700;margin-bottom:var(--pw-space-1)}.disclosure{border:1px solid var(--pw-neutral-line);border-radius:var(--pw-radius-lg);background:var(--pw-neutral-paper);margin-bottom:var(--pw-space-4);box-shadow:var(--pw-shadow-sm)}.disclosure>summary{display:flex;align-items:center;gap:var(--pw-space-3);min-height:var(--pw-touch-target);padding:var(--pw-space-3) var(--pw-space-5);font-size:var(--pw-text-body-large);font-weight:700;color:var(--pw-brand-primary);cursor:pointer;list-style:none}.disclosure>summary::-webkit-details-marker{display:none}.disclosure>summary:before{content:"▸";font-size:.9em;line-height:1}.disclosure[open]>summary{border-bottom:1px solid var(--pw-neutral-line)}.disclosure[open]>summary:before{content:"▾"}.disclosure>summary:focus-visible{outline:var(--pw-focus-width) solid var(--pw-focus-color);outline-offset:calc(var(--pw-focus-offset) * -1)}.disclosure>*:not(summary){padding-inline:var(--pw-space-5)}.disclosure>*:not(summary):first-of-type{padding-top:var(--pw-space-4)}.disclosure>*:not(summary):last-child{padding-bottom:var(--pw-space-2)}.alpha-bar ul{display:flex;flex-wrap:wrap;gap:var(--pw-space-2);list-style:none;margin:0 0 var(--pw-space-5);padding:0}.alpha-bar a{display:inline-flex;align-items:center;justify-content:center;min-width:2.5rem;min-height:2.5rem;padding:0 var(--pw-space-2);border:1px solid var(--pw-neutral-line);border-radius:var(--pw-radius-md);background:var(--pw-neutral-paper);font-weight:700;text-decoration:none}.directory-group{margin-bottom:var(--pw-space-6);scroll-margin-top:var(--pw-space-4)}.directory-letter{margin:0 0 var(--pw-space-3);padding-bottom:var(--pw-space-1);border-bottom:2px solid var(--pw-neutral-line);font-size:var(--pw-text-body-large);color:var(--pw-neutral-muted)}.directory{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:var(--pw-space-4);list-style:none;margin:0;padding:0}.directory li{display:flex;flex-direction:column;gap:var(--pw-space-1)}.directory a{font-weight:600}.directory .host{font-size:var(--pw-text-caption);color:var(--pw-neutral-muted);overflow-wrap:anywhere}.directory .next{font-size:var(--pw-text-caption);font-weight:600}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:var(--pw-space-4);margin-bottom:var(--pw-space-4)}.feature-grid .card{margin-bottom:0}.feature-grid h3{margin-top:0;font-size:var(--pw-text-body-large)}.feature-grid p:last-child{margin-bottom:0}.etiquette{margin:0 0 var(--pw-space-4);padding-left:var(--pw-space-5)}.etiquette li{margin-bottom:var(--pw-space-2)}.announcement+.announcement{border-top:1px solid var(--pw-neutral-line);padding-top:var(--pw-space-4);margin-top:var(--pw-space-4)}.badge{display:inline-block;padding:var(--pw-space-1) var(--pw-space-3);border-radius:var(--pw-radius-full);font-size:var(--pw-text-caption);font-weight:700;background:var(--pw-neutral-surface-sunk);color:var(--pw-neutral-ink)}@media print{.site-header{background:none;color:#000;border-bottom:2px solid #000}.site-logo{background:none;box-shadow:none;padding:0}.skip-link,.language-bar,.platform-footer,.no-print{display:none}body{background:#fff;font-size:12pt}body:before,body:after{display:none}.card{border:1px solid #000;break-inside:avoid}a[href^=http]:after{content:" (" attr(href) ")";font-size:.85em}.slip{border:2px solid #000;page-break-after:always}.notice{border:1px solid #000;background:none;color:#000}.progress,.action,form.no-print,.posters,.gallery,.hero-strip,.gallery-hint{display:none}.slip-link:after{content:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
