@font-face{font-family:GamePixel;src:url('../b541e1231e8daf497c1c067b94e5eca6fcf1d13abf4aa76df8ed15507b45f530-Minecraft.ttf') format('truetype');font-display:swap}
:root{color-scheme:dark;font-family:GamePixel,monospace}
html,body{width:100%;height:100%;overscroll-behavior:none;touch-action:none;background:#18262e!important}
canvas{image-rendering:pixelated;display:block;outline:none}
button,summary{font:inherit;cursor:pointer;touch-action:none}
button:focus-visible,summary:focus-visible{outline:3px solid #fff7bf;outline-offset:3px}
[hidden]{display:none!important}
#pause-toggle{position:fixed;z-index:20;right:max(12px,env(safe-area-inset-right));top:max(12px,env(safe-area-inset-top));width:38px;height:38px;border:2px solid #cddcad;border-radius:4px;background:#263c36dd;color:#fffbe1;font-size:18px;line-height:1;box-shadow:0 3px #18262e88}
dialog{position:fixed;z-index:30;width:min(290px,calc(100vw - 64px));padding:26px;border:3px solid #d9e3ba;border-radius:4px;background:#263c36;color:#fffbe1;box-shadow:0 7px #162821;margin:auto;touch-action:pan-y}
dialog::backdrop{background:#13221d55}
dialog h1{font-size:26px;margin:0 0 24px;font-weight:normal}
dialog>button{display:block;width:100%;border:2px solid #b3c79f;background:#456341;color:#fffbe1;padding:13px;margin:10px 0;font-size:16px}
dialog>button:hover{background:#587c4e}
details{margin-top:23px;font-size:13px;line-height:1.7;color:#d0ddbc}
details p{margin-bottom:0}
#coop-status{position:fixed;z-index:16;left:12px;top:12px;background:#263c36e6;color:#fffbe1;border:1px solid #cddcad;padding:8px 10px;font-size:11px;pointer-events:none}
#coop-result{position:fixed;z-index:21;top:max(62px,calc(env(safe-area-inset-top) + 62px));left:50%;transform:translateX(-50%);box-sizing:border-box;width:max-content;max-width:calc(100vw - 32px);padding:14px 22px;border:2px solid #e4d097;border-radius:6px;background:#263c36f2;color:#fff9e9;box-shadow:0 4px 0 #172c28,0 14px 30px #172c2840;text-align:center;pointer-events:none}
#coop-result strong{display:block;font:16px/1.4 GamePixel,monospace}
#coop-result span{display:block;margin-top:6px;font:12px/1.4 system-ui,sans-serif;color:#e4d097}
.coop-player-label{position:fixed;z-index:10;transform:translate(-50%,-70%);background:#263c36da;color:#fffbe1;padding:3px 5px;font:10px GamePixel,monospace;pointer-events:none;border-radius:2px}
#coop-panel button{display:block;border:1px solid #b3c79f;background:#456341;color:#fffbe1;padding:10px;width:100%;margin-top:12px;font-size:13px}
#coop-panel label{display:block;margin-top:16px;font-size:11px}
#invite-link{box-sizing:border-box;width:100%;background:#192c25;color:#fffbe1;border:1px solid #b3c79f;padding:10px;font:12px GamePixel,monospace}
#coop-note{font-size:11px;color:#e8e3ad}
#coop-vote{position:fixed;z-index:16;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);padding:10px 15px;border:2px solid #d9e3ba;background:#263c36f5;color:#fffbe1;font-size:13px;max-width:calc(100vw - 44px);text-align:center;pointer-events:none}
dialog{max-height:calc(100dvh - 64px);overflow:auto}
#touch-pad{position:fixed;z-index:15;left:max(12px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));display:grid;grid-template-columns:44px 44px 44px;grid-template-rows:44px 44px;gap:3px;opacity:.8}
#touch-pad button,#touch-proceed{border:2px solid #e5ecd4;background:#29483ece;color:#fff;font:22px GamePixel,monospace;border-radius:5px;user-select:none;-webkit-user-select:none}
#touch-pad button:active{background:#729564}
[data-direction=up]{grid-column:2;grid-row:1}
[data-direction=left]{grid-column:1;grid-row:2}
[data-direction=down]{grid-column:2;grid-row:2}
[data-direction=right]{grid-column:3;grid-row:2}
#touch-proceed{position:fixed;z-index:15;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));padding:12px 16px;font-size:14px}

/* Dialogue stays in the viewport, independent of every player's camera. */
#story-panel{position:fixed;z-index:18;left:50%;bottom:24px;transform:translateX(-50%);box-sizing:border-box;width:min(620px,calc(100vw - 40px));max-height:calc(100dvh - 104px);overflow:auto;padding:24px 28px;color:#253c35;background:#fff9e9;border:2px solid #354e3d;border-radius:10px;box-shadow:0 5px 0 #354e3d,0 12px 32px #172c282b;touch-action:pan-y;animation:panel-in .18s ease-out}
#story-eyebrow{font:10px GamePixel,monospace;letter-spacing:1.4px;color:#58705b;margin-bottom:14px}
#story-copy{font:500 19px/1.55 system-ui,-apple-system,'Segoe UI',sans-serif;white-space:pre-wrap;text-wrap:pretty}
#story-title{font:28px/1.35 GamePixel,monospace;margin:3px 0 12px;color:#934d3e}
#story-options{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap}
#story-options:empty{display:none}
#story-options button{display:flex;justify-content:space-between;align-items:center;gap:14px;flex:1 1 160px;min-height:52px;padding:14px 18px;border:2px solid #849477;border-radius:6px;background:#f4f0da;color:#263e32;font:16px/1.3 GamePixel,monospace;box-shadow:0 3px 0 #849477;transition:background .12s,transform .12s;touch-action:manipulation}
#story-options button:hover:not(:disabled){background:#e0e8c6;border-color:#476344;transform:translateY(-1px)}
#story-options button:active:not(:disabled){transform:translateY(2px);box-shadow:none}
#story-options button[aria-pressed=true],#story-options button.winner{background:#375b43;color:#fff9e9;border-color:#284534;box-shadow:0 3px 0 #284534}
#story-options button:disabled{cursor:default;opacity:.68}
#story-options button.winner{opacity:1}
#story-options button:focus-visible{outline:3px solid #bc8d30;outline-offset:4px}
.option-votes{font:600 12px system-ui,sans-serif;white-space:nowrap;opacity:.8}
.option-votes:empty{display:none}
#story-panel #coop-vote{position:static;transform:none;background:none;border:0;color:#496349;padding:16px 0 0;max-width:none;font:12px/1.5 GamePixel,monospace;text-align:left}
#story-wait{font:13px/1.5 system-ui,sans-serif;color:#6b7564;margin:15px 0 0}
#story-panel[data-kind=ending]{bottom:50%;transform:translate(-50%,50%);width:min(580px,calc(100vw - 40px));padding:32px}
#story-panel[data-kind=ending] #story-copy{font-size:18px}
#story-panel[data-kind=hint]{top:20px;bottom:auto;width:min(480px,calc(100vw - 130px));padding:14px 20px;pointer-events:none;box-shadow:0 3px 0 #354e3d,0 6px 20px #172c2820}
#story-panel[data-kind=hint] #story-copy{font-size:15px;line-height:1.45}
#story-panel[data-kind=hint] #story-eyebrow{font-size:9px;margin-bottom:6px}
@keyframes panel-in{from{opacity:0;margin-bottom:-6px}to{opacity:1;margin-bottom:0}}
@media(max-height:500px){#story-panel{bottom:12px;max-height:calc(100dvh - 72px);width:min(620px,calc(100vw - 116px));padding:16px 20px}#story-panel[data-kind=ending]{padding:20px}#story-copy,#story-panel[data-kind=ending] #story-copy{font-size:15px;line-height:1.4}#story-options{margin-top:14px}#story-options button{min-height:46px;padding:10px 14px;font-size:14px}#story-eyebrow{margin-bottom:8px}}
@media(max-width:500px){#story-panel{bottom:18px;padding:20px}#story-options{gap:10px}#story-options button{flex-basis:110px;font-size:14px;padding:14px 12px}#story-copy{font-size:17px}#story-panel[data-kind=ending]{padding:24px}#story-panel[data-kind=hint]{width:calc(100vw - 108px);left:12px;transform:none;top:64px}}
@media(prefers-reduced-motion:reduce){#story-panel{animation:none}#story-options button{transition:none}}

#story-panel[data-outcome=normal] #story-title{color:#375b43;font-size:21px;line-height:1.5}
