.gfa{--gfa-bg:#f5f7fa;--gfa-card:#fff;--gfa-text:#172b35;--gfa-muted:#526773;--gfa-accent:#146c61;--gfa-border:#d9e3e5;box-sizing:border-box;max-width:570px;margin:24px auto;padding:24px;background:var(--gfa-bg);color:var(--gfa-text);border:1px solid var(--gfa-border);border-radius:24px;font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;color-scheme:light}
.gfa *{box-sizing:border-box}.gfa [hidden]{display:none!important}
.gfa .gfa-eyebrow{display:block;font-size:11px;letter-spacing:.16em;font-weight:700;color:var(--gfa-accent)}
.gfa h2{font:700 clamp(26px,6vw,34px)/1.2 system-ui,sans-serif;color:var(--gfa-text);margin:8px 0}
.gfa p{margin:8px 0;color:var(--gfa-muted)}
.gfa .gfa-card{padding:20px;background:var(--gfa-card);border:1px solid var(--gfa-border);border-radius:16px;margin-bottom:14px}
.gfa fieldset{margin:0;padding:0;border:0;min-width:0}.gfa fieldset:disabled{opacity:.65}
.gfa label{display:block;color:var(--gfa-text);font-size:14px;font-weight:600;margin:0 0 8px}
.gfa label:has(+select),.gfa label:has(+input[type=range]){margin-top:14px}.gfa .gfa-card>label:first-child{margin-top:0}
.gfa label output{float:right;font-weight:400;color:var(--gfa-muted)}
.gfa select,.gfa input[type=number],.gfa input[type=password],.gfa textarea{width:100%;min-height:46px;border:1px solid var(--gfa-border);border-radius:9px;padding:10px;background:var(--gfa-bg);color:var(--gfa-text);font:inherit}
.gfa textarea{resize:vertical;min-height:130px;line-height:1.5}
.gfa input[type=range]{width:100%;height:32px;margin:0;accent-color:var(--gfa-accent);cursor:pointer}
.gfa .gfa-check{display:flex;gap:10px;align-items:flex-start;font-weight:500;line-height:1.4;margin:10px 0}
.gfa .gfa-check input{margin-top:3px;width:18px;height:18px;flex:none;accent-color:var(--gfa-accent)}
.gfa button{min-height:46px;border:1px solid var(--gfa-border);border-radius:10px;padding:10px 14px;background:var(--gfa-card);color:var(--gfa-text);font:600 14px/1.4 system-ui,sans-serif;cursor:pointer;text-transform:none;letter-spacing:normal;box-shadow:none}
.gfa button:disabled{opacity:.5;cursor:default}
.gfa .gfa-primary{background:var(--gfa-accent);color:#fff;border-color:var(--gfa-accent);width:100%}
.gfa :is(button,input,select,textarea):focus-visible{outline:3px solid #b27212;outline-offset:3px}
.gfa .gfa-two{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.gfa .gfa-help{font-size:12px;margin:8px 0}
.gfa .gfa-error{color:#9b1c1c;font-weight:600}.gfa .gfa-status{text-align:center;min-height:1.5em}
.gfa .gfa-lock{display:grid;gap:10px;max-width:320px;margin:0 auto}.gfa .gfa-lock label{margin:0}
.gfa .gfa-lock input{text-align:center;letter-spacing:.3em}

.gfa .gfa-instruction{background:var(--gfa-card);border:1px solid var(--gfa-border);border-radius:16px;padding:6px 20px 14px;margin:14px 0;font-size:15px;line-height:1.55}
.gfa .gfa-intro .gfa-instruction{max-height:min(60vh,520px);overflow:auto}
.gfa .gfa-instruction h3{font:700 16px/1.3 system-ui,sans-serif;color:var(--gfa-accent);margin:18px 0 6px}
.gfa .gfa-instruction p,.gfa .gfa-instruction li{color:var(--gfa-text)}
.gfa .gfa-instruction ul,.gfa .gfa-instruction ol{margin:6px 0;padding-left:22px}.gfa .gfa-instruction li{margin:4px 0}
.gfa .gfa-ack{background:var(--gfa-card);border:1px solid var(--gfa-border);border-radius:12px;padding:14px}
.gfa .gfa-intro+.gfa-lock{margin-top:16px}
.gfa .gfa-details{margin:0 0 14px}.gfa .gfa-details summary{cursor:pointer;font-weight:600;color:var(--gfa-accent);padding:8px 0}

/* Pełnoekranowa sesja (overlay jest przenoszony do <body>, więc style są niezależne od .gfa) */
.gfa-overlay{position:fixed;inset:0;z-index:2147483647;background:#05070a;color:#f2f5f7;display:flex;align-items:center;justify-content:center;cursor:none;font-family:Georgia,"Times New Roman",serif;touch-action:manipulation}
.gfa-overlay[hidden]{display:none!important}
.gfa-stage{position:relative;width:min(92vw,1100px);height:60vh;display:flex;align-items:center;justify-content:center}
.gfa-line{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;opacity:0;transition:opacity .9s ease;font-weight:400;line-height:1.3;padding:0 2vw;overflow-wrap:anywhere;color:#f2f5f7}
.gfa-line.on{opacity:1}
.gfa-line[data-size="1"]{font-size:clamp(30px,7vw,84px)}
.gfa-line[data-size="2"]{font-size:clamp(24px,5vw,58px)}
.gfa-line[data-size="3"]{font-size:clamp(20px,3.6vw,40px)}
.gfa-hint{position:absolute;left:0;right:0;bottom:22px;text-align:center;font:13px system-ui,sans-serif;color:#8a97a0;opacity:0;transition:opacity .6s;padding:0 12px}
.gfa-hint.show{opacity:1}
.gfa-bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.08)}
.gfa-bar span{display:block;height:100%;width:0;background:#2c9b8c}
@media (prefers-reduced-motion:reduce){.gfa-line{transition-duration:.01s}}
