.fd-game{display:flex;flex-direction:column;text-align:center}.fd-howto{text-align:center;font-weight:700;font-size:1.05rem;color:var(--fgs-ink-soft);margin:.4rem auto .9rem;max-width:52ch}.fd-rollline{font-weight:800;font-size:1.15rem;color:var(--fgs-ink);margin:0 auto .6rem}.fd-board{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.7rem;margin:0 auto .9rem;max-width:40rem}.fd-board:empty{aspect-ratio:5 / 1;min-height:5.5rem}.fd-die{margin:0;padding:0;width:4.6rem;height:4.6rem;flex:0 0 auto;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:2px;padding:.5rem;background:var(--fgs-surface);border:3px solid var(--fgs-ink-soft);border-radius:var(--fgs-radius);box-shadow:var(--fgs-shadow);cursor:pointer}.fd-die:hover{border-color:var(--fgs-accent)}.fd-die:focus-visible{outline:3px solid var(--fgs-focus);outline-offset:2px}.fd-pip{width:100%;height:100%;border-radius:50%;background:transparent;place-self:center}.fd-pip-on{background:var(--fgs-ink)}.fd-die-held{border:4px solid var(--fgs-accent);background:var(--fgs-accent-soft);position:relative}.fd-die-held .fd-pip-on{background:var(--fgs-accent-ink, var(--fgs-ink))}.fd-held-tag{position:absolute;left:50%;bottom:-1.6rem;transform:translate(-50%);font-size:.85rem;font-weight:800;letter-spacing:.04em;color:var(--fgs-accent);white-space:nowrap}.fd-die-wrap{position:relative}.fd-die:disabled{cursor:default;opacity:.75}.fd-actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-top:.6rem}.fd-actions .fd-roll-btn{background:var(--fgs-accent);border-color:var(--fgs-accent);color:var(--fgs-on-accent);font-weight:800}.fd-actions .fd-roll-btn:hover{filter:brightness(1.06)}.fd-actions .fd-roll-btn:disabled{opacity:.6;cursor:default}.fd-actions .fd-hint-btn{background:var(--fgs-hint);border-color:var(--fgs-hint);color:#fff}.fd-actions .fd-hint-btn:hover{filter:brightness(1.06)}.fd-actions img{width:1.3rem;height:1.3rem;vertical-align:-.25em;margin-right:.35rem}.fd-card{margin:.4rem auto 0;max-width:40rem}.fd-card:empty{min-height:34rem}.fd-section-label{text-align:left;font-weight:800;font-size:1.05rem;color:var(--fgs-ink-soft);margin:.9rem 0 .4rem}.fd-section-label:first-child{margin-top:0}.fd-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin:0 0 .5rem;padding:.55rem .9rem;min-height:var(--fgs-tap);text-align:left;color:var(--fgs-ink);background:var(--fgs-surface);border:2px solid var(--fgs-line);border-radius:var(--fgs-radius);cursor:pointer}.fd-row:hover{border-color:var(--fgs-accent)}.fd-row:focus-visible{outline:3px solid var(--fgs-focus);outline-offset:2px}.fd-row-label{font-weight:700;font-size:1.05rem}.fd-row-value{font-weight:800;font-size:1.2rem;color:var(--fgs-accent)}.fd-row-filled{cursor:default;background:var(--fgs-paper-2, var(--fgs-paper));border-style:dashed}.fd-row-filled:hover{border-color:var(--fgs-line)}.fd-row-filled .fd-row-value{color:var(--fgs-ink)}.fd-row-hinted{border:3px solid var(--fgs-hint)}.fd-total-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin:0 0 .5rem;padding:.55rem .9rem;font-weight:800;color:var(--fgs-ink);background:var(--fgs-paper-2, var(--fgs-paper));border:2px dashed var(--fgs-line);border-radius:var(--fgs-radius)}.fd-total-row.fd-grand-total{border:3px solid var(--fgs-good);color:var(--fgs-good-deep, var(--fgs-good));font-size:1.15rem}.fd-status{text-align:center;font-size:1.2rem;font-weight:700;margin:1rem auto 0;min-height:4rem;max-width:56ch;color:var(--fgs-ink)}.fd-tip{max-width:52ch;margin:1rem auto 0;padding:.6rem .9rem;text-align:center;font-size:1.05rem;font-weight:700;color:var(--fgs-ink-soft);background:var(--fgs-paper-2, var(--fgs-surface));border:2px dashed var(--fgs-line);border-radius:var(--fgs-radius)}@media(max-width:700px){body.game-page .fd-game{display:flex;flex-direction:column}body.game-page .fd-card{order:3;width:100%;margin-inline:0;max-width:none}body.game-page .fd-rollline,body.game-page .fd-board{order:2}body.game-page .fd-actions{order:4}body.game-page .fd-card{order:5}}@media(max-width:480px){.fd-die{width:3.9rem;height:3.9rem}.fd-row-label{font-size:1rem}.fd-row-value{font-size:1.1rem}}.fd-rollline:empty{min-height:1.9rem}.fd-board:empty{min-height:8.5rem}.fd-card:empty{min-height:53rem}.fd-status{min-height:5.4rem}
