.go-fish-page main{max-width:1000px;margin:auto;padding:20px 20px 48px}.gf-header{display:flex;justify-content:space-between;gap:12px;margin-bottom:20px}.gf-header a{font-weight:700;color:var(--accent-dark)}.gf-heading{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;margin-bottom:18px}.gf-heading h1{font-size:clamp(1.8rem,4vw,2.6rem);margin:0}.gf-heading p{margin:0;color:#5c687e}.gf-game{--sea:#337eaa;--teal:#237b76;isolation:isolate}.gf-game button{font:inherit;cursor:pointer;touch-action:manipulation}.gf-game button:focus-visible,.gf-game a:focus-visible{outline:3px solid #285bc4;outline-offset:4px}.gf-game [hidden]{display:none!important}.gf-toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}.gf-chip{font-size:.72rem;font-weight:800;letter-spacing:.09em;color:#596c85}.gf-small{border:1px solid var(--line);border-radius:14px;padding:9px 15px;background:white;color:var(--ink)}.gf-table{position:relative;overflow:hidden;background:linear-gradient(155deg,#e5f4fd,#e5f6ef 60%,#f8efda);border:1px solid #cddfea;border-radius:28px;padding:22px;box-shadow:0 8px 30px #3554750d}.gf-opponents{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:640px;margin:auto}.gf-opponent{position:relative;display:flex;align-items:center;flex-direction:column;gap:5px;min-width:0;border:2px solid transparent;border-radius:20px;background:#ffffffb8;padding:12px;color:var(--ink);font-size:.86rem;transition:border-color .15s,background .15s}.gf-opponent:disabled{opacity:1;cursor:default}.gf-opponent.is-turn{border-color:#4b8fab;background:#fff}.gf-opponent.can-ask:not(:disabled){border-color:#388578;background:#fff;box-shadow:0 0 0 3px #72baa025}.gf-opponent.can-ask:hover:not(:disabled){background:#f3fffa}.gf-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#ffe3aa;color:#925118;font-size:1.5rem}.gf-opponent:nth-child(2) .gf-avatar{background:#e5d9ff;color:#77559f}.gf-opponent>strong{font-size:1.05rem}.gf-back{background:repeating-linear-gradient(45deg,#6396cc,#6396cc 5px,#5489c2 5px,#5489c2 7px);border:3px solid white;box-shadow:0 2px 5px #32557e25;border-radius:7px;color:white;display:grid;place-items:center;font-style:normal}.gf-fan{display:flex;height:43px;justify-content:center;padding-right:15px}.gf-fan i{width:30px;height:42px;margin-right:-15px;transform:rotate(-5deg)}.gf-fan i:nth-child(even){transform:rotate(5deg)}.gf-mini-books{font-size:.73rem;color:#626e81;min-height:1em;max-width:100%;overflow-wrap:anywhere}.gf-ask-label{font-weight:800;color:#22695b}.gf-center{display:flex;align-items:center;gap:30px;max-width:590px;min-height:142px;margin:14px auto}.gf-stock{flex-shrink:0;display:grid;justify-items:center;gap:8px;font-size:.78rem;color:#55677b}.gf-deck{width:58px;height:78px;font-size:1.8rem;box-shadow:3px 3px white,4px 4px #83a6c6,6px 6px white,7px 7px #83a6c6}.gf-deck.is-empty{opacity:.35;box-shadow:none;background:none;border:2px dashed #4f7d97;color:transparent}.gf-player-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px}.gf-player-heading h2{font-size:1.05rem;margin:0}.gf-player-heading h2 span{font-weight:400;font-size:.8rem;color:#617285}.gf-player-heading>span{font-size:.85rem;font-weight:750;color:#32665e}.gf-hand{display:grid;grid-template-columns:repeat(auto-fit,minmax(76px,1fr));gap:10px;align-items:start}.gf-rank{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-width:0;min-height:110px;background:#fff;border:2px solid #cbd7e3;border-radius:12px;box-shadow:0 3px 0 #b5c9d85c;padding:8px;color:#2d3650;text-align:left;transition:transform .15s,border-color .15s}.gf-rank:disabled{opacity:1;cursor:default;background:#fbfcfe}.gf-rank:not(:disabled):hover{border-color:#4988c4;transform:translateY(-3px)}.gf-rank.is-selected{border-color:#275db7;box-shadow:0 0 0 3px #527fec33;transform:translateY(-4px);background:#f4f8ff}.gf-rank.is-guide{border-color:#b98422;box-shadow:0 0 0 3px #e7c67555}.gf-card-top{display:flex;justify-content:space-between;gap:4px;font-size:1.3rem;font-weight:850}.gf-card-top small{font-size:.72rem;color:#667387;font-weight:600}.gf-suits{display:flex;flex-wrap:wrap;justify-content:center;font-size:1.5rem;gap:2px;line-height:1.1}.gf-red{color:#c7435d}.gf-card-bottom{align-self:flex-end;font-size:.9rem;font-weight:800;transform:rotate(180deg)}.gf-books{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:18px;min-height:26px;font-size:.8rem;color:#5c6c79}.gf-book{background:#fff7d7;color:#795019;border:1px solid #dec477;border-radius:9px;padding:6px 9px;font-weight:800}.gf-book small{font-size:.65rem;font-weight:500}.gf-empty-hand{grid-column:1/-1;min-height:80px;font-size:.9rem}.gf-flight{display:none;position:absolute;z-index:4;pointer-events:none;border:3px solid white;border-radius:10px;padding:16px;background:#4d82b1;color:white;font-size:1.1rem;font-weight:800;box-shadow:0 5px 20px #315b6c35}.gf-flight.gf-moving{display:block;animation:gf-transfer .6s ease both}.gf-flight.gf-reward{display:block;left:var(--to-x);top:var(--to-y);background:#ffe297;color:#6b491c;animation:gf-book .7s ease both}.gf-deal .gf-rank{animation:gf-deal .35s ease both}.gf-deal .gf-rank:nth-child(2n){animation-delay:.05s}.gf-deal .gf-rank:nth-child(3n){animation-delay:.1s}.gf-result{position:relative;margin:20px 0 0;padding:24px;background:#fff;border:2px solid #a5cfc1;border-radius:20px;text-align:center;animation:gf-deal .3s ease}.gf-result h2{font-size:1.8rem;margin:8px 0}.gf-trophy{font-size:2rem;color:#d29219}.gf-result p{display:flex;justify-content:space-between;max-width:280px;margin:8px auto;padding:7px 12px;border-radius:9px}.gf-winner{background:#eef8e9;color:#316038}.gf-primary{background:#3970ce;color:white;border:0;border-radius:12px;padding:12px 22px;font-weight:750}.gf-result>a{display:block;margin-top:16px;color:#365f9c}.gf-game dialog{border:1px solid var(--line);border-radius:20px;padding:24px;max-width:min(390px,90vw);color:var(--ink)}.gf-game dialog::backdrop{background:#27384e55}.gf-game dialog h2{margin-top:0}.gf-game dialog div{display:flex;gap:10px;flex-wrap:wrap}.gf-game dialog button{padding:10px 16px;border-radius:10px;border:1px solid var(--line)}.gf-guide{max-width:760px;margin:36px auto 0;line-height:1.75}.gf-guide h2{font-size:1.35rem;margin:28px 0 8px}.gf-guide h3{font-size:1.03rem;margin:18px 0 4px}.gf-guide p{margin:8px 0}.gf-guide a{color:var(--accent-dark)}.gf-guide li{margin-bottom:8px}.go-fish-page #site-footer{position:static;padding:12px 12px 24px;line-height:2;min-width:0;max-width:100%}.go-fish-page #site-footer a{display:inline-block}
@keyframes gf-transfer{0%{left:var(--from-x);top:var(--from-y);transform:translate(-50%,-50%) scale(.7);opacity:0}20%{opacity:1}85%{opacity:1}100%{left:var(--to-x);top:var(--to-y);transform:translate(-50%,-50%);opacity:0}}
@keyframes gf-book{0%{transform:translate(-50%,-50%) scale(.7);opacity:0}35%{opacity:1;transform:translate(-50%,-65%) scale(1.05)}100%{transform:translate(-50%,-100%);opacity:0}}
@keyframes gf-deal{from{opacity:.2;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:760px){.gf-rank{min-height:126px}.gf-hand{grid-template-columns:repeat(auto-fit,minmax(82px,104px))}.gf-table{padding:26px 32px}}
@media(max-width:480px){.go-fish-page main{padding:14px 10px 32px}.gf-heading{gap:5px;margin-bottom:14px}.gf-heading p{font-size:.87rem}.gf-header{font-size:.9rem;margin-bottom:14px}.gf-table{padding:12px;border-radius:20px}.gf-opponents{gap:10px}.gf-opponent{padding:9px 6px;font-size:.78rem}.gf-center{gap:18px;min-height:132px;margin:10px 0}.gf-hand{grid-template-columns:repeat(auto-fit,minmax(62px,1fr));gap:8px}.gf-rank{min-height:100px;padding:6px}.gf-chip{font-size:.62rem;letter-spacing:.025em}.gf-small{font-size:.82rem}.gf-player-heading h2 span{display:block;margin-top:3px}.gf-deck{width:47px;height:65px}.gf-guide{padding:0 8px}.gf-suits{font-size:1.3rem}.gf-card-top{font-size:1.2rem}}
@media(prefers-reduced-motion:reduce){.gf-game *{animation:none!important;transition:none!important}.gf-flight.gf-moving,.gf-flight.gf-reward{display:none}}

/* One action panel and secondary history share the same layout at every size. */
.gf-game{container-type:inline-size}.gf-layout{display:block}
.gf-opponent.is-turn{box-shadow:0 0 0 3px #478bac25}
.gf-hand.is-ready .gf-rank{border-color:#81a7c9}.gf-hand.is-ready .gf-rank.is-selected{border-color:#275db7}
.gf-hand:not(.is-ready){opacity:.72}
.gf-action-panel{flex:1;min-width:0;min-height:148px;padding:16px 18px;background:#ffffffb8;border:1px solid #ccdde7;border-radius:16px;transition:background .2s,border-color .2s}
.gf-action-panel[data-kind="ready"]{background:#fff7dc;border-color:#d6b864}
.gf-action-panel[data-kind="success"]{background:#e5f7eb;border-color:#8fc0a1}
.gf-action-route{display:block;font-size:.82rem;font-weight:850;letter-spacing:.035em;color:#486078}
.gf-action-panel[data-kind="ready"] .gf-action-route{color:#795716}
.gf-action-message{font-size:1.22rem;font-weight:800;line-height:1.35;margin:8px 0;color:var(--ink)}
.gf-action-detail{font-size:.85rem;line-height:1.5;margin:0;color:#53687a}.gf-action-detail:empty{display:none}
.gf-skip{display:block;border:0;background:none;text-decoration:underline;color:#66717c;font-size:.72rem!important;min-height:36px;padding:4px 0}
.gf-center{max-width:700px;min-height:164px}
.gf-history{margin-top:12px;border:1px solid #dae5ef;border-radius:14px;background:#ffffffa8;color:#53687a;font-size:.82rem}
.gf-history summary{cursor:pointer;min-height:44px;padding:12px 16px;font-weight:700}.gf-history summary svg{vertical-align:middle;margin-right:4px}
.gf-history>p{font-size:.75rem;margin:0 16px 8px}.gf-history ol{max-height:260px;overflow:auto;overscroll-behavior:contain;list-style:none;margin:0;padding:0 16px 12px}
.gf-history li{padding:9px 0;border-bottom:1px solid #e4eaf2;line-height:1.5;overflow-wrap:anywhere}.gf-history li:last-child{border:0}
.gf-rank.is-drawn,.gf-hand.is-ready .gf-rank.is-drawn{border-color:#b8841d;background:#fff9e7;box-shadow:0 0 0 3px #e1bf6040}
.gf-new-card{font-size:.65rem;font-weight:800;color:#795616;text-align:center;margin:4px 0}
.gf-stock{max-width:100px;text-align:center}.gf-stock strong{overflow-wrap:break-word}
@media(max-width:600px){
 .go-fish-page main{padding:10px 10px 28px}
 .gf-header{margin-bottom:6px;font-size:.8rem}.gf-header a{min-height:32px;display:flex;align-items:center}
 .gf-heading{margin-bottom:6px}.gf-heading h1{font-size:1.65rem}.gf-heading>p{display:none}
 .gf-toolbar{margin-bottom:8px}.gf-small{min-height:44px;padding:6px 12px}.gf-chip{font-size:.62rem}
 .gf-table{padding:12px;border-radius:18px}
 .gf-opponents{width:100%;gap:10px}
 .gf-opponent{display:grid;grid-template-columns:30px minmax(0,1fr);gap:3px 6px;padding:8px;min-height:84px;border-radius:14px;align-content:center;text-align:left}
 .gf-opponent>strong{grid-column:2;font-size:.95rem}.gf-avatar,.gf-mini-books{display:none}
 .gf-fan{grid-column:1;grid-row:1/4;height:36px;padding:0;align-items:center}
 .gf-fan i{display:none;margin:0;width:25px;height:35px;transform:none}.gf-fan i:first-child{display:grid}
 .gf-seat-count{grid-column:2;font-size:.72rem;line-height:1.4}.gf-seat-count b{display:block}
 .gf-opponent.is-turn>strong::after{content:' •';color:#267799}.gf-opponent.can-ask:not(:disabled)>strong::after{content:' →';color:#237b76}
 .gf-center{align-items:center;gap:10px;min-height:0;margin:12px 0;width:100%;max-width:none}
 .gf-stock{width:52px;font-size:.65rem;gap:6px}.gf-deck{width:30px;height:42px;font-size:1.1rem}
 .gf-action-panel{padding:12px;min-height:148px;border-radius:12px}
 .gf-action-route{font-size:.73rem}.gf-action-message{font-size:1.06rem;line-height:1.35;margin:7px 0}.gf-action-detail{font-size:.75rem}
 .gf-player-heading{margin:0 0 8px}.gf-player-heading h2{font-size:.85rem}.gf-player-heading h2 span{display:inline;font-size:.7rem}.gf-player-heading>span{font-size:.73rem}
 .gf-hand{grid-template-columns:repeat(auto-fit,minmax(52px,1fr));gap:7px}
 .gf-rank{min-height:90px;padding:6px;border-radius:9px}.gf-card-top{font-size:1.13rem}.gf-card-top small{font-size:.62rem}.gf-suits{font-size:1.22rem}.gf-card-bottom{font-size:.75rem}
 .gf-books{margin-top:10px;font-size:.7rem;gap:5px;min-height:0}.gf-book{padding:4px 6px}
 .gf-guide{margin-top:24px}
}
