*{box-sizing:border-box}body{margin:0;background:#030913;color:#eefbff;font:16px/1.5 system-ui}main{max-width:1280px;margin:auto}header{display:flex;justify-content:space-between;align-items:center;padding:10px 18px;background:#071522;border-bottom:1px solid #27576b}header a{color:#96edff}h1{font-size:16px;margin:0;letter-spacing:.06em}.game{position:relative}canvas{width:100%;display:block;aspect-ratio:16/9;background:#081421}#dialog{position:absolute;inset:0;background:#020914b8;display:flex;align-items:center;justify-content:center;padding:30px}#dialog[hidden]{display:none}.panel{max-width:850px;width:100%;background:#071521f5;border:1px solid #57849b;padding:36px;border-radius:12px}.panel h2{color:#a6eaff;font-size:28px;margin:0 0 18px}.panel p{font-size:21px;line-height:1.65;white-space:pre-line}button{font:700 16px system-ui;padding:12px 22px;background:#b2edff;color:#071321;border:0;border-radius:5px;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #ffd580;outline-offset:4px}.controls{padding:14px 18px;color:#adc5d6;display:flex;flex-wrap:wrap;gap:18px;font-size:13px}.controls label{display:flex;gap:8px;align-items:center}#caption{padding:10px 18px;min-height:50px;color:#c9eaff;background:#0a1b29}.note{font-size:12px;color:#91a8b9;padding:0 18px 15px}#pause{background:#17394b;color:#ddf7ff;padding:6px 12px;font-size:13px}@media(max-width:700px){.panel{padding:18px}.panel h2{font-size:20px}.panel p{font-size:15px}header{gap:10px}h1{font-size:12px}}

/* pmo-impl-20261106 */
.pmo-settings{display:grid;gap:10px;margin:12px 0;padding:12px;border:1px solid #29e6ff55;border-radius:10px;background:#07131ecc}.pmo-settings[hidden]{display:none}.pmo-settings label{display:flex;gap:10px;align-items:center;min-height:36px;font-weight:700;color:#e8fbff}.pmo-settings input{width:22px;height:22px;accent-color:#29e6ff}.pmo-settings p{margin:0;color:#9fe9ff;font-size:.9em}
.pmo-large #dialog-text,.pmo-large #caption{font-size:1.32em;line-height:1.5}.pmo-large #dialog-title{font-size:1.4em}
:focus-visible{outline:3px solid #ffd23a;outline-offset:2px}
/* pause modal: contained, dimmed, scrollable, no collision with the scene caption */
body.pmo-paused #dialog{position:fixed;inset:0;z-index:50;background:#010610e6;align-items:center;justify-content:center;padding:max(12px,env(safe-area-inset-top)) 12px 12px;overflow-y:auto;overscroll-behavior:contain;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}body.pmo-paused #dialog .panel{box-sizing:border-box;width:min(560px,100%);max-height:calc(100dvh - 24px);overflow-y:auto;margin:auto;overflow-wrap:anywhere}body.pmo-paused #caption{visibility:hidden}body.pmo-paused{overflow:hidden}@media (max-height:520px){body.pmo-paused #dialog{align-items:flex-start}}@media (max-width:560px){body.pmo-paused #dialog .panel{padding:16px}body.pmo-paused #dialog-title{font-size:1.25em}}
