body{overflow-x:hidden;overflow-y:auto}.fw-page{align-items:center;box-sizing:border-box;display:flex;justify-content:center;min-height:calc(100dvh - var(--app-header-offset, 0px));touch-action:none}.fw-page,.fw-stage{background:var(--bg-primary,#0a0a0c);overflow:hidden}.fw-stage{aspect-ratio:4/3;border:1px solid var(--border-color,hsla(0,0%,100%,.08));border-radius:var(--radius,12px);box-shadow:0 18px 45px rgba(0,0,0,.55);max-height:calc(100dvh - var(--app-header-offset, 0px) - 24px);position:relative;width:min(960px,100%)}.fw-canvas{display:block;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;width:100%}.fw-canvas,.fw-overlay{inset:0;position:absolute}.fw-overlay{align-items:center;display:flex;flex-direction:column;justify-content:center;pointer-events:none}.fw-overlay--interactive{background:rgba(10,10,12,.82);gap:clamp(8px,2%,20px);padding:clamp(12px,3%,32px);pointer-events:auto}.fw-spear-title{color:#d4af37;font-family:monospace;font-size:clamp(.85rem,2.5cqw,1.4rem);letter-spacing:.12em;margin:0 0 clamp(6px,1.5%,16px);text-align:center;text-shadow:0 0 12px rgba(212,175,55,.6);text-transform:uppercase}.fw-spear-cards{display:flex;flex-direction:row;gap:clamp(6px,1.5%,18px);justify-content:center;max-width:680px;width:100%}.fw-spear-card{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:rgba(20,20,26,.9);border:1.5px solid rgba(212,175,55,.25);border-radius:8px;color:#e8e8e8;cursor:pointer;display:flex;flex:1 1 0;flex-direction:column;font-family:inherit;gap:clamp(4px,1%,10px);min-width:0;outline:none;padding:clamp(8px,2%,20px) clamp(6px,1.5%,14px);transition:border-color .15s,box-shadow .15s,transform .12s}.fw-spear-card--focused,.fw-spear-card:hover{transform:translateY(-2px)}.fw-spear-card--solo{align-self:center;flex:0 0 auto;min-width:auto;width:auto}.fw-spear-card--focused{outline:2px solid #d4af37;outline-offset:2px}.fw-spear-card--green{border-color:rgba(52,211,153,.45)}.fw-spear-card--green.fw-spear-card--focused,.fw-spear-card--green:hover{border-color:#34d399;box-shadow:0 0 14px rgba(52,211,153,.35)}.fw-spear-card--red{border-color:hsla(0,91%,71%,.45)}.fw-spear-card--red.fw-spear-card--focused,.fw-spear-card--red:hover{border-color:#f87171;box-shadow:0 0 14px hsla(0,91%,71%,.35)}.fw-spear-card--blue{border-color:rgba(96,165,250,.45)}.fw-spear-card--blue.fw-spear-card--focused,.fw-spear-card--blue:hover{border-color:#60a5fa;box-shadow:0 0 14px rgba(96,165,250,.35)}.fw-spear-icon{font-size:clamp(1.1rem,3.5cqw,2rem);line-height:1}.fw-spear-name{color:#d4af37;font-family:monospace;font-size:clamp(.6rem,1.8cqw,.9rem);font-weight:700;letter-spacing:.06em;line-height:1.2;text-align:center}.fw-spear-flavor{color:#a0a0b8;font-size:clamp(.5rem,1.4cqw,.72rem);line-height:1.35;text-align:center}.fw-spear-hint{color:#5a5a7a;font-family:monospace;font-size:clamp(.5rem,1.3cqw,.65rem);letter-spacing:.05em;margin:0;text-align:center}.fw-pause-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:rgba(10,10,12,.7);border:1px solid rgba(212,175,55,.35);border-radius:6px;color:#d4af37;cursor:pointer;font-size:clamp(.7rem,2cqw,1rem);line-height:1;padding:4px 8px;position:absolute;right:clamp(6px,1.5%,12px);top:clamp(6px,1.5%,12px);transition:border-color .15s,background .15s;z-index:10}.fw-pause-btn:focus-visible,.fw-pause-btn:hover{background:rgba(10,10,12,.9);border-color:#d4af37;outline:2px solid #d4af37;outline-offset:2px}.fw-overlay--paused{background:rgba(10,10,12,.78);gap:clamp(10px,2%,20px)}.fw-overlay--world{background:linear-gradient(0deg,rgba(10,10,12,.85) 0,rgba(10,10,12,.4) 22%,rgba(10,10,12,0) 48%);justify-content:flex-end;padding-bottom:clamp(16px,5%,48px)}@media (max-width:400px){.fw-spear-cards{align-items:stretch;flex-direction:column;max-width:260px}}.fw-controls-hint{background:rgba(10,10,12,.55);border:1px solid rgba(212,175,55,.2);border-radius:4px;color:#d4af37;font-family:monospace;font-size:clamp(.45rem,1.2cqw,.62rem);left:50%;letter-spacing:.05em;opacity:0;padding:4px 10px;pointer-events:none;position:absolute;text-align:center;text-shadow:0 0 8px rgba(212,175,55,.45);top:12%;transform:translateX(-50%);transition:opacity .5s ease;white-space:nowrap;z-index:5}.fw-controls-hint--visible{opacity:1}@media (prefers-reduced-motion:reduce){.fw-controls-hint{transition:none}}.fw-touch-controls{display:none}@media (pointer:coarse){.fw-touch-controls{align-items:flex-end;display:flex;inset:0;justify-content:space-between;padding:clamp(8px,2%,18px);pointer-events:none;position:absolute;z-index:8}}.fw-touch-move{display:flex;gap:clamp(8px,2%,16px)}.fw-touch-btn{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:rgba(10,10,12,.55);border:1px solid rgba(212,175,55,.35);border-radius:10px;color:#d4af37;cursor:pointer;display:flex;font-size:1.6rem;justify-content:center;line-height:1;min-height:56px;min-width:56px;pointer-events:auto;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.fw-touch-btn:active{background:rgba(10,10,12,.8);border-color:#d4af37}.fw-touch-jump{align-self:flex-end}.fw-death-form{align-items:center;display:flex;flex-wrap:wrap;gap:clamp(4px,1%,10px);justify-content:center}.fw-death-input{background:rgba(20,20,26,.9);border:1.5px solid rgba(212,175,55,.4);border-radius:6px;color:#e8e8e8;font-family:monospace;font-size:clamp(.65rem,1.8cqw,.9rem);outline:none;padding:5px 10px;width:clamp(120px,28cqw,180px)}.fw-death-input:focus{border-color:#d4af37;box-shadow:0 0 8px rgba(212,175,55,.3)}.fw-death-submit{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:rgba(212,175,55,.12);border:1.5px solid rgba(212,175,55,.5);border-radius:6px;color:#d4af37;cursor:pointer;font-family:monospace;font-size:clamp(.6rem,1.6cqw,.8rem);letter-spacing:.08em;padding:5px 12px;transition:border-color .15s,background .15s}.fw-death-submit:focus-visible:not(:disabled),.fw-death-submit:hover:not(:disabled){background:rgba(212,175,55,.22);border-color:#d4af37;outline:2px solid #d4af37;outline-offset:2px}.fw-death-submit:disabled{cursor:default;opacity:.4}.fw-death-error{color:#f87171;font-family:monospace;font-size:clamp(.5rem,1.3cqw,.65rem);margin:0;text-align:center}.fw-death-board{display:flex;flex-direction:column;gap:clamp(3px,.8%,7px);min-width:clamp(160px,40cqw,260px)}.fw-death-row{align-items:baseline;color:#a0a0b8;display:flex;font-family:monospace;font-size:clamp(.55rem,1.5cqw,.78rem);gap:clamp(4px,1%,10px)}.fw-death-row--you{color:#d4af37}.fw-death-rank{flex-shrink:0;text-align:right;width:1.5em}.fw-death-name{flex:1}.fw-death-score{flex-shrink:0;text-align:right}