/* The board gets the room; controls stay compact and the whole board fits the viewport. */
.result-page{max-width:1350px;padding-top:26px;padding-bottom:34px}
.result-top{align-items:center;margin-bottom:20px}
.result-top h1{font-size:42px;margin-top:9px}
.result-top .eyebrow{font-size:10px;letter-spacing:2px}
.result-layout{grid-template-columns:minmax(0,1fr) 220px;gap:24px;align-items:center}
.board-stage{padding:22px;display:flex;align-items:center;justify-content:center;background:#edf0e355;border:1px solid #dde3d355;border-radius:16px}
.board-fit{width:min(100%,calc(clamp(210px,100svh - 300px,740px)*1.43));flex-shrink:0}
.board-fit.portrait{width:min(100%,calc(clamp(210px,100svh - 300px,740px)*.75))}
.result-board-wrap .vision-board[data-orientation='portrait']{max-width:none;margin:0}
.board-tools{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px}
.board-tools p{display:flex;gap:7px;align-items:center;font-size:11px;color:var(--green)}
.board-tools p .icon{width:16px;height:16px}
.board-tools .btn{font-size:11px;min-height:38px;padding:8px 14px;gap:8px}
.board-tools .btn .icon{width:16px;height:16px}
.result-caption{font-size:26px;margin:8px 0 0}
.result-aside{padding:18px 15px;background:#f1f2e7;border-color:#e1e4d7;border-radius:14px}
.result-aside h3{font-size:27px;margin-bottom:13px}
.result-aside .action-button{padding:12px 10px;gap:8px;margin-bottom:9px}
.result-aside .action-button strong{font-size:11px}
.result-aside .action-button small{font-size:9px}
.result-aside .action-button>.icon{width:18px;height:18px}
.result-aside .revision-count{margin:0 0 14px;padding:9px 5px;font-size:9px;gap:5px;flex-wrap:wrap}
.result-aside .revision-count>.icon{width:12px;height:12px}
.result-aside>.btn{font-size:11px;min-height:43px;padding:10px 8px;gap:8px}
.result-aside>.btn .icon{width:17px;height:17px}
.result-disclaimer{font-size:9px;line-height:1.65;margin-top:13px}
.result-bottom{margin-top:20px}
.result-bottom .btn{min-height:38px;padding:8px 15px;font-size:10px}
.download-note{margin-top:16px;max-width:none;font-size:10px;padding:13px 17px}
.target-photo-summary{display:flex;align-items:center;gap:16px;padding:12px;border-radius:12px;background:#eeefe4;margin:12px 0 20px}
.target-photo-summary img{width:104px;height:90px;object-fit:cover;border:4px solid #fffdf7;transform:rotate(-3deg);box-shadow:0 3px 8px #34504420}
.target-photo-summary p{font-size:11px;margin:0;line-height:1.7}
.photo-import-action{background:#fff3bf;border-color:#d6c15e}
.revision-budget{font-size:11px!important;margin:17px 0!important;color:var(--forest)!important}
.undo-photo{font-size:11px;display:flex;align-items:center;gap:7px;background:transparent;padding:10px 0;text-decoration:underline;text-underline-offset:4px}
.undo-photo .icon{width:15px;height:15px}
.revision-summary{background:#edf0e3;border-left:3px solid var(--yellow);padding:14px 17px;margin:20px 0;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}
.revision-confirm-count{padding:18px;background:#f7e8ab;border-radius:12px;display:flex;align-items:center;gap:16px;margin-bottom:18px}
.revision-confirm-count strong{font:600 32px var(--serif);white-space:nowrap}
.revision-confirm-count span{font-size:11px;line-height:1.6}
dialog .dialog-actions{flex-wrap:wrap}
dialog .dialog-actions .btn{font-size:12px;min-height:45px;padding:11px 18px}
dialog .photo-preview{max-height:220px;margin:14px auto 12px}
.board-zoom{width:calc(100vw - 28px);max-width:1360px;max-height:calc(100svh - 28px);padding:22px 26px;border-radius:17px;background:var(--paper);overflow:auto}
.zoom-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.zoom-header h2{font-size:29px;margin:0 0 8px;padding:0}
.zoom-header .simulation-chip{font-size:9px;padding:4px 10px}
.zoom-header .btn{gap:7px;padding:9px 14px;font-size:11px;min-height:38px}
.zoom-header .btn .icon{width:16px;height:16px}
.zoom-controls{display:flex;gap:8px;align-items:center}
.board-zoom.zoom-details .zoom-stage{display:block;overflow:auto;max-height:calc(100svh - 220px);overscroll-behavior:contain;padding:8px}
.board-zoom.zoom-details .zoom-fit{width:145%;max-width:none;margin:12px;min-width:680px}
.board-zoom.zoom-details .zoom-fit.portrait{width:80%;min-width:550px}
.zoom-stage{display:flex;justify-content:center;align-items:center;padding:5px 16px}
.zoom-fit{width:min(100%,calc((100svh - 205px)*1.43))}
.zoom-fit.portrait{width:min(100%,calc((100svh - 205px)*.75))}
.zoom-hint{font-size:11px;text-align:center;margin:16px 0 0}
.board-zoom::backdrop{background:#1a3026c9;backdrop-filter:blur(7px)}
@media(max-width:1000px){.result-layout{grid-template-columns:minmax(0,1fr) 196px;gap:16px}.result-aside{padding:15px 12px}.result-aside h3{font-size:24px}.board-stage{padding:18px}.result-top h1{font-size:37px}}
@media(max-width:680px){
 .result-page{padding:21px 17px 28px}
 .result-top{display:flex;align-items:flex-start;flex-direction:column;gap:10px;margin-bottom:16px}
 .result-top h1{font-size:31px;letter-spacing:-.6px;margin-top:8px}
 .result-top .eyebrow{font-size:8px;letter-spacing:1.7px}
 .result-top>.simulation-chip{margin:0;font-size:9px;padding:5px 10px}
 .result-layout{grid-template-columns:1fr;gap:19px}
 .board-stage{padding:13px 12px;border-radius:12px}
 .board-fit{width:min(100%,calc(clamp(190px,100svh - 295px,690px)*1.43))}
 .board-fit.portrait{width:min(100%,calc(clamp(190px,100svh - 295px,690px)*.75))}
 .board-tools{gap:8px;margin-top:11px}
 .board-tools p{font-size:9px;gap:5px}
 .board-tools p .icon{width:13px;height:13px}
 .board-tools .btn{font-size:10px;padding:7px 10px;min-height:35px;gap:5px}
 .result-caption{font-size:23px;margin:4px 0 0}
 .result-aside{padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:10px;background:#eff1e6}
 .result-aside h3{font-size:25px;margin:0;align-self:center}
 .result-aside .revision-count{margin:0;padding:9px 7px;font-size:9px;justify-content:center;align-self:center}
 .result-aside .action-button{margin:0;min-height:58px;padding:12px 10px}
 .result-aside .action-button strong{font-size:10px}
 .result-aside .action-button small{font-size:9px}
 .result-aside>.btn{grid-column:1/-1;width:100%;min-height:43px;font-size:12px;margin-top:1px}
 .result-disclaimer{grid-column:1/-1;margin-top:0;font-size:9px}
 .result-bottom{margin-top:17px;gap:8px}
 .result-bottom .btn{padding:8px 11px;font-size:9px;gap:7px}
 .result-bottom .btn>.icon{width:15px;height:15px}
 .download-note{font-size:9px;padding:12px 14px;line-height:1.8}
 .target-photo-summary{gap:12px;padding:10px}
 .target-photo-summary img{width:85px;height:82px}
 .target-photo-summary p{font-size:10px}
 .revision-confirm-count{padding:14px;gap:14px}
 dialog .dialog-actions .btn{font-size:11px;padding:10px 14px}
 .board-zoom{width:calc(100vw - 14px);max-height:calc(100svh - 18px);padding:17px 12px}
 .zoom-header{gap:8px;align-items:flex-start;margin-bottom:18px}
 .zoom-header h2{font-size:25px}
 .zoom-header .btn{font-size:9px;padding:7px 10px;gap:5px;min-height:34px}
 .zoom-controls{flex-direction:column;align-items:stretch;gap:6px}
 .zoom-header .simulation-chip{font-size:8px;padding:4px 8px}
 .zoom-stage{padding:2px}
 .zoom-fit{width:min(100%,calc((100svh - 190px)*1.43))}
 .zoom-fit.portrait{width:min(100%,calc((100svh - 190px)*.75))}
 .zoom-hint{font-size:9px;margin-top:14px;line-height:1.7}
}
