@keyframes tm-json-done{0%,62%{opacity:0;transform:scale(.6)}70%{opacity:1;transform:scale(1.08)}74%,90%{opacity:1;transform:scale(1)}95%,to{opacity:0;transform:scale(.6)}}@keyframes tm-json-draw{0%,64%{stroke-dashoffset:14px}74%,to{stroke-dashoffset:0}}.tm--fc{--tm-cycle:7.6s}.tm-fc-term{fill:var(--text-subtle)}.tm-fc-sep{fill:var(--border-strong)}.tm-fc-row{animation:tm-fc-row var(--tm-cycle) var(--ease) infinite backwards}.tm-fc-row--2{animation-delay:60ms}.tm-fc-row--3{animation-delay:.12s}.tm-fc-row--4{animation-delay:.18s}.tm-fc-row--5{animation-delay:.24s}@keyframes tm-fc-row{0%,3%{opacity:0;transform:translate(-6px)}13%,91%{opacity:1;transform:none}96%,to{opacity:0;transform:translate(-6px)}}.tm-fc-scan{fill:var(--accent);opacity:0;animation:tm-fc-scan var(--tm-cycle) var(--ease) infinite}@keyframes tm-fc-scan{0%,22%{opacity:0;transform:translateY(0)}27%{opacity:1;transform:translateY(4px)}38%{opacity:1;transform:translateY(148px)}42%,to{opacity:0;transform:translateY(148px)}}.tm-fc-deck{animation:tm-fc-deck var(--tm-cycle) var(--ease) infinite}@keyframes tm-fc-deck{0%,40%{opacity:0;transform:translate(10px)scale(.95)}48%,91%{opacity:1;transform:none}96%,to{opacity:0;transform:translate(10px)scale(.95)}}.tm-fc-card{animation:tm-fc-card var(--tm-cycle) var(--ease) infinite backwards;animation-delay:80ms}@keyframes tm-fc-card{0%,40%{opacity:0;transform:translate(10px)scale(.95)}48%,91%{opacity:1;transform:none}96%,to{opacity:0;transform:translate(10px)scale(.95)}}.tm-fc-front{opacity:0;animation:tm-fc-front var(--tm-cycle) var(--ease) infinite;transform:scaleX(0)}@keyframes tm-fc-front{0%,46%{opacity:1;transform:scaleX(1)}62%,to{opacity:0;transform:scaleX(0)}}.tm-fc-back{animation:tm-fc-back var(--tm-cycle) var(--ease) infinite}@keyframes tm-fc-back{0%,62%{opacity:0;transform:scaleX(0)}70%,to{opacity:1;transform:scaleX(1)}}.tm-fc-key{animation:tm-fc-deck var(--tm-cycle) var(--ease) infinite}.tm-fc-keypress{opacity:0;animation:tm-fc-press var(--tm-cycle) var(--ease) infinite}@keyframes tm-fc-press{0%,53%{opacity:0}56%,61%{opacity:1}65%,to{opacity:0}}.tm--fc .tm-done{animation:tm-json-done var(--tm-cycle) var(--ease) infinite}.tm--fc .tm-tick{animation:tm-json-draw var(--tm-cycle) var(--ease) infinite}.fc{flex-direction:column;gap:12px;display:flex;container-type:inline-size}.fc__bar,.fc__studybar,.fc__printbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fc__spacer{flex:1}.fc__field{color:var(--text-muted);align-items:center;gap:7px;font-size:.8125rem;display:inline-flex}.fc__view{flex-direction:column;gap:12px;min-height:0;display:flex}.fc.is-dropping{outline:2px dashed var(--accent);outline-offset:6px;border-radius:var(--r-lg)}.fc__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.fc__name{flex:1;width:auto;min-width:180px;height:34px;padding:0 10px;font-size:.9375rem;font-weight:600}.fc__head-actions{align-items:center;gap:4px;display:flex}.fc__head-actions .btn{height:26px;padding:0 8px;font-size:.75rem}.fc__head-actions input[type=file]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.fc__head-actions .btn.is-armed{border-color:var(--danger);color:var(--danger)}.fc__bulk{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-subtle);flex-direction:column;gap:8px;padding:12px;display:flex}.fc__bulklabel{color:var(--text-muted);font-size:.8125rem}.fc__bulktext{border:1px solid var(--border-input);border-radius:var(--r-md);background:var(--surface);min-height:130px;color:var(--text);font-family:var(--font-mono);resize:vertical;padding:10px 12px;font-size:.8125rem;line-height:1.6}.fc__bulktext:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);outline:none}.fc__bulktext::placeholder{color:var(--text-subtle)}.fc__bulkbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fc__bulkcount{color:var(--text-muted);font-size:.8125rem}.fc__cards{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.fc__card{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);grid-template-columns:26px minmax(0,1fr) auto;align-items:start;gap:8px;padding:8px;display:grid}.fc__card:focus-within{border-color:var(--border-strong)}.fc__num{font-family:var(--font-mono);color:var(--text-subtle);text-align:right;font-variant-numeric:tabular-nums;padding-top:8px;font-size:.75rem}.fc__sides{gap:6px;min-width:0;display:grid}@container (width>=620px){.fc__sides{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.fc__side{border:1px solid var(--border-input);border-radius:var(--r-sm);background:var(--surface);min-width:0;min-height:34px;color:var(--text);font-family:var(--font);resize:none;padding:7px 10px;font-size:.875rem;line-height:1.45;overflow:hidden}.fc__side:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);outline:none}.fc__side::placeholder{color:var(--text-subtle)}.fc__rowacts{gap:2px;display:flex}.fc__rowbtn{border-radius:var(--r-sm);width:30px;height:30px;color:var(--text-subtle);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.fc__rowbtn:hover{border-color:var(--border-input);color:var(--text)}.fc__rowbtn[aria-pressed=true]{color:var(--accent)}.fc__rowbtn[aria-pressed=true] svg{fill:var(--accent)}.fc__more{border:1px dashed var(--border-strong);border-radius:var(--r-md);color:var(--text-subtle);padding:10px 12px;font-size:.8125rem}.fc__empty{border:1px dashed var(--border-strong);border-radius:var(--r-lg);color:var(--text-subtle);margin:0;padding:18px 14px;font-size:.8438rem}.fc__addrow{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.fc__meter{border-radius:var(--r-full);background:var(--surface-inset);height:5px;overflow:hidden}.fc__meterfill{inline-size:0;border-radius:var(--r-full);background:var(--accent);height:100%;transition:inline-size .25s var(--ease);display:block}.fc__tally{color:var(--text-muted);margin:0;font-size:.8125rem}.fc__stage{padding-bottom:30px}.fc__deck{position:relative}.fc__ghost{transform-origin:bottom;border:1px solid var(--border-strong);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-sm);transition:transform .35s var(--ease), opacity .35s var(--ease);position:absolute;inset:0}.fc__ghost[hidden]{opacity:0;display:block;transform:translateY(0)scale(1)}.fc__ghost--1{opacity:1;transform:translateY(9px)scale(.972)}.fc__ghost--2{opacity:.7;transform:translateY(17px)scale(.944)}.fc__ghost--3{opacity:.45;transform:translateY(24px)scale(.916)}.fc__face{z-index:1;perspective:1600px;cursor:pointer;touch-action:pan-y;width:100%;transform:translate3d(var(--fc-dx,0px), var(--fc-dy,0px), 0) rotate(var(--fc-rot,0deg));background:0 0;border:0;padding:0;transition:transform .32s cubic-bezier(.2,.8,.2,1);display:block;position:relative}.fc__face:hover{--fc-dy:-3px}.fc__face:focus-visible{border-radius:var(--r-lg)}.fc__face.is-dragging{cursor:grabbing;transition:none}.fc__face.is-dragging .fc__facing{box-shadow:var(--shadow-lg)}.fc__face.is-idle{cursor:default}.fc__face.is-idle:hover{--fc-dy:0px}.fc__faces{transform-style:preserve-3d;transition:transform .55s cubic-bezier(.3,.9,.25,1);display:grid}.fc__faces.is-flipped{transform:rotateY(180deg)}.fc__facing{border:1px solid var(--border-strong);border-radius:var(--r-lg);background:var(--surface);min-height:240px;box-shadow:var(--shadow-md);text-align:center;backface-visibility:hidden;flex-direction:column;grid-area:1/1;justify-content:center;align-items:center;gap:10px;padding:30px 26px;display:flex}.fc__facing--back{background:var(--bg-subtle);transform:rotateY(180deg)}.fc__facelabel{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-subtle);font-size:.6875rem;font-weight:600}.fc__facetext{color:var(--text);white-space:pre-wrap;font-size:clamp(1.125rem,3.4cqi,1.75rem);font-weight:600;line-height:1.3}.fc__facetext.is-long{font-size:clamp(.9375rem,2.2cqi,1.125rem);font-weight:500;line-height:1.45}.fc__facehint{color:var(--text-subtle);font-size:.75rem}.fc__swipe{z-index:2;border-radius:var(--r-sm);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;opacity:0;pointer-events:none;border:1.5px solid;padding:5px 12px;font-size:.75rem;font-weight:600;position:absolute;top:16px}.fc__swipe--again{color:var(--danger);left:16px;transform:rotate(-11deg)}.fc__swipe--good{color:var(--success);right:16px;transform:rotate(11deg)}.fc__face.is-dealing{animation:.34s cubic-bezier(.2,.8,.25,1) backwards fc-deal}@keyframes fc-deal{0%{opacity:.4;transform:translateY(9px)scale(.97)}to{opacity:1;transform:none}}.fc__face.is-gone-good{animation:.34s cubic-bezier(.4,0,.75,.3) forwards fc-gone-good}.fc__face.is-gone-again{animation:.34s cubic-bezier(.4,0,.75,.3) forwards fc-gone-again}@keyframes fc-gone-good{to{opacity:0;transform:translate(140%,-12%)rotate(9deg)}}@keyframes fc-gone-again{to{opacity:0;transform:translate(-140%,-12%)rotate(-9deg)}}@media (prefers-reduced-motion:reduce){.fc__face,.fc__faces,.fc__ghost{transition:none!important;animation:none!important}.fc__face{opacity:1!important;transform:none!important}}.fc__grade{gap:8px;display:flex}.fc__grade .btn{flex:1}.fc__grade .kbd{margin-left:4px}.fc__boxes{flex-wrap:wrap;gap:6px;display:flex}.fc__box{border:1px solid var(--border);border-radius:var(--r-full);background:var(--surface);align-items:baseline;gap:5px;padding:3px 9px;font-size:.75rem;display:inline-flex}.fc__box-k{color:var(--text-subtle)}.fc__box-v{font-family:var(--font-mono);color:var(--text);font-variant-numeric:tabular-nums}.fc__printnote{color:var(--text-muted);margin:0;font-size:.8125rem}.fc__sheets{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));align-items:start;gap:16px;display:grid}.fc__page{flex-direction:column;gap:6px;margin:0;display:flex}.fc__pagelabel{font-family:var(--font-mono);color:var(--text-subtle);font-size:.6875rem}.fc__sheet{aspect-ratio:1/1.414;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);gap:0;padding:4%;display:grid}.fc__cell{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;padding:6px;display:flex;overflow:hidden}.fc__sheet--marks .fc__cell{border:1px dashed var(--border-strong)}.fc__cellnum{font-family:var(--font-mono);color:var(--text-subtle);font-size:.5625rem}.fc__celltext{color:var(--text);overflow-wrap:anywhere;font-size:.6875rem;font-weight:600;line-height:1.25}.fc__sheet--back .fc__celltext{font-weight:500}.fc__note{color:var(--text-subtle);margin:0;font-size:.8125rem}.fc__host{height:100%;min-height:420px}.fc__host>.fc{height:100%}.fc__host [data-fc=expand]{display:none}.fc__host .fc__view{flex:1;min-height:0;overflow:auto}@media print{.is-fc-printing body>:not(.fc__sheets){display:none!important}.is-fc-printing .fc__sheets{gap:0;display:block}.is-fc-printing .fc__pagelabel{display:none}.is-fc-printing .fc__page{break-after:page;break-inside:avoid;margin:0;display:block}.is-fc-printing .fc__page:last-child{break-after:auto}.is-fc-printing .fc__sheet{aspect-ratio:auto;break-inside:avoid;background:0 0;border:0;border-radius:0;width:100%;height:240mm;padding:0}.is-fc-printing .fc__sheet--marks .fc__cell{print-color-adjust:exact;border:1px solid #999}.is-fc-printing .fc__cellnum,.is-fc-printing .fc__celltext{color:#000}.is-fc-printing .fc__celltext{font-size:12pt}.is-fc-printing .fc__cellnum{color:#888;font-size:7pt}}
