/* Hallmark · game roster · editorial illustration · P4 H4 E4 S5 R5 V4 */
@import './tokens.css';
body{font-family:var(--font-body)}#game{image-rendering:auto}#title-screen{background:var(--color-paper);color:var(--color-ink);backdrop-filter:none;display:block;overflow:auto}#title-screen.hidden{display:none}.game-home{position:absolute;left:40px;top:25px;color:var(--color-ink);font:14px var(--font-mono);text-decoration:none;padding:12px 0}.title-content{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(460px,1.6fr);gap:24px 60px;max-width:1440px;margin:auto;padding:128px 48px 48px;text-align:left}.game-title{grid-column:1;grid-row:1;align-items:start;justify-content:end;margin:0}.title-main{font-family:var(--font-display);font-size:clamp(38px,4.5vw,64px);font-weight:700;letter-spacing:-.04em;color:var(--color-ink);background:none;text-shadow:none;filter:none;white-space:nowrap}.title-sub{font-size:12px;letter-spacing:.05em;color:var(--color-muted);margin-top:16px;opacity:1}.game-desc{grid-column:1;grid-row:2;font-size:16px;line-height:1.9;color:var(--color-muted);margin:0}.char-select{grid-column:2;grid-row:1/6;margin:0}.select-label{font-size:15px;color:var(--color-muted);letter-spacing:0;text-align:left;margin-bottom:20px}.char-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:none;margin:0}.char-card{width:100%;min-width:0;border:1px solid var(--color-rule);border-radius:3px;padding:0 0 14px;cursor:pointer;background:var(--color-panel);box-shadow:none;transition:border-color var(--dur-short);color:var(--color-ink)}.char-card:hover{transform:none;box-shadow:none;border-color:var(--color-ink)}.char-card.selected{border:2px solid var(--color-accent);background:var(--color-raised);box-shadow:none;transform:none;padding-bottom:13px}.cc-portrait{font-size:0;height:auto;margin:0;border-bottom:1px solid var(--color-rule)}.cc-portrait svg{display:block;width:100%;max-height:155px}.cc-name{font-family:var(--font-display);color:var(--color-ink);font-size:17px;padding-top:10px}.cc-ele,.cc-weapon{color:var(--color-muted);font-size:11px;line-height:1.8}.start-btn{grid-column:1;grid-row:3;justify-self:start;border:0;border-radius:3px;background:var(--color-ink);color:var(--color-paper);min-height:52px;padding:14px 38px;font-size:16px;font-weight:500;letter-spacing:0;box-shadow:none;margin:0;animation:none}.start-btn:disabled{opacity:.4}.start-btn:hover:not(:disabled){transform:none;background:var(--color-accent);box-shadow:none}.controls-hint{grid-column:1;grid-row:4;display:grid;gap:12px;color:var(--color-muted);font-size:12px;text-align:left;margin-top:16px}.controls-hint kbd{background:var(--color-raised);border:1px solid var(--color-rule);color:var(--color-ink);border-radius:2px;box-shadow:none;font-family:var(--font-mono);padding:3px 5px}.audio-toggle{border-radius:3px;min-width:52px;min-height:44px;width:auto;font-size:12px;color:var(--color-ink);background:var(--color-paper);border:1px solid var(--color-rule);box-shadow:none;z-index:105}button:focus-visible,a:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}#game-over{background:var(--color-dark-panel);color:var(--color-light)}#game-over h2{font-family:var(--font-display)}#game-over button{padding:14px 24px;min-height:48px;font-size:16px}@media(max-width:1000px){.title-content{grid-template-columns:1fr;gap:20px;padding:100px 24px 80px}.game-title,.game-desc,.char-select,.start-btn,.controls-hint{grid-column:1;grid-row:auto}.title-main{font-size:42px}.char-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.game-home{left:24px;top:18px}.controls-hint{grid-template-columns:1fr 1fr}.start-btn{width:100%;position:sticky;bottom:12px;z-index:4}.char-select{margin-top:12px}}@media(max-width:500px){.char-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.cc-name{font-size:15px}.cc-portrait svg{max-height:110px}.controls-hint{grid-template-columns:1fr}.title-content{padding-inline:18px}.game-home{left:18px;font-size:12px}.title-main{font-size:38px}.cc-weapon{display:none}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.char-card .cc-portrait{width:100%;height:130px;display:block;border-radius:0;background:none;border:0;box-shadow:none;margin:0}.char-card .cc-portrait svg{height:130px;max-height:none}.char-card .cc-name{color:var(--color-ink);font-family:var(--font-display);font-size:17px;margin:8px 0 4px}.char-card .cc-ele{color:var(--color-muted);font-size:12px}.char-card .cc-weapon{color:var(--color-muted);font-size:11px}.char-card:before{display:none}.pm-portrait{overflow:hidden;background:var(--color-paper);border-radius:4px!important}.pm-portrait svg{width:100%;height:100%;display:block}.party-member{border-radius:4px;background:var(--color-dark-panel);border:1px solid var(--color-dark-rule)}.party-member.active{border-color:var(--color-light-muted);box-shadow:none}.objective{bottom:78px;border-radius:4px;background:var(--color-dark-panel)}.audio-toggle:hover{background:var(--color-raised);transform:none}.skill{border-radius:6px}.controls-hint>div{justify-content:start}@media(max-width:500px){.char-card .cc-portrait,.char-card .cc-portrait svg{height:110px}.char-card .cc-name{font-size:15px}.party-list{left:8px;top:8px}.party-member{max-width:156px}.objective{max-width:230px;bottom:75px}.minimap-wrap{transform:scale(.75);transform-origin:top right}}

html,body{overflow-x:clip}h1,h2,h3{overflow-wrap:anywhere;min-width:0;font-style:normal}.char-card.selected{border-width:1px;outline:1px solid var(--color-accent);outline-offset:-2px;padding-bottom:14px}.start-btn:disabled{cursor:not-allowed}

body:has(#title-screen:not(.hidden)) .audio-toggle{top:20px;bottom:auto;right:22px;left:auto}
