@font-face{font-family:Pixelify Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/mario/assets/pixelify-sans-latin-500-normal-DC052d-m.woff2) format("woff2"),url(/mario/assets/pixelify-sans-latin-500-normal-Bq6pAlou.woff) format("woff")}:root{color-scheme:dark;--hud-font: "Press Start 2P", "Courier New", monospace;--hud-text: #fff;--hud-gold: #fac000;--hud-online: #88c99a;--stage-width: min(100vw, 106.6667vh);--shell: #1c1713;--paper: #f3e4c5;--ink: #35251b;font-family:var(--hud-font);background:var(--shell);color:var(--paper)}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}#app{position:relative;isolation:isolate}#game-root{position:absolute;top:16px;right:16px;bottom:76px;left:312px}@media (min-width: 1280px){#game-root{right:312px}}canvas{image-rendering:pixelated;outline:4px solid #120e0b}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #c16c36;outline-offset:3px}body.prestart #game-bar{visibility:hidden}#start-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;place-items:center;overflow:auto;padding:48px 24px 208px;background:#8179ff;color:#fff}#start-screen:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:url(/mario/title-background.svg) center calc(100% + 10vh) / cover no-repeat;image-rendering:pixelated}#start-screen.hidden{display:none}.start-screen-content{position:relative;display:grid;justify-items:center;width:min(704px,100%);gap:24px;text-align:center}.start-logo{width:100%}.start-logo img{display:block;width:100%;height:auto;image-rendering:pixelated}.start-edition{margin:0;font-size:12px;line-height:2}#start-player-count{margin:0;order:3;font-size:11px;line-height:2}#start-button{position:relative;margin-top:8px;min-height:56px;padding:12px 24px;background:#22160f;border:2px solid #fff0cd;color:#fff0cd;font-size:18px;line-height:1.5}#start-button:before{content:"";position:absolute;width:24px;height:24px;right:calc(100% + 16px);top:50%;transform:translateY(-50%);background:url(/mario/title-cursor.png) center / contain no-repeat;image-rendering:pixelated}#start-button:hover,#start-button:focus-visible{color:#22160f;background:#fff0cd;outline:none}.start-volume-control{position:absolute;z-index:1;right:24px;bottom:24px;width:224px;padding:16px 18px 10px;gap:8px;background:var(--paper);color:var(--ink);border:2px solid var(--ink);font-size:11px;line-height:1.8}.start-volume-control>span{display:flex;align-items:center;justify-content:space-between;gap:16px}.start-volume-control output{font-variant-numeric:tabular-nums}.start-volume-control input{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:32px;background:transparent;cursor:pointer}.start-volume-control input::-webkit-slider-runnable-track{height:6px;border-radius:2px;background:#9f8968}.start-volume-control input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:22px;height:22px;margin-top:-8px;border:2px solid var(--paper);border-radius:2px;background:var(--ink)}.start-volume-control input::-moz-range-track{height:6px;border-radius:2px;background:#9f8968}.start-volume-control input::-moz-range-thumb{width:18px;height:18px;border:2px solid var(--paper);border-radius:2px;background:var(--ink)}.start-controller-hint{order:4;margin:0;font-size:10px;line-height:2}.start-name{display:grid;justify-items:center;gap:10px;font-size:11px;line-height:1.6}#start-name-input{width:min(320px,80vw);height:48px;padding:8px 14px;text-align:center;border:2px solid #22160f;border-radius:2px;background:#fff0cd;color:#22160f;font:500 22px/1.2 Pixelify Sans,"Press Start 2P",monospace;caret-color:#22160f}#start-name-input::placeholder{color:#8a7458;opacity:1}#start-name-input:focus{outline:3px solid #22160f;outline-offset:2px}@media (max-height: 760px){#start-screen{padding-block:32px 112px}.start-screen-content{width:min(512px,100%);gap:16px}#start-button{min-height:48px;font-size:16px}}@media (max-width: 640px){#start-screen{padding:80px 20px 120px}.start-volume-control{right:16px;bottom:16px;width:208px}.start-screen-content{gap:24px}.start-edition{font-size:10px}.start-controller-hint{max-width:280px;font-size:10px}#start-button{font-size:16px}}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}#game-bar{position:absolute;inset:auto 0 0;min-height:60px;padding:10px 24px;display:grid;grid-template-columns:auto minmax(120px,620px) 1fr auto auto;align-items:center;gap:24px;background:#141311;border-top:1px solid #3e3933;font-size:10px}#game-bar button{min-height:40px;border:0;padding:8px 0;background:none;color:#e9e5dd}#game-bar button:hover{color:#fff;text-decoration:underline;text-underline-offset:5px}#menu-button{grid-column:4}#status-pill{font-size:10px;white-space:nowrap}#status-pill:before{content:"";display:inline-block;width:6px;height:6px;margin-right:10px;background:currentColor}.pill.online{color:var(--hud-online)}.pill.connecting{color:#f3cd84}.pill.offline{color:#e5a498}#game-menu{position:fixed;inset:24px 24px auto auto;margin:0;width:min(540px,calc(100vw - 48px));max-height:calc(100dvh - 48px);padding:28px;overflow-y:auto;border:0;border-top:6px solid #ae542c;border-radius:2px;background:var(--paper);color:var(--ink);color-scheme:light;font-size:10px;line-height:1.6}#game-menu::backdrop{background:#120e0ba6}.menu-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.menu-heading h1{font-size:16px;margin:0;line-height:1.6}#game-menu button,#game-menu select,#game-menu input:not([type=range]){min-height:36px;padding:8px;border:1px solid #9f8968;border-radius:2px;background:transparent;color:var(--ink);font-size:9px}#game-menu button:hover{background:#e3cfa8}#menu-close{flex-shrink:0}#controls{display:grid;grid-template-columns:1fr auto;gap:16px 10px;align-items:end}.volume-control{display:grid;gap:12px}.top-volume-control{margin-top:24px;padding-top:20px;border-top:1px solid #c7b28e;font-size:8px;max-width:220px}.volume-control input{width:100%;min-width:0;accent-color:#ae542c}.name-control{display:grid;gap:8px}#name-input{width:100%;min-width:0}.dev-cluster{grid-column:1 / -1;display:flex;align-items:end;flex-wrap:wrap;gap:10px;padding-top:8px}.level-control{display:grid;gap:8px}#game-menu :focus-visible,#resume-panel :focus-visible{outline:3px solid #8c3c1d;outline-offset:3px}.source-stat,.power-stat{display:none}#side-panel{margin:24px 0;border-block:1px solid #c7b28e;padding:16px 0}#roster{display:grid;gap:10px}#roster:empty:after{content:"No players connected."}.roster-row{display:grid;grid-template-columns:9px minmax(0,1fr) auto auto;gap:10px;align-items:center;font-size:9px}.roster-row span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roster-row strong,.roster-row .level{font-size:8px;font-weight:400}.swatch{width:9px;height:9px;border:1px solid var(--ink)}#play-guide h2{margin:0 0 16px;font-size:12px}#play-guide dl{display:grid;gap:12px;margin:0}#play-guide dl>div{display:grid;grid-template-columns:110px 1fr;gap:12px}#play-guide dt{font-size:8px}#play-guide dd{margin:0;font-size:9px}#gamepad-status{margin:20px 0 0;font-size:8px;line-height:1.8}#chat{position:fixed;top:16px;bottom:76px;left:16px;width:280px;min-width:0;display:flex;flex-direction:column;gap:12px}#chat-log{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:6px;padding:4px 4px 0 0;scrollbar-width:thin;scrollbar-color:#4a4239 transparent}#chat-log>:first-child{margin-top:auto}#chat-form{margin-top:auto}.chat-entry{display:flex;flex-direction:column;align-items:flex-start;max-width:100%;animation:chat-pop .16s steps(4,end)}.chat-entry.continued{margin-top:-2px}.chat-who{display:flex;align-items:center;gap:8px;margin:6px 0 8px 2px;color:#e9dfcc;font-size:8px;line-height:1}.chat-who:before{content:"";width:8px;height:8px;background:var(--who, #fff);box-shadow:0 0 0 1px #0d0a08}.chat-text{margin:0;max-width:100%;padding:7px 11px 8px;border:2px solid #0d0a08;border-radius:2px;background:var(--paper);color:var(--ink);font:500 19px/1.25 Pixelify Sans,"Press Start 2P",monospace;overflow-wrap:anywhere}.chat-entry.mine{align-items:flex-end}.chat-entry.mine .chat-who{margin-right:2px}.chat-entry.mine .chat-text{background:var(--hud-gold)}@keyframes chat-pop{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}#chat-identity{font-size:8px;line-height:1.6}#chat-name-button{display:flex;align-items:baseline;gap:8px;width:100%;min-height:28px;padding:4px 2px;border:0;background:none;color:#b9ad99;text-align:left;font-size:8px}#chat-name-button[hidden]{display:none}#chat-name{color:#fff6e4;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-name-change{margin-left:auto;color:var(--hud-gold);text-decoration:underline;text-underline-offset:3px}#chat-name-button:hover .chat-name-change,#chat-name-button:focus-visible .chat-name-change{color:#fff}#chat-name-form{display:flex;gap:8px}#chat-name-form[hidden]{display:none}#chat-name-input{flex:1;min-width:0;height:36px;padding:6px 10px;border:2px solid var(--paper);border-radius:2px;background:#2c2620;color:#fff6e4;caret-color:var(--hud-gold);font:500 17px/1.2 Pixelify Sans,"Press Start 2P",monospace}#chat-name-input:focus{outline:none}#chat-name-form button{min-height:36px;padding:0 12px;border:0;border-radius:2px;background:var(--hud-gold);color:#22160f;font-size:8px}#chat-input{width:100%;height:44px;border:2px solid #4a4239;border-radius:2px;background:#24201b;color:#fff6e4;caret-color:var(--hud-gold);padding:8px 12px;font:500 17px/1.25 Pixelify Sans,"Press Start 2P",monospace}#chat-input::placeholder{color:#b9ad99;opacity:1}#chat-input:focus{outline:none;border-color:var(--paper);background:#2c2620}@media (max-width: 640px){#app{--mobile-stage-height: min( 93.75vw , calc(100dvh - 200px) )}#game-root{inset:8px 0 auto;height:var(--mobile-stage-height)}#game-bar{padding:4px 16px 12px;grid-template-columns:1fr auto auto;gap:0 24px}#menu-button{grid-column:2}#chat{top:calc(16px + var(--mobile-stage-height));bottom:72px;left:16px;right:16px;width:auto;gap:8px}#chat-input{font-size:16px}#game-menu{inset:12px 12px auto;width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:20px}.menu-heading{align-items:start;gap:12px}.menu-heading h1{font-size:13px}#menu-close{font-size:8px}#play-guide dl>div{grid-template-columns:80px 1fr}}@media (prefers-reduced-motion: reduce){#start-button,.chat-entry{animation:none}}#feedback-modal{width:min(480px,calc(100vw - 32px));border:0;border-top:6px solid #ae542c;border-radius:2px;padding:24px;background:var(--paper);color:var(--ink);color-scheme:light}#feedback-modal::backdrop{background:#120e0ba6}#feedback-form{display:grid;gap:20px}#feedback-form h2{margin:0;font-size:14px;line-height:1.6}#feedback-text{width:100%;min-height:120px;resize:vertical;border:1px solid #9f8968;padding:10px;background:#fff5df;color:var(--ink);font:15px/1.5 Courier New,monospace}.feedback-actions{display:flex;justify-content:flex-end;gap:12px}.feedback-actions button{min-height:36px;padding:8px 12px;border:1px solid #9f8968;background:transparent;color:var(--ink);font-size:10px}#feedback-send{background:var(--ink);color:var(--paper)}.feedback-actions button:hover{border-color:var(--ink)}#castle-message{position:absolute;top:0;right:0;bottom:0;left:0;display:none;align-items:center;justify-content:center;padding:24px;background:#000;color:var(--hud-text);font-family:var(--hud-font);font-size:16px;line-height:2;text-align:center;white-space:pre-line;pointer-events:none}#castle-message.visible{display:flex}#resume-prompt{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:32px 20px;overflow-y:auto;background:#0c0a09e0;z-index:5}#resume-prompt[hidden]{display:none}#resume-panel{width:min(560px,100%);margin:auto;padding:36px 40px 28px;border:2px solid #66594b;background:#181512;color:#f6eddb;color-scheme:dark;font-family:var(--hud-font);text-align:left}#resume-heading{margin:0 0 28px;color:#c4b7a1;font:15px/1.5 Courier New,monospace}.resume-destination{padding-bottom:24px;border-bottom:1px solid #51473c}#resume-location{margin:0;color:#ffcf69;font-size:26px;line-height:1.6}#resume-checkpoint{margin:8px 0 0;color:#d2c6b1;font:15px/1.5 Courier New,monospace}#resume-checkpoint:empty{display:none}.resume-stats{display:grid;grid-template-columns:1fr .65fr 1.35fr;gap:16px;margin:24px 0 32px}.resume-stats>div{min-width:0}.resume-stats dt{margin-bottom:10px;color:#bcae98;font:14px/1.4 Courier New,monospace}.resume-stats dd{margin:0;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.resume-stats>div:last-child{text-align:right}#resume-actions{display:grid;gap:8px}#resume-actions button{position:relative;min-height:52px;padding:14px 20px;border:1px solid transparent;background:transparent;color:#e0d3be;font-family:var(--hud-font);font-size:10px;line-height:1.8;cursor:pointer}#resume-actions button:hover{border-color:#a6957b;color:#fff}#resume-actions #resume-continue{background:#f3e4c5;border-color:#f3e4c5;color:#281c14}#resume-actions #resume-continue:hover{background:#fff5df}#resume-panel :focus-visible{outline:2px solid #ffcf69;outline-offset:4px}.resume-levels{margin-top:24px;padding-top:22px;border-top:1px solid #51473c}.resume-level-heading{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px;font:14px/1.5 Courier New,monospace}#resume-reached{color:#bcae98;text-align:right}#resume-pick{width:100%;min-height:44px;padding:10px 14px;background:#26211b;border:1px solid #7f705b;border-radius:0;color:#f6eddb;font-family:var(--hud-font);font-size:11px}@media (max-width: 640px){#resume-prompt{padding:20px 16px}#resume-panel{padding:28px 22px 22px}#resume-location{font-size:21px}.resume-stats{gap:10px}.resume-stats dd{font-size:10px}#resume-actions button{font-size:9px;padding-inline:8px}}@media (max-height: 600px){#resume-prompt{padding-block:16px}#resume-panel{padding-block:22px 18px}#resume-heading{margin-bottom:14px}.resume-destination{padding-bottom:14px}.resume-stats{margin-block:16px 20px}.resume-levels{margin-top:14px;padding-top:14px}}
