.ff-root{background:var(--ff-bg,#f4f3ef);width:100%;height:100%;color:var(--ff-ink,#1a1a1a);-webkit-user-select:none;user-select:none;touch-action:manipulation;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;position:fixed;inset:0;overflow:hidden}.ff-canvas-wrap{z-index:0;position:absolute;inset:0}.ff-canvas{width:100%;height:100%;display:block}.ff-hud{top:max(56px, env(safe-area-inset-top,0px));z-index:3;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:0 12px;display:flex;position:absolute;left:0;right:0}.ff-hud-left,.ff-hud-right{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.ff-chip{border:1px solid var(--ff-line,#d9d8d2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--ff-ink,#1a1a1a);white-space:nowrap;background:#fffdf7d1;border-radius:999px;align-items:center;padding:7px 11px;font-size:12px;line-height:1.15;display:inline-flex;box-shadow:0 4px 14px #0000000d}.ff-chip-brand{color:var(--ff-green,#5a7a4a);font-family:Space Grotesk,ui-sans-serif,system-ui,sans-serif;font-weight:700}.ff-chip-btn{cursor:pointer;appearance:none;font-family:inherit}.ff-chip-btn:active{transform:scale(.96)}.ff-chip-lang{border-color:var(--ff-green,#5a7a4a);color:var(--ff-green,#5a7a4a);font-weight:700}.ff-hint{z-index:4;left:50%;top:calc(max(56px, env(safe-area-inset-top,0px)) + 46px);color:#fff;pointer-events:none;background:#1a1a1aeb;border-radius:999px;padding:9px 14px;font-size:13px;animation:1.8s ease-in-out infinite ff-hint-pulse;position:absolute;transform:translate(-50%);box-shadow:0 14px 30px #0000002e}@keyframes ff-hint-pulse{0%,to{opacity:.92;transform:translate(-50%)translateY(0)}50%{opacity:1;transform:translate(-50%)translateY(4px)}}.ff-toast{z-index:5;left:50%;top:calc(max(56px, env(safe-area-inset-top,0px)) + 96px);background:var(--ff-ink,#1a1a1a);color:#fffefa;text-align:center;border-radius:12px;max-width:calc(100% - 40px);padding:10px 14px;font-size:13px;font-weight:600;animation:.2s ff-toast-in;position:absolute;transform:translate(-50%);box-shadow:0 14px 30px #0003}@keyframes ff-toast-in{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}.ff-choices{z-index:3;left:50%;bottom:calc(88px + env(safe-area-inset-bottom,0px));gap:10px;width:min(100% - 32px,440px);display:grid;position:absolute;transform:translate(-50%)}.ff-choice{appearance:none;border:1px solid var(--ff-line,#d9d8d2);background:var(--ff-surface,#fffefa);text-align:left;min-height:54px;color:var(--ff-ink,#1a1a1a);cursor:pointer;border-radius:16px;align-items:center;gap:12px;padding:10px 14px;font:600 16px/1.25 inherit;transition:transform .12s,border-color .15s,background .15s;display:flex;box-shadow:0 9px 20px #1a1a1a0a}.ff-choice:active{transform:scale(.985)}.ff-choice:disabled{cursor:default}.ff-choice-idx{border:1px solid var(--ff-line,#d9d8d2);width:24px;height:24px;color:var(--ff-muted,#777a72);border-radius:999px;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.ff-choice-label{overflow-wrap:anywhere;min-width:0}.ff-choice.correct{border-color:var(--ff-green,#5a7a4a);background:#eef3e9}.ff-choice.correct .ff-choice-idx{border-color:var(--ff-green,#5a7a4a);color:var(--ff-green,#5a7a4a)}.ff-choice.wrong{border-color:var(--ff-bad,#8d4b3f);background:#f6eee9}.ff-cognate-note{text-align:center;color:var(--ff-muted,#777a72);margin:2px 0 0;font-size:11px}.ff-sheet-scrim{z-index:10;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:calc(max(56px, env(safe-area-inset-top,0px)) + 54px) 16px calc(88px + env(safe-area-inset-bottom,0px));background:#1a1a1a52;justify-content:center;align-items:flex-start;display:flex;position:absolute;inset:0}.ff-sheet{background:var(--ff-surface,#fffefa);border:1px solid var(--ff-line,#d9d8d2);border-radius:18px;width:min(100%,440px);max-height:100%;padding:18px;overflow-y:auto;box-shadow:0 22px 60px #0003}.ff-sheet-title{margin:0 0 12px;font-family:Space Grotesk,ui-sans-serif,system-ui,sans-serif;font-size:18px;font-weight:700}.ff-sheet-empty{color:var(--ff-muted,#777a72);margin:0 0 14px;font-size:14px}.ff-law-list{gap:10px;margin:0 0 14px;padding:0;list-style:none;display:grid}.ff-law-item{border:1px solid var(--ff-line,#d9d8d2);background:var(--ff-bg,#f4f3ef);border-radius:12px;gap:2px;padding:10px 12px;display:grid}.ff-law-label{color:var(--ff-green,#5a7a4a);font-size:14px;font-weight:700}.ff-law-detail{color:var(--ff-muted,#777a72);font-size:13px}.ff-sheet-close{appearance:none;background:var(--ff-ink,#1a1a1a);color:#fffefa;cursor:pointer;border:none;border-radius:12px;width:100%;padding:12px;font:600 15px/1 inherit}.ff-result{z-index:6;padding:calc(max(56px, env(safe-area-inset-top,0px)) + 8px) 16px calc(88px + env(safe-area-inset-bottom,0px) + 8px);justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow-y:auto}.ff-result-inner{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--ff-line,#d9d8d2);text-align:center;background:#fffefae6;border-radius:22px;width:min(100%,440px);padding:22px 20px;box-shadow:0 22px 60px #0000001f}.ff-result-title{letter-spacing:.08em;text-transform:uppercase;color:var(--ff-muted,#777a72);margin:0;font-size:13px;font-weight:600}.ff-result-accuracy{gap:2px;margin:6px 0 14px;display:grid}.ff-result-pct{color:var(--ff-green,#5a7a4a);font-family:Space Grotesk,ui-sans-serif,system-ui,sans-serif;font-size:clamp(64px,22vw,92px);font-weight:700;line-height:.9}.ff-result-acc-label{color:var(--ff-muted,#777a72);font-size:13px}.ff-result-stats{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px;display:grid}.ff-result-stat{border:1px solid var(--ff-line,#d9d8d2);background:var(--ff-surface,#fffefa);border-radius:14px;gap:4px;padding:12px 6px;display:grid}.ff-result-stat-val{color:var(--ff-ink,#1a1a1a);font-family:Space Grotesk,ui-sans-serif,system-ui,sans-serif;font-size:28px;font-weight:700}.ff-result-stat-label{color:var(--ff-muted,#777a72);font-size:11px;line-height:1.2}.ff-result-compare{color:var(--ff-ink,#1a1a1a);margin:0 0 16px;font-size:13px;line-height:1.4}.ff-result-actions{gap:10px;display:grid}.ff-btn{appearance:none;cursor:pointer;border:none;border-radius:14px;padding:14px;font:700 16px/1 inherit;transition:transform .12s}.ff-btn:active{transform:scale(.98)}.ff-btn:disabled{opacity:.7;cursor:default}.ff-btn-primary{background:var(--ff-green,#5a7a4a);color:#fffefa}.ff-btn-ghost{border:1px solid var(--ff-line,#d9d8d2);color:var(--ff-ink,#1a1a1a);background:0 0}@media (prefers-reduced-motion:reduce){.ff-hint,.ff-toast{animation:none}}
