:root{
  --bg:#f4efe7;
  --panel:#fffdf8;
  --panel-2:#f8f3ea;
  --line:#d9cfbe;
  --line-strong:#c7b89f;
  --text:#2f261d;
  --muted:#756a5f;
  --accent:#7f1d1d;
  --accent-2:#9a6b2f;
  --shadow:0 6px 18px rgba(46,33,19,.08);
  --radius:16px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.35}
body{min-width:320px}
a{color:var(--accent)}
img{max-width:100%;display:block}
main{width:min(1800px,calc(100% - 24px));margin:12px auto 30px}
.app-shell{display:flex;flex-direction:column;gap:12px}
.panel,.subpanel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.panel{padding:12px}
.subpanel{padding:10px}
.notice,.muted{color:var(--muted)}
.notice{background:#f5f0e6;border:1px solid var(--line);padding:10px 12px;border-radius:12px}
hr{border:none;border-top:1px solid var(--line);margin:16px 0}
.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;color:var(--muted);margin:0 0 2px}
.section-heading,.compact-inline-heading,.compact-project-heading,.player-title,.interaction-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.section-heading h1,.section-heading h2,.compact-inline-heading h2,.compact-project-heading h2,.hero h1{margin:0}
.section-heading p{margin:0}
h1{font-size:1.8rem}
h2{font-size:1.1rem}
h3{font-size:.98rem;margin:10px 0 8px}
p{margin:.45em 0}
small{color:var(--muted)}
.flash,.status-badge,.small-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 10px;font-size:.82rem;border:1px solid var(--line);background:#fff}
.flash.success{background:#edf8ef;border-color:#b9dec0}
.flash.error{background:#fbecec;border-color:#e4b2b2}
.status-badge{font-weight:700;background:#f7f1e6}
.small-badge{padding:2px 8px;font-size:.73rem}
.bot-badge{background:#eceffd}
.landing{padding:10px 0 24px}
.hero{margin-bottom:18px}
.landing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.lobby-actions,.button-row,.player-list,.stat-grid,.display-mini-stats,.metric,.player-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.player-list{flex-direction:column;align-items:stretch}
.player-row{justify-content:flex-start;padding:6px 0;border-bottom:1px dashed var(--line)}
.player-row:last-child{border-bottom:none}
label{display:flex;flex-direction:column;gap:6px;font-size:.92rem;margin:8px 0}
input,select,button{font:inherit}
input,select{background:#fff;border:1px solid var(--line-strong);border-radius:10px;padding:9px 10px;min-height:40px}
.code-input{text-transform:uppercase;letter-spacing:.16em}
button,.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;border-radius:10px;padding:10px 14px;font-weight:700;text-decoration:none;cursor:pointer;min-height:40px}
button.primary,.button.primary{background:var(--accent);color:#fff}
button.secondary,.button.secondary{background:#ece4d5;color:var(--text);border:1px solid var(--line)}
button.danger,.button.danger{background:#a32626;color:#fff}
button.danger-soft{background:#faecec;color:#7a1717;border:1px solid #e6bbbb}
button.small,.button.small{min-height:30px;padding:5px 10px;font-size:.85rem}
button:disabled{opacity:.5;cursor:not-allowed}
.meeple-dot,.meeple-token{display:inline-block;flex:0 0 auto}
.meeple-dot{width:14px;height:14px;border-radius:999px;border:1px solid rgba(0,0,0,.15)}
.meeple-dot.large{width:22px;height:22px}
.color-red{background:#bf3232;color:#bf3232}.color-blue{background:#2f63c6;color:#2f63c6}.color-yellow{background:#ddb22f;color:#ddb22f}.color-green{background:#2d8f5a;color:#2d8f5a}
.meeple-token{width:24px;height:24px;background:currentColor;mask:url('meeple-mask.png') center/contain no-repeat;-webkit-mask:url('meeple-mask.png') center/contain no-repeat;color:#444}
.meeple-token.prone{transform:rotate(90deg)}
.meeple-token.temporary{filter:drop-shadow(0 0 0.5px #111)}
.interactive-meeple,.interactive-favor,.interactive-display-card,.interactive-research-card,.interactive-project,.interactive-storehouse-card,.claim-choice-card{cursor:pointer}
.interactive-meeple[draggable='true'],.interactive-display-card[draggable='true'],.interactive-research-card[draggable='true'],.interactive-storehouse-card[draggable='true'],.interactive-claim-card[draggable='true'],.interactive-favor[draggable='true']{cursor:grab}
.interactive-meeple.selected,.interactive-favor.selected,.claim-choice-card.selected,.interactive-project.selected,.interactive-display-card.selected,.interactive-research-card.selected{outline:3px solid #c55f14;outline-offset:2px;border-radius:10px}
.assignment-target,.favor-drop-zone{transition:background .15s ease,border-color .15s ease}
.assignment-target:hover,.favor-drop-zone:hover{background:#fff7e8}
.sticky-command-dock{position:relative}
.sticky-dock-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.9fr);gap:12px;align-items:start}
.sticky-dock-main{display:grid;grid-template-rows:auto auto;gap:12px;min-width:0}
.sticky-dock-side{min-width:0}
.top-alert-zone{display:flex;flex-direction:column;gap:8px;min-height:174px}
.top-action-panel{margin-top:4px;overflow:auto;max-height:260px;padding-top:2px}
.interaction-toolbar{display:flex;flex-direction:column;gap:10px}
.interaction-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:start}
.interaction-actions .movement-payment-control{grid-column:1/-1;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:8px;margin:0;font-size:.85rem;color:var(--muted)}
.interaction-actions .movement-payment-control select{min-height:34px;padding:5px 8px}
.ui-mode.active{background:var(--accent);color:#fff}
.toolbar-status-row{display:flex;align-items:flex-start;gap:8px;font-weight:700}
#interaction-status{display:block}
.helper-toolbar-meeple{color:#7a4dce}
.toolbar-card-preview,.toolbar-claim-preview{background:var(--panel-2);border:1px solid var(--line);padding:8px;border-radius:12px}
.claim-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}
.claim-preview-row{padding:6px;border-radius:10px;background:#fff;border:1px solid var(--line)}
.display-panel{padding-bottom:8px}
.display-mini-stats{justify-content:flex-end;font-size:.83rem;color:var(--muted)}
.display-mini-stats strong{color:var(--text)}
.card-row{display:flex;gap:6px;flex-wrap:wrap;align-items:flex-start}
.card-row.compact{gap:4px}
.display-cards{overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;padding-bottom:6px}
.research-discard-strip{margin-top:7px;padding-top:7px;border-top:1px dashed var(--line)}
.research-discard-heading{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;margin-bottom:5px;font-size:.82rem}
.research-discard-heading span{color:var(--muted)}
.research-discard-cards{overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;padding-bottom:4px}
.research-discard-cards .image-resource-card{width:72px;height:103px}
.indexed-card{flex:0 0 auto;min-width:86px}
.resource-card{position:relative;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;overflow:hidden}
.image-resource-card{width:74px;height:106px;border:1px solid rgba(0,0,0,.15);background:#fff;box-shadow:0 1px 5px rgba(0,0,0,.12)}
.image-resource-card img{width:100%;height:100%;object-fit:cover}
.resource-value-badge{position:absolute;left:3px;bottom:4px;min-width:22px;height:22px;padding:0 5px;border-radius:999px;background:#111;color:#fff;font-weight:700;font-size:.92rem;line-height:22px;text-align:center}
.card-effective-badge,.personal-card-badge{position:absolute;right:3px;top:3px;background:rgba(255,255,255,.92);border-radius:999px;padding:2px 6px;font-size:.64rem;border:1px solid rgba(0,0,0,.08)}
.personal-card-badge{top:auto;bottom:4px;right:4px;background:#f3c96e}
.favor-card{background:#ddd}
.display-cards .image-resource-card{width:88px;height:126px}
.display-cards .resource-value-badge{min-width:24px;height:24px;line-height:24px;font-size:1rem}
.sticky-projects-panel{padding-bottom:8px}
.undo-form{margin:0}
.undo-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;border:1px solid var(--line);background:#f5efe8;color:var(--accent);font-size:1.2rem;font-weight:700;cursor:pointer;box-shadow:var(--shadow);line-height:1}
.sticky-projects-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mini-project{display:flex;gap:8px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:8px;background:#fff;min-height:146px}
.mini-project img{width:86px;height:86px;object-fit:contain;flex:0 0 86px;background:#faf7ef;border-radius:8px}
.mini-project-info{display:flex;flex-direction:column;gap:6px;min-width:0}
.mini-project-info strong{font-size:.88rem}
.mini-project-cost-strong{font-size:.86rem;font-weight:700;color:#000;line-height:1.12}
.sticky-storehouse{margin-top:10px;padding-top:8px;border-top:1px dashed var(--line)}
.sticky-storehouse h3{margin-top:0}
.board-panel{padding:10px}
.board-panel .section-heading h2,.display-panel .section-heading h2{font-size:.96rem}
.board-scroll{overflow-x:auto;padding-bottom:4px}
.board-grid{display:grid;gap:10px;grid-auto-flow:column;grid-auto-columns:minmax(205px,1fr);align-items:start}
.board-grid.cols-2{grid-template-columns:repeat(2,minmax(240px,1fr));grid-auto-flow:unset}
.board-grid.cols-3{grid-template-columns:repeat(3,minmax(220px,1fr));grid-auto-flow:unset}
.board-grid.cols-4{grid-template-columns:repeat(4,minmax(205px,1fr));grid-auto-flow:unset}
.daimyo-column{background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px;min-width:205px}
.daimyo-column header,.daimyo-column footer{display:flex;flex-direction:column;gap:2px}
.daimyo-column header strong{font-size:.9rem}
.daimyo-column header span,.daimyo-column header small,.daimyo-column footer{font-size:.73rem;color:var(--muted)}
.daimyo-column.clan-bid-target{outline:3px solid #b12626}
.board-space{display:grid;grid-template-columns:20px 1fr;gap:6px;align-items:flex-start;min-height:62px;padding:6px 4px;border-bottom:1px dashed #e7dfd2}
.board-space:last-of-type{border-bottom:none}
.board-space.space-empty{background:linear-gradient(180deg,#fff, #fcfaf5)}
.row-number{font-size:.72rem;color:var(--muted);padding-top:6px}
.space-content{display:flex;flex-wrap:wrap;gap:4px;min-width:0;align-items:flex-start}
.tile-label{font-size:.73rem;color:var(--muted);padding-top:6px}
.claim-personal-acquired{margin-top:8px;padding:6px;border-radius:10px;background:#f9f2e5;border:1px solid var(--line)}
.private-panel .stat-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:10px}
.stat{background:#f8f3ea;border:1px solid var(--line);border-radius:12px;padding:8px;display:flex;flex-direction:column;gap:2px;text-align:center}
.stat span{font-size:.73rem;color:var(--muted)}
.stat strong{font-size:1rem}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.owned-projects-grid,.project-display,.setup-project-grid{display:grid;gap:12px}
.owned-projects-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.setup-project-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.setup-project-choice{margin:0}
.setup-project-button{display:block;width:100%;padding:0;background:none;border:none;text-align:left}
.project-display{grid-template-columns:repeat(auto-fit,minmax(168px,1fr))}
.project-stack{background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px;display:flex;flex-direction:column;gap:8px;position:relative}
.project-cover,.project-placeholder{position:relative;background:#f8f3ea;border-radius:10px;min-height:170px;display:flex;align-items:center;justify-content:center;padding:8px;text-align:center}
.project-cover img{width:100%;max-height:180px;object-fit:contain}
.project-count,.project-lock{position:absolute;top:8px;border-radius:999px;padding:3px 8px;font-size:.72rem;font-weight:700}
.project-count{right:8px;background:#111;color:#fff}
.project-lock{left:8px;background:#b12626;color:#fff}
.project-caption{display:flex;flex-direction:column;gap:3px;font-size:.82rem}
.project-depth-choice-template{display:none}
.players-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.player-summary p{margin:.2em 0;font-size:.9rem}
.public-project{display:flex;gap:8px;margin-top:8px}
.public-project-thumb{width:64px;height:64px;object-fit:contain;background:#faf7ef;border-radius:8px}
.public-workshops,.public-projects{margin-top:8px}
.game-status-footer{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}
.metric{background:#f8f3ea;border:1px solid var(--line);border-radius:12px;padding:8px;display:flex;flex-direction:column;justify-content:center;min-height:62px}
.metric span{font-size:.72rem;color:var(--muted)}
.metric strong{font-size:.95rem}
.visual-metric img{width:34px;height:48px;object-fit:contain;float:right;align-self:flex-end}
.metric-refresh strong{display:flex;align-items:center}
.final-grid,.placement-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.result-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px}
.top-choice-form{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}
.claim-row,.assignment-row,.end-project{background:#f8f3ea;border:1px solid var(--line);padding:8px;border-radius:10px;margin:6px 0}
.fallback-controls{margin-top:8px}
summary{cursor:pointer}

@media (max-width: 1200px){
  main{width:min(100%,calc(100% - 16px))}
  .sticky-dock-grid{grid-template-columns:minmax(0,1fr) 320px}
  .private-panel .stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .game-status-footer{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width: 980px){
  main{width:calc(100% - 12px);margin:8px auto 18px}
  .landing-grid,.two-col,.sticky-dock-grid,.players-grid,.project-display,.game-status-footer{grid-template-columns:1fr}
  .sticky-dock-main{grid-template-rows:auto}
  .top-alert-zone,.display-panel,.sticky-projects-panel{min-height:0}
  .interaction-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .board-grid.cols-2,.board-grid.cols-3,.board-grid.cols-4{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:minmax(230px,78vw)}
  .board-grid{grid-auto-columns:minmax(230px,78vw)}
  .private-panel .stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sticky-projects-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mini-project{min-height:134px}
  .mini-project img{width:74px;height:74px;flex-basis:74px}
}
@media (max-width: 680px){
  body{font-size:14px}
  .panel{padding:10px}
  .interaction-actions .movement-payment-control{grid-column:1/-1;flex-direction:column;align-items:flex-start}
  .display-cards .image-resource-card,.image-resource-card{width:68px;height:97px}
  .display-cards .image-resource-card{width:78px;height:112px}
  .resource-value-badge{left:2px;bottom:3px;min-width:20px;height:20px;line-height:20px;font-size:.85rem}
  .sticky-projects-list{grid-template-columns:1fr 1fr;gap:8px}
  .mini-project{flex-direction:column;align-items:center;text-align:center;min-height:0}
  .mini-project img{width:88px;height:88px;flex-basis:88px}
  .mini-project-info{align-items:center}
  .mini-project .card-row.compact{justify-content:center}
  .private-panel .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .owned-projects-grid,.setup-project-grid{grid-template-columns:1fr}
  .display-mini-stats{justify-content:flex-start;gap:10px}
  .board-space{grid-template-columns:18px 1fr;min-height:58px;padding:5px 2px}
  .daimyo-column{min-width:215px}
  .board-grid{grid-auto-columns:minmax(215px,85vw)}
  .game-status-footer{grid-template-columns:repeat(2,minmax(0,1fr))}
  .toolbar-claim-preview .claim-preview-grid{grid-template-columns:1fr}
}


/* v1.6.4 — selezione touch e colori meeple */
@media (pointer:coarse){
  .interactive-meeple,.interactive-favor,.interactive-display-card,
  .interactive-claim-card,.interactive-storehouse-card,.assignment-target,
  .interactive-board-space,.interactive-project{touch-action:manipulation}
  .tap-source-selected{outline:3px solid #d97816!important;outline-offset:2px;box-shadow:0 0 0 4px rgba(217,120,22,.18)}
  #interactive-game.tap-moving .interactive-board-space,
  #interactive-game.tap-relocating .interactive-board-space,
  #interactive-game.tap-favor .favor-drop-zone,
  #interactive-game.tap-claim-card .assignment-target,
  #interactive-game.tap-storehouse-card .assignment-target:not(.storehouse-target){
    box-shadow:inset 0 0 0 2px #d97816;
    background:#fff7e8
  }
  #interactive-game.tap-moving .interactive-board-space,
  #interactive-game.tap-relocating .interactive-board-space,
  #interactive-game.tap-favor .favor-drop-zone,
  #interactive-game.tap-claim-card .assignment-target,
  #interactive-game.tap-storehouse-card .assignment-target:not(.storehouse-target){cursor:pointer}
}


/* v1.6.5 — correzione colori e indicatori touch sempre visibili */
.meeple-token.color-red{color:#bf3232!important;background:#bf3232!important}
.meeple-token.color-blue{color:#2f63c6!important;background:#2f63c6!important}
.meeple-token.color-yellow{color:#ddb22f!important;background:#ddb22f!important}
.meeple-token.color-green{color:#2d8f5a!important;background:#2d8f5a!important}

.tap-source-selected,.interactive-display-card.selected,.interactive-claim-card.selected,.interactive-storehouse-card.selected{
  outline:3px solid #d97816!important;
  outline-offset:2px;
  box-shadow:0 0 0 4px rgba(217,120,22,.2)!important;
}
#interactive-game.tap-moving .interactive-board-space,
#interactive-game.tap-relocating .interactive-board-space,
#interactive-game.tap-favor .favor-drop-zone,
#interactive-game.tap-claim-card .assignment-target,
#interactive-game.tap-storehouse-card .assignment-target:not(.storehouse-target){
  box-shadow:inset 0 0 0 3px #d97816!important;
  background:#fff3d9!important;
}
#interactive-game.tap-display-card .daimyo-column.tap-valid-column{
  outline:4px solid #d97816!important;
  outline-offset:2px;
  background:#fff3d9!important;
  box-shadow:0 0 0 5px rgba(217,120,22,.18)!important;
}
#interactive-game.tap-display-card .daimyo-column.tap-valid-column .interactive-board-space{
  background:#fff8ea!important;
}
.assignment-target.drop-target,.interactive-board-space.drop-target{
  box-shadow:inset 0 0 0 4px #d97816!important;
  background:#fff0cb!important;
}
@media (max-width:980px){
  .interactive-board-space,.assignment-target,.interactive-display-card,.interactive-claim-card,.interactive-storehouse-card,.interactive-favor,.interactive-meeple{touch-action:manipulation}
  #interactive-game.tap-claim-card .assignment-target,
  #interactive-game.tap-storehouse-card .assignment-target:not(.storehouse-target){
    position:relative;
  }
  #interactive-game.tap-claim-card .assignment-target::after,
  #interactive-game.tap-storehouse-card .assignment-target:not(.storehouse-target)::after{
    content:'TOCCA QUI';
    position:absolute;
    right:5px;
    top:5px;
    z-index:5;
    padding:3px 7px;
    border-radius:999px;
    background:#d97816;
    color:#fff;
    font-size:.65rem;
    font-weight:700;
  }
}

/* v1.6.6 — cascata, intestazioni Daimyo e movimento mobile */
.daimyo-column.pending-column{
  outline:4px solid #e08516!important;
  outline-offset:2px;
  background:#fff1ce!important;
  box-shadow:0 0 0 6px rgba(224,133,22,.22)!important;
}
.daimyo-tile-space .row-number{display:none}
.daimyo-tile-space{grid-template-columns:1fr;min-height:58px}
.daimyo-tile-space .space-content{justify-content:flex-start;align-items:center;min-height:46px}
.board-space .meeple-token{width:28px;height:28px}
.daimyo-tile-space .meeple-token{width:30px;height:30px}
.claim-manual-selection{margin:10px 0}
.claim-manual-selection summary{font-weight:700}
.claim-manual-selection[open]{padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2)}
@media (max-width:980px){
  .board-space .meeple-token{width:30px;height:30px}
  .daimyo-tile-space .meeple-token{width:32px;height:32px}
  .daimyo-column.pending-column{scroll-margin-inline:12px}
}

/* v1.7.0 — registro dettagliato */
.game-log-details > summary{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:700;list-style:none}
.game-log-details > summary::-webkit-details-marker{display:none}
.game-log-details > summary::before{content:'▸';display:inline-block;transition:transform .15s ease}
.game-log-details[open] > summary::before{transform:rotate(90deg)}
.game-log{margin:12px 0 0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:7px;max-height:min(70vh,720px);overflow:auto}
.game-log li{display:grid;grid-template-columns:minmax(150px,auto) 1fr;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff}
.game-log-meta{font-size:.73rem;color:var(--muted);font-weight:700;white-space:nowrap}
.game-log-message{font-size:.88rem;min-width:0}
@media (max-width:680px){
  .game-log li{grid-template-columns:1fr;gap:3px}
  .game-log-meta{white-space:normal}
}


/* v1.7.1 — footer centrato e terminologia risorse */
.site-footer{width:100%;text-align:center;padding:14px 12px 18px;color:var(--muted);font-size:.85rem}

/* v1.7.3 — area avversari */
.opponents-panel{margin-top:0}
.opponents-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;margin-top:10px}
.opponent-card{background:var(--panel-2);border:1px solid var(--line);border-radius:14px;padding:10px}
.opponent-card h3{margin-top:12px}
.opponent-projects-grid,.opponent-workshops-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px}
.opponent-card .mini-project{background:#fff}
@media(max-width:680px){.opponents-grid,.opponent-projects-grid,.opponent-workshops-grid{grid-template-columns:1fr}}


/* v1.7.6 — Ufficio degli Approvvigionamenti: scelta grafica 1 volta per ciclo */
.supply-office-overlay{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.46);display:flex;align-items:center;justify-content:center;padding:16px}
.supply-office-dialog{width:min(560px,100%);background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.28);padding:18px}
.supply-office-dialog h3{margin:0 0 8px}
.supply-office-dialog p{margin:0 0 14px}
.supply-office-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px}
.supply-office-buttons .secondary{grid-column:1/-1}
.cycle-end-supply-office,.cycle-end-capimastri{margin:12px 0;background:#fff8e8}
@media(max-width:680px){.supply-office-buttons{grid-template-columns:1fr}.supply-office-buttons .secondary{grid-column:auto}}

/* v1.7.8: opzioni partita e decisione meeple durante il Claim */
.checkbox-label {
  display: flex;
  align-items: center;
  gap: .55rem;
}
.checkbox-label input[type="checkbox"] {
  width: auto;
  margin: 0;
}
.claim-cancel-options {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin: .75rem 0 1rem;
}
.claim-cancel-form {
  margin: 0;
}
.claim-cancel-options .project-choice-button {
  position: relative;
  min-width: 92px;
}
.claim-cancel-options .small-badge {
  display: block;
  margin-top: .35rem;
}


/* v1.8.21 — barra stato compatta in alto */
.game-status-strip{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin:0 0 6px;
  padding:5px 10px;
  min-height:28px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fbf8f2;
  box-shadow:0 1px 3px rgba(0,0,0,.04);
  font-size:.76rem;
  line-height:1.15
}
.game-status-strip span{white-space:nowrap;color:var(--muted)}
.game-status-strip b{color:var(--text);font-weight:700}
.game-status-strip strong{color:var(--text);font-size:inherit}
.game-status-strip a{text-decoration:none;font-weight:700}
.game-status-strip .status-convocation{color:#a32626;font-weight:700}
.game-status-strip .status-room{margin-left:auto}
.project-extra-choice{
  display:flex;
  align-items:flex-end;
  gap:10px;
  flex-wrap:wrap;
  padding:8px 10px;
  margin:6px 0;
  border:1px solid var(--line);
  border-radius:10px;
  background:#f8f3ea
}
.project-extra-choice form{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;margin:0}
.project-extra-choice label{margin:0;min-width:230px}
.late-turn-pass-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  padding:7px 9px;
  margin:0 0 8px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff8ec;
  font-size:.82rem
}
.late-turn-pass-row form{margin:0}

@media (max-width:980px){
  .game-status-strip{gap:7px 10px;padding:5px 8px}
  .game-status-strip .status-room{margin-left:0}
}
