.fbf{--sheet-back:#fbfaf6;--cell-edge:#12152124;--lift:#1c234038;--flap-navy:#46548a;--flap-paper:#d9d4c7;--ease:cubic-bezier(.2, .7, .2, 1);--fold-ms:.7s}.fbf .title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;display:flex}.fbf-section{padding-block:clamp(24px,4vw,48px) clamp(48px,7vw,88px)}.fbf .game{grid-template:"board top""board rest"1fr/minmax(0,1fr) 320px;align-items:start;gap:20px 32px;display:grid}.fbf .board-wrap{grid-area:board;min-width:0;position:relative}.fbf .board-frame{position:relative}.fbf .win-pop[hidden]{display:none}.fbf .win-pop{inset-inline:12px;z-index:4;border:1px solid var(--gold);animation:fbf-pop .45s var(--ease) both;background:#fffffff2;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:12px 14px;display:flex;position:absolute;bottom:12px;box-shadow:0 -6px 24px #1215211f}.fbf .win-pop h3{flex:auto;margin:0;font-size:20px}.fbf .win-pop .diamonds{order:2}.fbf .win-pop .win-actions{order:3}.fbf .win-pop .see{color:var(--navy);text-underline-offset:4px;flex-basis:100%;order:4;font-size:14px;text-decoration:underline}@keyframes fbf-pop{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.fbf .side-top{grid-area:top;min-width:0}.fbf .side-rest{grid-area:rest;gap:24px;min-width:0;display:grid}@media (width<=880px){.fbf .game{grid-template:"top""board""rest"/minmax(0,1fr)}}.fbf .board{aspect-ratio:1;border:1px solid var(--line);background-color:var(--paper);background-image:linear-gradient(45deg, transparent calc(50% - .6px), var(--flap-paper) 50%, transparent calc(50% + .6px)), linear-gradient(-45deg, transparent calc(50% - .6px), var(--flap-paper) 50%, transparent calc(50% + .6px));touch-action:none;cursor:crosshair;-webkit-user-select:none;user-select:none;background-position:50%;background-size:140px 140px;width:100%;max-height:min(74vh,720px);position:relative;overflow:hidden}.fbf .board.solved{cursor:default}.fbf .sheet{perspective:1800px;width:0;height:0;transition:transform var(--fold-ms) var(--ease);position:absolute;top:0;left:0}.fbf .sheet.instant{transition:none}.fbf .cell{box-shadow:inset 0 0 0 1px var(--cell-edge);position:absolute}.fbf .cell[data-n="2"]{box-shadow:inset 0 0 0 1px #12152138}.fbf .cell[data-n="3"]{box-shadow:inset 0 0 0 1px #1215214d}.fbf .cell[data-n="4"]{box-shadow:inset 0 0 0 1.5px #12152157}.fbf .cell.back{background-color:var(--sheet-back);background-image:repeating-linear-gradient(135deg,#0000 0 5px,#9c7a3221 5px 6px)}.fbf .cell.lift:after{content:"";background:var(--lift);position:absolute;inset:0}.fbf .ghost{opacity:.82;outline:1.5px dashed var(--navy);outline-offset:-1.5px;pointer-events:none;position:absolute}.fbf .ghost.back{background-color:var(--sheet-back)}.fbf .crease{pointer-events:none;border:0 dashed var(--gold);position:absolute}.fbf .crease.v{border-left-width:2px;width:0}.fbf .crease.h{border-top-width:2px;height:0}.fbf .crease.hint{border-style:solid;border-color:var(--navy)}.fbf .flap{width:0;height:0;transform-style:preserve-3d;transition:transform var(--fold-ms) var(--ease);position:absolute;top:0;left:0}.fbf .face{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:fbf-shade var(--fold-ms) var(--ease)}@keyframes fbf-shade{0%{filter:none}50%{filter:brightness(.8)}to{filter:none}}.fbf .fold-bar{border:1px solid var(--gold);background:var(--gold-soft);flex-wrap:wrap;align-items:center;gap:10px 12px;margin-top:12px;padding:12px 14px;display:flex}.fbf .fold-bar span{color:var(--ink);flex:100%;font-size:15px}.fbf .fold-bar .btn.primary{min-width:120px;min-height:48px}.fbf .board-help{color:var(--muted);margin:10px 0 0;font-size:14px}.fbf kbd{font-family:var(--body);border:1px solid var(--line);background:var(--paper);padding:1px 6px;font-size:12px;font-weight:600}.fbf .help-touch{display:none}@media (hover:none) and (pointer:coarse){.fbf .help-fine{display:none}.fbf .help-touch{display:block}}.fbf .target-card{border:1px solid var(--line);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px 20px;padding:20px;display:grid}@media (width>=881px){.fbf .target-card{grid-template-columns:minmax(0,1fr)}}.fbf .label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:13px;font-weight:600}html[lang=ar] .fbf .label{letter-spacing:0;text-transform:none;font-size:14px}.fbf .target-box{background:var(--paper);border:1px solid var(--line);width:168px;height:168px;position:relative}@media (width>=881px){.fbf .target-box{aspect-ratio:1;width:100%;height:auto}}.fbf .target-box .sheet{transition:none}.fbf .scores{gap:28px;display:flex}.fbf .score{gap:2px;display:grid}.fbf .score b{font-variant-numeric:tabular-nums;font-family:Tenor Sans,Figtree,system-ui,sans-serif;font-size:36px;font-weight:400;line-height:1}.fbf .score.over b{color:var(--muted)}.fbf .target-note{color:var(--ink-soft);grid-column:1/-1;margin:0;font-size:14px}.fbf .actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.fbf button{cursor:pointer;border-radius:0}.fbf button:disabled{opacity:.5;cursor:not-allowed}.fbf .btn{background:var(--white);min-height:44px;color:var(--navy);border:1px solid var(--navy);justify-content:center;align-items:center;padding:0 14px;font-size:15px;font-weight:500;text-decoration:none;transition:background .2s;display:inline-flex}.fbf .btn:hover:not(:disabled){background:var(--paper);color:var(--navy)}.fbf .btn.primary{background:var(--navy);color:var(--white);min-height:50px;padding:0 26px;position:relative;overflow:hidden}.fbf .btn.primary:hover{background:var(--navy-2);color:var(--white)}.fbf .btn.primary:after{content:"";inset-inline-end:0;border-style:solid;border-width:0;border-color:transparent var(--white) var(--flap-navy) transparent;width:0;height:0;transition:border-width .25s var(--ease);position:absolute;top:0}.fbf .btn.primary:hover:after{border-width:0 12px 12px 0}html[dir=rtl] .fbf .btn.primary:after{border-color:transparent transparent var(--flap-navy) var(--white)}html[dir=rtl] .fbf .btn.primary:hover:after{border-width:0 0 12px 12px}.fbf .btn .arrow{color:var(--gold-soft);margin-inline-start:8px}.fbf .how{gap:10px}.fbf .how .play{border:6px solid #0000;border-left:10px solid;border-right-width:0;width:0;height:0}html[dir=rtl] .fbf .how .play{border-width:6px 10px 6px 0;border-color:#0000 currentColor #0000 #0000}.fbf .how.first{background:var(--navy);color:var(--white)}.fbf .how.first:hover:not(:disabled){background:var(--navy-2);color:var(--white)}.fbf .status{border-top:1px solid var(--line);align-content:start;gap:10px;min-height:96px;padding-top:18px;display:grid}.fbf .status p{color:var(--ink-soft);margin:0;font-size:15px}.fbf .status h3{font-size:24px}.fbf .diamonds{gap:10px;display:flex}.fbf .dia{border:1.5px solid var(--gold);width:12px;height:12px;transform:rotate(45deg)}.fbf .dia.on{background:var(--gold)}.fbf .win-actions,.fbf .cta-links{flex-wrap:wrap;gap:8px;display:flex}.fbf .cta{border-top:1px solid var(--line);gap:10px;margin-top:6px;padding-top:14px;display:grid}.fbf .cta p{color:var(--ink-soft);margin:0;font-size:14px}.fbf .cta-links .btn{font-size:14px}.fbf .piece{border:1px solid var(--line);background:var(--paper);color:inherit;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:14px;margin-top:6px;padding:12px;text-decoration:none;transition:border-color .15s;display:grid}.fbf .piece:hover,.fbf .piece:focus-visible{border-color:var(--ink)}.fbf .piece img{object-fit:contain;width:88px;height:88px}.fbf .piece .label{display:block}.fbf .piece b{margin:2px 0;font-weight:500;display:block}.fbf .piece small{color:var(--ink-soft);font-size:13px;display:block}.fbf .piece .go{border-bottom:1px solid;margin-top:6px;font-size:14px;display:inline-block}.fbf .share-text{width:100%;font:inherit;border:1px solid var(--line);background:var(--paper);color:var(--ink);resize:none;padding:10px;font-size:14px}.fbf .reward{border:1px solid var(--line);background:var(--white);gap:10px;padding:18px 20px;display:grid}.fbf .reward.won{border-color:var(--gold);background:var(--gold-soft)}.fbf .reward p{color:var(--ink-soft);margin:0;font-size:14px}.fbf .reward .meter{grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;display:grid}.fbf .reward .meter i{background:var(--paper-2);height:4px}.fbf .reward .meter i.on{background:var(--gold)}.fbf .code-row{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.fbf .code{letter-spacing:.12em;color:var(--navy);border:1.5px dashed var(--gold);background:var(--white);padding:4px 14px;font-family:Tenor Sans,Figtree,system-ui,sans-serif;font-size:28px}.fbf .sheets{gap:12px;display:grid}.fbf .sheet-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.fbf .door{background:var(--white);border:1px solid var(--line);min-height:44px;color:var(--ink);font-variant-numeric:tabular-nums;font-family:Tenor Sans,Figtree,system-ui,sans-serif;font-size:17px;transition:background .2s,border-color .2s;position:relative}.fbf .door:hover{background:var(--gold-soft);border-color:var(--gold)}.fbf .door.done:after{content:"";top:5px;background:var(--gold);width:6px;height:6px;position:absolute;inset-inline-end:5px;transform:rotate(45deg)}.fbf .door[aria-current=true]{background:var(--navy);border-color:var(--navy);color:var(--white)}.fbf .door[aria-current=true].done:after{background:var(--gold-soft)}.fbf .random{justify-self:start}.fbf .tut{--fold-ms:1.4s;z-index:60;background:#1215218c;place-items:center;padding:16px;display:grid;position:fixed;inset:0;overflow-y:auto}.fbf .tut-panel{background:var(--white);border:1px solid var(--line);gap:14px;width:100%;max-width:600px;padding:clamp(16px,3vw,26px);display:grid}.fbf .tut-head{align-items:center;gap:12px;display:flex}.fbf .tut-head .eyebrow{flex:1}.fbf .tut-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:14px}.fbf .tut-close{border:1px solid var(--line);min-height:44px;color:var(--navy);background:0 0;padding:0 12px;font-size:15px}.fbf .tut-close:hover{background:var(--paper)}.fbf .tut-close[aria-pressed=false]{color:var(--muted)}.fbf .tut-stage-row{grid-template-columns:minmax(0,1fr) 112px;align-items:start;gap:14px;display:grid}.fbf .tut-stage{border:1px solid var(--line);background-color:var(--paper);background-image:linear-gradient(45deg, transparent calc(50% - .6px), var(--flap-paper) 50%, transparent calc(50% + .6px)), linear-gradient(-45deg, transparent calc(50% - .6px), var(--flap-paper) 50%, transparent calc(50% + .6px));background-position:50%;background-size:140px 140px;height:210px;position:relative;overflow:hidden}.fbf .tut-target-wrap{gap:6px;display:grid}.fbf .tut-target{background:var(--paper);border:1px solid var(--line);height:112px;position:relative}.fbf .tut-target .sheet{transition:none}.fbf .spot{outline:2px solid var(--gold);outline-offset:3px}.fbf .finger{z-index:5;pointer-events:none;transition:transform 1.2s var(--ease);position:absolute;top:0;left:0}.fbf .finger.instant{transition:none}.fbf .finger span{border:2px solid var(--navy);background:#f3ead6bf;border-radius:50%;width:34px;height:34px;position:absolute;top:-17px;left:-17px}.fbf .finger.tap span{animation:fbf-tap .45s var(--ease)}@keyframes fbf-tap{0%{transform:scale(1)}40%{background:var(--gold-soft);transform:scale(.72)}to{transform:scale(1)}}.fbf .tut-cap{min-height:5em;color:var(--ink);margin:0;font-size:17px}.fbf .tut-note{color:var(--muted);margin:0;font-size:14px}.fbf .tut-dots{justify-content:center;gap:8px;display:flex}.fbf .tut-dots button{background:0 0;border:0;place-items:center;width:22px;height:22px;padding:0;display:grid}.fbf .tut-dots button:before{content:"";border:1.5px solid var(--gold);width:8px;height:8px;transform:rotate(45deg)}.fbf .tut-dots button[aria-current=true]:before{background:var(--gold)}.fbf .tut-ctrl{grid-template-columns:auto auto auto 1fr;gap:8px;display:grid}.fbf .tut-ctrl .primary{justify-self:end}@media (width<=520px){.fbf .tut-stage-row{grid-template-columns:minmax(0,1fr) 84px}.fbf .tut-stage{height:170px}.fbf .tut-target{height:84px}.fbf .tut-ctrl{grid-template-columns:1fr 1fr 1fr}.fbf .tut-count{display:none}.fbf .tut-ctrl .primary{grid-column:1/-1;justify-self:stretch}.fbf .tut-cap{min-height:6.4em;font-size:16px}}@media (width<=600px){.fbf-hero{padding-block:20px 16px}.fbf-hero .lede{display:none}.fbf-hero h1{font-size:34px}.fbf-section{padding-top:16px}.fbf .game{gap:14px}.fbf .target-card{gap:8px 16px;padding:12px 14px}.fbf .target-box{width:min(40vw,156px);height:min(40vw,156px)}.fbf .scores{flex-direction:column;gap:10px}.fbf .score .label{white-space:nowrap}.fbf .target-note{display:none}.fbf .score b{font-size:30px}.fbf .board{max-height:none}}@media (prefers-reduced-motion:reduce){.fbf,.fbf .tut{--fold-ms:0s}.fbf *,.fbf :before,.fbf :after{transition:none!important;animation:none!important}}
