﻿/* Compact touch controls and chapter path. */
.hud .hud-settings-btn{width:40px!important;height:40px!important;min-width:40px!important;flex:0 0 40px!important;border:0!important;background:transparent!important;border-radius:50%!important;box-shadow:none!important}.hud .hud-settings-btn i{font-size:19px!important}
.tab-nav-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.screen-root .btn{min-height:40px;padding:8px 12px;font-size:13px;border-radius:12px}.screen-root .compact-return,.wp-complete-card .btn{width:auto;min-width:44px;min-height:44px;padding:8px 14px;font-size:13px}
.screen-root .login-card .btn { min-height: 0; font-size: inherit; padding: 12px 14px; border-radius: 12px; }
.login-auth-panels { display: grid; min-width: 0; }
.login-auth-panels > [data-auth-panel] { grid-area: 1 / 1; min-width: 0; align-content: space-between; }
.google-sign-in { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; min-height:68px; }
.google-sign-in > .btn { width:100%; }
.google-sign-in small { color:#b6ad97; font-size:11px; text-align:center; }
.login-card .google-sign-in .btn:disabled { cursor:default !important; }
.google-sign-in[hidden] { display:none; }
.board-selection-bar{min-height:40px;display:flex;align-items:center;gap:8px;border-bottom:1px solid #b7cdd926;padding:2px 4px 6px}.board-selection-bar>div{flex:1;min-width:0}.board-selection-bar strong,.board-selection-bar small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-selection-bar strong{color:#e5eef3;font-size:11px;line-height:1.4}.board-selection-bar small{color:#a7c2d4;font-size:10px;line-height:1.4}.board-info-button{width:40px;min-height:40px;flex:0 0 40px;border:0;border-radius:50%;background:transparent;color:#9fd8f3;font-size:22px;cursor:pointer}.field-ops-grid .btn{min-height:36px;padding:4px!important;gap:2px;font-size:10px!important;border-radius:8px!important}.producer-drops{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 16px}.producer-drops>div{display:grid;justify-items:center;padding:10px;border-radius:12px;background:#263d4c}.producer-drops b{color:#cadfeb;font-size:11px}.producer-info-card{width:min(92vw,380px);max-height:80dvh;overflow-y:auto}.producer-info-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.producer-info-row{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px}.producer-info-name{font-size:10px;text-align:center}
.wp-stage .wp-back{width:40px;height:40px;min-width:40px;background:#1d2b30d9;border:1px solid #647573;border-radius:50%;box-shadow:none;color:#e9d29a;font-size:20px}.wp-back::before,.wp-back::after{content:none}.wp-stage .wp-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.wp-stage .wp-action-btn{flex-direction:column;min-width:0;min-height:44px;height:auto;gap:3px;padding:5px 3px;border-radius:10px;font-size:11px;line-height:1.25;letter-spacing:0}.wp-stage .wp-action-btn span{padding:0;white-space:nowrap;overflow:visible;text-indent:0;line-height:1.35;font-family:Arial,sans-serif;font-size:11px;letter-spacing:0}.wp-stage .wp-action-btn>i{font-size:15px}.wp-stage .wp-hint-cost{font-size:9px;white-space:nowrap}.wp-stage .wp-hint-badge{right:-3px;top:-4px}
.wp-stage .round-solved-stamp,.round-solved-stamp{width:clamp(140px,35vw,180px);min-width:0;max-width:70%;aspect-ratio:1;padding:0;border:0;border-radius:50%;background:#edddbf;box-shadow:0 8px 18px #0005;transform:translate(-50%,-50%) rotate(-12deg)}.round-solved-stamp img{display:block;width:100%;height:100%;object-fit:contain}.case-complete-stamp{width:160px;min-width:0;height:160px;padding:0;border:0;border-radius:50%;background:#edddbf url('./assets/ui/case-solved-round.png') center/contain no-repeat;color:transparent;font-size:0;text-shadow:none}
.crime-icon-balloon:focus-visible,.board-info-button:focus-visible{outline:2px solid #f0cb72;outline-offset:4px;border-radius:12px}

.board-selection-bar>.board-item-art-slot,.producer-drops .board-item-art-slot,.producer-info-row>.board-item-art-slot{position:relative;inset:auto;display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;min-width:40px;min-height:40px}
.board-selection-bar>.board-item-art-slot{flex-basis:32px;width:32px;height:32px;min-width:32px;min-height:32px}
.producer-drops .board-item-art-slot img,.producer-info-row>.board-item-art-slot img,.board-selection-bar>.board-item-art-slot img{position:static;display:block;width:100%;height:100%;object-fit:contain}
.board-content .board-playfield { padding: 0; }
.board-content .board-toolbar { grid-template-columns: minmax(0, 1fr) auto; align-items: center; height: 54px; min-height: 54px; max-height: 54px; overflow: hidden; }
.board-toolbar .board-selection-bar { height: 40px; min-height: 40px; padding: 0; border: 0; gap: 6px; min-width: 0; }
.board-toolbar .board-selection-bar > i { width: 32px; flex: 0 0 32px; }
.board-toolbar .board-info-button { width: 32px; height: 32px; min-height: 32px; flex: 0 0 32px; font-size: 20px; }
.board-toolbar .field-ops-grid { display: flex; gap: 4px; margin: 0; }
.board-content .board-toolbar .field-ops-grid .btn { width: 40px; min-width: 40px; height: 40px; min-height: 40px; padding: 3px !important; }
.board-toolbar .field-ops-grid .btn > i { font-size: 15px; }
.board-content .board-toolbar .board-operation-cost { font-size: 9px; line-height: 1.2; gap: 2px; white-space: nowrap; }
.board-content button.request-character { pointer-events: auto; border: 0; padding: 0; background: transparent; cursor: pointer; }
.request-items button.req-chip { font-family: inherit; color: inherit; cursor: pointer; }
.screen-root.board-content .request-demand-card .request-submit {
  position: absolute;
  top: -7px;
  right: -7px;
  width: 28px;
  height: 28px;
  min-width: 28px;
  min-height: 28px;
  padding: 0;
  display: grid;
  place-items: center;
  border: 2px solid #203444;
  border-radius: 50%;
  font-size: 12px;
  box-shadow: 0 2px 5px #0005;
}
.request-character:focus-visible,.request-items button.req-chip:focus-visible { outline: 2px solid #f5c73d; outline-offset: 3px; }
.board-root { position:relative; }
.board-root > .detective-coach { position:absolute; right:8px; top:6px; width:34px; margin:0; font-size:11px; }
.board-root > .detective-coach summary { padding:8px; }
.board-root > .detective-coach summary::after { display:none; }
.board-root > .detective-coach details:not([open]) summary > span { display:none; }
.board-root > .detective-coach details[open] { position:absolute; right:0; top:0; width:min(280px,calc(100vw - 48px)); background:#152736; border:1px solid #bea269; border-radius:12px; }
.screen-root.board-content .request-submit { position:relative!important; top:auto!important; right:auto!important; flex:0 0 32px; width:32px!important; min-width:32px!important; height:32px!important; min-height:32px!important; touch-action:manipulation; z-index:4; }
.order-source-section { padding: 12px 0; border-top: 1px solid #d5e6ee24; }
.order-source-section h3 { margin: 0 0 10px; font-size: 14px; color: #efdaac; }
.order-source-producer { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.order-source-producer strong,.order-source-producer small { display: block; font-size: 12px; }
.order-source-producer small { margin-top: 4px; color: #a7c2d4; }
.order-source-card { width:min(94vw,440px); max-height:calc(100dvh - 24px); overflow:hidden; }
.order-source-chain { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; overflow:visible; padding:0; }
.order-source-chain > i { display:none; }
.order-source-chain > div { min-width:0; display:grid; justify-items:center; gap:3px; padding:4px; background:#263d4c; border-radius:10px; }
.order-source-chain > div > span:not(.board-item-art-slot) { overflow-wrap:anywhere; }
@media(max-height:650px) {
  .order-source-card { padding:12px; }
  .order-source-card .order-source-section { padding:6px 0; }
  .order-source-card .order-source-section h3 { margin-bottom:5px; font-size:12px; }
  .order-source-card .producer-info-hint { font-size:10px; margin:5px 0; }
  .order-source-card .order-source-chain > div > span:not(.board-item-art-slot) { font-size:8px; }
  .order-source-card .order-source-chain .board-item-art-slot { width:28px;height:28px;flex-basis:28px; }
  .order-source-card .order-source-chain img { width:28px;height:28px; }
}
.order-source-chain > div > span:not(.board-item-art-slot) { font-size: 10px; text-align: center; }
.order-source-chain b { font-size: 10px; color: #e5ca88; }
.order-source-producer > .board-item-art-slot,.order-source-chain .board-item-art-slot { position: relative; inset: auto; flex: 0 0 40px; width: 40px; height: 40px; }
.order-source-card .board-item-art-slot img { position: static; width: 40px; height: 40px; max-width: none; max-height: none; object-fit: contain; }
.producer-info-list .producer-info-row { min-width: 0; max-width: 100%; }
.producer-info-list .producer-info-name { width: 100%; min-width: 0; white-space: normal; overflow-wrap: anywhere; line-height: 1.35; text-align: center; }
.producer-info-level { font-size: 10px; color: #e5ca88; line-height: 1.3; }
@media(max-width:380px){.hud .resource-pill{padding:3px 4px!important;gap:3px!important}.hud .hud-settings-btn{min-width:36px!important;width:36px!important;flex-basis:36px!important}}
@media(prefers-reduced-motion:reduce){.case-complete-stamp{animation:none}}

.region-map { overflow:hidden!important; }
.screen-root.map-content { display:flex; flex-direction:column; overflow:hidden; }
.screen-root.map-content > .region-map { flex:1 1 0; height:auto!important; min-height:0; }
.region-map .map-scene { min-height:0; height:100%; flex:1 1 0; }
.region-map .balloon-body { position:relative; }
.region-map .crime-icon-balloon.size-md { width:clamp(44px,16vw,80px); }
.region-map .marker-title { font-size:clamp(7px,2vw,9px); }
.region-map .balloon-body { padding:3px; gap:1px; }
.region-map .crime-order-badge { position:absolute; top:-6px; left:50%; transform:translateX(-50%); font-size:7px; min-width:18px; }
.region-map .marker-title { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.region-map .marker-subtitle { font-size:6px; line-height:1; }
.region-map .marker-icon { width:16px; height:16px; }
.region-map .marker-icon i { font-size:12px; }
.region-map .crime-lock-note { font-size:6px; line-height:1.1; white-space:nowrap; max-width:100%; overflow:hidden; text-overflow:ellipsis; }
.region-map .region-switch { position:absolute; top:0; right:0; margin:0; gap:4px; }
.region-map .region-switch button { font-size:10px; padding:5px 6px; }
.region-map h2 { max-width:calc(100% - 96px); }
.region-map .map-scene > div[style] > div { width:100%; }
.region-switch { display:flex;gap:8px;margin-top:8px; }
.region-switch button,.region-congratulations button { border:1px solid #9f8550;border-radius:12px;padding:8px 14px;color:#f6dd99;background:#14232e; }
.region-congratulations {position:absolute;inset:100px 12px auto;z-index:80;background:#14232e;padding:16px;border:1px solid #d2b271;border-radius:14px;display:grid;gap:12px;}

.wp-stage .wp-action-btn .wp-hint-badge { left:auto; right:-3px; top:-5px; width:22px; min-width:22px; max-width:22px; height:22px; padding:0; border-radius:50%; box-sizing:border-box; display:grid; place-items:center; line-height:1; }
.wp-stage .wp-left-panel.wp-clue-drawer .wp-left-header { display:grid; grid-template-columns:minmax(0,1fr); align-items:start; gap:10px; }
.wp-stage .wp-left-panel.wp-clue-drawer .wp-left-header h2 { box-sizing:border-box; width:100%; max-width:100%; min-width:0; min-height:70px; padding:10px 12px; gap:6px; background:linear-gradient(135deg,#10191b,#070b0d); border:1px solid #7f6b45; border-radius:3px; align-items:stretch; justify-content:flex-start; }
.wp-stage .wp-left-panel.wp-clue-drawer .wp-left-header h2 small { width:100%; max-width:100%; min-width:0; white-space:normal; overflow-wrap:anywhere; word-break:normal; font-size:13px; line-height:1.45; }

.localized-case-stamp { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; padding:18px!important; box-sizing:border-box; background:#ecddbc!important; color:#8e1715; border:5px double #8e1715; outline:3px solid #ecddbc; box-shadow:inset 0 0 0 5px #ecddbc,inset 0 0 0 8px #8e1715,0 7px 18px #0005; text-align:center; }
.localized-case-stamp strong { font-family:Impact,'Arial Narrow',sans-serif; font-size:clamp(17px,5vw,27px); line-height:1.05; text-transform:uppercase; overflow-wrap:anywhere; max-width:100%; border-top:2px solid currentColor; border-bottom:2px solid currentColor; padding:5px 0; }
.localized-case-stamp>span { color:#8e1715; font-size:14px; letter-spacing:4px; }
.wp-stage .wp-center-label { min-width:0; }
.wp-stage .wp-center-label>span { white-space:normal; text-align:center; line-height:1.1; font-size:clamp(12px,3.5vw,18px); }
.wp-stage .wp-action-btn>span:not(.wp-hint-badge) { white-space:normal; overflow-wrap:anywhere; font-size:clamp(9px,2.5vw,11px); line-height:1.15; }
