/* Loom's editorial family. Color and a written topic label reinforce one another.
   No remote fonts or generated photographs are needed for these surfaces. */
html body [data-card-theme]{--card-accent:#385a46;--card-soft:#e6eadc;--card-paper:#fbf7ed;--card-ink:#26382f;--card-rule:#d7ccb5;--map-surface:var(--card-paper);--map-ink:var(--card-ink);--map-border:var(--card-rule);--map-active:var(--card-soft)}
html body [data-card-theme=parks]{--card-accent:#485e35;--card-soft:#e7ecd9}
html body [data-card-theme=places]{--card-accent:#984b2d;--card-soft:#f2e3d8}
html body [data-card-theme=civics]{--card-accent:#20545c;--card-soft:#e0ebea}
html body [data-card-theme=events]{--card-accent:#69405f;--card-soft:#eee2ec}
html body [data-card-theme=account]{--card-accent:#385a46;--card-soft:#eee9db}
html body :is(.loom-card-stack,.loom-scroll-form)[data-card-theme]{background:linear-gradient(145deg,#fffdf7,var(--card-paper))!important;color:var(--card-ink)!important;border:1px solid var(--card-rule)!important;border-radius:16px!important;box-shadow:0 9px 28px #3d30221c!important;font-family:Manrope,system-ui,sans-serif;font-size:15px;line-height:1.55}
html body .loom-card-stack.loom-has-stack[data-card-theme]{box-shadow:0 5px 0 -1px #efe8d8,0 6px 0 #d7ccb5,0 10px 0 -2px #f6f0e4,0 11px 0 -1px #d7ccb5,0 16px 30px #3d302224!important}
html body :is(.loom-card-stack,.loom-scroll-form)[data-card-theme]::before{content:attr(data-card-label);display:block;flex:0 0 auto;font:700 10px/1.4 Manrope,system-ui,sans-serif;text-transform:uppercase;letter-spacing:.13em;color:var(--card-accent);padding:0 36px 9px 0;margin:0 0 10px;border-bottom:1px solid #bc9d6180}
html body :is(.loom-card-stack,.loom-scroll-form)[data-card-theme] :is(h1,h2){font-family:Georgia,'Times New Roman',serif!important;font-weight:500!important;font-size:clamp(24px,6.4vw,30px)!important;line-height:1.08!important;letter-spacing:-.035em!important;color:var(--card-ink)!important;margin-top:0!important;margin-bottom:12px!important;overflow-wrap:anywhere}
html body :is(.loom-card-stack,.loom-scroll-form)[data-card-theme] h3{font-family:Georgia,'Times New Roman',serif!important;font-weight:500!important;font-size:21px!important;line-height:1.2!important;color:var(--card-ink)!important}
html body :is(.loom-card-stack,.loom-scroll-form)[data-card-theme] :is(p,li,label,small){color:var(--card-ink);line-height:1.5}
html body :is(.loom-card-stack,.loom-scroll-form)[data-card-theme] a{color:var(--card-accent);text-underline-offset:3px}
html body :is(.loom-card-stack,.loom-scroll-form)[data-card-theme] button{font-family:Manrope,system-ui,sans-serif!important;border-radius:10px!important;border-color:var(--card-rule)!important;color:var(--card-ink);background:var(--card-soft);min-height:44px;transition:background-color .12s ease}
html body :is(.loom-card-stack,.loom-scroll-form)[data-card-theme] button:disabled{opacity:.45}
html body :is(.loom-card-stack,.loom-scroll-form)[data-card-theme] :is(button[type=submit]:not([role=search] button),.demo-profile-primary,.feedback-send,.park-details-button,.post-primary,.profile-actions button:first-child,.event-actions button:first-child){background:var(--card-accent)!important;color:#fffdf7!important;border:1px solid var(--card-accent)!important;font-weight:600!important}
html body :is(.loom-card-stack,.loom-scroll-form)[data-card-theme] :is(input:not([type=checkbox]):not([type=radio]),textarea,select){border:1px solid var(--card-rule)!important;border-radius:9px!important;background:#fffdf8!important;color:var(--card-ink)!important;font:16px/1.45 Manrope,system-ui,sans-serif!important;box-sizing:border-box;max-width:100%}
html body :is(.loom-card-stack,.loom-scroll-form)[data-card-theme] :is(button,a,input,textarea,select):focus-visible{outline:2px solid var(--card-accent)!important;outline-offset:2px}
html body .loom-card-stack[data-card-theme] :is(.map-step-back,.map-detail-back){background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:var(--card-accent)!important;font-size:12px!important;padding:4px 0!important;min-height:32px!important}
html body .loom-card-stack[data-card-theme] .loom-stack-pages{border-top:1px solid #bc9d6180!important}
html body .loom-card-stack[data-card-theme] .loom-stack-pages button{background:transparent!important;border:0!important;color:var(--card-accent)!important;font-size:13px!important}
html body .loom-card-stack[data-card-theme] .loom-stack-progress>span{font-family:Georgia,serif;font-size:15px}
html body .loom-card-stack[data-card-theme] :is(.profile-tags span,.park-guide-options button,[aria-pressed=true]){background:var(--card-soft)!important;color:var(--card-accent)!important}
html body .loom-card-stack[data-card-theme] :is(.profile-photo,.park-guide-photo,.story-photo) img{border-radius:10px;object-fit:cover}
html body .loom-card-stack[data-card-theme] :is(.profile-credit,figcaption){font-size:11px;line-height:1.4;opacity:.8}
html body .loom-card-stack[data-card-theme] :is(.water-card-head,.block-property-head,.government-head){align-items:flex-start}
html[data-theme=night] body [data-card-theme]{--card-paper:#202b26;--card-ink:#f5eddc;--card-rule:#536153;--card-soft:#303e33;--card-accent:#d5c390}
html[data-theme=night] body [data-card-theme=parks]{--card-accent:#c6d7a4}
html[data-theme=night] body [data-card-theme=places]{--card-accent:#e8af8d}
html[data-theme=night] body [data-card-theme=civics]{--card-accent:#9fcbd0}
html[data-theme=night] body [data-card-theme=events]{--card-accent:#d4b2d0}
html[data-theme=night] body :is(.loom-card-stack,.loom-scroll-form)[data-card-theme]{background:linear-gradient(145deg,#27352c,var(--card-paper))!important}
html[data-theme=night] body :is(.loom-card-stack,.loom-scroll-form)[data-card-theme] :is(input:not([type=checkbox]):not([type=radio]),textarea,select){background:#202b26!important}
html[data-theme=night] body :is(.loom-card-stack,.loom-scroll-form)[data-card-theme] :is(button[type=submit]:not([role=search] button),.demo-profile-primary,.feedback-send,.park-details-button,.post-primary,.profile-actions button:first-child,.event-actions button:first-child){color:#202b26!important}
@media(prefers-reduced-motion:reduce){html body [data-card-theme] button{transition:none!important}}
html body .loom-card-stack[data-card-theme] figure{margin:0 0 10px!important;width:100%;box-sizing:border-box}
html body .loom-card-stack[data-card-theme] img.profile-photo{display:block;width:100%!important;height:min(148px,calc(var(--loom-stack-body-height) - 60px))!important;object-fit:cover!important;border-radius:10px!important}
html body :is(.loom-card-stack,.loom-scroll-form)[data-card-theme] :is(button[type=submit]:not([role=search] button),.demo-profile-primary,.feedback-send,.park-details-button,.post-primary){display:block;width:100%;min-height:44px}
html body :is(.loom-card-stack,.loom-scroll-form)[data-card-theme] :is([data-close],[data-water-close],.feedback-close,.demo-profile-close,.government-close,.location-help-close,.photo-close){background:transparent!important;border:0!important;box-shadow:none!important;width:44px;min-width:44px;font-size:24px;color:var(--card-ink)!important}
html body .hud-bottom.loom-card-stack[data-card-theme] .loom-stack-flow>strong{font:500 26px/1.1 Georgia,serif;letter-spacing:-.025em}
html body #app .loom-card-stack[data-card-theme] img.profile-photo{height:min(148px,calc(var(--loom-stack-body-height) - 60px))!important;max-height:148px!important;object-fit:cover!important}
/* Browse previews deliberately bypass the full reading-card pager. */
html body #app #discovery-tray:has(.place-browse){position:absolute!important;left:50%!important;right:auto!important;top:auto!important;bottom:calc(90px + env(safe-area-inset-bottom,0px))!important;transform:translateX(-50%)!important;width:min(350px,calc(100% - 24px))!important;height:auto!important;max-height:40dvh!important;overflow:auto!important;padding:14px!important;box-sizing:border-box;border:1px solid #d7ccb5!important;border-radius:16px!important;background:#fbf7ed!important;color:#26382f!important;box-shadow:0 8px 28px #30271b24!important}
html body #app #discovery-tray:has(.place-browse)>.map-step-back{display:none!important}
html body #app #discovery-tray .place-browse-card{padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important}
html body #app #discovery-tray .place-browse-card h2{font:500 25px/1.1 Georgia,serif!important;letter-spacing:-.025em;margin:0 0 6px!important}
html body #app #discovery-tray .place-browse-card p{font:14px/1.4 Manrope,system-ui,sans-serif!important;margin:0 0 12px!important;color:#526254!important}
html body #app #discovery-tray .place-browse-card .map-step-copy{display:none!important}
html body #app #discovery-tray .place-browse-card .map-step-options{display:flex!important;gap:8px!important;overflow:visible!important}
html body #app #discovery-tray .place-browse-card .map-step-options button{flex:1;min-height:44px;border-radius:9px;background:#eee5d7;color:#26382f}
html body #app #discovery-tray .place-browse-card .map-step-options button:first-child{background:#984b2d!important;color:#fffdf7!important}
.loom-route-button:is(a){display:inline-flex;align-items:center;min-height:44px;padding:10px 12px;box-sizing:border-box;border:1px solid var(--map-border,#d7ccb5);border-radius:10px;text-decoration:none;background:var(--map-active,#eee5d7);font:600 14px/1.4 system-ui;color:var(--map-ink,#26382f)}
.listing-update-dialog button[aria-label="Close listing updates"]{float:right;width:44px;height:44px;border:0;background:transparent;font-size:24px}
.listing-update-dialog button[data-correction],.listing-update-dialog button[data-photo]{display:block;width:100%;margin:10px 0;padding:12px;text-align:left}

html[data-theme=night] body #app #discovery-tray:has(.place-browse){background:#202b26!important;color:#f5eddc!important;border-color:#536153!important}
html[data-theme=night] body #app #discovery-tray .place-browse-card p{color:#ced6c8!important}
/* Category menus use a compact grid; reading cards keep their editorial layout. */
html body #app #discovery-tray:has(.compact-menu-card){--menu-paper:#fffaf0;--menu-ink:#24463e;position:absolute!important;left:50%!important;right:auto!important;top:auto!important;bottom:calc(90px + env(safe-area-inset-bottom,0px))!important;transform:translateX(-50%)!important;width:min(370px,calc(100% - 24px))!important;max-width:calc(100% - 24px)!important;height:auto!important;min-height:0!important;max-height:calc(100% - 190px)!important;overflow:auto!important;padding:10px!important;box-sizing:border-box;border:1px solid #cecdbd!important;border-radius:18px!important;background:var(--menu-paper)!important;color:var(--menu-ink)!important;box-shadow:0 7px 24px #173b3029!important}
html body #app .compact-menu-card{margin:0;padding:0;background:transparent;border:0;box-shadow:none;color:var(--menu-ink)}
html body #app .compact-menu-head{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;margin:0 0 8px}
html body #app .compact-menu-head h2{font:650 18px/1.25 Manrope,system-ui,sans-serif!important;letter-spacing:-.02em;margin:0!important;color:var(--menu-ink)!important}
html body #app .compact-menu-head button{display:grid;place-items:center;padding:0!important;margin:0;min-height:44px;width:44px;border:0!important;border-radius:10px;background:transparent!important;color:var(--menu-ink)!important;font:400 25px/1 system-ui}
html body #app .compact-menu-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
html body #app .compact-menu-options button{--menu-fill:#e0ebea;--menu-color:#20545c;display:flex;align-items:center;gap:8px;width:100%;min-width:0;min-height:49px;margin:0;padding:9px 10px!important;box-sizing:border-box;border:0!important;border-radius:11px;background:var(--menu-fill)!important;color:var(--menu-color)!important;box-shadow:none!important;font:600 14px/1.3 Manrope,system-ui,sans-serif!important;text-align:left;white-space:normal;overflow-wrap:anywhere;cursor:pointer}
html body #app .compact-menu-options button[data-menu-tone=places]{--menu-fill:#f2e0d3;--menu-color:#854124}
html body #app .compact-menu-options button[data-menu-tone=parks]{--menu-fill:#dfebcf;--menu-color:#3a5831}
html body #app .compact-menu-options button[data-menu-tone=events]{--menu-fill:#eee0ee;--menu-color:#73416d}
html body #app .compact-menu-icon{display:flex;flex:0 0 21px;width:21px;height:21px}
html body #app .compact-menu-icon svg{width:21px;height:21px}
html body #app .compact-menu-card button:hover{filter:brightness(.96)}
html body #app .compact-menu-card button:focus-visible{outline:2px solid var(--menu-ink);outline-offset:2px}
html[data-theme=night] body #app #discovery-tray:has(.compact-menu-card){--menu-paper:#202d27;--menu-ink:#f5eddd;border-color:#536153!important}
html[data-theme=night] body #app .compact-menu-options button{--menu-fill:#29474b;--menu-color:#c3e2e4}
html[data-theme=night] body #app .compact-menu-options button[data-menu-tone=places]{--menu-fill:#50392b;--menu-color:#f3ceb2}
html[data-theme=night] body #app .compact-menu-options button[data-menu-tone=parks]{--menu-fill:#34492c;--menu-color:#d5e8bc}
html[data-theme=night] body #app .compact-menu-options button[data-menu-tone=events]{--menu-fill:#503650;--menu-color:#ebc5e8}
html body #app .compact-menu-options button span,html body #app .compact-menu-options button svg{color:inherit!important}
