diff --git a/index.html b/index.html index 8fc1b40..30354b5 100644 --- a/index.html +++ b/index.html @@ -81,19 +81,87 @@ /* ── Sidebar ── */ aside { + width: 0; + min-width: 0; + background: var(--surface); + border-right: 0px solid var(--border); + overflow: hidden; + flex-shrink: 0; + transition: width 0.25s ease, min-width 0.25s ease, border-width 0.25s ease; + } + aside.open { width: 270px; min-width: 270px; - background: var(--surface); - border-right: 1px solid var(--border); - overflow-y: auto; + border-right-width: 1px; + } + .aside-inner { + width: 270px; padding: 16px 14px; } + .aside-header { + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: 12px; + } aside h2 { color: var(--accent); font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.12em; - margin-bottom: 12px; + margin-bottom: 0; + } + .aside-close { + background: none; + border: none; + color: var(--text-muted); + cursor: pointer; + font-size: 1.2rem; + line-height: 1; + padding: 0 2px; + transition: color 0.15s; + } + .aside-close:hover { color: var(--text); } + + .sidebar-toggle-btn { + margin-left: auto; + background: var(--surface2); + border: 1px solid var(--border); + color: var(--text-muted); + cursor: pointer; + font-family: inherit; + font-size: 0.8rem; + padding: 5px 12px; + border-radius: 4px; + display: flex; + align-items: center; + gap: 5px; + white-space: nowrap; + transition: color 0.15s, border-color 0.15s; + } + .sidebar-toggle-btn:hover { color: var(--text); border-color: var(--text-muted); } + + .sidebar-overlay { + display: none; + position: fixed; + inset: 0; + background: rgba(0, 0, 0, 0.6); + z-index: 99; + } + .sidebar-overlay.active { display: block; } + + @media (max-width: 640px) { + #sidebar { + position: fixed; + top: 0; + left: 0; + height: 100%; + z-index: 100; + } + .aside-inner { + height: 100%; + overflow-y: auto; + } } .ccard { @@ -484,13 +552,20 @@

PF2e Perception & Stealth

Flow of Control Reference — Player Core

+
-