:root{--bg:#f6f4ef;--surface:#fff;--text:#2b2a27;--muted:#7a766d;--line:#e2ddd2;--accent:#2b2a27;--accent-text:#f6f4ef;--chip-on:#2b2a27;--danger:#b3261e;--notice:#fff4d6;--star:#c8962e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#1b1a18;--surface:#262522;--text:#ece8df;--muted:#a19c91;--line:#3a3833;--accent:#ece8df;--accent-text:#1b1a18;--chip-on:#ece8df;--danger:#f2a49e;--notice:#3d3420;--star:#e0b45a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;margin:0;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Noto Sans JP,sans-serif;font-size:15px;line-height:1.5}a{color:inherit}input,select,textarea{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:10px;width:100%;min-width:0;padding:10px 12px;font-size:16px}textarea{resize:vertical}.page{max-width:960px;padding:0 16px calc(32px + env(safe-area-inset-bottom));margin:0 auto}.bar{z-index:10;padding:calc(12px + env(safe-area-inset-top)) 0 12px;background:var(--bg);justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.bar h1{letter-spacing:.04em;margin:0;font-size:18px;font-weight:700}.btn{border:1px solid var(--line);background:var(--surface);min-height:40px;color:var(--text);font:inherit;white-space:nowrap;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:4px;padding:0 14px;font-size:14px;text-decoration:none;display:inline-flex}.btn.primary,.btn.on{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn.danger{color:var(--danger)}.btn.wide{flex:1;width:100%}.btn:disabled{opacity:.5}.search{gap:8px;margin-bottom:10px;display:flex;position:relative}.searchbox{flex:1;min-width:0}.suggest{z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:12px;max-height:60vh;margin:0;padding:4px 0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.suggest button{width:100%;min-height:44px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:8px 14px;display:flex}.suggest button:active{background:var(--bg)}.suggest-kind{min-width:5.5em;color:var(--muted);flex:none;font-size:12px}.suggest-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.suggest .suggest-all{border-top:1px solid var(--line);color:var(--muted);font-size:14px}.chip-row{scrollbar-width:none;gap:6px;margin:0 -16px 10px;padding:0 16px 2px;display:flex;overflow-x:auto}.chip-row::-webkit-scrollbar{display:none}.chip-row .chip{flex:none}.count{opacity:.6;margin-left:6px;font-size:12px}.result-count{color:var(--muted);margin:0 0 10px;font-size:13px}.sheet{z-index:50;background:var(--bg);flex-direction:column;display:flex;position:fixed;inset:0}.sheet-head,.sheet-foot,.sheet-body{width:100%;max-width:960px;margin:0 auto;padding-left:16px;padding-right:16px}.sheet-head{padding-top:calc(12px + env(safe-area-inset-top));border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.sheet-head h2{margin:0;font-size:18px}.sheet-body{-webkit-overflow-scrolling:touch;flex:1;padding-top:8px;padding-bottom:16px;overflow-y:auto}.sheet-section{border-bottom:1px solid var(--line);padding:14px 0}.sheet-section h3{margin:0 0 10px;font-size:15px}.sheet .chips{gap:8px}.sheet .chip{min-height:44px;padding:0 16px;font-size:15px}.sheet-foot{padding-top:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);gap:8px;display:flex}.sheet-foot .btn{min-height:48px;font-size:15px}.field{gap:6px;min-width:0;display:grid}.field>label{color:var(--muted);font-size:13px;font-weight:600}.field>label small{margin-left:6px;font-weight:400}.row{grid-template-columns:minmax(0,1fr) auto;gap:12px;display:grid}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);background:var(--surface);min-height:34px;color:var(--text);font:inherit;cursor:pointer;border-radius:999px;padding:0 12px;font-size:14px}.chip.on{background:var(--chip-on);border-color:var(--chip-on);color:var(--accent-text)}.chip.ghost{color:var(--muted);border-style:dashed}.chip-add{flex-basis:100%;gap:6px;display:flex}.chip-add input{border-radius:999px;padding:6px 12px}.cards{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.card{background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:12px;position:relative;overflow:hidden}.card:hover{border-color:var(--muted)}.thumb{aspect-ratio:4/3;background:var(--line);color:var(--muted);place-items:center;font-size:12px;display:grid;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%;display:block}.card-body{padding:8px 10px 10px}.card-body p{margin:0}.card .title{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:3px}.card .title:hover{text-decoration-color:currentColor}.title{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:14px;font-weight:600;display:-webkit-box;overflow:hidden}.meta{color:var(--star);font-size:12px}.tags{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;display:-webkit-box;overflow:hidden}.map-link{color:#fff;background:#0000008c;border-radius:999px;padding:4px 10px;font-size:12px;text-decoration:none;position:absolute;top:6px;left:6px}.edit-form{gap:18px;display:grid}.thumb-edit{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.thumb-edit .thumb{border-radius:10px;width:120px}.stars{display:flex}.star{width:34px;height:44px;color:var(--line);cursor:pointer;background:0 0;border:0;padding:0;font-size:26px}.star.on{color:var(--star)}@media (width<=340px){.star{width:28px;font-size:24px}}.actions{padding:12px 0 calc(12px + env(safe-area-inset-bottom));background:var(--bg);gap:8px;display:flex;position:sticky;bottom:0}.hint{color:var(--muted);margin:0;font-size:13px}.notice{background:var(--notice);border-radius:10px;margin:0;padding:10px 12px}.error{color:var(--danger)}.empty{text-align:center;color:var(--muted);padding:48px 0}.toolbar{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.toolbar .result-count{margin:0}.segmented{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:2px;display:inline-flex}.segmented button{min-height:32px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 12px;font-size:13px}.segmented button.on{background:var(--accent);color:var(--accent-text)}.page.wide{max-width:1280px}.sidebar{display:none}@media (width>=768px){.list-layout{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:20px;display:grid}.sidebar{max-height:calc(100vh - 88px);padding-bottom:16px;display:block;position:sticky;top:72px;overflow-y:auto}}.side-section{margin-top:14px}.side-head{width:100%;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;padding:4px 8px;font-size:12px;font-weight:600;display:flex}.side-caret{font-size:13px}.side-item{width:100%;min-height:32px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:4px 10px;font-size:14px;display:flex}.side-item:hover{background:var(--line)}.side-item.on{background:var(--accent);color:var(--accent-text)}.side-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.table{border:1px solid var(--line);background:var(--surface);border-radius:12px;font-size:14px;overflow:hidden}.table-head,.table-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:12px;padding:8px 12px;display:grid}.table-head{display:none}.table-row:nth-child(2n){background:var(--bg)}.table-row{cursor:pointer}.table-row:hover{background:var(--line)}.table-row>div,.table-row>a{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.col-title a{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:3px;font-weight:600}.col-title a:hover{text-decoration-color:currentColor}.col-type,.col-architect,.col-year,.col-site,.col-date{display:none}.col-summary{color:var(--muted);grid-area:2/1;font-size:12px}.table-row .col-title{grid-column:1}.table-row .col-map{grid-area:1/2/span 2;overflow:visible}.pill{border:1px solid var(--line);background:var(--surface);color:var(--muted);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:12px;text-decoration:none}@media (width>=768px){.table-head,.table-row{grid-template-columns:minmax(0,3fr) minmax(0,1.3fr) minmax(0,1.5fr) 56px minmax(0,1.3fr) 88px 56px}.table-head{border-bottom:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:12px;display:grid;position:sticky;top:0}.col-type,.col-architect,.col-year,.col-site,.col-date{display:block}.col-summary{display:none}.table-row .col-title,.table-row .col-map{grid-area:auto}.table-row{padding-top:6px;padding-bottom:6px}.table-row .col-site,.table-row .col-date,.table-row .col-year{color:var(--muted);font-variant-numeric:tabular-nums}}.sort{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.sort.on{color:var(--text);font-weight:600}@media (width>=768px){.page.wide .chip-row.popular{display:none}}.multi-switch{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-bottom:10px;padding:8px 10px;font-size:14px;display:flex}.multi-switch input{opacity:0;pointer-events:none;position:absolute}.multi-track{background:var(--line);border-radius:999px;flex:none;width:36px;height:22px;transition:background .15s;position:relative}.multi-track:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.multi-switch input:checked+.multi-track{background:var(--accent)}.multi-switch input:checked+.multi-track:after{transform:translate(14px)}.multi-switch input:focus-visible+.multi-track{outline:2px solid var(--accent);outline-offset:2px}.multi-switch small{color:var(--muted);flex-basis:100%;font-size:12px}.sheet .multi-switch{margin-top:8px}.results,.groups,.group{min-width:0}.groups{grid-template-columns:minmax(0,1fr);gap:22px;display:grid}.group-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.group-head h2{margin:0;font-size:16px}.group-actions{align-items:center;gap:4px;display:flex}.show-all{min-height:32px;color:var(--muted);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:0 4px 0 8px;font-size:13px}.arrow{border:1px solid var(--line);background:var(--surface);width:30px;height:30px;color:var(--text);cursor:pointer;border-radius:50%;font-size:18px;line-height:1;display:none}@media (hover:hover) and (pointer:fine){.arrow{place-items:center;display:inline-grid}}.group-row{scroll-snap-type:x mandatory;scrollbar-width:none;gap:10px;margin:0 -16px;padding:0 16px 4px;scroll-padding:0 16px;list-style:none;display:flex;overflow-x:auto}.group-row::-webkit-scrollbar{display:none}.group-row .card{scroll-snap-align:start;flex:none;width:150px}@media (width>=768px){.group-row{margin:0;padding:0 0 4px;scroll-padding:0}.group-row .card{width:170px}}.card,.table-row,.side-item,.chip{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.dialog-backdrop{z-index:100;background:#0006;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{background:var(--surface);border-radius:16px;width:100%;max-width:360px;padding:20px;box-shadow:0 12px 40px #00000040}.dialog h2{overflow-wrap:anywhere;margin:0 0 8px;font-size:17px}.dialog p{color:var(--muted);margin:0 0 8px;font-size:14px}.dialog-actions{gap:8px;margin-top:16px;display:flex}.dialog-actions .btn{flex:1;min-height:44px}.btn.danger-fill{color:#fff;background:#b3261e;border-color:#b3261e}
