mobile: rules + game pages responsive at 640px and 480px
This commit is contained in:
@@ -738,6 +738,75 @@
|
|||||||
.entry { grid-template-columns: 1fr; }
|
.entry { grid-template-columns: 1fr; }
|
||||||
.entry-actions { justify-content: flex-start; }
|
.entry-actions { justify-content: flex-start; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ── Mobile ─────────────────────────────────────────────────── */
|
||||||
|
@media (max-width: 640px) {
|
||||||
|
|
||||||
|
/* Nav: keep two groups, wrap if needed, larger tap areas */
|
||||||
|
nav .shell { flex-wrap: wrap; gap: 0; }
|
||||||
|
nav .nav-left { gap: .9rem; flex: 1 1 auto; min-width: 0; overflow-x: auto; }
|
||||||
|
nav .nav-left a { padding: .8rem 0; font-size: .65rem; }
|
||||||
|
.nav-right { gap: .4rem; flex-shrink: 0; }
|
||||||
|
.edit-toggle { padding: .5rem .8rem; font-size: .6rem; }
|
||||||
|
|
||||||
|
/* Timeline: horizontal scroll instead of hidden overflow */
|
||||||
|
.timeline-section { overflow: hidden; }
|
||||||
|
.tl-wrap {
|
||||||
|
overflow-x: auto;
|
||||||
|
overflow-y: visible;
|
||||||
|
-webkit-overflow-scrolling: touch;
|
||||||
|
overscroll-behavior-x: contain;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Chronicle: tighter vertical rhythm */
|
||||||
|
.chronicle-section { margin-bottom: 3rem; }
|
||||||
|
.chronicle-header-row { padding-bottom: 1.5rem; }
|
||||||
|
.chronicle-title { font-size: clamp(1.8rem, 8vw, 3.2rem); }
|
||||||
|
.entry { padding: 1.4rem 0; gap: 0 1rem; }
|
||||||
|
.entry-title { font-size: clamp(1.2rem, 5vw, 1.9rem); }
|
||||||
|
|
||||||
|
/* Entry side images: break earlier (was 700px, now caught here too) */
|
||||||
|
.entry-body.env-left,
|
||||||
|
.entry-body.env-right { display: block; }
|
||||||
|
.entry-body.env-left .entry-env,
|
||||||
|
.entry-body.env-right .entry-env {
|
||||||
|
position: relative; top: auto; margin-top: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Modal: less padding, date fields stack */
|
||||||
|
.modal { padding: 1.2rem 1rem 1.6rem; }
|
||||||
|
.date-row { grid-template-columns: 1fr; }
|
||||||
|
|
||||||
|
/* Minimum touch target height on all buttons */
|
||||||
|
.btn { min-height: 42px; }
|
||||||
|
.btn.sm { min-height: 36px; padding: .45rem .8rem; }
|
||||||
|
|
||||||
|
/* Game header actions stack naturally */
|
||||||
|
.game-header-top { align-items: flex-start; }
|
||||||
|
|
||||||
|
/* Section label + button row */
|
||||||
|
.section-header { flex-wrap: wrap; }
|
||||||
|
|
||||||
|
/* Truth items full width */
|
||||||
|
.truth-list { gap: .35rem; }
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 480px) {
|
||||||
|
/* Modal rises from bottom, full width */
|
||||||
|
.modal-overlay { padding: 0; align-items: flex-end; }
|
||||||
|
.modal {
|
||||||
|
width: 100%;
|
||||||
|
max-height: 88vh;
|
||||||
|
padding: 1rem 1rem 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Smaller eyebrow text */
|
||||||
|
.chronicle-eyebrow { font-size: .6rem; }
|
||||||
|
.entry-eyebrow { font-size: .62rem; }
|
||||||
|
|
||||||
|
/* Game header meta tighter */
|
||||||
|
.game-meta-row { gap: .5rem; flex-wrap: wrap; }
|
||||||
|
}
|
||||||
[x-cloak] { display: none !important; }
|
[x-cloak] { display: none !important; }
|
||||||
|
|
||||||
/* ── Animation ──────────────────────────────────────────────────── */
|
/* ── Animation ──────────────────────────────────────────────────── */
|
||||||
@@ -820,7 +889,7 @@
|
|||||||
<a href="games.html">Sessions</a>
|
<a href="games.html">Sessions</a>
|
||||||
<a x-show="game" x-text="game && game.title" style="color:var(--paper);pointer-events:none;"></a>
|
<a x-show="game" x-text="game && game.title" style="color:var(--paper);pointer-events:none;"></a>
|
||||||
</div>
|
</div>
|
||||||
<div style="display:flex;align-items:center;gap:.6rem">
|
<div class="nav-right" style="display:flex;align-items:center;gap:.6rem">
|
||||||
<select x-show="game && (cards.length || customDecks.length)"
|
<select x-show="game && (cards.length || customDecks.length)"
|
||||||
x-model="activeDeckId"
|
x-model="activeDeckId"
|
||||||
style="background:transparent;border:1px solid var(--line);color:var(--muted);
|
style="background:transparent;border:1px solid var(--line);color:var(--muted);
|
||||||
|
|||||||
+42
@@ -283,6 +283,48 @@
|
|||||||
filter: opacity(0.9) blur(0px);
|
filter: opacity(0.9) blur(0px);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ── Mobile ─────────────────────────────────────────────────── */
|
||||||
|
@media (max-width: 640px) {
|
||||||
|
|
||||||
|
/* Hero: less top padding, tighter leading */
|
||||||
|
.hero-copy { padding: 4rem 0 2.5rem; }
|
||||||
|
h1 { line-height: 1; }
|
||||||
|
|
||||||
|
/* Nav links: slightly smaller gap, still scrollable */
|
||||||
|
nav .shell { gap: 1rem; }
|
||||||
|
|
||||||
|
/* Reduce section spacing */
|
||||||
|
main { padding: 3rem 0 5rem; }
|
||||||
|
.project { margin: 0 0 4rem; }
|
||||||
|
|
||||||
|
/* Intro lead text: smaller on very narrow */
|
||||||
|
.intro .lead { font-size: 1.15rem; }
|
||||||
|
|
||||||
|
/* Meta grid: single column below 480px */
|
||||||
|
.meta { grid-template-columns: 1fr; }
|
||||||
|
|
||||||
|
/* Document: less padding */
|
||||||
|
.document { padding: 1.4rem; }
|
||||||
|
.document::before { display: none; }
|
||||||
|
.document::after { display: none; }
|
||||||
|
|
||||||
|
/* Blockquote: tighter */
|
||||||
|
blockquote { margin: 1.2rem 0 0; font-size: .88rem; }
|
||||||
|
|
||||||
|
/* Touch targets for nav */
|
||||||
|
nav a { padding: .9rem 0; }
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 480px) {
|
||||||
|
/* Masthead: less height on very small screens */
|
||||||
|
.masthead { min-height: 55vh; }
|
||||||
|
.masthead::after { display: none; }
|
||||||
|
.hero-copy h1 { font-size: clamp(2.6rem, 12vw, 4rem); }
|
||||||
|
|
||||||
|
/* Hide extra nav items, show only essentials */
|
||||||
|
nav .shell { gap: .8rem; }
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||||
|
|||||||
Reference in New Issue
Block a user