/* 公開官網（web/site）在 web/assets/site.css 之上的補充：法規頁排版、點數包、機率表。 */
.skip{position:absolute;left:-999px;top:8px;z-index:20;background:var(--gold);color:#1c1a12;padding:6px 12px;border-radius:var(--radius)}
.skip:focus{left:16px}
a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

.page-head{padding:56px 0 32px}
.page-head h1{font-size:clamp(28px,4.4vw,40px)}
.notice,.warning{border-radius:var(--radius);padding:12px 16px;margin:16px 0;max-width:760px}
.notice{background:#2a3a33;border:1px solid var(--green)}
.warning{background:#3a3220;border:1px solid #6b5a30;color:#f1dfa8;font-weight:600}

/* 長文 */
.prose{max-width:860px}
.prose h2{font-size:clamp(20px,2.6vw,24px);margin:40px 0 12px}
.prose h2:first-child{margin-top:0}
.prose p,.prose li{color:var(--ink-2)}
.prose strong,.prose b{color:var(--ink)}
.prose ol,.prose ul{padding-left:1.4em}
.prose li{margin-bottom:6px}
.facts{display:grid;grid-template-columns:max-content 1fr;gap:10px 20px;margin:16px 0;color:var(--ink-2)}
.facts dt{color:var(--ink-3);font-size:14px;padding-top:2px}
.facts dd{margin:0}
.facts.compact{font-size:15px;max-width:860px}
code{font-size:.92em;color:var(--gold)}

/* 表格：沿用 site.css，文字欄可換行 */
caption{text-align:left;color:var(--ink-3);font-size:13px;padding-bottom:6px}
.wrap-text,.summary-table td,.summary-table th{white-space:normal;text-align:left}
.wrap-text{min-width:14em;color:var(--ink-2)}
.summary-table td:first-child{color:var(--ink);min-width:9em}
tfoot td{border-bottom:0;color:var(--ink-2)}
.odds-table td{vertical-align:top}
.pool-stage{padding:28px 0 8px;border:0}
.pool-stage h3{font-size:20px;margin-bottom:4px}
.rarity{--tone:var(--common);color:var(--tone);font-weight:700}
.rarity[data-rarity=rare]{--tone:var(--rare)}
.rarity[data-rarity=epic]{--tone:var(--epic)}
.rarity[data-rarity=legendary]{--tone:var(--legendary)}

/* 點數包 */
.packs{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));margin-bottom:16px}
.pack{display:flex;flex-direction:column;gap:8px}
.pack h3{margin:0}
.pack .price{font-size:34px;font-weight:700;color:var(--gold);margin:0;font-variant-numeric:tabular-nums}
.pack .price span{font-size:13px;font-weight:400;color:var(--ink-3);margin-left:8px}
.pack ul{margin:0 0 8px;padding-left:1.2em;color:var(--ink-2);font-size:15px;flex:1}
.pack .btn{width:100%}

/* 首頁 */
.grid.two{grid-template-columns:repeat(2,1fr);margin-top:24px}
.grid.two p{color:var(--ink-2);font-size:15px}
.features{margin-top:28px}
.actions-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:28px}
.link-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;text-align:left}
.link-grid a{display:flex;flex-direction:column;gap:2px;text-decoration:none;color:var(--ink)}
.link-grid a span{font-size:13px;color:var(--ink-3);overflow-wrap:anywhere}
.link-grid a:hover{border-color:var(--gold)}

/* 聯絡 */
.contact-card{margin-bottom:24px}
.contact-card p{margin:4px 0}
.contact-email{font-size:clamp(20px,4vw,26px);font-weight:700;overflow-wrap:anywhere}

/* 頁尾 */
.site-footer{border-top:1px solid var(--line)}
.site-footer .wrap{display:block}
.site-footer p{margin:8px 0}
.footer-links{display:flex;flex-wrap:wrap;gap:6px 18px;margin-bottom:12px}
.footer-links a{color:var(--ink-2)}

@media (max-width:860px){
  .grid.two,.link-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .nav .wrap{flex-wrap:wrap;height:auto;padding-top:10px;padding-bottom:8px;row-gap:4px}
  .nav-links{margin-left:0;width:100%;flex-wrap:wrap;gap:4px 16px;font-size:14px}
  .facts{grid-template-columns:1fr;gap:2px}
  .facts dd{margin-bottom:10px}
  .page-head{padding:40px 0 16px}
}

/* 會員頁（app/，需要 earth-api） */
.member-panel{max-width:640px}
.member-message{min-height:1.7em;font-size:15px;color:var(--ember);margin:8px 0}
.member-message[data-kind=info]{color:var(--green)}
.member-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin:12px 0}
.member-form label{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--ink-2);flex:1 1 220px}
.member-stats{margin:8px 0 12px}
.member-grid{margin-top:28px}
.member-grid>*{min-width:0}
.member-grid h2{margin-top:0;font-size:20px}
.member-balance{font-size:15px;color:var(--ink-2)}
.member-balance b{color:var(--gold)}
.member-table td,.member-table th{text-align:left}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--ink-2);margin:16px 0;max-width:760px}
.consent input{margin-top:5px;flex:none}
.draw-panel .actions-row{margin:14px 0 4px}
.reveal{display:flex;justify-content:center;min-height:0}
.reveal .card{margin:12px 0}
.btn.disabled{opacity:.45;pointer-events:none}
@media (max-width:520px){
  .member-stats{grid-template-columns:repeat(2,1fr)}
}

/* 史前部落外觀層：僅樣式；沿用原本所有會員與付款控制項。 */
:root{
  --bg:#25261f;--bg-2:#2e3026;--panel:#36372b;--line:#5d5c43;
  --ink:#f0e6c9;--ink-2:#d0c7a8;--ink-3:#b3ae91;
  --gold:#dec18b;--green:#bdc297;--river:#97b8b3;--ember:#e0a078;
  --common:#bdc297;--rare:#9bb8bf;--epic:#c0a6ba;--legendary:#e3c381;
  --radius:4px;--max:1160px;
  --font:"Segoe UI","Noto Sans TC","Microsoft JhengHei",sans-serif;
}
body{background:radial-gradient(ellipse at 85% 4%,#5b4e323d,transparent 46%),var(--bg);line-height:1.8}
::selection{background:#85754f;color:#fff9df}
a{text-underline-offset:.22em;text-decoration-thickness:1px}
.nav{background:#292b22f5;border-bottom:1px solid #77704c;box-shadow:0 5px 22px #17190f38;backdrop-filter:blur(12px)}
.nav .wrap{min-height:72px;height:auto;gap:28px;padding-top:10px;padding-bottom:10px}
.brand{font-family:Georgia,"Noto Serif TC",serif;font-size:25px;letter-spacing:.24em}
.brand-mark{border-color:var(--gold);width:21px;height:21px;box-shadow:0 0 0 5px #dec18b0a}
.brand-mark:after{border-color:var(--gold)}
.nav-links{gap:8px 20px;flex-wrap:wrap;justify-content:flex-end;line-height:1.5}
.nav-links a{padding:8px 0;border-bottom:1px solid transparent}
.nav-links a[aria-current=page]{border-color:var(--gold)}
section{padding:58px 0;border-color:#5d5c436b}
.page-head{padding:62px 0 38px;background:linear-gradient(100deg,#4c5037aa,#33372d88 60%,#62513755);border-bottom:1px solid #77704c}
.page-head .eyebrow{color:#d8c395;font-size:12px;letter-spacing:.2em}
.page-head h1{font-family:Georgia,"Noto Serif TC","PMingLiU",serif;font-weight:500;font-size:clamp(32px,4vw,52px);letter-spacing:.045em;margin-bottom:18px}
h2,h3{color:var(--ink);letter-spacing:.025em}
.lead{max-width:780px;color:var(--ink-2);font-size:17px;line-height:1.9}
.page-head .muted{max-width:820px;font-size:13px;line-height:1.8}
.panel,.stat,.slot{background:linear-gradient(145deg,#3c3d2f,#303328);border-color:#69674c;box-shadow:0 12px 30px #11150e20,inset 0 1px #ede2b909}
.panel{padding:28px}
.draw-panel{position:relative;padding:30px 34px;border-top:3px solid #c9ae79;max-width:960px;margin:0 auto 52px}
.draw-panel .member-balance{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;margin:12px 0 22px;line-height:1.7}
.member-balance b{font-size:24px;font-weight:600;font-variant-numeric:tabular-nums}
.draw-panel .actions-row{gap:12px;margin-top:22px}
.chat-free-notice{background:#262c23;border:1px solid #72775a;border-left:3px solid #b6bd8d;padding:16px 20px;margin:16px 0 22px;line-height:1.85;overflow-wrap:anywhere}
.chat-free-notice p{margin:0 0 7px}
.chat-free-notice a{color:#e5ca93}
#chat-link-status{font-size:13px;color:var(--ink-3)}
.btn{min-height:46px;padding:12px 24px;background:#d7bc86;border-color:#e5ce9c;color:#2d291f;border-radius:3px;box-shadow:0 3px 0 #76613f;font-size:15px;line-height:1.5}
.btn:hover{background:#ead39d;color:#28261e;transform:translateY(-1px);box-shadow:0 4px 0 #76613f}
.btn.ghost{background:#484b35;border-color:#898b64;color:#f0e3bd;box-shadow:0 3px 0 #292e20}
.btn.ghost:hover{background:#55583f;color:#fff1ce}
.btn:disabled{opacity:.55;box-shadow:none;transform:none}
.consent{line-height:1.85;font-size:13px;max-width:800px;margin-top:22px}
.consent input{accent-color:#cdb780;width:18px;height:18px;margin-top:4px}
select,input{min-height:43px;background:#252b22;border-color:#7e7d5c;line-height:1.5}
input[type=checkbox]{min-height:0}
select:focus-visible,input:focus-visible,.btn:focus-visible,a:focus-visible{outline:3px solid #f3d499;outline-offset:4px}
.notice{background:#404833;border-color:#8c986d;color:#e9e2c5}
.warning{background:#4b402c;border:1px solid #8b7449;color:#f0dbad;font-size:13px;font-weight:500;line-height:1.8}
.page-head .warning{padding:9px 14px;margin:20px 0 12px}
.sub-head{padding-bottom:12px;border-bottom:1px solid #6c694c;margin-top:42px;font-size:24px}
.pool{grid-template-columns:repeat(auto-fill,minmax(min(195px,100%),1fr));gap:20px;margin-top:24px}
.card-face{border-radius:4px}
.card-front{background:linear-gradient(160deg,#424733,#30352b);box-shadow:0 9px 22px #171a1350,inset 0 0 0 3px #23271e}
.card.small .card-front{box-shadow:0 8px 20px #14180f20}
.card-top{padding:13px 14px}
.card-art{background:radial-gradient(ellipse at 50% 100%,#9f996530,transparent 70%),#293024;border-color:#60684a;border-radius:2px}
.card.small .card-art{height:82px;font-size:37px}
.card-body{padding:15px 16px;gap:7px}
.card-name{font-size:20px;line-height:1.45}
.card-name-en{font-size:12px;letter-spacing:.06em}
.card-text{line-height:1.8}
.card-foot{padding:8px 14px 14px}
.card[data-polarity=calamity] .card-front{background:linear-gradient(160deg,#514034,#383025)}
.card-back{border-color:#909467;background:repeating-linear-gradient(45deg,#424932 0 10px,#393f2e 10px 20px)}
.odds{line-height:1.8;gap:8px 20px;color:var(--ink-2)}
.member-panel{margin-left:auto;margin-right:auto;border-top:3px solid var(--gold)}
.member-message{overflow-wrap:anywhere}
.site-footer{background:#20251e;border-color:#636247;padding:40px 0}
.site-footer p{max-width:920px;font-size:13px;line-height:1.9}
.footer-links{gap:10px 24px;margin-bottom:22px}
.hero{background:radial-gradient(ellipse at 70% 20%,#6d704044,transparent 65%),linear-gradient(150deg,#424b33,#292f25)}
.hero h1{font-family:Georgia,"Noto Serif TC",serif;font-weight:500}
@media(min-width:1000px){.page-head .wrap{padding-right:120px}.draw-panel .btn{min-width:210px}.member[data-page=draw]{padding-top:0}}
@media(max-width:760px){
  .nav .wrap{gap:8px 16px;align-items:flex-start}.nav-links{gap:5px 15px;justify-content:flex-start}
  .page-head{padding:38px 0 24px}.page-head .wrap{padding-right:20px}
  .panel{padding:22px}.draw-panel{padding:24px;margin-bottom:38px}
  .pool{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  section{padding:36px 0}.lead{font-size:16px}
}
@media(max-width:480px){
  .wrap{padding-left:18px;padding-right:18px}.brand{font-size:23px}.nav .wrap{padding-top:12px;padding-bottom:8px}
  .nav-links{font-size:12px;gap:1px 14px}.nav-links a{padding:7px 0}
  .draw-panel{padding:20px 18px}.draw-panel .member-balance{font-size:13px;gap:4px 8px}.member-balance b{font-size:20px}
  .draw-panel .actions-row>.btn{width:100%}.chat-free-notice{padding:13px 14px}
  .pool{gap:10px}.card.small .card-body{padding:11px}.card.small .card-art{margin:0 9px;height:62px}
  .card.small .card-name{font-size:16px}.card.small .card-name-en{font-size:10px;letter-spacing:.02em}
  .card.small .card-top{padding:10px}.card.small .card-foot{padding:5px 10px 10px;flex-wrap:wrap;gap:4px}
  .card.small .card-text{font-size:12px;line-height:1.75}.held-actions{grid-template-columns:1fr}
  .facts dd,.prose p{overflow-wrap:anywhere}.member-form{display:block}.member-form label{margin-bottom:14px}
  .site-footer{padding-top:30px}.footer-links{gap:8px 18px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn:hover{transform:none}}

.pack-bonus{display:inline-block;color:#e9d7a3;background:#465442;border:1px solid #7b8968;padding:5px 10px;border-radius:4px;font-size:.8rem;font-weight:700;letter-spacing:.03em}.pack-total{font-size:1.15rem;color:#eadfc5;margin:8px 0}.pack-total b{font-size:2rem}.pack .price span{display:block;font-size:.75rem;margin-top:4px}

/* Hand navigation stays usable beside the existing card grid on narrow screens. */
.hand-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin:24px 0;flex-wrap:wrap}
.hand-pagination[hidden]{display:none}
.hand-pagination #hand-page-status{flex:1 1 240px;max-width:540px;min-width:0;text-align:center;overflow-wrap:anywhere;font-size:.85rem;line-height:1.7}
.hand-pagination .btn{min-height:44px;white-space:normal}
@media(max-width:480px){.hand-pagination{gap:10px}.hand-pagination #hand-page-status{order:-1;flex-basis:100%}.hand-pagination .btn{flex:1 1 110px;min-width:0;padding:10px}}

.language-picker{display:flex;align-items:center;gap:8px;font-size:.8rem;white-space:nowrap}.language-picker select{min-width:0;max-width:145px;padding:8px;color:var(--text);background:#293126;border:1px solid #737b59;border-radius:4px}.nav .wrap{flex-wrap:wrap}.settlement-pick{flex-wrap:wrap}.settlement-pick select{min-width:0;max-width:100%;flex:1 1 180px}.settlement-pick #cooldown{min-width:0;overflow-wrap:anywhere}@media(max-width:480px){.language-picker{margin-left:auto}.language-picker select{max-width:120px}.settlement-pick label{flex-basis:100%}.settlement-pick select{width:100%}}

.card-name-en{text-transform:none;letter-spacing:normal;line-height:1.6;overflow-wrap:anywhere}

/* Revealed text grows with the selected language while retaining the original card flip. */
.reveal .card.revealed{height:auto;min-height:330px}.reveal .card.revealed .card-inner{height:auto;min-height:330px}.reveal .card.revealed .card-front{position:relative;min-height:330px}
