:root{--ink: #0a0a0a;--paper: #ffffff;--accent: #ffd60a;--muted: #6b6b6b;--hair: 1px solid #0a0a0a;--soft: 1px solid rgba(10, 10, 10, .14);--sans: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#0a0a0a;font-family:var(--sans);color:var(--ink);-webkit-font-smoothing:antialiased}#game{position:fixed;inset:0;width:100vw;height:100vh;display:block;touch-action:none}#ui{position:fixed;inset:0;pointer-events:none;user-select:none;-webkit-user-select:none}#ui>*{pointer-events:auto}.hidden{display:none!important}.screen{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px}.screen.title{background-size:96px 96px;image-rendering:pixelated}.screen.title:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#ffffffdb,#fffffff0)}.screen.dim{background:#0a0a0a61}.panel{position:relative;background:var(--paper);border:var(--hair);width:min(440px,100%);max-height:calc(100vh - 48px);overflow:auto}.panel.wide{width:min(620px,100%)}.panel header{display:flex;align-items:baseline;justify-content:space-between;padding:18px 20px 14px;border-bottom:var(--hair)}.panel header h2{margin:0;font-size:15px;font-weight:600;letter-spacing:-.01em}.panel header .tag{font-family:var(--mono);font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.panel .body{padding:20px;display:flex;flex-direction:column;gap:10px}.panel footer{padding:12px 20px;border-top:var(--hair);font-family:var(--mono);font-size:11px;color:var(--muted);display:flex;justify-content:space-between;gap:12px}.panel footer a{color:var(--ink)}.brand{padding:28px 20px 22px;border-bottom:var(--hair)}.brand .mark{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.brand .mark i{width:12px;height:12px;background:var(--accent);border:var(--hair);display:inline-block}.brand h1{margin:14px 0 6px;font-size:40px;line-height:1;letter-spacing:-.04em;font-weight:700}.brand h1 span{background:var(--accent);padding:0 6px}.brand p{margin:0;color:#3a3a3a;font-size:14px}button,.btn{font:inherit;font-size:14px;font-weight:500;color:var(--ink);background:var(--paper);border:var(--hair);padding:11px 14px;cursor:pointer;text-align:left;display:flex;justify-content:space-between;align-items:center;border-radius:0}button:hover{background:#f4f4f4}button:active{transform:translateY(1px)}button.primary{background:var(--accent)}button.primary:hover{background:#fc0}button .k{font-family:var(--mono);font-size:11px;color:var(--muted)}button.small{padding:6px 10px;font-size:12px}button:disabled{opacity:.4;cursor:default}.row{display:flex;gap:10px}.row>*{flex:1}label.field{display:flex;flex-direction:column;gap:6px;font-size:12px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}input[type=text]{font:inherit;font-family:var(--mono);font-size:14px;text-transform:none;letter-spacing:0;color:var(--ink);border:var(--hair);padding:10px 12px;outline:none;border-radius:0}input[type=text]:focus{box-shadow:inset 0 -3px 0 var(--accent)}.slider{display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center;font-size:13px}.slider span.v{font-family:var(--mono);font-size:12px}.slider input{grid-column:1 / -1;accent-color:#0a0a0a;width:100%}.check{display:flex;align-items:center;gap:10px;font-size:13px}.check input{accent-color:#0a0a0a;width:16px;height:16px}.worlds{display:flex;flex-direction:column;border:var(--hair)}.worlds .w{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:10px 12px;border-bottom:var(--soft)}.worlds .w:last-child{border-bottom:0}.worlds .w b{font-weight:600;font-size:14px;display:block}.worlds .w small{font-family:var(--mono);font-size:11px;color:var(--muted)}.empty{font-size:13px;color:var(--muted);padding:12px;border:1px dashed rgba(10,10,10,.3)}table.keys{width:100%;border-collapse:collapse;font-size:13px}table.keys td{padding:7px 0;border-bottom:var(--soft)}table.keys td:first-child{width:46%}kbd{font-family:var(--mono);font-size:11px;border:var(--hair);padding:1px 6px;background:#fff;box-shadow:0 1px #0a0a0a;margin-right:3px;display:inline-block}.hud{position:absolute;inset:0;pointer-events:none!important}.crosshair{position:absolute;left:50%;top:50%;width:18px;height:18px;transform:translate(-50%,-50%);mix-blend-mode:difference}.crosshair:before,.crosshair:after{content:"";position:absolute;background:#fff}.crosshair:before{left:8px;top:0;width:2px;height:18px}.crosshair:after{top:8px;left:0;height:2px;width:18px}.hotbar{position:absolute;left:50%;bottom:14px;transform:translate(-50%);display:flex;background:var(--paper);border:var(--hair);pointer-events:auto}.slot{width:52px;height:52px;border-right:var(--soft);position:relative;display:flex;align-items:center;justify-content:center;cursor:pointer}.slot:last-child{border-right:0}.slot img{width:34px;height:34px;image-rendering:pixelated}.slot .n{position:absolute;left:4px;top:2px;font-family:var(--mono);font-size:10px;color:var(--muted)}.slot.sel{background:var(--accent);box-shadow:inset 0 0 0 1px var(--ink)}.slot.sel .n{color:var(--ink)}.blockname{position:absolute;left:50%;bottom:76px;transform:translate(-50%);background:var(--paper);border:var(--hair);padding:4px 10px;font-size:12px;font-weight:500;transition:opacity .4s}.mode{position:absolute;left:14px;bottom:14px;background:var(--paper);border:var(--hair);padding:5px 10px;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.mode i{display:inline-block;width:8px;height:8px;background:var(--accent);border:var(--hair);margin-right:6px;vertical-align:-1px}.debug{position:absolute;left:12px;top:12px;background:#ffffffeb;border:var(--hair);padding:8px 10px;font-family:var(--mono);font-size:11px;line-height:1.55;white-space:pre}.toast{position:absolute;left:50%;top:18px;transform:translate(-50%);background:var(--paper);border:var(--hair);border-left:6px solid var(--accent);padding:8px 14px;font-size:13px}.loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#fff}.loading .box{border:var(--hair);padding:16px 20px;font-family:var(--mono);font-size:12px;min-width:260px}.loading .bar{margin-top:10px;height:6px;border:var(--hair)}.loading .bar i{display:block;height:100%;background:var(--accent);width:0;transition:width .2s}.palette{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));border-top:var(--hair);border-left:var(--hair)}.palette .p{border-right:var(--hair);border-bottom:var(--hair);padding:8px 4px 6px;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;font-size:10px;text-align:center}.palette .p:hover{background:var(--accent)}.palette .p img{width:32px;height:32px;image-rendering:pixelated}.touch{position:absolute;inset:0;pointer-events:none!important}.touch .stick{position:absolute;left:24px;bottom:90px;width:120px;height:120px;border:var(--hair);background:#ffffff59;border-radius:50%;pointer-events:auto;touch-action:none}.touch .stick i{position:absolute;left:40px;top:40px;width:40px;height:40px;background:var(--accent);border:var(--hair);border-radius:50%}.touch .btns{position:absolute;right:18px;bottom:90px;display:grid;grid-template-columns:repeat(2,58px);gap:8px;pointer-events:auto}.touch .btns button{justify-content:center;padding:0;height:58px;font-family:var(--mono);font-size:11px;background:#ffffffd9;touch-action:none}.touch .menu{position:absolute;right:14px;top:14px;pointer-events:auto}@media(max-width:600px){.slot{width:38px;height:38px}.slot img{width:24px;height:24px}.brand h1{font-size:32px}}
