.vision-desktop-notice{text-align:center;align-content:center;justify-items:center;gap:16px;min-height:calc(100vh - 210px);display:grid}.vision-desktop-notice h1{margin:0;font-size:clamp(26px,3vw,40px)}.vision-desktop-notice .tool-card{width:min(100%,650px)}.vision-desktop-notice .tool-card p{margin:0;font-size:19px;font-weight:650}.vision-page{max-width:1180px}.vision-page .tool-heading{gap:15px}.vision-dot{border:1px solid var(--border);white-space:nowrap;color:var(--green);border-radius:999px;padding:7px 11px;font-size:11px;font-weight:800}.vision-content{grid-template-columns:minmax(0,.95fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}.vision-content .tool-card{padding:16px}.vision-steps{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);justify-content:space-between;gap:3px;margin-bottom:11px;font-size:10px;font-weight:800;display:flex}.vision-steps .done{color:var(--green)}.vision-preview{background:#10191d;border-radius:11px;justify-content:center;align-items:center;min-height:220px;display:flex;position:relative;overflow:hidden}.vision-preview canvas{object-fit:contain;touch-action:manipulation;width:100%;height:auto;max-height:min(68svh,680px);display:block}.vision-preview .vision-calibration-target{cursor:crosshair}.vision-native-video{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.vision-placeholder{text-align:center;color:#f0eadd;max-width:280px;padding:48px 15px}.vision-placeholder>span{opacity:.65;font-size:48px}.vision-placeholder p{font-size:15px;font-weight:750;line-height:1.6}.vision-placeholder small{color:#bec5c2;font-size:12px}.vision-overlay-label{color:#fff;pointer-events:none;background:#081c24c7;border-radius:8px;padding:8px 10px;font-size:11px;font-weight:800;position:absolute;top:9px;left:9px;right:9px}.vision-page .tool-actions.vision-actions{margin-top:12px}.vision-page .tool-actions>button{flex:1;min-width:120px}.vision-full{width:100%;margin-top:12px;display:block}.vision-status{background:var(--panel2);white-space:normal;border-radius:10px;margin-top:14px;padding:12px 14px;font-size:13px;line-height:1.6}.vision-warning{color:var(--ui-danger,#f87)}.vision-game-card h2{margin:0 0 7px}.vision-digital-board{aspect-ratio:1;border-radius:7px;grid-template-columns:repeat(8,minmax(0,1fr));width:100%;max-width:460px;margin:14px auto 10px;display:grid;overflow:hidden}.vision-digital-square{justify-content:center;align-items:center;min-width:0;display:flex;position:relative}.vision-digital-square.light{background:#f0d9b5}.vision-digital-square.dark{background:#b58863}.vision-digital-square.last{box-shadow:inset 0 0 0 100px #e8cf5b58}.vision-digital-square img{object-fit:contain;width:100%;height:100%}.vision-mini-status{color:var(--muted);justify-content:space-between;padding:6px 2px;font-size:12px;display:flex}.vision-history{border:1px solid var(--border);border-radius:8px;min-height:55px;max-height:125px;margin:10px 0 16px;overflow:auto}.vision-history>p{padding:10px}.vision-turn{grid-template-columns:43px 1fr 1fr;gap:6px;padding:6px 12px;font-size:13px;display:grid}.vision-turn:nth-child(odd){background:var(--panel2)}.vision-turn span{color:var(--muted)}.vision-turn b{font-weight:600}.vision-game-card .tool-field{margin:10px 0}.vision-result-actions{margin-top:14px}.vision-manual-correction{border-top:1px solid var(--border);margin-top:18px;padding-top:15px}.vision-manual-correction summary{cursor:pointer;color:var(--muted);font-size:13px;font-weight:700}.vision-manual-correction .tool-actions{margin-top:11px;display:flex}.vision-manual-correction .tool-actions input{flex:1;min-width:100px;margin:0}.vision-manual-correction .tool-actions button{flex:0;min-width:85px}.vision-footnote{color:var(--muted);margin-top:19px;font-size:12px;line-height:1.65}@media (max-width:800px){.vision-content{grid-template-columns:1fr}.vision-page .tool-heading{align-items:flex-start}.vision-dot{font-size:10px}.vision-content .tool-card{padding:12px}.vision-page .tool-actions>button{min-width:115px}}
.vision-preview canvas{object-fit:fill!important;height:auto!important;max-height:none!important}.vision-inactive canvas{display:none!important}.vision-inactive .vision-placeholder{flex:1}
