.canvas.factle{--cv-ink:#fff1ec;--cv-btn-bg:#fff3ea;--cv-btn-ink:#3a1220;--cv-btn-edge:#c9a99a;--cv-main-bg:#f2b45a;--cv-main-ink:#3a1220;--cv-main-edge:#b47a24;--cv-well:#14000866;--cv-on-bg:#fff3ea;--cv-on-ink:#3a1220;--cv-on-edge:#c9a99a;--cv-card-bg:#fff3ea;--cv-card-ink:#3a1220;--cv-card-edge:#c9a99a;--cv-card-sub:#f6e2d6;--cv-card-mute:#8a5b66;--cv-ok:#2f5bb7;--cv-ok-edge:#1c3c80;--fx-ink:#3a1220;--fx-cobalt:#2f5bb7;--fx-rose:#e9744f;--fx-mauve:#7e5f69;background:radial-gradient(120% 90% at 72% 0,#7a2e45 0%,#5a1f33 45%,#33101d 100%)}.canvas.factle .scene{background-image:repeating-linear-gradient(115deg,#fff1ec09 0 2px,#0000 2px 26px)}.canvas.factle .s1{background:#ffb4be1a;width:420px;height:420px;top:-210px;left:-150px}.canvas.factle .s2{background:#1400084d;width:300px;height:300px;bottom:-150px;right:-100px}.canvas.factle .s3{display:none}.canvas.factle .tb .gb.primary{background:var(--cv-btn-bg);color:var(--cv-btn-ink);box-shadow:0 3px 0 var(--cv-btn-edge), 0 6px 10px #1400084d}.canvas.factle .tb .gb.primary:active{box-shadow:0 0 0 var(--cv-btn-edge)}.canvas.factle.done .tb .gb.primary,.canvas.factle.lost .tb .gb.primary{background:var(--cv-main-bg);color:var(--cv-main-ink);box-shadow:0 3px 0 var(--cv-main-edge), 0 6px 10px #1400084d}.canvas.factle.done .tb .gb.primary:active,.canvas.factle.lost .tb .gb.primary:active{box-shadow:0 0 0 var(--cv-main-edge)}.canvas.factle .stage{align-items:flex-start}.canvas.factle .fc-stage,.canvas.factle .fc-stage *,.canvas.factle .fc-stage :before,.canvas.factle .fc-stage :after{box-sizing:border-box}.canvas.factle .fc-stage{border-radius:var(--radius);-webkit-user-select:none;user-select:none;grid-template-rows:auto 1fr;grid-template-columns:440px 520px;justify-content:center;align-items:start;gap:16px 28px;width:100%;min-height:0;display:grid;position:relative}.canvas.factle .fc-stage:focus{outline:none}.canvas.factle .fc-stage:focus-visible{outline-offset:4px;outline:3px solid #f2b45a}.canvas.factle .fc-q{text-align:center;height:60px;font-weight:600;font-size:var(--fs-2xl);letter-spacing:-.01em;grid-column:1/-1;justify-content:center;align-items:center;margin:0;line-height:1.25;display:flex;overflow:hidden}.canvas.factle .fc-q span{-webkit-line-clamp:2;line-clamp:2;text-wrap:balance;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.canvas.factle .fc-q.q2{font-size:22px}.canvas.factle .fc-q.q3{font-size:var(--fs-xl)}.canvas.factle .fc-rack{border-radius:var(--rl);background:linear-gradient(#8a5636,#5e3820);padding:14px;position:relative;box-shadow:inset 0 1px #ffdcb459,inset 0 -2px #00000040,0 8px #3a2012,0 18px 30px #14000880}.canvas.factle .fc-slots{gap:9px;margin:0;padding:0;list-style:none;display:grid}.canvas.factle .fs{border-radius:var(--radius);background:#3b2214;grid-template-columns:44px minmax(0,1fr);align-items:center;height:58px;padding:5px 6px 5px 0;display:grid;position:relative;box-shadow:inset 0 3px 6px #00000080,0 1px #ffdcb433}.canvas.factle .fc-stage:focus-visible .fs.cursor{box-shadow:inset 0 3px 6px #00000080,0 0 0 3px #fff1ec}.canvas.factle .fs.drop{background:#4a2b19;box-shadow:inset 0 3px 6px #00000080,0 0 0 3px #f2b45a}.canvas.factle .fs.grabbed .ft-t{transform:translateY(-3px)rotate(-1.2deg);box-shadow:inset 0 0 0 3px #f2b45a,0 7px #d9c3ae,0 14px 18px #14000873}.canvas.factle .fs-n{text-align:center;font-weight:700;font-size:var(--fs-l);color:#e7c27a;text-shadow:0 1px #0009;font-variant-numeric:tabular-nums}.canvas.factle .ft-t{height:46px;color:var(--fx-ink);font-weight:600;font-size:var(--fs-l);cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent;background:#fff6ec;border-radius:9px;align-items:center;gap:10px;padding:0 14px 0 12px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px #d9c3ae}.canvas.factle .ft-t .mk{flex:none;width:24px;height:24px}.canvas.factle .ft-t.mR{background:var(--fx-cobalt);color:#fff;cursor:default;touch-action:auto;box-shadow:0 4px #1c3c80}.canvas.factle .ft-t.mW{box-shadow:inset 0 0 0 3px var(--fx-rose), 0 4px 0 #d9c3ae;background:#fff6ec}.canvas.factle .ft-t.mW .mk{color:var(--fx-rose)}.canvas.factle .ft-n{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.canvas.factle .ft-v{font-size:var(--fs-m);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.canvas.factle .ft-t.end{cursor:default;touch-action:auto}.canvas.factle .ft-t.mR.end{background:linear-gradient(90deg, #3a69c6 var(--v), var(--fx-cobalt) var(--v))}.canvas.factle .ft-t.mA{background:linear-gradient(90deg, #f2d9b8 var(--v), #fff6ec var(--v));border-radius:9px;box-shadow:inset 0 0 0 2px #c9a99a,0 4px #d9c3ae}.canvas.factle .ft-ghost{color:#fff6ec73;height:46px;font-weight:600;font-size:var(--fs-l);border:2px dashed #fff6ec66;border-radius:9px;align-items:center;padding:0 14px;display:flex}.canvas.factle .ft-lift{z-index:50;pointer-events:none;opacity:1;box-shadow:inset 0 0 0 3px var(--fx-rose), 0 6px 0 #d9c3ae, 0 22px 30px #1400088c;margin:0;list-style:none;animation:none;position:fixed;transform:rotate(-2.5deg)}.canvas.factle .fc-side{flex-direction:column;align-self:stretch;gap:16px;display:flex;position:relative}.canvas.factle .tray-f{flex-wrap:wrap;justify-content:center;gap:10px;margin:0;padding:0;list-style:none;display:flex}.canvas.factle .tg{min-width:0;height:48px;font-weight:600;font-size:var(--fs-m);color:var(--fx-ink);cursor:pointer;text-align:center;-webkit-tap-highlight-color:transparent;background:#fff6ec;border-radius:11px;flex:0 0 calc(33.3333% - 6.66667px);justify-content:center;align-items:center;gap:7px;padding:0 10px;line-height:1.1;display:flex;position:relative;box-shadow:0 4px #d9c3ae,0 8px 12px #14000840}.canvas.factle .tg span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.canvas.factle .tg:active{transform:translateY(2px)}.canvas.factle .fc-stage:focus-visible .tg.cursor{outline-offset:2px;outline:3px solid #fff1ec}.canvas.factle .tg.held{box-shadow:none;color:#fff1ec8c;background:0 0;border:2px dashed #fff1ec59}.canvas.factle .tg.held:active{transform:none}.canvas.factle .tg.kX{color:var(--fx-mauve);cursor:not-allowed;background:#e9d9d3;box-shadow:0 3px #bfa8a2}.canvas.factle .tg.kX span{text-decoration:line-through 2px}.canvas.factle .tg .mk{width:18px;height:18px;color:var(--fx-mauve);flex:none}.canvas.factle .tg.fin{opacity:.6;cursor:default}.canvas.factle .fc-ctl{justify-content:space-between;align-items:center;gap:12px;min-height:50px;margin-top:auto;display:flex}.canvas.factle .fc-ctl .gb{height:50px;font-size:var(--fs-l);padding:0 26px}.canvas.factle .fc-ctl .gb[aria-disabled=true]{opacity:.55;box-shadow:0 3px 0 var(--cv-main-edge)}.canvas.factle .fc-tries{white-space:nowrap;flex:none;align-items:center;gap:10px;display:flex}.canvas.factle .pp{gap:6px;display:flex}.canvas.factle .pp i{opacity:.5;border:2px solid;border-radius:50%;width:13px;height:13px}.canvas.factle .pp i.u{opacity:1;background:currentColor}.canvas.factle .tl-t{font-size:var(--fs-s);opacity:.85;font-variant-numeric:tabular-nums;font-weight:600}.canvas.factle .fc-src{min-width:0;font-size:var(--fs-s);opacity:.9;text-align:right;text-wrap:balance;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.canvas.factle .fc-toast{border-radius:var(--radius);color:var(--fx-ink);font-weight:600;font-size:var(--fs-s);opacity:0;pointer-events:none;z-index:5;white-space:nowrap;background:#fff3ea;margin:0;padding:7px 14px;transition:opacity .15s,transform .15s;position:absolute;bottom:58px;right:0;transform:translateY(8px);box-shadow:0 3px #c9a99a,0 8px 14px #14000859}.canvas.factle .fc-toast.show{opacity:1;transform:translateY(0)}@media (width<=1100px){.canvas.factle .fc-stage{grid-template-columns:400px minmax(0,460px);gap:14px 20px}.canvas.factle .fc-src{font-size:var(--fs-xs)}}@media (width<=820px){.canvas.factle .fc-stage{grid-template-columns:300px minmax(0,1fr);gap:10px 14px}.canvas.factle .fc-q{height:50px;font-size:var(--fs-xl)}.canvas.factle .fc-q.q2{font-size:var(--fs-l)}.canvas.factle .fc-q.q3{font-size:var(--fs-m)}.canvas.factle .fc-rack{border-radius:var(--rl);padding:8px;box-shadow:inset 0 1px #ffdcb459,0 6px #3a2012,0 12px 20px #14000873}.canvas.factle .fc-slots{gap:5px}.canvas.factle .fs{border-radius:10px;grid-template-columns:34px minmax(0,1fr);height:41px;padding:4px 5px 4px 0}.canvas.factle .fs-n{font-size:var(--fs-s)}.canvas.factle .ft-t{height:32px;font-size:var(--fs-m);border-radius:7px;gap:8px;padding:0 10px 0 9px;box-shadow:0 3px #d9c3ae}.canvas.factle .ft-t.mR{box-shadow:0 3px #1c3c80}.canvas.factle .ft-t.mW{box-shadow:inset 0 0 0 2.5px var(--fx-rose), 0 3px 0 #d9c3ae}.canvas.factle .ft-t .mk{width:20px;height:20px}.canvas.factle .ft-v{font-size:var(--fs-s)}.canvas.factle .ft-ghost{height:32px;font-size:var(--fs-m)}.canvas.factle .fc-side{gap:8px}.canvas.factle .tray-f{gap:6px}.canvas.factle .tg{height:34px;font-size:var(--fs-s);border-radius:9px;flex-basis:calc(33.3333% - 4px);gap:5px;padding:0 6px;box-shadow:0 3px #d9c3ae}.canvas.factle .tg .mk{width:15px;height:15px}.canvas.factle .fc-ctl{gap:8px;min-height:44px}.canvas.factle .fc-ctl .gb{height:44px;padding:0 14px}.canvas.factle .fc-tries{gap:6px}.canvas.factle .pp{gap:4px}.canvas.factle .fc-toast{bottom:50px}.canvas.factle .fc-src{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;line-height:1.2;display:-webkit-box;overflow:hidden}}@media (width<=640px){.canvas.factle .fc-stage{grid-template-columns:minmax(0,1fr);gap:10px;max-width:560px;margin:0 auto}.canvas.factle .fc-q{height:43px;font-size:var(--fs-l)}.canvas.factle .fc-q.q2{font-size:14.5px}.canvas.factle .fc-q.q3{font-size:12.5px;line-height:1.2}}@media (prefers-reduced-motion:no-preference){.canvas.factle .ft-t.fresh{animation:.32s ease-out backwards fc-flip}.canvas.factle .fs:nth-child(2) .ft-t.fresh{animation-delay:80ms}.canvas.factle .fs:nth-child(3) .ft-t.fresh{animation-delay:.16s}.canvas.factle .fs:nth-child(4) .ft-t.fresh{animation-delay:.24s}.canvas.factle .fs:nth-child(5) .ft-t.fresh{animation-delay:.32s}@keyframes fc-flip{0%{opacity:.4;transform:rotateX(70deg)}}.canvas.factle .fc-stage.shake .fc-rack{animation:.28s fc-shake}@keyframes fc-shake{25%{transform:translate(-5px)}75%{transform:translate(5px)}}}.canvas.factle .ft-t.mX{color:var(--fx-mauve);background:#e9d9d3;box-shadow:0 4px #bfa8a2}.canvas.factle .ft-t.mX .ft-n{text-decoration:line-through 2px}
