/* Shared interaction primitives use the same semantic tokens as native controls. */
.tw-tabs{display:flex;gap:var(--tw-space-control-gap,8px)}
.tw-tabs.tw-carousel-indicators{gap:var(--tw-space-label-gap,4px)}
.tw-tabs[aria-orientation="vertical"]{flex-direction:column}
.tw-menu{padding:var(--tw-space-component-padding-compact,8px);background:var(--tw-plate);color:var(--tw-ink);border:0;border-radius:var(--tw-surface-radius,12px)}
.tw-menu[hidden],.tw-fullscreen-overlay[hidden]{display:none}
.tw-menu [role^="menuitem"]{text-align:start}
.tw-dialog{color:var(--tw-ink);background:var(--tw-case);border:0;border-radius:var(--tw-surface-radius,12px);padding:var(--tw-space-component-padding,16px)}
.tw-dialog::backdrop{background:color-mix(in srgb,var(--tw-recess) 65%,transparent)}
/* Opt-in dialog sheets share section-card frost, paper and a readable title
 * fade. A quiet semantic edge separates the sheet from its dimmed backdrop.
 * They remain native dialogs; never override closed-dialog display. */
dialog.tw-dialog.tw-dialog--sheet{--tw-ink:var(--tw-glass-ink);--tw-muted:var(--tw-glass-muted);box-sizing:border-box;width:440px;max-width:calc(100vw - var(--tw-space-page-gutter-compact,16px) * 2);max-height:calc(100dvh - var(--tw-space-page-gutter-compact,16px) * 2);padding:0;overflow:auto;border:1px solid color-mix(in srgb,var(--tw-glass-ink) 28%,var(--tw-glass));border-radius:28px;background:var(--tw-glass);color:var(--tw-glass-ink);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--tw-plate) 92%,transparent),0 18px 30px -25px color-mix(in srgb,var(--tw-glass-ink) 24%,transparent)}
.tw-dialog--sheet>.tw-dialog__header{display:flex;align-items:center;box-sizing:border-box;min-height:112px;padding:calc(var(--tw-space-component-padding,16px) + var(--tw-space-control-gap,8px));overflow:hidden;border-radius:28px 28px 0 0;background:transparent;color:var(--tw-glass-ink);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--tw-plate) 92%,transparent)}
.tw-dialog__header>.tw-glass-plate__canvas{border-radius:inherit;opacity:.82}
.tw-dialog__header>:not(.tw-glass-plate__canvas):not(.tw-gradient-fade){position:relative;z-index:1;min-width:0;max-width:78%}
.tw-dialog--sheet .tw-dialog__header :is(h1,h2,h3,h4,h5,h6){margin:0;font:400 30px/1.08 var(--tw-glass-font-display);letter-spacing:-.025em;overflow-wrap:anywhere;text-wrap:balance}
.tw-dialog--sheet>.tw-dialog__body{display:grid;min-width:0;gap:var(--tw-space-component-padding,16px);margin:0;padding:0 calc(var(--tw-space-component-padding,16px) + var(--tw-space-control-gap,8px)) calc(var(--tw-space-component-padding,16px) + var(--tw-space-control-gap,8px));background:transparent;color:var(--tw-glass-ink)}
.tw-dialog--sheet .tw-dialog__body p{margin:0;color:var(--tw-glass-muted)}
@media(max-width:480px){dialog.tw-dialog.tw-dialog--sheet{border-radius:26px}.tw-dialog--sheet>.tw-dialog__header{border-radius:26px 26px 0 0}.tw-dialog--sheet .tw-dialog__header :is(h1,h2,h3,h4,h5,h6){font-size:26px}}
@media(prefers-reduced-motion:reduce){.tw-dialog--sheet,.tw-dialog--sheet *{animation:none;transition:none}}
@media(prefers-reduced-transparency:reduce){.tw-dialog--sheet .tw-dialog__header{background:var(--tw-glass)}}
@media(forced-colors:active){dialog.tw-dialog.tw-dialog--sheet{background:Canvas;color:CanvasText;border:1px solid CanvasText;box-shadow:none}.tw-dialog--sheet>.tw-dialog__header{background:Canvas;color:CanvasText;border:0;box-shadow:none}.tw-dialog--sheet>.tw-dialog__body,.tw-dialog--sheet .tw-dialog__body p{color:CanvasText}.tw-dialog--sheet :focus-visible{outline-color:Highlight}}
.tw-carousel{touch-action:pan-y}
[data-bildpunkt-pan="x"]{touch-action:pan-y}
[data-bildpunkt-pan="y"]{touch-action:pan-x}
[data-bildpunkt-pan].is-panning{scroll-snap-type:none;cursor:grabbing;user-select:none}
.tw-fullscreen-overlay{position:fixed;inset:0;background:var(--tw-recess);color:var(--tw-ink)}
:is(.tw-tabs,.tw-menu,.tw-dialog,.tw-carousel,.tw-fullscreen-overlay) :focus-visible,.tw-carousel:focus-visible{outline:3px solid var(--tw-accent);outline-offset:3px}
.tw-pedal-card__switch:disabled{cursor:not-allowed;opacity:1}

/* A fullscreen visual is itself the dismiss target; keyboard focus remains visible. */
.tw-fullscreen-overlay .tw-fullscreen-overlay__close{position:absolute;inset:0;width:100%;height:100%;min-width:0;min-height:0;max-width:none;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;clip-path:none;transform:none;translate:none;cursor:pointer;touch-action:none}
.tw-fullscreen-overlay .tw-fullscreen-overlay__close::before,.tw-fullscreen-overlay .tw-fullscreen-overlay__close::after{display:none}
.tw-fullscreen-overlay .tw-fullscreen-overlay__close:focus-visible{outline:3px solid var(--tw-accent);outline-offset:-6px}
