.xf-bf{--_ink:var(--xf-ink,#0e1a22);--_soft:var(--xf-ink-soft,#4c5a63);--_panel:var(--xf-panel,#f1f4f5);--_card:var(--xf-surface,#fff);--_line:var(--xf-line,#dfe5e8);--_line2:var(--xf-line-strong,#c3ccd1);--_accent:var(--xf-accent,#a24f1a);--_strong:var(--xf-strong,#0b2c3b);--_strong-2:var(--xf-strong-hover,#0f3a4e);--_strong-fg:var(--xf-strong-fg,#fff);--_danger:var(--xf-danger,#b3261e);--_r:var(--xf-radius,4px);--_mono:var(--xf-mono,ui-monospace, "SFMono-Regular", monospace);--_ease:var(--xf-ease,cubic-bezier(.22, 1, .36, 1));--_shadow:var(--xf-shadow,0 1px 2px #0e1a220f);--_shadow-lift:var(--xf-shadow-lift,0 18px 40px #0e1a221a);color:var(--_ink);background:var(--_panel);border:1px solid var(--_line);border-radius:var(--_r);padding:clamp(18px,2.2vw,28px);scroll-margin-top:96px}.xf-bf fieldset{border:0;min-width:0;margin:0;padding:0}.xf-bf button{font:inherit;color:inherit;cursor:pointer}.xf-bf__top{align-items:center;gap:14px;min-height:44px;margin-bottom:6px;display:flex}.xf-bf__count,.xf-bf__n,.xf-bf__legend,.xf-bf__ticket-head,.xf-bf__rows dt,.xf-bf__demo,.xf-bf__day span{font-family:var(--_mono);letter-spacing:.06em;text-transform:uppercase;font-size:.7rem;font-weight:500}.xf-bf__count{color:var(--_soft);white-space:nowrap;margin:0}.xf-bf__bar{background:var(--_line2);flex:1;height:2px;position:relative;overflow:hidden}.xf-bf__bar span{background:var(--_accent);transition:width .42s var(--_ease);position:absolute;inset:0 auto 0 0}.xf-bf__back.xf-bf__back{text-underline-offset:4px;min-height:44px;text-decoration:underline;-webkit-text-decoration-color:var(--_line2);text-decoration-color:var(--_line2);background:0 0;border:0;padding:0 4px;font-size:.9rem;font-weight:600}.xf-bf__title{letter-spacing:-.025em;outline:none;margin:0 0 16px;font-size:clamp(1.25rem,1.7vw,1.5rem);font-weight:700}.xf-bf__grid{gap:10px;display:grid}.xf-bf__grid--problems,.xf-bf__grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.xf-bf__grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.xf-bf__tile.xf-bf__tile{text-align:left;background:var(--_card);border:1px solid var(--_line);border-radius:var(--_r);min-height:92px;box-shadow:var(--_shadow);transition:border-color .18s var(--_ease), transform .18s var(--_ease), box-shadow .18s var(--_ease);flex-direction:column;align-items:flex-start;gap:3px;padding:14px 16px;display:flex}.xf-bf__tile.xf-bf__tile:hover{border-color:var(--_ink);box-shadow:var(--_shadow), var(--_shadow-lift);transform:translateY(-2px)}.xf-bf__tile[aria-pressed=true]{border-color:var(--_accent);box-shadow:inset 0 0 0 1px var(--_accent)}.xf-bf__tile--row.xf-bf__tile--row{min-height:68px}.xf-bf__n{color:var(--_accent);margin-bottom:6px;font-size:.64rem}.xf-bf__label{letter-spacing:-.01em;font-size:1rem;font-weight:650;line-height:1.25}.xf-bf__sub{color:var(--_soft);font-size:.84rem;line-height:1.35}.xf-bf__small{color:var(--_soft);margin:14px 0 0;font-size:.84rem}.xf-bf__when{gap:18px;display:grid}.xf-bf__legend{color:var(--_soft);margin-bottom:10px}.xf-bf__days{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.xf-bf__day.xf-bf__day{background:var(--_card);border:1px solid var(--_line);border-radius:var(--_r);min-height:64px;transition:border-color .18s var(--_ease);flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.xf-bf__day span{color:var(--_soft);font-size:.62rem}.xf-bf__day strong{font-size:.95rem;font-weight:650}.xf-bf__day.xf-bf__day:hover{border-color:var(--_ink)}.xf-bf__day[aria-pressed=true].xf-bf__day{background:var(--_strong);border-color:var(--_strong);color:var(--_strong-fg)}.xf-bf__day[aria-pressed=true] span{color:inherit;opacity:.8}.xf-bf__btn.xf-bf__btn{border-radius:var(--_r);background:var(--_strong);width:100%;min-height:50px;color:var(--_strong-fg);transition:background .18s var(--_ease), transform .18s var(--_ease);border:0;justify-content:center;align-items:center;gap:10px;padding:0 22px;font-size:.98rem;font-weight:600;display:inline-flex}.xf-bf__btn.xf-bf__btn:hover{background:var(--_strong-2);transform:translateY(-1px)}.xf-bf__btn.xf-bf__btn:disabled{background:var(--_line2);cursor:not-allowed;transform:none}.xf-bf__form{grid-template-columns:1fr 1fr;gap:14px;display:grid}.xf-bf__field{gap:6px;display:grid}.xf-bf__wide{grid-column:1/-1}.xf-bf__field label{font-size:.9rem;font-weight:600}.xf-bf__opt{color:var(--_soft);font-weight:400}.xf-bf__field input,.xf-bf__field select{border:1px solid var(--_line2);border-radius:var(--_r);background:var(--_card);min-height:50px;font:inherit;color:var(--_ink);transition:border-color .18s var(--_ease), box-shadow .18s var(--_ease);padding:0 14px;font-size:1rem}.xf-bf__field input:focus,.xf-bf__field select:focus{border-color:var(--_strong);box-shadow:0 0 0 3px color-mix(in srgb, var(--_strong) 16%, transparent);outline:none}.xf-bf__field [aria-invalid=true]{border-color:var(--_danger)}.xf-bf__err{color:var(--_danger);margin:0;font-size:.84rem}.xf-bf__ticket{background:var(--_card);border:1px solid var(--_line);border-radius:var(--_r);box-shadow:var(--_shadow), var(--_shadow-lift);animation:xf-bf-ticket .62s var(--_ease) both;padding:22px 22px 20px;position:relative}@keyframes xf-bf-ticket{0%{opacity:0;transform:translateY(28px)rotate(-.6deg)}to{opacity:1;transform:none}}.xf-bf__ticket-head{border-bottom:2px solid var(--_ink);justify-content:space-between;padding-bottom:14px;display:flex}.xf-bf__rows{margin:0}.xf-bf__rows div{border-bottom:1px dashed var(--_line2);grid-template-columns:96px 1fr;gap:12px;padding:10px 0;display:grid}.xf-bf__rows dt{color:var(--_soft);padding-top:3px}.xf-bf__rows dd{margin:0;font-weight:600}.xf-bf__perf{background:radial-gradient(circle at 0 50%, var(--_panel) 8px, transparent 8.5px), radial-gradient(circle at 100% 50%, var(--_panel) 8px, transparent 8.5px), linear-gradient(90deg, var(--_line2) 50%, transparent 0) center / 10px 1px repeat-x;height:18px;margin:12px -23px}.xf-bf__next{color:var(--_soft);margin:0;font-size:.95rem}.xf-bf__next strong{color:var(--_ink)}.xf-bf__demo{color:var(--_accent);margin:14px 0 0}@media (width<=719px){.xf-bf__grid--problems{grid-template-columns:repeat(2,minmax(0,1fr))}.xf-bf__grid--three{grid-template-columns:1fr}.xf-bf__grid--three .xf-bf__tile.xf-bf__tile{min-height:64px}.xf-bf__days{grid-template-columns:repeat(3,minmax(0,1fr))}.xf-bf__form{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.xf-bf__ticket{animation:none}.xf-bf__bar span,.xf-bf__tile.xf-bf__tile{transition:none}}
