/* Paper Atlas · selected map target · existing local prototype */
:root{--atlas-paper:oklch(96% .018 75);--atlas-line:oklch(84% .023 65);--atlas-ink:oklch(18% .025 40);--atlas-muted:oklch(45% .02 60);--atlas-teal:oklch(44% .075 212);--atlas-coral:oklch(70% .17 32);--atlas-white:oklch(99% .004 75);--atlas-shadow:oklch(15% .015 40 / .18);--sidebar-width:294px;--color-paper:var(--atlas-paper);--color-paper-2:oklch(93% .02 75);--color-ink:var(--atlas-ink);--color-muted:var(--atlas-muted);--color-accent-dark:var(--atlas-teal);--color-rule:var(--atlas-line);--color-rule-2:oklch(65% .03 65)}
html,.atlas{height:100%;overflow:hidden}.atlas{margin:0;background:var(--atlas-paper);color:var(--atlas-ink);font-family:var(--font-body)}.atlas [hidden]{display:none!important}.ph{flex:none;font-size:24px;line-height:1}.icon-button{width:48px;height:48px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;padding:0;background:transparent;border:1px solid transparent;color:var(--atlas-ink)}.icon-button:hover{background:var(--color-paper-2)}.atlas-sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);z-index:1100;background:var(--atlas-paper);border-right:1px solid var(--atlas-line);display:flex;flex-direction:column;padding:22px 23px 18px;transition:transform 220ms var(--ease-out);overflow:auto}.sidebar-brand{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;gap:8px}.sidebar-brand h1{font:400 34px/1 var(--font-display);letter-spacing:-.06em;white-space:nowrap}.sidebar-brand h1 span{color:var(--atlas-teal)}.sidebar-brand .icon-button{width:38px;min-width:38px}.sidebar-brand .ph{font-size:20px}.sidebar-search{display:flex;align-items:center;gap:10px;padding:0 14px;height:50px;min-height:50px;border:1px solid var(--atlas-line);border-radius:28px;margin-bottom:22px}.sidebar-search .ph{font-size:23px}.sidebar-search input{border:0;outline:0;background:transparent;min-width:0;width:100%;font:400 16px var(--font-body);padding:0;color:var(--atlas-ink)}.sidebar-search:focus-within{outline:2px solid var(--atlas-teal);outline-offset:2px}.sidebar-search kbd{white-space:nowrap;font:400 12px var(--font-body);color:var(--atlas-muted);border:1px solid var(--atlas-line);border-radius:5px;padding:1px 5px}.sidebar-row{display:flex;align-items:center;gap:17px;width:100%;min-height:61px;text-align:left;padding:8px 7px;font-size:16px;line-height:1.4;white-space:normal;border-radius:6px}.sidebar-row>span{flex:1;min-width:0}.sidebar-row>.ph:last-child:not(:first-child){font-size:16px}.sidebar-row:hover{background:var(--color-paper-2)}.sidebar-row small{font-size:12px;color:var(--atlas-muted)}.sidebar-primary{padding-bottom:25px}.view-switch{display:flex;flex-shrink:0;min-height:44px;border:1px solid var(--atlas-line);border-radius:25px;margin:0 3px 27px;position:relative}.view-switch:before,.view-switch:after{content:'';position:absolute;left:0;right:0;height:1px;background:var(--atlas-line)}.view-switch:before{top:-21px}.view-switch:after{bottom:-28px}.view-switch button{display:flex;align-items:center;justify-content:center;gap:9px;flex:1;border-radius:24px;font-size:15px;padding:0 10px}.view-switch .ph{font-size:22px}.view-switch .active{background:var(--atlas-teal);color:var(--atlas-white)}.sidebar-secondary{padding-top:17px}.sidebar-bottom{margin-top:auto;padding-top:36px}.sidebar-bottom>.sidebar-row:first-child{border-top:1px solid var(--atlas-line);border-radius:0;padding-top:22px;margin-top:12px}.sidebar-row.muted{color:var(--atlas-muted);font-size:14px;min-height:52px}.atlas-workspace{position:fixed;inset:0 0 0 var(--sidebar-width);padding:0;outline:0;transition:left 220ms var(--ease-out);overflow:hidden}.atlas #map-view,.atlas #graph-view,.atlas #map{position:absolute;inset:0;width:100%;height:100%}.atlas #map{background:var(--color-paper-2)}.sidebar-collapsed .atlas-sidebar{transform:translateX(-100%)}.sidebar-collapsed .atlas-workspace{left:0}.open-sidebar{position:fixed;z-index:1090;left:16px;top:16px;background:var(--atlas-paper);box-shadow:0 2px 9px var(--atlas-shadow)}.map-actions{position:absolute;right:25px;bottom:53px;z-index:650;display:flex;gap:12px}.map-actions .icon-button{height:52px;width:52px;background:var(--atlas-white);border:1px solid var(--atlas-line);box-shadow:0 2px 7px var(--atlas-shadow)}.map-actions .ph{font-size:27px}.map-disclaimer{position:absolute;left:20px;bottom:24px;z-index:650;padding:4px 8px;background:var(--atlas-white);font-size:13px;line-height:1.4;color:var(--atlas-muted)}.leaflet-container{font-family:var(--font-body)}.leaflet-control-attribution{margin:0 24px 17px 0!important;font-size:12px!important;padding:3px 6px!important;background:var(--atlas-white)!important}.leaflet-control-attribution a{color:var(--atlas-teal)}.atlas-marker{background:transparent;border:0;display:flex!important;align-items:center;gap:0;width:max-content!important;height:54px!important;outline:none}.marker-dot{display:flex;align-items:center;justify-content:center;width:54px;height:54px;flex:none;background:var(--atlas-coral);border:3px solid var(--atlas-white);border-radius:50%;box-shadow:0 2px 7px var(--atlas-shadow);color:var(--atlas-white);z-index:2}.marker-dot .ph{font-size:27px}.marker-label{padding:6px 10px 6px 15px;margin-left:-7px;background:var(--atlas-white);border-radius:0 6px 6px 0;font-weight:600;font-size:14px;line-height:1.4;white-space:nowrap;box-shadow:0 2px 4px var(--atlas-shadow)}.atlas-marker.is-selected .marker-label{display:none}.atlas-marker:focus-visible .marker-dot{outline:3px solid var(--atlas-teal);outline-offset:3px}.atlas-marker.is-selected .marker-dot{box-shadow:0 0 0 4px oklch(70% .17 32 / .25)}.atlas-popup .leaflet-popup-content-wrapper{border:1px solid var(--atlas-line);border-radius:14px;padding:0;box-shadow:0 5px 18px var(--atlas-shadow)}.atlas-popup .leaflet-popup-content{margin:12px!important;width:285px!important}.atlas-popup .leaflet-popup-tip-container{display:none}.map-event-popup{display:flex;gap:13px;align-items:flex-start;color:var(--atlas-ink)}.map-event-popup img{width:82px;height:112px;object-fit:cover;border-radius:4px;flex:none}.map-event-popup h2{font:600 17px/1.35 var(--font-body);letter-spacing:-.04em;margin:0 0 4px;word-break:keep-all}.map-event-popup p{margin:1px 0!important;font-size:13px;line-height:1.5;color:var(--atlas-muted)}.map-event-popup button{display:flex;align-items:center;gap:8px;border:1px solid var(--atlas-line);border-radius:20px;padding:0 13px;min-height:34px;font-size:13px;font-weight:600;margin-top:7px}.map-event-popup button .ph{font-size:15px}.map-error,.atlas-empty{position:absolute;z-index:700;top:24px;left:50%;transform:translateX(-50%);width:min(390px,calc(100% - 40px));background:var(--atlas-paper);border:1px solid var(--atlas-line);padding:20px;border-radius:10px;box-shadow:0 4px 20px var(--atlas-shadow)}.atlas-empty h2{font:600 18px var(--font-body);margin-bottom:8px}.atlas-empty p{font-size:14px;margin-bottom:16px}.atlas-status{position:fixed;z-index:1900;bottom:22px;left:calc(var(--sidebar-width) + 28px);max-width:min(460px,calc(100vw - 40px));font-size:13px;background:var(--atlas-paper);border-radius:7px;box-shadow:0 2px 12px var(--atlas-shadow);padding:9px 14px;pointer-events:none}.atlas-status:empty{display:none}.atlas-status.error{color:var(--color-error)}.primary-button{background:var(--atlas-teal);color:var(--atlas-white);border-radius:6px;padding:10px 18px;min-height:44px;font-size:14px}.plain-button{padding:10px 0;text-decoration:underline;text-underline-offset:3px;font-size:14px;min-height:44px}.atlas-dialog{position:fixed;inset:0;margin:auto;width:min(440px,calc(100vw - 24px));height:auto;max-height:90svh;border:1px solid var(--atlas-line);border-radius:14px;background:var(--atlas-paper);color:var(--atlas-ink);padding:22px;overflow:auto;box-shadow:0 8px 32px var(--atlas-shadow)}.atlas-dialog::backdrop{background:oklch(20% .01 60 / .3)}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.dialog-header h2{font:600 21px var(--font-body)}.dialog-header>span{font-size:13px;color:var(--atlas-muted)}.atlas-dialog form{display:grid;gap:16px}.atlas-dialog label{font-size:13px;display:grid;gap:6px}.atlas-dialog input:not([type=checkbox]),.atlas-dialog select{min-height:44px;padding:8px 10px;background:var(--atlas-white);border:1px solid var(--atlas-line);border-radius:5px;width:100%}.atlas-dialog .free-choice{display:flex;align-items:center;gap:10px;min-height:44px}.atlas-dialog .free-choice input{width:18px;height:18px;accent-color:var(--atlas-teal)}.atlas-dialog p{font-size:14px;line-height:1.6}.atlas-dialog .facts{font-size:14px;grid-template-columns:54px 1fr}.atlas-dialog h2#detail-title{font:600 23px/1.4 var(--font-body);margin-bottom:14px}.atlas-dialog .source-note{font-size:13px;margin-top:20px;padding:12px;background:var(--color-paper-2);border:0}.atlas-dialog .drawer-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.atlas-dialog .save{padding:8px 14px;border:1px solid var(--atlas-line);border-radius:5px;background:var(--atlas-white)}.event-list-item{display:flex;gap:10px;align-items:center;border-bottom:1px solid var(--atlas-line);padding:14px 0}.event-list-item>button:first-child{flex:1;text-align:left;white-space:normal;font-size:15px}.event-list-item small{display:block;color:var(--atlas-muted);font-size:12px;margin-top:4px}#limit-error{color:var(--color-error)}.contribution-entry{display:none}.contribution-dialog{z-index:2000}.atlas-sidebar .sidebar-row[aria-current=true]{color:var(--atlas-teal);font-weight:600}
/* The graph reuses the same full-height surface and state. */
.atlas #connections{position:absolute;inset:0;border:0;padding:0;margin:0}.atlas .graph-heading,.atlas .graph-toolbar,.atlas .graph-pagination,.atlas .graph-pan-help,.atlas .graph-status,.atlas .graph-source{display:none}.atlas .graph-workspace{position:absolute;inset:0;width:100%;height:100%;display:block}.atlas .graph-stage{height:100%;width:100%;display:block;border:0}.atlas .graph-stage .graph-viewport{height:100%;width:100%;background:var(--atlas-white)}.atlas .graph-selection{display:none;position:absolute;right:22px;top:22px;width:270px;height:auto;max-height:calc(100% - 110px);padding:18px;background:var(--atlas-paper);border:1px solid var(--atlas-line);border-radius:12px;box-shadow:0 4px 15px var(--atlas-shadow);z-index:3}.atlas.graph-info-open .graph-selection{display:block}.graph-info-toggle{position:absolute;z-index:4;right:22px;bottom:28px;background:var(--atlas-paper);border:1px solid var(--atlas-line)}.atlas .graph-selection h3{font-family:var(--font-body);font-size:18px}.atlas .graph-trail{height:auto;white-space:normal;font-size:11px}.atlas .node-poster,.atlas .node-poster-rule{display:none}.atlas .graph-node.node-event .node-surface{fill:var(--atlas-white);stroke:var(--atlas-teal)}.atlas .graph-node.selected .node-surface{fill:var(--atlas-teal)}.atlas .node-title,.atlas .node-kind,.atlas .node-date{font-family:var(--font-body)}
@media(max-height:820px) and (min-width:761px){.atlas-sidebar{padding-top:18px}.sidebar-brand{margin-bottom:20px}.sidebar-search{margin-bottom:12px}.sidebar-row{min-height:54px}.sidebar-primary{padding-bottom:22px}.sidebar-bottom{padding-top:10px}}
@media(max-width:760px){:root{--sidebar-width:294px}.atlas-workspace{left:0}.atlas-sidebar{width:min(294px,calc(100vw - 30px));box-shadow:8px 0 25px var(--atlas-shadow);padding:20px}.atlas.sidebar-collapsed .atlas-sidebar{transform:translateX(-100%)}.panel-backdrop{position:fixed;inset:0;z-index:1095;background:oklch(15% .01 60 / .26);border:0;border-radius:0}.sidebar-brand h1{font-size:32px}.sidebar-row{min-height:54px}.sidebar-bottom{padding-top:22px}.map-actions{right:14px;bottom:60px;gap:7px}.map-actions .icon-button{width:44px;height:44px;min-height:44px}.map-disclaimer{left:10px;bottom:28px;max-width:calc(100% - 20px);font-size:10px}.leaflet-control-attribution{margin:0 8px 7px 0!important;font-size:10px!important}.marker-dot{width:44px;height:44px}.marker-dot .ph{font-size:22px}.marker-label{font-size:12px;max-width:160px;overflow:hidden;text-overflow:ellipsis}.atlas-popup .leaflet-popup-content{width:236px!important;margin:10px!important}.map-event-popup{gap:9px}.map-event-popup img{width:65px;height:100px}.map-event-popup h2{font-size:14px}.map-event-popup p{font-size:12px}.map-event-popup button{min-height:44px}.atlas-status{left:12px;bottom:14px}.atlas-dialog{padding:17px}.atlas .graph-selection{right:12px;top:72px;width:min(270px,calc(100% - 24px));max-height:calc(100% - 150px)}}
@media(prefers-reduced-motion:reduce){.atlas-sidebar,.atlas-workspace{transition:none}}
.atlas .graph-info-toggle{bottom:92px}.atlas .graph-node.selected foreignObject{color:var(--atlas-white)}.atlas .graph-node foreignObject{color:var(--atlas-teal)}
.atlas-marker.label-muted .marker-label{visibility:hidden}.atlas-marker.label-muted:hover .marker-label,.atlas-marker.label-muted:focus-visible .marker-label{visibility:visible}.atlas-marker:hover,.atlas-marker:focus-visible{z-index:999!important}
.atlas .leaflet-tile-pane{filter:grayscale(.55) saturate(.65) contrast(.88) brightness(1.08)}
.atlas-marker{pointer-events:none}.atlas-marker .marker-dot,.atlas-marker .marker-label{pointer-events:auto}
@media(max-width:760px){.atlas .graph-info-toggle{bottom:124px}}
/* Relationships belong to the map; geographic pins never move for layout. */
.selection-summary{border-top:1px solid var(--atlas-line);border-bottom:1px solid var(--atlas-line);padding:18px 4px 14px;margin-bottom:10px}.selection-summary:has(#selection-content:empty){display:none}.selection-summary h2{font:600 17px/1.5 var(--font-body);letter-spacing:-.03em;margin:3px 0}.selection-summary p{font:400 12px/1.6 var(--font-body);color:var(--atlas-muted);margin:0}.selection-summary .plain-button{display:flex;gap:6px;align-items:center;font-size:13px;text-decoration:none;padding:4px 0}.selection-summary .plain-button .ph{font-size:15px}.selection-summary img{width:50px;height:66px;object-fit:cover;border-radius:3px;float:left;margin:3px 12px 8px 0}.selection-summary:after{content:'';display:block;clear:both}.atlas .sidebar-secondary{padding-top:0}.map-relations{position:absolute;inset:0;z-index:610;pointer-events:none;overflow:hidden}.map-relation-lines{position:absolute;inset:0;overflow:visible;pointer-events:none}.map-relation-edge{fill:none;stroke:var(--atlas-teal);stroke-width:1.7;opacity:.72}.map-relation-edge.is-semantic{stroke-dasharray:5 4}.map-relation-edge.is-active{stroke-width:2;opacity:.9}.map-relation-edge.is-context{opacity:.35}.map-geographic-leader{fill:none;stroke:var(--atlas-muted);stroke-width:1;stroke-dasharray:2 3;opacity:.5}.map-edge-label{font:500 11px var(--font-body);fill:var(--atlas-teal);paint-order:stroke;stroke:var(--atlas-paper);stroke-width:5px;stroke-linejoin:round}.relation-node{position:absolute;left:0;top:0;pointer-events:auto;display:flex;align-items:center;gap:7px;min-height:48px;max-width:176px;white-space:nowrap;padding:6px 12px;background:var(--atlas-paper);border:1px solid var(--atlas-line);border-radius:6px;box-shadow:0 2px 5px var(--atlas-shadow);text-align:left;transition:opacity 180ms ease-out,transform 240ms ease-out}.relation-node .ph{font-size:19px}.relation-node small{display:block;font:400 10px/1.2 var(--font-body);color:var(--atlas-muted)}.relation-node strong{font:500 13px/1.5 var(--font-body)}.relation-topic{border-radius:28px;border-color:var(--atlas-teal);color:var(--atlas-teal);background:var(--atlas-white)}.relation-topic small{color:var(--atlas-teal)}.relation-node.is-selected{outline:2px solid var(--atlas-teal);outline-offset:2px}.relation-node.is-context{opacity:.7}.relation-node:hover,.relation-node:focus-visible{opacity:1;z-index:2}.relation-node:focus-visible{outline:3px solid var(--atlas-teal);outline-offset:3px}.map-relations.is-moving .relation-node{transition:none}.atlas-marker.is-discovered:not(.is-selected):not(.is-related){opacity:.68}.atlas-marker.is-related .marker-dot{border-color:var(--atlas-teal);box-shadow:0 0 0 2px var(--atlas-paper)}.atlas-marker.is-selected .marker-label{display:block}.atlas-marker.is-selected{z-index:1000!important}.atlas-marker.is-discovered:hover,.atlas-marker.is-discovered:focus-visible{opacity:1}.atlas .map-actions{gap:7px}
@media(max-width:760px){.atlas .map-actions{right:12px;gap:6px}.relation-node{max-width:158px;padding:6px 10px}.relation-node strong{font-size:12px}.selection-summary{padding:14px 3px}.atlas .sidebar-primary{padding-bottom:14px}.atlas .sidebar-secondary .sidebar-row{min-height:48px}}
@media(prefers-reduced-motion:reduce){.relation-node{transition:none}}
.atlas-marker .marker-label{position:absolute;left:44px;top:7px;margin:0;padding:6px 10px;border-radius:6px}.relationships-active .atlas-marker.is-unrelated{opacity:.45}.relationships-active .atlas-marker.is-unrelated:hover,.relationships-active .atlas-marker.is-unrelated:focus-visible{opacity:1}.atlas-marker{transition:opacity 180ms ease-out}
.map-relations .relation-node{transition:opacity 180ms ease-out}
.atlas .atlas-workspace{width:auto;max-width:none;min-width:0;max-height:none}.atlas #map-view,.atlas #map{max-width:none;max-height:none;min-width:0}

/* Keep labels compact without losing their accessible full names. */
.relation-node>span{min-width:0;overflow:hidden}.relation-node strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.atlas-marker .marker-label{max-width:240px;overflow:hidden;text-overflow:ellipsis}@media(max-width:760px){.atlas-marker .marker-label{max-width:160px}}

.map-relations.is-inactive .relation-node{opacity:.3}.map-relations.is-inactive .map-relation-edge,.map-relations.is-inactive .map-geographic-leader,.map-relations.is-inactive .map-edge-label{opacity:.12}.map-relations.is-inactive .relation-node.is-selected{outline-color:transparent}.exploration-inactive .atlas-marker{opacity:1!important}.exploration-inactive .atlas-marker.is-related .marker-dot{border-color:var(--atlas-white);box-shadow:0 2px 7px var(--atlas-shadow)}.exploration-inactive .atlas-marker.is-selected .marker-dot{box-shadow:0 2px 7px var(--atlas-shadow)}.map-actions button:disabled{opacity:.45;cursor:default}

/* Search controls belong to this dialog, not the legacy page-wide filter row. */
#filter-dialog{width:min(640px,calc(100vw - 24px));max-height:calc(100svh - 32px);overflow-x:hidden;overflow-y:auto}
#filter-dialog #filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px 20px}
#filter-dialog #filters>label{min-width:0;grid-column:auto;grid-row:auto}
#filter-dialog #filters select{width:100%;min-width:0;max-width:100%}
#filter-dialog #filters .free-choice{align-self:center;min-height:44px}
#filter-dialog #filters>.primary-button{min-width:0;align-self:center;justify-self:end;min-height:44px;padding-inline:24px}
#filter-dialog #share{margin-top:14px}
@media(max-width:520px){#filter-dialog{padding:18px}#filter-dialog #filters{grid-template-columns:minmax(0,1fr);gap:14px}#filter-dialog #filters>.primary-button{width:100%;justify-self:stretch}#filter-dialog #share{width:100%;text-align:center}}

/* Dialog sizing follows content; all contents stay within the viewport. */
.atlas dialog.atlas-dialog,.atlas dialog.contribution-dialog{max-width:calc(100vw - 24px);max-height:calc(100svh - 32px);height:auto;overflow-x:hidden;overflow-y:auto;box-sizing:border-box}
.atlas dialog.atlas-dialog{width:min(640px,calc(100vw - 24px))}
.atlas #detail,.atlas #results-dialog{width:min(720px,calc(100vw - 24px))}
.atlas #settings-dialog{width:min(440px,calc(100vw - 24px))}
.atlas dialog.contribution-dialog{width:min(720px,calc(100vw - 24px));border-radius:14px}
.atlas dialog :is(form,label,fieldset,dl,dd,.dialog-header>span,.dialog-header h2,.contribution-dialog-head>div,.contribution-field,.event-list-item>button){min-width:0}
.atlas dialog :is(p,dd,a,h2,.source-note,.event-list-item){overflow-wrap:anywhere}
.atlas dialog :is(select,textarea,input:not([type=checkbox]):not([type=radio])){min-width:0;max-width:100%;box-sizing:border-box}
.atlas dialog .facts{grid-template-columns:54px minmax(0,1fr)}
.atlas dialog .dialog-header>.icon-button{flex-shrink:0}
.atlas dialog :is(.drawer-actions,.contribution-actions){display:flex;flex-wrap:wrap;gap:10px}
.atlas dialog :is(.drawer-actions,.contribution-actions)>*{min-width:0;max-width:100%}
@media(max-width:520px){.atlas dialog.atlas-dialog{padding:18px}.atlas dialog .contribution-shell{padding:18px}.atlas dialog .contribution-form,.atlas dialog .contribution-pair,.atlas dialog .contribution-subgrid{grid-template-columns:minmax(0,1fr)}}

.relation-actions{position:absolute;left:0;top:0;display:flex;gap:4px;pointer-events:auto;white-space:nowrap;z-index:3}.relation-actions button{min-height:32px;padding:5px 9px;font:500 11px var(--font-body);background:var(--atlas-paper);color:var(--atlas-teal);border:1px solid var(--atlas-line);border-radius:5px;box-shadow:0 2px 4px var(--atlas-shadow)}.relation-actions button:disabled{color:var(--atlas-muted);cursor:default}.map-relations.is-inactive .relation-actions{opacity:.35}

/* Hallmark · component: search checkboxes · genre: modern-minimal · theme: Paper Atlas
 * pre-emit critique: P4 H4 E4 S4 R5 V4
 * states: default · hover · focus · active · disabled · loading · error · success
 */
html,body.atlas{overflow-x:clip}
#filter-dialog{padding:0}
#filter-dialog>.dialog-header{padding:20px 24px 0;margin-bottom:4px}
#filter-dialog>.filter-help{padding:0 24px 20px;color:var(--atlas-muted);font-size:13px}
#filter-dialog #filters{display:block}
#filter-dialog .filter-body{padding:0 24px 16px}
#filter-dialog .filter-city{display:flex;align-items:center;justify-content:space-between;gap:16px;font-weight:600;font-size:14px;padding:0 0 16px}
#filter-dialog .filter-city select{width:180px;font-weight:400}
#filter-dialog .filter-group{position:relative;margin:0;padding:12px 0 20px;border:0;border-top:1px solid var(--atlas-line);min-width:0}
#filter-dialog .filter-group legend{padding:0 8px 0 0;font-size:14px;font-weight:600}
.filter-count{margin-left:8px;font-size:12px;font-weight:400;color:var(--atlas-teal)}
#filter-dialog .filter-clear{position:absolute;right:0;top:-32px;min-height:44px;padding:0 0 0 12px;font-size:12px;color:var(--atlas-muted);background:var(--atlas-paper)}
#filter-dialog .filter-clear:disabled{opacity:.6}
#filter-dialog .filter-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding-top:4px}
#filter-dialog #date-options{grid-template-columns:repeat(2,minmax(0,1fr))}
#filter-dialog .filter-option{display:flex;align-items:center;gap:8px;min-height:44px;padding:10px;border:1px solid var(--atlas-line);border-radius:6px;background:var(--atlas-white);color:var(--atlas-ink);font-size:13px;cursor:pointer}
#filter-dialog .filter-option span{min-width:0;overflow-wrap:anywhere;line-height:1.45}
#filter-dialog .filter-option input{width:17px;height:17px;flex:none;margin:0;accent-color:var(--atlas-teal)}
#filter-dialog .filter-option:has(input:checked){border-color:var(--atlas-teal);background:var(--color-paper-2);color:var(--atlas-teal);font-weight:600}
#filter-dialog .filter-option:has(input:focus-visible),#filter-dialog .filter-option.is-focus{outline:3px solid var(--atlas-teal);outline-offset:2px}
#filter-dialog .filter-option input:focus-visible{outline:0}
#filter-dialog .filter-option:active,#filter-dialog .filter-option.is-active{transform:translateY(1px)}
#filter-dialog .filter-option:has(input:disabled){opacity:.55;cursor:not-allowed}
#filter-dialog .filter-option[aria-invalid=true]{border-color:var(--color-error);color:var(--color-error)}
#filter-dialog .filter-option[data-state=success]{border-color:var(--atlas-teal);color:var(--atlas-teal)}
#filter-dialog .filter-option[data-state=loading]{opacity:.65;cursor:wait}
#filter-dialog .filter-no-options{color:var(--atlas-muted);grid-column:1/-1;font-size:13px}
#filter-dialog .free-choice{border-top:1px solid var(--atlas-line);padding-top:12px}
#filter-dialog .filter-hint{font-size:12px;color:var(--atlas-muted);margin-top:4px}
#filter-dialog .filter-footer{position:sticky;bottom:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 16px;padding:16px 24px 12px;background:var(--atlas-paper);color:var(--atlas-ink);border-top:1px solid var(--atlas-line)}
#filter-dialog #filter-result{font-size:13px}
#filter-dialog .filter-actions{display:flex;align-items:center;gap:16px}
#filter-dialog .filter-actions .plain-button{color:var(--atlas-muted);font-size:13px}
#filter-dialog #share{grid-column:1/-1;justify-self:start;width:auto;margin:0;font-size:12px;color:var(--atlas-muted);text-align:left;min-height:32px;padding:4px 0}
#filter-dialog #filters[data-state=loading] #filter-result{opacity:.65}
#filter-dialog #filters[data-state=error] #filter-result{color:var(--color-error)}
#filter-dialog .primary-button:hover{background:var(--atlas-teal);color:var(--atlas-white)}
.sidebar-row #topic-label,.sidebar-row #region-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
@media(hover:hover){#filter-dialog .filter-option:hover,#filter-dialog .filter-option.is-hover{background:var(--color-paper-2);color:var(--atlas-ink)}#filter-dialog .filter-clear:hover{color:var(--atlas-teal)}}
@media(max-width:520px){.atlas #filter-dialog{padding:0}#filter-dialog>.dialog-header{padding:16px 18px 0}#filter-dialog>.filter-help{padding:0 18px 16px}#filter-dialog .filter-body{padding:0 18px 12px}#filter-dialog .filter-options{grid-template-columns:repeat(2,minmax(0,1fr))}#filter-dialog .filter-footer{grid-template-columns:minmax(0,1fr);padding:12px 18px;gap:6px}#filter-dialog .filter-actions{justify-content:space-between}#filter-dialog .filter-actions .primary-button{flex:1;max-width:190px}#filter-dialog #share{justify-self:center;min-height:44px}#filter-dialog .filter-city select{width:150px}}
#filter-dialog #filters .filter-city select{width:180px;flex:none}
#filter-dialog #interest-options{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:520px){#filter-dialog #filters .filter-city select{width:150px}#filter-dialog #interest-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
