.journey-card,.journey-dialog,.journey-reader{font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;box-sizing:border-box;line-height:1.65}
.journey-card *,.journey-dialog *,.journey-reader *{box-sizing:border-box}
.journey-card{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:28px;max-width:1120px;margin:66px auto 24px;padding:26px 32px;background:#f8f1df;border:1px solid #bda16a;border-radius:20px;color:#192e34;box-shadow:0 12px 30px #0002}
.journey-eyebrow{display:block;color:#76571c;font-size:12px;font-weight:700;letter-spacing:.1em}
.journey-card h2,.journey-dialog h2{margin:6px 0 10px;font-size:clamp(22px,3vw,29px);line-height:1.4;color:#19383c}
.journey-card p{margin:0;font-size:14px}.journey-actions{display:flex;flex-wrap:wrap;gap:8px;max-width:430px;justify-content:flex-end}
.journey-card button,.journey-dialog button,.journey-reader button{font:inherit;min-height:44px;border:1px solid #86764f;border-radius:9px;padding:10px 15px;background:#fffdf7;color:#233b3e;cursor:pointer}
.journey-card button.primary,.journey-dialog button.primary{background:#203f43;border-color:#203f43;color:white;font-weight:700}
.journey-card .quiet{background:transparent;border-color:transparent;font-size:13px}
.journey-card button:focus-visible,.journey-dialog button:focus-visible,.journey-dialog select:focus-visible,.journey-reader button:focus-visible{outline:3px solid #c87723;outline-offset:3px}
.journey-dialog{width:min(720px,calc(100vw - 28px));max-height:calc(100dvh - 32px);padding:30px;border:1px solid #d1bd91;border-radius:20px;background:#fffcf3;color:#243c3d;overflow:auto;overscroll-behavior:contain}
.journey-dialog::backdrop{background:#10252bdd;backdrop-filter:blur(4px)}
.journey-dialog .journey-close{display:block;margin-left:auto;margin-bottom:14px;padding:7px 12px;font-size:14px}
.journey-dialog label{display:block;font-size:13px;font-weight:700;margin:16px 0 6px}
.journey-dialog select{display:block;width:100%;min-width:0;min-height:48px;font:inherit;font-size:16px;border:1px solid #a3ada8;background:white;color:#243c3d;border-radius:9px;padding:10px;margin-bottom:18px;text-overflow:ellipsis}
.journey-dialog .primary{width:100%;margin-top:10px}.journey-muted{font-size:13px;color:#586b6b}
.journey-answer{background:#fff;border:1px solid #dbd5c5;border-radius:12px;padding:18px;margin:16px 0}.journey-answer h3{font-size:16px;margin:0;color:#7b5b24}.journey-answer p{overflow-wrap:anywhere}.journey-reason{white-space:pre-wrap;border-left:3px solid #caa663;padding-left:12px}
.journey-reader{position:absolute;bottom:0;left:0;right:0;z-index:22;padding:8px 14px calc(8px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;gap:12px;background:#f8f1e8;color:#19383c;border-top:1px solid #bfa67b;font-size:13px;flex-wrap:wrap}
.journey-reader-buttons{display:flex;gap:6px;justify-content:center}
#journeySaveStatus{font-size:12px;max-width:460px;overflow-wrap:anywhere}#journeySaveStatus[data-state=error]{color:#9b241c;font-weight:bold}#journeySaveStatus[data-state=saved]{color:#276649}
#viewer.active .stage{margin-bottom:var(--journey-reader-height,90px);height:calc(100dvh - var(--journey-reader-height,90px));max-height:calc(100dvh - var(--journey-reader-height,90px))}
#viewer .wai-cbox{bottom:calc(var(--journey-reader-height,90px) + 8px);max-height:calc(100dvh - var(--journey-reader-height,90px) - 36px);overflow:auto}
#viewer .finale{bottom:calc(var(--journey-reader-height,90px) + 8px);max-height:calc(100dvh - var(--journey-reader-height,90px) - 24px);overflow:auto;padding-bottom:16px}
.journey-dialog button:disabled,.journey-reader button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:700px){.journey-card{margin:56px 14px 18px;padding:20px;display:block}.journey-actions{margin-top:16px;justify-content:flex-start;max-width:none;gap:8px}.journey-actions button{flex:1 1 auto;font-size:14px}.journey-actions .primary{flex-basis:100%}.journey-dialog{padding:20px}.journey-reader{gap:5px 12px;padding-left:8px;padding-right:8px}.journey-reader button{padding:7px 10px}#journeySaveStatus{flex-basis:100%;text-align:center;line-height:1.4}.journey-answer{padding:14px}}
@media(prefers-reduced-motion:reduce){.journey-dialog{scroll-behavior:auto}}
