:root{--accent: #b45309;--ink: #1f2937;--muted: #6b7280;--bg: #fffbf5;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;height:100%}body{font-family:Noto Sans JP,Hiragino Sans,system-ui,sans-serif;color:var(--ink);background:var(--bg);display:flex;flex-direction:column}header{padding:12px 16px 0;background:#fff;border-bottom:1px solid #f3e8d8}h1{font-size:20px;margin:0;color:var(--accent)}.top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:32px}.signin{padding:6px 12px;border:1px solid var(--accent);border-radius:999px;background:#fff;color:var(--accent);font-size:13px;font-weight:700}#account-note{margin:6px 0 0;padding:8px 10px;border-radius:8px;background:#fde7c7;font-size:12px;overflow-wrap:anywhere}#sync-status{margin:-6px 0 6px;font-size:11px;color:var(--muted)}#sync-status:empty{display:none}h1 a{color:inherit;text-decoration:none}#crumbs a+a:before,#region:not(:empty):before{content:"›";margin:0 6px;color:var(--muted);font-weight:400}.signin{display:inline-block;text-decoration:none;white-space:nowrap}.signin:disabled{opacity:.45;pointer-events:none}.signin-closed{position:relative;display:inline-block;cursor:not-allowed}.signin-closed .tip{position:absolute;top:50%;right:calc(100% + 10px);transform:translateY(-50%);z-index:20;width:max-content;max-width:70vw;padding:8px 12px;border-radius:10px;background:var(--accent);color:#fff;font-size:13px;font-weight:700;box-shadow:0 6px 20px #0003;opacity:0;visibility:hidden;transition:opacity .15s;pointer-events:none}.signin-closed:focus-visible .tip,.signin-closed.open .tip{opacity:1;visibility:visible}@media(hover:hover){.signin-closed:hover .tip{opacity:1;visibility:visible}}#account{flex:none}.empty a{color:var(--accent);font-weight:700}.show-locked{display:inline-flex;align-items:center;gap:6px;margin:0 0 8px;font-size:13px;color:var(--ink)}.show-locked[hidden]{display:none}.show-locked input{width:18px;height:18px;accent-color:var(--accent)}.show-locked:has(input:disabled){color:var(--muted)}.empty{padding:24px 8px;color:var(--muted);font-size:14px}#list.trips{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px;padding:12px;align-content:start}.trip a{display:block;border-radius:12px;overflow:hidden;background:#fff;border:1px solid #f3e8d8;color:var(--ink);text-decoration:none;box-shadow:0 1px 3px #0000000f}.trip .mini-wrap{position:relative}.trip .mini{height:160px;background:#e8eef3}.trip .attr{position:absolute;right:0;bottom:0;padding:1px 6px;font-size:9px;color:#374151;background:#ffffffbf;border-top-left-radius:6px}.trip .info{display:grid;grid-template-columns:1fr auto;grid-template-areas:"name count" "year count";gap:2px 12px;align-items:center;padding:10px 12px}.trip .name{grid-area:name;font-size:18px;font-weight:700}.trip .year{grid-area:year;font-size:12px;color:var(--muted)}.trip .count{grid-area:count;font-size:13px;color:var(--accent);font-weight:700}#progress{margin:4px 0 8px;font-size:14px;color:var(--muted)}nav{display:flex;gap:4px}.tab{flex:1;padding:10px;border:0;background:none;font-size:15px;border-bottom:3px solid transparent;color:var(--muted)}.tab[aria-pressed=true]{color:var(--accent);border-bottom-color:var(--accent);font-weight:700}main{flex:1;min-height:0;position:relative}#list{list-style:none;margin:0;padding:8px 12px 24px;overflow-y:auto;height:100%}#map{position:absolute;inset:0}.item{display:flex;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #f3e8d8}.item img,.noimg{width:72px;height:72px;object-fit:cover;border-radius:8px;flex:none;background:#fde7c7}.noimg{display:grid;place-items:center;font-size:13px;color:var(--accent)}.body{flex:1;min-width:0}.title{font-weight:700;font-size:15px;line-height:1.35}.meta{font-size:12px;color:var(--muted);margin-top:2px}.credit{display:block;font-size:10px;color:var(--muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unlock{flex:none;padding:10px 14px;border:0;border-radius:999px;background:var(--accent);color:#fff;font-weight:700;font-size:14px}.done{flex:none;font-size:12px;color:var(--accent)}.unlocked img{filter:saturate(1.1)}.unlocked .title:before{content:"✅ "}#toast{position:fixed;left:50%;bottom:72px;transform:translate(-50%);background:var(--accent);color:#fff;padding:12px 18px;border-radius:12px;font-weight:700;box-shadow:0 6px 20px #0003;max-width:90vw;z-index:10}footer{font-size:10px;color:var(--muted);padding:6px 12px;background:#fff;border-top:1px solid #f3e8d8}footer a,.credit{color:inherit}.maplibregl-popup-content .unlock{margin-top:6px}.group{display:flex;align-items:center;gap:6px;padding:12px 0 4px;border-bottom:2px solid var(--accent)}.fold{flex:1;display:flex;align-items:center;gap:6px;border:0;background:none;padding:6px 0;text-align:left;color:var(--accent)}.fold .chev{width:1em;font-size:14px}.group h2{margin:0;font-size:16px}.stars{display:flex;margin:2px 0 0 -4px}.star{border:0;background:none;padding:2px 4px;font-size:18px;line-height:1;color:#f59e0b;min-width:30px;min-height:30px}.star:disabled{color:#d1d5db;cursor:default}.count{font-size:13px;color:var(--muted);min-width:44px;text-align:right}.photo-marker{position:relative;width:48px;height:48px;padding:0;border:3px solid #fff;border-radius:10px;background:#fff;box-shadow:0 2px 6px #00000073;cursor:pointer}.photo-marker img{display:block;width:100%;height:100%;object-fit:cover;border-radius:7px}.photo-marker.stack{box-shadow:4px -4px 0 -1px #fff,4px -4px 0 1px #00000040,0 2px 6px #00000073}.photo-marker .badge{position:absolute;right:-8px;bottom:-8px;font-size:16px;line-height:1;filter:drop-shadow(0 1px 1px rgba(0,0,0,.4))}.photo-marker:hover,.photo-marker:focus-visible{z-index:2;outline:2px solid var(--accent)}
