.hover-tooltip-anchor.role-actions-label{cursor:help;text-underline-offset:2px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.hover-tooltip.role-tooltip{white-space:normal;max-width:min(320px,100vw - 16px);padding:10px 12px}.role-tip{flex-direction:column;gap:10px;display:flex}.role-tip-item{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.role-tip-item+.role-tip-item{border-top:1px solid #f5e7c824;padding-top:10px}.role-tip-chip{border:1px solid var(--brand-shadow);background:linear-gradient(180deg, var(--brand-light), var(--brand-mid));color:#fff;border-radius:6px;align-items:center;gap:6px;padding:3px 10px;font-family:Georgia,serif;font-size:12px;font-weight:600;line-height:1.3;display:inline-flex;box-shadow:0 1px 3px #00000059}.role-tip-chip img{object-fit:contain;width:13px;height:13px}.role-tip-text{color:#f5e7c8;font-size:12px;line-height:1.4}
.action-log li{flex-direction:column;align-items:stretch;gap:2px;padding:6px 0;display:flex}.log-entry-header{align-items:center;gap:6px;display:flex}.log-entry-text{padding-left:28px;line-height:1.35}.action-log{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border:1px solid var(--panel-border);background:#e4c698b8;border-radius:8px;max-height:100vh;padding:12px;overflow:auto;box-shadow:1px 4px 8px #00000073}.action-log ol{margin:8px 0 0;padding:0;font-size:13px;list-style:none}.action-log li{border-bottom:1px dashed #5a3a1d40;padding:4px 6px}.log-role{margin-right:4px;font-weight:700}.log-mafia .log-role{color:#8b2727}.log-inspector .log-role{color:#2a5d3a}.log-system .log-role{color:#5a3a1d;font-style:italic}
.board-turn-timer{border:1px solid color-mix(in srgb, #eeca7ea3 calc((1 - var(--urgent-blend,0)) * 100%), #ff402dad);background:#1a0c06c7;border-radius:14px;width:min(100%,190px);min-width:min(100%,180px);padding:3px;box-shadow:0 3px 10px #00000070,inset 0 1px #fff1c733}.board-turn-timer-track{background:linear-gradient(#26130afa,#120805fa);border-radius:10px;justify-content:flex-end;align-items:center;height:16px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px 5px #000000ad,inset 0 -1px #ffffff14}.board-turn-timer-fill-wrap{border-radius:inherit;position:absolute;top:0;bottom:0;left:0;overflow:hidden}.board-turn-timer-fill{border-radius:inherit;background:linear-gradient(90deg,#81111e 0%,#b51f31 72%,#dc5a58 100%);position:absolute;inset:0;box-shadow:inset 0 1px #ffffff2e,0 0 9px #c61f2b70}.board-turn-timer-fill-urgent{opacity:var(--urgent-blend,0);background:linear-gradient(90deg,#a80d18 0%,#f42a1d 68%,#fb7461 100%);box-shadow:inset 0 1px #fff3,0 0 12px #ff241480}.board-turn-timer-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.board-turn-timer-value{z-index:2;text-align:right;color:#f4d38d;text-shadow:0 1px 2px #000000d9;min-width:24px;padding-right:7px;font-family:Georgia,serif;font-size:15px;font-weight:700;line-height:1;position:relative}.board-turn-timer-urgent{animation:1.6s ease-in-out .4s infinite board-turn-timer-pulse}@keyframes board-turn-timer-pulse{0%,to{box-shadow:0 0 #ff402d3d,0 3px 10px #00000070}50%{box-shadow:0 0 0 4px #ff402d00,0 3px 10px #00000070}}
.game-view{grid-template-columns:minmax(0,2fr) minmax(320px,1fr) minmax(280px,.8fr);gap:16px;height:100vh;padding:16px;display:grid}@media (max-width:1200px){.game-view{flex-wrap:wrap;gap:16px;height:auto;display:flex}.game-view .board-area{flex:100%;min-width:0}.game-view .side-panel,.game-view .replay-role-panel,.game-view .action-log{flex:1 1 0;min-width:0}.game-view .action-log{contain:size;min-height:200px;overflow-y:auto;height:auto!important;max-height:none!important}}@media (max-width:565px){.game-view{grid-template-columns:1fr;display:grid}.game-view .action-log{contain:none;height:350px!important;max-height:350px!important}}@media (max-width:767px){.game-view{padding:6px;padding-top:var(--menu-clearance)}}@media (max-width:1201px){body{height:auto;min-height:auto;padding:6px 6px 15px}}.board-area{flex-direction:column;justify-content:center;align-items:center;gap:0;display:flex}.board-turn-timer-slot{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:6px 12px;width:100%;min-height:30px;display:flex;position:relative}.board-turn-role-badge{flex-shrink:0;width:fit-content}.panel-header.board-turn-role-badge{color:#f4d38d;letter-spacing:.02em;text-shadow:0 1px 2px #000000d9;background:linear-gradient(#3a2212 0%,#1f1008 100%);border:1px solid #eeca7e9e;border-radius:10px;padding:5px 14px;font-family:Georgia,serif;font-size:14px;box-shadow:0 3px 10px #0000006b,inset 0 1px #fff1c729}
.spy-reveals-block{text-align:left;flex-direction:column;align-items:stretch;gap:8px;display:flex}.spy-reveals-header{justify-content:center;align-items:center;gap:10px;font-size:15px;display:flex}.spy-reveals-icon{object-fit:contain;flex-shrink:0;width:36px;height:36px}.spy-reveals-table{border-collapse:collapse;width:100%;font-size:14px}.spy-reveals-table td{border-top:1px dashed #00000026;padding:4px 6px}.spy-reveals-name{color:#2a1d12;font-weight:600}.spy-reveals-count{text-align:right;width:2.5em;color:var(--brand-primary);font-weight:700}.spy-reveals-row-current .spy-reveals-name{color:var(--brand-primary)}.spy-reveals-team-row .spy-reveals-name,.spy-reveals-team-row-current .spy-reveals-name{text-transform:uppercase;letter-spacing:.04em;color:#5a3a1d;text-align:center;font-size:12px;font-weight:700}.spy-reveals-team-row-current .spy-reveals-name{color:var(--brand-primary)}.spy-reveals-team-row td,.spy-reveals-team-row-current td{background:#5a3a1d0f;border-top:none}.spy-reveals-teams{flex-direction:column;gap:5px;display:flex}.spy-reveals-team-card{border:1px solid var(--panel-border);border-radius:8px;overflow:hidden}.spy-reveals-team-card-current{border-color:var(--brand-primary)}.spy-reveals-team-card tr:first-child td{border-top:none}.spy-reveals-team-card .spy-reveals-table{margin:0}.spy-reveals-goal-table{margin-top:4px}.spy-reveals-player-name{padding-left:14px;font-weight:600}.spy-reveals-player-name .suspect-mention{font-weight:600}.spy-reveals-goal-row .spy-reveals-name{color:#5a3a1d;font-style:italic}.spy-reveals-goal-row .spy-reveals-count{color:#2a1d12}
