:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--surface:#f6f5f1;--panel:#fcfcfb;--border:#dddcd5;--text:#1c1c1a;--text-muted:#5c5b56;--accent:#2a78d6;--accent-soft:#e6f0fb;--over:#8d8c85;--good:#116b3a;--good-soft:#e5f3ea;--warning:#8a5a00;--warning-soft:#fbf1dc;--critical:#a92b2a;--critical-soft:#fbe9e8;color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.45}*{box-sizing:border-box}body{background:var(--surface);margin:0}h1,h2,h3,p{margin-block:0}h1{font-size:1.6rem}h2{font-size:1.1rem}h3{margin-block-start:1.25rem;font-size:.95rem}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,input:focus-visible,.table-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.note{color:var(--text-muted);margin-block:.25rem .75rem;font-size:.85rem}.load-screen{justify-items:start;gap:1rem;max-width:36rem;margin:15vh auto 0;padding-inline:1rem;display:grid}.primary{background:var(--accent);color:#fff;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.65rem 1.1rem;font-weight:600;display:inline-flex}.workspace{gap:1rem;max-width:96rem;margin-inline:auto;padding:1.25rem 1rem 3rem;display:grid}.workspace-header p{color:var(--text-muted)}.workspace-grid{grid-template-columns:minmax(16rem,20rem) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.workspace-main{gap:1rem;min-width:0;display:grid}.results-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr));align-items:start;gap:1rem;display:grid}@media (width<=48rem){.workspace-grid{grid-template-columns:minmax(0,1fr)}}.map-scroll{overflow-x:auto}.city-map{width:100%;min-width:40rem;height:auto;display:block}.map-land{fill:#eef0e6}.map-river{fill:none;stroke:#cfe1f2;stroke-width:26px}.comparison-link{stroke:var(--accent);stroke-width:1.5px;stroke-opacity:.65}.marker-attraction{fill:#6250d6}.marker-food{fill:#eb6834}.marker-hotel{fill:var(--text)}.map-hotel-over .marker-hotel{fill:var(--over)}.marker-ring{fill:var(--panel);stroke:var(--accent);stroke-width:3px}.map-hotel[role=button]{cursor:pointer}.map-hotel:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.marker-label{fill:var(--text);paint-order:stroke;stroke:#eef0e6;stroke-width:3px;stroke-linejoin:round;font-size:13px}.map-hotel .marker-label{font-weight:600}.link-value{fill:#1d5fae;font-size:12px;font-weight:600}.map-legend{flex-wrap:wrap;gap:.25rem 1rem;margin:.6rem 0 0;padding:0;font-size:.85rem;list-style:none;display:flex}.map-legend li{align-items:center;gap:.3rem;display:flex}.map-legend svg{width:14px;height:14px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;min-width:0;padding:1rem}.banner{border:1px solid;border-radius:10px;padding:.85rem 1rem}.banner h2{overflow-wrap:anywhere;align-items:center;gap:.4rem;display:flex}.banner ul{margin-block:.4rem;padding-inline-start:1.2rem}.banner-ok{background:var(--good-soft);border-color:var(--good)}.banner-none{background:var(--warning-soft);border-color:var(--warning)}.banner-invalid{background:var(--critical-soft);border-color:var(--critical)}.field{margin-block:.75rem .25rem;font-weight:600;display:block}.text-input{width:3.25rem;font:inherit;border:1px solid var(--over);background:#fff;border-radius:6px;padding:.35rem .5rem}.budget-input{width:100%}.text-input[aria-invalid=true]{border:2px solid var(--critical)}.field-error{color:var(--critical);margin-block-start:.25rem;font-size:.85rem}.actions{gap:.4rem;margin-block-start:.75rem;display:grid}.actions button{text-align:start;background:var(--accent-soft);border:1px solid #0000;border-radius:6px;align-items:center;gap:.4rem;padding:.45rem .6rem;display:flex}.actions button svg{flex:none}.actions .reset{border-color:var(--over);background:0 0}.importance-list{gap:.35rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.importance-list li{justify-content:space-between;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.place-type{color:var(--text-muted);font-size:.75rem}.hotel-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.hotel-row{text-align:start;border:1px solid var(--border);background:0 0;border-radius:8px;grid-template-columns:4.25rem minmax(0,1fr) auto;gap:.1rem .5rem;width:100%;padding:.6rem .7rem;display:grid}.hotel-row:hover{background:var(--surface)}.hotel-row[aria-pressed=true]{border:2px solid var(--accent);padding:calc(.6rem - 1px) calc(.7rem - 1px)}.hotel-row-recommended{background:var(--good-soft)}.hotel-rank{color:var(--text-muted);font-size:.85rem}.hotel-name{overflow-wrap:anywhere;font-weight:600}.hotel-inspecting{color:var(--accent);grid-area:1/3;font-size:.75rem;font-weight:600}.hotel-reason{grid-column:2/-1;align-items:center;gap:.3rem;font-size:.85rem;display:flex}.hotel-reason svg{flex:none}.hotel-row-recommended .hotel-reason{color:var(--good);font-weight:600}.hotel-row-over .hotel-reason{color:var(--critical)}.hotel-metrics,.hotel-price{color:var(--text-muted);flex-wrap:wrap;grid-column:2/-1;gap:0 .9rem;font-size:.8rem;display:flex}.hotel-price{color:var(--text)}.price-track{grid-column:2/-1;height:12px;margin-block-start:.3rem;position:relative}.price-bar{background:var(--accent);border-radius:0 4px 4px 0;height:8px;margin-block-start:2px}.price-bar-over{background:repeating-linear-gradient(45deg, var(--over) 0 3px, #d5d4cd 3px 6px)}.budget-line{background:var(--text);width:2px;position:absolute;top:0;bottom:0}.calculation{gap:.4rem;margin-block:.75rem;display:grid}.calculation div{gap:0;display:grid}.calculation dt{color:var(--text-muted);font-size:.8rem}.calculation dd{margin:0}.table-scroll{overflow-x:auto}table{border-collapse:collapse;font-size:.85rem}caption{text-align:start;padding-block-end:.4rem;font-weight:600}th,td{border-block-end:1px solid var(--border);text-align:start;padding:.25rem .5rem;font-weight:400}thead th{color:var(--text-muted);vertical-align:bottom;font-size:.75rem}.numeric{text-align:end;font-variant-numeric:tabular-nums}.contribution-table{width:100%}.contribution-table tfoot th,.contribution-table tfoot td{border-block-end:none;font-weight:600}.bar-cell{width:30%;min-width:4rem}.contribution-bar{background:var(--accent);border-radius:0 4px 4px 0;height:10px}.time-table tbody th{background:var(--panel);white-space:nowrap;position:sticky;left:0}.time-table thead th{min-width:5rem}.time-row-inspected td,.time-row-inspected th{font-weight:600;background:var(--accent-soft)!important}.link-button{text-align:start;background:0 0;border:none;padding:0;text-decoration:underline}.link-button:disabled{cursor:default;text-decoration:none}
