.site-dock{z-index:20;height:0;position:sticky;top:0}.site-dock:before{content:"";inset-inline:0;background:var(--ground);opacity:0;pointer-events:none;height:64px;position:absolute;top:0}@supports (animation-timeline:scroll()){.site-dock:before{animation:linear both site-fill;animation-timeline:scroll(root);animation-range:0 1px}}@keyframes site-fill{to{opacity:1}}html:has(.site-dock){scroll-padding-top:88px}.site-bar{top:4px;align-items:center;gap:var(--s5);height:56px;padding:0 var(--page-margin);color:var(--ink);display:flex;position:absolute;inset-inline:0}.site-brand{min-height:var(--touch);font-size:var(--step-body);flex:none}.site-links{gap:var(--s1);min-width:0;display:flex}.site-links a{min-height:var(--control);padding:0 var(--s3);border-radius:var(--radius-control);color:var(--ink);font-size:var(--fs-body);font-weight:var(--w-medium);white-space:nowrap;transition:background-color var(--t-hover) ease;align-items:center;text-decoration:none;display:inline-flex}@media (hover:hover) and (pointer:fine){.site-links a:hover{background:var(--active);color:var(--ink)}}.site-links a:active{background:var(--active)}.site-actions{align-items:center;gap:var(--s2);margin-left:auto;display:flex}.site-actions .btn{min-height:var(--control)}.site-actions .theme-cycle{width:var(--control);height:var(--control)}.site-menu{display:none;position:relative}.site-menu summary{width:var(--touch);height:var(--touch);border-radius:var(--radius-control);background:var(--active);color:var(--ink);cursor:pointer;transition:background-color var(--t-hover) ease, transform var(--t-press) var(--ease-out);place-items:center;list-style:none;display:grid}.site-menu summary::-webkit-details-marker{display:none}.site-menu summary svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;width:18px;height:18px}.site-menu summary:active{transform:scale(.97)}.site-menu summary:focus-visible{outline:2px solid var(--focus);outline-offset:2px}@media (hover:hover) and (pointer:fine){.site-menu summary:hover{background:var(--secondary-hover)}}.site-menu-list{transform-origin:100% 0;right:0;top:calc(100% + var(--s3));min-width:220px;padding:var(--s1);background:var(--surface);border-radius:var(--radius-card);display:grid;position:absolute}.site-menu[open] .site-menu-list{box-shadow:var(--shadow-float)}.site-menu-list a{min-height:var(--touch);padding:0 var(--s3);border-radius:var(--radius-chip);color:var(--ink);font-weight:var(--w-medium);font-size:var(--step-body);align-items:center;text-decoration:none;display:flex}@media (hover:hover) and (pointer:fine){.site-menu-list a:hover{background:var(--active);color:var(--ink)}}@media (prefers-reduced-motion:no-preference){.site-menu[open] .site-menu-list{animation:site-drop .16s var(--ease-out) both}}@keyframes site-drop{0%{opacity:0;transform:translateY(-4px)scale(.95)}to{opacity:1;transform:none}}@media (max-width:959px){.site-links{display:none}.site-menu{display:block}}@media (max-width:767px){.site-bar{top:max(4px, env(safe-area-inset-top));gap:var(--s3)}.site-dock:before{height:calc(max(4px, env(safe-area-inset-top)) + 60px)}.site-actions{gap:var(--s1)}.site-actions .btn,.site-actions .theme-cycle{min-height:var(--touch);height:var(--touch)}.site-actions .theme-cycle{width:var(--touch)}}@media (max-width:640px){.site-cta{display:none}.site-brand,.site-actions{min-width:0}.site-login,.site-cta{padding-inline:var(--s3)}}.cookie-note{z-index:30;left:var(--page-margin);bottom:max(var(--s4), env(safe-area-inset-bottom));width:min(31rem, calc(100% - 2 * var(--page-margin)));align-items:center;column-gap:var(--s4);padding:var(--s3) var(--s3) var(--s3) var(--s4);background:var(--surface);color:var(--ink);border-radius:var(--radius-card);border:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;display:grid;position:fixed}.cookie-dialog-title{font-size:var(--fs-section);font-weight:var(--w-strong);margin:0}.cookie-note p{font-size:var(--fs-body);margin:0;line-height:1.45}.cookie-note a{color:inherit}.cookie-note p a{padding-block:var(--s1);margin-block:calc(var(--s1) * -1);display:inline-block}.cookie-actions{gap:var(--s2);flex-wrap:wrap;display:flex}.cookie-actions .btn{min-height:var(--touch);flex:auto}.cookie-note>.cookie-actions{flex-wrap:nowrap}.cookie-dialog{width:min(26rem, calc(100% - 2 * var(--s4)));padding:var(--s5);color:var(--ink);border:0}.cookie-dialog[open]{gap:var(--s3);display:grid}.cookie-dialog::backdrop{background:var(--scrim)}.cookie-dialog p{margin:0}.cookie-row{align-items:center;gap:var(--s3);min-height:var(--touch);font-weight:var(--w-medium);display:flex}.cookie-row input{width:20px;height:20px;accent-color:var(--accent);margin:0}.cookie-note{transition:transform .24s var(--ease-out), opacity .24s var(--ease-out)}.cookie-note[data-away]{transform:translateY(calc(100% + var(--s5)));opacity:0;transition:transform .24s var(--ease-out), opacity .24s var(--ease-out)}.cookie-note[data-away]:focus-within{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.cookie-note,.cookie-note[data-away]{transition:none}}@media (prefers-reduced-motion:no-preference){.cookie-dialog[open]{animation:dialog-in .2s var(--ease-out)}.cookie-dialog[open]::backdrop{animation:backdrop-in .2s var(--ease-out)}}@keyframes dialog-in{0%{opacity:0;transform:scale(.95)}}@keyframes backdrop-in{0%{opacity:0}}@media (prefers-reduced-motion:no-preference){.cookie-note{animation:site-rise .32s var(--ease-out) backwards;animation-delay:.6s}}@keyframes site-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media (min-width:641px) and (max-width:1180px){.cookie-note{width:auto;max-width:calc(100% - 2 * var(--page-margin))}.cookie-more,.cookie-note>.cookie-actions .btn+.btn{display:none}}@media (max-width:640px){.cookie-note{column-gap:var(--s2);width:auto;padding:var(--s1) var(--s2) max(var(--s1), env(safe-area-inset-bottom)) var(--page-margin);box-shadow:var(--shadow-float);border:0;border-radius:0;bottom:0;left:0;right:0}.cookie-note p{font-size:14px;line-height:1.25}.cookie-more,.cookie-note>.cookie-actions .btn+.btn{display:none}.cookie-note>.cookie-actions{gap:var(--s1)}.cookie-note>.cookie-actions .btn{padding-inline:var(--s3)}}
