.ffc-root{--ffc-red:#d73337;--ffc-red-hi:#e94646;--ffc-ink:#0f1b2b;--ffc-ink-2:#1e2c3f;--ffc-paper:#f3f5f8;--ffc-muted:#b5bfcb;--ffc-green:#39c34b;--ffc-gold:#fcca21;--ffc-ease:cubic-bezier(.22, 1, .36, 1);color:var(--ffc-paper);font-family:var(--font-ffc-body), system-ui, sans-serif;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:none;background:#33404f;position:fixed;inset:0;overflow:hidden}@supports (color:lab(0% 0 0)){.ffc-root{--ffc-red:lab(49.2539% 63.2983 39.3808);--ffc-red-hi:lab(55.069% 63.1711 38.3811);--ffc-ink:lab(9.35924% -1.15068 -12.2569);--ffc-ink-2:lab(17.4718% -1.60551 -14.0714);--ffc-paper:lab(96.5103% -.411868 -1.83771);--ffc-muted:lab(76.7547% -1.52895 -7.28704);--ffc-green:lab(69.8924% -56.2679 47.9937);--ffc-gold:lab(84.1417% 8.06105 80.0827)}}.ffc-root canvas{touch-action:none;-webkit-user-drag:none;width:100%;height:100%;display:block;position:absolute;inset:0}.ffc-mono{font-family:var(--font-ffc-mono), var(--font-ffc-body), system-ui, sans-serif;font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.01em}.ffc-hud{pointer-events:none;padding:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));position:absolute;inset:0}.ffc-hud button,.ffc-hud [data-hit]{pointer-events:auto}.ffc-bug{top:max(10px, env(safe-area-inset-top));left:max(10px, env(safe-area-inset-left));background:var(--ffc-ink);white-space:nowrap;border-radius:8px;padding:8px 12px;font-size:13px;position:absolute;box-shadow:0 2px #040b18;box-shadow:0 2px lab(2.96479% -.283822 -7.48927)}.ffc-chip{top:max(10px, env(safe-area-inset-top));background:var(--ffc-ink);border-radius:10px;width:min(340px,100vw - 230px);min-width:210px;padding:8px 12px 10px;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 2px #040b18;box-shadow:0 2px lab(2.96479% -.283822 -7.48927)}.ffc-chip-txt{overflow-wrap:anywhere;font-size:13px;font-weight:700;line-height:1.2}.ffc-chip-bar{background:#344458;background:lab(27.9351% -2.04317 -14.1855);border-radius:5px;height:5px;margin-top:7px;overflow:hidden}.ffc-chip-bar>i{background:var(--ffc-gold);height:100%;transition:width .12s linear;display:block}.ffc-tr{top:max(10px, env(safe-area-inset-top));right:max(10px, env(safe-area-inset-right));gap:6px;display:flex;position:absolute}.ffc-ib{background:var(--ffc-ink);width:44px;height:44px;color:var(--ffc-paper);cursor:pointer;transition:background-color .2s var(--ffc-ease), transform .2s var(--ffc-ease);border:0;border-radius:10px;place-items:center;display:grid}.ffc-ib:focus-visible,.ffc-btn:focus-visible,.ffc-card:focus-visible,.ffc-act:focus-visible{outline:2px solid var(--ffc-gold);outline-offset:2px}.ffc-ib:active,.ffc-btn:active,.ffc-act:active{transform:scale(.98)}@media (hover:hover){.ffc-ib:hover{background:var(--ffc-ink-2);transform:translateY(-1px)}}.ffc-toast{background:var(--ffc-paper);color:var(--ffc-ink);white-space:nowrap;animation:ffc-pop .22s var(--ffc-ease) both;border-radius:999px;padding:6px 14px;font-size:14px;font-weight:800;position:absolute;top:74px;left:50%;transform:translate(-50%)}.ffc-grade{color:var(--ffc-paper);text-shadow:0 3px 0 var(--ffc-ink);white-space:nowrap;animation:ffc-pop .26s var(--ffc-ease) both;font-size:clamp(24px,6vw,44px);position:absolute;top:110px;left:50%;transform:translate(-50%)}.ffc-grade[data-g=perfect]{color:var(--ffc-gold)}.ffc-grade[data-g=poor]{color:#f47b74;color:lab(66.0576% 46.9408 26.6951)}.ffc-stamp{color:var(--ffc-paper);background:var(--ffc-red);box-shadow:0 6px 0 var(--ffc-ink);animation:ffc-stamp .36s var(--ffc-ease) both;white-space:nowrap;border-radius:6px;padding:6px 22px;font-size:clamp(40px,12vw,96px);position:absolute;top:38%;left:50%;transform:translate(-50%,-50%)rotate(-6deg)}@keyframes ffc-stamp{0%{opacity:0;transform:translate(-50%,-50%)rotate(-6deg)scale(1.8)}to{opacity:1;transform:translate(-50%,-50%)rotate(-6deg)scale(1)}}@keyframes ffc-pop{0%{opacity:0;translate:0 -6px}to{opacity:1;translate:0}}.ffc-film{pointer-events:none;position:absolute;inset:0}.ffc-film:before,.ffc-film:after{content:"";background-color:#050911;background-color:lab(2.43952% -.344634 -4.05499);background-image:repeating-linear-gradient(90deg,#0000 0 14px,#b5bfcb 14px 26px,#0000 26px 40px);background-image:repeating-linear-gradient(90deg,#0000 0 14px,lab(76.7547% -1.52895 -7.28704) 14px 26px,#0000 26px 40px);background-position:0 9px;background-repeat:repeat-x;background-size:40px 8px;height:26px;position:absolute;left:0;right:0}.ffc-film:before{top:0}.ffc-film:after{bottom:0}.ffc-film>i{background:#050911;background:lab(2.43952% -.344634 -4.05499);width:10px;position:absolute;top:26px;bottom:26px}.ffc-film>i:first-child{left:0}.ffc-film>i:last-child{right:0}.ffc-flash{pointer-events:none;background:#fff;animation:.14s ease-out both ffc-flash;position:absolute;inset:0}@keyframes ffc-flash{0%{opacity:1}to{opacity:0}}.ffc-dock{left:50%;bottom:max(40px, calc(env(safe-area-inset-bottom) + 34px));gap:10px;width:min(660px,100vw - 20px);display:grid;position:absolute;transform:translate(-50%)}.ffc-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.ffc-card{background:var(--ffc-ink);color:var(--ffc-paper);text-align:center;cursor:pointer;min-height:84px;font:inherit;transition:border-color .2s var(--ffc-ease), transform .2s var(--ffc-ease), background-color .2s var(--ffc-ease);touch-action:manipulation;border:2px solid #39495d;border:2px solid lab(30.2588% -2.11239 -14.2059);border-radius:12px;place-items:center;gap:4px;padding:10px 8px;display:grid}@media (hover:hover){.ffc-card:hover{border-color:var(--ffc-gold);background:var(--ffc-ink-2);transform:translateY(-2px)}}.ffc-card b{font-size:clamp(15px,4vw,20px)}.ffc-card small{color:var(--ffc-muted);font-size:12px}.ffc-keyb{background:var(--ffc-paper);min-width:22px;height:22px;color:var(--ffc-ink);border-radius:6px;place-items:center;font-size:12px;font-weight:800;display:inline-grid}.ffc-stars{color:var(--ffc-gold);gap:2px;display:flex}.ffc-bar-wrap{background:var(--ffc-ink);touch-action:manipulation;border-radius:12px;padding:12px}.ffc-bar{background:#2f3e52;background:lab(25.611% -1.96581 -14.1635);border-radius:8px;height:36px;position:relative;overflow:hidden}.ffc-zone{background:#098926;background:lab(49.7917% -47.926 41.72);position:absolute;top:0;bottom:0}.ffc-zone>i{background:var(--ffc-green);width:30%;position:absolute;top:0;bottom:0;left:35%}.ffc-marker{background:var(--ffc-paper);width:6px;box-shadow:0 0 0 2px var(--ffc-ink);border-radius:3px;margin-left:-3px;position:absolute;top:-3px;bottom:-3px}.ffc-bar-hint{text-align:center;margin-top:8px;font-size:13px;font-weight:700}.ffc-sheet{padding:max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));touch-action:auto;background:#080c1673;place-items:center;display:grid;position:absolute;inset:0}.ffc-panel{overscroll-behavior:contain;background-color:#0f1b2b;background-color:var(--gk-panel-bg,#0f1b2b);width:100%;max-width:min(520px,100%);max-height:100%;color:var(--ffc-paper);box-sizing:border-box;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;border-radius:16px;gap:14px;min-width:0;padding:clamp(20px,5vw,32px);display:grid;overflow-y:auto;box-shadow:0 10px #030915;box-shadow:0 10px lab(2.40193% -.178412 -6.63729)}.ffc-panel h1,.ffc-panel h2{letter-spacing:-.02em;margin:0;line-height:1.05}.ffc-panel p{color:var(--ffc-muted);margin:0;font-size:15px;line-height:1.5}.ffc-wordmark{letter-spacing:.08em;color:var(--ffc-gold);font-size:13px}.ffc-row{flex-wrap:wrap;gap:10px;display:flex}.ffc-btn{min-height:48px;color:var(--ffc-paper);font:inherit;cursor:pointer;white-space:normal;text-align:center;max-width:100%;transition:background-color .2s var(--ffc-ease), transform .2s var(--ffc-ease), border-color .2s var(--ffc-ease);touch-action:manipulation;background:0 0;border:2px solid #46576c;border:2px solid lab(36.0665% -2.25735 -14.251);border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-weight:800;display:inline-flex}@media (hover:hover){.ffc-btn:hover{background:#202f42;background:lab(18.6351% -1.66792 -14.0862);transform:translateY(-2px)}.ffc-btn[data-primary]:hover{background:var(--ffc-red-hi)}}.ffc-btn[data-primary]{background:var(--ffc-red);border-color:var(--ffc-red);color:#fff;flex:160px;font-size:17px}.ffc-btn:disabled{opacity:.6;cursor:progress}.ffc-result{color:var(--ffc-gold);font-size:clamp(34px,10vw,54px)}.ffc-panel>*{min-width:0;max-width:100%}.ffc-list{color:var(--ffc-muted);gap:4px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.ffc-kv{border-top:1px solid #344458;border-top:1px solid lab(27.9351% -2.04317 -14.1855);justify-content:space-between;gap:12px;padding-top:8px;font-size:14px;display:flex}.ffc-touch{pointer-events:none;display:none;position:absolute;inset:0}.ffc-root[data-touch="1"] .ffc-touch{display:block}@media (pointer:coarse){.ffc-touch{display:block}.ffc-keys{display:none}}.ffc-stick{left:max(18px, env(safe-area-inset-left));bottom:max(18px, env(safe-area-inset-bottom));pointer-events:auto;touch-action:none;background:#0c121e59;border:2px solid #fff6;border-radius:50%;width:132px;height:132px;position:absolute}.ffc-knob{background:#ffffff8c;border-radius:50%;width:56px;height:56px;margin:-28px 0 0 -28px;position:absolute;top:50%;left:50%}.ffc-acts{right:max(18px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));pointer-events:none;align-items:flex-end;gap:14px;display:flex;position:absolute}.ffc-act{background:var(--ffc-red);color:#fff;width:72px;height:72px;font:inherit;pointer-events:auto;touch-action:none;border:3px solid #ffffffb3;border-radius:50%;font-size:13px;font-weight:800}.ffc-act[data-alt]{background:#195daa;background:lab(38.6694% 2.13814 -48.124)}.ffc-dbg{background:#0009;border-radius:4px;padding:4px 6px;font-size:11px;position:absolute;bottom:8px;left:8px}.ffc-root[data-cinema="1"] .ffc-hud,.ffc-root[data-cinema="1"] .ffc-touch{display:none}@media (prefers-reduced-motion:reduce){.ffc-stamp,.ffc-toast,.ffc-grade{animation:none}.ffc-flash{animation-duration:1ms}.ffc-card,.ffc-btn,.ffc-ib{transition:none}}@media (max-width:560px){.ffc-chip{width:calc(100vw - 20px);top:62px}.ffc-toast{top:130px}.ffc-grade{top:150px}}
