/* 會員中心與登入註冊頁共用（靶道牆風格，Tina 2026-11-12 定）。這兩區不載 site.css，基本樣式都在這裡。
   數值來源：官網 site/public/sx/css/site.css（body.f1 色票、主按鈕）、overrides.css（水泥標題字）、leaderboard.css（評級章、LED 面板）。
   尺寸單位 --u：以 1920×1080 為 1，頭盔 1280×720 為 0.667。字級另設下限：內文 18px、小標籤 14px（Meta 官方建議）。 */
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#15140f;--bg2:#1d1c17;--bg3:#25251f;--bg4:#2e2d27;--bg5:#3a3a33;
  --text:#ece6d8;--text2:#b8b1a2;--line:rgba(236,230,216,.22);
  --red:#d11f26;--gold:#e2b049;
  --font:Bahnschrift,"Segoe UI","Noto Sans TC","Microsoft JhengHei",Arial,sans-serif;
  --mono:Consolas,"Cascadia Mono","Courier New",monospace;
  --cond:"wght" 700,"wdth" 75;
  --u:min(calc(100vw / 1920),calc(100vh / 1080));
  --m:calc(48 * 100vw / 1920);   /* 左右邊距照寬度算：1920 寬 48、頭盔 1280 寬 32（頭盔要不要守 48 待 Tina 定） */
  --hd:max(56px,calc(76 * var(--u)));
  --f-lbl:max(14px,calc(16 * var(--u)));
  --f-body:max(18px,calc(20 * var(--u)));
  --f-h3:max(20px,calc(26 * var(--u)));
  --noise:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .5  0 0 0 0 .5  0 0 0 0 .5  0 0 0 .6 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}
/* 備用字預覽：網址加 ?ff=1，模擬頭盔瀏覽器沒有 Bahnschrift 時的樣子（Arial 只是近似，正式要在頭盔裡看） */
html.ff{--font:Arial,sans-serif;--mono:"Courier New",monospace}
html,body{height:100%}
body{font-family:var(--font);color:var(--text);background:var(--bg);overflow:hidden;font-size:var(--f-body);line-height:1.35}
a{color:inherit;text-decoration:none}
.lbl{font-size:var(--f-lbl);letter-spacing:.14em;text-transform:uppercase;color:var(--text2);white-space:nowrap}
.num{font-family:var(--mono);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.link{color:var(--text);border-bottom:2px solid var(--line);white-space:nowrap;font-size:var(--f-body)}
.page{height:100%;display:flex;flex-direction:column}

/* 頁首：logo｜選單（選中＝紅底線）｜主按鈕｜帳號 */
.hd{flex:none;height:var(--hd);display:flex;align-items:center;gap:calc(40 * var(--u));padding:0 var(--m);position:relative;z-index:2}
.hd .logo{height:max(34px,calc(46 * var(--u)));flex:none}
.hd nav{display:flex;gap:max(4px,calc(8 * var(--u)));margin-left:calc(24 * var(--u));height:100%}
.hd nav a{position:relative;display:flex;align-items:center;padding:0 max(12px,calc(16 * var(--u)));font-size:max(17px,calc(19 * var(--u)));letter-spacing:.06em;text-transform:uppercase;font-variation-settings:"wght" 600,"wdth" 85;color:var(--text2);white-space:nowrap}
.hd nav a.on{color:#fff}
.hd nav a.on::after{content:"";position:absolute;left:max(12px,calc(16 * var(--u)));right:max(12px,calc(16 * var(--u)));bottom:0;height:3px;background:var(--red)}
.hd .sp{flex:1}
.btn{display:inline-flex;align-items:center;justify-content:center;height:max(44px,calc(56 * var(--u)));padding:0 max(22px,calc(32 * var(--u)));font-size:max(18px,calc(20 * var(--u)));letter-spacing:.04em;white-space:nowrap;text-transform:uppercase;font-variation-settings:"wght" 700,"wdth" 85;cursor:pointer;font-family:var(--font)}
/* 主按鈕：照官網紅色拉絲（site.css 261） */
.btn.p{color:#fff;border:1px solid #6e0b10;background:repeating-linear-gradient(180deg,rgba(255,255,255,.05) 0 1px,transparent 1px 3px),linear-gradient(180deg,#f2555a 0%,#d32730 42%,#a8141b 58%,#c92229 100%);box-shadow:inset 0 1px 0 rgba(255,220,215,.6),inset 0 -2px 0 rgba(0,0,0,.35),0 6px 16px rgba(0,0,0,.45);text-shadow:0 1px 0 rgba(0,0,0,.45)}
.acct{background:transparent;font-family:var(--font);cursor:pointer;display:flex;align-items:center;gap:10px;height:max(44px,calc(56 * var(--u)));padding:0 14px 0 6px;border:2px solid var(--line);color:var(--text);font-size:var(--f-body);white-space:nowrap}
.acct .av{width:max(32px,calc(40 * var(--u)));height:max(32px,calc(40 * var(--u)))}
.acct.noav{padding-left:14px}   /* 頭像方格暫時拿掉時（member.js PHOTO=false，Tina 2026-11-12），左邊距跟右邊一樣 */
.acct svg{width:14px;height:14px;opacity:.8}

/* 頭像：完整正方形、名字縮寫（Tina 2026-11-12 01:00：不切角） */
.av{flex:none;display:flex;align-items:center;justify-content:center;background:var(--bg5);color:var(--text);font-weight:700;letter-spacing:.02em}
.acct.on{border-color:rgba(236,230,216,.5);box-shadow:inset 0 -3px 0 var(--red)}

/* 水泥斑點標題字（照官網 overrides.css 203–209，含字頭不被切的 padding 修正） */
.tt{font-variation-settings:var(--cond);line-height:.95;white-space:nowrap;
  background:url(../img/title-concrete.jpg) 0 0/440px auto repeat;-webkit-background-clip:text;background-clip:text;color:transparent;
  -webkit-mask-image:url(../img/title-concrete-mask.png);mask-image:url(../img/title-concrete-mask.png);
  -webkit-mask-size:440px auto;mask-size:440px auto;-webkit-mask-repeat:repeat;mask-repeat:repeat;
  padding-top:.2em;margin-bottom:-.2em;position:relative;top:-.2em}

/* 圓形金屬評級章（照 leaderboard.css .coin；六色沿用 VR 結算面板） */
.coin{--s:40px;position:relative;flex:none;display:inline-flex;align-items:center;justify-content:center;width:var(--s);height:var(--s);border-radius:50%;
  background:radial-gradient(circle at 50% 50%,#24272d 0,#15171b calc(var(--s) * .37),transparent calc(var(--s) * .37 + .5px)),
    radial-gradient(circle at 50% 50%,transparent calc(var(--s) * .37 + .5px),rgba(0,0,0,.55) calc(var(--s) * .37 + 1.5px),transparent calc(var(--s) * .37 + 3px)),
    conic-gradient(from 0deg,rgba(255,255,255,.28) 0deg,rgba(255,255,255,.05) 70deg,rgba(0,0,0,.38) 135deg,rgba(0,0,0,.05) 200deg,rgba(255,255,255,.5) 300deg,rgba(255,255,255,.28) 360deg),
    var(--gc);
  box-shadow:0 0 0 1.5px #0a0c0f,0 0 0 2.5px rgba(255,255,255,.1),0 4px 8px rgba(0,0,0,.6),inset 0 1px 1px rgba(255,255,255,.45),inset 0 -1px 1px rgba(0,0,0,.35)}
.coin b{font-family:var(--font);font-size:calc(var(--s) * .4);font-weight:800;line-height:1;color:#e9edf1;text-shadow:0 -1px 0 rgba(0,0,0,.9),0 1px 0 rgba(255,255,255,.12)}

/* LED 讀數面板（照 leaderboard.css .cd：深色內凹、切角、紅 LED、淡淡的 8 底影） */
.led-box{position:relative;background:#050607;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07),inset 0 10px 24px rgba(0,0,0,.9);
  clip-path:polygon(16px 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%,0 16px)}
.led{position:relative;display:inline-block;font-family:var(--mono);font-weight:700;line-height:1;font-variant-numeric:tabular-nums}
.led .gh{color:rgba(255,59,59,.08)}
.led b{position:absolute;right:0;top:0;color:#ff3b3b;text-shadow:0 0 14px rgba(255,40,40,.5)}

.acct #hnick{max-width:max(140px,calc(200 * var(--u)));overflow:hidden;text-overflow:ellipsis}

/* ===== 靶道牆元件：牆、金屬牌、木框黑板、計時器、便條、星星、徽章、表單 ===== */
@font-face{font-family:"SX Hand";src:url(font/ArchitectsDaughter-Regular.woff) format("woff")}
:root{--g:max(16px,calc(24 * var(--u)));--chalk:#f3f0e8;--chalk2:rgba(243,240,232,.82);--hand:"SX Hand",var(--font);
  --pt:#ece8df;--pt2:#bdb8ac;--pl:rgba(236,232,223,.35)}
/* 牆：清水模細砂（清楚的細顆粒、幾乎沒有色塊，Tina 2026-11-12 選） */
.w4{background:radial-gradient(ellipse at 50% 35%,transparent 55%,rgba(0,0,0,.18) 100%),url(img/wall-concrete.svg) 0 0/calc(960 * var(--u)) calc(540 * var(--u)) repeat;background-color:#5c584f}
.w4 .hd{background:var(--bg);box-shadow:0 1px 0 var(--line),0 6px 18px rgba(0,0,0,.35)}
.wall{flex:1;min-height:0;display:flex;flex-direction:column;gap:var(--g);padding:max(16px,calc(32 * var(--u))) var(--m)}
.num,.n{font-family:var(--mono);font-weight:700;font-variant-numeric:tabular-nums}
.hand{font-family:var(--hand);letter-spacing:.02em}
.nd{font-family:var(--font);font-weight:700;letter-spacing:0}

/* ===== 金屬牌：噴砂黑陽極（霧黑、細顆粒、切角亮邊） ===== */
.plates{flex:none;display:flex;gap:max(10px,calc(16 * var(--u)))}
.plate{position:relative;display:flex;align-items:center;gap:max(10px,calc(16 * var(--u)));padding:max(10px,calc(14 * var(--u))) max(14px,calc(24 * var(--u)));
  --cc:max(6px,calc(10 * var(--u)));clip-path:polygon(var(--cc) 0,calc(100% - var(--cc)) 0,100% var(--cc),100% calc(100% - var(--cc)),calc(100% - var(--cc)) 100%,var(--cc) 100%,0 calc(100% - var(--cc)),0 var(--cc));
  color:var(--pt);filter:drop-shadow(0 8px 14px rgba(0,0,0,.35));isolation:isolate}
.plate::before{content:"";position:absolute;inset:0;z-index:-1;clip-path:inherit;background:
  url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='s'><feTurbulence type='fractalNoise' baseFrequency='1.6' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .16 0'/></filter><rect width='100%' height='100%' filter='url(%23s)'/></svg>"),
  linear-gradient(180deg,#323335 0%,#26272a 50%,#1f2023 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 -1px 0 rgba(0,0,0,.7),inset 1px 0 0 rgba(255,255,255,.08),inset -1px 0 0 rgba(0,0,0,.5)}
.plate .lbl{color:var(--pt2)}
.plate .link{color:var(--pt);border-bottom-color:var(--pl);font-size:max(16px,calc(18 * var(--u)))}
.plate .ttl{background:url(../img/title-concrete.jpg) 0 0/440px auto repeat;-webkit-background-clip:text;background-clip:text;color:transparent;font-variation-settings:var(--cond);line-height:1.12;white-space:nowrap}
.plate .av{width:max(44px,calc(60 * var(--u)));height:max(44px,calc(60 * var(--u)));font-size:max(17px,calc(22 * var(--u)));background:#141416}
/* 牌上的一格數字：小標＋大數字 */
.pv2{display:flex;flex-direction:column;gap:4px;white-space:nowrap}
.pv2 .v{display:flex;align-items:baseline;gap:8px}
.pv2 .v b{font-size:max(26px,calc(36 * var(--u)));line-height:1}
.pv2 .v small{font-size:var(--f-lbl);color:var(--pt2);font-family:var(--mono)}
/* 牌上的面包屑與分頁鈕 */
.crumb{display:flex;align-items:center;gap:10px;color:var(--pt2);font-size:var(--f-body);white-space:nowrap}
.crumb a{color:var(--pt);border-bottom:2px solid var(--pl)}

/* ===== 木框＋VR 黑板（VR 素材 blackboardInfo.png 縮成 1200×1200 的 blackboard.jpg） ===== */
.frame{min-height:0;min-width:0;display:flex;padding:max(10px,calc(16 * var(--u)));border-radius:2px;
  background:repeating-linear-gradient(90deg,rgba(60,35,15,.16) 0 2px,transparent 2px 7px,rgba(255,235,200,.05) 7px 8px,transparent 8px 13px),linear-gradient(180deg,#a7835a,#8a6843 50%,#7a5a38);
  box-shadow:inset 0 1px 0 rgba(255,240,210,.35),inset 0 -2px 0 rgba(0,0,0,.35),0 14px 30px rgba(0,0,0,.4)}
.board{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;padding:max(12px,calc(24 * var(--u))) max(16px,calc(32 * var(--u)));color:var(--chalk);
  /* VR 黑板圖上加一層深色，壓低粉筆擦痕（Tina 2026-11-12 01:35：白色痕跡干擾閱讀） */
  background:linear-gradient(rgba(33,33,31,.58),rgba(33,33,31,.58)),url(img/blackboard.jpg) 30% 20%/cover no-repeat,#2f2f2d;box-shadow:inset 0 0 0 1px rgba(0,0,0,.6),inset 0 6px 16px rgba(0,0,0,.45)}
.bh{display:flex;align-items:baseline;gap:max(12px,calc(20 * var(--u)));white-space:nowrap}
.bh .hand{font-size:max(24px,calc(34 * var(--u)))}
.bh .meta{color:var(--chalk2);font-size:var(--f-body)}
.bh .sp{flex:1}
/* 黑板上的表格：粉筆線、一般字型數字 */
.ctable{width:100%;border-collapse:collapse;font-size:var(--f-body);white-space:nowrap}
.ctable th{font-family:var(--hand);font-weight:400;color:var(--chalk2);text-align:left;font-size:max(16px,calc(19 * var(--u)));padding:0 max(8px,calc(12 * var(--u))) max(6px,calc(8 * var(--u)));border-bottom:2px solid rgba(243,240,232,.3)}
.ctable td{padding:0 max(8px,calc(12 * var(--u)));border-bottom:1.5px solid rgba(243,240,232,.1);height:max(38px,calc(52 * var(--u)))}
.ctable .r{text-align:right}
.ctable tr.sel td{background:rgba(242,194,90,.13)}
.ctable tr.sel td:first-child{box-shadow:inset 3px 0 0 #f2c25a}

/* ===== 計時器：切角機殼、金屬框、四顆內六角螺絲、七段 LED ===== */
.timer{flex:none;position:relative;padding:max(10px,calc(14 * var(--u))) max(12px,calc(18 * var(--u))) max(10px,calc(14 * var(--u)));
  --tc:max(8px,calc(14 * var(--u)));clip-path:polygon(var(--tc) 0,calc(100% - var(--tc)) 0,100% var(--tc),100% calc(100% - var(--tc)),calc(100% - var(--tc)) 100%,var(--tc) 100%,0 calc(100% - var(--tc)),0 var(--tc));
  background:linear-gradient(180deg,#3a3936 0%,#272624 50%,#1d1c1a 100%);filter:drop-shadow(0 14px 22px rgba(0,0,0,.45))}
.timer::before{content:"";position:absolute;inset:0;clip-path:inherit;box-shadow:inset 0 2px 0 rgba(255,255,255,.18),inset 0 -3px 0 rgba(0,0,0,.6);pointer-events:none}
.silk{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:max(6px,calc(10 * var(--u)));font-size:var(--f-lbl);letter-spacing:.18em;color:#bdb6a6;text-transform:uppercase;white-space:nowrap}
.silk .dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#e2b049;box-shadow:0 0 5px rgba(226,176,73,.8);margin-right:8px;vertical-align:1px}
.trow{display:flex;align-items:center;gap:max(10px,calc(16 * var(--u)))}
.bezel{flex:1;min-width:0;position:relative;padding:max(6px,calc(8 * var(--u)));background:linear-gradient(180deg,#5b5954,#2f2e2b 50%,#4a4844);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),inset 0 -1px 0 rgba(0,0,0,.6)}
.bezel .sc{position:absolute;width:max(9px,calc(11 * var(--u)));aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,#a5a29a,#4a4844 60%,#262523);box-shadow:inset 0 0 0 1px rgba(0,0,0,.5)}
.bezel .sc::after{content:"";position:absolute;inset:28%;background:#1a1918;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}
.bezel .sc:nth-child(1){left:2px;top:2px}.bezel .sc:nth-child(2){right:2px;top:2px}.bezel .sc:nth-child(3){left:2px;bottom:2px}.bezel .sc:nth-child(4){right:2px;bottom:2px}
.win{position:relative;overflow:hidden;padding:max(8px,calc(12 * var(--u))) max(12px,calc(18 * var(--u)));display:flex;justify-content:flex-end;align-items:flex-end;gap:max(6px,calc(10 * var(--u)));min-height:max(66px,calc(100 * var(--u)));
  background:radial-gradient(130% 150% at 50% 0%,#1d0a08 0%,#0b0403 72%);box-shadow:inset 0 4px 12px rgba(0,0,0,.95),inset 0 0 0 1px rgba(0,0,0,.9)}
.win::after{content:"";position:absolute;inset:0;background:linear-gradient(162deg,rgba(255,255,255,.12) 0%,rgba(255,255,255,.03) 34%,transparent 35%);pointer-events:none}
.win svg{height:max(46px,calc(72 * var(--u)));width:auto;display:block}
.win .unit{font-family:var(--mono);font-weight:700;font-size:var(--f-lbl);color:rgba(255,90,70,.75);letter-spacing:.08em}
.win .word{align-self:center;font-variation-settings:"wght" 700,"wdth" 75;font-size:max(30px,calc(48 * var(--u)));letter-spacing:.04em;color:#f0e6d0;line-height:1;text-align:right;white-space:nowrap}
.trow .coin{--s:max(56px,calc(84 * var(--u)))}
.tcap{display:flex;align-items:center;gap:10px;margin-top:max(8px,calc(12 * var(--u)));color:#d8d2c4;white-space:nowrap;font-size:max(16px,calc(18 * var(--u)))}
.tcap .sp{flex:1}
.tcap .stg{overflow:hidden;text-overflow:ellipsis;min-width:0}
.timer .link{color:#ece6d8;font-size:max(16px,calc(18 * var(--u)))}

/* ===== 便條（紙膠帶貼的小卡） ===== */
.tag{display:flex;flex-direction:column;gap:2px;padding:max(6px,calc(10 * var(--u))) max(10px,calc(14 * var(--u)));background:#d6c696;color:#2a251b;box-shadow:0 2px 4px rgba(0,0,0,.25)}
.tag small{font-size:max(14px,calc(15 * var(--u)));letter-spacing:.08em;text-transform:uppercase;color:#4a4234;white-space:nowrap}
.tag .n{font-size:max(22px,calc(28 * var(--u)));line-height:1.1}
.tag.t1{transform:rotate(-1.5deg)} .tag.t2{transform:rotate(1.2deg)} .tag.t3{transform:rotate(-.8deg)}

/* ===== 星星、模式徽章 ===== */
.stars{display:flex;gap:max(2px,calc(4 * var(--u)));flex-wrap:wrap;min-width:0;align-content:center}
.stars .st{width:max(20px,calc(30 * var(--u)));height:max(20px,calc(30 * var(--u)));flex:none}
.medal{display:block;width:100%;height:auto;filter:drop-shadow(0 2px 2px rgba(0,0,0,.6))}

/* 寬度不夠時的短字（.full 長字、.short 短字） */
.short{display:none}
@media (max-width:1500px){ .full{display:none} .short{display:inline} }

/* ===== 次要按鈕：槍灰金屬（整塊紅只給主按鈕） ===== */
.btn.s{color:var(--text);border:1px solid #121211;background:repeating-linear-gradient(180deg,rgba(255,255,255,.04) 0 1px,transparent 1px 3px),linear-gradient(180deg,#5a5853 0%,#3c3b37 45%,#2c2b28 55%,#38372f 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25),inset 0 -2px 0 rgba(0,0,0,.35),0 4px 10px rgba(0,0,0,.35);text-shadow:0 1px 0 rgba(0,0,0,.6)}
.btn[disabled]{opacity:.45;cursor:default}

/* ===== 表單：刻在金屬上的凹槽欄位 ===== */
.fld{display:flex;flex-direction:column;gap:6px;min-width:0}
.fld>span{font-size:var(--f-lbl);letter-spacing:.14em;text-transform:uppercase;color:var(--pt2);white-space:nowrap}
/* 輸入框：亮銀拉絲不鏽鋼、黑字，跟登入頁一致（Tina 2026-11-12）。
   瀏覽器自動填入時會強制拿掉底圖、塗淺藍白：用一層同色內陰影蓋住，所以被填入的框是平的銀色、沒有細拉絲紋（顏色相同） */
.inp{width:100%;height:max(44px,calc(56 * var(--u)));padding:0 max(12px,calc(16 * var(--u)));border:1px solid #050506;color:#17181a;caret-color:#17181a;font-family:var(--font);font-size:var(--f-body);
  background:repeating-linear-gradient(180deg,rgba(255,255,255,.18) 0 1px,rgba(0,0,0,.03) 1px 2px,transparent 2px 3px),linear-gradient(180deg,#d9dce0 0%,#c6cacf 50%,#bcc0c5 100%);
  box-shadow:inset 0 2px 4px rgba(0,0,0,.4),inset 0 -1px 0 rgba(255,255,255,.5),0 1px 0 rgba(255,255,255,.09)}
.inp::placeholder{color:#6a6e73}
.inp:focus{outline:2px solid #f2c25a;outline-offset:2px}
/* 不能改的欄位（國家、寄出驗證碼後的新信箱）：不畫框，跟「目前的信箱」(.ro) 同一種純文字（Tina 2026-11-12 選樣本 B） */
.inp[disabled]{background:none;border-color:transparent;box-shadow:none;padding-left:0;color:var(--pt);-webkit-text-fill-color:var(--pt);opacity:1;cursor:default}
select.inp{appearance:none;padding-right:40px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9'><path d='M1 1l6 6 6-6' fill='none' stroke='%2317181a' stroke-width='2'/></svg>") right 14px center/14px 9px no-repeat,linear-gradient(180deg,#d9dce0 0%,#c6cacf 50%,#bcc0c5 100%)}
select.inp option{color:#17181a;background:#e4e6e9}
.inp:-webkit-autofill,.inp:-webkit-autofill:hover,.inp:-webkit-autofill:focus{-webkit-text-fill-color:#17181a;caret-color:#17181a;
  box-shadow:inset 0 2px 4px rgba(0,0,0,.4),inset 0 -1px 0 rgba(255,255,255,.5),0 1px 0 rgba(255,255,255,.09),inset 0 0 0 200px #c8ccd1}
.fld .hint{font-size:var(--f-lbl);color:var(--pt2);letter-spacing:0;text-transform:none}
.fld .err{font-size:var(--f-lbl);color:#ff8a80;letter-spacing:0;text-transform:none}
.fld.bad .inp{border-color:#b3261e;box-shadow:inset 0 2px 4px rgba(0,0,0,.4),0 0 0 1px #b3261e}
.fld.bad .inp:-webkit-autofill{box-shadow:inset 0 2px 4px rgba(0,0,0,.4),0 0 0 1px #b3261e,inset 0 0 0 200px #c8ccd1}

/* ===== 分頁鈕／二選一：選中用紅底線（Tina 2026-11-10 定） ===== */
.seg{display:inline-flex;background:#0e0f11;box-shadow:inset 0 2px 6px rgba(0,0,0,.85),0 1px 0 rgba(255,255,255,.09);padding:3px}
.seg button,.seg a{position:relative;height:max(38px,calc(48 * var(--u)));padding:0 max(14px,calc(20 * var(--u)));display:inline-flex;align-items:center;background:transparent;border:0;color:var(--text2);font-family:var(--font);font-size:var(--f-body);white-space:nowrap;cursor:pointer;font-variation-settings:"wght" 600,"wdth" 90}
.seg .on{color:#fff;background:linear-gradient(180deg,#3a3936,#2a2927)}
.seg .on::after{content:"";position:absolute;left:10px;right:10px;bottom:3px;height:3px;background:var(--red)}

/* 按鈕曳光：滑過或鍵盤選到時沿外框描一圈（照官網 site.css 267–272；member.js 動態加上 svg.trace） */
.btn{position:relative}
.trace{position:absolute;left:-6px;top:-6px;overflow:visible;pointer-events:none}
.trace rect{fill:none;stroke-width:2;stroke-dasharray:101 101;stroke-dashoffset:101;transition:stroke-dashoffset .45s cubic-bezier(.48,.08,0,1)}
.btn.p .trace rect{stroke:#fff}
.btn.s .trace rect{stroke:#ff4a3a;filter:drop-shadow(0 0 4px #ff3a2a)}
.btn:hover .trace rect,.btn:focus-visible .trace rect{stroke-dashoffset:0}
@media (prefers-reduced-motion:reduce){.trace rect{transition:none}}

/* 金屬牌四角的內六角螺絲（登入卡等用） */
.scw{position:absolute;width:max(10px,calc(12 * var(--u)));aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,#a5a29a,#4a4844 60%,#262523);box-shadow:inset 0 0 0 1px rgba(0,0,0,.5),0 1px 0 rgba(255,255,255,.12)}
.scw::after{content:"";position:absolute;inset:28%;background:#1a1918;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}

/* 亮面金屬牌（Tina 2026-11-12：槍卡、帳號設定改亮面，跟評級章同一種材質）：拋光金屬邊＋深色平滑面，跟評級章的金屬圈、深色章面同做法。
   噴砂黑 .plate 留給名字、標題、數字牌；放按鈕與表單、卡片內容的用 .plate.gl。 */
.plate.gl{filter:drop-shadow(0 10px 16px rgba(0,0,0,.4))}
.plate.gl::before{background:conic-gradient(from 210deg at 50% 50%,#f1f3f5 0deg,#8c9198 40deg,#dfe3e7 85deg,#5d6268 140deg,#c9ced3 190deg,#6d7278 245deg,#eef1f4 300deg,#9aa0a6 335deg,#f1f3f5 360deg);box-shadow:none}
.plate.gl::after{content:"";position:absolute;inset:max(3px,calc(4 * var(--u)));z-index:-1;clip-path:inherit;
  background:linear-gradient(180deg,rgba(255,255,255,.07) 0%,rgba(255,255,255,0) 38%),linear-gradient(180deg,#26282c 0%,#1b1c1f 55%,#141518 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 0 -1px 0 rgba(0,0,0,.6),inset 0 0 0 1px rgba(0,0,0,.55)}

/* 平滑深色面板（Tina 2026-11-12 02:00：帳號設定不要磨砂、也不要拋光金屬邊）：沒有顆粒、沒有金屬邊，只有一條細亮邊 */
.plate.sm::before{background:linear-gradient(180deg,rgba(255,255,255,.05) 0%,rgba(255,255,255,0) 40%),linear-gradient(180deg,#26282b 0%,#1d1e21 60%,#18191b 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),inset 0 -1px 0 rgba(0,0,0,.6),inset 0 0 0 1px rgba(255,255,255,.05)}
