.games-library .game-entry-actions { display:flex; flex-wrap:wrap; gap:10px; }
.game-symbol-cover { height:180px; background:radial-gradient(ellipse at 65% 20%,#77935a2b,transparent 65%),linear-gradient(145deg,#152422,#0c1615); display:grid; place-items:center; position:relative; }
.game-cover-symbol { width:80px; height:80px; color:#b8db80; opacity:.82; transform:rotate(-8deg); }
.game-cover-symbol svg { width:100%; height:100%; }
.game-symbol-cover::after { content:''; position:absolute; inset:22px; border:1px solid #b8db801a; border-radius:12px; pointer-events:none; }
.game-card-compact .game-copy > p { min-height:0; }
.game-detail:has(.script-role-sheet) { color:var(--text,#e5ece6); }
.detail-dialog:has(.script-role-sheet) { width:min(1080px,94vw); max-width:1080px; padding:36px; }
.script-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:24px 0; border-bottom:1px solid var(--line,#35433d); padding-bottom:16px; }
.script-tabs button { border:1px solid var(--line,#35433d); border-radius:8px; padding:10px 16px; background:#11201b; color:var(--muted,#a2b1a8); cursor:pointer; }
.script-tabs button[aria-selected=true] { background:#b8db8017; border-color:#b8db8080; color:#c4e993; }
.script-tabs button:focus-visible { outline:2px solid #b8db80; outline-offset:3px; }
.clock-script-sheet[hidden] { display:none; }
.script-title { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:12px 0 4px; }
.script-title .eyebrow { color:#93ac85; font-size:11px; letter-spacing:.12em; }
.script-title h3 { font-size:1.6rem; margin:6px 0; color:#d8e6d0; }
.script-title .tag { white-space:nowrap; font-size:11px; }
.script-description { font-size:13px; line-height:1.7; margin:8px 0 24px; color:var(--muted,#a2b1a8); }
.script-role-sheet { border:1px solid #94b18530; border-radius:12px; overflow:hidden; background:linear-gradient(130deg,#17251f,#101c19); }
.script-faction { display:grid; grid-template-columns:54px minmax(0,1fr); border-top:1px solid #94b18530; --faction-color:#bfdba6; }
.script-faction:first-child { border-top:0; }
.script-faction.faction-1 { --faction-color:#99b7ab; }
.script-faction.faction-2 { --faction-color:#d3b59a; }
.script-faction.faction-3 { --faction-color:#d39793; }
.script-faction[data-faction="狼人"] { --faction-color:#d39793; }
.script-faction[data-faction="村民"] { --faction-color:#bfdba6; }
.script-faction-heading { background:#8baa7710; border-right:1px solid #94b18525; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:12px; padding:24px 8px; color:var(--faction-color); }
.script-faction-heading h4 { writing-mode:vertical-rl; letter-spacing:.18em; margin:0; font-size:15px; }
.script-faction-heading > span { font-size:11px; opacity:.55; font-family:var(--mono,monospace); }
.script-role-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 28px; padding:18px 22px; }
.script-role-column { display:flex; flex-direction:column; gap:17px; min-width:0; }
.script-role-card { display:grid; grid-template-columns:48px minmax(0,1fr); align-items:start; gap:12px; color:var(--faction-color); }
.script-role-icon { width:48px; height:48px; display:block; padding:4px; margin-top:1px; opacity:.92; }
.script-role-icon svg { width:100%; height:100%; }
.script-role-card h5 { margin:0 0 5px; font-size:16px; line-height:1.4; font-weight:650; letter-spacing:.04em; }
.script-role-card h5 a { color:inherit; text-decoration:none; }
.script-role-card h5 a:hover { text-decoration:underline; text-underline-offset:4px; }
.script-role-card p { margin:0; color:#c5d0c7; font-size:12.5px; line-height:1.65; }
.script-source { display:inline-block; font-size:12px; color:#abc495; margin:16px 0 4px; }
.game-detail .game-rules { margin-top:32px; }
.game-rule-steps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 28px; margin:20px 0 24px; }
.game-rule-steps article { display:grid; grid-template-columns:26px minmax(0,1fr); gap:12px; }
.rule-step-number { font-size:11px; font-family:var(--mono,monospace); color:#7e9b68; padding-top:3px; }
.game-rule-steps h4 { margin:0 0 8px; font-size:14px; }
.game-rule-steps p { margin:0; font-size:13px; line-height:1.8; color:var(--muted,#a2b1a8); }
.game-version { color:#aac296; padding:10px 14px; border-left:2px solid #809b64; background:#9dba7920; font-size:13px; margin-top:22px; }
@media(max-width:760px) { .detail-dialog:has(.script-role-sheet) { padding:24px 16px; } .script-role-columns { gap:0 18px; padding:16px; } .script-role-card { grid-template-columns:34px minmax(0,1fr); gap:8px; } .script-role-icon { width:34px; height:34px; padding:2px; } .script-role-card h5 { font-size:14px; } .script-role-card p { font-size:12px; } }
@media(max-width:560px) { .script-title { align-items:flex-start; } .script-title h3 { font-size:1.3rem; } .script-faction { grid-template-columns:36px minmax(0,1fr); } .script-faction-heading { padding:18px 5px; } .script-faction-heading h4 { font-size:13px; } .script-role-columns { grid-template-columns:1fr; gap:17px; padding:16px 12px; } .script-role-card { grid-template-columns:38px minmax(0,1fr); gap:10px; } .script-role-icon { width:38px; height:38px; } .script-role-card h5 { font-size:15px; } .game-rule-steps { grid-template-columns:1fr; } .script-tabs button { padding:9px 12px; font-size:13px; } }
.game-card-compact .game-cover {height:220px;background:#101b18;}
.game-cover .game-product-cover {width:100%;height:100%;object-fit:cover;filter:saturate(.60) brightness(.72);padding:0;}
.game-card-compact .game-cover::after {inset:0;border:0;border-radius:0;background:linear-gradient(transparent 48%,#17231fcc);}
.game-card-compact .game-cover-label {font-size:11px;letter-spacing:.12em;background:none;padding:0;border-radius:0;align-self:end;justify-self:start;}
.game-cover.threecard .game-product-cover,.game-cover.landlord .game-product-cover {object-fit:cover;padding:0;}
.games-library .game-cover {height:220px;background:#101b18;}
.games-library .game-cover::after {inset:0;border:0;border-radius:0;background:linear-gradient(transparent 48%,#17231fcc);}
.games-library .game-cover-label {font-size:11px;letter-spacing:.12em;background:none;padding:0;border-radius:0;}
.script-author {font-size:12px;color:var(--muted);margin-bottom:18px;}
.clock-dealer-controls{display:grid;grid-template-columns:1fr .6fr 1.5fr;gap:16px;margin:20px 0}.clock-dealer-controls label{display:grid;gap:8px;font-size:13px}.clock-dealer-controls select,.dealer-role-pick select{width:100%;padding:10px;background:var(--surface,#12201c);color:var(--text);border:1px solid var(--line);border-radius:8px}[data-dealer-role-picks]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}[data-dealer-role-picks] fieldset{border:1px solid var(--line);border-radius:10px;padding:14px}.dealer-role-pick{padding:7px 0}.dealer-role-pick label{font-size:13px}.dealer-role-pick [data-dealer-cover-wrap]{display:block;margin:8px 0 8px 20px}.dealer-role-pick [hidden]{display:none!important}.dealer-adjusted{font-size:13px}.dealer-role-pick input{accent-color:#b8db80}@media(max-width:640px){.clock-dealer-controls,[data-dealer-role-picks]{grid-template-columns:1fr}}
.clock-dealer-controls[hidden],[data-dealer-manual][hidden]{display:none!important}
