.comfort-open{position:fixed;bottom:16px;left:14px;z-index:100;min-height:44px;min-width:44px;border:1px solid #f2dca1;border-radius:50%;background:#19383d;color:#fff1c9;font:700 17px system-ui;box-shadow:0 4px 15px #0005;cursor:pointer}.comfort-dialog{width:min(440px,calc(100vw - 28px));max-height:85dvh;overflow:auto;border:1px solid #ddc485;border-radius:20px;background:#fffaf0;color:#183a35;padding:24px;font:17px/1.5 system-ui}.comfort-dialog::backdrop{background:#03151aba}.comfort-dialog h2{font-size:25px;line-height:1.2}.comfort-dialog label{display:grid;gap:7px;margin:17px 0}.comfort-dialog select{width:100%;min-height:48px;font-size:17px;padding:9px;border:1px solid #a8bbaf;border-radius:9px;background:#fff;color:#173a35}.comfort-dialog form>div{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.comfort-dialog button{padding:12px;min-height:48px;border:0;border-radius:9px;background:#264e45;color:white;font-size:16px}.comfort-dialog button:focus-visible,.comfort-dialog select:focus-visible,.comfort-open:focus-visible{outline:3px solid #d49a24;outline-offset:3px}.comfort-large .question,.comfort-large .story-text,.comfort-large .intro,.comfort-large #sceneProse,.comfort-large .scene-dialogue p,.comfort-large .feedback,.comfort-large .portal-description{font-size:19px!important;line-height:1.6!important}.comfort-xlarge .question,.comfort-xlarge .story-text,.comfort-xlarge .intro,.comfort-xlarge #sceneProse,.comfort-xlarge .scene-dialogue p,.comfort-xlarge .feedback,.comfort-xlarge .portal-description{font-size:23px!important;line-height:1.6!important}.comfort-large button,.comfort-xlarge button{min-height:48px}.comfort-large .choice,.comfort-xlarge .choice{font-size:19px;overflow-wrap:anywhere}.comfort-high{--ink:#071d18;--cream:#fff;--gold:#ffdf7c}.comfort-high .story-panel,.comfort-high .puzzle-area,.comfort-high .role-complete,.comfort-high .scene-dialogue{background:#fff!important;color:#111!important}.comfort-high .story-panel p,.comfort-high .scene-dialogue p{color:#17221f!important}.comfort-high .scene-narration{background:#07151aed;border-radius:14px;padding:17px;color:#fff}.comfort-high .scene-narration>p{color:#fff!important}.comfort-high .choice{background:white;border:2px solid #17352b;color:#111}.comfort-high .portal-description,.comfort-high .portal-eyebrow{color:#fff}.comfort-reduce *{animation:none!important;transition:none!important;scroll-behavior:auto!important}

/* Fixed header/actions with one scrollable settings body, including atmosphere. */
html .comfort-dialog.comfort-panel{box-sizing:border-box;width:min(440px,calc(100vw - 24px));max-height:calc(var(--winter-ui-viewport-height,100dvh) - 24px);padding:0;overflow:hidden;overscroll-behavior:contain}
html .comfort-dialog.comfort-panel[open]{display:flex;flex-direction:column}
.comfort-dialog.comfort-panel>.comfort-layout{display:flex;flex-direction:column;min-height:0;width:100%;max-height:calc(var(--winter-ui-viewport-height,100dvh) - 26px);margin:0}
.comfort-dialog.comfort-panel .comfort-head{flex:none;padding:17px 20px 13px;border-bottom:1px solid #dedfcf;background:#fffaf0}
.comfort-dialog.comfort-panel .comfort-head h2{font-size:24px;line-height:1.25;margin:0;overflow-wrap:anywhere}
.comfort-dialog.comfort-panel .comfort-body{display:block;flex:1 1 auto;min-height:0;overflow:auto;margin:0;padding:4px 20px 18px;overscroll-behavior:contain;scrollbar-gutter:stable;scroll-padding:12px;touch-action:pan-y;-webkit-overflow-scrolling:touch}
.comfort-dialog.comfort-panel .comfort-body>p{font-size:14px;line-height:1.6}
.comfort-dialog.comfort-panel .comfort-body :is(select,input,button){max-width:100%;min-width:0;box-sizing:border-box}
.comfort-dialog.comfort-panel .comfort-footer{flex:none;padding:12px 18px max(12px,env(safe-area-inset-bottom,0px));border-top:1px solid #dedfcf;background:#fffaf0}
.comfort-dialog.comfort-panel .comfort-actions{display:flex;gap:9px;flex-wrap:wrap;margin:0}
.comfort-dialog.comfort-panel .comfort-actions>button{flex:1 1 100px;min-width:0;min-height:48px;margin:0;padding:10px 8px;font-size:15px;white-space:normal;overflow-wrap:normal;word-break:normal;hyphens:none}
.comfort-dialog.comfort-panel .comfort-body:focus-visible{outline:2px solid #467363;outline-offset:-3px}
@media(max-height:480px){html .comfort-dialog.comfort-panel{max-height:calc(var(--winter-ui-viewport-height,100dvh) - 12px)}.comfort-dialog.comfort-panel>.comfort-layout{max-height:calc(var(--winter-ui-viewport-height,100dvh) - 14px)}.comfort-dialog.comfort-panel .comfort-head{padding:11px 15px}.comfort-dialog.comfort-panel .comfort-head h2{font-size:21px}.comfort-dialog.comfort-panel .comfort-body{padding:2px 15px 12px}.comfort-dialog.comfort-panel .comfort-footer{padding:9px 12px max(9px,env(safe-area-inset-bottom,0px))}}
