
:root{--bg:#f5f7f6;--surface:#fff;--surface2:#eef3f0;--text:#17201c;--muted:#69756f;--border:#dde5e1;--accent:#24684d;--accent2:#15583d;--visited:#e1f2e7;--visited-border:#6cab82;--score:#fff3ce;--score-text:#795500;--shadow:0 10px 30px rgba(18,46,34,.08);--header:64px;--scrim:rgba(7,20,14,.35);--scrim-soft:rgba(7,20,14,.12)}
*{box-sizing:border-box}html{color-scheme:light}body{margin:0;overflow-x:hidden;overflow-x:clip;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}.list-radio,#drawerToggle{position:fixed;opacity:0;pointer-events:none}.app-header{position:fixed;z-index:50;inset:0 0 auto;height:var(--header);background:rgba(255,255,255,.95);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}.header-inner{width:min(1180px,calc(100% - 24px));height:100%;margin:auto;display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;align-items:center}.menu-button,.close-button{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;cursor:pointer;user-select:none}.menu-button:hover,.close-button:hover{background:var(--surface2)}.hamb{width:22px;height:15px;display:grid;align-content:space-between}.hamb i{height:2px;background:currentColor;border-radius:2px}.title h1{font-size:17px;line-height:1.1;margin:0;font-weight:800}.title p{font-size:12px;color:var(--muted);margin:4px 0 0}.progress{font-size:12px;font-weight:800;color:var(--accent2);border:1px solid var(--border);background:var(--surface2);border-radius:999px;padding:8px 10px;white-space:nowrap}.drawer{position:fixed;z-index:90;left:0;top:0;bottom:0;width:min(340px,88vw);background:var(--surface);transform:translateX(-105%);visibility:hidden;transition:transform .2s ease,visibility 0s linear .2s;box-shadow:20px 0 50px rgba(0,0,0,.16);padding:18px;display:flex;flex-direction:column}.drawer-backdrop{position:fixed;z-index:80;inset:0;background:var(--scrim);opacity:0;pointer-events:none;visibility:hidden;transition:opacity .2s ease,visibility 0s linear .2s}.drawer-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px}.drawer-brand{font-size:18px;font-weight:850}.drawer-note{font-size:12px;color:var(--muted);margin-top:3px}.menu-list{display:grid;gap:8px;margin-top:8px}.menu-item{border:1px solid transparent;border-radius:14px;padding:13px 14px;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;cursor:pointer}.menu-item:hover{background:var(--surface2)}.menu-item b{display:block;font-size:14px}.menu-item small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.drawer-footer{margin-top:auto;font-size:11px;color:var(--muted);line-height:1.5;padding:12px 4px}#drawerToggle:checked~.app .drawer{transform:none;visibility:visible;transition:transform .2s ease}#drawerToggle:checked~.app .drawer-backdrop{opacity:1;pointer-events:auto;visibility:visible;transition:opacity .2s ease}
main{width:min(1180px,calc(100% - 24px));margin:auto;padding:calc(var(--header) + 18px) 0 48px}.toolbar{position:sticky;top:calc(var(--header) + 8px);z-index:40;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px;border-radius:15px;margin-bottom:12px}
.toolbar::after{content:"";position:absolute;z-index:-1;inset:0;border-radius:15px;background:rgba(245,247,246,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.toolbar::before{content:"";position:absolute;z-index:-2;left:50%;width:100vw;transform:translateX(-50%);top:-20px;bottom:-26px;pointer-events:none;background:var(--scrim-soft);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 10px,#000 calc(100% - 22px),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 10px,#000 calc(100% - 22px),transparent 100%)}.active-filters{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0;padding-left:4px}.filters-hint{font-size:11.5px;color:var(--muted);font-weight:700;padding-left:4px}.f-chip{display:inline-flex;align-items:center;gap:4px;min-height:30px;max-width:100%;padding:3px 5px 3px 10px;border-radius:999px;background:#e3f0e8;border:1px solid #c7ded1;color:var(--accent2);font-size:12px;font-weight:700}.f-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.f-chip button{border:0;background:rgba(255,255,255,.8);color:inherit;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;cursor:pointer;font-size:12px;line-height:1;padding:0;flex:0 0 auto}.f-chip button:hover{background:#fff}.tool-actions{display:flex;gap:6px;flex:0 0 auto}.tool-button{position:relative;width:42px;height:42px;border:1px solid var(--border);border-radius:12px;background:#fff;color:#435049;display:grid;place-items:center;cursor:pointer;padding:0;transition:.15s ease}.tool-button:hover{border-color:#c7d4ce;color:var(--accent2);background:var(--surface2)}.tool-button[aria-expanded="true"]{border-color:#bcd6c8;background:var(--surface2);color:var(--accent2)}.tool-button.is-active{background:#e3f0e8;border-color:#c7ded1;color:var(--accent2)}.tool-button.is-active:after{content:"";position:absolute;top:5px;right:5px;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px #e3f0e8}.tool-button svg{width:20px;height:20px;display:block}.tool-popover{position:absolute;top:calc(100% + 8px);right:0;width:min(304px,calc(100vw - 28px));max-height:calc(100vh - 170px);overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:15px;box-shadow:0 18px 45px rgba(18,46,34,.16);padding:12px;z-index:60;animation:pop .12s ease}.tool-popover[hidden]{display:none}@keyframes pop{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.popover-title{font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:2px 4px 8px}.popover-label{font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 4px 7px}.popover-section{padding-top:11px;border-top:1px solid var(--border);margin-top:11px}.popover-title+.popover-section{padding-top:0;border-top:0;margin-top:0}.search-field{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:11px;background:#fff;padding:0 8px 0 11px;min-height:42px}.search-field:focus-within{border-color:#90baa3;box-shadow:0 0 0 3px rgba(36,104,77,.08)}.search-field>svg{width:16px;height:16px;color:var(--muted);flex:0 0 auto}.search-field input{border:0;outline:0;min-width:0;flex:1;font:inherit;font-size:13.5px;color:var(--text);background:transparent;height:40px;padding:0}.search-field input::-webkit-search-cancel-button{display:none}.field-clear{border:0;background:var(--surface2);color:var(--muted);width:22px;height:22px;border-radius:50%;cursor:pointer;display:grid;place-items:center;padding:0;font-size:12px;line-height:1;flex:0 0 auto}.field-clear:hover{background:#dde8e2;color:var(--accent2)}.popover-hint{font-size:11.5px;color:var(--muted);margin:8px 4px 0}.option-list{display:grid;gap:1px}.option[hidden]{display:none}.option{display:flex;align-items:center;gap:10px;padding:8px;border-radius:10px;cursor:pointer;transition:.12s ease}.option:hover{background:var(--surface2)}.option input{accent-color:var(--accent);width:16px;height:16px;margin:0;flex:0 0 auto}.option-main{flex:1;min-width:0}.option-name{display:block;font-size:13px;font-weight:700;line-height:1.2}.option-note{display:block;font-size:11.5px;color:var(--muted);margin-top:1px}.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:var(--surface2);padding:4px;border-radius:11px}.segmented button{border:0;background:transparent;border-radius:8px;min-height:34px;font:inherit;font-size:12.5px;font-weight:700;color:var(--muted);cursor:pointer;padding:0 6px}.segmented button.is-active{background:#fff;color:var(--accent2);box-shadow:0 1px 3px rgba(18,46,34,.12)}.chip-options{display:flex;flex-wrap:wrap;gap:5px}.chip-options button{border:1px solid var(--border);background:#fff;border-radius:999px;min-height:30px;padding:0 11px;font:inherit;font-size:12px;font-weight:700;color:#526159;cursor:pointer}.chip-options button:hover{border-color:#c7d4ce;color:var(--accent2)}.chip-options button.is-active{background:#e3f0e8;border-color:#c7ded1;color:var(--accent2)}.popover-reset{margin-top:11px;width:100%;border:1px solid var(--border);background:#fff;border-radius:10px;min-height:38px;font:inherit;font-size:12.5px;font-weight:700;color:var(--muted);cursor:pointer}.popover-reset:hover{background:var(--surface2);color:var(--accent2)}.list-section{display:none}.list-section.is-default{display:block}
#tab-nl-museums:checked~.app [data-list="nl-museums"],#tab-foreign-museums:checked~.app [data-list="foreign-museums"],#tab-nl-places:checked~.app [data-list="nl-places"]{display:block}.list-radio:checked~.app .list-section.is-default{display:none}#tab-nl-museums:checked~.app [data-list="nl-museums"]{display:block}
#tab-nl-museums:checked~.app [data-list-label="nl-museums"],#tab-foreign-museums:checked~.app [data-list-label="foreign-museums"],#tab-nl-places:checked~.app [data-list-label="nl-places"]{background:#e3f0e8;border-color:#c7ded1;color:var(--accent2)}
.list-meta{display:flex;justify-content:space-between;align-items:center;padding:3px 4px 12px;gap:10px}.list-meta strong{font-size:14px}.result-count{font-size:12px;color:var(--muted)}.guide-list{display:grid;gap:8px}.guide-item{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr);gap:13px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:15px;padding:12px 13px;cursor:pointer;transition:.15s ease;box-shadow:0 1px 0 rgba(0,0,0,.02)}.guide-item[hidden]{display:none}.guide-item:hover{border-color:#c7d4ce;box-shadow:var(--shadow);transform:translateY(-1px)}.guide-item.visited{background:var(--visited);border-color:var(--visited-border)}.guide-item.visited:before{content:"";position:absolute;left:-1px;top:12px;bottom:12px;width:4px;background:var(--accent);border-radius:0 5px 5px 0}.rank{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--surface2);font-size:12px;font-weight:850;color:var(--muted)}.visited .rank{background:rgba(255,255,255,.7);color:var(--accent2)}.item-content{min-width:0}.item-title-row{display:flex;align-items:center;gap:7px;min-width:0}.item-title-row h2{font-size:14.5px;line-height:1.2;margin:0;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.score{flex:0 0 auto;background:var(--score);color:var(--score-text);font-size:11px;font-weight:850;border-radius:999px;padding:4px 7px}.topic{font-size:12.3px;color:#435049;margin-top:5px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.chip{display:inline-flex;align-items:center;min-height:25px;padding:4px 7px;border:1px solid var(--border);border-radius:999px;background:rgba(255,255,255,.78);color:#526159;font-size:10.5px;text-decoration:none;white-space:nowrap}.chip-map{color:var(--accent2);font-weight:750}.chip-map:hover,.chip-source:hover{border-color:#94bea6;background:#fff}.chip-month{background:#fff7df;border-color:#eadbb1;color:#765208;font-weight:750}.item-left{display:grid;justify-items:center;gap:4px}.visit-btn{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--border);background:transparent;color:var(--muted);opacity:.55;font-size:11px;font-weight:900;cursor:pointer;display:grid;place-items:center;transition:.15s ease;padding:0}
.visit-btn:hover{border-color:var(--accent);color:var(--accent);opacity:1}
.visit-btn.is-done{background:var(--accent);border-color:var(--accent);color:#fff;opacity:1}.empty-state{text-align:center;color:var(--muted);background:#fff;border:1px dashed var(--border);border-radius:15px;padding:45px 20px}.js-warning{display:none;margin-bottom:12px;padding:10px 12px;border-radius:12px;background:#fff7df;border:1px solid #eadbb1;color:#654600;font-size:12px;line-height:1.4}.no-js .js-warning{display:block}
@media(max-width:760px){.header-inner,main{width:calc(100% - 16px)}.title h1{font-size:15px}.title p{display:none}.progress{padding:7px 8px}.toolbar{top:calc(var(--header) + 4px);padding:6px;gap:6px}.active-filters{flex:1;flex-wrap:nowrap;overflow-x:auto;padding-left:0;scrollbar-width:none}.active-filters::-webkit-scrollbar{display:none}.tool-button{width:40px;height:40px;border-radius:11px}.tool-button svg{width:18px;height:18px}.tool-popover{width:calc(100vw - 24px)}.guide-item{grid-template-columns:36px minmax(0,1fr);gap:9px;padding:10px 9px;border-radius:13px}.item-left{align-self:start}.rank{width:34px;height:34px;border-radius:10px}.visit-btn{width:20px;height:20px;font-size:11px}.item-title-row h2{font-size:13.5px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.topic{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chip{font-size:10px;min-height:24px}.score,.event-badge{font-size:10px}.search-field{min-height:40px}.search-field input{height:36px}}
.load-error{margin:12px 0 0;padding:12px;border-radius:12px;background:#fff2f0;border:1px solid #ecc9c2;color:#7a2f22;font-size:12.5px;line-height:1.45}.load-error code{background:rgba(255,255,255,.75);border:1px solid #ecc9c2;border-radius:6px;padding:1px 5px}.load-error p{margin:0 0 8px}.load-error p:last-child{margin-bottom:0}
.chip[hidden]{display:none}
.chip-dist-est{border-style:dashed}
.geo-btn{width:100%;border:1px solid #c7ded1;background:#e3f0e8;color:var(--accent2);border-radius:10px;min-height:40px;font:inherit;font-size:13px;font-weight:800;cursor:pointer}
.geo-btn:hover{background:#d3e8db}
.geo-btn:disabled{opacity:.6;cursor:wait}
.geo-error{font-size:12px;color:#7a2f22;background:#fff2f0;border:1px solid #ecc9c2;border-radius:10px;padding:8px 10px;margin-top:8px;line-height:1.4}
.geo-error[hidden]{display:none}
.city-select{width:100%;border:1px solid var(--border);border-radius:10px;background:#fff;min-height:40px;font:inherit;font-size:13px;font-weight:700;color:var(--text);padding:0 10px;cursor:pointer}
.item-detail{margin-top:8px;padding-top:8px;border-top:1px dashed var(--border)}
.item-detail[hidden]{display:none}
.detail-topic{margin:0 0 4px;font-size:12.5px;line-height:1.5;font-weight:600}
.detail-note{margin:0;font-size:12.5px;line-height:1.55;color:#435049}
.detail-toggle{border:0;background:none;color:var(--accent2);font:inherit;font-size:11.5px;font-weight:800;cursor:pointer;padding:7px 0 0}
.detail-toggle:hover{text-decoration:underline}
.segmented.two{grid-template-columns:repeat(2,1fr)}
.event-badge{flex:0 0 auto;font-size:11px;font-weight:850;border-radius:999px;padding:4px 7px;white-space:nowrap}
.event-past{background:#e8ebea;color:#69756f}
.event-now{background:#c9e7d4;color:var(--accent2)}
.event-soon{background:#e3f0e8;color:var(--accent2)}
.event-month{background:#fff3ce;color:var(--score-text)}
.guide-item.is-past{opacity:.62}
.guide-item.is-past:hover{opacity:1}
.drawer-data{margin-top:12px;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface2)}
.drawer-data-title{font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:8px}
.drawer-data-btns{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.drawer-data-btns button{border:1px solid var(--border);background:#fff;border-radius:10px;min-height:36px;font:inherit;font-size:12.5px;font-weight:700;color:var(--accent2);cursor:pointer}
.drawer-data-btns button:hover{background:#e3f0e8;border-color:#c7ded1}
.drawer-data-msg{font-size:11.5px;color:var(--muted);margin-top:8px;line-height:1.4}
.drawer-data-msg:empty{display:none}
.drawer-data-btns button.is-wide{grid-column:1/-1}
.drawer-data-btns button.is-danger{color:#a3392b;border-color:#ecc9c2}
.drawer-data-btns button.is-danger:hover{background:#fff2f0;border-color:#e0b3aa}
.drawer-data-confirm{margin-top:8px;padding:10px;border:1px solid #ecc9c2;border-radius:10px;background:#fff2f0}
.drawer-data-confirm p{margin:0 0 8px;font-size:11.5px;line-height:1.45;color:#7a2f22;font-weight:600}
.drawer-data-confirm-btns{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.drawer-data-confirm-btns button{border:1px solid var(--border);background:#fff;border-radius:9px;min-height:34px;font:inherit;font-size:12.5px;font-weight:700;color:var(--accent2);cursor:pointer}
.drawer-data-confirm-btns button:hover{background:#e3f0e8;border-color:#c7ded1}
.drawer-data-confirm-btns button.is-danger{background:#b8432f;border-color:#b8432f;color:#fff}
.drawer-data-confirm-btns button.is-danger:hover{background:#a13826;border-color:#a13826;color:#fff}
.drawer-data-btns button:focus-visible,.drawer-data-confirm-btns button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.install-btn{border:1px solid var(--border);background:#fff;border-radius:10px;min-height:38px;width:100%;font:inherit;font-size:12.5px;font-weight:700;color:var(--accent2);cursor:pointer}
.install-btn:hover{background:#e3f0e8;border-color:#c7ded1}
.install-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.install-steps{margin:9px 0 0;padding-left:18px;font-size:11.5px;line-height:1.5;color:var(--muted)}
.install-steps li{margin-bottom:5px}
.install-steps li:last-child{margin-bottom:0}
.install-steps b{color:var(--accent2);font-weight:800}
.list-meta-right{display:flex;gap:8px;align-items:center}
.data-fresh{font-size:11px;color:var(--muted);white-space:nowrap}
.data-fresh:empty{display:none}
.header-right{display:flex;align-items:center;gap:7px}
.lang-select{border:1px solid var(--border);background:var(--surface2);color:var(--accent2);border-radius:999px;padding:8px 7px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.lang-select:hover{border-color:#c7d4ce;background:#e3f0e8}
@media(max-width:760px){.lang-select{padding:7px 6px}}
button.chip{font-family:inherit;cursor:pointer}
button.chip:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.chip-tip{position:fixed;z-index:120;max-width:min(300px,calc(100vw - 20px));background:#17201c;color:#fff;font-size:11.5px;line-height:1.45;padding:8px 10px;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.25);pointer-events:none}
.chip-tip[hidden]{display:none}
.tool-backdrop{position:fixed;z-index:30;inset:0;background:var(--scrim-soft);opacity:0;pointer-events:none;transition:opacity .15s ease}
.tool-backdrop.is-open{opacity:1;pointer-events:auto}
@media(max-width:760px){.tool-backdrop{background:var(--scrim)}}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
main.legal{width:min(760px,calc(100% - 24px));margin:auto;padding:calc(var(--header) + 24px) 0 48px}
.legal-head{display:flex;align-items:center;gap:12px}
.legal-back{text-decoration:none;color:inherit;font-size:20px}
.legal h2{font-size:16px;margin:26px 0 8px}
.legal-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px 18px;margin-bottom:18px}
.legal-card h2{margin-top:0}
.legal p,.legal li{font-size:13.5px;line-height:1.6;color:#435049}
.legal ul{padding-left:20px;margin:8px 0}
.legal li{margin:4px 0}
.legal a{color:var(--accent2)}
.legal code{background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:1px 5px}
.legal-foot{margin-top:28px}
.legal-foot a{font-weight:800;text-decoration:none}
.drawer-legal{display:inline-block;margin-top:6px;color:var(--accent2);font-weight:800;text-decoration:none}
.drawer-legal:hover{text-decoration:underline}
:root[data-theme=dark] .legal p,:root[data-theme=dark] .legal li{color:#b3c1b8}

/* dynamic event lists (registered from data/event-lists.json) */
.list-section.is-active{display:block}
.menu-item.is-active{background:#e3f0e8;border-color:#c7ded1;color:var(--accent2)}

/* theme: auto/light/dark — theme.js sets data-theme on <html> before first paint; without JS the guide stays light */
.drawer-theme{background:var(--surface)}
:root[data-theme=dark]{--bg:#0f1512;--surface:#171e1a;--surface2:#1f2823;--text:#e7efe9;--muted:#94a39a;--border:#2a352f;--accent:#3fae7d;--accent2:#7bd3a8;--visited:#16352a;--visited-border:#3d7f5d;--score:#3b3214;--score-text:#f0cf78;--shadow:0 10px 30px rgba(0,0,0,.45);--scrim:rgba(0,0,0,.55);--scrim-soft:rgba(0,0,0,.4);color-scheme:dark}
:root[data-theme=dark] .app-header,:root[data-theme=dark] .toolbar::after{background:rgba(15,21,18,.95)}
:root[data-theme=dark] .tool-button:not(.map-button),:root[data-theme=dark] .search-field,:root[data-theme=dark] .chip-options button,:root[data-theme=dark] .popover-reset,:root[data-theme=dark] .empty-state,:root[data-theme=dark] .city-select,:root[data-theme=dark] .drawer-data-btns button{background:var(--surface)}
:root[data-theme=dark] .tool-button:not(.map-button){color:#a9b8af}
:root[data-theme=dark] .f-chip,:root[data-theme=dark] .tool-button.is-active,:root[data-theme=dark] .chip-options button.is-active,:root[data-theme=dark] .menu-item.is-active,:root[data-theme=dark] .drawer-data-btns button:hover,:root[data-theme=dark] .geo-btn,:root[data-theme=dark] .event-now,:root[data-theme=dark] .event-soon,:root[data-theme=dark] #tab-nl-museums:checked~.app [data-list-label="nl-museums"],:root[data-theme=dark] #tab-foreign-museums:checked~.app [data-list-label="foreign-museums"],:root[data-theme=dark] #tab-nl-places:checked~.app [data-list-label="nl-places"]{background:#1d3b2c;border-color:#33604a}
:root[data-theme=dark] .tool-button.is-active:after{box-shadow:0 0 0 2px #1d3b2c}
:root[data-theme=dark] .tool-button:not(.map-button):hover,:root[data-theme=dark] .chip-options button:hover,:root[data-theme=dark] .guide-item:hover{border-color:#3a4a41}
:root[data-theme=dark] .lang-select:hover{background:#1d3b2c;border-color:#3a4a41}
:root[data-theme=dark] .tool-button[aria-expanded="true"],:root[data-theme=dark] .search-field:focus-within{border-color:#3f7d5e}
:root[data-theme=dark] .f-chip button{background:rgba(255,255,255,.12)}
:root[data-theme=dark] .f-chip button:hover{background:rgba(255,255,255,.24)}
:root[data-theme=dark] .chip{background:rgba(255,255,255,.06);color:#a9b8af}
:root[data-theme=dark] .chip-map:hover,:root[data-theme=dark] .chip-source:hover{background:#24322b;border-color:#3f7d5e}
:root[data-theme=dark] .chip-month,:root[data-theme=dark] .event-month{background:#3b3214;border-color:#6d5c2a;color:var(--score-text)}
:root[data-theme=dark] .topic,:root[data-theme=dark] .detail-note{color:#b3c1b8}
:root[data-theme=dark] .event-past{background:#252d29;color:var(--muted)}
:root[data-theme=dark] .js-warning{background:#3a3117;border-color:#6d5c2a;color:#e8cf8f}
:root[data-theme=dark] .load-error,:root[data-theme=dark] .geo-error{background:#3a2320;border-color:#6b3a33;color:#f2b8ab}
:root[data-theme=dark] .load-error code{background:rgba(0,0,0,.25);border-color:#6b3a33}
:root[data-theme=dark] .geo-btn:hover{background:#24503a}
:root[data-theme=dark] .segmented button.is-active{background:#2b3831;box-shadow:none}
:root[data-theme=dark] .field-clear:hover{background:#31413a}
:root[data-theme=dark] .visited .rank{background:rgba(255,255,255,.08)}
:root[data-theme=dark] .visit-btn.is-done{color:#0f1512}
:root[data-theme=dark] .chip-tip{background:#e7efe9;color:#141b17;box-shadow:0 8px 24px rgba(0,0,0,.5)}
:root[data-theme=dark] .drawer{box-shadow:20px 0 50px rgba(0,0,0,.5)}
:root[data-theme=dark] .tool-popover{box-shadow:0 18px 45px rgba(0,0,0,.5)}
:root[data-theme=dark] .drawer-data-btns button.is-danger{color:#f2b8ab;border-color:#6b3a33}
:root[data-theme=dark] .drawer-data-btns button.is-danger:hover{background:#3a2320;border-color:#6b3a33}
:root[data-theme=dark] .drawer-data-confirm{background:#3a2320;border-color:#6b3a33}
:root[data-theme=dark] .drawer-data-confirm p{color:#f2b8ab}
:root[data-theme=dark] .drawer-data-confirm-btns button{background:var(--surface)}
:root[data-theme=dark] .drawer-data-confirm-btns button.is-danger,:root[data-theme=dark] .drawer-data-confirm-btns button.is-danger:hover{background:#b8432f;border-color:#b8432f;color:#fff}
:root[data-theme=dark] .install-btn{background:var(--surface)}
:root[data-theme=dark] .install-btn:hover{background:#1d3b2c;border-color:#33604a}
:root[data-theme=dark] .install-steps b{color:var(--accent2)}
