/* ══════════════════════════════════════════════════════════════════
   Odysec — 文件頁樣式（服務條款、隱私政策、404）
   與首頁同一套設計語言：等寬用於 UI 與標題，內文用無襯線以利閱讀。
   純 CSS，無外部資源（站台 CSP 為 default-src 'none'）。
   ══════════════════════════════════════════════════════════════════ */
:root{
  --bg:#07090a; --bg-2:#0c1113; --panel:#0e1417;
  --line:#1b2429; --line-2:#26333a;
  --fg:#dde5e9; --dim:#8b9aa4; --faint:#5a6a74;
  --accent:#4ec9a0; --accent-dim:#2a7f66; --accent-2:#57b8d8;
  --warn:#d9a441; --alert:#e0685c;
  --shadow:0 22px 60px -34px rgba(0,0,0,.95);
  --mono:"JetBrains Mono","IBM Plex Mono","SF Mono","Cascadia Mono",Consolas,
         "DejaVu Sans Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --sans:"Noto Sans TC","PingFang TC","Microsoft JhengHei","Hiragino Sans",
         system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;
  scrollbar-color:var(--line-2) var(--bg);scrollbar-width:thin}
body{
  margin:0;background:var(--bg);color:var(--fg);
  font-family:var(--sans);font-size:15px;line-height:1.95;
  -webkit-font-smoothing:antialiased;
  background-image:
    linear-gradient(var(--line) 1px,transparent 1px),
    linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:64px 64px;background-position:-1px -1px;
}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(ellipse 54% 34% at 26% 0%,rgba(78,201,160,.06),transparent 62%),
    radial-gradient(ellipse 120% 60% at 50% 0%,transparent 0%,var(--bg) 68%);
}
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.032;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");
}
.wrap{position:relative;z-index:1;max-width:800px;margin:0 auto;padding:0 24px}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}
::selection{background:rgba(78,201,160,.26);color:#fff}
code{font-family:var(--mono);font-size:.88em;background:var(--bg-2);
  border:1px solid var(--line);padding:1px 6px;border-radius:3px}
strong{color:var(--fg);font-weight:600}

/* ── 頂列 ── */
header{position:sticky;top:0;z-index:20;background:rgba(7,9,10,.86);
  backdrop-filter:blur(12px) saturate(140%);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;
  min-height:60px;gap:18px;max-width:800px;margin:0 auto;padding:0 24px}
.brand{font-family:var(--mono);font-weight:700;font-size:15px;letter-spacing:.06em;
  color:var(--fg);display:flex;align-items:center}
.brand:hover{text-decoration:none}
.brand .mk{width:15px;height:15px;border:1.5px solid var(--accent);margin-right:9px;
  position:relative;flex:0 0 auto;transition:box-shadow .25s}
.brand .mk::after{content:"";position:absolute;inset:4px;background:var(--accent)}
.brand:hover .mk{box-shadow:0 0 0 3px rgba(78,201,160,.12),0 0 14px rgba(78,201,160,.35)}
.brand b{color:var(--accent)}
nav{display:flex;gap:2px;font-family:var(--mono);font-size:12.5px;flex-wrap:wrap}
nav a{position:relative;color:var(--dim);padding:6px 11px;border-radius:3px;
  transition:color .18s,background .18s}
nav a::after{content:"";position:absolute;left:11px;right:11px;bottom:2px;height:1px;
  background:var(--accent);transform:scaleX(0);transform-origin:left;
  transition:transform .22s cubic-bezier(.2,.7,.2,1)}
nav a:hover{color:var(--accent);background:rgba(78,201,160,.06);text-decoration:none}
nav a:hover::after{transform:scaleX(1)}

/* ── 標題 ── */
h1{font-family:var(--mono);font-size:27px;margin:56px 0 6px;font-weight:700;
  letter-spacing:-.02em;display:flex;align-items:center;gap:12px}
h1::before{content:"";width:5px;height:26px;flex:0 0 auto;
  background:linear-gradient(180deg,var(--accent),var(--accent-dim));
  box-shadow:0 0 18px -2px rgba(78,201,160,.55)}
.updated{color:var(--faint);font-size:12.5px;font-family:var(--mono);
  margin:0 0 40px;letter-spacing:.03em}
h2{font-family:var(--mono);font-size:16.5px;margin:46px 0 14px;font-weight:700;
  padding-top:22px;border-top:1px solid var(--line);letter-spacing:-.01em;
  scroll-margin-top:78px}
h3{font-family:var(--mono);font-size:14.5px;margin:26px 0 8px;font-weight:700;
  color:var(--accent)}
p{margin:0 0 15px;color:var(--dim)}

/* ── 清單 ── */
ul{padding:0;list-style:none;margin:14px 0}
ul li{color:var(--dim);margin:10px 0;padding-left:24px;position:relative}
ul li::before{content:"▸";position:absolute;left:4px;color:var(--faint);
  font-size:11px;top:.45em;line-height:1}
ol{padding-left:26px;margin:14px 0;color:var(--dim)}
ol li{margin:10px 0;padding-left:4px}
ol li::marker{color:var(--accent);font-family:var(--mono);font-weight:700}

/* ── 表格 ── */
table{width:100%;border-collapse:separate;border-spacing:0;margin:20px 0;
  font-size:14px;border:1px solid var(--line);border-radius:5px;overflow:hidden;
  background:var(--panel);box-shadow:var(--shadow)}
th,td{text-align:left;padding:11px 15px;vertical-align:top;color:var(--dim);
  border-bottom:1px solid var(--line)}
th{background:var(--bg-2);color:var(--fg);font-weight:700;
  font-family:var(--mono);font-size:12.5px;letter-spacing:.04em}
tr:last-child td{border-bottom:0}
tbody tr{transition:background .18s}
tbody tr:hover td{background:rgba(255,255,255,.014)}
td+td,th+th{border-left:1px solid var(--line)}

/* ── 提示框 ── */
.note{position:relative;border:1px solid var(--line);
  background:linear-gradient(90deg,rgba(217,164,65,.05),transparent 42%),var(--bg-2);
  border-left:2px solid var(--warn);padding:17px 22px;margin:22px 0;
  border-radius:0 5px 5px 0;color:var(--dim);font-size:14.5px}
.note strong{display:block;margin-bottom:5px;color:var(--fg);
  font-family:var(--mono);font-size:13.5px}

/* ── 頁尾 ── */
footer{margin-top:60px;padding:26px 0 60px;border-top:1px solid var(--line);
  color:var(--faint);font-size:12.5px;font-family:var(--mono)}
footer a{color:var(--dim);margin-right:20px}
footer a:hover{color:var(--accent)}

/* ── 404 ── */
.center{text-align:center;padding-top:16vh}
.center h1{justify-content:center;font-size:58px;color:var(--faint);
  letter-spacing:-.03em}
.center h1::before{display:none}

/* 文件頁不做整頁進場動畫：條款與政策是要被讀的，不是要被表演的，
   淡入只會讓內容有一瞬間空白。互動回饋（hover／focus）保留。 */
@media print{
  body::before,body::after{display:none!important}
  header{position:static}
  *{transition:none!important;animation:none!important}
}
