:root{
  --bg:#0c0d10; --panel:#15171c; --panel2:#1b1e25; --line:#262a33;
  --txt:#e8eaed; --muted:#8b93a1; --accent:#fff;
  --running:#34d399; --manual:#fbbf24; --live:#60a5fa; --todo:#f87171;
  --radius:16px;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--txt);
  font-family:"Segoe UI","PingFang TC","Microsoft JhengHei",system-ui,sans-serif;
  -webkit-font-smoothing:antialiased}
h2{font-size:15px;margin:0;font-weight:650;letter-spacing:.3px}
.muted{color:var(--muted)} .small{font-size:12px}

.topbar{display:flex;align-items:center;gap:20px;padding:16px 26px;
  border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(12,13,16,.85);
  backdrop-filter:blur(10px);z-index:10}
.brand{font-size:22px;font-weight:800;letter-spacing:1px}
.brand span{color:#fbbf24} .brand small{font-size:12px;color:var(--muted);font-weight:500;margin-left:6px}
.today{margin-left:auto;color:var(--muted);font-size:14px}
.fresh{font-size:12px;color:var(--muted);padding:5px 10px;border-radius:14px;background:var(--panel2);border:1px solid var(--line);white-space:nowrap}
.health{font-size:13px;padding:6px 12px;border-radius:20px;background:var(--panel2);border:1px solid var(--line)}

.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;margin:18px}
.panel-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:12px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0 0 10px}
.grid .panel{margin:0 18px 18px}
.span2{grid-column:1 / -1}
@media(max-width:900px){.grid{grid-template-columns:1fr}}

/* 三大事業今日數據 */
.focus-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 18px 0}
@media(max-width:900px){.focus-row{grid-template-columns:1fr}}
.focus-card{background:linear-gradient(150deg,#1b1f27,#15171c);border:1px solid #2c313c;border-radius:16px;padding:16px 18px;border-top:3px solid #3a4150}
.focus-card.fc-store{border-top-color:#60a5fa}
.focus-card.fc-seeding{border-top-color:#34d399}
.focus-card.fc-vietnam{border-top-color:#f87171}
.fc-h{font-weight:750;font-size:15px;margin-bottom:12px}
.fc-metrics{display:flex;gap:10px;margin-bottom:10px}
.fc-m{flex:1;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:9px 8px;text-align:center}
.fc-mv{font-size:17px;font-weight:750;letter-spacing:.3px}
.fc-ml{font-size:10.5px;color:var(--muted);margin-top:3px}
.fc-note{font-size:11px;color:var(--muted);line-height:1.5;margin-bottom:10px}
.fc-acts{display:flex;gap:7px;flex-wrap:wrap}
.fc-btn{font-size:12px;padding:6px 11px;border-radius:8px;border:1px solid var(--line);background:var(--panel2);color:var(--txt);cursor:pointer;text-decoration:none;display:inline-block}
.fc-btn.open{background:#1d2a3a;border-color:#2c4a6a;color:#93c5fd}
.fc-btn.tg{background:#1a2733;border-color:#26506e;color:#7cc4f0}
.fc-btn:hover{border-color:#3a4150}

/* 種草檔期進度 */
.camp-panel{margin:18px 18px 0;background:linear-gradient(150deg,#16241c,#15171c);border-color:#235c39}
#camp-date{padding:5px 8px;font-size:12px}
.camp-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.camp-d{font-size:24px;font-weight:800;color:#6ee7a8}
.camp-date-l{font-size:12.5px;color:var(--muted)}
.camp-bar{height:8px;background:var(--panel2);border-radius:6px;overflow:hidden;margin-bottom:14px}
.camp-bar i{display:block;height:100%;background:linear-gradient(90deg,#34d399,#fbbf24);border-radius:6px;transition:.5s}
.camp-today-l{font-size:13px;font-weight:650;margin-bottom:8px}
.camp-tasks{display:flex;flex-direction:column;gap:7px;margin-bottom:12px}
.camp-task{display:flex;gap:9px;align-items:flex-start;font-size:13px;cursor:pointer;background:var(--panel2);border:1px solid var(--line);padding:9px 12px;border-radius:9px}
.camp-task input{margin-top:2px;accent-color:#34d399}
.camp-task.done span{text-decoration:line-through;color:var(--muted)}

/* 最上方行事曆 */
.cal-panel{margin:18px 18px 0}
.cal-nav{display:flex;align-items:center;gap:8px;font-size:13px}
.cal-nav button{background:var(--panel2);border:1px solid var(--line);color:var(--txt);border-radius:7px;cursor:pointer;padding:4px 10px;font-size:14px}
.cal-nav #cal-label{min-width:120px;text-align:center;color:var(--muted)}
.cal-views .tg{padding:5px 14px}
.cal-week{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.cal-wd{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:0;min-height:130px;overflow:hidden;display:flex;flex-direction:column}
.cal-wd.is-today{border-color:#fbbf24;box-shadow:0 0 0 1px #fbbf2455}
.cal-wd.is-weekend .cal-wd-h{color:#f0a3a3}
.cal-wd-h{font-size:12px;color:var(--txt);padding:8px 10px;font-weight:600;background:#1f242e;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline}
.cal-wd-h .wd-num{font-size:16px;font-weight:750}
.cal-wd.is-today .cal-wd-h{background:#2e2a18;color:#fbbf24}
.cal-wd-body{padding:7px;display:flex;flex-direction:column;gap:4px;flex:1}
.cal-wd-ev{font-size:10.5px;background:#1d2330;border-left:2px solid #60a5fa;border-radius:4px;padding:3px 6px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-wd-ev .evt{color:#fbbf24;font-weight:600;margin-right:3px}
.cal-wd-empty{font-size:10px;color:#454c58;text-align:center;margin-top:8px}
.cal-month{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.cal-mh{text-align:center;font-size:11px;color:var(--muted);padding:4px 0}
.cal-mc{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:5px 6px;min-height:74px;cursor:pointer;overflow:hidden}
.cal-mc.empty{background:transparent;border:0;cursor:default}
.cal-mc.is-today{border-color:#fbbf24}
.cal-mc:hover:not(.empty){border-color:#3a4150}
.cal-mc-n{font-size:11px;color:var(--muted);margin-bottom:3px}
.cal-mc-ev{font-size:9.5px;background:#1d2330;border-radius:4px;padding:2px 4px;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-mc-more{font-size:9px;color:var(--muted)}
@media(max-width:760px){.cal-mc{min-height:52px}.cal-mc-ev{display:none}.cal-wd{min-height:60px}}

/* VPS 系統 */
.vps-panel{margin:18px 18px 0}
.vps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.vpsc{background:var(--panel2);border:1px solid var(--line);border-radius:11px;padding:11px 13px;border-left:3px solid var(--running)}
.vpsc.off{border-left-color:var(--todo);opacity:.7}
.vps-n{font-weight:650;font-size:13px;display:flex;align-items:center;gap:7px}
.vps-meta{font-size:11px;color:var(--muted);margin-top:6px}
.vps-meta2{font-size:10.5px;color:#7f8a9c;margin-top:3px}
.vps-meta2 code{background:#0f1115;padding:1px 5px;border-radius:4px}
.vps-kind{font-size:9px;margin-left:6px;padding:1px 6px;border-radius:4px;background:#22262f;color:#9aa3b2}
.vps-kind.dk{background:#0b2a3a;color:#4db6e5}

/* 信件面板 */
.mail{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:8px}
.mail-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.mail-from{font-weight:650;font-size:12.5px}
.mail-kind{font-size:10px;padding:2px 8px;border-radius:5px;white-space:nowrap}
.mail-sub2{font-size:12px;color:#cfd4dc;margin-top:4px;line-height:1.4}
.mail-why{font-size:11px;color:var(--muted);margin-top:3px}

/* 即時 KPI 列 */
.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:18px 18px 0}
.kpi{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 16px;position:relative}
.kpi .k-l{font-size:11.5px;color:var(--muted)}
.kpi .k-v{font-size:24px;font-weight:750;margin-top:4px;letter-spacing:.5px}
.kpi .k-s{font-size:11px;color:var(--muted);margin-top:3px}
.kpi.off{opacity:.5}
.kpi .live-dot{position:absolute;top:14px;right:14px;width:7px;height:7px;border-radius:50%;background:var(--running);box-shadow:0 0 8px var(--running)}
.kpi.off .live-dot{background:var(--muted);box-shadow:none}

/* 秘書建議 */
.secretary{margin:18px;background:linear-gradient(135deg,#1a1d24,#15171c);border-color:#2c313c}
.sec-list{display:flex;flex-direction:column;gap:10px}
.sec-item{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;background:var(--panel2);
  border:1px solid var(--line);border-radius:12px}
.sec-item .pri{font-size:11px;font-weight:700;padding:3px 8px;border-radius:6px;white-space:nowrap}
.pri.high{background:#3a1d1d;color:#fca5a5} .pri.med{background:#3a311a;color:#fcd34d} .pri.low{background:#1d2a3a;color:#93c5fd}
.sec-item .body{flex:1}
.sec-item .why{color:var(--muted);font-size:12px;margin-top:3px}

/* 系統地圖 */
.cat{margin-bottom:18px}
.cat-h{font-size:13px;color:var(--muted);margin:0 0 10px;font-weight:600}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.card{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:12px 14px;
  position:relative;transition:.15s;cursor:default}
.card:hover{border-color:#3a4150;transform:translateY(-2px)}
.card .name{font-weight:650;font-size:13.5px;display:flex;align-items:center;gap:7px}
.card .desc{color:var(--muted);font-size:11.5px;margin-top:5px;line-height:1.45}
.card .trig{margin-top:8px;font-size:11px;color:#9aa3b2}
.dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex:none}
.dot.running{background:var(--running);box-shadow:0 0 8px var(--running)}
.dot.manual{background:var(--manual)} .dot.live{background:var(--live)} .dot.todo{background:var(--todo)}
.legend{display:flex;gap:14px;font-size:11.5px;color:var(--muted)}
.legend i{margin-right:5px}

/* OKR */
.kr{margin-bottom:14px}
.obj-t{font-weight:650;font-size:13px;margin:14px 0 8px}
.kr-l{display:flex;justify-content:space-between;font-size:12.5px;margin-bottom:5px}
.kr-l b{color:var(--muted);font-weight:500}
.bar{height:7px;background:var(--panel2);border-radius:6px;overflow:hidden}
.bar i{display:block;height:100%;background:linear-gradient(90deg,#34d399,#60a5fa);border-radius:6px;transition:.4s}

/* 行事曆事件 */
#cal-live{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.cal-ev{font-size:12.5px;padding:7px 10px;background:var(--panel2);border:1px solid var(--line);border-radius:8px}
.cal-ev b{color:#fbbf24;margin-right:4px}

/* 待辦 */
.todos{list-style:none;margin:8px 0 0;padding:0}
.todos li{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--line)}
.todos input{margin-top:2px;accent-color:#34d399}
.todos .t-txt{flex:1;font-size:13px}
.todos .done{text-decoration:line-through;color:var(--muted)}
.todos .badge{font-size:10px;padding:2px 6px;border-radius:5px;background:var(--panel2);color:var(--muted)}

/* 記憶中樞 */
.src-chips{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}
.src-chip{background:var(--panel2);border:1px solid var(--line);color:var(--muted);font-size:12px;
  padding:5px 12px;border-radius:20px;cursor:pointer}
.src-chip.on{background:#2a2f3a;color:var(--txt);border-color:#3a4150}
.mem.src-codex{border-left:3px solid #34d399} .mem.src-antigravity{border-left:3px solid #a78bfa}
.mem.src-claude{border-left:3px solid #60a5fa}
.search{width:100%;padding:9px 12px;background:var(--panel2);border:1px solid var(--line);
  border-radius:10px;color:var(--txt);font-size:13px;margin-bottom:12px}
.mem-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;max-height:340px;overflow:auto}
.mem{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.mem .m-n{font-size:12.5px;font-weight:600;display:flex;gap:6px;align-items:center}
.mem .m-d{color:var(--muted);font-size:11px;margin-top:4px;line-height:1.4}
.mem .m-type{font-size:9.5px;padding:1px 6px;border-radius:5px;background:#22262f;color:#9aa3b2;text-transform:uppercase}

.dot.planned{background:#a78bfa;box-shadow:none}
.cat-d{font-size:11px;color:var(--muted);font-weight:400;margin-left:6px}
.focus-tag{font-size:10px;background:#3a311a;color:#fcd34d;padding:1px 7px;border-radius:5px;font-weight:600}
.card-foot{margin-top:8px;display:flex;align-items:center}
.open-link{font-size:11px;color:#93c5fd;text-decoration:none;border:1px solid #2c4a6a;background:#1d2a3a;padding:3px 9px;border-radius:6px}
.open-link:hover{border-color:#3b82f6}
.notlive{font-size:10.5px;color:var(--muted);background:var(--panel2);border:1px solid var(--line);padding:3px 8px;border-radius:6px}
.hrow{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.toggle{display:flex;background:var(--panel2);border:1px solid var(--line);border-radius:9px;overflow:hidden}
.tg{background:transparent;border:0;color:var(--muted);font-size:12px;padding:6px 12px;cursor:pointer}
.tg.on{background:#2a2f3a;color:var(--txt)}
.card{cursor:pointer}
.card .sched{margin-top:7px;font-size:10.5px;color:#7f8a9c;display:flex;align-items:center;gap:4px}
/* 服務徽章 */
.svc-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.svc{font-size:10.5px;padding:3px 7px;border-radius:6px;border:1px solid var(--line);
  display:inline-flex;align-items:center;gap:4px;white-space:nowrap;color:#cfd4dc}
.svc i{font-style:normal;font-size:11px}
.svc.more{color:var(--muted);background:var(--panel2)}
.modal .svc{font-size:12px;padding:5px 10px}

/* 魚骨圖 */
.fish{margin-top:6px}
.fish-spine{display:flex;flex-direction:column;gap:14px}
.bone{border-left:3px solid #3a4150;padding:4px 0 4px 16px;position:relative}
.bone::before{content:'';position:absolute;left:-7px;top:14px;width:11px;height:11px;border-radius:50%;background:#fbbf24}
.bone-h{font-weight:700;font-size:14px;margin-bottom:3px}
.bone-d{color:var(--muted);font-size:11.5px;margin-bottom:9px}
.bone .cards{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}

/* 真·魚骨圖(三層:事業主骨 → 板塊分支 → 系統葉子) */
.fb2{position:relative;margin:14px 0 6px;padding:64px 0 10px}
.fb2-spine{position:absolute;left:50%;top:54px;bottom:0;width:3px;transform:translateX(-50%);
  background:linear-gradient(#fbbf24,#3a4150 70px,#3a4150);border-radius:3px;z-index:0}
.fb2-head{position:absolute;left:50%;top:0;transform:translateX(-50%);background:#1f2530;
  border:1.5px solid #fbbf24;border-radius:12px;padding:8px 18px;font-weight:800;font-size:15px;
  text-align:center;line-height:1.3;z-index:2;box-shadow:0 0 0 5px var(--panel)}
.fb2-head span{font-size:12px;color:#fbbf24;font-weight:600}
.fb2-row{position:relative;display:flex;margin:14px 0;z-index:1}
.fb2-row.left{justify-content:flex-start;padding-right:calc(50% + 26px)}
.fb2-row.right{justify-content:flex-end;padding-left:calc(50% + 26px)}
/* 脊椎上的節點 */
.fb2-node{position:absolute;left:50%;top:26px;width:13px;height:13px;border-radius:50%;
  background:#3a4150;border:2px solid var(--panel);transform:translateX(-50%);z-index:2}
.fb2-node.focus{background:#fbbf24;box-shadow:0 0 10px #fbbf2480}
/* 連到脊椎的斜骨 */
.fb2-row.left .fb2-card::after,.fb2-row.right .fb2-card::after{content:'';position:absolute;top:24px;
  width:26px;height:2px;background:#3a4150}
.fb2-row.left .fb2-card::after{right:-26px}
.fb2-row.right .fb2-card::after{left:-26px}
.fb2-card{position:relative;width:100%;max-width:560px;background:var(--panel2);
  border:1px solid var(--line);border-radius:13px;padding:12px 14px}
.fb2-card.is-focus{border-color:#5b4a1e;background:linear-gradient(150deg,#1f1e15,var(--panel2))}
.fb2-bh{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}
.fb2-icon{font-size:22px;line-height:1}
.fb2-tt{flex:1;min-width:0}
.fb2-name{font-weight:700;font-size:14.5px}
.fb2-star{font-size:10px;color:#fbbf24;border:1px solid #5b4a1e;border-radius:5px;padding:1px 5px;margin-left:5px;vertical-align:middle}
.fb2-desc{color:var(--muted);font-size:11px;margin-top:2px}
.fb2-tally{display:flex;gap:6px;flex-wrap:wrap}
.fb2-pip{display:flex;align-items:center;gap:3px;font-size:11px;color:var(--muted)}
/* 分支(板塊) */
.fb2-branches{display:flex;flex-direction:column;gap:8px}
.fb2-branch{border-left:2px solid #2c313c;padding:2px 0 2px 12px;position:relative}
.fb2-branch::before{content:'';position:absolute;left:-5px;top:9px;width:8px;height:8px;border-radius:50%;background:#3a4150}
.fb2-brh{font-size:11.5px;color:#c3cad6;font-weight:600;margin-bottom:5px}
.fb2-bri{margin-right:4px}
.fb2-brh b{color:var(--muted);font-weight:600}
.fb2-leaves{display:flex;flex-wrap:wrap;gap:5px}
.fb2-leaf{font-size:11px;background:#1f242e;border:1px solid var(--line);border-radius:7px;
  padding:4px 8px;cursor:pointer;display:flex;align-items:center;gap:5px}
.fb2-leaf:hover{border-color:#3a4150;background:#252b36}
@media(max-width:760px){
  .fb2{padding-top:60px}
  .fb2-spine,.fb2-node,.fb2-card::after{display:none}
  .fb2-row,.fb2-row.left,.fb2-row.right{padding:0;margin:10px 0}
  .fb2-card{max-width:none}
}

/* 記憶關係圖(力導向知識網) */
.mem-views{margin-right:6px}
.mw-stat{font-size:12.5px;color:var(--muted);margin-bottom:8px}
.mw-stat b{color:#fbbf24}
.mw-legend{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:10px}
.mw-lgt{font-size:11px;color:#6b7280}
.mw-lg{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:5px}
.mw-lg i{width:9px;height:9px;border-radius:50%;display:inline-block}
.mw-lg i.mw-zsw{width:14px;height:10px;border-radius:3px;border:1px solid}
.mw-zlabel{font-size:11px;font-weight:700;letter-spacing:.5px;pointer-events:none;
  paint-order:stroke;stroke:#0c0d10;stroke-width:3px;opacity:.9}
.mw-card{background:radial-gradient(circle at 50% 40%,#13161c,#0e1014);
  border:1px solid var(--line);border-radius:14px;padding:6px}
.mw-svg{width:100%;height:auto;display:block}
.mw-lbl{fill:#cfd6e0;font-size:9px;font-family:inherit;pointer-events:none;paint-order:stroke;
  stroke:#0c0d10;stroke-width:2.5px}
.mw-node circle{transition:r .12s}
.mw-node:hover circle{stroke:#fff;stroke-width:2.5}
.mw-hint{font-size:11px;color:var(--muted);text-align:center;padding:6px 0 2px}
.mw-sec{font-size:12.5px;color:var(--muted);margin:18px 0 9px;font-weight:600}
.mw-singles{display:flex;flex-wrap:wrap;gap:6px}
.mw-single{font-size:11px;background:var(--panel2);border:1px solid var(--line);border-radius:7px;
  padding:4px 9px;cursor:pointer;display:flex;align-items:center;gap:6px;color:var(--muted)}
.mw-single:hover{border-color:#3a4150;color:var(--txt)}
.mw-single i{width:7px;height:7px;border-radius:50%;display:inline-block}

/* 系統整合 */
.int-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:10px}
.int{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:13px 15px;position:relative}
.int.st-partial{border-left:3px solid var(--manual)} .int.st-idea{border-left:3px solid var(--live)} .int.st-done{border-left:3px solid var(--running)}
.int-h{display:flex;justify-content:space-between;align-items:center;gap:8px}
.int-t{font-weight:700;font-size:13.5px} .int-impact{color:#fbbf24;font-size:11px}
.int-sys{font-size:11px;color:#93c5fd;margin:6px 0}
.int-now{font-size:11.5px;color:var(--muted);line-height:1.5}
.int-do{font-size:12.5px;color:var(--txt);margin-top:6px;line-height:1.55}
.int-badge{display:inline-block;margin-top:9px;font-size:10px;padding:2px 8px;border-radius:5px;background:#22262f;color:#9aa3b2}

/* OKR 編輯 */
.okr-in{background:#0f1115;border:1px solid var(--line);color:var(--txt);border-radius:7px;padding:6px 9px;font-size:12.5px}
.okr-in.obj{flex:1;font-weight:600} .okr-in.num{width:64px} .okr-in.unit{width:54px}
.okr-edit-q{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:12px;color:var(--muted)}
.okr-obj{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:10px;margin-bottom:10px}
.okr-row{display:flex;gap:8px;margin-bottom:8px}
.okr-kr-edit{display:flex;gap:6px;align-items:center;margin-bottom:6px;flex-wrap:wrap}
.okr-kr-edit .sep{color:var(--muted)}
.okr-del{background:#2a1a1a;border:1px solid #3a2424;color:#fca5a5;border-radius:7px;padding:6px 9px;font-size:11px;cursor:pointer;white-space:nowrap}
.okr-del.sm{padding:6px 8px}
.okr-add{background:#1a2230;border:1px dashed #2c3a4a;color:#93c5fd;border-radius:7px;padding:7px 10px;font-size:12px;cursor:pointer;margin-top:4px}
.okr-add.big{width:100%;margin-top:6px}
.m-point{font-size:13.5px;background:var(--panel2);padding:10px 13px;border-radius:9px;border-left:3px solid #fbbf24}
.m-int{font-size:12.5px;color:#d4d8de;line-height:1.5;padding:8px 11px;background:#1a2230;border-radius:8px;margin-bottom:6px}
.m-toggle{margin-top:16px;background:var(--panel2);border:1px solid var(--line);color:var(--muted);font-size:12px;padding:6px 11px;border-radius:8px;cursor:pointer}
.m-acts{display:flex;gap:8px;margin:14px 0;flex-wrap:wrap}
.m-acts .save-btn{background:#16321f;border-color:#235c39;color:#6ee7a8}
.m-saved{background:#16321f;color:#6ee7a8;font-size:12px;padding:8px 12px;border-radius:8px;margin:8px 0}
.sys-edit{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.se-row{display:flex;flex-direction:column;gap:4px}
.se-row label{font-size:11.5px;color:var(--muted)}
.sys-edit textarea,.sys-edit input,.sys-edit select{font-family:inherit}
.se-svc-l{font-size:11.5px;color:var(--muted);display:block;margin:8px 0 6px}
.se-svc{display:flex;flex-wrap:wrap;gap:6px}
.se-svc-chip{font-size:11px;padding:4px 9px;border-radius:7px;border:1px solid var(--line);background:var(--panel2);color:var(--muted);cursor:pointer}
.se-svc-chip.on{border-color:#60a5fa;background:#1d2330;color:#cfd4dc}

/* 未完成 / 創業 */
.unf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.unf{background:var(--panel2);border:1px solid var(--line);border-left:3px solid var(--todo);border-radius:10px;padding:12px 14px;cursor:pointer}
.unf.planned{border-left-color:#a78bfa}
.unf .u-n{font-weight:650;font-size:13px}
.unf .u-s{font-size:11px;color:var(--muted);margin-top:5px;line-height:1.45}
.unf .u-tag{font-size:10px;margin-top:8px;display:inline-block;padding:2px 7px;border-radius:5px;background:#3a1d1d;color:#fca5a5}
.unf.planned .u-tag{background:#2a2342;color:#c4b5fd}

.ven-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}
.ven{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.ven .v-h{display:flex;justify-content:space-between;align-items:center;gap:8px}
.ven .v-n{font-weight:700;font-size:14px}
.ven .v-stage{font-size:10px;padding:2px 8px;border-radius:6px;white-space:nowrap}
.stage-idea{background:#2a2f3a;color:#9aa3b2} .stage-spec{background:#2a2342;color:#c4b5fd}
.stage-building{background:#3a311a;color:#fcd34d} .stage-piloting{background:#1d2a3a;color:#93c5fd} .stage-live{background:#16321f;color:#6ee7a8}
.ven .v-m{font-size:12px;color:var(--txt);margin-top:8px;line-height:1.5}
.ven .v-next{font-size:11.5px;color:var(--muted);margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}
.ven .v-next b{color:#fbbf24;font-weight:600}

/* modal */
.modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.65);backdrop-filter:blur(4px);display:none;
  align-items:center;justify-content:center;z-index:50;padding:20px}
.modal-bg.on{display:flex}
.modal{background:var(--panel);border:1px solid var(--line);border-radius:18px;max-width:640px;width:100%;
  max-height:85vh;overflow:auto;padding:26px 28px;position:relative}
.modal-x{position:absolute;top:16px;right:18px;background:var(--panel2);border:1px solid var(--line);
  color:var(--txt);width:30px;height:30px;border-radius:8px;cursor:pointer;font-size:14px}
.modal h3{margin:0 0 4px;font-size:20px;display:flex;align-items:center;gap:9px}
.modal .m-meta{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 16px}
.modal .chip{font-size:11px;padding:4px 10px;border-radius:7px;background:var(--panel2);border:1px solid var(--line);color:var(--muted)}
.modal .m-intro{font-size:14px;line-height:1.7;background:var(--panel2);padding:14px 16px;border-radius:12px;margin-bottom:16px}
.modal .m-sec-t{font-size:12px;color:var(--muted);margin:14px 0 8px;font-weight:600}
.modal .m-body{font-size:13px;line-height:1.7;white-space:pre-wrap;color:#d4d8de}
.modal .m-links{display:flex;flex-wrap:wrap;gap:7px;margin-top:6px}
.modal .m-link{font-size:12px;padding:5px 10px;border-radius:8px;background:#1d2330;border:1px solid #2c3444;color:#93c5fd;cursor:pointer}
.modal .m-link:hover{border-color:#3b82f6}

.mini{background:var(--panel2);border:1px solid var(--line);color:var(--txt);font-size:12px;
  padding:5px 10px;border-radius:8px;cursor:pointer;text-decoration:none;display:inline-block;margin-left:6px}
.mini:hover{border-color:#3a4150}
.foot{text-align:center;color:var(--muted);font-size:11.5px;padding:20px}
