@import "https://fonts.googleapis.com/css2?family=Alfa+Slab+One&family=Limelight&family=Rye&family=Special+Elite&display=swap";:root{--ink:#1a1a19;--paper:#eeeae1}body{color:var(--ink);margin:0;font-family:Special Elite,Courier New,monospace}button,input{font:inherit;color:inherit}button{cursor:pointer}h1{margin:0;font-weight:400;line-height:1}.menu{background:var(--paper);position:fixed;inset:0;overflow:hidden}.menu canvas{cursor:crosshair;width:100%;height:100%;position:absolute;inset:0}.menu nav{flex-direction:column;align-items:flex-start;gap:8px;display:flex;position:absolute;top:2.5rem;left:2.5rem}.menu nav button{background:var(--ink);color:var(--paper);letter-spacing:.14em;text-transform:uppercase;text-box:trim-end cap alphabetic;border:0;padding:12px 20px;font-size:1.6rem;transition:padding .14s;position:relative}.menu nav button:hover,.menu nav button:focus-visible{outline:0;padding-right:46px}.menu nav button:after{content:"◄";opacity:0;font-size:.7em;transition:opacity .12s;position:absolute;top:50%;right:20px;translate:0 -50%}.menu nav button:hover:after,.menu nav button:focus-visible:after{opacity:1}.menu nav button.locked{color:#eeeae173;cursor:not-allowed}.menu nav button.locked:hover,.menu nav button.locked:focus-visible{padding-right:20px}.menu nav button.locked:after{content:"Disabled for now. Available on request.";background:var(--ink);color:var(--paper);white-space:nowrap;text-box:trim-end cap alphabetic;padding:8px 12px;font-size:.55em;left:calc(100% + 10px);right:auto}.menu nav label{background:var(--ink);color:var(--paper);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:12px;padding:8px 20px;display:flex}.menu nav label span{text-box:trim-end cap alphabetic}.menu nav input{accent-color:var(--paper)}.modal{background:#0000008c;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.modal main{box-sizing:border-box;background:var(--ink);width:min(34rem,90vw);color:var(--paper);text-align:center;outline:2px solid var(--paper);outline-offset:-14px;box-shadow:inset 0 0 0 19px var(--ink), inset 0 0 0 20px #eeeae173, 0 1rem 3rem #00000080;flex-direction:column;gap:1.5rem;padding:3.5rem 3.5rem 3rem;font-size:1.25rem;display:flex;position:relative}.modal main:before{content:"";--diamond:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M5 0l5 5-5 5-5-5z' fill='%23eeeae1'/%3E%3C/svg%3E");background:var(--diamond) left top / 12px no-repeat, var(--diamond) right top / 12px no-repeat, var(--diamond) left bottom / 12px no-repeat, var(--diamond) right bottom / 12px no-repeat;pointer-events:none;position:absolute;inset:8px}.modal h1{letter-spacing:.25em;text-transform:uppercase;font-size:2.4rem}.modal header{flex-wrap:wrap;justify-content:center;align-items:center;gap:0 .75rem;display:flex}.modal>main>h1,.modal header{margin-bottom:1rem}.modal p{margin:0}.modal p:empty{display:none}.modal main>div{gap:.6rem;display:grid}.modal ol{text-align:left;margin:0;padding-left:1.4em;font-size:1.1rem;line-height:1.45}.modal button{letter-spacing:.25em;text-transform:uppercase;background:0 0;border:0}.modal input{border:1px solid var(--paper);background:var(--ink);letter-spacing:.2em;text-align:center;width:12em;padding:12px 20px calc(12px - .3em)}.modal main>input,.modal form{align-self:center;margin-top:1rem}.modal form{display:flex}.modal form input{width:9em}.modal form button{border:1px solid var(--paper);background:var(--paper);color:var(--ink);text-box:trim-end cap alphabetic;padding:12px 20px}.modal main>input+button{margin-top:.5rem}.modal input:focus-visible{outline:0}.modal main>button:last-child{margin-top:1.25rem;font-size:.8em}.modal .close{letter-spacing:0;width:1.6em;height:1.6em;padding:0;font-size:1.5rem;position:absolute;top:26px;right:26px}.game{cursor:crosshair;touch-action:none;background:#000;width:100%;height:100%;display:block;position:fixed;inset:0}.hud,.roster{color:var(--paper);font-size:14px;line-height:1.7;position:fixed;left:16px}.hud{letter-spacing:.1em;text-transform:uppercase;white-space:pre;pointer-events:none;top:14px}.hud>div{font-size:18px}.roster{bottom:14px}.controls{flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:fixed;top:14px;right:16px}.controls button{background:var(--paper);color:var(--ink);letter-spacing:.25em;text-transform:uppercase;text-box:trim-end cap alphabetic;border:0;padding:6px 10px}@media (prefers-reduced-motion:reduce){.menu nav button,.menu nav button:after{transition:none}}
