html { -webkit-text-size-adjust: 100%; }
body { margin:0; overflow-x:hidden; }
img, svg, video, canvas { max-width:100%; height:auto; display:block; } a, button { min-height:44px; }
:focus-visible { outline: 2px solid #4ecdc4; outline-offset: 2px; }
a, button { -webkit-tap-highlight-color: rgba(0,0,0,0.1); } input, select, textarea { font-size:16px; } .compact-gallery {
display:grid;
grid-template-columns: repeat(auto-fit, minmax(240px,1fr));
gap: 16px;
align-items: stretch;
} .compact-card {
position:relative;
display:flex; flex-direction:column;
background:#fff; border:1px solid #e5e7eb; border-radius:12px;
box-shadow:0 1px 3px rgba(0,0,0,.05);
overflow:hidden;
} .compact-card > img { display:block; width:100%; height:auto; pointer-events:none; } .compact-card-content { padding:14px; display:flex; flex-direction:column; gap:8px; }
.compact-card-title { font-size:1.05rem; line-height:1.25; margin:0; }
.compact-card-description { margin:0; color:#374151; font-size:.95rem; line-height:1.4; }
.compact-btn {
display:inline-flex; justify-content:center; align-items:center;
padding:10px 14px; border-radius:10px; background:#ff6b6b; color:#fff; text-decoration:none;
} .compact-card a.compact-card-link {
position:absolute; inset:0; z-index:1; }
.compact-card .compact-btn { position:relative; z-index:2; }  [id^="tcg-"] .tcg-form {
display:grid; grid-template-columns: 1fr 1fr; gap:12px;
}
@media (max-width: 820px) {
[id^="tcg-"] .tcg-form { grid-template-columns: 1fr; }
} [id^="tcg-"] select,
[id^="tcg-"] input[type="text"] {
width:100%; padding:10px 12px; border:1px solid #e5e7eb; border-radius:10px; font-size:16px;
} [id^="tcg-"] .tcg-buttons {
display:flex; flex-wrap:wrap; gap:10px; margin-top:12px;
}
[id^="tcg-"] .tcg-buttons button,
[id^="tcg-"] .tcg-buttons a {
flex:1 1 180px; padding:12px; border-radius:12px; border:none; cursor:pointer;
} [id^="tcg-"] .tcg-output-box,
[id^="tcg-"] .tcg-output {
display:none; margin-top:12px; padding:12px; border:1px solid #e5e7eb; border-radius:12px;
background:#fff; font-size:.92rem; line-height:1.4; white-space:pre-wrap;
} .tcg-banner {
width:100%; max-height:180px; object-fit:contain; background:#fff;
border-radius:12px; display:block; margin-bottom:1rem;
} [id^="tcg-"] { overflow-x:hidden; } @supports (padding: max(0px)) {
body { padding-left: max(0px, env(safe-area-inset-left));
padding-right: max(0px, env(safe-area-inset-right)); }
}