.fl-controls{align-items:center;gap:10px;margin-bottom:22px}.fl-controls,.fl-steps{display:flex;justify-content:center;flex-wrap:wrap}.fl-steps{gap:8px;min-width:0}.fl-step{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:520;color:var(--muted-2);background:var(--bg);border:1px solid var(--line);border-radius:var(--r-pill);min-height:40px;padding:6px 14px;cursor:pointer;white-space:nowrap;transition:border-color .2s var(--ease),background .2s var(--ease),color .2s var(--ease);position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent}.fl-step .tm{font-family:var(--mono);font-size:11.5px;color:var(--muted)}.fl-step .ic{width:15px;height:15px}.fl-step:hover{border-color:var(--line-2);color:var(--ink)}.fl-step.active{border-color:var(--accent-line);background:var(--accent-soft);font-weight:560}.fl-step.active,.fl-step.active .tm{color:var(--accent-strong)}.fl-step.done{color:var(--ink-soft)}.fl-step .bar{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left}.fl-step.active .bar{animation:flbar var(--fl-dur,5s) linear forwards}@keyframes flbar{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.fl-stage{display:grid;grid-template-columns:1fr 64px 1.1fr;align-items:stretch}.fl-clock{font-family:var(--mono);font-size:12px;color:var(--ink-soft);border:1px solid var(--line);border-radius:7px;padding:2px 8px;margin-left:auto}.fl-card,.fl-clock{background:var(--bg)}.fl-card{display:flex;gap:11px;align-items:flex-start;border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 13px;opacity:0;transform:translateY(10px);transition:opacity .45s var(--ease-out),transform .45s var(--ease-out),box-shadow .3s var(--ease),border-color .3s var(--ease)}.fl-card.in{opacity:1;transform:none}.fl-card.lit{border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-ring)}.fl-card.dim{opacity:.55}.fl-card .badge-ic{flex:0 0 auto;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;border:1px solid var(--line)}.fl-card .badge-ic .ic{width:18px;height:18px}.fl-card .badge-ic.granola{background:var(--granola-soft);border-color:var(--granola-line)}.fl-card .badge-ic.notion{background:var(--notion-soft);border-color:var(--line-2)}.fl-card .badge-ic.calendar{background:var(--cal-soft);border-color:var(--cal-line)}.fl-card .col{display:flex;flex-direction:column;min-width:0;flex:1}.fl-card .tt{font-size:13.5px;font-weight:560;color:var(--ink);letter-spacing:-.01em}.fl-card .mt{font-size:12px;color:var(--muted-2);margin-top:2px;line-height:1.45}.fl-card .src{font-family:var(--mono);font-size:10.5px;color:var(--muted-2);margin-top:7px;display:flex;align-items:center;gap:6px}.fl-card .src .tag{font-weight:600;letter-spacing:.02em;border-radius:5px;padding:1px 6px;color:var(--ink)}.tag.t-granola{background:var(--granola)}.tag.t-notion{background:var(--paper-2)}.tag.t-calendar{background:#bcd6f3}.fl-empty{font-size:13px;color:var(--muted-2);text-align:center;padding:26px 10px;border:1.5px dashed var(--line-2);border-radius:var(--r-sm);line-height:1.5}.fl-mem.hit{border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-ring)}.fl-mem .tag{font-family:var(--mono);font-size:10px;font-weight:600;border-radius:5px;padding:1px 6px;color:var(--ink);flex:0 0 auto}.fl-mem .tt{font-size:12.5px;font-weight:520;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.fl-mem .chunks{font-weight:600}.fl-mem .chunks,.fl-mem .score{font-family:var(--mono);font-size:10.5px;color:var(--accent-strong);background:var(--accent-soft);border-radius:6px;padding:2px 7px;flex:0 0 auto}.fl-mem .score{font-weight:700;display:none}.fl-mem.scored .chunks{display:none}.fl-mem.scored .score{display:inline-block}.fl-count{display:flex;align-items:baseline;gap:7px;margin-top:auto;padding-top:14px;border-top:1px dashed var(--line-2);font-size:12.5px;color:var(--muted-2)}.fl-count b{font-family:var(--mono);font-size:21px;font-weight:600;color:var(--accent-strong);letter-spacing:-.02em}.fl-search{margin-top:4px;display:none;flex-direction:column;gap:9px}.fl-search.show{display:flex;animation:fade .35s var(--ease-out)}.fl-query{font-family:var(--mono);font-size:12px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-xs);padding:9px 12px;display:flex;align-items:center;gap:8px}.fl-query .pr{color:var(--accent-strong);font-weight:700}.fl-query .cursor{display:inline-block;width:7px;height:13px;background:var(--ink-soft);animation:tblink 1s steps(2) infinite}@keyframes tblink{50%{opacity:0}}.fl-answer{font-size:13px;color:var(--ink);background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:10px;padding:11px 13px;line-height:1.55;display:none}.fl-answer.show{display:block;animation:fade .35s var(--ease-out)}.fl-answer b{font-weight:600}@media (max-width:980px){.fl-stage{grid-template-columns:1fr}.fl-steps{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;-webkit-overflow-scrolling:touch;padding:2px;scrollbar-width:none}.fl-steps::-webkit-scrollbar{display:none}.fl-step{min-height:44px}}@media (prefers-reduced-motion:reduce){.fl-answer.show,.fl-query .cursor,.fl-search.show,.fl-step .bar{animation:none!important}.fl-card{opacity:1!important;transform:none!important;transition:none!important}}@media print{.fl-answer.show,.fl-query .cursor,.fl-search.show,.fl-step .bar{animation:none!important}.fl-card{opacity:1!important;transform:none!important;transition:none!important}}.diagram{display:flex;align-items:center;justify-content:center;margin:0 auto;max-width:920px}.dg-col{display:flex;flex-direction:column;gap:12px}.dg-node{display:flex;align-items:center;gap:11px;font-size:14px;font-weight:520;color:var(--ink-soft);background:var(--bg);border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 16px;white-space:nowrap;transition:border-color .3s var(--ease),box-shadow .3s var(--ease),transform .3s var(--ease)}.dg-node.lit{border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-ring);transform:translateX(2px)}.dg-node .sub{font-size:12px;color:var(--muted);font-weight:450;display:block;margin-top:1px}.dg-node .col{display:flex;flex-direction:column;line-height:1.3}.dg-hub{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:8px;justify-content:center;width:124px;height:124px;border-radius:var(--r-lg);background:var(--bg);border:1px solid var(--accent-line);color:var(--accent-strong);font-weight:620;font-size:15px;position:relative;box-shadow:var(--shadow)}.dg-hub .mk{width:40px;height:40px;display:inline-flex}.dg-hub:after{content:"";position:absolute;inset:-8px;border-radius:34px;border:1.5px solid var(--accent-line);opacity:.7;animation:hubring calc(2.6s/var(--speed)) ease-out infinite}.steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,44px);max-width:980px;margin:clamp(48px,5vw,72px) auto 0}.s3{display:flex;gap:14px;align-items:flex-start}.s3 .n{flex:0 0 auto;font-family:var(--mono);font-size:13px;color:var(--accent-strong);background:var(--bg);border:1px solid var(--accent-line);width:30px;height:30px;border-radius:10px;display:grid;place-items:center;margin-top:1px}.s3 .n,.s3 b{font-weight:600}.s3 b{display:block;font-size:17px;letter-spacing:-.015em;color:var(--ink)}.s3 span{font-size:15px;color:var(--muted-2);display:block;margin-top:3px;line-height:1.5}.dg-wlbl{position:absolute;left:50%;transform:translateX(-50%);font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--accent-strong);white-space:nowrap}.dg-wlbl.top{bottom:9px}.dg-wlbl.bot{top:9px}@media (max-width:680px){.diagram{flex-direction:column}.dg-wlbl{display:none}.diagram .dg-wire{width:1.5px;height:40px;max-width:none;flex:0 0 auto;margin:8px 0}.diagram .dg-wire .pulse{animation-name:dgflowv}.diagram .dg-wire .pulse.back{animation-name:dgflowvback}.diagram .dg-wire .pulse:after{right:auto;top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.steps3{grid-template-columns:1fr;gap:20px}}@media (prefers-reduced-motion:reduce){.dg-hub:after{animation:none!important}}@media print{.dg-hub:after{animation:none!important}}