:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#151515;background:#f5f5f2;font-synthesis:none;--gold:#ffd700;--ink:#111;--line:#deded7;--muted:#676762;--paper:#fff;--soft:#f6f6f1;--radius:18px}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #b58b00;outline-offset:3px}button{border:0}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:10px 15px;border-radius:10px;background:#efefea;color:var(--ink);font-weight:650;text-decoration:none;line-height:1.2}button.primary,.button.primary{background:var(--gold)}button.dark,.button.dark{background:var(--ink);color:white}button.ghost,.button.ghost{background:transparent;border:1px solid var(--line)}button.danger{background:#fff1ef;color:#922c22}button.small,.button.small{font-size:12px;min-height:32px;padding:7px 10px}button.active{background:var(--ink);color:white}.skip-link{position:fixed;left:12px;top:-80px;background:var(--gold);padding:12px;z-index:100}.skip-link:focus{top:8px}.site-header{display:flex;align-items:center;gap:22px;background:#0b0b0b;color:#fff;min-height:82px;padding:14px 28px}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0;text-decoration:none}.brand-mark{width:42px;height:42px;display:grid;place-items:center;background:var(--gold);color:#111;font-size:16px;font-weight:900;border-radius:50%}.brand strong{display:block;font-size:16px;letter-spacing:-.4px;line-height:1.05}.brand small{display:block;color:#bfbfba;font-size:10px;letter-spacing:1.7px;margin-top:5px}.site-nav{display:flex;align-items:center;gap:5px;margin-left:auto}.site-nav button{background:transparent;color:#ccc;white-space:nowrap;font-size:13px}.site-nav button.active{background:var(--gold);color:#111}.site-nav button.account{border:1px solid #42423e;margin-left:10px}.local-banner{display:flex;align-items:center;gap:10px;padding:9px 28px;font-size:10px;letter-spacing:1.2px;color:#656560;background:#fff;border-bottom:1px solid var(--line)}.status-dot{height:6px;width:6px;background:#b59500;border-radius:50%}.banner-end{margin-left:auto;letter-spacing:0}.notice{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);max-width:min(90vw,600px);background:#111;color:#fff;box-shadow:0 8px 35px #0003;border-radius:12px;padding:14px 20px;font-size:14px;z-index:80}.notice.error{background:#8b291e}.loading{padding:80px 24px;text-align:center;color:var(--muted)}.page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px 28px 20px;background:#fff}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:800;color:#6c6c63;text-transform:uppercase}.page-head h1{font-size:30px;line-height:1.1;letter-spacing:-1.2px;margin:7px 0}.page-head p{margin:7px 0 0;color:var(--muted);font-size:13px;line-height:1.6}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 355px;gap:0;min-height:660px;height:calc(100vh - 242px);border-top:1px solid var(--line)}.map-column{min-width:0;position:relative;display:flex;flex-direction:column}.map-toolbar{display:flex;align-items:center;gap:9px;padding:12px 16px;background:#fff;z-index:3;border-bottom:1px solid var(--line);flex-wrap:wrap}.search{flex:1;min-width:170px;max-width:310px}.search input{width:100%;background:#f5f5f1;border:1px solid #e3e3da;border-radius:9px;padding:10px 12px;font-size:12px}.filter{border:1px solid var(--line);border-radius:9px;min-height:37px;padding:7px 10px;background:white;font-size:12px}.map-counter{margin-left:auto;color:var(--muted);font-size:11px}.map-wrap{position:relative;flex:1;min-height:460px;background:#dbe5e9;overflow:hidden;isolation:isolate}.map-wrap.picking{cursor:crosshair}.map-svg{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.map-land{fill:#f9f9f5;stroke:#dcdfd8;stroke-width:.7}.map-park{fill:#dbe4cb;stroke:#c5d1b7;stroke-width:.5}.map-street{fill:none;stroke:#d2d1c8;stroke-width:.7;opacity:.9}.map-label{fill:#92928a;font-size:10px;letter-spacing:1.5px;text-anchor:middle;pointer-events:none}.map-water-label{fill:#8b9da5;font-size:11px;font-style:italic;text-anchor:middle;letter-spacing:3px}.map-pins{position:absolute;inset:0;pointer-events:none;overflow:hidden}.map-pin{position:absolute;pointer-events:auto;display:flex;align-items:center;justify-content:center;width:35px;height:35px;min-height:0;padding:0;border-radius:50% 50% 50% 8px;transform:translate(-50%,-100%) rotate(-45deg);border:2px solid #fff;background:#171717;color:#fff;box-shadow:0 3px 6px #0003;z-index:2}.map-pin>span{transform:rotate(45deg);font-size:14px;pointer-events:none}.map-pin.selected,.map-pin.draft{background:var(--gold);color:#111;border-color:#111;z-index:5}.map-pin.private-pin{background:#fff;color:#111;border-color:#111}.map-pin.shared-pin{background:#e5ecdc;color:#111}.map-pin.draft{width:43px;height:43px;touch-action:none;user-select:none;cursor:grab}.map-pin.dragging{cursor:grabbing;box-shadow:0 8px 18px #0005}.pin-tooltip{position:absolute;top:0;left:0;transform:translate(-50%,8px);font-size:10px;font-weight:650;padding:5px 8px;border:1px solid #deded7;border-radius:6px;background:#fff;color:#111;white-space:nowrap;max-width:190px;text-overflow:ellipsis;overflow:hidden;pointer-events:none;box-shadow:0 2px 5px #0001}.map-zoom{position:absolute;right:16px;bottom:48px;display:flex;flex-direction:column;gap:3px;z-index:10}.map-zoom button{background:#fff;border:1px solid var(--line);border-radius:7px;width:35px;min-height:35px;padding:5px;box-shadow:0 2px 6px #0001}.map-key{position:absolute;left:15px;bottom:44px;padding:8px 10px;font-size:10px;background:#fffE;border-radius:7px;pointer-events:none}.map-credit{position:absolute;bottom:0;left:0;right:0;padding:6px 12px;background:#fffC;font-size:9px;color:#73766e;display:flex;justify-content:space-between;gap:10px}.story-panel{background:#fff;border-left:1px solid var(--line);overflow-y:auto;padding:24px;min-width:0}.story-panel h2{font-size:29px;letter-spacing:-1px;line-height:1.12;margin:10px 0 13px}.story-panel p{font-size:14px;line-height:1.65;color:#55554f}.meta-row{display:flex;gap:7px;flex-wrap:wrap;font-size:11px;color:var(--muted);align-items:center}.badge{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:5px;background:#f0f0e9;font-size:10px;font-weight:700}.badge.gold{background:#fff4ba;color:#4e4100}.badge.green{background:#edf3e8;color:#476437}.badge.red{background:#fff0ed;color:#8d3428}.story-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0}.story-actions .wide{grid-column:1/-1}.section-title{font-size:10px;letter-spacing:1.4px;text-transform:uppercase;margin:25px 0 12px;color:#69695e;font-weight:800}.fact{padding:15px 0;border-top:1px solid #e9e9e2}.fact p{margin:0 0 9px}.source-link{font-size:11px;color:#6f6651;text-underline-offset:3px}.video-card{margin:18px 0;background:#161616;border-radius:14px;overflow:hidden;color:white;aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;position:relative}.video-card>button{position:absolute;inset:0;width:100%;border-radius:0;background:linear-gradient(135deg,#191919,#3e3d2e);color:#fff;flex-direction:column;gap:12px;font-size:12px;letter-spacing:.2px}.play-circle{height:47px;width:47px;display:grid;place-items:center;color:#111;background:var(--gold);border-radius:50%;font-size:17px}.video-card iframe{width:100%;height:100%;border:0}.empty{padding:45px 5px;max-width:470px;margin:auto}.empty h2{font-size:25px;letter-spacing:-.6px;line-height:1.18}.empty p{color:var(--muted);line-height:1.7;font-size:14px}.empty-symbol{display:grid;place-items:center;width:56px;height:56px;background:#fff4b8;border:1px solid #eadf9e;border-radius:16px;font-size:26px;margin-bottom:20px}.empty button{margin-top:12px}.private-intro{background:#fcfaf0;padding:12px;border-radius:10px;border:1px solid #ede8ce;font-size:11px;line-height:1.65;color:#69634e}.place-list{display:grid;gap:7px;margin:18px 0}.place-row{width:100%;text-align:left;background:#f5f5f0;border:1px solid #ecece4;justify-content:flex-start;gap:10px;font-size:12px}.place-row .number{background:#fff;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;font-size:10px}.place-row small{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:4px}.content-page{max-width:1100px;margin:0 auto;padding:25px 28px 60px}.content-page.narrow{max-width:800px}.card{border:1px solid var(--line);background:white;border-radius:var(--radius);padding:24px}.card+.card{margin-top:16px}.card h2{margin:0 0 12px;font-size:22px;letter-spacing:-.5px}.card p{font-size:14px;line-height:1.7;color:#626259}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px;font-size:12px;font-weight:650}.field input,.field textarea,.field select{font-size:14px;line-height:1.4;border:1px solid #d9d9ce;border-radius:9px;padding:11px 12px;background:#fff;min-width:0;width:100%;color:#111}.field textarea{resize:vertical;min-height:120px}.field small,.help{font-size:11px;color:var(--muted);font-weight:400;line-height:1.6}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-error{color:#9a2d20;background:#fff1ec;padding:11px 13px;border-radius:9px;font-size:13px;line-height:1.5;margin:12px 0}.form-error:empty{display:none}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:24px;flex-wrap:wrap}.pin-selection{border:1px solid #e8dc96;background:#fffbea;border-radius:12px;padding:13px;margin:18px 0}.pin-selection strong{font-size:13px}.coordinates{display:block;font-size:12px;line-height:1.7;font-variant-numeric:tabular-nums;color:#655c36;margin-top:5px}.step{font-size:10px;text-transform:uppercase;letter-spacing:1.4px;font-weight:700}.pin-hint{font-size:11px!important;color:#6a6659!important}.location-status{font-size:12px;line-height:1.6;color:#6c6043;margin-top:10px}.full-width{width:100%}.divider{height:1px;background:var(--line);margin:20px 0}.entry-media{display:grid;grid-template-columns:1fr;gap:10px;margin:15px 0}.entry-media img,.entry-media video{width:100%;display:block;border-radius:10px;max-height:390px;object-fit:cover;background:#eee}.diary-text{white-space:pre-wrap;overflow-wrap:anywhere}.link-card{display:flex;align-items:center;gap:12px;min-height:70px;border:1px solid var(--line);padding:12px;border-radius:12px;text-decoration:none;margin:9px 0;background:#fafaf7}.link-icon{width:39px;height:39px;flex-shrink:0;display:grid;place-items:center;background:#ecece5;border-radius:10px;color:#6a6655;font-weight:800}.link-card strong{font-size:12px;display:block;overflow-wrap:anywhere}.link-card small{font-size:10px;display:block;color:#77776e;margin-top:5px}.entry-date{font-size:11px;color:#73736c}.memory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.memory-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;text-align:left}.memory-card img,.memory-card video{width:100%;height:190px;object-fit:cover;display:block;background:#eee}.memory-cover{height:130px;background:linear-gradient(135deg,#f8edb5,#f1f0e4);display:flex;align-items:flex-end;padding:20px;font-size:38px;color:#a79a60}.memory-card-body{padding:20px}.memory-card h2{font-size:20px;line-height:1.2;margin:8px 0;letter-spacing:-.4px}.memory-card p{font-size:12px;line-height:1.65;color:#75756a;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.memory-card .actions{margin-top:15px}.sharing{border-top:1px solid var(--line);padding-top:16px;margin-top:22px}.sharing h3{font-size:13px}.sharing p{font-size:11px;line-height:1.7}.share-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0;font-size:11px;overflow-wrap:anywhere}.share-form{display:flex;gap:7px}.share-form input{min-width:0;flex:1;padding:9px;border:1px solid var(--line);border-radius:8px;font-size:12px}.attachment-row{display:flex;align-items:center;justify-content:space-between;padding:8px;background:var(--soft);font-size:12px;border-radius:8px;margin:7px 0}.attachment-row label{display:flex;gap:8px;align-items:center;overflow-wrap:anywhere}.attachment-row input{width:auto}.dashboard-tabs{display:flex;gap:6px;margin-bottom:20px}.table-wrap{overflow:auto}.users-table{border-collapse:collapse;width:100%;min-width:650px;font-size:12px}.users-table th,.users-table td{text-align:left;padding:14px 10px;border-bottom:1px solid var(--line);vertical-align:top}.users-table th{font-size:10px;letter-spacing:1px;color:#717166;text-transform:uppercase}.users-table strong{font-size:13px;display:block}.users-table small{font-size:11px;display:block;color:#777;margin-top:5px}.users-table select{border:1px solid var(--line);padding:8px;border-radius:7px;background:#fff}.review-card .review-top{display:flex;gap:12px;justify-content:space-between}.review-card blockquote{margin:15px 0;padding:15px;border-left:3px solid var(--gold);background:#fafaf4;font-size:14px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.review-card textarea{width:100%;border:1px solid var(--line);border-radius:9px;min-height:65px;padding:10px;font:inherit;font-size:12px;margin:12px 0}.activity-item{padding:15px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.6}.activity-item time{font-size:11px;color:var(--muted);display:block;margin-top:3px}.subtle{color:var(--muted);font-size:12px;line-height:1.6}.count{display:inline-flex;padding:3px 7px;border-radius:4px;background:#eaeae2;margin-left:6px;font-size:10px}.account-meta{font-size:12px;line-height:1.7;color:var(--muted);margin:16px 0}dialog{border:1px solid #d4d4c8;border-radius:20px;max-width:460px;width:calc(100% - 30px);padding:28px;box-shadow:0 20px 100px #0004;color:#111}dialog::backdrop{background:#10101080;backdrop-filter:blur(3px)}dialog h2{font-size:27px;letter-spacing:-.7px;margin:8px 0 12px}dialog p{font-size:13px;color:#6e6e63;line-height:1.7}.dialog-close{float:right;min-height:30px;width:30px;padding:4px;background:transparent;font-size:21px}.auth-tabs{display:flex;gap:7px;margin:15px 0 20px}.auth-tabs button{flex:1;font-size:12px}.footer-note{font-size:10px;color:#7d7d72;line-height:1.7;margin-top:22px}.mobile-place-select{display:none}.delete-confirm{font-size:13px;line-height:1.7}.collection-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}.collection-toolbar input{flex:1;padding:12px;border:1px solid var(--line);border-radius:9px;background:white;min-width:180px}.own-note{font-size:11px;background:#f5f1dd;padding:10px;border-radius:7px;margin:10px 0}.admin-add{margin-bottom:20px}.status-pending{background:#fff3c4}.status-approved{background:#eaf1e2}.status-rejected,.status-withdrawn{background:#fae7e2}.memory-pin-label{font-size:10px}.geo-note{font-size:10px;line-height:1.6;color:#76766c}.map-only-empty{position:absolute;top:18px;left:18px;max-width:270px;z-index:4;background:#fffF;border:1px solid var(--line);padding:14px;border-radius:12px;font-size:12px;line-height:1.65;box-shadow:0 4px 10px #0001}
@media(min-width:1500px){.map-layout{grid-template-columns:minmax(0,1fr) 410px}.story-panel{padding:30px}.story-panel h2{font-size:34px}.site-header{padding-inline:40px}.page-head{padding-inline:40px}}
@media(max-width:1000px){.site-header{padding:14px 18px;gap:10px}.site-nav{gap:2px}.site-nav button{padding:9px;font-size:11px}.brand strong{font-size:14px}.brand small{font-size:9px}.brand-mark{width:35px;height:35px;font-size:13px}.map-layout{grid-template-columns:minmax(0,1fr) 310px}.story-panel{padding:19px}.memory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-nav button.account{margin-left:2px}}
@media(max-width:740px){.site-header{flex-wrap:wrap;padding:13px 16px 9px;gap:13px}.brand{margin-right:auto}.site-nav{width:100%;flex-wrap:wrap;overflow:visible;gap:5px;order:2;margin:0;padding-bottom:2px}.site-nav button{font-size:11px;padding:10px 12px;min-height:35px;flex-shrink:0}.site-nav button.account{margin-left:0}.banner-end{display:none}.local-banner{font-size:8px;padding:8px 16px;letter-spacing:.6px;gap:6px}.page-head{padding:22px 18px 18px;align-items:flex-start;gap:12px}.page-head h1{font-size:26px}.page-head p{font-size:11px;max-width:270px}.page-head .actions button{font-size:11px;padding:9px 12px;white-space:nowrap}.map-layout{display:flex;flex-direction:column;height:auto;min-height:0}.map-column{min-height:430px}.map-wrap{height:400px;min-height:400px;flex:none}.map-toolbar{padding:10px 14px;gap:7px}.map-toolbar .search{max-width:none;min-width:140px}.map-counter{font-size:10px}.story-panel{border-left:0;border-top:1px solid var(--line);overflow:visible;padding:24px 20px;max-height:none}.story-panel h2{font-size:29px}.story-panel .video-card{max-width:440px}.story-panel .empty{margin:0;padding:10px 0}.story-panel .empty h2{font-size:24px}.story-actions{max-width:450px}.content-page{padding:20px 16px 45px}.card{padding:20px}.field-row{grid-template-columns:1fr;gap:0}.memory-grid{grid-template-columns:1fr}.memory-card{max-width:500px;width:100%;margin:0 auto}.memory-card img,.memory-card video{height:230px}.mobile-place-select{display:block}.map-layout.pin-layout .story-panel{order:-1;padding:18px}.pin-layout .story-panel h2{font-size:23px;margin:6px 0}.pin-layout .story-panel p{font-size:12px;margin:7px 0}.pin-layout .story-panel .pin-selection{margin:10px 0}.pin-layout .story-panel .divider{display:none}.pin-layout .story-panel .pin-hint{margin:7px 0}.pin-layout .map-wrap{height:410px;min-height:410px}.pin-layout .location-status{font-size:11px;margin-top:6px}.pin-layout .story-panel .section-title{margin-top:12px}.pin-layout .story-panel select{font-size:12px}.pin-layout .pin-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pin-layout .pin-controls .pin-confirm{grid-column:1/-1}.pin-layout .pin-controls button{font-size:12px}.pin-layout .story-panel>.primary.full-width{min-height:38px}.map-key{max-width:210px;line-height:1.5}.review-card .review-top{flex-direction:column;gap:7px}.dashboard-tabs button{font-size:12px;padding:10px}.page-head.admin-head{display:block}.admin-head .actions{margin-top:14px}}
@media(prefers-reduced-motion:no-preference){button,.button{transition:background .15s,opacity .15s}.memory-card{transition:box-shadow .2s}.memory-card:hover{box-shadow:0 7px 22px #0001}}
