/* Viewport-sized game menus; long collections are paginated, not stacked. */
[hidden]{display:none!important}
.game-tabs{display:flex;gap:8px;flex-wrap:wrap;flex:none;padding:4px 0 12px;border-bottom:1px solid #b1bf9b66}
.game-tabs button,.game-pager button{border:1px solid #b6c6a0;background:#fffdf0;color:#456045;border-radius:12px;padding:10px 18px;font:inherit;font-weight:700;cursor:pointer;min-height:42px;transition:transform .18s,background .18s,box-shadow .18s}
.game-tabs button[aria-pressed=true]{background:#526e50;color:#fffce7;box-shadow:0 4px 12px #42623c24}
.game-tabs button:hover,.game-pager button:hover{transform:translateY(-2px)}
.game-pager{display:flex;align-items:center;justify-content:center;gap:20px;padding:8px;flex:none;font-variant-numeric:tabular-nums}
.game-pager button:disabled{opacity:.35;cursor:default;transform:none}
.game-pane{min-height:0;min-width:0;animation:game-arrive .24s ease-out;overflow:auto;overscroll-behavior:contain}
.game-pane p,.game-pane small{line-height:1.5}
.cozy-ui dialog[open]{animation:game-arrive .26s ease-out}
.cozy-ui dialog::backdrop{background:#213d365f;backdrop-filter:blur(8px)}
.cozy-ui :is(#travel-dialog,#library-overlay,#battle-overlay,#monster-dialog){width:min(1200px,96vw);height:92dvh;max-height:92dvh;padding:24px 28px;overflow:hidden}
.cozy-ui #travel-dialog[open]{display:flex;flex-direction:column}
.cozy-ui .travel-heading{flex:none}.cozy-ui .travel-heading p{margin-bottom:0}
.cozy-ui .travel-content{flex:1;min-height:0;display:flex;flex-direction:column}
.cozy-ui .travel-toolbar{margin:10px 0;flex:none}
.cozy-ui .game-deck{display:flex;flex-direction:column;gap:12px;min-height:0;flex:1}
.cozy-ui .travel-pane{flex:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.8fr);gap:18px;align-content:start}
.cozy-ui .travel-pane[data-pane="1"]{display:flex;flex-direction:column;align-items:stretch}
.cozy-ui .travel-pane[data-pane="1"] .game-cards{min-height:0;flex:1}
.cozy-ui .travel-pane[data-pane="1"] .game-pager{order:2}
.cozy-ui .travel-pane[data-pane="2"]{grid-template-columns:minmax(260px,.75fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto}
.cozy-ui .travel-pane[data-pane="2"]>.game-pager{grid-column:2}
.cozy-ui .travel-pane[data-pane="3"]{grid-template-rows:minmax(0,1fr) auto}
.cozy-ui .travel-pane[data-pane="3"]>.game-pager{grid-column:1;grid-row:2}
.cozy-ui .travel-pane .travel-scene{min-height:0;padding:18px;display:flex;align-items:center;flex-direction:column;justify-content:center}
.cozy-ui .travel-pet-portrait{width:auto;max-width:100%;height:clamp(120px,25dvh,240px);object-fit:contain;margin:0 auto 12px}
.cozy-ui .travel-scene h3{font-size:22px;margin:8px 0}.cozy-ui .travel-trail{margin:12px 0}
.cozy-ui .travel-pane .travel-bag,.cozy-ui .travel-pane .travel-growth{margin:0;padding:20px}
.cozy-ui .travel-pane .travel-postcard{margin:0;height:100%;display:flex;flex-direction:column;min-height:0;background:#fafbf2}
.cozy-ui .travel-pane .travel-postcard video{width:100%;height:auto;min-height:100px;max-height:calc(92dvh - 330px);flex:1;object-fit:contain;background:#e9eddd}
.cozy-ui .travel-pane .travel-postcard header,.cozy-ui .travel-pane .travel-postcard footer{padding:10px 14px;flex:none}
.cozy-ui .travel-pane .travel-postcard p{padding:0 14px;margin:6px 0;font-size:14px;flex:none}
.cozy-ui .travel-pane .travel-postcard details{max-height:100px;overflow:auto;padding:6px 12px}
.cozy-ui .travel-souvenirs{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-content:start}
.cozy-ui .travel-souvenirs>div{display:flex;flex-wrap:wrap;gap:8px;padding:12px;background:#fffbed;border-radius:14px;border:1px solid #dce3cb}
.cozy-ui .travel-souvenirs button{width:100%;min-height:40px}
.cozy-ui #monster-detail{height:100%;display:flex;flex-direction:column;gap:12px}
.cozy-ui #monster-detail .game-pane{flex:1}.cozy-ui #monster-detail .monster-idle-video{height:calc(92dvh - 290px);max-height:none!important}
.cozy-ui #monster-detail .detail-actions{flex:none;display:flex;flex-wrap:wrap;gap:8px;margin:0}
.cozy-ui #monster-detail .detail-stats{grid-template-columns:repeat(3,1fr)}
.cozy-ui #monster-detail .game-pane>h2{margin:6px 0!important}.cozy-ui #monster-detail .reference-note{display:none}
.cozy-ui :is(#library-view,#battle-view){height:100%;min-height:0;display:flex;flex-direction:column;gap:12px;padding:0}
.cozy-ui :is(#library-view,#battle-view).hidden{display:none}
.cozy-ui .view-overlay .page-heading{margin:0;padding:0;flex:none}.cozy-ui .view-overlay .page-heading h1{font-size:26px;margin:6px 0}
.cozy-ui .view-overlay .page-heading .eyebrow,.cozy-ui .view-overlay .page-heading p{display:none}
.cozy-ui #library-grid{flex:1;min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;overflow:auto;align-content:start}
.cozy-ui .collection-card{padding:16px;min-width:0}.cozy-ui .collection-card>img{height:clamp(130px,30dvh,300px);width:100%;object-fit:contain}
.cozy-ui .collection-card .appearance-description,.cozy-ui .collection-card .reference-note{display:none}
.cozy-ui .collection-card h3{font-size:20px;margin:10px 0}.cozy-ui .collection-card p{font-size:14px;margin:6px 0}
.cozy-ui #battle-view>.game-pane{flex:1}.cozy-ui #battle-view>.game-tabs{order:1}.cozy-ui #battle-view>.game-pane{order:2}
.cozy-ui #battle-log{max-height:none}.cozy-ui #battle-log>div{padding:5px 10px;font-size:14px}
.cozy-ui #wallet-dialog{max-height:92dvh;overflow:auto}.cozy-ui #wallet-ledger{max-height:none;overflow:visible}
.cozy-ui .dialog-close{position:absolute;top:12px;right:12px;z-index:10}
.cozy-ui #toast.show{animation:game-reward .35s ease-out}
.cozy-ui .meter i{transition:width .5s ease-out}.cozy-ui .round-node.current{box-shadow:0 0 14px #c3d99d80}
@keyframes game-arrive{from{opacity:0;transform:translateY(8px) scale(.988)}to{opacity:1;transform:none}}
@keyframes game-reward{0%{transform:translateY(10px) scale(.9);opacity:0}70%{transform:translateY(-3px) scale(1.025)}100%{transform:none;opacity:1}}
@media(max-width:700px){
 .cozy-ui :is(#travel-dialog,#library-overlay,#battle-overlay,#monster-dialog){padding:18px 14px;height:96dvh;max-height:96dvh;width:98vw;max-width:98vw}
 .cozy-ui .travel-heading h2{font-size:20px}.cozy-ui .travel-heading p{display:none}
 .game-tabs{gap:4px;padding-bottom:8px;flex-wrap:nowrap}.game-tabs button{flex:1;padding:8px 6px;font-size:13px}
 .cozy-ui .travel-pane,.cozy-ui .travel-pane[data-pane="2"],.cozy-ui .travel-pane[data-pane="3"]{display:flex;flex-direction:column;gap:10px}
 .cozy-ui .travel-pane .travel-bag{padding:12px}.cozy-ui .travel-pet-portrait{height:16dvh}
 .cozy-ui .travel-trail,.cozy-ui .travel-stamp{display:none}.cozy-ui .travel-scene h3{font-size:18px}
 .cozy-ui .travel-note{font-size:13px}.cozy-ui .travel-toolbar select{max-width:180px}
 .cozy-ui .travel-pane .travel-postcard video{max-height:36dvh}
 .cozy-ui #library-grid{grid-template-columns:1fr}.cozy-ui .collection-card>img{height:34dvh}
 .cozy-ui #monster-detail .detail-actions .button{font-size:13px;padding:8px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:700px){
 .game-tabs button{font-size:12px;white-space:nowrap;padding:8px 3px;min-width:0}
 .cozy-ui .travel-pane[data-pane="2"]>.battle-home{flex:none}
 .cozy-ui .battle-home h3{font-size:17px;margin:0 0 6px}.cozy-ui .battle-home p{margin:5px 0;font-size:13px}
 .cozy-ui .travel-pane[data-pane="2"]>.game-cards{flex:1;min-height:0}
 .cozy-ui .travel-pane .travel-postcard video{min-height:0}
 .cozy-ui .battle-rules{font-size:13px;max-height:90px;overflow:auto}
 .cozy-ui .travel-pane[data-pane="2"]>.game-pager{padding:0;flex:none}
}
.cozy-ui #adoption-dialog{width:min(880px,96vw);max-height:92dvh;padding:24px;overflow:auto}
.cozy-ui #adoption-panel{padding:12px;background:none;border:0;box-shadow:none}
.cozy-ui .adoption-deck{display:flex;flex-direction:column;gap:12px}
.cozy-ui .adoption-deck .game-pane{max-height:calc(92dvh - 190px)}
.cozy-ui .adoption-heading{margin-bottom:12px}.cozy-ui .adoption-heading h2{font-size:24px}
.cozy-ui #adoption-payouts ul{margin:10px 0}
.cozy-ui #adoption-payouts li{padding:6px 10px}
.cozy-ui #room-menu details{margin:16px 0;font-size:14px;max-height:24dvh;overflow:auto}
@media(max-width:700px){.game-tabs button{font-size:14px}.cozy-ui #adoption-dialog{padding:16px}.cozy-ui .adoption-heading h2{font-size:20px}}
.cozy-ui .game-tabs{width:100%;max-width:none;margin:0;justify-content:flex-start;align-self:stretch}
.cozy-ui .game-pager{margin:0;width:100%;max-width:none}
.cozy-ui #monster-detail>.game-tabs{padding-top:18px}
.cozy-ui .view-overlay .page-heading{padding-right:36px}
.cozy-ui .collection-card{transition:transform .22s ease,box-shadow .22s ease}
.cozy-ui .collection-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #3a563321}
.cozy-ui .nav-charm{transition:transform .25s}.cozy-ui .nav:hover .nav-charm{transform:rotate(-8deg) scale(1.1)}
.cozy-ui .adoption-offer{box-shadow:inset 0 0 24px #efcc7a30;border:1px solid #d7bd80}
.cozy-ui .game-pane:not([hidden])>.travel-growth{animation:game-arrive .35s ease-out}
@media(max-width:700px){.cozy-ui .view-overlay .page-heading{padding-right:22px}.cozy-ui .view-overlay .page-heading>.button{display:none}}
