/* ================= 陨落线（js/life/fall.js）：顶栏吃饭 / 手机、手机、快破产、上岸、犯晕 =================
   只用 tokens.css 里的颜色；字号只用 --fs-m / --fs-s；没有 emoji、没有虚线框。 */

/* ---------- 顶栏 ---------- */
#topbar .fl-meal{width:auto;min-width:32px;padding:0 7px;gap:6px;}
#topbar .fl-meal b{font-weight:400;font-size:var(--fs-s);letter-spacing:.06em;color:var(--tx-2);}
#topbar .fl-meal b:empty{display:none;}
#topbar .fl-meal[data-c="tired"] .ic{fill:var(--brass-300);}
#topbar .fl-meal[data-c="weak"] .ic,#topbar .fl-meal[data-c="faint"] .ic{fill:var(--bad);}
#topbar .fl-meal[data-c="weak"] b,#topbar .fl-meal[data-c="faint"] b{color:var(--bad);}
#topbar .fl-ph{position:relative;}
#topbar .fl-ph i{display:none;position:absolute;top:6px;right:6px;width:7px;height:7px;border-radius:50%;background:var(--brass-300);box-shadow:0 0 0 2px var(--ink-950);}
#topbar .fl-ph.dot i{display:block;}

/* 饮食档小窗 */
.fl-diet{position:fixed;z-index:70;min-width:236px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;
  background:linear-gradient(180deg,#221913,#120c09);border:1px solid var(--brass-700);border-radius:var(--r-1);box-shadow:var(--shadow-2),var(--hi-brass);}
.fl-diet .seg button{padding:0 12px;}
.fl-diet-r{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--fs-s);color:var(--tx-3);letter-spacing:.06em;}
.fl-diet-r b{font-weight:400;font-size:var(--fs-m);color:var(--tx-1);}
.fl-diet-r b.num{font-family:var(--serif);color:var(--brass-100);}
.fl-diet-r b.c-weak,.fl-diet-r b.c-faint{color:var(--bad);}

/* 一行消息：沿用 .lp-pop，手机图标 */
.fl-pop .ic0 .ic{fill:var(--brass-500);}

/* ---------- 弹窗脚里的空隙（左边放「上岸 / 认输」，右边放其它） ---------- */
#flPhone .mf .sp,#lpBroke .mf .sp,#flAshore .mf .sp{flex:1;}

/* ---------- 手机 ---------- */
#flPhone .modal-box{height:min(620px,calc(calc(var(--vh) * 100) - 32px));}
#flPhone .mb{padding:0;display:flex;min-height:0;flex:1;overflow:hidden;}
.fl-phone{display:grid;grid-template-columns:212px 1fr;flex:1;min-height:0;}
.fl-list{display:flex;flex-direction:column;overflow:auto;border-right:1px solid var(--hairline);background:rgba(0,0,0,.18);}
.fl-th{position:relative;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:10px 12px;text-align:left;
  border:0;border-bottom:1px solid rgba(201,160,82,.1);background:transparent;color:var(--tx-2);cursor:pointer;font-family:var(--sans);}
.fl-th:hover{background:rgba(201,160,82,.05);}
.fl-th.on{background:rgba(201,160,82,.1);box-shadow:2px 0 0 var(--brass-500) inset;}
.fl-th .av{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:var(--serif);font-size:var(--fs-m);color:var(--brass-100);background:radial-gradient(circle at 50% 35%,#3a2d22,#15100c);border:1px solid var(--brass-900);}
.fl-th .av .ic{width:16px;height:16px;fill:var(--brass-500);}
.fl-th .nm{display:flex;flex-direction:column;min-width:0;line-height:1.3;}
.fl-th .nm b{font-weight:400;font-size:var(--fs-m);color:var(--tx-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fl-th .nm small{font-size:var(--fs-s);color:var(--tx-3);}
.fl-th em{font-style:normal;font-size:var(--fs-s);color:var(--bad);font-family:var(--serif);}
.fl-th .dot{position:absolute;top:10px;left:38px;width:7px;height:7px;border-radius:50%;background:var(--brass-300);box-shadow:0 0 0 2px var(--ink-900);}
.fl-th.dim{opacity:.62;}
.fl-th.off{opacity:.4;}

.fl-chat{display:flex;flex-direction:column;min-width:0;min-height:0;}
.fl-chat header{display:flex;align-items:baseline;gap:8px;padding:10px 16px;border-bottom:1px solid var(--hairline);}
.fl-chat header b{font-family:var(--serif);font-weight:400;font-size:var(--fs-m);color:var(--tx-1);letter-spacing:.04em;}
.fl-chat header small{font-size:var(--fs-s);color:var(--tx-3);}
.fl-msgs{flex:1;overflow:auto;padding:12px 16px;display:flex;flex-direction:column;gap:6px;
  background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.28));}
.fl-day{align-self:center;margin:8px 0 2px;font-size:var(--fs-s);color:var(--tx-3);letter-spacing:.1em;}
.fl-b{max-width:78%;padding:7px 11px;border-radius:10px;font-size:13px;line-height:1.55;color:var(--tx-1);word-break:break-word;}
.fl-b.them{align-self:flex-start;background:#2a211b;border:1px solid rgba(201,160,82,.14);border-bottom-left-radius:3px;}
.fl-b.me{align-self:flex-end;background:linear-gradient(180deg,#4a3822,#3a2b1a);border:1px solid rgba(201,160,82,.28);border-bottom-right-radius:3px;color:var(--brass-100);}
.fl-b.sys{align-self:center;max-width:90%;padding:2px 0;background:none;border:0;font-size:var(--fs-s);color:var(--tx-3);text-align:center;}
.fl-none{flex:1;}
.fl-reps{display:flex;flex-direction:column;gap:6px;padding:10px 12px 12px;border-top:1px solid var(--hairline);max-height:62%;overflow:auto;flex:none;}
.fl-sep{display:block;height:1px;margin:4px 2px;background:var(--hairline);}
.fl-rep{display:flex;align-items:center;gap:12px;width:100%;min-height:36px;padding:7px 12px;text-align:left;cursor:pointer;
  border:1px solid var(--brass-900);border-radius:var(--r-1);background:rgba(201,160,82,.04);color:var(--tx-1);font-family:var(--sans);font-size:13px;line-height:1.45;
  transition:border-color var(--t-fast),background var(--t-fast);}
.fl-rep:hover{border-color:var(--brass-700);background:rgba(201,160,82,.1);}
.fl-rep span{flex:1;}
.fl-rep b{font-family:var(--serif);font-weight:400;font-size:var(--fs-m);color:var(--brass-100);}
.fl-rep.pay b{color:var(--good);}
.fl-rep.dim{color:var(--tx-3);}
.fl-rep:disabled{opacity:.55;cursor:default;pointer-events:none;}

/* ---------- 上岸 / 快破产（结局是 Life 的整屏，见 css/life.css） ---------- */
.fl-ev{margin:4px 0;font-size:var(--fs-m);line-height:1.7;color:var(--tx-1);}
.fl-broke{display:flex;flex-direction:column;}
.fl-bk-r{display:flex;justify-content:space-between;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--hairline);}
.fl-bk-r span{font-size:var(--fs-s);color:var(--tx-3);letter-spacing:.1em;}
.fl-bk-r b{font-family:var(--serif);font-weight:400;font-size:var(--fs-l);color:var(--brass-100);}
.fl-bk-r.neg b{color:var(--bad);font-size:var(--fs-m);}
.fl-ways{display:flex;flex-direction:column;gap:8px;}
.fl-way{display:flex;align-items:center;min-height:52px;padding:0 16px;text-align:left;cursor:pointer;border:1px solid var(--brass-900);border-radius:var(--r-1);
  background:rgba(201,160,82,.04);color:var(--tx-1);font-family:var(--sans);}
.fl-way b{font-weight:400;font-size:var(--fs-m);letter-spacing:.04em;}
.fl-way:hover{border-color:var(--brass-700);background:rgba(201,160,82,.1);}

/* ---------- 牌桌上犯晕：画面暗下去，只剩「离桌」 ---------- */
.fl-faint{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity 1.6s ease;
  background:radial-gradient(ellipse at 50% 50%,rgba(0,0,0,.55) 0%,rgba(0,0,0,.86) 55%,#000 100%);backdrop-filter:blur(3px) saturate(.6);}
.fl-faint.in{opacity:1;}
.fl-faint-in{display:flex;flex-direction:column;align-items:center;gap:18px;}
.fl-faint p{margin:0;font-size:var(--fs-m);letter-spacing:.08em;color:var(--tx-2);}

/* ---------- 手机横屏 ---------- */
html.m .fl-phone{grid-template-columns:150px 1fr;}
html.m .fl-th{grid-template-columns:28px 1fr;padding:8px;}
html.m .fl-th em{display:none;}
html.m .fl-th .av{width:28px;height:28px;}
html.m #topbar .fl-meal b{display:none;}
