@font-face{font-family:Blockfont;src:url(/fonts/Blockfont-Regular.otf) format("opentype");font-weight:400;font-display:swap}@font-face{font-family:Blockfont;src:url(/fonts/Blockfont-Bold.otf) format("opentype");font-weight:700;font-display:swap}:root{--grass: #5DA130;--leaf: #3E7D24;--sky: #87C4F0;--sky-ink: #14304A;--gold: #F4C542;--diamond: #5CE1E6;--redstone: #D23C3C;--redstone-ink: #A01F1F;--water: #3F6FD8;--link: #1F4FB0;--plank: #B48A55;--dirt: #866043;--dirt-deep: #422D1D;--stone: #8B8B8B;--slot: #6F6F6F;--panel: #C6C6C6;--panel-ink: #3F3F3F;--panel-body: #2A2A2A;--panel-muted: #4A4A4A;--obsidian: #1E1530;--obsidian-edge: #5A2D91;--toast: #212121;--scrim: rgba(0, 0, 0, .5);--ink: #141414;--white: #FFFFFF;--drop: #3F3F3F;--font-pixel: "Blockfont", monospace;--space-1: 4px;--space-2: 8px;--space-3: 16px;--space-4: 24px;--space-5: 32px;--space-6: 48px;--block: 64px;--radius-none: 0px;--bevel-raised: inset -4px -4px 0 rgba(0, 0, 0, .32), inset 4px 4px 0 rgba(255, 255, 255, .38);--bevel-sunken: inset 4px 4px 0 rgba(0, 0, 0, .32), inset -4px -4px 0 rgba(255, 255, 255, .38);--outline-width: 3px;--focus-width: 4px}.bf,.bf *{font-family:var(--font-pixel);-webkit-font-smoothing:none}.bf{color:var(--panel-ink)}[class*=bf-tx-]{image-rendering:pixelated;background-size:64px 64px}.bf-tx-grass{background-image:url(/textures/grass_top.png)}.bf-tx-grass-side{background:url(/textures/grass_side.png) 0 0 / 64px 64px repeat-x,url(/textures/dirt.png) 0 0 / 64px 64px}.bf-tx-dirt{background-image:url(/textures/dirt.png)}.bf-tx-dirt-deep{background:linear-gradient(#180e069e,#180e069e),url(/textures/dirt.png) 0 0 / 64px 64px}.bf-tx-stone{background-image:url(/textures/stone.png)}.bf-tx-cobble{background-image:url(/textures/cobble.png)}.bf-tx-gravel{background-image:url(/textures/gravel.png)}.bf-tx-sand{background-image:url(/textures/sand.png)}.bf-tx-water{background-image:url(/textures/water.png)}.bf-tx-plank{background-image:url(/textures/planks.png)}.bf-tx-log{background-image:url(/textures/log_side.png)}.bf-tx-log-top{background-image:url(/textures/log_top.png);background-size:100% 100%}.bf-tx-leaves{background-image:url(/textures/leaves.png)}.bf-tx-gold{background-image:url(/textures/gold.png)}.bf-tx-obsidian{background-image:url(/textures/obsidian.png)}.bf-tx-chest{background-image:url(/textures/chest_front.png);background-size:100% 100%}.bf-tx-chest-side{background-image:url(/textures/chest_side.png);background-size:100% 100%}.bf-tx-chest-top{background-image:url(/textures/chest_top.png);background-size:100% 100%}.bf-tx-chest-open{background-image:url(/textures/chest_open.png);background-size:100% 100%}.bf-raised{box-shadow:var(--bevel-raised)}.bf-sunken{box-shadow:var(--bevel-sunken)}.bf-drop{text-shadow:2px 2px 0 var(--drop)}.bf-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--space-6);padding:4px 20px 0;box-sizing:border-box;font-family:var(--font-pixel);font-size:16px;line-height:16px;text-decoration:none;color:var(--white);text-shadow:2px 2px 0 var(--drop);background:var(--slot);border:var(--outline-width) solid var(--ink);border-radius:0;box-shadow:var(--bevel-raised);cursor:pointer;transition:transform 90ms steps(2)}.bf-btn:hover{transform:translateY(-2px);filter:brightness(1.08)}.bf-btn:active,.bf-btn.is-pressed{transform:translateY(2px);box-shadow:var(--bevel-sunken);filter:brightness(.92)}.bf-btn:focus-visible,.bf-btn.is-focused{outline:var(--focus-width) solid var(--gold);outline-offset:2px}.bf-btn--primary{background:var(--leaf);text-shadow:2px 2px 0 #1E3A0E}.bf-btn--secondary{background:url(/textures/planks.png) 0 0 / 64px 64px;image-rendering:pixelated;color:var(--ink);text-shadow:1px 1px 0 rgba(255,230,180,.4)}.bf-btn--icon{width:var(--space-6);padding:4px 0 0;font-size:24px}.bf-btn:disabled,.bf-btn.is-disabled{background:#a5a5a5;color:#3a3a3a;text-shadow:none;border-color:#5b5b5b;box-shadow:none;transform:none;filter:none;cursor:not-allowed}.bf-panel{background:var(--panel);border:var(--outline-width) solid var(--ink);box-shadow:var(--bevel-raised);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);color:var(--panel-ink)}.bf-panel__head{display:flex;gap:var(--space-3);align-items:center}.bf-panel__kicker{font-size:16px;line-height:16px;color:var(--panel-muted)}.bf-panel__title{margin:0;font-size:32px;line-height:40px;font-weight:700;color:var(--panel-ink)}.bf-panel__body{margin:0;font-size:16px;line-height:24px;color:var(--panel-body)}.bf-panel__rule{height:3px;background:var(--stone);border:0;margin:0}.bf-panel__actions{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center}.bf-slot{width:var(--block);height:var(--block);box-sizing:border-box;position:relative;display:inline-flex;align-items:center;justify-content:center;background:var(--slot);border:var(--outline-width) solid var(--ink);box-shadow:var(--bevel-sunken);color:var(--white)}.bf-slot.is-selected{border-color:var(--white);outline:3px solid var(--ink)}.bf-slot__tile{width:32px;height:32px;border:2px solid var(--ink);box-sizing:border-box;background-size:100% 100%}.bf-slot__count{position:absolute;right:4px;bottom:2px;font-size:16px;line-height:16px;text-shadow:2px 2px 0 var(--drop)}.bf-chip{display:inline-flex;align-items:center;padding:8px 12px 5px;font-size:16px;line-height:16px;background:var(--slot);border:var(--outline-width) solid var(--ink);box-shadow:var(--bevel-sunken);color:var(--white);text-shadow:2px 2px 0 var(--drop)}.bf-hotbar{display:inline-flex;gap:3px;padding:3px;background:var(--scrim);border:var(--outline-width) solid var(--ink)}.bf-hotbar .bf-slot{width:60px;height:60px;background:#6f6f6fb3;cursor:pointer}.bf-chest{position:relative;width:56px;height:56px;padding:0;border:0;cursor:pointer;background:url(/textures/chest_front.png) 0 0 / 100% 100%;image-rendering:pixelated;box-shadow:inset -4px -4px #00000040;transition:transform .12s steps(2)}.bf-chest:hover,.bf-chest.is-near,.bf-chest:focus-visible{transform:translateY(-4px);outline:var(--focus-width) solid var(--gold);outline-offset:0}.bf-chest.is-open{background-image:url(/textures/chest_open.png)}.bf-chest.is-open:after{content:"✓";position:absolute;left:50%;top:-22px;transform:translate(-50%);width:22px;height:22px;line-height:24px;font-size:16px;text-align:center;background:var(--diamond);color:var(--ink);border:3px solid var(--ink)}.bf-nametag{display:inline-flex;align-items:center;gap:6px;padding:4px 8px 2px;font-size:16px;line-height:16px;color:var(--white);background:var(--scrim);border:0;text-shadow:2px 2px 0 var(--drop);white-space:nowrap}button.bf-nametag{cursor:pointer}button.bf-nametag:hover{color:#fff6b0;background:#000000b8}.bf-nametag__done{color:var(--diamond)}.bf-sign{display:inline-flex;flex-direction:column;align-items:center}.bf-sign__board{background:url(/textures/planks.png) 0 0 / 64px 64px;image-rendering:pixelated;border:var(--outline-width) solid var(--ink);box-shadow:var(--bevel-raised);padding:8px 14px 6px;color:var(--ink);font-size:16px;line-height:20px;text-align:center}.bf-sign__post{width:8px;height:28px;border-left:2px solid var(--ink);border-right:2px solid var(--ink);background:url(/textures/log_side.png) 0 0 / 32px 32px;image-rendering:pixelated}.bf-tooltip{display:inline-flex;flex-direction:column;gap:4px;padding:6px 12px 4px;background:var(--obsidian);border:var(--outline-width) solid var(--obsidian-edge);color:var(--white);font-size:16px;line-height:20px}.bf-key{color:var(--gold)}.bf-toast{display:flex;gap:14px;align-items:center;width:340px;box-sizing:border-box;padding:12px 14px;background:var(--toast);border:var(--outline-width) solid var(--ink);box-shadow:inset 0 0 0 3px #5a5a5a;animation:bf-drop .32s steps(4) both}.bf-toast__icon{width:40px;height:40px;flex:none;border:3px solid var(--ink);background:url(/textures/gold.png) 0 0 / 100% 100%;image-rendering:pixelated}.bf-toast__title{font-size:16px;line-height:16px;color:var(--gold)}.bf-toast__text{font-size:16px;line-height:16px;color:var(--white)}@keyframes bf-drop{0%{transform:translateY(-140%)}to{transform:translateY(0)}}.bf-meter{display:inline-flex;align-items:center;gap:10px;padding:8px 10px 6px;background:var(--scrim);color:var(--white);font-size:16px;text-shadow:2px 2px 0 var(--drop)}.bf-meter__track{display:flex;gap:3px}.bf-meter__seg{width:36px;height:12px;border:2px solid var(--ink);background:#3a3a3a;box-shadow:inset 0 -4px #00000040}.bf-meter__seg.is-on{background:var(--diamond)}.bf-chat{display:flex;flex-direction:column;gap:2px;width:460px}.bf-chat__line{padding:4px 8px 2px;background:#0000006b;color:var(--white);font-size:16px;line-height:20px;text-shadow:2px 2px 0 var(--drop)}.bf-chat__line--found{color:var(--diamond)}.bf-chat__line--hint{color:var(--gold)}.bf-field{display:flex;flex-direction:column;gap:6px}.bf-field__label{font-size:16px;line-height:16px;color:var(--panel-ink)}.bf-input{height:var(--space-6);padding:4px 14px 0;box-sizing:border-box;font-family:var(--font-pixel);font-size:16px;background:var(--ink);color:var(--white);border:var(--outline-width) solid var(--stone);border-radius:0}.bf-input::placeholder{color:#9a9a9a}.bf-input:focus,.bf-input.is-focused{outline:none;border-color:var(--gold)}.bf-input.is-error{border-color:var(--redstone)}.bf-field__error{font-size:16px;line-height:20px;color:var(--redstone-ink)}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;margin:0}body{background:var(--sky);font-size:16px;line-height:24px;overflow:hidden}h1,h2,p{margin:0}button{font-family:var(--font-pixel)}#app{height:100%}.world{position:fixed;inset:0;width:100%;height:100%;display:block;outline:none;cursor:grab}.hud{position:fixed;inset:0;pointer-events:none;user-select:none;color:var(--white)}.hud>*{pointer-events:auto}.hud>.tags,.hud>.hud__crosshair,.hud>.hud__prompt,.hud>.hud__chat{pointer-events:none}.hud__name{position:absolute;left:var(--space-4);top:var(--space-4);padding:14px 20px 12px;text-align:left;display:flex;flex-direction:column;gap:6px}.hud__name h1{font-size:40px;line-height:40px;font-weight:700}.hud__name span{line-height:16px}.hud__corner{position:absolute;right:var(--space-4);top:var(--space-4);display:flex;flex-direction:column;align-items:flex-end;gap:10px}.row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.hud__chat{position:absolute;left:var(--space-4);bottom:var(--space-4);max-width:calc(50vw - 330px)}.hud__hotbar{position:absolute;left:50%;bottom:20px;transform:translate(-50%)}.hud__hotbar .bf-slot{padding:0}.hud__hotbar .bf-slot:focus-visible{outline:var(--focus-width) solid var(--gold);outline-offset:2px}.hud__prompt{position:absolute;left:0;right:0;bottom:120px;text-align:center;font-size:24px;line-height:32px}.hud__toast{position:absolute;right:var(--space-4);top:150px}.toast__lines{display:flex;flex-direction:column;gap:6px}.hud__crosshair{position:absolute;left:50%;top:50%;width:22px;height:22px;transform:translate(-50%,-50%)}.hud__crosshair:before,.hud__crosshair:after{content:"";position:absolute;background:var(--white);outline:1px solid var(--ink)}.hud__crosshair:before{left:10px;top:0;width:2px;height:22px}.hud__crosshair:after{left:0;top:10px;width:22px;height:2px}.tags{position:absolute;inset:0;overflow:hidden}.tag{position:absolute;left:0;top:0;width:0;height:0}.tag>*{position:absolute;left:0;bottom:0;transform:translate(-50%)}.tag__hint{bottom:26px;color:var(--gold);text-shadow:2px 2px 0 var(--ink);white-space:nowrap;line-height:16px}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:var(--space-4);overflow:auto}.overlay--soft{background:#0a0a106b}.overlay--dim{background:#0a0a1099}.overlay__backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;background:transparent;cursor:default}.stack{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-4);text-align:center}.display{font-size:64px;line-height:64px;font-weight:700;color:var(--white);text-shadow:5px 5px 0 var(--drop)}.splash{font-size:24px;line-height:32px;color:var(--gold);text-shadow:2px 2px 0 var(--drop);transform:rotate(-4deg)}.splash--flat{transform:none}.thanks{font-size:24px;line-height:32px}.big-btn{width:400px;max-width:100%;height:56px;font-size:24px}.big-btn--half{width:240px}.controls{display:grid;grid-template-columns:repeat(2,auto);gap:8px 32px;padding:14px 20px 10px;background:var(--scrim);text-shadow:2px 2px 0 var(--drop);text-align:left}.trophies{display:flex;gap:var(--space-3);justify-content:center}.trophy{width:72px;height:72px}.dialog{position:relative;width:760px;max-width:100%;max-height:100%;overflow:auto}.dialog--narrow{width:400px}.dialog__icon{width:72px;height:72px;flex:none}.dialog__titles{display:flex;flex-direction:column;gap:8px;flex:1;min-width:0}.dialog .bf-btn--icon{align-self:flex-start;flex:none}.shots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2)}.shot{display:block;background:var(--slot);border:var(--outline-width) solid var(--ink);transition:transform 90ms steps(2)}.shot:hover{transform:translateY(-2px);filter:brightness(1.08)}.shot:focus-visible{outline:var(--focus-width) solid var(--gold);outline-offset:2px}.shot img{display:block;width:100%;height:auto;aspect-ratio:780 / 1688;object-fit:cover}.shot--empty{height:120px;display:flex;align-items:center;justify-content:center;background:var(--slot);border:var(--outline-width) solid var(--ink);color:var(--white);text-shadow:2px 2px 0 var(--drop)}.chips{display:flex;gap:6px;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.stat{display:flex;flex-direction:column;gap:2px;padding:10px 12px 7px;background:var(--slot);border:var(--outline-width) solid var(--ink);color:var(--white);text-shadow:2px 2px 0 var(--drop);line-height:20px}.stat__label{color:#e0e0e0}.contact{justify-content:space-between;height:auto;min-height:var(--space-6);padding:8px 16px 4px;flex-wrap:wrap}.contact__label{display:inline-flex;align-items:center;gap:12px}.pop{animation:pop .18s steps(3) both}.blink{animation:blink 1s steps(1) infinite}@keyframes pop{0%{transform:scale(.6)}to{transform:scale(1)}}@keyframes blink{50%{opacity:.35}}.is-mobile{background:var(--dirt-deep)}.m-app{height:100%;display:flex;flex-direction:column;position:relative;overflow:hidden}.m-header{position:relative;height:232px;flex:none;background:var(--sky);overflow:hidden}.m-sun{position:absolute;right:34px;top:28px;width:56px;height:56px;background:#ffe27a;box-shadow:0 0 0 10px #ffec9673}.m-cloud{position:absolute;right:74px;top:108px;width:120px;height:20px;background:var(--white);box-shadow:-24px -12px 0 -4px var(--white)}.m-name{position:absolute;left:20px;top:28px;padding:10px 16px 8px;text-align:left;display:flex;flex-direction:column;gap:2px}.m-name h1{font-size:32px;line-height:32px;font-weight:700}.m-name span{line-height:20px}.m-ground{position:absolute;left:0;right:0;bottom:0;height:40px;background-size:40px 40px,40px 40px}.m-avatar{position:absolute;right:70px;bottom:40px;width:30px;height:72px}.m-avatar>*{position:absolute;border:2px solid var(--ink)}.m-avatar__head{left:3px;top:0;width:24px;height:24px;background:url(/textures/head_front.png) 0 0 / 100% 100%;image-rendering:pixelated}.m-avatar__body{left:0;top:24px;width:30px;height:26px;background:#d9712b}.m-avatar__leg-l{left:6px;top:50px;width:9px;height:22px;background:#2f3a4a}.m-avatar__leg-r{left:15px;top:50px;width:9px;height:22px;background:#26303d}.m-main{flex:1;min-height:0;overflow-y:auto;padding:20px 16px 24px;display:flex;flex-direction:column;gap:20px;scrollbar-width:none;background-size:auto,48px 48px}.m-main>*{flex:none}.m-hello{font-size:24px;line-height:32px;font-weight:700}.m-section{display:flex;justify-content:space-between;align-items:center;color:var(--white)}.m-section h2{font-size:24px;line-height:32px;font-weight:700}.m-meter{display:flex;align-items:center;gap:8px}.m-meter__track{display:flex;gap:2px;padding:2px;background:var(--ink)}.m-meter__seg{width:18px;height:10px;background:#3a3a3a}.m-meter__seg.is-on{background:var(--diamond)}.m-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.m-tile{display:flex;flex-direction:column;gap:10px;padding:0 0 12px;text-align:left;background:var(--panel);border:var(--outline-width) solid var(--ink);color:var(--ink);cursor:pointer}.m-tile:active{transform:translateY(2px);box-shadow:var(--bevel-sunken)}.m-tile:focus-visible,.m-tab:focus-visible{outline:var(--focus-width) solid var(--gold);outline-offset:2px}.m-tile__scene{position:relative;height:92px;background:var(--sky);border-bottom:var(--outline-width) solid var(--ink);overflow:hidden}.m-tile__scene>.m-tile__grass{position:absolute;left:0;right:0;bottom:0;height:22px;background-size:22px 22px,22px 22px}.m-chest{position:absolute;left:50%;bottom:22px;margin-left:-28px;display:block;pointer-events:none}.m-chest.is-open:after{top:-14px}.m-tile__text{display:flex;flex-direction:column;gap:2px;padding:0 12px;line-height:20px}.m-tile__num{color:var(--panel-muted);letter-spacing:2px}.m-tile__name{font-weight:700}.m-note{display:block;padding:12px 14px 10px}.m-tabs{flex:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:8px 8px max(14px,env(safe-area-inset-bottom));background:#3a3a3a;border-top:var(--outline-width) solid var(--ink)}.m-tab{height:60px;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:var(--slot);border:var(--outline-width) solid var(--ink);color:var(--white);line-height:16px;cursor:pointer}.m-tab.is-active{background:#5a5a5a;border:4px solid var(--gold)}.sheet-layer{padding:0;align-items:flex-end}.sheet{position:relative;width:100%;max-height:85%;overflow-y:auto;border-width:var(--outline-width) 0 0;padding:12px 18px max(28px,env(safe-area-inset-bottom));animation:rise .28s steps(5) both}.sheet__grip{align-self:center;flex:none;width:56px;height:6px;background:var(--stone);box-shadow:0 2px #e6e6e6}.sheet__icon{flex:none}.sheet__title{font-size:24px;line-height:32px}.sheet>*{flex:none}.sheet .shots{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -18px;padding:0 18px}.sheet .shot{flex:0 0 42%;scroll-snap-align:center}.sheet .bf-panel__actions .bf-btn{flex:1}.sheet .stats{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}.sheet .trophies{gap:8px}.sheet .trophy{flex:1;width:auto;height:auto;aspect-ratio:1}@keyframes rise{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media(max-width:700px){.display{font-size:48px;line-height:56px}}@media(prefers-reduced-motion:reduce){.pop,.blink,.sheet,.bf-toast{animation:none}.bf-btn,.bf-chest,.shot{transition:none}}
