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 @@
Flow of Control Reference — Player CorePF2e Perception & Stealth