.ft{--sym:"Segoe UI Symbol","Noto Sans Symbols","Noto Sans Symbols 2","Noto Sans Math","Apple Symbols","Arial Unicode MS",system-ui,sans-serif;display:flex;flex-direction:column;height:calc(100vh - var(--tb));height:calc(100dvh - var(--tb));min-height:520px;margin:-16px;position:relative}
.ft-top{padding:12px 16px 0;border-bottom:1px solid var(--line);background:var(--bg)}
.ft-lab{display:block;font-size:.78rem;color:var(--muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.08em}
.ft-inrow{display:flex;gap:10px;align-items:center}
.ft-inwrap{position:relative;flex:1;min-width:0}
.ft-in{width:100%;padding:11px 40px 11px 14px;font-size:1.1rem;border:1.5px solid var(--line);border-radius:11px;background:var(--panel);outline:none}
.ft-in:focus{border-color:var(--accent)}
.ft-x{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:30px;height:30px;border:0;border-radius:50%;background:var(--panel2);font-size:1.2rem;line-height:1;color:var(--muted)}
.ft-cnt{font:.8rem var(--mono);color:var(--muted)}
.ft-tabs{display:flex;gap:2px;overflow-x:auto;margin-top:10px;scrollbar-width:thin}
.ft-tabs button{flex:none;padding:9px 14px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);font-weight:600;font-size:.92rem;white-space:nowrap}
.ft-tabs button[aria-selected=true]{color:var(--fg);border-bottom-color:var(--accent)}
.ft-tabs button:hover{color:var(--fg)}
.ft-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 260px}
.ft-pane{overflow:auto;padding:12px 16px 40px;min-width:0;outline:none}
.ft-ideas{border-left:1px solid var(--line);overflow:auto;padding:12px 14px 30px;background:var(--panel)}
.ft-h{margin:14px 0 6px;font-size:.78rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}
.ft-ideas .ft-h{margin-top:0}
.ft-ex-h{margin:10px 0 4px;font-size:.78rem;color:var(--muted)}
.ft-note{font-size:.85rem;color:var(--muted);margin:4px 0 8px}
.ft-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.ft-row{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--panel);border:1px solid var(--line);border-radius:10px}
.ft-body-c{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ft-rl{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.ft-txt{font:1.15rem/1.35 var(--sym);overflow-wrap:anywhere;white-space:pre-wrap}
.ft-meta{display:flex;gap:6px;flex-wrap:wrap;font-size:.72rem;color:var(--muted)}
.ft-over{color:var(--bad);font-weight:700}
.ft-badge{border:1px solid var(--line);border-radius:99px;padding:0 7px}
.ft-warn{color:var(--warn);border-color:var(--warn)}
.ft-ra{display:flex;gap:4px;flex:none}
.ft-cp{padding:7px 14px;border-radius:8px;border:0;background:var(--accent);color:var(--accent-ink);font-weight:700;min-height:36px}
.ft-cp:hover{filter:brightness(1.08)}
.ft-hb{width:36px;min-height:36px;border:1px solid var(--line);border-radius:8px;background:transparent;font-size:1.05rem;color:var(--accent2)}
.ft-chips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 8px}
.ft-chip{padding:5px 11px;border:1px solid var(--line);border-radius:99px;background:var(--panel);font-size:.85rem}
.ft-chip[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:transparent;font-weight:650}
.ft-symg{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}
.ft-sym{min-width:40px;height:40px;padding:0 6px;border:1px solid var(--line);border-radius:8px;background:var(--panel);font:1.15rem var(--sym)}
.ft-sym:hover{border-color:var(--accent)}
.ft-fsw,.ft-limw{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:8px 0;font-size:.88rem}
.ft-fsw select,.ft-limw input{padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}
.ft-limw input{width:90px}
.ft-warnbox{padding:10px 12px;border:1px solid var(--warn);border-radius:10px;font-size:.88rem;background:var(--panel);margin-bottom:8px}
.ft-toast{position:absolute;left:50%;bottom:18px;transform:translate(-50%,20px);background:var(--fg);color:var(--bg);padding:9px 16px;border-radius:99px;font-size:.9rem;opacity:0;pointer-events:none;transition:.18s;max-width:90%;z-index:5}
.ft-toast.on{opacity:1;transform:translate(-50%,0)}
.ft-modal{position:absolute;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;z-index:10;padding:16px}
.ft-modal[hidden]{display:none}
.ft-mbox{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;width:min(480px,100%)}
.ft-mbox textarea{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);font:1.1rem var(--sym);margin-bottom:10px}
.ft-buf{position:fixed;left:-9999px;top:0;opacity:0}
@media (max-width:900px){
  .ft-body{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
  .ft-ideas{display:none}
  .ft{margin:-12px}
}
@media (max-width:480px){.ft-cnt{display:none}.ft-inrow .btn{padding:9px 10px}}
