/* Only the right meeting illustration. Source coordinates: 2120 × 742. */
.fv-presentation { position:absolute; inset:0; pointer-events:none; }
.fv-presentation-art { display:block; width:100%; height:100%; overflow:hidden; }
.fv-presentation--mobile { display:none; }
.presentation-background,.presentation-foreground { pointer-events:none; }
.presentation-frame { box-sizing:border-box; width:100%; height:100%; display:flex; flex-direction:column; padding:22px 28px 10px; border:2px solid #82dce2; border-radius:15px; background:linear-gradient(155deg,rgba(255,255,255,.96),rgba(235,251,253,.89)); color:#163951; font-family:'Noto Sans JP',sans-serif; box-shadow:0 5px 16px #16475c14; }
.presentation-viewport { position:relative; flex:1; min-height:0; overflow:hidden; isolation:isolate; }
.presentation-slide { position:absolute; inset:0; margin:0; opacity:1; }
.presentation-slide[hidden] { display:none; }
.presentation-heading { display:flex; align-items:center; gap:18px; height:58px; margin-bottom:16px; color:#009caa; }
.presentation-heading h2 { margin:0; color:#0b244d; font-size:31px; line-height:1.3; font-weight:750; letter-spacing:0; }
.presentation-icon { width:39px; height:39px; flex-shrink:0; }
.presentation-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:22px; }
.presentation-field { position:relative; padding:14px 15px; background:#ffffffb3; border:1px solid #d6ecf0; border-radius:8px; font-size:24px; }
.presentation-field strong { display:block; font-weight:650; margin-bottom:16px; }
.presentation-select { display:flex; align-items:center; justify-content:space-between; color:#42657b; font-size:22px; }
.presentation-select span { color:#008f9f; }
.presentation-highlight { position:absolute; inset:0; border:2px solid #079e9e; border-radius:inherit; background:#3ec5b733; opacity:0; pointer-events:none; }
.presentation-search-action { display:flex; justify-content:flex-end; margin-top:24px; }
.presentation-pseudo-button { position:relative; display:flex; align-items:center; justify-content:center; gap:30px; width:285px; height:57px; border-radius:7px; background:#009faa; color:#fff; font-size:24px; font-weight:700; }
.presentation-pseudo-button > span:not(.presentation-highlight) { font-size:30px; line-height:1; }
.presentation-pseudo-button .presentation-highlight { background:#b1fff633; border-color:#006f7c; }
.presentation-comparison { width:100%; border-collapse:collapse; table-layout:fixed; color:#214b67; font-size:22px; text-align:center; }
.presentation-comparison th,.presentation-comparison td { font-weight:500; padding:9px 3px; border-bottom:1px solid #cae7eb; line-height:1.3; }
.presentation-comparison th:first-child,.presentation-comparison td:first-child { width:100px; text-align:left; font-size:21px; }
.presentation-comparison thead th { font-weight:650; padding-top:0; }
.presentation-comparison thead span { display:inline-block; vertical-align:middle; }
.presentation-thumb { display:block; width:90px; height:66px; border-radius:3px; flex-shrink:0; }
.presentation-comparison .presentation-thumb { display:inline-block; vertical-align:middle; width:66px; height:51px; margin-right:10px; }
.presentation-progress { position:absolute; right:4px; top:14px; display:flex; align-items:center; gap:12px; font-size:21px; color:#42657b; }
.presentation-progress > span { display:block; width:117px; height:7px; background:#bdeff4; border-radius:4px; overflow:hidden; }
.presentation-progress i { display:block; width:18%; height:100%; background:#009da9; border-radius:4px; }
.presentation-progress b { font-weight:500; }
.presentation-question { margin:0 0 12px; font-size:23px; font-weight:650; }
.presentation-answers { list-style:none; padding:0; margin:0; display:grid; gap:6px; }
.presentation-answers li { position:relative; display:flex; align-items:center; gap:12px; height:38px; box-sizing:border-box; padding:0 12px; border-radius:5px; font-size:22px; }
.presentation-answers li.is-selected { background:#62d4c63b; }
.presentation-radio { display:block; width:24px; height:24px; border:2px solid #aad5e0; border-radius:50%; box-sizing:border-box; flex-shrink:0; }
.is-selected .presentation-radio { color:white; background:#00a9ad; border-color:#00a9ad; }
.presentation-radio svg { display:block; width:100%; height:100%; }
.presentation-next { position:absolute; bottom:8px; right:0; width:136px; height:39px; font-size:21px; }
.presentation-answers li:last-child { padding-right:145px; }
.presentation-proposals { display:flex; flex-direction:column; gap:10px; }
.presentation-candidate { position:relative; display:flex; align-items:center; gap:20px; padding:8px 14px; border:1px solid #d6edf0; border-radius:7px; background:#ffffffbf; min-height:61px; box-sizing:border-box; }
.presentation-candidate > div { display:flex; align-items:baseline; gap:12px; }
.presentation-candidate strong { font-size:24px; font-weight:650; }
.presentation-candidate > div > span { font-size:21px; }
.presentation-candidate .presentation-thumb { height:54px; width:75px; }
.presentation-candidate-arrow { margin-left:auto; color:#009ca7; font-size:29px; }
.presentation-controls { display:flex; gap:8px; align-items:center; flex-shrink:0; height:60px; border-top:1px solid #bee4e8; margin-top:10px; pointer-events:auto; }
.presentation-controls button { position:relative; display:flex; align-items:center; justify-content:center; gap:7px; width:106px; height:52px; padding:0; border:0; border-radius:4px; color:#365c72; background:transparent; font:600 23px/1.2 'Noto Sans JP',sans-serif; cursor:pointer; }
.presentation-controls button[aria-pressed=true] { color:#008b92; }
.presentation-controls button[aria-pressed=true]::after { content:''; position:absolute; bottom:2px; width:30px; height:3px; border-radius:2px; background:#009d9e; }
.presentation-controls button:hover:not(:disabled) { background:#079e9e12; }
.presentation-controls button:focus-visible { outline:3px solid #007b8a; outline-offset:-3px; background:#e3f6f5; }
.presentation-controls button:disabled { cursor:default; }
.presentation-controls .presentation-play { margin-left:auto; width:127px; font-size:20px; }
.presentation-play svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:2.3; }
.presentation-play-icon { display:none; }
.presentation-play[data-paused=true] .presentation-play-icon { display:block; }
.presentation-play[data-paused=true] .presentation-pause-icon { display:none; }
.presentation-play:disabled { color:#456476; }
.presentation-slide.is-demo-pending [data-demo=check],
.presentation-slide.is-demo-pending [data-demo^=candidate-] { opacity:0; }
.presentation-slide.is-demo-pending .presentation-answers .is-selected { background:transparent; }
/* The same source-space composition is reframed like the previous mobile SVG.
   Larger in-screen type and a compact layout compensate for the mobile scale. */
.fv-presentation--mobile .presentation-frame { padding:15px 24px 4px; border-width:3px; }
.fv-presentation--mobile .presentation-heading { height:61px; gap:20px; margin-bottom:9px; }
.fv-presentation--mobile .presentation-heading h2 { font-size:53px; }
.fv-presentation--mobile .presentation-icon { width:52px; height:52px; }
.fv-presentation--mobile .presentation-fields { margin-top:21px; gap:17px; }
.fv-presentation--mobile .presentation-field { font-size:42px; padding:17px 15px; }
.fv-presentation--mobile .presentation-field strong { margin-bottom:22px; }
.fv-presentation--mobile .presentation-select { font-size:40px; }
.fv-presentation--mobile .presentation-search-action { margin-top:20px; }
.fv-presentation--mobile .presentation-pseudo-button { width:420px; height:72px; font-size:42px; }
.fv-presentation--mobile .presentation-pseudo-button > span:not(.presentation-highlight) { font-size:43px; }
.fv-presentation--mobile .presentation-controls { height:112px; gap:8px; margin-top:9px; }
.fv-presentation--mobile .presentation-controls button { width:162px; height:112px; font-size:43px; }
.fv-presentation--mobile .presentation-controls button[aria-pressed=true]::after { width:53px; height:5px; bottom:13px; }
.fv-presentation--mobile .presentation-controls .presentation-play { width:184px; font-size:40px; }
.fv-presentation--mobile .presentation-play svg { width:35px; height:35px; }
.fv-presentation--mobile .presentation-controls button:focus-visible { outline-width:7px; outline-offset:-7px; }
.fv-presentation--mobile .presentation-comparison { font-size:40px; }
.fv-presentation--mobile .presentation-comparison th,.fv-presentation--mobile .presentation-comparison td { padding:13px 3px; }
.fv-presentation--mobile .presentation-comparison th:first-child,.fv-presentation--mobile .presentation-comparison td:first-child { width:155px; font-size:38px; }
.fv-presentation--mobile .presentation-comparison .presentation-thumb { display:none; }
.fv-presentation--mobile .presentation-comparison tbody tr:last-child { display:none; }
.fv-presentation--mobile .presentation-progress { top:20px; font-size:36px; gap:15px; }
.fv-presentation--mobile .presentation-progress > span { width:145px; height:10px; }
.fv-presentation--mobile .presentation-question { font-size:39px; margin-bottom:4px; }
.fv-presentation--mobile .presentation-answers { gap:1px; }
.fv-presentation--mobile .presentation-answers li { height:47px; font-size:39px; gap:17px; }
.fv-presentation--mobile .presentation-radio { width:36px; height:36px; border-width:3px; }
.fv-presentation--mobile .presentation-next { bottom:0; width:165px; height:45px; font-size:35px; gap:10px; }
.fv-presentation--mobile .presentation-answers li:last-child { padding-right:178px; }
.fv-presentation--mobile .presentation-proposals { gap:9px; }
.fv-presentation--mobile .presentation-candidate { padding:7px 10px; min-height:77px; gap:18px; }
.fv-presentation--mobile .presentation-candidate .presentation-thumb { width:88px; height:65px; }
.fv-presentation--mobile .presentation-candidate > div { display:block; }
.fv-presentation--mobile .presentation-candidate strong { font-size:39px; }
.fv-presentation--mobile .presentation-candidate > div > span { font-size:35px; margin-left:12px; }
.fv-presentation--mobile .presentation-candidate-arrow { font-size:40px; }
@media(max-width:1023px) {
 .fv-presentation--desktop { display:none; }
 .fv-presentation--mobile { display:block; }
}
@media(prefers-reduced-motion:reduce) {
 .presentation-slide { transform:none !important; }
 .presentation-candidate { transform:none !important; }
}
/* Let the new right-side controls receive input through the empty part of the
   existing copy container. Actual left-side content keeps its original input. */
.fv-meeting .fv-hero__inner { pointer-events:none; }
.fv-meeting .fv-hero__copy { pointer-events:auto; }
.fv-presentation--desktop .presentation-candidate .presentation-thumb { height:46px; width:69px; }
.fv-presentation--mobile .presentation-field { padding:12px 14px; line-height:1.4; }
.fv-presentation--mobile .presentation-field strong { margin-bottom:12px; }
.fv-presentation--mobile .presentation-select { line-height:1.3; }
