:root{--layout-gutter:clamp(16px, 2.5vw + 8px, 32px);--layout-content:1180px;--layout-space-section:clamp(2.5rem, 2vw + 1.75rem, 3.5rem);--layout-space-band:clamp(2.75rem, 2.5vw + 1.75rem, 4rem);--layout-space-hero:clamp(2rem, 2vw + 1.5rem, 3rem);--layout-space-stack:clamp(1rem, 1vw + .75rem, 1.5rem);--layout-space-heading:clamp(.5rem, .5vw + .4rem, .75rem);--layout-target:44px;--type-display:clamp(2.25rem, 5.5vw + 1rem, 4.6rem);--type-h1:clamp(1.9rem, 3.2vw + 1.1rem, 3.6rem);--type-h2:clamp(1.45rem, 1.6vw + 1rem, 2.25rem);--type-h3:clamp(1.06rem, .2vw + 1rem, 1.12rem);--type-lead:clamp(1.05rem, .3vw + .95rem, 1.15rem);--type-body:1rem;--type-small:.875rem;--type-min:.8125rem;--measure:68ch}@media (pointer:fine) and (width>=1080px){:root{--layout-target:32px}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--primary:#107f70;--primary-strong:#0b5f54;--primary-contrast:#fff;--background:#f1fffd;--surface:#fff;--surface-soft:#e6f4f1;--text:#1b1b1e;--muted:#4a5552;--line:#c9dcd8;--danger:#b3261e;--danger-surface:#fdecea;--success-surface:#e3f5ef;--warning-surface:#fff4d6;--focus:#0b5f54;--shadow:0 1px 2px #10282414, 0 4px 16px #10282414;--radius-control:12px;--radius-card:16px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--primary:#4fd1bd;--primary-strong:#7ee3d3;--primary-contrast:#062621;--background:#101614;--surface:#18211f;--surface-soft:#1f2b28;--text:#e8f1ef;--muted:#a8b8b4;--line:#2f3f3b;--danger:#ffb4ab;--danger-surface:#3b1d1a;--success-surface:#12302a;--warning-surface:#3a3216;--focus:#7ee3d3;--shadow:0 1px 2px #0006, 0 4px 16px #0000004d}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--primary:#4fd1bd;--primary-strong:#7ee3d3;--primary-contrast:#062621;--background:#101614;--surface:#18211f;--surface-soft:#1f2b28;--text:#e8f1ef;--muted:#a8b8b4;--line:#2f3f3b;--danger:#ffb4ab;--danger-surface:#3b1d1a;--success-surface:#12302a;--warning-surface:#3a3216;--focus:#7ee3d3;--shadow:0 1px 2px #0006, 0 4px 16px #0000004d}*,:before,:after{box-sizing:border-box}html{background:var(--background);color:var(--text);overflow-wrap:anywhere;-webkit-text-size-adjust:100%;line-height:1.5}body{background:var(--background);min-height:100vh;margin:0}a{color:var(--primary-strong);text-underline-offset:2px}@media (prefers-color-scheme:dark){:where(:root:not([data-theme=light])) a{color:var(--primary)}}:where(:root[data-theme=dark]) a{color:var(--primary)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}h1,h2,h3{margin:0 0 .5rem;line-height:1.25}h1{overflow-wrap:break-word;font-size:clamp(1.6rem,2vw + 1.1rem,2.1rem)}h2{font-size:1.25rem}h3{font-size:1.05rem}p{margin:0 0 .75rem}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.skip-link{z-index:10;border-radius:var(--radius-control);background:var(--surface);color:var(--text);padding:.75rem 1rem;position:absolute;top:-4rem;left:1rem}.skip-link:focus{top:1rem}.app-header{z-index:20;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--shadow);position:sticky;top:0}.app-header-inner,.app-footer-inner,.app-main{width:min(1100px, 100% - 2 * var(--layout-gutter));margin-inline:auto}.app-header-inner{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;min-height:4rem;padding-block:.5rem;display:flex}.header-menu{display:contents}.menu-toggle{display:none}.brand{min-height:var(--layout-target);color:var(--text);align-items:center;gap:.5rem;font-size:1.1rem;font-weight:700;text-decoration:none;display:inline-flex}.brand .basket-icon{width:1.75rem;height:1.75rem;color:var(--primary)}.main-nav{flex-wrap:wrap;flex:auto;gap:.25rem;display:flex}.nav-link{border-radius:var(--radius-control);min-height:44px;color:var(--text);align-items:center;padding:.5rem .75rem;font-weight:600;text-decoration:none;display:inline-flex}.nav-link:hover{background:var(--surface-soft)}.nav-link[aria-current=page]{background:var(--surface-soft);color:var(--primary-strong);box-shadow:inset 0 -3px 0 var(--primary)}.header-tools{align-items:center;gap:.5rem;display:flex}.language{border:1px solid var(--line);border-radius:var(--radius-control);display:inline-flex;overflow:hidden}.language-button{min-width:44px;min-height:44px;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;padding:.25rem .75rem}.language-button[aria-pressed=true]{background:var(--primary);color:var(--primary-contrast);font-weight:700}.theme-switch{position:relative}.theme-toggle{border:1px solid var(--line);border-radius:var(--radius-control);width:44px;height:44px;color:var(--text);cursor:pointer;background:0 0;place-items:center;display:inline-grid}.theme-toggle:hover,.theme-toggle[aria-expanded=true]{border-color:var(--primary)}.theme-icon{flex:none;width:1.2rem;height:1.2rem}.theme-options{display:none}.theme-options[data-open=true]{z-index:21;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);width:13rem;box-shadow:var(--shadow);gap:.25rem;padding:.5rem;display:grid;position:absolute;top:calc(100% + .5rem);right:0}.theme-options-label{color:var(--muted);padding:.25rem .5rem 0;font-size:.875rem;font-weight:600}.theme-choices{gap:.15rem;display:grid}.theme-choice{border-radius:var(--radius-control);min-height:44px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.5rem;padding:.5rem;display:inline-flex}.theme-choice:hover{background:var(--surface-soft)}.theme-choice[aria-pressed=true]{background:var(--surface-soft);color:var(--primary-strong);box-shadow:inset 3px 0 0 var(--primary);font-weight:700}@media (forced-colors:active){.theme-choice[aria-pressed=true]{outline-offset:-4px;outline:2px solid highlight}}.app-main{padding-block:var(--layout-space-stack) var(--layout-space-section);outline:none}.app-footer{border-top:1px solid var(--line);padding-block:.75rem calc(.75rem + env(safe-area-inset-bottom))}.app-footer-inner{flex-wrap:wrap;gap:0 1.25rem;display:flex}.app-footer a{min-height:var(--layout-target);align-items:center;display:inline-flex}@media (width<=759px){.app-header-inner{flex-wrap:nowrap}.brand{min-width:0}.brand span{overflow-wrap:anywhere}.menu-toggle{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);width:48px;height:48px;color:var(--text);cursor:pointer;flex:none;place-items:center;margin-left:auto;display:inline-grid}.menu-toggle svg{width:1.5rem;height:1.5rem}.header-menu{display:none}.header-menu[data-open=true]{z-index:19;padding:1rem var(--layout-gutter) calc(1.5rem + env(safe-area-inset-bottom));overscroll-behavior:contain;border-top:1px solid var(--line);background:var(--surface);flex-direction:column;gap:1rem;display:flex;position:fixed;inset:calc(4rem + 1px) 0 0;overflow-y:auto}.header-menu .main-nav{flex-direction:column;flex:none}.header-menu .nav-link{min-height:52px;font-size:1.0625rem}.header-menu .header-tools{border-top:1px solid var(--line);flex-wrap:wrap;gap:.75rem;padding-top:1rem}.header-menu .language,.header-menu .header-tools .button{flex:10rem;min-height:52px}.header-menu .language-button{flex:1;min-height:50px}.header-menu .theme-switch{flex:100%}.header-menu .theme-toggle{display:none}.header-menu .theme-options,.header-menu .theme-options[data-open=true]{width:auto;box-shadow:none;background:0 0;border:0;gap:.4rem;padding:0;display:grid;position:static}.header-menu .theme-options-label{padding:0}.header-menu .theme-choices{border:1px solid var(--line);border-radius:var(--radius-control);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;overflow:hidden}.header-menu .theme-choice{border-radius:0;justify-content:center;min-height:50px}.header-menu .theme-choice+.theme-choice{border-left:1px solid var(--line)}.header-menu .theme-choice[aria-pressed=true]{background:var(--primary);color:var(--primary-contrast);box-shadow:none}}html.menu-open{overflow:hidden}.page-header{margin-bottom:1.25rem}.page-header h1{outline:none}.page-summary,.muted{color:var(--muted)}.block{display:block}.prewrap{white-space:pre-wrap}.card{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow);margin-bottom:1rem;padding:1.25rem}.card-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:1rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.card-list .card{margin:0}.event-card h3 a{min-height:var(--layout-target);color:var(--text);align-items:center;text-decoration:none;display:inline-flex}.event-card p>a:only-child,.event-header-meta a,.auth-links a,.auth-switch a,.empty-state>a{min-height:var(--layout-target);align-items:center;display:inline-flex}.event-card h3 a:hover{text-decoration:underline}.event-card-top{flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem;display:flex}.event-when{font-weight:600}.event-facts{flex-wrap:wrap;gap:.5rem 1rem;display:flex}.basket-icon{fill:currentColor;vertical-align:-.15em;width:1.1em;height:1.1em}.badge{background:var(--surface-soft);color:var(--text);border-radius:8px;padding:.15rem .5rem;font-size:.85rem;font-weight:600;display:inline-block}.badge-registration-open,.badge-viewer,.badge-own-registered{background:var(--success-surface);color:var(--primary-strong)}.badge-in-progress{background:var(--primary);color:var(--primary-contrast)}.badge-cancelled,.badge-own-removed{background:var(--danger-surface);color:var(--danger)}.badge-postponed,.badge-own-waitlisted{background:var(--warning-surface)}.hero{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow);margin-bottom:2rem;padding:clamp(1.25rem,4vw,2.5rem)}.hero>.basket-icon{width:3rem;height:3rem;color:var(--primary);margin-bottom:.75rem}.hero h1{outline:none;max-width:28ch}.hero p{max-width:60ch}.actions{flex-wrap:wrap;gap:.75rem;margin-top:1rem;display:flex}.button{border-radius:var(--radius-control);min-height:44px;font:inherit;cursor:pointer;border:2px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.1rem;font-weight:700;text-decoration:none;display:inline-flex}.button[disabled]{opacity:.6;cursor:not-allowed}.button-primary{background:var(--primary);color:var(--primary-contrast)}.button-primary:hover:not([disabled]){background:var(--primary-strong)}.button-secondary{background:var(--surface);color:var(--primary-strong);border-color:var(--primary)}.button-danger{background:var(--surface);color:var(--danger);border-color:var(--danger)}.button[aria-busy=true]:after{content:"";border:2px solid;border-right-color:#0000;border-radius:50%;width:1em;height:1em;animation:.8s linear infinite spin}.notice{border-radius:var(--radius-control);background:var(--surface-soft);margin:.75rem 0;padding:.75rem 1rem}.notice-error{background:var(--danger-surface);color:var(--danger)}.notice-success{background:var(--success-surface)}.field{gap:.25rem;margin-bottom:1rem;display:grid}.field label,fieldset legend{font-weight:600}.field-marker,.field-hint{color:var(--muted);margin:0;font-size:.9rem;font-weight:400}.field input,.field select,.search input{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);width:100%;min-height:44px;color:var(--text);font:inherit;padding:.5rem .75rem}.field-invalid input{border-color:var(--danger);border-width:2px}.field-error{color:var(--danger);margin:0;font-weight:600}.field-row{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:0 1rem;display:grid}.checkbox-field{grid-template-columns:auto 1fr;align-items:start;gap:.25rem .75rem;margin-bottom:1rem;display:grid}.checkbox-field input{width:1.4rem;height:1.4rem;accent-color:var(--primary);margin:.7rem 0 0}.checkbox-field label{min-height:var(--layout-target);cursor:pointer;align-items:center;display:flex}.checkbox-field .field-hint{grid-column:2}fieldset{border:0;margin:0 0 1rem;padding:0}.division-choice .choice{border:1px solid var(--line);border-radius:var(--radius-control);cursor:pointer;align-items:flex-start;gap:.75rem;margin-top:.5rem;padding:.75rem;display:flex}.division-choice .choice:has(input:checked){border-color:var(--primary);background:var(--surface-soft);border-width:2px}.division-choice input{width:1.3rem;height:1.3rem;accent-color:var(--primary);margin-top:.1rem}.choice-text{display:grid}.details-block{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem}.consent{color:var(--muted);font-size:.9rem}.search label{font-weight:600}.search-row{gap:.5rem;margin:.25rem 0 1rem;display:flex}.filter-row{flex-wrap:wrap;gap:.75rem 1.5rem;display:flex}.segmented{flex-wrap:wrap;align-items:center;gap:.5rem;margin:0;display:flex}.segmented legend{width:100%;margin-bottom:.25rem}.segmented label{position:relative}.segmented input{opacity:0;position:absolute;inset:0}.segmented span{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);cursor:pointer;align-items:center;min-height:44px;padding:.4rem .9rem;display:inline-flex}.segmented input:checked+span{background:var(--primary);border-color:var(--primary);color:var(--primary-contrast);font-weight:700}.segmented input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}.event-layout{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;gap:1rem;display:grid}@media (width<=800px){.event-layout{grid-template-columns:minmax(0,1fr)}.event-side{order:-1}}.event-header-meta{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;display:flex}.facts{gap:.75rem;margin:0 0 1rem;display:grid;container-type:inline-size}.facts div{grid-template-columns:minmax(min(100%,7rem),10rem) minmax(0,1fr);gap:.15rem .75rem;display:grid}@container (width<=26rem){.facts div{grid-template-columns:minmax(0,1fr)}}.facts dt{color:var(--muted);font-weight:600}.facts dd{margin:0}.plain-list{gap:.5rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.table-wrap{margin-bottom:1rem;overflow-x:auto}button,.button,input,select{overflow-wrap:break-word}.results{overflow-wrap:normal;border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.results caption{text-align:left;padding:.5rem 0;font-weight:700}.results th,.results td{border-bottom:1px solid var(--line);text-align:left;padding:.5rem}.results thead th{color:var(--muted);font-size:.9rem}.results tbody th{font-weight:600}.viewer-row{background:var(--surface-soft)}.auth-page{max-width:34rem;margin-inline:auto}.auth-card form{display:grid}.auth-links,.auth-switch{margin-top:1rem}.oauth-buttons{gap:.5rem;margin-bottom:1rem;display:grid}.divider{color:var(--muted);align-items:center;gap:.75rem;margin:.5rem 0 0;display:flex}.divider:before,.divider:after{content:"";border-top:1px solid var(--line);flex:1}.callout{background:var(--surface-soft);border-radius:var(--radius-control);padding:1rem}.empty-state{text-align:center;padding:2rem 1rem}.empty-line{padding:1rem 0}.loading-state{color:var(--muted);align-items:center;gap:.75rem;display:flex}.spinner{border:3px solid var(--line);border-top-color:var(--primary);border-radius:50%;width:1.25rem;height:1.25rem;animation:.9s linear infinite spin}.announcement+.announcement{border-top:1px solid var(--line);padding-top:1rem}.dialog{border-radius:var(--radius-card);background:var(--surface);color:var(--text);box-shadow:var(--shadow);border:0;width:min(32rem,100% - 2rem);padding:0}.dialog::backdrop{background:#00000073}.dialog-body{padding:1.5rem}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;margin-top:1rem;display:flex}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
