/* log-rec · styles
   色權：主題黃 #FFDD00 只做識別底（分頁籤／表頭／浮動鈕底）；
        狀態走生態色卡（螢光綠＝executed／自動青＝recorded）；
        填空格走超淡透明黑（灰框）—— 主筆 2026-09-13 指定。
   鐵律（主筆 2026-09-13）：無按鈕框線・無漸進動畫・無陰影・無確認彈窗・邊角 4px。
*/

:root{
  --theme: 255,221,0;        /* 主題黃 #FFDD00 —— 不撞 #fff778 系統黃／#CCF527 系統黃綠 */
  --fg: #000;
  --bg: #fff;
  --fill: 0,0,0;             /* 填空／灰框：超淡透明黑 */
  --float-a: .10;
  --float-a-hover: .18;
  --ok: 0,255,0;             /* 螢光綠 · executed */
  --auto: 0,255,234;         /* 自動青 · recorded */
  --err: 234,0,255;          /* 螢光粉 · 失敗 */
}

*{ box-sizing: border-box; }

html,body{ margin:0; padding:0; background:var(--bg); color:var(--fg); }
body{
  font: 12px/1.35 ui-monospace,"SF Mono",Menlo,"Courier New",
        "Hiragino Sans","Noto Sans CJK TC","PingFang TC",monospace;
  padding: 4px 4px 40px 4px;
  -webkit-text-size-adjust:100%;
}

/* ── 頂部工具欄（右上 2px；鈕無框） ───────────────────── */
.rail{
  position:fixed; top:2px; right:2px; z-index:60;
  display:flex; align-items:center; justify-content:flex-end; gap:2px;
}
.rail .st{ font-size:11px; opacity:.85; user-select:none; }
.rail .st[data-s="off"]{ opacity:.28; }
.rail .st[data-s="bad"]{ color:rgb(var(--err)); opacity:1; }

/* ── 按鈕通則：沒有框、沒有圓角、沒有動畫 ─────────────── */
button{
  border:0; border-radius:0; margin:0; padding:0;
  background:none; color:inherit; font:inherit;
  opacity:.85; cursor:pointer; user-select:none;
}
button:hover, button:focus-visible{ opacity:1; outline:none; }

/* ── 分頁籤（Sheets 時代的頁籤） ───────────────────────── */
.tabs{ display:flex; align-items:center; gap:2px; margin-bottom:2px; }
.tab{ padding:2px 8px; background:rgba(var(--theme),.14); }
.tab:hover{ background:rgba(var(--theme),.28); opacity:1; }
.tab[aria-selected="true"]{ background:rgba(var(--theme),.55); opacity:1; }
.q{
  margin-left:4px; width:9em; padding:1px 4px;
  border:0; outline:none; font:inherit; color:var(--fg);
  background:rgba(var(--fill),.045);
}
.q:focus{ background:rgba(var(--fill),.09); }
.count{ margin-left:auto; margin-right:44px; font-size:11px; opacity:.4; }

/* ── 表 ─────────────────────────────────────────────── */
.wrap{ overflow-x:auto; }
table{ border-collapse:collapse; width:100%; }
th,td{ text-align:left; vertical-align:top; padding:2px 4px; font-weight:normal; }

thead th{
  position:sticky; top:0; z-index:10;
  background:rgba(var(--theme),.55);
  white-space:nowrap;
}
.th{ display:flex; align-items:center; gap:4px; width:100%; }
.th .glyph{ opacity:.55; }
.th .dir{ margin-left:auto; opacity:.28; }
.th[data-dir]{ }
.th[data-dir] .dir{ opacity:.85; }

tbody tr:hover{ background:rgba(var(--fill),.035); }

/* 誰寫的 ＝ 字色。黑＝主筆的筆；系統藍＝agent 寫的（主筆 2026-09-13 定） */
tbody tr[data-by="rec"]{ color:#000; }
tbody tr[data-by="agent"]{ color:#0000ff; }
/* 影印進 agentlog 的那一列仍是黑的 —— 它是主筆的筆，只是換了張紙 */

/* 這一頁不歸這個瀏覽器寫：不給編輯手勢，也不給灰框（灰框＝可填） */
tbody tr[data-ro] .cell{ cursor:default; }
tbody tr[data-ro] .cell.empty{ background:none; min-width:0; }
tbody tr[data-ro] .cell:hover,
tbody tr[data-ro] .cell:focus{ background:none; }
tbody tr[data-ro] .stars .s,
tbody tr[data-ro] .pill,
tbody tr[data-ro] .chk{ cursor:default; opacity:1; }

/* 填空格＝超淡透明黑（讀起來是一個灰框） */
td .cell{
  display:block; min-height:1.35em; width:100%;
  padding:1px 4px; margin:-1px -4px;
  white-space:pre-wrap; word-break:break-word;
}
td .cell.empty{
  display:inline-block; width:auto; min-width:4.5em;
  background:rgba(var(--fill),.045);
}
td .cell:hover{ background:rgba(var(--fill),.075); }
td .cell:focus{ background:rgba(var(--fill),.09); outline:none; }

.c-date{ width:8.4em; white-space:nowrap; }
.c-date .cell{ white-space:nowrap; }
.c-num{ width:4em; }
.c-rate{ width:5.2em; white-space:nowrap; }
.c-enum{ width:7.5em; white-space:nowrap; }
.c-check{ width:2em; }
.c-cut{ width:1.6em; }

/* 星 */
.stars{ letter-spacing:0; }
.stars .s{ opacity:1; }
.stars .s.off{ opacity:.22; }

/* 勾（🔫／👍） */
.chk[aria-pressed="false"]{ opacity:.18; }
.chk[aria-pressed="true"]{ opacity:1; }

/* 狀態籤：白底不用綠字，用底色塊（通用色卡 §四） */
.pill{ display:inline-block; padding:0 6px; }
.pill[data-v="executed"]{ background:rgba(var(--ok),.30); }
.pill[data-v="recorded"]{ background:rgba(var(--auto),.30); }
.pill[data-v=""]{ background:rgba(var(--fill),.045); min-width:5em; }
.pill.st-global,.pill.st-active{ background:rgba(var(--ok),.30); }
.pill.st-pending{ background:rgba(var(--theme),.45); }
.pill.st-loose,.pill.st-concept,.pill.st-loose-concept,.pill.st-electable{
  background:rgba(var(--fill),.075);
}

/* 刪除鈕：桌面 hover 才顯，觸控常駐 */
.cut{ visibility:hidden; }
tr:hover .cut, tr:focus-within .cut{ visibility:visible; }
@media (hover:none){ .cut{ visibility:visible; } }

/* 底列新增：拉滿寬、置中、不是一筆資料 */
.add{ width:100%; padding:2px 0; background:rgba(var(--fill),.045); }
.add:hover{ background:rgba(var(--fill),.09); opacity:1; }

/* ── 右下角浮動功能鈕（自帶底色框） ───────────────────── */
.dock{
  position:fixed; right:12px; bottom:12px; z-index:40;
  display:flex; align-items:center; gap:4px; width:max-content; isolation:isolate;
}
.float{
  display:inline-flex; align-items:center;
  font-size:11px; line-height:1.2; padding:3px 7px;
  background:rgba(var(--theme),var(--float-a)); opacity:1;
}
.float:hover,.float:focus-visible{ background:rgba(var(--theme),var(--float-a-hover)); }

@media print{ .dock,.rail,.cut,.add{ display:none; } }
