:root{
  --gfl-green:#0b5e46;
  --gfl-green-2:#0f7b5d;
  --gfl-green-3:#dff4eb;
  --gfl-ink:#17382f;
  --gfl-muted:#6e7f79;
  --gfl-cream:#fff9ed;
  --gfl-paper:#fffefb;
  --gfl-gold:#e4b84f;
  --gfl-line:#d9e7e1;
  --gfl-purple:#7a4ae2;
  --gfl-red:#c84f56;
  --gfl-shadow:0 22px 70px rgba(15,65,52,.15);
}
.gfl-app,.gfl-app *{box-sizing:border-box}
.gfl-app{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--gfl-ink);line-height:1.45}
.gfl-app button,.gfl-app input,.gfl-app textarea{font:inherit}
.gfl-app button,.gfl-app a{-webkit-tap-highlight-color:transparent}
.gfl-app h1,.gfl-app h2,.gfl-app h3{font-family:Georgia,"Times New Roman",serif;color:#153f33;margin:0}
.gfl-eyebrow{display:block;font:800 10px/1.2 Inter,system-ui,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:var(--gfl-green-2)}
.gfl-btn{border:0;border-radius:14px;padding:12px 18px;font-weight:800;cursor:pointer;text-decoration:none!important;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}
.gfl-btn:hover{transform:translateY(-1px)}
.gfl-btn-primary{background:linear-gradient(135deg,#15956d,#087454);color:#fff!important;box-shadow:0 10px 24px rgba(10,112,82,.2)}
.gfl-btn-primary:hover{box-shadow:0 13px 29px rgba(10,112,82,.28)}
.gfl-btn-ghost{background:#fff;color:var(--gfl-green)!important;border:1.5px solid #cfe0d9;box-shadow:0 5px 14px rgba(17,70,57,.06)}
.gfl-icon-btn{width:42px;height:42px;border-radius:13px;border:1px solid #d8e4df;background:#fff;color:var(--gfl-green);font-weight:900;font-size:22px;display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 16px rgba(12,74,56,.08)}

/* Library */
.gfl-library{position:relative;min-height:72vh;padding:clamp(30px,5vw,72px) clamp(18px,4vw,64px) 76px;overflow:hidden;background:
 radial-gradient(circle at 8% 8%,rgba(227,184,79,.20),transparent 23%),
 radial-gradient(circle at 92% 12%,rgba(38,151,111,.14),transparent 27%),
 linear-gradient(145deg,#f6fff9 0%,#fffaf0 48%,#f2fbf7 100%);border-radius:28px}
.gfl-library:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;background-image:radial-gradient(rgba(11,94,70,.28) .7px,transparent .7px);background-size:18px 18px;mask-image:linear-gradient(to bottom,black,transparent 70%)}
.gfl-library>*{position:relative;z-index:1}
.gfl-library-head{max-width:1200px;margin:0 auto 24px;display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
.gfl-library-head h1{font-size:clamp(38px,5vw,62px);letter-spacing:-.035em;margin-top:4px}
.gfl-library-head p{margin:8px 0 0;color:#587069;font-size:16px;max-width:680px}
.gfl-library-tools{max-width:1200px;margin:0 auto 28px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.gfl-search{flex:1;max-width:560px;display:flex;align-items:center;gap:9px;background:rgba(255,255,255,.86);border:1.5px solid rgba(11,94,70,.15);border-radius:16px;padding:0 14px;box-shadow:0 10px 25px rgba(16,74,58,.06);backdrop-filter:blur(8px)}
.gfl-search span{font-size:21px;color:var(--gfl-green)}
.gfl-search input{width:100%;height:48px;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;color:var(--gfl-ink)}
.gfl-workshop-link{font-weight:800;color:var(--gfl-green)!important;text-decoration:none!important}
.gfl-card-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.gfl-card{background:rgba(255,255,255,.93);border:1.5px solid rgba(11,94,70,.13);border-radius:24px;overflow:hidden;box-shadow:0 18px 48px rgba(15,69,53,.10);transition:transform .16s ease,box-shadow .16s ease}
.gfl-card:hover{transform:translateY(-3px);box-shadow:0 24px 58px rgba(15,69,53,.15)}
.gfl-card-preview{height:190px;padding:24px;background:linear-gradient(145deg,#e9f7f1,#fff6e4);display:flex;flex-direction:column;justify-content:center;gap:18px;position:relative;overflow:hidden}
.gfl-card-preview:after{content:"";position:absolute;width:160px;height:160px;border:28px solid rgba(228,184,79,.18);border-radius:50%;right:-55px;top:-65px}
.gfl-mini-text{position:relative;z-index:1;background:#fffefb;border:1.5px solid rgba(11,94,70,.13);border-radius:17px;padding:19px;box-shadow:0 12px 26px rgba(12,75,56,.09);display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.gfl-mini-text span{height:7px;width:44px;border-radius:8px;background:#749389}
.gfl-mini-text span:nth-child(2n){width:58px}
.gfl-mini-text i,.gfl-mini-text b{height:20px;width:48px;border-radius:7px;background:#eef8f4;border:1.5px dashed #3f9b7c}
.gfl-mini-text b{width:62px}
.gfl-mini-bank{position:relative;z-index:1;display:flex;gap:7px;justify-content:center}
.gfl-mini-bank em{font-style:normal;font-size:10px;font-weight:800;background:#0b5e46;color:#fff;border-radius:8px;padding:6px 10px;box-shadow:0 5px 10px rgba(11,94,70,.17)}
.gfl-card-body{padding:21px}
.gfl-card-meta{display:flex;gap:7px;min-height:23px;margin-bottom:8px}.gfl-card-meta span{font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;background:#e8f6f0;color:#0b6c50;border-radius:999px;padding:5px 9px}.gfl-card-meta .is-draft{background:#fff1c9;color:#8f6609}
.gfl-card h2{font-size:24px;line-height:1.15}.gfl-card p{margin:7px 0 0;color:#6d7d78;font-size:14px;min-height:20px}.gfl-card-actions{display:flex;gap:9px;margin-top:18px}.gfl-card-actions .gfl-btn{padding:10px 14px;flex:1}
.gfl-empty{grid-column:1/-1;border:1.5px dashed #b9d2c8;border-radius:22px;background:rgba(255,255,255,.64);padding:54px;text-align:center;color:#698078;font-weight:700}

/* Builder */
.gfl-overlay{position:fixed;z-index:999999;inset:0;background:rgba(10,49,39,.70);backdrop-filter:blur(8px);padding:clamp(12px,3vh,30px);overflow:auto}
.gfl-overlay[hidden]{display:none!important}
.gfl-builder{width:min(1320px,100%);min-height:min(820px,calc(100vh - 40px));margin:auto;background:#fbfffd;border:1px solid rgba(255,255,255,.55);border-radius:28px;box-shadow:0 36px 100px rgba(0,37,28,.36);overflow:hidden;display:flex;flex-direction:column}
.gfl-builder-header{padding:18px 22px;border-bottom:1px solid #e4eee9;background:rgba(255,255,255,.95);display:flex;align-items:center;justify-content:space-between;gap:20px;position:sticky;top:0;z-index:8}.gfl-builder-header h2{font-size:28px;margin-top:2px}
.gfl-builder-main{display:grid;grid-template-columns:minmax(340px,.78fr) minmax(520px,1.45fr);flex:1;min-height:0}
.gfl-live-panel{padding:22px;background:
 radial-gradient(circle at 20% 20%,rgba(230,185,79,.2),transparent 30%),
 linear-gradient(150deg,#eaf8f2,#fdf8eb);border-right:1px solid #dfece6;position:sticky;top:79px;align-self:start;height:calc(100vh - 160px);min-height:650px;overflow:auto}
.gfl-panel-label{font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#336f5d;margin-bottom:15px}
.gfl-live-stage{min-height:560px;border-radius:22px;background:rgba(255,255,255,.63);border:1.5px solid rgba(11,94,70,.13);box-shadow:inset 0 1px 0 #fff,0 16px 35px rgba(13,73,56,.08);padding:18px;display:flex;align-items:flex-start;justify-content:center}
.gfl-live-placeholder{margin:auto;color:#7e908a;text-align:center;font-weight:700}
.gfl-form-panel{padding:24px 26px 100px;overflow:visible;background:linear-gradient(#fff,#fbfffd)}
.gfl-field{display:block;margin-bottom:16px}.gfl-field>span{display:block;font-size:12px;font-weight:900;color:#285d4d;margin:0 0 7px}.gfl-field>span b{color:#d15858}.gfl-field input,.gfl-field textarea{width:100%;border:1.5px solid #d5e4de!important;border-radius:14px!important;background:#fff!important;color:#193e33!important;outline:0!important;box-shadow:0 5px 14px rgba(16,70,57,.04)!important}.gfl-field input{height:48px;padding:0 14px}.gfl-field input:focus,.gfl-text-editor textarea:focus{border-color:#58a78d!important;box-shadow:0 0 0 4px rgba(57,151,119,.10)!important}
.gfl-two-fields{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.gfl-media-editor,.gfl-text-editor{border:1.5px solid #d9e8e2;border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(14,74,56,.055);padding:17px;margin:4px 0 18px}
.gfl-section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:13px}.gfl-section-head>div:first-child>span{display:block;font-size:9px;font-weight:900;letter-spacing:.13em;color:#15916b}.gfl-section-head h3{font-size:20px;margin-top:2px}.gfl-section-head small{color:#82948e;font-weight:700}
.gfl-media-choice{display:flex;gap:8px;flex-wrap:wrap}.gfl-media-choice button{border:1.5px solid #cfe0d9;background:#f9fdfb;border-radius:12px;padding:9px 13px;color:#285f4e;font-weight:850;cursor:pointer;transition:.12s}.gfl-media-choice button:hover{background:#edf8f3;border-color:#86bda9}.gfl-media-choice .gfl-media-remove{margin-left:auto;color:#a74f55;background:#fff8f7;border-color:#f0d1d2}
.gfl-media-preview{margin-top:12px;min-height:86px;border-radius:16px;border:1.5px dashed #c9ddd5;background:linear-gradient(135deg,#f7fcfa,#fffaf1);display:flex;align-items:center;justify-content:center;padding:12px;color:#7a8e87;font-size:13px;text-align:center;overflow:hidden}.gfl-media-preview img,.gfl-media-preview video{width:100%;max-height:240px;object-fit:cover;border-radius:12px}.gfl-media-preview audio{width:min(100%,520px)}
.gfl-editor-tabs{display:flex;background:#eef6f2;border-radius:11px;padding:3px;gap:2px}.gfl-editor-tabs button{border:0;background:transparent;color:#607a71;padding:7px 10px;border-radius:8px;font-size:11px;font-weight:850;cursor:pointer}.gfl-editor-tabs button.is-active{background:#fff;color:#0b6a4e;box-shadow:0 2px 8px rgba(10,78,58,.09)}
.gfl-editor-surface{border:1.5px solid #cfe0da;border-radius:16px;overflow:hidden;background:#fff}.gfl-text-editor textarea{width:100%;min-height:330px;max-height:none;resize:vertical;border:0!important;border-radius:0!important;outline:0!important;padding:18px;font:500 16px/1.75 Georgia,"Times New Roman",serif;color:#1f3d34;background:#fff!important;box-shadow:none!important}.gfl-marker-surface{min-height:330px;padding:18px;font:500 16px/1.82 Georgia,"Times New Roman",serif;color:#1f3d34;white-space:pre-wrap;overflow-wrap:anywhere}.gfl-marker-word{display:inline;border:0;background:transparent;padding:2px 1px;border-radius:5px;color:inherit;font:inherit;line-height:inherit;cursor:pointer;transition:background .08s,color .08s,box-shadow .08s}.gfl-marker-word:hover{background:#e7f5ef}.gfl-marker-word.is-gap{background:#0b7657;color:#fff;box-shadow:0 2px 0 #07533e;padding:2px 4px;margin:0 1px}.gfl-marker-punct{display:inline}.gfl-editor-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;font-size:12px;color:#698079;font-weight:750}.gfl-editor-foot button{border:0;background:none;color:#a25155;font-size:11px;font-weight:850;cursor:pointer}
.gfl-builder-footer{position:sticky;bottom:0;z-index:9;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 22px;background:rgba(255,255,255,.96);border-top:1px solid #e2ece8;backdrop-filter:blur(10px)}.gfl-save-status{font-size:12px;font-weight:800;color:#5b756c}.gfl-save-status.is-error{color:#b9464f}.gfl-save-status.is-ok{color:#08704f}.gfl-footer-actions{display:flex;gap:9px}

/* Shared media frame */
.gfl-media-frame{margin:0 0 20px;border:1.5px solid rgba(11,94,70,.17);border-radius:24px;padding:10px;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(249,253,251,.90));box-shadow:0 17px 42px rgba(11,73,55,.10);overflow:hidden;position:relative}.gfl-media-frame:before{content:"";position:absolute;inset:7px;border:1px solid rgba(228,184,79,.24);border-radius:18px;pointer-events:none;z-index:2}.gfl-media-frame img,.gfl-media-frame video{position:relative;z-index:1;width:100%;display:block;max-height:430px;object-fit:contain;border-radius:17px;background:#eef6f2}.gfl-media-video video{aspect-ratio:16/9;background:#142620}.gfl-media-audio{min-height:120px;padding:22px 24px;display:grid;grid-template-columns:64px 1fr minmax(250px,48%);align-items:center;gap:16px}.gfl-media-audio:before{inset:8px}.gfl-audio-icon{width:60px;height:60px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,#0e7e5c,#07533e);color:#fff;font-size:31px;box-shadow:0 10px 24px rgba(8,91,66,.22)}.gfl-audio-copy{display:flex;flex-direction:column;gap:2px}.gfl-audio-copy strong{font:700 20px/1.2 Georgia,serif;color:#164536}.gfl-audio-copy span{font-size:12px;color:#72857f}.gfl-media-audio audio{width:100%;position:relative;z-index:3}

/* Player */
.gfl-player-page{min-height:85vh;padding:clamp(18px,3vw,38px);background:
 radial-gradient(circle at 12% 5%,rgba(234,190,79,.20),transparent 22%),
 radial-gradient(circle at 91% 14%,rgba(35,151,109,.16),transparent 27%),
 radial-gradient(circle at 72% 90%,rgba(122,74,226,.07),transparent 26%),
 linear-gradient(145deg,#ecf8f2 0%,#fff9ed 48%,#f0faf6 100%);border-radius:28px;position:relative;overflow:hidden}
.gfl-player-page:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(9,89,65,.22) .65px,transparent .65px);background-size:19px 19px;opacity:.18;pointer-events:none;mask-image:linear-gradient(black 0%,transparent 75%)}
.gfl-player-shell{width:min(1120px,100%);margin:0 auto;position:relative;z-index:1}.gfl-player-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:15px;margin-bottom:22px}.gfl-player-head>a{justify-self:start;text-decoration:none!important;color:#0b654c!important;font-weight:850;font-size:13px}.gfl-player-title{text-align:center}.gfl-player-title h1{font-size:clamp(30px,4.5vw,48px);line-height:1.05;margin-top:3px}.gfl-player-title p{margin:5px 0 0;color:#627770;font-size:13px}.gfl-fullscreen-btn{justify-self:end}
.gfl-exercise-card{background:rgba(255,255,255,.94);border:1.5px solid rgba(11,94,70,.16);border-radius:26px;padding:clamp(20px,3.5vw,42px);box-shadow:var(--gfl-shadow);backdrop-filter:blur(8px);position:relative;overflow:hidden}.gfl-exercise-card:after{content:"";position:absolute;right:-80px;top:-100px;width:230px;height:230px;border-radius:50%;border:40px solid rgba(228,184,79,.08);pointer-events:none}.gfl-instruction{position:relative;z-index:1;display:flex;align-items:center;gap:12px;margin-bottom:25px;padding-bottom:18px;border-bottom:1px solid #e5eee9}.gfl-instruction span{font-size:9px;letter-spacing:.14em;font-weight:900;color:#0d8964;background:#e5f6ef;padding:6px 9px;border-radius:999px}.gfl-instruction strong{font-size:14px;color:#385b50}
.gfl-text-play{position:relative;z-index:1;font:500 clamp(18px,2vw,21px)/1.95 Georgia,"Times New Roman",serif;color:#1d3d33;white-space:pre-wrap;overflow-wrap:anywhere}.gfl-gap{display:inline-flex;vertical-align:baseline;align-items:center;justify-content:center;min-width:94px;max-width:min(270px,70vw);height:35px;margin:0 4px;padding:0 9px;border:1.6px dashed #4d9f82;border-radius:9px;background:#eef8f4;color:#0c654b;font:800 14px/1.2 Inter,system-ui,sans-serif;cursor:pointer;transition:background .1s,border-color .1s,transform .1s,box-shadow .1s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gfl-gap:hover,.gfl-gap.is-drop-target{background:#def3ea;border-color:#087254;box-shadow:0 0 0 3px rgba(11,118,86,.09)}.gfl-gap.is-filled{border-style:solid;background:#fff9e9;border-color:#d9b353;color:#65501a;box-shadow:0 4px 10px rgba(132,104,35,.08)}.gfl-gap.is-correct{background:#ddf5e9;border-color:#15936b;color:#086044}.gfl-gap.is-wrong{background:#fff0f0;border-color:#d86469;color:#a23840;animation:gfl-shake .22s ease}
.gfl-bank-wrap{position:relative;z-index:1;margin-top:34px;padding:18px;border-radius:20px;background:linear-gradient(145deg,#eff9f5,#fff8e9);border:1.5px solid #d7e7df}.gfl-bank-label{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.gfl-bank-label span{font-size:10px;font-weight:900;letter-spacing:.13em;color:#28725c}.gfl-bank-label small{font-size:11px;color:#758780;font-weight:750}.gfl-word-bank{min-height:52px;display:flex;align-items:flex-start;gap:9px;flex-wrap:wrap}.gfl-chip{touch-action:none;user-select:none;border:0;border-radius:12px;background:linear-gradient(145deg,#0e8060,#07583f);color:#fff;padding:10px 14px;font-weight:850;font-size:14px;cursor:grab;box-shadow:0 7px 16px rgba(6,84,60,.17),inset 0 1px rgba(255,255,255,.16);transition:transform .08s ease,box-shadow .08s ease,opacity .08s}.gfl-chip:hover{transform:translateY(-1px);box-shadow:0 9px 19px rgba(6,84,60,.22)}.gfl-chip:active{cursor:grabbing;transform:scale(.98)}.gfl-chip.is-selected{background:linear-gradient(145deg,#e1b640,#c99213);color:#17382f;box-shadow:0 0 0 4px rgba(222,177,58,.18),0 9px 20px rgba(126,92,12,.18)}.gfl-chip[hidden]{display:none!important}.gfl-feedback{min-height:30px;margin-top:18px;text-align:center;font-weight:850;font-size:14px}.gfl-feedback.is-ok{color:#08704f}.gfl-feedback.is-error{color:#b23e48}.gfl-play-actions{display:flex;justify-content:center;gap:11px;margin-top:8px}.gfl-play-actions .gfl-btn{min-width:150px}
.gfl-player-page.is-fullscreen{position:fixed;inset:0;z-index:999999;border-radius:0;overflow:auto;padding:25px}.gfl-player-page.is-fullscreen .gfl-player-shell{width:min(1260px,100%)}
@keyframes gfl-shake{0%,100%{transform:translateX(0)}35%{transform:translateX(-4px)}70%{transform:translateX(4px)}}

/* Builder live exercise */
.gfl-live-stage .gfl-demo-card{width:100%;background:#fff;border:1px solid #d9e8e2;border-radius:19px;padding:18px;box-shadow:0 14px 30px rgba(12,69,54,.09)}.gfl-live-stage .gfl-demo-media{height:120px;border:1.5px solid rgba(11,94,70,.14);border-radius:15px;background:linear-gradient(145deg,#edf8f3,#fff8e8);display:grid;place-items:center;color:#769087;font-size:12px;margin-bottom:15px;overflow:hidden}.gfl-live-stage .gfl-demo-media img,.gfl-live-stage .gfl-demo-media video{width:100%;height:100%;object-fit:cover}.gfl-live-stage .gfl-demo-media audio{width:90%}.gfl-live-stage .gfl-demo-text{font:500 15px/1.8 Georgia,serif;color:#27463c;white-space:pre-wrap}.gfl-live-stage .gfl-demo-gap{display:inline-block;min-width:62px;height:23px;border:1.3px dashed #4a9e80;border-radius:7px;background:#eef8f4;vertical-align:middle;margin:0 2px}.gfl-live-stage .gfl-demo-bank{margin-top:15px;padding:10px;border-radius:13px;background:#eff8f4;display:flex;flex-wrap:wrap;gap:6px}.gfl-live-stage .gfl-demo-bank span{font:800 10px/1 Inter,system-ui,sans-serif;color:#fff;background:#0c7455;border-radius:8px;padding:7px 8px}

/* Workshop card preview */
.gfwk-luecke-shot{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:12px}
.gfwk-luecke-paper{width:min(255px,88%);min-height:110px;background:#fffefb;border:2px solid rgba(11,94,70,.18);border-radius:17px;padding:18px;box-shadow:0 15px 28px rgba(10,76,57,.13);display:flex;align-content:flex-start;gap:6px;flex-wrap:wrap;transform:rotate(-1deg)}
.gfwk-luecke-paper span{height:7px;width:42px;border-radius:6px;background:#708e84}.gfwk-luecke-paper span:nth-child(2n){width:55px}.gfwk-luecke-paper i,.gfwk-luecke-paper b{height:19px;width:45px;border-radius:7px;background:#edf8f3;border:1.5px dashed #309171}.gfwk-luecke-paper b{width:58px}.gfwk-luecke-bank{display:flex;gap:7px}.gfwk-luecke-bank em{font-style:normal;font-size:9px;font-weight:900;color:#fff;background:#0b6d50;border-radius:8px;padding:6px 9px;box-shadow:0 5px 11px rgba(7,89,64,.17)}

@media (max-width:1000px){.gfl-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gfl-builder-main{grid-template-columns:1fr}.gfl-live-panel{position:relative;top:auto;height:auto;min-height:0;border-right:0;border-bottom:1px solid #dfece6}.gfl-live-stage{min-height:330px}.gfl-form-panel{padding-bottom:110px}}
@media (max-width:700px){.gfl-library{padding:26px 14px 60px;border-radius:20px}.gfl-library-head{align-items:flex-start;flex-direction:column}.gfl-library-tools{align-items:stretch;flex-direction:column}.gfl-card-grid{grid-template-columns:1fr}.gfl-card-preview{height:170px}.gfl-overlay{padding:0}.gfl-builder{border-radius:0;min-height:100vh}.gfl-builder-header{padding:14px}.gfl-builder-main{display:block}.gfl-live-panel{padding:14px}.gfl-form-panel{padding:17px 14px 100px}.gfl-two-fields{grid-template-columns:1fr}.gfl-section-head{align-items:flex-start;flex-direction:column}.gfl-editor-tabs{width:100%}.gfl-editor-tabs button{flex:1}.gfl-text-editor textarea,.gfl-marker-surface{min-height:260px;font-size:15px}.gfl-builder-footer{padding:11px 13px}.gfl-save-status{display:none}.gfl-footer-actions{width:100%}.gfl-footer-actions .gfl-btn{flex:1;padding:11px 9px}.gfl-player-page{padding:14px;border-radius:18px}.gfl-player-head{grid-template-columns:auto 1fr auto}.gfl-player-title h1{font-size:29px}.gfl-player-title p,.gfl-player-head>a{font-size:11px}.gfl-exercise-card{padding:19px 15px}.gfl-text-play{font-size:18px;line-height:1.9}.gfl-gap{min-width:74px;max-width:190px;height:33px;margin:0 2px;padding:0 6px;font-size:12px}.gfl-media-audio{grid-template-columns:50px 1fr;padding:17px}.gfl-audio-icon{width:48px;height:48px;border-radius:14px}.gfl-media-audio audio{grid-column:1/-1}.gfl-play-actions{flex-direction:column}.gfl-play-actions .gfl-btn{width:100%}}
.gfl-gap.is-touch-target{background:#d5f0e5;border-color:#075d45;box-shadow:0 0 0 4px rgba(11,118,86,.14)}
.gfl-chip-float{position:fixed!important;z-index:1000005!important;pointer-events:none!important;transform:translate(-50%,-70%) scale(1.04)!important;margin:0!important;opacity:.94;box-shadow:0 16px 30px rgba(4,68,49,.28)!important}

/* 0.1.1: WordPress media library must sit above the fullscreen constructor. */
.media-modal-backdrop{z-index:1000010!important}.media-modal{z-index:1000020!important}.media-frame-menu,.media-frame-title,.media-frame-router,.media-frame-content,.media-frame-toolbar{z-index:auto}


/* ==========================================================
   FuchsLücke 0.1.1.6 — desktop page-width alignment
   Match the wide FuchsWerkstatt tools instead of inheriting the
   narrow WordPress content column.
   ========================================================== */
.gfl-app[data-gfl-app]{
  width:min(calc(100vw - 30px),1720px)!important;
  max-width:none!important;
  margin:18px auto 68px!important;
  padding:0!important;
  position:relative!important;
  left:50%!important;
  transform:translateX(-50%)!important;
}

.gfl-app[data-gfl-app] .gfl-library,
.gfl-app[data-gfl-app] .gfl-player-page{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

.gfl-app[data-gfl-app] .gfl-library-head,
.gfl-app[data-gfl-app] .gfl-library-tools,
.gfl-app[data-gfl-app] .gfl-card-grid{
  width:100%!important;
  max-width:1500px!important;
}

.gfl-app[data-gfl-app] .gfl-card-grid{
  grid-template-columns:repeat(3,minmax(300px,1fr));
  align-items:stretch;
}

.gfl-app[data-gfl-app] .gfl-card{
  min-width:0;
}

.gfl-app[data-gfl-app] .gfl-player-shell{
  width:min(1480px,100%)!important;
  max-width:none!important;
}

.gfl-app[data-gfl-app] .gfl-player-head{
  margin-bottom:26px;
}

.gfl-app[data-gfl-app] .gfl-media-frame{
  width:100%;
}

.gfl-app[data-gfl-app] .gfl-exercise-card{
  width:100%;
}

.gfl-app[data-gfl-app] .gfl-text-play{
  font-size:clamp(18px,1.45vw,22px);
  line-height:1.9;
}

/* Fullscreen remains true viewport fullscreen, not the breakout width. */
.gfl-app[data-gfl-app] .gfl-player-page.is-fullscreen{
  width:100vw!important;
  max-width:none!important;
  margin:0!important;
  left:auto!important;
  transform:none!important;
}
.gfl-app[data-gfl-app] .gfl-player-page.is-fullscreen .gfl-player-shell{
  width:min(1540px,100%)!important;
}

@media (max-width:1120px){
  .gfl-app[data-gfl-app]{width:min(calc(100vw - 22px),1720px)!important;margin-top:12px!important}
  .gfl-app[data-gfl-app] .gfl-library-head,
  .gfl-app[data-gfl-app] .gfl-library-tools,
  .gfl-app[data-gfl-app] .gfl-card-grid{max-width:none!important}
  .gfl-app[data-gfl-app] .gfl-card-grid{grid-template-columns:repeat(2,minmax(280px,1fr))}
}

@media (max-width:700px){
  .gfl-app[data-gfl-app]{
    width:calc(100vw - 12px)!important;
    margin:6px auto 38px!important;
  }
  .gfl-app[data-gfl-app] .gfl-card-grid{grid-template-columns:1fr}
}


/* ==========================================================
   FuchsLücke 0.1.1.7 — two media windows
   ========================================================== */
.gfl-media-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.gfl-media-slot-editor{min-width:0;border:1.5px solid #dceae4;border-radius:17px;background:linear-gradient(145deg,#fbfffd,#fffaf1);padding:12px}
.gfl-media-slot-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
.gfl-media-slot-head strong{font-size:10px;letter-spacing:.12em;color:#28725c}
.gfl-media-slot-head .gfl-media-remove{border:0;background:transparent;color:#ac4e55;font-weight:850;cursor:pointer;padding:4px 5px}
.gfl-media-slot-editor .gfl-media-choice{gap:6px}
.gfl-media-slot-editor .gfl-media-choice button{padding:7px 9px;border-radius:10px;font-size:12px}
.gfl-media-slot-editor .gfl-media-preview{min-height:72px;margin-top:9px;padding:8px;border-radius:12px}
.gfl-media-slot-editor .gfl-media-preview img,.gfl-media-slot-editor .gfl-media-preview video{max-height:150px;border-radius:9px;object-fit:contain;background:#eef6f2}

.gfl-media-stage{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:18px;margin:0 0 22px;align-items:stretch}
.gfl-media-slot{min-width:0;height:310px;display:flex}
.gfl-media-stage .gfl-media-frame{width:100%!important;height:100%;margin:0;padding:7px;border-radius:22px;background:rgba(255,255,255,.96);box-shadow:0 15px 38px rgba(11,73,55,.09)}
.gfl-media-stage .gfl-media-frame:before{inset:5px;border-radius:17px}
.gfl-media-stage .gfl-media-image img{width:100%;height:100%;max-height:none;object-fit:cover;border-radius:16px;background:#eef6f2}
.gfl-media-stage .gfl-media-video video{width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:contain;border-radius:16px;background:#12241e}
.gfl-media-stage .gfl-media-audio{grid-template-columns:60px 1fr;grid-template-rows:1fr auto;align-content:center;padding:24px;gap:14px;background:linear-gradient(145deg,#f4fbf7,#fff8e9)}
.gfl-media-stage .gfl-media-audio audio{grid-column:1/-1;width:100%;align-self:end}
.gfl-media-stage .gfl-audio-copy strong{font-size:24px}
.gfl-media-stage .gfl-audio-copy span{font-size:13px}
.gfl-theme-panel{width:100%;height:100%;position:relative;overflow:hidden;border:1.5px solid rgba(11,94,70,.16);border-radius:22px;background:radial-gradient(circle at 15% 15%,rgba(228,184,79,.24),transparent 28%),radial-gradient(circle at 86% 20%,rgba(33,146,105,.16),transparent 34%),linear-gradient(145deg,#fbfffd,#fff7e8);box-shadow:0 15px 38px rgba(11,73,55,.08);padding:30px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.gfl-theme-panel:after{content:"";position:absolute;width:220px;height:220px;border:34px solid rgba(228,184,79,.13);border-radius:50%;right:-85px;bottom:-100px}
.gfl-theme-panel span,.gfl-theme-panel strong,.gfl-theme-panel small{position:relative;z-index:1}
.gfl-theme-panel span{font-size:10px;letter-spacing:.16em;font-weight:900;color:#0e8060;background:#e4f5ee;border-radius:999px;padding:6px 10px;margin-bottom:13px}
.gfl-theme-panel strong{font:700 clamp(28px,2.5vw,43px)/1.05 Georgia,"Times New Roman",serif;color:#174536;max-width:95%}
.gfl-theme-panel small{margin-top:10px;font-size:14px;font-weight:700;color:#72837d}

.gfl-live-stage .gfl-demo-media-stage{display:grid;grid-template-columns:.88fr 1.12fr;gap:8px;margin-bottom:13px}
.gfl-live-stage .gfl-demo-media-stage>div{min-width:0;height:105px}
.gfl-live-stage .gfl-demo-media{height:100%;margin:0;padding:4px;border-style:solid;background:#f7fbf9}
.gfl-live-stage .gfl-demo-media img{object-fit:cover;border-radius:10px}.gfl-live-stage .gfl-demo-media video{object-fit:contain;background:#142620;border-radius:10px}
.gfl-live-stage .gfl-demo-media-audio{display:flex;flex-direction:column;justify-content:center;gap:7px;padding:10px}.gfl-live-stage .gfl-demo-media-audio span{font-size:11px;font-weight:850;color:#176249}.gfl-live-stage .gfl-demo-media-audio audio{width:100%}
.gfl-live-stage .gfl-demo-theme{height:100%;border:1.5px solid rgba(11,94,70,.13);border-radius:15px;background:linear-gradient(145deg,#f1faf6,#fff7e8);padding:12px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;overflow:hidden}
.gfl-live-stage .gfl-demo-theme span{font-size:7px;letter-spacing:.14em;font-weight:900;color:#0e8060}.gfl-live-stage .gfl-demo-theme strong{font:700 19px/1.05 Georgia,serif;color:#174536;margin-top:5px;max-width:100%;overflow:hidden;text-overflow:ellipsis}.gfl-live-stage .gfl-demo-theme small{font-size:9px;color:#74857f;margin-top:5px}

@media(max-width:900px){
  .gfl-media-stage{grid-template-columns:1fr 1fr;gap:12px}.gfl-media-slot{height:260px}
  .gfl-media-editor-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .gfl-media-stage{grid-template-columns:1fr}.gfl-media-slot{height:auto;min-height:210px}.gfl-media-stage .gfl-media-image img,.gfl-media-stage .gfl-media-video video{height:auto;min-height:210px;max-height:330px}.gfl-theme-panel{min-height:210px}.gfl-media-stage .gfl-media-audio{min-height:210px}
}

/* ==========================================================
   FuchsLücke 0.1.1.8 — media always fitted + proper breathing room
   ========================================================== */

/* Media is never cropped. The decorative frame hugs the real medium
   instead of forcing the medium to fill a fixed crop box. */
.gfl-media-stage{
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:22px;
  align-items:center;
  margin-bottom:28px;
}
.gfl-media-slot{
  min-width:0;
  height:auto;
  min-height:300px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.gfl-media-stage .gfl-media-frame{
  width:auto!important;
  max-width:100%!important;
  height:auto!important;
  max-height:none!important;
  margin:0 auto!important;
  padding:8px;
  border:2px solid rgba(11,94,70,.18);
  border-radius:22px;
  background:#fff;
  box-shadow:0 15px 38px rgba(11,73,55,.10);
  overflow:hidden;
  flex:0 1 auto;
}
.gfl-media-stage .gfl-media-frame:before{
  inset:5px;
  border-radius:17px;
}
.gfl-media-stage .gfl-media-image{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.gfl-media-stage .gfl-media-image img{
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:300px!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:16px;
  background:transparent!important;
}
.gfl-media-stage .gfl-media-video{
  width:min(100%,620px)!important;
  display:flex;
  align-items:center;
  justify-content:center;
}
.gfl-media-stage .gfl-media-video video{
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  max-height:300px!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:16px;
  background:#12241e;
}
.gfl-media-stage .gfl-media-audio{
  width:min(100%,620px)!important;
  min-height:190px;
  grid-template-columns:60px 1fr;
  grid-template-rows:1fr auto;
  padding:26px;
}
.gfl-theme-panel{
  min-height:300px;
  height:auto;
  padding:38px 40px;
  border:2px solid rgba(11,94,70,.16);
}

/* The exercise content must never look glued to the outer frame. */
.gfl-app[data-gfl-app] .gfl-exercise-card{
  padding:36px 42px 40px!important;
  border-width:2px;
}
.gfl-app[data-gfl-app] .gfl-instruction{
  margin:0 0 30px!important;
  padding:0 4px 22px!important;
  min-height:46px;
  gap:16px;
  align-items:center;
}
.gfl-app[data-gfl-app] .gfl-instruction span{
  flex:0 0 auto;
  padding:7px 12px;
}
.gfl-app[data-gfl-app] .gfl-instruction strong{
  line-height:1.5;
}
.gfl-app[data-gfl-app] .gfl-text-play{
  padding:0 4px 2px;
}

/* Builder and live preview follow the same no-crop rule. */
.gfl-media-preview img,
.gfl-media-preview video,
.gfl-media-slot-editor .gfl-media-preview img,
.gfl-media-slot-editor .gfl-media-preview video{
  object-fit:contain!important;
  object-position:center!important;
}
.gfl-live-stage .gfl-demo-media-stage{
  align-items:center;
}
.gfl-live-stage .gfl-demo-media-stage>div{
  display:flex;
  align-items:center;
  justify-content:center;
}
.gfl-live-stage .gfl-demo-media{
  width:auto;
  max-width:100%;
  height:auto;
  max-height:120px;
}
.gfl-live-stage .gfl-demo-media img,
.gfl-live-stage .gfl-demo-media video{
  width:auto;
  height:auto;
  max-width:100%;
  max-height:110px;
  object-fit:contain!important;
  object-position:center!important;
}

@media(max-width:900px){
  .gfl-media-stage{grid-template-columns:1fr 1fr;gap:14px}
  .gfl-media-slot{min-height:240px}
  .gfl-media-stage .gfl-media-image img,
  .gfl-media-stage .gfl-media-video video{max-height:240px!important}
  .gfl-theme-panel{min-height:240px;padding:30px}
  .gfl-app[data-gfl-app] .gfl-exercise-card{padding:30px 30px 34px!important}
}
@media(max-width:700px){
  .gfl-media-stage{grid-template-columns:1fr;gap:14px}
  .gfl-media-slot{min-height:0}
  .gfl-media-stage .gfl-media-image img,
  .gfl-media-stage .gfl-media-video video{max-height:300px!important}
  .gfl-theme-panel{min-height:190px;padding:26px}
  .gfl-media-stage .gfl-media-audio{min-height:180px;padding:20px}
  .gfl-app[data-gfl-app] .gfl-exercise-card{padding:28px 20px 30px!important}
  .gfl-app[data-gfl-app] .gfl-instruction{padding:0 0 18px!important;margin-bottom:24px!important;align-items:flex-start}
}


/* ==========================================================
   FuchsLücke 0.1.1.9 — clean editor page, media links, true fullscreen
   ========================================================== */

/* Create/edit is a real page view. No dimmed library/site behind the constructor. */
.gfl-app[data-builder-mode="1"]{
  width:min(calc(100vw - 44px),1660px)!important;
  max-width:none!important;
  margin:18px auto 52px!important;
}
.gfl-app[data-builder-mode="1"] .gfl-overlay{
  position:relative!important;
  inset:auto!important;
  z-index:auto!important;
  display:block!important;
  width:100%!important;
  padding:0!important;
  overflow:visible!important;
  background:transparent!important;
  backdrop-filter:none!important;
}
.gfl-app[data-builder-mode="1"] .gfl-builder{
  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  margin:0!important;
  border:1.5px solid #dbe8e3!important;
  border-radius:26px!important;
  box-shadow:0 22px 65px rgba(13,69,53,.12)!important;
}
.gfl-app[data-builder-mode="1"] .gfl-live-panel{
  top:12px!important;
  height:calc(100vh - 155px)!important;
  min-height:640px!important;
}

/* External audio/video URL controls. */
.gfl-media-link-row{
  display:grid;
  grid-template-columns:118px minmax(0,1fr) auto;
  gap:7px;
  margin-top:9px;
  padding-top:9px;
  border-top:1px solid #e4eee9;
}
.gfl-media-link-row select,
.gfl-media-link-row input{
  width:100%;
  min-width:0;
  height:38px;
  border:1.5px solid #d4e4dd!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#264f42!important;
  padding:0 9px!important;
  box-shadow:none!important;
  outline:0!important;
  font-size:11px!important;
}
.gfl-media-link-row button{
  min-height:38px;
  border:0;
  border-radius:10px;
  padding:0 11px;
  background:#0b7657;
  color:#fff;
  font-size:10px;
  font-weight:900;
  cursor:pointer;
  white-space:nowrap;
}
.gfl-media-link-row button:hover{background:#075d45}
.gfl-media-preview iframe{
  width:min(100%,360px);
  aspect-ratio:16/9;
  border:0;
  border-radius:10px;
  background:#12241e;
}

/* Every medium is fitted, including external embeds. */
.gfl-media-stage .gfl-media-embed{
  width:min(100%,620px)!important;
  display:flex;
  align-items:center;
  justify-content:center;
}
.gfl-media-stage .gfl-media-embed iframe{
  display:block;
  width:min(100%,560px)!important;
  aspect-ratio:16/9;
  height:auto!important;
  border:0;
  border-radius:16px;
  background:#12241e;
}
.gfl-live-stage .gfl-demo-media iframe{
  width:100%;
  max-width:100%;
  aspect-ratio:16/9;
  border:0;
  border-radius:9px;
}

/* Slightly denser exercise typography, still comfortable for drag & drop. */
.gfl-app[data-gfl-app] .gfl-text-play{
  line-height:1.68!important;
}
.gfl-app[data-gfl-app] .gfl-gap{
  margin:0 3px 1px!important;
}

/* Native browser fullscreen: only the exercise exists in the viewport. */
.gfl-player-page:fullscreen,
.gfl-player-page:-webkit-full-screen{
  width:100vw!important;
  max-width:none!important;
  height:100vh!important;
  max-height:none!important;
  margin:0!important;
  padding:24px 28px 34px!important;
  border-radius:0!important;
  overflow:auto!important;
  background:
    radial-gradient(circle at 12% 5%,rgba(234,190,79,.20),transparent 22%),
    radial-gradient(circle at 91% 14%,rgba(35,151,109,.16),transparent 27%),
    linear-gradient(145deg,#ecf8f2 0%,#fff9ed 48%,#f0faf6 100%)!important;
}
.gfl-player-page:fullscreen .gfl-player-shell,
.gfl-player-page:-webkit-full-screen .gfl-player-shell{
  width:min(1540px,100%)!important;
  max-width:none!important;
}
.gfl-player-page.is-fullscreen-fallback{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  width:100vw!important;
  height:100vh!important;
  max-width:none!important;
  margin:0!important;
  padding:24px 28px 34px!important;
  border-radius:0!important;
  overflow:auto!important;
}

@media(max-width:1050px){
  .gfl-app[data-builder-mode="1"]{width:min(calc(100vw - 20px),1660px)!important;margin-top:10px!important}
  .gfl-app[data-builder-mode="1"] .gfl-live-panel{height:auto!important;min-height:0!important;top:auto!important}
  .gfl-media-link-row{grid-template-columns:110px 1fr}
  .gfl-media-link-row button{grid-column:1/-1;min-height:36px}
}
@media(max-width:700px){
  .gfl-app[data-builder-mode="1"]{width:100%!important;margin:0 auto 30px!important}
  .gfl-app[data-builder-mode="1"] .gfl-builder{border-radius:0!important;border-left:0!important;border-right:0!important}
  .gfl-media-link-row{grid-template-columns:1fr}
  .gfl-media-link-row button{grid-column:auto}
  .gfl-app[data-gfl-app] .gfl-text-play{line-height:1.72!important}
  .gfl-player-page:fullscreen,.gfl-player-page:-webkit-full-screen,.gfl-player-page.is-fullscreen-fallback{padding:12px!important}
}


/* ==========================================================
   FuchsLücke 0.1.1.10 — media layout repair
   ========================================================== */

/* Two real media windows on desktop. Never stack just because an earlier
   theme/plugin stylesheet changed display. */
.gfl-app[data-gfl-app] .gfl-media-stage{
  display:grid!important;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;
  gap:22px!important;
  align-items:center!important;
  width:100%!important;
}
.gfl-app[data-gfl-app] .gfl-media-slot{
  min-width:0!important;
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

/* Native audio controls must span the whole audio card, not collapse into
   the 60px icon grid column. */
.gfl-app[data-gfl-app] .gfl-media-stage .gfl-media-audio{
  display:grid!important;
  grid-template-columns:60px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:16px!important;
  row-gap:16px!important;
  width:min(100%,620px)!important;
  min-width:0!important;
  min-height:0!important;
  padding:22px 24px!important;
}
.gfl-app[data-gfl-app] .gfl-media-stage .gfl-media-audio audio{
  grid-column:1 / -1!important;
  grid-row:2!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  display:block!important;
  align-self:stretch!important;
}
.gfl-app[data-gfl-app] .gfl-media-stage .gfl-audio-icon{grid-column:1!important;grid-row:1!important}
.gfl-app[data-gfl-app] .gfl-media-stage .gfl-audio-copy{grid-column:2!important;grid-row:1!important;min-width:0!important}

/* Constructor: both media editors are real equal columns as originally
   intended, with each preview staying inside its own window. */
.gfl-app[data-builder-mode="1"] .gfl-media-editor-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:start!important;
}
.gfl-app[data-builder-mode="1"] .gfl-media-slot-editor{min-width:0!important}
.gfl-app[data-builder-mode="1"] .gfl-media-preview audio{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}

/* Live preview follows the same two-window composition. */
.gfl-app[data-builder-mode="1"] .gfl-live-stage .gfl-demo-media-stage{
  display:grid!important;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;
  gap:8px!important;
  width:100%!important;
}
.gfl-app[data-builder-mode="1"] .gfl-live-stage .gfl-demo-media-audio audio{
  width:100%!important;
  min-width:0!important;
}

@media(max-width:900px){
  .gfl-app[data-gfl-app] .gfl-media-stage{grid-template-columns:1fr 1fr!important;gap:14px!important}
  .gfl-app[data-builder-mode="1"] .gfl-media-editor-grid{grid-template-columns:1fr!important}
}
@media(max-width:700px){
  .gfl-app[data-gfl-app] .gfl-media-stage{grid-template-columns:1fr!important;gap:14px!important}
}

/* ==========================================================
   FuchsLücke 0.1.1.11 — clear page identity, filters, builder polish
   ========================================================== */
.gfl-app[data-gfl-app] .gfl-library{
  padding-top:42px!important;
}
.gfl-app[data-gfl-app] .gfl-library-head{
  align-items:flex-start!important;
  gap:34px!important;
  margin-bottom:24px!important;
}
.gfl-library-brand{max-width:920px}
.gfl-back-pill{
  display:inline-flex;align-items:center;gap:7px;
  padding:9px 13px;margin-bottom:17px;border-radius:12px;
  background:rgba(255,255,255,.78);border:1.5px solid rgba(11,94,70,.14);
  color:#0b654b!important;text-decoration:none!important;font-size:13px;font-weight:850;
  box-shadow:0 7px 20px rgba(14,75,57,.06);backdrop-filter:blur(7px)
}
.gfl-back-pill:hover{background:#fff;transform:translateY(-1px)}
.gfl-library-head .gfl-eyebrow{font-size:11px!important;letter-spacing:.15em!important;margin-bottom:5px}
.gfl-library-head h1{font-size:clamp(44px,5.4vw,68px)!important;line-height:.98!important}
.gfl-library-lead{font-size:16px!important;line-height:1.55!important;max-width:790px!important;margin-top:13px!important;color:#506c63!important}
.gfl-new-exercise{margin-top:36px;min-width:150px;min-height:52px;font-size:14px}

.gfl-library-filterbox{
  width:100%;max-width:1500px;margin:0 auto 30px;padding:18px;
  border:1.5px solid rgba(11,94,70,.13);border-radius:22px;
  background:rgba(255,255,255,.70);box-shadow:0 14px 35px rgba(16,72,57,.07);backdrop-filter:blur(9px)
}
.gfl-filter-caption{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:0 2px 13px}
.gfl-filter-caption strong{font-family:Georgia,"Times New Roman",serif;font-size:20px;color:#174b3d}
.gfl-filter-caption span{font-size:12px;color:#73877f;font-weight:650}
.gfl-app[data-gfl-app] .gfl-library-tools{
  max-width:none!important;margin:0!important;display:grid!important;
  grid-template-columns:minmax(260px,1.6fr) minmax(180px,.7fr) minmax(150px,.55fr) minmax(145px,.5fr)!important;
  align-items:end!important;gap:10px!important
}
.gfl-app[data-gfl-app] .gfl-library-tools .gfl-search{max-width:none!important;height:50px}
.gfl-filter-select{display:flex;flex-direction:column;gap:5px;min-width:0}
.gfl-filter-select>span{font-size:9px;letter-spacing:.1em;text-transform:uppercase;font-weight:900;color:#4f7669;margin-left:4px}
.gfl-filter-select select{
  width:100%;height:50px;border:1.5px solid rgba(11,94,70,.15)!important;border-radius:14px!important;
  background:#fff!important;color:#214b3f!important;padding:0 36px 0 13px!important;font-weight:750;outline:0!important;
  box-shadow:0 7px 18px rgba(16,70,57,.045)!important
}
.gfl-filter-select select:focus{border-color:#63ab94!important;box-shadow:0 0 0 4px rgba(62,153,122,.10)!important}
.gfl-filter-result{margin:11px 4px 0;font-size:11px;font-weight:800;color:#688078}

.gfl-field select{
  width:100%;height:48px;border:1.5px solid #d5e4de!important;border-radius:14px!important;background:#fff!important;
  color:#193e33!important;outline:0!important;box-shadow:0 5px 14px rgba(16,70,57,.04)!important;padding:0 40px 0 14px!important
}
.gfl-field select:focus{border-color:#58a78d!important;box-shadow:0 0 0 4px rgba(57,151,119,.10)!important}
.gfl-field>small{display:block;margin-top:6px;color:#84958f;font-size:10px;font-weight:650;line-height:1.35}

.gfl-app[data-builder-mode="1"] .gfl-builder-header{
  padding:20px 24px!important;background:linear-gradient(90deg,#f6fff9 0%,#fffdf7 58%,#f4fbf8 100%)!important;
  border-bottom:1.5px solid #dfece6!important;box-shadow:0 7px 20px rgba(15,70,55,.045)!important
}
.gfl-builder-brand{display:flex;align-items:center;gap:18px;min-width:0}
.gfl-builder-brand>div{min-width:0}
.gfl-builder-brand h2{font-size:32px!important;line-height:1.02!important}
.gfl-builder-brand p{margin:5px 0 0;color:#71857e;font-size:12px;font-weight:650}
.gfl-builder-back{
  flex:none;border:1.5px solid #cfe1da;background:#fff;color:#0b664c;border-radius:13px;padding:10px 13px;
  font-size:12px;font-weight:900;cursor:pointer;box-shadow:0 6px 16px rgba(12,72,55,.06)
}
.gfl-builder-back:hover{background:#eff9f4}
.gfl-builder-badge{display:inline-flex;align-items:center;justify-content:center;padding:8px 11px;border-radius:999px;background:#e5f6ef;color:#0b7354;font-size:9px;font-weight:950;letter-spacing:.13em}
.gfl-app[data-builder-mode="1"] .gfl-form-panel{padding-top:28px!important}
.gfl-app[data-builder-mode="1"] .gfl-live-panel{padding-top:28px!important}
.gfl-app[data-builder-mode="1"] .gfl-panel-label{font-size:12px!important;letter-spacing:.12em!important;margin-bottom:16px!important}

@media(max-width:1050px){
  .gfl-app[data-gfl-app] .gfl-library-tools{grid-template-columns:1fr 1fr!important}
  .gfl-new-exercise{margin-top:0}
}
@media(max-width:700px){
  .gfl-app[data-gfl-app] .gfl-library-head{gap:16px!important}
  .gfl-library-head h1{font-size:42px!important}
  .gfl-library-lead{font-size:14px!important}
  .gfl-new-exercise{width:100%}
  .gfl-library-filterbox{padding:13px;border-radius:17px}
  .gfl-app[data-gfl-app] .gfl-library-tools{grid-template-columns:1fr!important}
  .gfl-builder-brand{align-items:flex-start;gap:10px}
  .gfl-builder-brand h2{font-size:26px!important}
  .gfl-builder-brand p{display:none}
  .gfl-builder-badge{display:none}
  .gfl-builder-back{padding:8px 10px}
}

/* ==========================================================
   FuchsLücke 0.1.1.13 — FuchsWalze/FuchsRad library layout
   Left: saved exercises. Right: unmistakable constructor.
   ========================================================== */
.gfl-app[data-gfl-app]{
  --gfl-heavy-shadow:0 18px 42px rgba(12,74,56,.14);
  --gfl-card-border:rgba(8,91,66,.18);
}
.gfl-app[data-gfl-app] .gfl-library{
  padding:34px clamp(18px,4vw,58px) 58px!important;
  border-radius:30px!important;
}
.gfl-library-intro{
  width:100%;max-width:1500px;margin:0 auto 28px;
}
.gfl-library-intro .gfl-back-pill{
  margin:0 0 22px!important;
  min-height:48px;padding:0 18px!important;border-radius:15px!important;
  background:#fff!important;border:2px solid rgba(9,96,70,.17)!important;
  color:#08664c!important;font-size:14px!important;font-weight:950!important;
  box-shadow:0 9px 22px rgba(12,72,55,.10)!important;
}
.gfl-library-intro .gfl-eyebrow{
  display:block;margin-bottom:12px!important;
  font-size:13px!important;font-weight:950!important;letter-spacing:.16em!important;
  color:#0b7a5b!important;
}
.gfl-library-intro .gfl-library-lead{
  max-width:1040px!important;margin:0!important;
  color:#49685e!important;font-size:21px!important;line-height:1.48!important;font-weight:750!important;
}

.gfl-library-workspace{
  width:100%;max-width:1500px;margin:0 auto;
  display:grid;grid-template-columns:minmax(0,1.58fr) minmax(360px,.72fr);gap:28px;align-items:start;
}
.gfl-library-workspace.is-public{grid-template-columns:1fr}
.gfl-exercise-library-panel{
  min-width:0;padding:24px;border:2px solid var(--gfl-card-border);border-radius:26px;
  background:rgba(255,255,255,.92);box-shadow:var(--gfl-heavy-shadow);backdrop-filter:blur(10px);
}
.gfl-library-panel-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:20px;
  margin-bottom:18px;padding-bottom:17px;border-bottom:2px solid #e4eee9;
}
.gfl-library-panel-head>div>span{
  display:block;margin-bottom:4px;color:#0c7a5b;font-size:11px;font-weight:950;letter-spacing:.15em;
}
.gfl-library-panel-head h1{
  margin:0!important;color:#153f33!important;font:800 32px/1.08 Georgia,"Times New Roman",serif!important;
}
.gfl-library-panel-head p{
  margin:7px 0 0;color:#667d75;font-size:13px;line-height:1.45;font-weight:750;
}
.gfl-library-count{
  flex:0 0 auto;min-width:52px;height:52px;padding:0 12px;border-radius:17px;
  display:grid;place-items:center;background:linear-gradient(145deg,#0e8e68,#08684d);color:#fff;
  box-shadow:0 9px 20px rgba(8,105,76,.22);font-size:18px;font-weight:950;
}

.gfl-app[data-gfl-app] .gfl-library-filterbox{
  max-width:none!important;margin:0 0 18px!important;padding:14px!important;
  border:2px solid #dceae4!important;border-radius:18px!important;background:#f8fcfa!important;
  box-shadow:none!important;backdrop-filter:none!important;
}
.gfl-app[data-gfl-app] .gfl-library-filterbox .gfl-search{
  width:100%!important;max-width:none!important;height:54px!important;margin:0 0 11px!important;
  border:2px solid #cfe1da!important;border-radius:15px!important;background:#fff!important;
  box-shadow:0 5px 13px rgba(11,72,54,.05)!important;
}
.gfl-app[data-gfl-app] .gfl-library-filterbox .gfl-search span{font-size:22px;font-weight:950}
.gfl-app[data-gfl-app] .gfl-library-filterbox .gfl-search input{
  height:50px!important;font-size:14px!important;font-weight:750!important;
}
.gfl-library-filter-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.gfl-library-workspace.is-public .gfl-library-filter-row{grid-template-columns:repeat(2,minmax(0,1fr))}
.gfl-filter-select>span{font-size:10px!important;font-weight:950!important;color:#356c5c!important}
.gfl-filter-select select{
  height:48px!important;border:2px solid #d5e5df!important;border-radius:14px!important;
  color:#244c40!important;font-size:12px!important;font-weight:850!important;background:#fff!important;
}

.gfl-app[data-gfl-app] .gfl-card-grid.gfl-exercise-list{
  max-width:none!important;width:100%!important;margin:0!important;display:flex!important;flex-direction:column!important;gap:12px!important;
}
.gfl-exercise-row{
  width:100%;min-width:0;display:grid!important;grid-template-columns:126px minmax(0,1fr) auto!important;
  align-items:center;gap:18px;padding:13px!important;border:2px solid #dbe8e3!important;border-radius:19px!important;
  background:#fff!important;box-shadow:0 8px 20px rgba(15,69,53,.07)!important;overflow:visible!important;
  transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease!important;
}
.gfl-exercise-row:hover{
  transform:translateY(-2px)!important;border-color:#9bc7b8!important;box-shadow:0 13px 28px rgba(15,69,53,.12)!important;
}
.gfl-row-visual{
  height:88px;border-radius:15px;position:relative;overflow:hidden;
  display:flex;flex-direction:column;justify-content:center;gap:8px;padding:12px;
  background:radial-gradient(circle at 90% 12%,rgba(227,182,70,.27),transparent 32%),linear-gradient(145deg,#eaf8f2,#fff7e6);
  border:1.5px solid rgba(11,94,70,.13);
}
.gfl-row-paper{
  min-height:43px;padding:9px;border-radius:10px;background:#fff;border:1px solid #d8e6e0;
  display:flex;align-items:center;gap:5px;flex-wrap:wrap;box-shadow:0 5px 10px rgba(10,70,54,.06)
}
.gfl-row-paper span{height:5px;width:27px;border-radius:5px;background:#78998e}
.gfl-row-paper i,.gfl-row-paper b{height:15px;width:30px;border-radius:5px;border:1.5px dashed #3e9b7b;background:#eef8f4}
.gfl-row-paper b{width:36px}.gfl-row-chips{display:flex;justify-content:center;gap:4px}
.gfl-row-chips em{display:block;width:23px;height:9px;border-radius:5px;background:#0c6b50;box-shadow:0 2px 4px rgba(11,94,70,.18)}
.gfl-row-copy{min-width:0}
.gfl-row-copy .gfl-card-meta{margin:0 0 7px!important;gap:6px!important}
.gfl-row-copy .gfl-card-meta span{
  padding:5px 8px!important;border-radius:999px!important;font-size:9px!important;font-weight:950!important;letter-spacing:.06em!important;
}
.gfl-row-copy .gfl-card-meta .is-published{background:#e4f5ed!important;color:#0a6d50!important}
.gfl-row-copy h2{
  margin:0!important;font:800 20px/1.18 Georgia,"Times New Roman",serif!important;color:#173f34!important;
  white-space:normal;overflow-wrap:anywhere;
}
.gfl-row-copy p{
  margin:5px 0 0!important;min-height:0!important;color:#637b73!important;font-size:12px!important;font-weight:750!important;
}
.gfl-row-copy .gfl-row-muted{color:#80908b!important}
.gfl-row-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;min-width:220px}
.gfl-row-actions .gfl-btn{
  min-width:104px;min-height:44px;padding:0 14px!important;border-radius:13px!important;font-size:12px!important;font-weight:950!important;
}
.gfl-row-actions .gfl-btn-ghost{
  border:2px solid #c7dbd3!important;background:#fff!important;color:#0a654c!important;box-shadow:0 5px 12px rgba(11,73,55,.06)!important;
}
.gfl-list-empty{padding:34px!important;border-width:2px!important;font-weight:850!important}

.gfl-constructor-card{
  position:sticky;top:28px;overflow:hidden;border:2px solid rgba(6,86,63,.22);border-radius:28px;
  background:linear-gradient(155deg,#0b6b50 0%,#0d8461 48%,#075a43 100%);color:#fff;
  box-shadow:0 24px 54px rgba(5,76,55,.24);min-height:570px;
}
.gfl-constructor-card:before{
  content:"";position:absolute;width:260px;height:260px;border:44px solid rgba(241,196,79,.16);border-radius:50%;right:-122px;top:-105px;
}
.gfl-constructor-card:after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.18;
  background-image:radial-gradient(rgba(255,255,255,.8) .7px,transparent .7px);background-size:18px 18px;
  mask-image:linear-gradient(to bottom,black,transparent 72%);
}
.gfl-constructor-ribbon{
  position:relative;z-index:2;display:inline-flex;margin:22px 22px 4px;padding:8px 11px;border-radius:999px;
  background:#f2c558;color:#163e32;font-size:10px;font-weight:1000;letter-spacing:.14em;box-shadow:0 7px 16px rgba(0,0,0,.12);
}
.gfl-constructor-visual{
  position:relative;z-index:2;height:210px;margin:12px 22px 0;border-radius:22px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(145deg,#e7f6ef,#fff6df);border:2px solid rgba(255,255,255,.5);box-shadow:inset 0 1px 0 #fff,0 13px 27px rgba(0,40,29,.18);
}
.gfl-constructor-paper{
  width:72%;height:132px;padding:20px 18px;border-radius:16px;background:#fff;transform:rotate(-2deg);
  box-shadow:0 15px 25px rgba(16,67,53,.18);border:1.5px solid #d8e5df;
}
.gfl-constructor-paper-line{height:8px;border-radius:10px;background:#77968c;margin-bottom:12px;width:100%}
.gfl-constructor-paper-line.is-short{width:56%}.gfl-constructor-paper-line.is-mid{width:78%}
.gfl-constructor-gap-row{display:flex;align-items:center;gap:7px;margin-bottom:11px}
.gfl-constructor-gap-row span{height:7px;flex:1;border-radius:7px;background:#87a39a}
.gfl-constructor-gap-row i{width:56px;height:22px;border-radius:7px;border:2px dashed #18906c;background:#edf8f4}
.gfl-constructor-wordbank{
  position:absolute;left:50%;bottom:20px;transform:translateX(-50%) rotate(1deg);display:flex;gap:7px;
}
.gfl-constructor-wordbank b{width:46px;height:22px;border-radius:8px;background:#0a644b;box-shadow:0 5px 9px rgba(8,80,58,.18)}
.gfl-constructor-plus{
  position:absolute;right:18px;top:16px;width:48px;height:48px;border-radius:15px;display:grid;place-items:center;
  background:#f1c24e;color:#153b30;border:3px solid #173a30;box-shadow:0 7px 0 rgba(20,53,44,.85);font-size:28px;font-weight:1000;
}
.gfl-constructor-copy{position:relative;z-index:2;padding:25px 24px 26px}
.gfl-constructor-copy>span{display:block;color:#bfe8d9;font-size:10px;font-weight:1000;letter-spacing:.16em;margin-bottom:5px}
.gfl-constructor-copy h2{margin:0!important;color:#fff!important;font:800 30px/1.08 Georgia,"Times New Roman",serif!important}
.gfl-constructor-copy p{margin:11px 0 16px;color:#e5f6ef;font-size:14px;line-height:1.5;font-weight:750}
.gfl-constructor-features{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:19px}
.gfl-constructor-features strong{
  padding:7px 9px;border-radius:999px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.20);
  color:#fff;font-size:10px;font-weight:900;
}
.gfl-constructor-open{
  width:100%;min-height:58px!important;border-radius:16px!important;background:#f2c24d!important;color:#173a30!important;
  border:3px solid #173a30!important;box-shadow:0 8px 0 #173a30,0 16px 26px rgba(0,35,26,.22)!important;
  font-size:14px!important;font-weight:1000!important;letter-spacing:.01em;
}
.gfl-constructor-open:hover{transform:translateY(-2px)!important;box-shadow:0 10px 0 #173a30,0 19px 30px rgba(0,35,26,.27)!important}
.gfl-constructor-open>span{font-size:22px;line-height:1}

@media(max-width:1180px){
  .gfl-library-workspace{grid-template-columns:minmax(0,1fr) 340px;gap:20px}
  .gfl-exercise-row{grid-template-columns:108px minmax(0,1fr)!important}
  .gfl-row-actions{grid-column:2;justify-content:flex-start;min-width:0}
  .gfl-row-visual{grid-row:1/3}
}
@media(max-width:980px){
  .gfl-library-workspace{grid-template-columns:1fr}
  .gfl-constructor-card{position:relative;top:auto;min-height:0;display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1fr);align-items:center}
  .gfl-constructor-ribbon{position:absolute;left:0;top:0}
  .gfl-constructor-visual{height:240px;margin:55px 0 24px 24px}
  .gfl-constructor-copy{padding:56px 26px 28px}
}
@media(max-width:700px){
  .gfl-app[data-gfl-app] .gfl-library{padding:22px 10px 38px!important;border-radius:20px!important}
  .gfl-library-intro{margin-bottom:20px;padding:0 4px}
  .gfl-library-intro .gfl-back-pill{min-height:44px;margin-bottom:18px!important;font-size:13px!important}
  .gfl-library-intro .gfl-eyebrow{font-size:10px!important}
  .gfl-library-intro .gfl-library-lead{font-size:16px!important;line-height:1.5!important}
  .gfl-exercise-library-panel{padding:14px;border-radius:20px}
  .gfl-library-panel-head h1{font-size:25px!important}.gfl-library-panel-head p{font-size:12px}
  .gfl-library-count{min-width:44px;height:44px;border-radius:14px;font-size:16px}
  .gfl-library-filter-row,.gfl-library-workspace.is-public .gfl-library-filter-row{grid-template-columns:1fr}
  .gfl-exercise-row{grid-template-columns:78px minmax(0,1fr)!important;gap:12px;padding:10px!important}
  .gfl-row-visual{height:76px;padding:8px}.gfl-row-paper{padding:7px}.gfl-row-paper span{width:18px}.gfl-row-paper i,.gfl-row-paper b{width:22px}
  .gfl-row-copy h2{font-size:17px!important}.gfl-row-actions{grid-column:1/-1!important;justify-content:stretch;display:grid;grid-template-columns:1fr 1fr}
  .gfl-row-actions .gfl-btn{min-width:0;width:100%}
  .gfl-constructor-card{display:block;border-radius:22px}
  .gfl-constructor-visual{height:190px;margin:55px 16px 0}
  .gfl-constructor-copy{padding:22px 18px 24px}
  .gfl-constructor-copy h2{font-size:25px!important}
}

/* ==========================================================
   FuchsLücke 0.1.1.14 — clearer page identity + admin-only media
   ========================================================== */
.gfl-library-titleblock{
  max-width:1080px;
}
.gfl-library-intro .gfl-eyebrow{
  margin:0 0 7px!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:950!important;
  letter-spacing:.15em!important;
  color:#0b7a5b!important;
}
.gfl-library-intro .gfl-page-title{
  margin:0!important;
  padding:0!important;
  color:#124f3a!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(52px,5.5vw,82px)!important;
  font-weight:600!important;
  line-height:.92!important;
  letter-spacing:-.045em!important;
  text-wrap:balance;
}
.gfl-library-intro .gfl-library-lead{
  max-width:940px!important;
  margin:15px 0 0!important;
  padding-left:2px!important;
  color:#3f6256!important;
  font-size:18px!important;
  line-height:1.58!important;
  font-weight:650!important;
  letter-spacing:-.006em!important;
}

/* A slightly stronger, calmer visual hierarchy for the library. */
.gfl-exercise-library-panel{
  border-color:rgba(8,91,66,.20)!important;
  box-shadow:0 20px 48px rgba(12,74,56,.13)!important;
}
.gfl-library-panel-head h1{
  font-family:Georgia,"Times New Roman",serif!important;
  font-weight:600!important;
  letter-spacing:-.025em!important;
}
.gfl-row-copy h2{
  font-family:Georgia,"Times New Roman",serif!important;
  font-weight:600!important;
  letter-spacing:-.018em!important;
}
.gfl-row-actions .gfl-btn,
.gfl-constructor-open,
.gfl-back-pill{
  font-weight:950!important;
}
.gfl-library-filterbox,
.gfl-exercise-row,
.gfl-constructor-card{
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* Public visitors must never see authoring/media controls.  The constructor
   is already admin-only in PHP; these selectors are a final visual guard. */
.gfl-app:not([data-builder-mode="1"]) [data-gfl-media-pick],
.gfl-app:not([data-builder-mode="1"]) [data-gfl-media-link],
.gfl-app:not([data-builder-mode="1"]) [data-gfl-media-link-type],
.gfl-app:not([data-builder-mode="1"]) [data-gfl-media-link-apply],
.gfl-app:not([data-builder-mode="1"]) [data-gfl-media-remove]{
  display:none!important;
}

@media(max-width:700px){
  .gfl-library-intro .gfl-page-title{
    font-size:clamp(46px,15vw,66px)!important;
    line-height:.94!important;
  }
  .gfl-library-intro .gfl-library-lead{
    margin-top:12px!important;
    font-size:16px!important;
    line-height:1.52!important;
  }
}

/* ==========================================================
   FuchsLücke 0.1.1.15 — truly reversible Drag & Drop
   Filled gaps are draggable again: gap ↔ gap and gap → Wortbank.
   ========================================================== */
.gfl-gap.is-filled{
  cursor:grab;
  touch-action:none;
  user-select:none;
}
.gfl-gap.is-filled:active,
.gfl-gap.is-filled.is-dragging{
  cursor:grabbing;
}
.gfl-gap.is-dragging{
  opacity:.58;
  transform:scale(.97);
}
.gfl-bank-wrap.is-drop-target,
.gfl-bank-wrap.is-touch-target{
  border-color:#0b7656!important;
  background:linear-gradient(145deg,#e3f6ee,#fff4d8)!important;
  box-shadow:0 0 0 4px rgba(11,118,86,.11),0 12px 30px rgba(8,88,63,.10);
}
.gfl-word-bank.is-drop-target,
.gfl-word-bank.is-touch-target{
  min-height:58px;
  border-radius:14px;
  outline:2px dashed rgba(11,118,86,.48);
  outline-offset:5px;
}
.gfl-gap.is-filled:hover{
  transform:translateY(-1px);
}

/* ==========================================================
   FuchsLücke 0.1.1.16 — fast interaction + refined controls
   ========================================================== */
/* Keep the exercise surface visually rich but remove expensive live blur
   from the area that repaints while words are being dragged. */
.gfl-player-page .gfl-exercise-card{
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  background:rgba(255,255,255,.975)!important;
}
.gfl-player-page .gfl-gap,
.gfl-player-page .gfl-chip{
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  transform:translateZ(0);
  will-change:transform;
}
.gfl-player-page.is-drag-active .gfl-gap,
.gfl-player-page.is-drag-active .gfl-chip{
  transition-duration:.045s!important;
}

/* Large, forgiving return target: dropping anywhere in the Wortbank panel
   returns a placed word immediately. */
.gfl-bank-wrap{
  transition:background .09s ease,border-color .09s ease,box-shadow .09s ease,transform .09s ease;
}
.gfl-bank-wrap.is-drop-target{
  border-color:rgba(11,118,86,.42)!important;
}
.gfl-bank-wrap.is-touch-target{
  transform:translateY(-1px);
  border-color:#0a7657!important;
  background:linear-gradient(145deg,#dcf5ea,#fff2d1)!important;
  box-shadow:0 0 0 4px rgba(11,118,86,.10),0 14px 30px rgba(8,88,63,.11)!important;
}
.gfl-word-bank.is-touch-target{
  outline-color:rgba(198,149,30,.52)!important;
}

/* Snappy chips and gaps: tiny motion, no sluggish ornamental animation. */
.gfl-chip{
  border:1px solid rgba(226,187,88,.22)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,236,178,.22),
    0 6px 13px rgba(6,84,60,.16)!important;
  transition:transform .055s cubic-bezier(.2,.8,.2,1),box-shadow .07s ease,background .07s ease,opacity .055s ease!important;
}
.gfl-chip:hover{
  transform:translate3d(0,-1px,0)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,236,178,.28),
    0 9px 18px rgba(6,84,60,.21)!important;
}
.gfl-chip.is-dragging{
  opacity:.58;
  transform:scale(.975)!important;
}
.gfl-gap{
  transition:background .055s ease,border-color .055s ease,transform .055s ease,box-shadow .055s ease!important;
}
.gfl-gap.is-drop-target{
  box-shadow:0 0 0 3px rgba(11,118,86,.08)!important;
}
.gfl-gap.is-touch-target{
  transform:translate3d(0,-1px,0) scale(1.025)!important;
  box-shadow:0 0 0 4px rgba(11,118,86,.13),0 6px 14px rgba(8,88,63,.10)!important;
}
.gfl-gap.is-just-filled{
  animation:gfl-fast-pop .13s cubic-bezier(.2,.9,.25,1);
}

/* Premium but restrained buttons: stronger depth with only a trace of gold. */
.gfl-btn,
.gfl-icon-btn{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  border:1px solid rgba(218,177,72,.18);
  box-shadow:0 7px 17px rgba(16,73,57,.10),inset 0 1px 0 rgba(255,255,255,.58);
  transition:transform .085s cubic-bezier(.2,.8,.2,1),box-shadow .10s ease,filter .10s ease,background .10s ease!important;
}
.gfl-btn:before,
.gfl-icon-btn:before{
  content:"";
  position:absolute;
  z-index:-1;
  pointer-events:none;
  left:-30%;
  top:-70%;
  width:46%;
  height:240%;
  transform:rotate(18deg) translateX(-180%);
  background:linear-gradient(90deg,transparent,rgba(255,239,188,.20),transparent);
  transition:transform .28s ease;
}
.gfl-btn:hover:before,
.gfl-icon-btn:hover:before{
  transform:rotate(18deg) translateX(360%);
}
.gfl-btn:hover,
.gfl-icon-btn:hover{
  transform:translate3d(0,-2px,0)!important;
  box-shadow:0 10px 22px rgba(16,73,57,.14),inset 0 1px 0 rgba(255,255,255,.72)!important;
}
.gfl-btn:active,
.gfl-icon-btn:active{
  transform:translate3d(0,1px,0) scale(.992)!important;
  box-shadow:0 4px 10px rgba(16,73,57,.11),inset 0 1px 2px rgba(0,0,0,.05)!important;
}
.gfl-btn-primary{
  border-color:rgba(229,190,91,.28)!important;
  background:linear-gradient(135deg,#14936d 0%,#087354 72%,#075f47 100%)!important;
  box-shadow:0 9px 20px rgba(8,102,74,.21),inset 0 1px 0 rgba(255,231,164,.18)!important;
}
.gfl-btn-primary:hover{
  filter:saturate(1.035) brightness(1.015);
  box-shadow:0 12px 26px rgba(8,102,74,.27),0 0 0 1px rgba(229,190,91,.12),inset 0 1px 0 rgba(255,231,164,.24)!important;
}
.gfl-btn-ghost{
  border-color:rgba(30,111,85,.24)!important;
  background:linear-gradient(180deg,#fff,#fbfdfc)!important;
}
.gfl-play-actions .gfl-btn{
  min-width:164px;
  min-height:46px;
  font-weight:900;
  letter-spacing:.005em;
}
.gfl-btn.is-success-pulse{
  animation:gfl-success-pulse .5s ease;
}
.gfl-feedback.is-pop{
  animation:gfl-feedback-pop .18s ease-out;
}

/* GPU-positioned floating chip; JS only updates transform once per frame. */
.gfl-chip-float{
  left:0!important;
  top:0!important;
  margin:0!important;
  will-change:transform!important;
  backface-visibility:hidden;
  transform:translate3d(0,0,0) translate(-50%,-72%) scale(1.045)!important;
  box-shadow:0 14px 26px rgba(4,68,49,.24),0 0 0 1px rgba(228,184,79,.20)!important;
}

@keyframes gfl-fast-pop{
  0%{transform:scale(.965)}
  70%{transform:scale(1.025)}
  100%{transform:scale(1)}
}
@keyframes gfl-feedback-pop{
  0%{opacity:.2;transform:translateY(3px)}
  100%{opacity:1;transform:translateY(0)}
}
@keyframes gfl-success-pulse{
  0%,100%{box-shadow:0 9px 20px rgba(8,102,74,.21),inset 0 1px 0 rgba(255,231,164,.18)}
  45%{box-shadow:0 12px 28px rgba(8,102,74,.29),0 0 0 5px rgba(228,184,79,.10),inset 0 1px 0 rgba(255,231,164,.24)}
}

@media (prefers-reduced-motion:reduce){
  .gfl-btn,.gfl-icon-btn,.gfl-chip,.gfl-gap,.gfl-bank-wrap{transition:none!important}
  .gfl-btn:before,.gfl-icon-btn:before{display:none!important}
  .gfl-gap.is-just-filled,.gfl-btn.is-success-pulse,.gfl-feedback.is-pop{animation:none!important}
}


/* ==========================================================
   FuchsLücke 0.1.1.17 — tags, indexable singles, stats, ad-safe zones
   ========================================================== */
.gfl-library-filter-row{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
.gfl-library-workspace.is-public .gfl-library-filter-row{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.gfl-tags-field{
  margin-top:2px;
}
.gfl-tags-field input{
  border-color:#cfe1da!important;
  background:linear-gradient(180deg,#fff,#fbfefc)!important;
}
.gfl-row-tags,
.gfl-player-tags{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}
.gfl-row-tags{
  margin-top:8px;
}
.gfl-row-tags span,
.gfl-player-tags span{
  display:inline-flex;
  align-items:center;
  min-height:23px;
  padding:4px 8px;
  border:1px solid #d9e7e1;
  border-radius:999px;
  background:#f7fbf9;
  color:#416e60;
  font-size:10px;
  line-height:1;
  font-weight:850;
}
.gfl-row-tags .is-more{
  border-color:rgba(228,184,79,.34);
  background:#fff8e8;
  color:#866311;
}
.gfl-row-stats{
  display:flex;
  flex-wrap:wrap;
  gap:6px 10px;
  margin-top:8px;
  color:#6d827a;
}
.gfl-row-stats span{
  display:inline-flex;
  align-items:center;
  gap:3px;
  font-size:10px;
  font-weight:850;
  white-space:nowrap;
}
.gfl-player-tags{
  justify-content:center;
  max-width:720px;
  margin:9px auto 0;
}
.gfl-player-tags span{
  border-color:rgba(16,111,82,.15);
  background:rgba(239,249,245,.88);
  color:#2c6b58;
}
.gfl-ad-zone{
  width:min(100%,970px);
  min-height:0;
  margin:20px auto;
  text-align:center;
  overflow:hidden;
}
.gfl-ad-zone-before{margin-bottom:22px}
.gfl-ad-zone-after{margin-top:26px}
.gfl-single-app{
  width:100%;
}
.gfl-single-exercise .gfl-single-app{
  margin:0 auto;
}
.gfl-single-exercise .gfl-player-page{
  margin-left:auto;
  margin-right:auto;
}
@media(max-width:700px){
  .gfl-library-filter-row,
  .gfl-library-workspace.is-public .gfl-library-filter-row{
    grid-template-columns:1fr!important;
  }
  .gfl-row-tags{gap:4px}
  .gfl-row-stats{gap:5px 8px}
  .gfl-player-tags{margin-top:7px}
}


/* ==========================================================
   FuchsLücke 0.1.1.18 — Theme Designer, autosave UX, stats, mobile QA
   ========================================================== */

/* Admin statistics overview */
.gfl-stats-overview{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:9px;
  margin:12px 0 18px;
}
.gfl-stats-overview>div{
  min-width:0;
  padding:13px 14px;
  border:1px solid rgba(19,103,79,.14);
  border-radius:15px;
  background:linear-gradient(155deg,#fbfffd,#fffaf0);
  box-shadow:0 7px 18px rgba(13,76,58,.055);
}
.gfl-stats-overview span,
.gfl-stats-overview strong,
.gfl-stats-overview small{display:block}
.gfl-stats-overview span{
  color:#53776c;
  font-size:8px;
  font-weight:950;
  letter-spacing:.11em;
}
.gfl-stats-overview strong{
  margin-top:3px;
  color:#174737;
  font:600 27px/1 Georgia,"Times New Roman",serif;
}
.gfl-stats-overview small{
  margin-top:4px;
  color:#7a8c86;
  font-size:9px;
  font-weight:750;
}

/* Theme / background designer */
.gfl-design-editor{
  margin:4px 0 18px;
  padding:17px;
  border:1.5px solid #d9e8e2;
  border-radius:20px;
  background:#fff;
  box-shadow:0 10px 28px rgba(14,74,56,.055);
}
.gfl-design-note{
  margin:-2px 0 13px;
  color:#71867f;
  font-size:12px;
  font-weight:650;
  line-height:1.45;
}
.gfl-design-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
}
.gfl-design-choice{
  position:relative;
  min-width:0;
  padding:9px;
  border:1.5px solid #dae7e2;
  border-radius:14px;
  background:#fbfefc;
  cursor:pointer;
  transition:transform .09s ease,border-color .09s ease,box-shadow .09s ease;
}
.gfl-design-choice:hover{
  transform:translateY(-1px);
  border-color:#9bc5b6;
  box-shadow:0 7px 16px rgba(14,74,56,.08);
}
.gfl-design-choice input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.gfl-design-choice:has(input:checked){
  border-color:#198765;
  box-shadow:0 0 0 3px rgba(25,135,101,.10),0 8px 18px rgba(14,74,56,.09);
}
.gfl-design-choice>strong,
.gfl-design-choice>small{display:block}
.gfl-design-choice>strong{
  margin-top:7px;
  color:#214a3d;
  font-size:11px;
  font-weight:950;
}
.gfl-design-choice>small{
  margin-top:2px;
  color:#81918c;
  font-size:8px;
  font-weight:700;
}
.gfl-design-swatch{
  height:50px;
  padding:7px;
  border-radius:10px;
  display:grid;
  grid-template-columns:1fr .8fr;
  grid-template-rows:1fr auto;
  gap:4px;
  border:1px solid rgba(0,0,0,.05);
  overflow:hidden;
}
.gfl-design-swatch i{
  grid-row:1/3;
  border-radius:6px;
  background:rgba(255,255,255,.88);
  box-shadow:0 3px 7px rgba(0,0,0,.08);
}
.gfl-design-swatch b,
.gfl-design-swatch em{
  border-radius:999px;
  display:block;
}
.gfl-design-swatch b{height:8px;align-self:end}
.gfl-design-swatch em{height:7px}
.gfl-design-choice-standard .gfl-design-swatch{background:linear-gradient(145deg,#eaf8f2,#fff5dd)}
.gfl-design-choice-standard .gfl-design-swatch b,.gfl-design-choice-standard .gfl-design-swatch em{background:#0b7656}
.gfl-design-choice-forest .gfl-design-swatch{background:linear-gradient(145deg,#dcebdd,#eef5e6)}
.gfl-design-choice-forest .gfl-design-swatch b,.gfl-design-choice-forest .gfl-design-swatch em{background:#245b3d}
.gfl-design-choice-parchment .gfl-design-swatch{background:linear-gradient(145deg,#f4e5c7,#fff7e8)}
.gfl-design-choice-parchment .gfl-design-swatch b,.gfl-design-choice-parchment .gfl-design-swatch em{background:#9c6a2f}
.gfl-design-choice-autumn .gfl-design-swatch{background:linear-gradient(145deg,#f8dfbf,#fff0d9)}
.gfl-design-choice-autumn .gfl-design-swatch b,.gfl-design-choice-autumn .gfl-design-swatch em{background:#b25d2a}
.gfl-design-choice-winter .gfl-design-swatch{background:linear-gradient(145deg,#e6f3f7,#f7fbff)}
.gfl-design-choice-winter .gfl-design-swatch b,.gfl-design-choice-winter .gfl-design-swatch em{background:#4f879c}
.gfl-design-choice-ocean .gfl-design-swatch{background:linear-gradient(145deg,#dfeef7,#eef9fb)}
.gfl-design-choice-ocean .gfl-design-swatch b,.gfl-design-choice-ocean .gfl-design-swatch em{background:#286f92}
.gfl-design-choice-lavender .gfl-design-swatch{background:linear-gradient(145deg,#eee8f8,#faf5ff)}
.gfl-design-choice-lavender .gfl-design-swatch b,.gfl-design-choice-lavender .gfl-design-swatch em{background:#7655a5}
.gfl-design-choice-night .gfl-design-swatch{background:linear-gradient(145deg,#263a37,#1d2a31)}
.gfl-design-choice-night .gfl-design-swatch i{background:#344b48}
.gfl-design-choice-night .gfl-design-swatch b,.gfl-design-choice-night .gfl-design-swatch em{background:#d5b65c}
.gfl-decoration-field{margin:13px 0 0!important}
.gfl-decoration-field select{
  width:100%;
  height:45px;
  padding:0 12px;
  border:1.5px solid #d4e3dd;
  border-radius:13px;
  background:#fff;
  color:#264f42;
  font-weight:800;
}

/* Shared design variables for the real player and the live preview. */
.gfl-player-page.gfl-design-standard,.gfl-design-preview.gfl-design-standard{
  --gfl-d-bg1:#ecf8f2;--gfl-d-bg2:#fff9ed;--gfl-d-bg3:#f0faf6;
  --gfl-d-card:#fffefb;--gfl-d-ink:#1d3d33;--gfl-d-accent:#0b7656;--gfl-d-accent2:#075d45;
  --gfl-d-bank1:#eff9f5;--gfl-d-bank2:#fff8e9;--gfl-d-gap:#eef8f4;--gfl-d-border:#a9d2c2;
  --gfl-d-chip1:#0e8060;--gfl-d-chip2:#07583f;
}
.gfl-player-page.gfl-design-forest,.gfl-design-preview.gfl-design-forest{
  --gfl-d-bg1:#dcebdd;--gfl-d-bg2:#f4f4df;--gfl-d-bg3:#d7e7dd;
  --gfl-d-card:#fffdf4;--gfl-d-ink:#233d2c;--gfl-d-accent:#2f6847;--gfl-d-accent2:#214c34;
  --gfl-d-bank1:#e8f1e5;--gfl-d-bank2:#f6efd8;--gfl-d-gap:#edf4e8;--gfl-d-border:#9fbda7;
  --gfl-d-chip1:#3b7552;--gfl-d-chip2:#24563a;
}
.gfl-player-page.gfl-design-parchment,.gfl-design-preview.gfl-design-parchment{
  --gfl-d-bg1:#f1e0bf;--gfl-d-bg2:#fff6df;--gfl-d-bg3:#ead2aa;
  --gfl-d-card:#fffaf0;--gfl-d-ink:#4c3a27;--gfl-d-accent:#95662f;--gfl-d-accent2:#735027;
  --gfl-d-bank1:#f7ead2;--gfl-d-bank2:#fff4df;--gfl-d-gap:#fbf0dd;--gfl-d-border:#d3b585;
  --gfl-d-chip1:#aa7435;--gfl-d-chip2:#79502a;
}
.gfl-player-page.gfl-design-autumn,.gfl-design-preview.gfl-design-autumn{
  --gfl-d-bg1:#f5d4ad;--gfl-d-bg2:#fff0d6;--gfl-d-bg3:#edc69d;
  --gfl-d-card:#fffaf2;--gfl-d-ink:#4c3024;--gfl-d-accent:#b45f2c;--gfl-d-accent2:#8a4523;
  --gfl-d-bank1:#fbe1c2;--gfl-d-bank2:#fff0d8;--gfl-d-gap:#fff0de;--gfl-d-border:#dcad82;
  --gfl-d-chip1:#bd6a32;--gfl-d-chip2:#8d4825;
}
.gfl-player-page.gfl-design-winter,.gfl-design-preview.gfl-design-winter{
  --gfl-d-bg1:#e4f1f5;--gfl-d-bg2:#f8fbff;--gfl-d-bg3:#dcebf1;
  --gfl-d-card:#fbfdff;--gfl-d-ink:#294554;--gfl-d-accent:#54879b;--gfl-d-accent2:#3d697c;
  --gfl-d-bank1:#edf6f9;--gfl-d-bank2:#f7fbfd;--gfl-d-gap:#eef7fa;--gfl-d-border:#a9cbd8;
  --gfl-d-chip1:#6596aa;--gfl-d-chip2:#45778c;
}
.gfl-player-page.gfl-design-ocean,.gfl-design-preview.gfl-design-ocean{
  --gfl-d-bg1:#d9eaf4;--gfl-d-bg2:#eef9f8;--gfl-d-bg3:#cfe5ee;
  --gfl-d-card:#fbfeff;--gfl-d-ink:#244455;--gfl-d-accent:#2b779a;--gfl-d-accent2:#205b78;
  --gfl-d-bank1:#e2f0f5;--gfl-d-bank2:#eef8f5;--gfl-d-gap:#e8f4f8;--gfl-d-border:#9fc7d7;
  --gfl-d-chip1:#3383a5;--gfl-d-chip2:#215e7b;
}
.gfl-player-page.gfl-design-lavender,.gfl-design-preview.gfl-design-lavender{
  --gfl-d-bg1:#e9e2f4;--gfl-d-bg2:#faf5ff;--gfl-d-bg3:#e1d8ef;
  --gfl-d-card:#fffaff;--gfl-d-ink:#40364f;--gfl-d-accent:#765aa1;--gfl-d-accent2:#5b447f;
  --gfl-d-bank1:#f0e9f8;--gfl-d-bank2:#fff4ea;--gfl-d-gap:#f3ecfa;--gfl-d-border:#c4b2db;
  --gfl-d-chip1:#8365ad;--gfl-d-chip2:#614888;
}
.gfl-player-page.gfl-design-night,.gfl-design-preview.gfl-design-night{
  --gfl-d-bg1:#1d2d2a;--gfl-d-bg2:#253536;--gfl-d-bg3:#17242a;
  --gfl-d-card:#263936;--gfl-d-ink:#eef6f2;--gfl-d-accent:#d0ad54;--gfl-d-accent2:#9f813a;
  --gfl-d-bank1:#304744;--gfl-d-bank2:#293a41;--gfl-d-gap:#334a46;--gfl-d-border:#55716b;
  --gfl-d-chip1:#a98a42;--gfl-d-chip2:#7c662f;
}

.gfl-player-page[class*="gfl-design-"]{
  background:
    radial-gradient(circle at 12% 5%,color-mix(in srgb,var(--gfl-d-accent) 18%,transparent),transparent 24%),
    radial-gradient(circle at 91% 14%,color-mix(in srgb,var(--gfl-d-accent) 12%,transparent),transparent 28%),
    linear-gradient(145deg,var(--gfl-d-bg1) 0%,var(--gfl-d-bg2) 48%,var(--gfl-d-bg3) 100%)!important;
}
.gfl-player-page[class*="gfl-design-"] .gfl-player-title h1,
.gfl-player-page[class*="gfl-design-"] .gfl-text-play,
.gfl-player-page[class*="gfl-design-"] .gfl-instruction strong{
  color:var(--gfl-d-ink)!important;
}
.gfl-player-page.gfl-design-night .gfl-player-title p,
.gfl-player-page.gfl-design-night .gfl-player-head>a,
.gfl-player-page.gfl-design-night .gfl-eyebrow{color:#d6e3df!important}
.gfl-player-page[class*="gfl-design-"] .gfl-exercise-card{
  background:color-mix(in srgb,var(--gfl-d-card) 97%,transparent)!important;
  border-color:color-mix(in srgb,var(--gfl-d-border) 75%,transparent)!important;
}
.gfl-player-page[class*="gfl-design-"] .gfl-instruction span{
  color:var(--gfl-d-accent2)!important;
  background:color-mix(in srgb,var(--gfl-d-accent) 13%,white)!important;
}
.gfl-player-page[class*="gfl-design-"] .gfl-bank-wrap{
  background:linear-gradient(145deg,var(--gfl-d-bank1),var(--gfl-d-bank2))!important;
  border-color:var(--gfl-d-border)!important;
}
.gfl-player-page[class*="gfl-design-"] .gfl-bank-label span{color:var(--gfl-d-accent2)!important}
.gfl-player-page[class*="gfl-design-"] .gfl-gap:not(.is-correct):not(.is-wrong){
  background:var(--gfl-d-gap)!important;
  border-color:var(--gfl-d-border)!important;
  color:var(--gfl-d-accent2)!important;
}
.gfl-player-page[class*="gfl-design-"] .gfl-chip{
  background:linear-gradient(145deg,var(--gfl-d-chip1),var(--gfl-d-chip2))!important;
}
.gfl-player-page[class*="gfl-design-"] .gfl-btn-primary{
  background:linear-gradient(135deg,var(--gfl-d-accent),var(--gfl-d-accent2))!important;
}
.gfl-player-page[class*="gfl-design-"] .gfl-theme-panel{
  background:linear-gradient(145deg,var(--gfl-d-bank1),var(--gfl-d-bg2))!important;
  border-color:var(--gfl-d-border)!important;
}
.gfl-player-page[class*="gfl-design-"] .gfl-theme-panel strong{color:var(--gfl-d-ink)!important}

/* Builder live preview follows the selected theme. */
.gfl-design-preview{
  background:var(--gfl-d-card)!important;
  border-color:var(--gfl-d-border)!important;
}
.gfl-design-preview .gfl-demo-text{color:var(--gfl-d-ink)!important}
.gfl-design-preview .gfl-demo-gap{
  background:var(--gfl-d-gap)!important;
  border-color:var(--gfl-d-border)!important;
}
.gfl-design-preview .gfl-demo-bank{
  background:linear-gradient(145deg,var(--gfl-d-bank1),var(--gfl-d-bank2))!important;
}
.gfl-design-preview .gfl-demo-bank span{
  background:linear-gradient(145deg,var(--gfl-d-chip1),var(--gfl-d-chip2))!important;
}

/* Optional background detail. */
.gfl-player-page.gfl-decoration-none:before{background-image:none!important}
.gfl-player-page.gfl-decoration-dots:before{
  background-image:radial-gradient(color-mix(in srgb,var(--gfl-d-accent) 28%,transparent) .7px,transparent .7px)!important;
  background-size:19px 19px!important;
  opacity:.24!important;
}
.gfl-player-page.gfl-decoration-lines:before{
  background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 26px,color-mix(in srgb,var(--gfl-d-accent) 11%,transparent) 27px,color-mix(in srgb,var(--gfl-d-accent) 11%,transparent) 28px)!important;
  opacity:.42!important;
}
.gfl-player-page.gfl-decoration-glow:before{
  background-image:radial-gradient(circle at 18% 24%,color-mix(in srgb,var(--gfl-d-accent) 24%,transparent),transparent 32%),radial-gradient(circle at 82% 70%,color-mix(in srgb,var(--gfl-d-accent) 16%,transparent),transparent 34%)!important;
  opacity:.7!important;
}
.gfl-player-page.gfl-decoration-corners:before{
  background:
    linear-gradient(135deg,color-mix(in srgb,var(--gfl-d-accent) 17%,transparent),transparent 22%) top left/34% 34% no-repeat,
    linear-gradient(315deg,color-mix(in srgb,var(--gfl-d-accent) 14%,transparent),transparent 22%) bottom right/34% 34% no-repeat!important;
  opacity:.75!important;
}

/* Result / correction UX */
.gfl-result-row{
  position:relative;
  z-index:1;
  min-height:40px;
  margin-top:15px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
}
.gfl-result-row .gfl-feedback{margin:0;min-height:24px}
.gfl-progress-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:29px;
  padding:6px 10px;
  border:1px solid #d5e5de;
  border-radius:999px;
  background:#f8fbfa;
  color:#5f756d;
  font-size:10px;
  font-weight:900;
  white-space:nowrap;
}
.gfl-progress-pill.is-complete{
  border-color:#a8d7c6;
  background:#e8f7f0;
  color:#08704f;
}
.gfl-gap.is-correct.is-locked{
  cursor:default!important;
  touch-action:auto!important;
  box-shadow:0 0 0 2px rgba(21,147,107,.08),0 4px 10px rgba(9,94,67,.07)!important;
}
.gfl-gap.is-correct.is-locked:hover{transform:none!important}
.gfl-exercise-card.is-complete{
  animation:gfl-complete-card .55s ease-out;
  box-shadow:0 22px 62px rgba(9,105,75,.16),0 0 0 2px rgba(211,174,80,.10)!important;
}
.gfl-exercise-card.is-complete:before{
  content:"✓";
  position:absolute;
  z-index:0;
  right:28px;
  bottom:18px;
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:rgba(8,112,79,.16);
  border:2px solid rgba(208,173,84,.18);
  font:900 29px/1 Georgia,serif;
  pointer-events:none;
  animation:gfl-complete-mark .55s ease-out;
}
@keyframes gfl-complete-card{
  0%{transform:scale(.995)}
  50%{transform:scale(1.004)}
  100%{transform:scale(1)}
}
@keyframes gfl-complete-mark{
  0%{opacity:0;transform:scale(.55) rotate(-12deg)}
  100%{opacity:1;transform:scale(1) rotate(0)}
}

/* Faster, safer touch dragging */
html.gfl-drag-lock,
html.gfl-drag-lock body{
  overscroll-behavior:none!important;
}
.gfl-player-page .gfl-chip,
.gfl-player-page .gfl-gap.is-filled{
  -webkit-touch-callout:none;
  -webkit-user-select:none;
  user-select:none;
}
.gfl-player-page .gfl-chip{min-height:42px}
.gfl-player-page .gfl-word-bank{min-height:58px}
.gfl-player-page.is-drag-active .gfl-bank-wrap{
  box-shadow:0 0 0 3px color-mix(in srgb,var(--gfl-d-accent,#0b7656) 11%,transparent);
}

/* Three admin actions still stay compact. */
.gfl-duplicate-btn{white-space:nowrap}
.gfl-row-actions{min-width:300px}

/* Autosave status remains visible on small screens. */
@media(max-width:1100px){
  .gfl-stats-overview{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gfl-design-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .gfl-stats-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .gfl-stats-overview>div{padding:10px}
  .gfl-stats-overview strong{font-size:23px}
  .gfl-design-editor{padding:13px}
  .gfl-design-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .gfl-design-choice{padding:7px}
  .gfl-design-swatch{height:44px}
  .gfl-builder-footer{flex-direction:column;align-items:stretch!important;gap:6px!important}
  .gfl-save-status{display:block!important;text-align:center;font-size:10px!important}
  .gfl-play-actions{display:grid!important;grid-template-columns:1fr!important}
  .gfl-result-row{align-items:stretch}
  .gfl-progress-pill{width:100%}
  .gfl-player-page .gfl-gap{min-height:37px}
  .gfl-player-page .gfl-chip{min-height:44px;padding:11px 15px!important}
  .gfl-row-actions{min-width:0!important}
  .is-admin-library .gfl-row-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .is-admin-library .gfl-row-actions .gfl-btn{font-size:10px!important;padding:9px 6px!important}
}
@media (prefers-reduced-motion:reduce){
  .gfl-exercise-card.is-complete,.gfl-exercise-card.is-complete:before{animation:none!important}
}


/* =========================================================
   FuchsLücke 0.1.1.19 — final UX/accessibility/long-text QA
   ========================================================= */
.gfl-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.gfl-gap:focus-visible,.gfl-chip:focus-visible,.gfl-btn:focus-visible,.gfl-bank-toggle:focus-visible{outline:3px solid #e2b643!important;outline-offset:3px!important;box-shadow:0 0 0 6px rgba(226,182,67,.18)!important}
.gfl-chip{max-width:100%;overflow-wrap:anywhere;white-space:normal;text-align:center}
.gfl-gap{touch-action:none}
.gfl-bank-label-actions{display:flex;align-items:center;gap:9px}
.gfl-bank-toggle{border:1px solid rgba(14,128,96,.24);border-radius:999px;background:rgba(255,255,255,.84);color:var(--gfl-d-ink,#174536);font:850 11px/1 system-ui,sans-serif;padding:7px 10px;cursor:pointer;box-shadow:0 4px 12px rgba(23,69,54,.08)}
.gfl-exercise-card.is-long-text{overflow:visible!important}
.gfl-bank-wrap.is-sticky-bank{position:sticky;bottom:10px;z-index:24;box-shadow:0 15px 38px rgba(15,69,53,.16),0 0 0 1px rgba(255,255,255,.78) inset;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.gfl-bank-wrap.is-sticky-bank.is-collapsed{padding:10px 13px}
.gfl-bank-wrap.is-sticky-bank.is-collapsed .gfl-word-bank{display:none!important}
.gfl-bank-wrap.is-sticky-bank.is-collapsed .gfl-bank-label{margin:0!important}
.gfl-complete-panel{margin-top:24px;padding:22px;border:1.5px solid rgba(24,145,105,.22);border-radius:24px;background:linear-gradient(145deg,rgba(238,250,245,.97),rgba(255,250,235,.98));box-shadow:0 18px 45px rgba(20,91,69,.12);text-align:center;position:relative;overflow:hidden}
.gfl-complete-panel[hidden]{display:none!important}
.gfl-complete-icon{width:54px;height:54px;margin:0 auto 10px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#13956c,#087052);color:#fff;font-size:28px;font-weight:950;box-shadow:0 10px 24px rgba(10,119,84,.23)}
.gfl-complete-copy>span,.gfl-related>span{font-size:9px;font-weight:950;letter-spacing:.16em;color:#12805f}
.gfl-complete-copy h2{margin:5px 0 6px;font:650 clamp(28px,3.2vw,38px)/1 Georgia,"Times New Roman",serif;color:#174536}
.gfl-complete-copy p{margin:0;color:#5b7068;font-weight:650}
.gfl-complete-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:16px}
.gfl-related{margin-top:22px;padding-top:18px;border-top:1px solid rgba(30,104,81,.13);text-align:left}
.gfl-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:10px}
.gfl-related-grid a{display:flex;flex-direction:column;min-width:0;padding:13px 14px;border:1px solid rgba(22,102,77,.13);border-radius:15px;background:rgba(255,255,255,.78);text-decoration:none!important;box-shadow:0 7px 18px rgba(28,81,64,.07);transition:transform .14s ease,box-shadow .14s ease}
.gfl-related-grid a:hover{transform:translateY(-2px);box-shadow:0 11px 25px rgba(28,81,64,.11)}
.gfl-related-grid small{color:#108161;font-weight:900;font-size:9px;letter-spacing:.08em;text-transform:uppercase}
.gfl-related-grid strong{margin-top:4px;color:#183f33;font:650 17px/1.12 Georgia,"Times New Roman",serif;overflow-wrap:anywhere}
.gfl-related-grid em{margin-top:5px;color:#71817b;font-size:11px;font-style:normal;font-weight:650;overflow-wrap:anywhere}
.gfl-btn-danger{background:#fff3f3!important;color:#a63d45!important;border:1.5px solid #e6b2b6!important;box-shadow:0 5px 13px rgba(146,48,58,.07)!important}
.gfl-btn-danger:hover{background:#fde7e8!important;border-color:#d98188!important}
.gfl-row-actions{flex-wrap:wrap}
@media(max-width:700px){.gfl-bank-wrap.is-sticky-bank{bottom:7px;margin-left:-4px;margin-right:-4px;padding:13px;border-radius:17px}.gfl-bank-label-actions{gap:6px}.gfl-bank-toggle{padding:7px 9px;font-size:10px}.gfl-related-grid{grid-template-columns:1fr}.gfl-complete-actions{display:grid;grid-template-columns:1fr;width:100%}.gfl-complete-actions .gfl-btn{width:100%}.gfl-gap{min-height:38px;max-width:min(220px,78vw);white-space:normal;height:auto;padding-top:7px;padding-bottom:7px;line-height:1.15}.gfl-chip{min-height:42px;padding:11px 13px}}
@media(max-width:420px){.gfl-text-play{font-size:17px!important;line-height:1.82!important}.gfl-gap{min-width:68px;margin:1px 1px;font-size:12px}.gfl-bank-label{align-items:flex-start}.gfl-bank-label-actions{align-items:flex-end;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.gfl-related-grid a{transition:none!important}}


/* FuchsLücke 0.1.1.20 — Likes, no star/favorite ambiguity */
.gfl-like-btn{appearance:none;border:1.5px solid rgba(154,109,19,.22);background:linear-gradient(145deg,#fffdf7,#fff8e8);color:#6d5420;border-radius:999px;min-height:38px;padding:7px 12px;display:inline-flex;align-items:center;gap:7px;font:850 12px/1.1 inherit;cursor:pointer;box-shadow:0 5px 14px rgba(83,63,17,.08),inset 0 1px 0 rgba(255,255,255,.95);transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease,color .12s ease}
.gfl-like-btn:hover{transform:translateY(-1px);border-color:rgba(154,109,19,.38);box-shadow:0 8px 18px rgba(83,63,17,.12)}
.gfl-like-btn:active{transform:translateY(0) scale(.98)}
.gfl-like-btn.is-liked{background:linear-gradient(145deg,#fff2f2,#fff9ed);border-color:rgba(174,58,65,.28);color:#a2333c;box-shadow:0 6px 16px rgba(154,49,58,.11),inset 0 1px 0 #fff}
.gfl-like-btn.is-busy{opacity:.62;cursor:wait}
.gfl-like-heart{font-size:19px;line-height:1;transform:translateY(-.5px)}
.gfl-like-btn strong{font-size:12px;min-width:10px;text-align:center}
.gfl-row-copy>.gfl-like-btn{margin-top:9px;width:max-content}
.gfl-player-like-row{display:flex;justify-content:center;margin:-8px 0 16px}
.gfl-like-btn-player{min-height:42px;padding:8px 15px;font-size:13px}
.gfl-like-admin-count{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:#fff8ea;border:1px solid #ead9aa;color:#795c17;font-weight:850;font-size:12px}
.gfl-row-stats span[title="Gefällt mir"]{color:#9b3c45}
@media(max-width:700px){.gfl-like-label{display:none}.gfl-like-btn{min-width:44px;justify-content:center}.gfl-player-like-row{margin:-5px 0 12px}}
.gfl-stats-overview{grid-template-columns:repeat(6,minmax(0,1fr))}
@media(max-width:1100px){.gfl-stats-overview{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.gfl-stats-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ==========================================================
   FuchsLücke 0.1.1.22 — remove the WordPress post header completely
   No title/date/author/separator/empty hero space above the exercise.
   ========================================================== */
body.gfl-single-exercise .wp-block-post-title,
body.gfl-single-exercise .wp-block-post-date,
body.gfl-single-exercise .wp-block-post-author,
body.gfl-single-exercise .wp-block-post-author-name,
body.gfl-single-exercise .wp-block-post-author-biography,
body.gfl-single-exercise .entry-header,
body.gfl-single-exercise .entry-meta,
body.gfl-single-exercise .post-meta,
body.gfl-single-exercise .post-meta-wrapper,
body.gfl-single-exercise .page-header,
body.gfl-single-exercise .post-header,
body.gfl-single-exercise .post-meta-single-top,
body.gfl-single-exercise .post-inner-thin > .post-meta-wrapper{
  display:none!important;
}

/* Block-theme header group immediately before the actual post content. */
body.gfl-single-exercise main > .wp-block-group:has(+ .wp-block-post-content),
body.gfl-single-exercise main > .wp-block-group:has(+ .entry-content),
body.gfl-single-exercise main > .wp-block-columns:has(+ .wp-block-post-content),
body.gfl-single-exercise main > .wp-block-columns:has(+ .entry-content){
  display:none!important;
}

/* Remove every bit of theme spacing reserved for the discarded post hero/header. */
body.gfl-single-exercise .wp-site-blocks > main,
body.gfl-single-exercise main,
body.gfl-single-exercise main.wp-block-group,
body.gfl-single-exercise .wp-block-post-content,
body.gfl-single-exercise .entry-content{
  margin-block-start:0!important;
  margin-top:0!important;
  padding-block-start:0!important;
  padding-top:0!important;
}
body.gfl-single-exercise .wp-block-post-content > .gfl-single-app,
body.gfl-single-exercise .entry-content > .gfl-single-app,
body.gfl-single-exercise .gfl-single-app{
  margin-top:0!important;
}


/* FuchsLücke 0.1.1.23 — refined one-way likes */
.gfl-like-btn{
  appearance:none!important;
  -webkit-appearance:none!important;
  border:1px solid rgba(30,104,79,.16)!important;
  background:rgba(255,255,255,.76)!important;
  color:#315f50!important;
  border-radius:999px!important;
  min-height:36px!important;
  padding:5px 8px 5px 10px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  font-family:inherit!important;
  font-size:12px!important;
  font-weight:850!important;
  line-height:1!important;
  cursor:pointer!important;
  box-shadow:0 5px 15px rgba(28,72,57,.07),inset 0 1px 0 rgba(255,255,255,.92)!important;
  outline:none!important;
  transition:transform .12s ease,box-shadow .12s ease,background .12s ease,border-color .12s ease!important;
}
.gfl-like-btn:hover:not(:disabled){
  transform:translateY(-1px)!important;
  background:rgba(255,255,255,.95)!important;
  border-color:rgba(30,104,79,.27)!important;
  box-shadow:0 8px 20px rgba(28,72,57,.10),inset 0 1px 0 #fff!important;
}
.gfl-like-btn:focus{outline:none!important}
.gfl-like-btn:focus-visible{
  outline:none!important;
  box-shadow:0 0 0 3px rgba(34,126,94,.13),0 7px 18px rgba(28,72,57,.10)!important;
}
.gfl-like-btn:active:not(:disabled){transform:translateY(0) scale(.975)!important}
.gfl-like-heart{
  color:#a67a2f!important;
  font-size:18px!important;
  font-weight:700!important;
  line-height:1!important;
  transform:none!important;
}
.gfl-like-label{letter-spacing:-.005em!important}
.gfl-like-count{
  min-width:25px!important;
  height:25px!important;
  padding:0 7px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  background:rgba(18,103,76,.075)!important;
  color:#1d674f!important;
  font-size:11px!important;
  font-weight:950!important;
}
.gfl-like-count strong{font-size:inherit!important;min-width:0!important;font-weight:inherit!important}
.gfl-like-btn.is-liked,
.gfl-like-btn.is-liked:disabled{
  opacity:1!important;
  cursor:default!important;
  background:rgba(247,252,249,.92)!important;
  border-color:rgba(30,104,79,.18)!important;
  color:#2d5c4c!important;
  box-shadow:0 4px 12px rgba(28,72,57,.055),inset 0 1px 0 #fff!important;
}
.gfl-like-btn.is-liked .gfl-like-heart{color:#a5484e!important}
.gfl-like-btn.is-busy{opacity:.62!important;cursor:wait!important}
.gfl-like-btn.is-popped .gfl-like-heart{animation:gfl-like-pop .3s ease}
@keyframes gfl-like-pop{0%{transform:scale(1)}45%{transform:scale(1.28)}100%{transform:scale(1)}}
.gfl-player-like-row{display:flex!important;justify-content:center!important;margin:-7px 0 18px!important}
.gfl-like-btn-player{min-height:38px!important;padding:6px 8px 6px 11px!important;font-size:12px!important}
.gfl-row-copy>.gfl-like-btn{margin-top:8px!important;width:max-content!important}
@media(max-width:700px){
  .gfl-like-label{display:inline!important}
  .gfl-like-btn{min-width:0!important}
  .gfl-player-like-row{margin:-5px 0 14px!important}
}


/* =========================================================
   FuchsLücke 0.1.1.24 — drag/drop stability + instant likes
   ========================================================= */

/* Prevent browser text selection from hijacking an active word drag. */
.gfl-player-page.is-pointer-armed .gfl-text-play,
.gfl-player-page.is-pointer-armed .gfl-text-play *,
.gfl-player-page.is-drag-active .gfl-text-play,
.gfl-player-page.is-drag-active .gfl-text-play *{
  -webkit-user-select:none!important;
  user-select:none!important;
}

/* One dedicated drag ghost, anchored at viewport origin so pointer coordinates
   are exact. It is always removed on pointerup/cancel/blur/visibilitychange. */
.gfl-drag-ghost{
  position:fixed!important;
  left:0!important;
  top:0!important;
  z-index:10000050!important;
  pointer-events:none!important;
  margin:0!important;
  min-height:40px!important;
  max-width:min(260px,72vw)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:9px 14px!important;
  border:1px solid rgba(226,187,88,.30)!important;
  border-radius:12px!important;
  background:linear-gradient(145deg,#0e8060,#07583f)!important;
  color:#fff!important;
  font:850 14px/1.1 Inter,system-ui,sans-serif!important;
  white-space:nowrap!important;
  box-shadow:0 16px 34px rgba(4,68,49,.30),inset 0 1px 0 rgba(255,255,255,.18)!important;
  opacity:.97!important;
  will-change:transform!important;
}

/* Filled gaps stay one clean cell: no clipped/half-looking word state. */
.gfl-player-page .gfl-gap.is-filled{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  vertical-align:middle!important;
  cursor:grab!important;
  -webkit-user-select:none!important;
  user-select:none!important;
}
.gfl-player-page .gfl-gap.is-filled.is-dragging{
  opacity:.42!important;
  cursor:grabbing!important;
}
.gfl-player-page.is-drag-active .gfl-gap:not(.is-correct){
  cursor:copy!important;
}
.gfl-player-page.is-drag-active .gfl-bank-wrap{
  cursor:copy!important;
}

/* Make the complete Wortbank panel a very obvious return zone. */
.gfl-player-page.is-drag-active .gfl-bank-wrap{
  border-color:color-mix(in srgb,var(--gfl-d-accent,#0b7656) 55%,white)!important;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--gfl-d-accent,#0b7656) 12%,transparent),0 14px 32px rgba(8,88,63,.10)!important;
}
.gfl-player-page .gfl-bank-wrap.is-touch-target{
  transform:none!important;
  box-shadow:0 0 0 5px color-mix(in srgb,var(--gfl-d-accent,#0b7656) 17%,transparent),0 16px 34px rgba(8,88,63,.12)!important;
}

/* Likes react immediately; network latency never changes the tactile response. */
.gfl-like-btn{
  transition:transform .055s ease,box-shadow .07s ease,background .07s ease,border-color .07s ease,color .07s ease!important;
}
.gfl-like-btn:active:not(:disabled){
  transform:scale(.965)!important;
}
.gfl-like-btn.is-optimistic{
  background:rgba(247,252,249,.98)!important;
  border-color:rgba(30,104,79,.24)!important;
}
.gfl-like-btn.is-popped .gfl-like-heart{
  animation:gfl-like-pop-fast .18s cubic-bezier(.2,.9,.2,1)!important;
}
.gfl-like-btn.is-popped .gfl-like-count{
  animation:gfl-like-count-pop .18s cubic-bezier(.2,.9,.2,1)!important;
}
@keyframes gfl-like-pop-fast{
  0%{transform:scale(.86)}
  55%{transform:scale(1.24)}
  100%{transform:scale(1)}
}
@keyframes gfl-like-count-pop{
  0%{transform:scale(.88)}
  55%{transform:scale(1.10)}
  100%{transform:scale(1)}
}
.gfl-like-btn.is-busy{
  opacity:1!important;
  cursor:pointer!important;
}

@media(max-width:700px){
  .gfl-drag-ghost{
    min-height:42px!important;
    max-width:76vw!important;
    padding:10px 13px!important;
  }
}


/* =========================================================
   FuchsLücke 0.1.1.25 — drag geometry must never morph
   ========================================================= */
/* The floating dragged word is a 1:1 visual copy of the source cell. Width,
   height, border-radius, background and grab point are set from JS. */
.gfl-drag-ghost{
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  margin:0!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  transform-origin:0 0!important;
  opacity:.98!important;
}

/* During an active drag NOTHING is allowed to scale/morph the source or the
   target cells. Feedback is colour/outline only. */
.gfl-player-page .gfl-gap.is-dragging,
.gfl-player-page .gfl-chip.is-dragging,
.gfl-player-page.is-pointer-armed .gfl-chip:active,
.gfl-player-page.is-drag-active .gfl-chip:active,
.gfl-player-page.is-drag-active .gfl-gap.is-touch-target,
.gfl-player-page.is-drag-active .gfl-gap.is-drop-target{
  transform:none!important;
}
.gfl-player-page.is-drag-active .gfl-gap.is-touch-target{
  box-shadow:0 0 0 4px rgba(11,118,86,.13),0 6px 14px rgba(8,88,63,.10)!important;
}


/* 0.1.1.26 — Gesamtprüfung erst nach vollständig ausgefülltem Text */
.gfl-player [data-gfl-check]:disabled{
  opacity:.5!important;
  cursor:not-allowed!important;
  transform:none!important;
  box-shadow:0 5px 12px rgba(22,74,56,.10)!important;
  filter:saturate(.7)!important;
}
.gfl-player [data-gfl-check].is-ready:not(:disabled){
  opacity:1!important;
  cursor:pointer!important;
}


/* =========================================================
   FuchsLücke 0.1.1.27 — one restart action + identical cells
   ========================================================= */
/* A word has exactly the same cell geometry in Wortbank and in the text.
   Earlier mobile/long-text overrides are intentionally superseded here. */
.gfl-player-page .gfl-gap,
.gfl-player-page .gfl-chip{
  box-sizing:border-box!important;
  width:var(--gfl-cell-w,96px)!important;
  min-width:var(--gfl-cell-w,96px)!important;
  max-width:var(--gfl-cell-w,96px)!important;
  height:var(--gfl-cell-h,40px)!important;
  min-height:var(--gfl-cell-h,40px)!important;
  max-height:var(--gfl-cell-h,40px)!important;
  padding:0 10px!important;
  border-radius:10px!important;
  font-size:14px!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  vertical-align:middle!important;
}
.gfl-player-page .gfl-chip{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.gfl-player-page .gfl-gap.is-filled{
  width:var(--gfl-cell-w,96px)!important;
  min-width:var(--gfl-cell-w,96px)!important;
  max-width:var(--gfl-cell-w,96px)!important;
  height:var(--gfl-cell-h,40px)!important;
  min-height:var(--gfl-cell-h,40px)!important;
  max-height:var(--gfl-cell-h,40px)!important;
}
/* Drag feedback never changes dimensions. */
.gfl-player-page.is-pointer-armed .gfl-gap,
.gfl-player-page.is-pointer-armed .gfl-chip,
.gfl-player-page.is-drag-active .gfl-gap,
.gfl-player-page.is-drag-active .gfl-chip{
  transform:none!important;
}
@media(max-width:700px){
  .gfl-player-page .gfl-gap,
  .gfl-player-page .gfl-chip{
    padding:0 8px!important;
    font-size:13px!important;
  }
}


/* =========================================================
   FuchsLücke 0.1.1.28 — used Wortbank tokens really disappear
   ========================================================= */
/* 0.1.1.27 gave chips a later display:inline-flex!important rule, which
   accidentally overrode the earlier [hidden] rule. Keep used tokens fully
   out of layout; the exact same token returns only when its gap is cleared. */
.gfl-player-page .gfl-word-bank .gfl-chip[hidden],
.gfl-player-page .gfl-word-bank .gfl-chip.is-used{
  display:none!important;
}


/* =========================================================
   FuchsLücke 0.1.1.29 — narrower text gaps for cleaner inline flow
   ========================================================= */
/* Wortbank chips remain full-size. Text gaps are intentionally a little
   narrower, with slightly larger side margins, so adjacent gaps no longer
   visually merge inside the sentence. */
.gfl-player-page .gfl-gap{
  width:var(--gfl-gap-w,84px)!important;
  min-width:var(--gfl-gap-w,84px)!important;
  max-width:var(--gfl-gap-w,84px)!important;
  margin:0 6px!important;
}
.gfl-player-page .gfl-gap.is-filled{
  width:var(--gfl-gap-w,84px)!important;
  min-width:var(--gfl-gap-w,84px)!important;
  max-width:var(--gfl-gap-w,84px)!important;
}
@media(max-width:700px){
  .gfl-player-page .gfl-gap,
  .gfl-player-page .gfl-gap.is-filled{
    width:var(--gfl-gap-w,72px)!important;
    min-width:var(--gfl-gap-w,72px)!important;
    max-width:var(--gfl-gap-w,72px)!important;
    margin:0 4px!important;
  }
}


/* =========================================================
   FuchsLücke 0.1.1.30 — lower text-gap height
   ========================================================= */
/* The blanks inside the text were still too tall. Keep them clearly visible
   but reduce their vertical footprint so they sit more naturally in the line. */
.gfl-player-page .gfl-gap,
.gfl-player-page .gfl-gap.is-filled{
  height:var(--gfl-cell-h,30px)!important;
  min-height:var(--gfl-cell-h,30px)!important;
  max-height:var(--gfl-cell-h,30px)!important;
  border-radius:8px!important;
  padding:0 8px!important;
}
@media(max-width:700px){
  .gfl-player-page .gfl-gap,
  .gfl-player-page .gfl-gap.is-filled{
    height:var(--gfl-cell-h,34px)!important;
    min-height:var(--gfl-cell-h,34px)!important;
    max-height:var(--gfl-cell-h,34px)!important;
    border-radius:7px!important;
    padding:0 7px!important;
  }
}


/* =========================================================
   FuchsLücke 0.1.1.31 — dragged token must not exceed the text gap
   ========================================================= */
/* Earlier drag-ghost base rules kept a forced min-height of 40px. That made
   the floating word taller than the actual gap. Let JS control the exact box. */
.gfl-drag-ghost{
  min-height:0!important;
  max-height:none!important;
}


/* =========================================================
   FuchsLücke 0.1.1.32 — visible red pre-check hint
   ========================================================= */
.gfl-feedback.is-prefill-hint{
  color:#b23e48!important;
  font-weight:900!important;
}


/* =========================================================
   FuchsLücke 0.1.1.33 — no Wortbank highlight while dragging
   ========================================================= */
.gfl-player-page.is-drag-active .gfl-bank-wrap,
.gfl-player-page .gfl-bank-wrap.is-drop-target,
.gfl-player-page .gfl-bank-wrap.is-touch-target{
  transform:none!important;
  outline:none!important;
  box-shadow:none!important;
}
.gfl-player-page .gfl-word-bank.is-drop-target,
.gfl-player-page .gfl-word-bank.is-touch-target{
  outline:none!important;
  outline-offset:0!important;
}


/* =========================================================
   FuchsLücke 0.1.1.34 — registered-user constructor + 50 limit
   ========================================================= */
.gfl-user-limit{
  display:flex;align-items:baseline;gap:8px;margin:2px 0 14px;
  color:rgba(255,255,255,.88);font-weight:800;
}
.gfl-user-limit strong{font-size:20px;color:#f6d77d}
.gfl-user-limit span{font-size:12px;letter-spacing:.02em}
.gfl-constructor-card.is-limit-reached{opacity:.92}
.gfl-constructor-open.is-disabled{
  cursor:not-allowed!important;pointer-events:none!important;filter:saturate(.55);opacity:.8;
}


/* =========================================================
   FuchsLücke 0.1.1.35 — guest sees the constructor teaser too
   ========================================================= */
.gfl-constructor-card.is-guest-gate .gfl-constructor-plus{opacity:.82}
.gfl-guest-constructor-note{
  margin-top:18px;
  padding:12px 14px;
  border-radius:14px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(246,215,125,.28);
  display:flex;flex-direction:column;gap:2px;
}
.gfl-guest-constructor-note strong{font-size:14px;color:#fff}
.gfl-guest-constructor-note span{font-size:12px;color:rgba(255,255,255,.82);font-weight:750}
.gfl-guest-constructor-actions{margin-top:12px;display:flex;flex-direction:column;gap:8px;align-items:stretch}
.gfl-guest-constructor-actions .gfl-constructor-open{width:100%}
.gfl-register-link{display:block;text-align:center;color:#f6d77d!important;font-size:12px;font-weight:900;text-decoration:none!important}
.gfl-register-link:hover{text-decoration:underline!important}


/* =========================================================
   FuchsLücke 0.1.1.36 — clean library card + no statistics on library page
   ========================================================= */
/* The private counters continue to be collected in the backend, but the
   exercise library itself stays a clean content list. */
.gfl-stats-overview,
.gfl-row-stats{
  display:none!important;
}

/* Admin/user exercise row: give the title the full content width and move
   authoring actions beneath it. This prevents the title from being squeezed
   into an ugly narrow column by 4–5 buttons. */
.gfl-exercise-row{
  grid-template-columns:112px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  align-items:center!important;
  column-gap:16px!important;
  row-gap:8px!important;
  padding:14px 16px!important;
}
.gfl-row-visual{
  grid-column:1!important;
  grid-row:1 / span 2!important;
  width:112px!important;
  height:88px!important;
}
.gfl-row-copy{
  grid-column:2!important;
  grid-row:1!important;
  min-width:0!important;
}
.gfl-row-copy h2{
  font-size:19px!important;
  line-height:1.16!important;
  font-weight:700!important;
  letter-spacing:-.012em!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  max-width:none!important;
}
.gfl-row-actions{
  grid-column:2!important;
  grid-row:2!important;
  min-width:0!important;
  width:100%!important;
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:7px!important;
  margin-top:1px!important;
}
.gfl-row-actions .gfl-btn{
  min-width:0!important;
  min-height:38px!important;
  padding:0 13px!important;
  font-size:11px!important;
  border-radius:11px!important;
}

@media(max-width:700px){
  .gfl-exercise-row{
    grid-template-columns:76px minmax(0,1fr)!important;
    column-gap:11px!important;
    row-gap:9px!important;
    padding:11px!important;
  }
  .gfl-row-visual{
    width:76px!important;
    height:72px!important;
  }
  .gfl-row-copy h2{font-size:17px!important;line-height:1.18!important}
  .gfl-row-actions{
    grid-column:1 / -1!important;
    grid-row:3!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .gfl-row-actions .gfl-btn{width:100%!important;min-height:40px!important}
}

/* =========================================================
   FuchsLücke 0.1.1.37 — role completion + private admin stats
   ========================================================= */
.gfl-library-intro-actions{
  display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px;
}
.gfl-library-intro-actions .gfl-back-pill{margin:0!important}
.gfl-admin-stats-link{
  display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 17px;
  border:2px solid rgba(9,96,70,.16);border-radius:14px;background:rgba(255,255,255,.92);
  color:#08664c!important;text-decoration:none!important;font-size:13px;font-weight:950;
  box-shadow:0 8px 20px rgba(12,72,55,.08);transition:transform .12s ease,box-shadow .12s ease;
}
.gfl-admin-stats-link:hover{transform:translateY(-1px);box-shadow:0 11px 24px rgba(12,72,55,.12)}

.gfl-admin-statistics{padding:34px clamp(18px,4vw,58px) 58px!important}
.gfl-admin-stats-head{width:100%;max-width:1500px;margin:0 auto 24px}
.gfl-admin-stats-head .gfl-back-pill{margin-bottom:20px!important}
.gfl-admin-stats-head h1{font-size:clamp(38px,5vw,58px);line-height:1;margin-top:7px}
.gfl-admin-stats-head p{margin:10px 0 0;color:#5d746c;font-size:15px;font-weight:700}
.gfl-admin-stats-grid{
  width:100%;max-width:1500px;margin:0 auto 20px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;
}
.gfl-admin-stats-grid article{
  min-width:0;padding:17px 16px;border:1.5px solid rgba(9,96,70,.15);border-radius:18px;
  background:rgba(255,255,255,.94);box-shadow:0 10px 25px rgba(12,72,55,.07);
}
.gfl-admin-stats-grid span,.gfl-admin-stats-grid strong,.gfl-admin-stats-grid small{display:block}
.gfl-admin-stats-grid span{font-size:9px;letter-spacing:.12em;font-weight:950;color:#52766a}
.gfl-admin-stats-grid strong{margin-top:5px;font:700 30px/1 Georgia,"Times New Roman",serif;color:#174c3d}
.gfl-admin-stats-grid small{margin-top:6px;color:#7b8c86;font-size:10px;font-weight:750;line-height:1.35}
.gfl-admin-stats-table-wrap{
  width:100%;max-width:1500px;margin:0 auto;overflow:auto;border:1.5px solid rgba(9,96,70,.16);border-radius:22px;
  background:#fff;box-shadow:0 16px 36px rgba(12,72,55,.09);
}
.gfl-admin-stats-table{width:100%;border-collapse:collapse;min-width:920px}
.gfl-admin-stats-table th{padding:13px 14px;text-align:left;background:#edf7f3;color:#426b5e;font-size:9px;letter-spacing:.11em;font-weight:950;text-transform:uppercase;border-bottom:1px solid #dceae4}
.gfl-admin-stats-table td{padding:14px;border-bottom:1px solid #e7efeb;color:#365b50;font-size:12px;font-weight:750;vertical-align:middle}
.gfl-admin-stats-table tbody tr:last-child td{border-bottom:0}
.gfl-admin-stats-table td:first-child{min-width:260px}
.gfl-admin-stats-table td a{text-decoration:none!important;color:#174c3d!important}
.gfl-admin-stats-table td a strong{display:block;font:700 16px/1.2 Georgia,"Times New Roman",serif}
.gfl-admin-stats-table td small{display:block;margin-top:4px;color:#81928c;font-size:10px;font-weight:700}
.gfl-stat-type{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:8px;font-weight:950;letter-spacing:.08em}
.gfl-stat-type.is-official{background:#dcf4e9;color:#087153}
.gfl-stat-type.is-community{background:#f4efe1;color:#806521}

@media(max-width:1150px){.gfl-admin-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){
  .gfl-library-intro-actions{align-items:stretch;flex-direction:column}
  .gfl-admin-stats-link{width:100%}
  .gfl-admin-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .gfl-admin-stats-grid article{padding:13px}
  .gfl-admin-stats-grid strong{font-size:25px}
}


/* =========================================================
   FuchsLücke 0.1.1.38 — visible authorship + polished learning navigation
   ========================================================= */
.gfl-row-author{display:flex;align-items:center;gap:6px;margin-top:7px;color:#667a73;font-size:11px;line-height:1.2}
.gfl-row-author>span{font-size:8px;color:#6a9687}
.gfl-row-author strong{font-weight:800;color:#48665c}
.gfl-row-author em{font-style:normal;font-size:8px;font-weight:950;letter-spacing:.09em;color:#0b7456;background:#e6f5ef;border:1px solid #cce8dd;border-radius:999px;padding:3px 6px}
.gfl-row-author.is-official>span{color:#d1a735}
.gfl-player-author{margin-top:9px;display:flex;justify-content:center;align-items:center;gap:7px;font-size:11px;font-weight:800;color:#637970}
.gfl-player-author em{font-style:normal;font-size:8px;font-weight:950;letter-spacing:.1em;color:#0b7657;background:#e8f7f1;border:1px solid #cce7dd;border-radius:999px;padding:3px 7px}

/* Hide the theme's own previous/next footer on FuchsLücke single exercises. */
body.gfl-single-exercise .navigation.post-navigation,
body.gfl-single-exercise nav.post-navigation,
body.gfl-single-exercise .wp-block-post-navigation-link,
body.gfl-single-exercise .wp-block-group:has(> .wp-block-post-navigation-link){display:none!important}

.gfl-learning-nav{width:min(1120px,100%);margin:54px auto 8px;padding:0 6px 18px;position:relative;z-index:1}
.gfl-learning-divider{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;margin-bottom:22px;color:#6e936f}
.gfl-learning-divider span{height:1px;background:linear-gradient(90deg,transparent,#7da07e 18%,#7da07e 82%,transparent)}
.gfl-learning-divider i{font:700 24px/1 Georgia,serif;font-style:normal;color:#5f8b68}
.gfl-learning-title{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:15px;color:#476d4c}
.gfl-learning-title b{font-size:18px;font-weight:500}
.gfl-learning-title strong{font:700 20px/1.1 Georgia,"Times New Roman",serif}
.gfl-learning-grid{display:grid;grid-template-columns:1fr 1.12fr 1.12fr;background:rgba(255,255,255,.82);border:1px solid rgba(104,126,92,.24);border-radius:20px;box-shadow:0 14px 36px rgba(40,69,55,.10);overflow:hidden}
.gfl-learning-card{min-height:112px;padding:19px 22px;display:flex;align-items:center;gap:15px;color:#294f3e!important;text-decoration:none!important;position:relative;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(251,250,244,.88));transition:background .13s ease,transform .13s ease}
.gfl-learning-card+.gfl-learning-card{border-left:1px solid rgba(112,125,96,.22)}
a.gfl-learning-card:hover{background:#f5fbf7;transform:translateY(-1px)}
.gfl-learning-icon{width:52px;height:52px;flex:0 0 52px;border-radius:50%;display:grid;place-items:center;background:#e8f2ea;color:#167557;font-size:24px;font-weight:500}
.gfl-learning-card>span:not(.gfl-learning-icon){display:flex;flex-direction:column;min-width:0;gap:4px}
.gfl-learning-card strong{font-size:14px;font-weight:900;color:#3e5f4e}
.gfl-learning-card small{display:block;color:#526d61;font-size:12px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}
.gfl-learning-card em{font-style:normal;color:#8a998f;font-size:10px;font-weight:700}
.gfl-learning-card>b{margin-left:auto;font-size:30px;font-weight:400;color:#167557}
.gfl-learning-card.is-next{justify-content:flex-end;text-align:right}
.gfl-learning-card.is-next>span:not(.gfl-learning-icon){align-items:flex-end}
.gfl-learning-card.is-empty{opacity:.48}
.gfl-learning-brand{margin:27px auto 0;display:grid;grid-template-columns:auto auto auto;justify-content:center;align-items:center;gap:12px;color:#567859}
.gfl-learning-brand strong{font-size:11px;letter-spacing:.22em;font-weight:950}
.gfl-learning-brand>span{color:#b9aa7c}
.gfl-learning-brand small{grid-column:1/-1;text-align:center;color:#899a83;font-size:11px;letter-spacing:.06em}

@media(max-width:820px){
  .gfl-learning-grid{grid-template-columns:1fr}
  .gfl-learning-card+.gfl-learning-card{border-left:0;border-top:1px solid rgba(112,125,96,.20)}
  .gfl-learning-card.is-next{text-align:left;justify-content:flex-start}
  .gfl-learning-card.is-next>span:not(.gfl-learning-icon){align-items:flex-start}
  .gfl-learning-card.is-next .gfl-learning-icon{order:-1}
}


/* =========================================================
   FuchsLücke 0.1.1.40 — final role/QA hardening
   ========================================================= */
.gfl-library-filter-row.is-admin-filters{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
.gfl-library-filter-row.is-member-filters{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
}
.gfl-library-filter-row.is-guest-filters{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
@media(max-width:1180px){
  .gfl-library-filter-row.is-member-filters{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:900px){
  .gfl-library-filter-row.is-admin-filters,
  .gfl-library-filter-row.is-member-filters,
  .gfl-library-filter-row.is-guest-filters{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:700px){
  .gfl-library-filter-row.is-admin-filters,
  .gfl-library-filter-row.is-member-filters,
  .gfl-library-filter-row.is-guest-filters{grid-template-columns:1fr!important}
}


/* =========================================================
   FuchsLücke 0.1.1.41 — Community publishing agreement + iframe embedding
   ========================================================= */
.gfl-community-rules{
  margin:18px 22px 0;padding:17px 18px;border:1.5px solid #d8c78d;border-radius:18px;
  background:linear-gradient(145deg,#fffdf6,#fff7dc);box-shadow:0 9px 24px rgba(104,78,14,.07);
}
.gfl-community-rules-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:9px}
.gfl-community-rules-head>span{font-size:9px;font-weight:950;letter-spacing:.13em;color:#8c680e;background:#f7df94;border-radius:999px;padding:6px 9px}
.gfl-community-rules-head>strong{font-size:15px;color:#27493f}
.gfl-community-rules-copy{font-size:12px;color:#52665f;line-height:1.55}.gfl-community-rules-copy p{margin:0 0 5px;font-weight:800}.gfl-community-rules-copy ul{margin:5px 0 11px;padding-left:20px}.gfl-community-rules-copy li{margin:3px 0}
.gfl-community-consent{display:flex!important;gap:10px!important;align-items:flex-start!important;margin:0!important;padding:12px 13px!important;border:1.5px solid #d6c27c!important;border-radius:13px!important;background:#fff!important;cursor:pointer}
.gfl-community-consent input{width:19px!important;height:19px!important;min-width:19px!important;margin:1px 0 0!important;accent-color:#0b7657}.gfl-community-consent span{font-size:12px;font-weight:850;line-height:1.4;color:#314f46}

.gfl-player-head-actions{justify-self:end;display:flex;gap:8px;align-items:center}.gfl-player-head-spacer{display:block}.gfl-embed-icon-btn{font-size:18px!important}

.gfl-embed-modal-open{overflow:hidden!important}
.gfl-embed-modal{position:fixed;inset:0;z-index:10000080;background:rgba(13,45,37,.62);backdrop-filter:blur(7px);display:flex;align-items:flex-start;justify-content:center;padding:clamp(12px,4vh,38px);overflow:auto}
.gfl-embed-dialog{width:min(980px,100%);background:#fff;border-radius:25px;border:1.5px solid #d7e5df;box-shadow:0 30px 90px rgba(3,37,28,.30);overflow:hidden;color:#17382f}
.gfl-embed-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;border-bottom:1px solid #dfebe6}.gfl-embed-dialog-head h2{font:700 clamp(30px,4vw,44px)/1.05 Georgia,serif;margin:0;color:#152f28}.gfl-embed-dialog-head button{width:48px;height:48px;border:2px solid #a9c9bd;border-radius:50%;background:#f8fbfa;font-size:28px;line-height:1;cursor:pointer;color:#17382f}
.gfl-embed-info{margin:20px 20px 14px;padding:17px 19px;border:1.5px solid #cbe0d7;border-radius:18px;background:#eef8f4;display:flex;gap:14px;align-items:center}.gfl-embed-info>b{display:grid;place-items:center;width:44px;height:44px;min-width:44px;border-radius:13px;background:#0b654c;color:#fff;font-size:22px}.gfl-embed-info span{display:flex;flex-direction:column;gap:2px}.gfl-embed-info strong{font-size:17px}.gfl-embed-info small{font-size:12px;color:#61766f;line-height:1.45}
.gfl-embed-code-card{margin:0 20px 15px;padding:20px;border:1.5px solid #d7e5df;border-radius:20px;background:#fff}.gfl-embed-step{display:flex;align-items:center;gap:13px;margin-bottom:14px}.gfl-embed-step>b{width:38px;height:38px;min-width:38px;border-radius:11px;display:grid;place-items:center;background:#0b654c;color:#fff;font-size:18px}.gfl-embed-step span{display:flex;flex-direction:column}.gfl-embed-step strong{font-size:16px}.gfl-embed-step small{font-size:12px;color:#667c74}
.gfl-embed-code-card textarea{width:100%;height:150px;resize:vertical;padding:15px 16px;border:1.5px solid #cfe0d9;border-radius:14px;background:#f9fcfb;color:#17483a;font:600 13px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;box-shadow:none!important;outline:none}.gfl-embed-code-actions{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}.gfl-embed-code-actions .gfl-btn{min-height:45px}
.gfl-embed-privacy-note{margin:0 20px 22px;padding:14px 16px;border:1px solid #ead7aa;border-radius:15px;background:#fffaf0;display:flex;flex-direction:column;gap:3px}.gfl-embed-privacy-note strong{font-size:12px;color:#76580c}.gfl-embed-privacy-note span{font-size:11px;line-height:1.5;color:#6b675b}

html.gfl-embed-html,body.gfl-embed-body{margin:0!important;padding:0!important;min-height:100%;background:transparent!important}
body.gfl-embed-body .gfl-app[data-gfl-app]{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;left:auto!important;transform:none!important}
body.gfl-embed-body .gfl-player-page.is-embed{width:100%!important;min-height:100vh!important;margin:0!important;border-radius:0!important;padding:18px!important}
body.gfl-embed-body .gfl-player-page.is-embed .gfl-player-shell{width:min(1260px,100%)!important}
body.gfl-embed-body .gfl-player-page.is-embed .gfl-player-head{margin-bottom:16px!important}
body.gfl-embed-body .gfl-player-page.is-embed .gfl-exercise-card{margin-bottom:0!important}
@media(max-width:700px){
  .gfl-community-rules{margin:14px 12px 0;padding:14px}.gfl-community-consent span{font-size:11px}
  .gfl-embed-modal{padding:0}.gfl-embed-dialog{min-height:100vh;border-radius:0}.gfl-embed-dialog-head{padding:16px}.gfl-embed-info,.gfl-embed-code-card,.gfl-embed-privacy-note{margin-left:12px;margin-right:12px}.gfl-embed-code-actions{display:grid;grid-template-columns:1fr 1fr}.gfl-embed-code-actions .gfl-btn{width:100%}
  body.gfl-embed-body .gfl-player-page.is-embed{padding:10px!important}
}
