/* Functional bindings for Fable's source stylesheet. */
[hidden]{display:none!important}
.icon-defs{position:absolute}
.skip-link{position:fixed;left:12px;top:-100px;z-index:50;padding:12px;background:var(--flaeche-hell)}
.skip-link:focus{top:12px}
.shell.solo{grid-template-columns:minmax(0,1fr);width:min(100%,980px)}
#feedback:not(:empty){margin-bottom:16px}
.control-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
.control-grid .full{grid-column:1/-1}
.inline-form{display:flex;flex-wrap:wrap;align-items:end;gap:8px}
.inline-form .field{min-width:min(160px,100%)}
.check{display:flex;align-items:center;gap:8px;min-height:44px}
.check input{width:20px;height:20px;accent-color:var(--gruen)}
.card,.row,.field,.day{min-width:0}
.row-titel,.row-haupt,.muted{overflow-wrap:anywhere}
.code-feld img{display:block;max-width:100%;height:auto}
.card details summary{cursor:pointer;min-height:44px;line-height:44px;font-weight:650;color:var(--gruen)}
.card details form{margin-top:8px}
.danger{color:var(--rot)}
.notice-error{background:var(--rot-hauch);border-color:var(--rot)}
.nav-link{min-height:44px}
.week .schicht{min-width:0}
.schicht .button{min-height:44px;white-space:normal}
h1:focus{outline:none}
@media(max-width:699px){
  .side{grid-template-columns:repeat(4,minmax(0,1fr))}
  .side.short{display:flex;justify-content:space-around}
  .side.short .nav-link{min-width:68px}
  .control-grid{grid-template-columns:minmax(0,1fr)}
  .konto .button{min-height:44px}
  .logo{font-size:14px;gap:7px}
  .code-karte{justify-items:stretch}
  .code-feld{justify-self:center}
}
.invite-code{font-size:clamp(2rem,8vw,3rem);letter-spacing:.04em}
@media(max-width:699px){.side:not(.short){grid-template-columns:repeat(5,minmax(0,1fr))}}
.hero-day{margin-bottom:4px;font-weight:650}

/* iPad review controls */
.preview-strip{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:8px 20px;
  background:var(--schiefer-hauch);border-bottom:1px solid var(--linie);font-size:14px;color:var(--schiefer-text)}
.preview-strip button{min-height:44px}
.side{top:calc(var(--kopf) + 61px)}
@media(max-width:699px){.side{top:auto}.preview-strip{padding-inline:16px}}
@media(max-width:400px){.preview-strip{gap:6px;font-size:12px}.preview-strip button{font-size:13px;padding-inline:10px}}
.preview-strip{position:sticky;top:var(--kopf);z-index:24}
