@import"https://fonts.googleapis.com/css2?family=Fraunces:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Inter:wght@400;500;600;700&display=swap";:root{--color-burgundy: #7A2323;--color-burgundy-light: #9a3d3d;--color-burgundy-muted: #b55c5c;--color-paper: #F7F6F3;--color-paper-warm: #EFE9E0;--color-sidebar: #EDEAE4;--color-ink: #2c2419;--color-ink-heading: #2F2A26;--color-ink-muted: #5c5248;--color-border: #E7E3DC;--color-white: #ffffff;--color-accent: #5F6F64;--color-accent-hover: #4E5C53;--color-success: #4a7c59;--color-warning: #c9a227;--font-heading: "Fraunces", Georgia, serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--sidebar-width: 260px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-page: 24px;--shadow-card: 0 10px 30px rgba(0, 0, 0, .05);--shadow-page: 0 4px 24px rgba(44, 36, 25, .08);--shadow-modal: 0 8px 32px rgba(44, 36, 25, .12);--line-height-body: 1.7;--content-max: 920px}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);font-weight:400;font-size:15px;color:var(--color-ink);background:var(--color-paper);line-height:var(--line-height-body);min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;line-height:1.3;margin-top:0;color:var(--color-ink-heading)}h1{font-size:2.25rem;letter-spacing:-.02em}h2{font-size:1.5rem;letter-spacing:-.01em}h3{font-size:1.125rem}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:var(--font-body);cursor:pointer;border:none;background:none}input,textarea{font-family:var(--font-body)}img{max-width:100%;height:auto}.leaflet-layout{display:flex;min-height:100vh;background:var(--color-paper)}.leaflet-sidebar{width:var(--sidebar-width);background:var(--color-sidebar);border-right:1px solid var(--color-border);display:flex;flex-direction:column;align-items:stretch;gap:2px;padding:var(--space-xl) 0;position:fixed;left:0;top:0;bottom:0;z-index:10}.leaflet-main{flex:1;margin-left:var(--sidebar-width);padding:var(--space-xl);min-height:100vh;display:flex;justify-content:center}.leaflet-content{width:100%;max-width:var(--content-max);background:var(--color-white);border-radius:var(--radius-page);padding:var(--space-2xl);box-shadow:var(--shadow-card);border:1px solid var(--color-border)}.sidebar-nav-item{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:12px 20px;text-align:left;font-size:15px;font-weight:500;color:var(--color-ink-muted);border:none;border-radius:0;border-left:3px solid transparent;background:transparent;transition:background .2s,color .2s;white-space:nowrap}.sidebar-nav-item:hover{background:#0000000a;color:var(--color-ink)}.sidebar-nav-item.active{background:#0000000a;color:var(--color-ink);border-left-color:var(--color-accent)}.sidebar-nav-item.active .sidebar-nav-icon{color:var(--color-accent)}.sidebar-nav-icon{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.sidebar-nav-icon svg{width:20px;height:20px;stroke:currentColor}.sidebar-nav-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-header{margin-bottom:var(--space-xl);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border)}.page-header h1{margin-bottom:var(--space-sm);font-size:2.25rem;letter-spacing:-.02em}.page-header .subtitle{color:var(--color-ink-muted);font-size:15px;line-height:var(--line-height-body)}.page-header .back-to-cover{display:inline-block;margin-top:var(--space-md);font-size:.875rem;color:var(--color-ink-muted);text-decoration:none;transition:color .2s}.page-header .back-to-cover:hover{color:var(--color-accent);text-decoration:underline}.content-block{margin-bottom:var(--space-xl)}.content-block h3{margin-bottom:var(--space-sm);font-size:1.25rem}.content-markdown{line-height:var(--line-height-body)}.content-markdown p{margin:0 0 var(--space-md)}.content-markdown p:last-child{margin-bottom:0}.content-markdown blockquote{margin:var(--space-lg) 0;padding:var(--space-md) var(--space-lg);border-left:3px solid var(--color-accent);background:var(--color-paper-warm);border-radius:0 var(--radius-md) var(--radius-md) 0;font-style:italic;color:var(--color-ink-muted)}.content-list{list-style:none;padding-left:0;margin:0}.content-list li{position:relative;padding-left:1.5rem;margin-bottom:var(--space-sm)}.content-list li:before{content:"—";position:absolute;left:0;color:var(--color-accent);font-size:.875rem}.content-callout{padding:var(--space-lg);background:var(--color-paper-warm);border-radius:var(--radius-md);border-left:3px solid var(--color-accent)}.content-callout h4{margin-top:0;margin-bottom:var(--space-sm)}.content-callout-body{margin:0;line-height:var(--line-height-body)}.content-block-image{margin-left:calc(-1 * var(--space-2xl));margin-right:calc(-1 * var(--space-2xl));margin-bottom:var(--space-xl)}.block-image-figure{margin:0}.block-image-img{width:100%;display:block;object-fit:cover}.block-image-caption{padding:var(--space-sm) var(--space-lg);font-size:.875rem;color:var(--color-ink-muted);text-align:center}@media (max-width: 640px){.content-block-image{margin-left:calc(-1 * var(--space-xl));margin-right:calc(-1 * var(--space-xl))}}.card{background:var(--color-white);border-radius:var(--radius-md);border:1px solid var(--color-border);padding:var(--space-lg);margin-bottom:var(--space-md);transition:box-shadow .2s}.card:hover{box-shadow:var(--shadow-card)}.card-image{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-sm);margin-bottom:var(--space-md)}.card-title{font-family:var(--font-heading);font-size:1.125rem;margin-bottom:var(--space-xs)}.card-description{color:var(--color-ink-muted);font-size:.875rem;line-height:1.5}.chip{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:4px;font-size:.8125rem;font-weight:500;background:var(--color-paper-warm);color:var(--color-ink-muted);border:1px solid var(--color-border);letter-spacing:.01em}.chip.chip-accent{background:var(--color-white);color:var(--color-accent);border-color:var(--color-accent)}.bottom-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2c241966;z-index:100;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}.bottom-sheet-overlay.open{opacity:1;visibility:visible}.bottom-sheet{position:fixed;left:0;right:0;bottom:0;background:var(--color-white);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-modal);z-index:101;transform:translateY(100%);transition:transform .3s ease-out;max-height:85vh;overflow-y:auto}.bottom-sheet-overlay.open .bottom-sheet{transform:translateY(0)}.bottom-sheet-header{padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between}.bottom-sheet-header h3{margin:0}.bottom-sheet-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--color-ink-muted);transition:background .2s}.bottom-sheet-close:hover{background:var(--color-paper-warm)}.bottom-sheet-body{padding:var(--space-xl)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--space-md);background:#14120f66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}.modal-overlay.modal-open{opacity:1;visibility:visible}.modal-box{width:100%;max-width:560px;max-height:calc(100vh - 2 * var(--space-md));background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);display:flex;flex-direction:column;transform:scale(.98);transition:transform .2s ease}.modal-overlay.modal-open .modal-box{transform:scale(1)}.modal-header{flex-shrink:0;padding:var(--space-xl) var(--space-xl) var(--space-md);padding-right:3rem;position:relative;border-bottom:1px solid var(--color-border)}.modal-title{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-ink)}.modal-subtitle{margin:.25rem 0 0;font-size:.9375rem;color:var(--color-ink-muted)}.modal-close{position:absolute;top:var(--space-lg);right:var(--space-lg);width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--color-ink-muted);border-radius:var(--radius-sm);cursor:pointer;transition:background .2s,color .2s}.modal-close:hover{background:var(--color-paper-warm);color:var(--color-ink)}.modal-body{flex:1;overflow-y:auto;padding:var(--space-xl)}.guest-mobile-header,.guest-bottom-nav{display:none}@media (max-width: 768px){.leaflet-sidebar{display:none}.leaflet-main{margin-left:0;width:100%;padding-top:56px;padding-bottom:calc(72px + env(safe-area-inset-bottom,0px));padding-left:var(--space-md);padding-right:var(--space-md)}.guest-mobile-header{display:flex;align-items:center;justify-content:center;position:fixed;top:0;left:0;right:0;height:56px;z-index:20;background:var(--color-white);border-bottom:1px solid var(--color-border);padding-top:env(safe-area-inset-top,0)}.guest-mobile-header-title{font-family:var(--font-heading);font-size:1.25rem;font-weight:600;color:var(--color-ink-heading);letter-spacing:-.02em}.guest-bottom-nav{display:flex;align-items:stretch;justify-content:space-around;position:fixed;bottom:0;left:0;right:0;height:calc(64px + env(safe-area-inset-bottom,0px));z-index:20;background:var(--color-white);border-top:1px solid var(--color-border);padding-bottom:env(safe-area-inset-bottom,0)}.guest-bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:48px;padding:6px 4px;border:none;background:transparent;color:var(--color-ink-muted);font-size:.625rem;font-weight:500;cursor:pointer;transition:color .2s,background .2s;-webkit-tap-highlight-color:transparent}.guest-bottom-nav-item:hover{background:#0000000a;color:var(--color-ink)}.guest-bottom-nav-item.active{color:var(--color-accent)}.guest-bottom-nav-icon{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.guest-bottom-nav-icon svg{width:22px;height:22px;stroke:currentColor}.guest-bottom-nav-label{line-height:1.2;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media (max-width: 640px){.leaflet-main{padding-top:56px;padding-bottom:calc(72px + env(safe-area-inset-bottom,0px));padding-left:var(--space-md);padding-right:var(--space-md)}.leaflet-content{padding:var(--space-xl);border-radius:20px}.page-header h1{font-size:1.875rem}}
