:root{--sims-blue-1:#3f5fd4;--sims-blue-2:#1c2d8c;--sims-blue-dark:#15215f;--sims-rim:#e9eefc;--panel-1:#2d4396;--panel-2:#1b2a6b;--panel-border:#9db2ec;--panel-text:#f5f1d8;--panel-muted:#c9cfe8;--heart:#ee4a5e;--gutter:16px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Nunito,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{height:100%;color:var(--panel-text);-webkit-font-smoothing:antialiased;background:#1a2b13;margin:0;overflow:hidden}#map{position:fixed;inset:0}.map-canvas{cursor:grab;outline:none;width:100%;height:100%;display:block}.map-canvas:active{cursor:grabbing}.map-canvas.pointing{cursor:pointer}#ui{pointer-events:none;position:fixed;inset:0}#ui>:not(.topbar){pointer-events:auto}.topbar{top:max(12px, env(safe-area-inset-top));left:var(--gutter);right:var(--gutter);pointer-events:none;justify-content:space-between;align-items:flex-start;gap:8px;display:flex;position:absolute}.btn-group{pointer-events:auto;gap:8px;display:flex}.round-btn{border:3px solid var(--sims-rim);background:radial-gradient(circle at 35% 30%, var(--sims-blue-1), var(--sims-blue-2) 70%);color:#fff;cursor:pointer;border-radius:50%;place-items:center;width:46px;height:46px;padding:0;transition:transform .12s,filter .12s;display:grid;box-shadow:0 3px 6px #00000073,inset 0 -3px 6px #00001e73}.round-btn svg{filter:drop-shadow(0 1px #00002899);width:26px;height:26px}.round-btn:hover{filter:brightness(1.15)}.round-btn:active{transform:scale(.94)}.round-btn:focus-visible{outline-offset:2px;outline:3px solid #ffe066}.round-btn[aria-pressed=true]{background:radial-gradient(circle at 35% 30%,#5fd46a,#1f7d2d 70%)}.day-night{border:3px solid var(--sims-rim);cursor:pointer;background:linear-gradient(#6ea8e6,#3f78c8);border-radius:23px;justify-content:space-between;align-items:center;width:84px;height:46px;padding:0 6px;transition:background .45s,transform .12s;display:flex;position:relative;box-shadow:0 3px 6px #00000073,inset 0 -3px 6px #00002866}.day-night[aria-pressed=true]{background:linear-gradient(#2c3a72,#141d47)}.day-night:hover{filter:brightness(1.1)}.day-night:active{transform:scale(.96)}.day-night:focus-visible{outline-offset:2px;outline:3px solid #ffe066}.day-night svg{width:20px;height:20px;transition:opacity .45s,color .45s;position:relative}.day-night .sun{color:#ffe9a8;opacity:0}.day-night .moon{color:#c9d6ff;opacity:.6}.day-night[aria-pressed=true] .sun{opacity:.6}.day-night[aria-pressed=true] .moon{opacity:0}.day-night .knob svg{width:20px;height:20px;position:absolute;inset:7px}.day-night .k-sun{color:#8a5600}.day-night .k-moon{color:#2b3a72;opacity:0}.day-night[aria-pressed=true] .k-sun{opacity:0}.day-night[aria-pressed=true] .k-moon{opacity:1}.day-night .knob{z-index:1;background:radial-gradient(circle at 35% 30%,#fff5cf,#f7b733 70%);border-radius:50%;width:34px;height:34px;transition:transform .45s cubic-bezier(.34,1.3,.64,1),background .45s;position:absolute;top:3px;left:3px;box-shadow:0 2px 4px #00001480,inset 0 -2px 4px #78460059}.day-night[aria-pressed=true] .knob{background:radial-gradient(circle at 35% 30%,#fff,#b9c6ef 70%);transform:translate(40px);box-shadow:0 2px 6px #0000008c,inset 0 -2px 4px #28326e66,0 0 12px #c8d8ff8c}@media (prefers-reduced-motion:reduce){.day-night,.day-night .knob,.day-night svg{transition:none}}.panel{background:linear-gradient(180deg, var(--panel-1), var(--panel-2));border:2px solid var(--panel-border);color:var(--panel-text);border-radius:14px;box-shadow:0 8px 24px #00000073,inset 0 1px #ffffff40}.title-plate{left:var(--gutter);bottom:max(16px, env(safe-area-inset-bottom));min-width:190px;padding:10px 16px 12px;position:absolute}.title-plate .name{letter-spacing:.5px;text-shadow:0 2px #00002880;font-size:26px;font-weight:900;line-height:1.1}.title-plate .sub{color:var(--panel-muted);font-size:13px;font-weight:700}.title-plate .count{align-items:center;gap:6px;margin-top:6px;font-size:13px;font-weight:800;display:flex}.heart{width:14px;height:14px;fill:var(--heart);flex:none;display:inline-block}.credit{color:#ffffffbf;text-shadow:0 1px 2px #000c;font-size:11px;position:absolute;bottom:4px;right:8px}.credit a{color:inherit}.loading{z-index:10;background:#1a2b13;place-items:center;transition:opacity .5s;display:grid;position:fixed;inset:0}.loading.done{opacity:0;pointer-events:none}.loading-panel{text-align:center;min-width:260px;padding:22px 34px}.loading-title{font-size:30px;font-weight:900}.loading-line{color:var(--panel-muted);margin-top:6px;font-weight:700}.loading-retry{border:2px solid var(--panel-border);color:#1b2340;font:inherit;cursor:pointer;background:#f7f4e6;border-radius:999px;margin-top:12px;padding:8px 16px;font-weight:800}@media (width<=520px){:root{--gutter:12px}.round-btn{width:40px;height:40px}.round-btn svg{width:22px;height:22px}.day-night{width:70px;height:40px;padding:0 5px}.day-night .knob{width:30px;height:30px}.day-night[aria-pressed=true] .knob{transform:translate(32px)}.day-night .knob svg{width:18px;height:18px;inset:6px}.day-night svg{width:17px;height:17px}.btn-group{gap:6px}.title-plate{min-width:0;padding:8px 12px 10px}.title-plate .name{font-size:21px}}.round-btn.small{border-width:2px;width:34px;height:34px}.round-btn.small svg{width:18px;height:18px}.card{top:calc(max(12px, env(safe-area-inset-top)) + 60px);right:var(--gutter);width:min(380px, calc(100vw - 2 * var(--gutter)));overscroll-behavior:contain;max-height:calc(100% - 150px);padding:16px 18px 18px;position:absolute;overflow-y:auto}.card[hidden]{display:none}.card-close{position:absolute;top:10px;right:10px}.card-cat{background:var(--cat);color:#fff;letter-spacing:.4px;text-transform:uppercase;border:2px solid #ffffffb3;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:800;display:inline-block}.card-title{text-shadow:0 2px #00002873;margin:8px 44px 6px 0;font-size:24px;font-weight:900;line-height:1.15}.card-body p{margin:0 0 10px;font-size:15px;line-height:1.5}.card-photos{grid-template-columns:repeat(2,1fr);gap:6px;margin:4px 0 10px;display:grid}.card-photos img{aspect-ratio:4/3;object-fit:cover;border:2px solid var(--panel-border);background:var(--sims-blue-dark);border-radius:8px;width:100%;display:block}.card-meta{border-top:1px solid #9db2ec66;grid-template-columns:auto 1fr;gap:4px 12px;margin:6px 0 0;padding-top:10px;font-size:14px;display:grid}.card-meta dt{color:var(--panel-muted);font-weight:700}.card-meta dd{margin:0;font-weight:700}.card-meta a{color:#ffe066}.hover-label{white-space:nowrap;text-align:center;border-radius:10px;padding:4px 10px;font-size:14px;font-weight:800;position:absolute;top:0;left:0;transform:translate(-50%,-100%);pointer-events:none!important}.hover-label small{color:var(--panel-muted);font-size:11px;font-weight:700;display:block}.hover-label[hidden]{display:none}@media (width<=640px){.card{width:auto;max-height:58%;padding-bottom:max(18px, env(safe-area-inset-bottom));border-bottom:none;border-radius:16px 16px 0 0;inset:auto 0 0}}.card-also{color:var(--panel-muted);margin-top:10px;font-size:14px;font-weight:700}.link-btn{color:#ffe066;font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:800;text-decoration:underline}.build-panel{top:calc(max(12px, env(safe-area-inset-top)) + 60px);left:var(--gutter);width:340px;max-height:calc(100% - 200px);padding:14px 16px 16px;font-size:14px;position:absolute;overflow-y:auto}.build-panel[hidden]{display:none}.build-panel h2{margin:0 0 6px;font-size:20px;font-weight:900}.build-panel .hint{color:var(--panel-muted);margin:4px 0 10px;line-height:1.4}.build-panel .hint.small{font-size:12px}.build-panel code{color:#ffe066;font-size:11px}.build-panel label{margin-bottom:8px;font-size:13px;font-weight:800;display:block}.build-panel input:not([type=file]):not([type=checkbox]),.build-panel select,.build-panel textarea,.build-panel .search{border:2px solid var(--panel-border);color:#1b2340;width:100%;font:inherit;background:#f7f4e6;border-radius:8px;margin-top:3px;padding:7px 9px;font-weight:600;display:block}.build-panel textarea{resize:vertical}.build-panel label.check,.build-panel .row{align-items:center;gap:8px;display:flex}.build-panel .row>label{flex:1}.build-panel button:not(.link-btn):not(.round-btn){border:2px solid var(--panel-border);background:var(--sims-blue-dark);color:var(--panel-text);font:inherit;cursor:pointer;border-radius:8px;padding:6px 12px;font-weight:800}.build-panel button.primary{background:#2f9e44}.build-panel button.danger{background:#b03030;margin-left:auto}.build-panel .actions{gap:8px;margin-top:6px;display:flex}.build-panel .error{color:#ffb4a8;white-space:pre-wrap;margin:4px 0;font-weight:800}.build-panel .results{gap:6px;margin:8px 0;display:grid}.build-panel .result{text-align:left;width:100%;display:block}.build-panel .result small{color:var(--panel-muted);font-weight:600;display:block}.thumbs{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.thumb{position:relative}.thumb img{object-fit:cover;border:2px solid var(--panel-border);border-radius:6px;width:70px;height:52px;display:block}.thumb button{width:20px;height:20px;line-height:1;position:absolute;top:-6px;right:-6px;border-radius:50%!important;padding:0!important}.build-tip small{display:block}.card-photos a:only-child{grid-column:span 2}.side-panel{top:calc(max(12px, env(safe-area-inset-top)) + 60px);left:var(--gutter);width:min(320px, calc(100vw - 2 * var(--gutter)));overscroll-behavior:contain;max-height:calc(100% - 200px);padding:14px 16px 16px;position:absolute;overflow-y:auto}.side-panel[hidden]{display:none}.side-panel h2{margin:0 40px 8px 0;font-size:20px;font-weight:900}.side-panel h3{letter-spacing:.5px;text-transform:uppercase;color:var(--panel-muted);margin:12px 0 6px;font-size:12px;font-weight:900}.side-panel h3[style]{border-left:4px solid var(--cat);padding-left:7px}.panel-close{position:absolute;top:10px;right:10px}.side-panel .hint{color:var(--panel-muted);font-weight:700}.place-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.place-list button{text-align:left;width:100%;color:var(--panel-text);font:inherit;cursor:pointer;background:#0a144659;border:1px solid #9db2ec59;border-radius:8px;padding:7px 10px;font-weight:800}.place-list button:hover,.place-list button:focus-visible{background:#3f5fd48c;outline:none}.place-list small{color:var(--panel-muted);font-weight:600;display:block}.about p,.about li{font-size:14px;line-height:1.5}.about ul{margin:0;padding-left:18px}.about .small{color:var(--panel-muted);font-size:12px}.about a{color:#ffe066}.build-panel .result.add{border-color:#6fd58a}
