:root{--color-bg:#fff;--color-text:#1f2937;--color-muted:#6b7280;--color-primary:#0d9488;--color-border:#e5e7eb;--color-error:#b91c1c}*{box-sizing:border-box}html,body{background:var(--color-bg);color:var(--color-text);margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Noto Sans JP,sans-serif}a{color:var(--color-primary)}.home{flex-direction:column;height:100dvh;display:flex}.home__map{height:55%;min-height:240px;position:relative}.map-container{width:100%;height:100%}.map-container--loading{color:var(--color-muted);background:#f3f4f6;justify-content:center;align-items:center;display:flex}.locate-button{background:var(--color-primary);color:#fff;cursor:pointer;z-index:5;border:none;border-radius:22px;min-width:44px;min-height:44px;padding:10px 14px;font-size:14px;font-weight:600;position:absolute;top:12px;right:12px;box-shadow:0 2px 8px #00000040}.research-button{border:1px solid var(--color-border);cursor:pointer;z-index:5;background:#fff;border-radius:22px;min-height:44px;padding:8px 16px;font-size:13px;position:absolute;top:64px;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #00000026}.home__sheet{border-top:1px solid var(--color-border);background:var(--color-bg);z-index:6;border-radius:16px 16px 0 0;flex:1;margin-top:-12px;padding:12px 16px 24px;position:relative;overflow-y:auto}.searchbox{margin-bottom:8px;position:relative}.searchbox__input{border:1px solid var(--color-border);border-radius:10px;width:100%;min-height:44px;padding:10px 14px;font-size:16px}.searchbox__results{z-index:10;border:1px solid var(--color-border);background:#fff;border-radius:10px;max-height:280px;margin:4px 0 0;padding:4px;list-style:none;position:absolute;left:0;right:0;overflow-y:auto;box-shadow:0 4px 16px #00000026}.searchbox__results button{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:44px;padding:8px 10px;font-size:15px;display:flex}.searchbox__results button:hover{background:#f0fdfa}.searchbox__kind{color:var(--color-muted);background:#f3f4f6;border-radius:8px;flex:none;padding:2px 8px;font-size:12px}.filter-chips{gap:8px;padding-bottom:8px;display:flex;overflow-x:auto}.chip{border:1px solid var(--color-border);cursor:pointer;background:#fff;border-radius:22px;flex:none;min-height:44px;padding:8px 14px;font-size:14px}.chip--active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.spot-list{margin:0;padding:0;list-style:none}.spot-item{border-bottom:1px solid var(--color-border)}.spot-item--stale{opacity:.6}.spot-item__link{color:inherit;gap:12px;padding:12px 4px;text-decoration:none;display:flex}.spot-item__thumb{object-fit:cover;border-radius:8px;flex:none;width:72px;height:72px}.spot-item__body{flex:1;min-width:0}.spot-item__name{color:var(--color-muted);font-size:14px}.spot-item__distance{font-size:20px;font-weight:700}.spot-item__attrs{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.attr-tag{color:#115e59;background:#f0fdfa;border-radius:10px;padding:2px 8px;font-size:12px}.spot-item__freshness{color:var(--color-muted);margin-top:4px;font-size:12px}.notice{color:var(--color-muted);padding:8px 4px;font-size:14px}.notice--error{color:var(--color-error)}.detail{max-width:640px;margin:0 auto;padding:16px}.detail__nav{margin-bottom:12px;font-size:14px}.detail__name{margin:8px 0 4px;font-size:24px}.detail__meta{color:var(--color-muted);margin:0 0 12px}.detail__attrs{flex-wrap:wrap;gap:8px;margin:8px 0;display:flex}.detail__freshness{color:var(--color-muted);font-size:14px}.detail__subhead{margin:20px 0 6px;font-size:15px}.detail__photos{gap:8px;margin:12px 0;display:flex;overflow-x:auto}.detail__photos img{object-fit:cover;border-radius:8px;height:200px}.actions__availability{margin-top:12px}.button{background:var(--color-primary);color:#fff;border-radius:22px;min-height:44px;padding:12px 20px;font-weight:600;text-decoration:none;display:inline-block}.detail__footer,.site-footer{border-top:1px solid var(--color-border);margin-top:24px;padding-top:12px}.attribution{color:var(--color-muted);font-size:12px}.button--ghost{color:var(--color-primary);border:1px solid var(--color-primary);background:#fff}.actions{border-top:1px solid var(--color-border);margin-top:20px;padding-top:16px}.actions__verify{gap:12px;margin:8px 0;display:flex}.actions__report{margin-top:12px}.linklike{color:var(--color-muted);cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:13px;text-decoration:underline}.report-form{border:1px solid var(--color-border);border-radius:8px;flex-direction:column;gap:8px;padding:12px;display:flex}.submit-fab{border:1px solid var(--color-primary);width:48px;height:48px;color:var(--color-primary);text-align:center;z-index:5;background:#fff;border-radius:24px;font-size:28px;line-height:46px;text-decoration:none;position:absolute;top:64px;right:12px;box-shadow:0 2px 8px #0003}.submit{max-width:640px;margin:0 auto;padding:16px}.submit h2{margin:20px 0 8px;font-size:16px}.submit label{margin:8px 0;font-size:14px;display:block}.submit label.checkbox{align-items:center;gap:8px;display:flex}.submit input[type=number],.submit input[type=text],.submit input[type=file],.submit select{border:1px solid var(--color-border);border-radius:8px;width:100%;margin-top:4px;padding:10px;font-size:16px;display:block}.submit label.checkbox input{width:auto;margin:0}.field-row{gap:12px;display:flex}.field-row label{flex:1}.hint{color:var(--color-muted);font-size:12px}.submit__footer{align-items:center;gap:16px;margin-top:24px;display:flex}
