.life-map-shell{color:#1f251f;background:#f4f1ea;min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.life-map-header{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f4f1eaeb;border-bottom:1px solid #1f251f1f;justify-content:space-between;align-items:center;height:68px;padding:0 24px;display:flex;position:sticky;top:0}.life-map-header a{color:#4d584d;font-size:14px;text-decoration:none}.life-map-header strong{letter-spacing:.08em}.life-map-header span{color:#8a7b61;margin-left:6px;font-size:12px}.life-map-main{max-width:980px;margin:0 auto;padding:18px 24px 120px}.life-map-kicker{letter-spacing:.18em;color:#627260;margin:0 0 9px;font-size:12px;font-weight:800}.life-map-demo,.life-map-state{border-radius:17px;margin-top:10px;padding:14px 16px}.life-map-demo{color:#69583f;background:#efe7d8;border:1px solid #9070422e;gap:12px;display:flex}.life-map-demo strong{white-space:nowrap;letter-spacing:.1em;font-size:11px}.life-map-demo span{font-size:12px}.life-map-state{background:#eef1eb;gap:7px;display:grid}.life-map-state a{color:#294c37;font-weight:800;text-decoration:none}.life-map-workspace{background:#fff;border:1px solid #1f251f1a;border-radius:26px;margin-top:0;overflow:hidden;box-shadow:0 18px 55px #202b2214}.life-map-toolbar{background:#faf9f5;border-bottom:1px solid #1f251f17;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex;position:relative}.life-map-provider-label{align-items:center;gap:8px;display:flex;position:relative}.life-map-provider-label>span{letter-spacing:.12em;color:#31523d;font-size:11px;font-weight:850}.life-map-provider-label>small{color:#798177;font-size:11px}.life-map-info-button{color:#31523d;cursor:pointer;background:#edf1eb;border:0;border-radius:50%;place-items:center;width:30px;height:30px;font-size:15px;display:grid}.life-map-info-popover{z-index:30;color:#4f5b51;background:#fff;border:1px solid #1f251f1f;border-radius:18px;width:min(320px,100vw - 56px);padding:16px 42px 16px 16px;position:absolute;top:40px;left:0;box-shadow:0 18px 50px #19241d2e}.life-map-info-popover strong{color:#294c37;font-size:13px;display:block}.life-map-info-popover p{margin:8px 0 0;font-size:12px;line-height:1.65}.life-map-info-close{color:#536052;cursor:pointer;background:#f0f2ed;border:0;border-radius:50%;width:28px;height:28px;font-size:18px;line-height:1;position:absolute;top:9px;right:10px}.life-map-provider-actions{gap:7px;display:flex}.life-map-provider-actions button{color:#31523d;cursor:pointer;background:#fff;border:1px solid #31523d2e;border-radius:999px;padding:9px 12px;font-size:11px;font-weight:750}.life-map-controls{align-items:center;gap:5px;display:flex}.life-map-controls button{color:#294c37;cursor:pointer;background:#e8eee8;border:0;border-radius:50%;width:38px;height:38px;font-size:20px;font-weight:800}.life-map-controls button:disabled{opacity:.4;cursor:default}.life-map-controls span{text-align:center;color:#637063;min-width:48px;font-size:11px;font-weight:750}.life-map-controls .is-reset{border-radius:999px;width:auto;padding:0 12px;font-size:11px}.life-map-viewport{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;background:#dfe7df;height:520px;position:relative;overflow:hidden}.life-map-viewport:active{cursor:grabbing}.life-map-canvas{transform-origin:50%;background-color:#e2e5dd;background-image:linear-gradient(30deg,#ffffff80 12%,#0000 12.5% 87%,#ffffff80 87.5%),linear-gradient(150deg,#ffffff80 12%,#0000 12.5% 87%,#ffffff80 87.5%);background-size:78px 135px;transition:transform 60ms linear;position:absolute;inset:-9%}.life-map-road{background:#f7f3ea;border:1px solid #79847929;position:absolute;box-shadow:0 0 0 6px #fff3}.life-map-road.is-horizontal{height:66px;top:47%;left:-5%;right:-5%;transform:rotate(-7deg)}.life-map-road.is-diagonal{width:58px;top:-8%;bottom:-8%;left:51%;transform:rotate(17deg)}.life-map-water{background:#c8d9d8;border-radius:48% 52% 0 0;width:43%;height:37%;position:absolute;bottom:-13%;left:-6%;transform:rotate(8deg)}.life-map-green{background:#c8dac7;border-radius:50%;place-items:center;width:160px;height:100px;display:grid;position:absolute;top:12%;right:8%}.life-map-green span{letter-spacing:.14em;color:#55705b;font-size:9px;font-weight:850}.life-map-pin{color:#315f45;cursor:pointer;background:#fff;border:3px solid #315f45;border-radius:50%;place-items:center;width:44px;height:44px;margin:-22px 0 0 -22px;transition:transform .16s,background .16s,color .16s;display:grid;position:absolute;box-shadow:0 10px 24px #253a2b38}.life-map-pin span{font-size:13px}.life-map-pin.is-selected{color:#fff;z-index:3;background:#315f45;transform:scale(1.2)}.life-map-drag-help{color:#667166;pointer-events:none;background:#ffffffe6;border-radius:999px;padding:8px 11px;font-size:10px;position:absolute;bottom:14px;left:14px}.life-map-empty-canvas{text-align:center;color:#526052;place-content:center;gap:7px;padding:30px;display:grid;position:absolute;inset:0}.life-map-empty-canvas span{color:#748074;font-size:13px}.life-map-memory-card{background:#fff;border-top:1px solid #1f251f17;padding:22px 24px}.life-map-memory-meta{color:#748074;align-items:center;gap:8px;font-size:11px;display:flex}.life-map-memory-meta span{color:#405544;background:#edf2ec;border-radius:999px;padding:4px 8px}.life-map-place{font-weight:750;color:#315f45!important;margin:13px 0 0!important;font-size:13px!important}.life-map-memory-card h2{letter-spacing:-.03em;margin:8px 0 9px;font-size:24px}.life-map-memory-card>p{color:#596358;white-space:pre-wrap;margin:0;line-height:1.75}.life-map-memory-card footer{color:#315f45;border-top:1px solid #eceee9;justify-content:space-between;align-items:center;gap:14px;margin-top:17px;padding-top:14px;font-size:11px;display:flex}.life-map-memory-card footer a{color:#315f45;font-weight:800;text-decoration:none}.life-map-memory-card footer small{color:#8b7656}.life-map-unplaced{background:#ffffffb8;border:1px solid #1f251f1a;border-radius:22px;margin-top:22px;padding:20px}.life-map-unplaced h2{letter-spacing:-.03em;margin:0;font-size:20px}.life-map-unplaced-caption{color:#788078;margin:6px 0 0;font-size:12px}.life-map-unplaced-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:15px;display:grid}.life-map-unplaced-list article{min-width:0}.life-map-unplaced-list button{text-align:left;color:#202620;cursor:pointer;background:#fff;border:1px solid #1f251f1a;border-radius:16px;gap:6px;padding:16px;display:grid}.life-map-unplaced-list button>span{color:#315f45;font-size:11px}.life-map-unplaced-list button>strong{font-size:15px}.life-map-unplaced-list button>small{color:#798178}.life-map-geocode-actions{margin-top:8px}.life-map-geocode-actions>button{color:#31523d;cursor:pointer;background:#edf2ec;border:1px solid #31523d2b;border-radius:13px;width:100%;padding:11px 13px;font-size:12px;font-weight:800}.life-map-geocode-candidate{gap:8px;display:grid}.life-map-geocode-candidate>span{color:#5b665b;font-size:12px;line-height:1.5}.life-map-geocode-candidate button{color:#fff;cursor:pointer;background:#315f45;border:0;border-radius:12px;padding:10px 12px;font-weight:800}.life-map-geocode-candidate .is-cancel{color:#5d675e;background:#eef1ec}.life-map-geocode-message,.life-map-google-disabled{color:#596358;margin:12px 0 0;font-size:12px;line-height:1.6}.life-map-geocode-message.is-error{color:#8a3e38}.life-map-provider-message{color:#5c675d;background:#eef1eb;border-radius:14px;margin:0 0 10px;padding:10px 13px;font-size:12px}@media (max-width:700px){.life-map-header{padding:0 16px}.life-map-main{padding:10px 10px 100px}.life-map-workspace{border-radius:20px;position:relative}.life-map-toolbar{flex-wrap:wrap;align-items:center}.life-map-provider-label{flex:auto}.life-map-provider-actions{margin-left:auto}.life-map-provider-actions button{padding:8px 10px}.life-map-controls{justify-content:flex-end;width:100%}.life-map-viewport{height:430px}.life-map-memory-card{z-index:8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdfaf7;border:1px solid #53433524;border-radius:18px;max-height:176px;padding:13px 14px;position:absolute;bottom:14px;left:12px;right:12px;overflow:auto;box-shadow:0 16px 40px #252b2538}.life-map-memory-meta{font-size:10px}.life-map-place{margin-top:8px!important;font-size:11px!important}.life-map-memory-card h2{margin:5px 0 6px;font-size:16px;line-height:1.4}.life-map-memory-card>p{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.55;display:-webkit-box;overflow:hidden}.life-map-memory-card footer{flex-direction:row;align-items:center;margin-top:9px;padding-top:9px;font-size:10px}.life-map-memory-card footer a{margin-left:auto}.life-map-drag-help{bottom:12px}.life-map-unplaced{padding:16px}.life-map-unplaced-list{grid-template-columns:1fr}.life-map-info-popover{left:-2px}.life-map-demo{gap:5px;display:grid}}
.life-map-provider-message{color:#536052;background:#eef1eb;border-radius:13px;margin-top:14px;padding:11px 13px;font-size:12px;line-height:1.55}.life-map-provider-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.life-map-provider-actions button{color:#315f45;cursor:pointer;background:#fff;border:1px solid #315f452e;border-radius:999px;padding:9px 12px;font-size:11px;font-weight:800}.life-map-provider-actions button:hover{background:#eef3ee}.google-life-map-shell{background:#dfe7df;height:520px;position:relative}.google-life-map-canvas{position:absolute;inset:0}.google-life-map-status,.google-life-map-badge{z-index:3;color:#536052;background:#fffffff0;border-radius:999px;padding:8px 11px;font-size:10px;position:absolute;bottom:14px;left:14px;box-shadow:0 7px 18px #1e2d261f}.google-life-map-badge{letter-spacing:.06em;color:#315f45;font-weight:800}.google-life-map-pin{cursor:pointer;background:#fff;border:3px solid #315f45;border-radius:50%;place-items:center;width:40px;height:40px;display:grid;box-shadow:0 10px 24px #253a2b3d}.google-life-map-pin span{background:#315f45;border-radius:50%;width:10px;height:10px;display:block}.google-life-map-pin.is-selected{background:#315f45;transform:scale(1.12)}.google-life-map-pin.is-selected span{background:#fff}.google-life-map-location-button{z-index:4;color:#315f45;cursor:pointer;background:#fffffff5;border:1px solid #1f251f1f;border-radius:999px;min-height:44px;padding:0 14px;font-size:12px;font-weight:800;position:absolute;top:14px;right:14px;box-shadow:0 7px 20px #1e2d2629}.google-life-map-location-button:disabled{opacity:.68;cursor:default}.google-life-map-current-location{background:#2f6feb;border:3px solid #fff;border-radius:50%;place-items:center;width:28px;height:28px;display:grid;box-shadow:0 0 0 2px #2f6feb33,0 6px 18px #1b438e4d}.google-life-map-current-location span{background:#fff;border-radius:50%;width:8px;height:8px;display:block}.google-life-map-location-status{z-index:4;color:#536052;text-align:center;background:#fffffff5;border-radius:999px;width:fit-content;max-width:calc(100% - 28px);margin:0 auto;padding:8px 11px;font-size:10px;line-height:1.45;position:absolute;top:68px;left:14px;right:14px;box-shadow:0 7px 18px #1e2d261f}.google-life-map-location-status.is-error{color:#7d443c;background:#fcf2f0f7}.life-map-unplaced-list article{background:#fff;border:1px solid #1f251f1a;border-radius:16px;gap:10px;padding:14px;display:grid}.life-map-unplaced-list article.is-selected{border-color:#315f4566;box-shadow:0 0 0 2px #315f450f}.life-map-unplaced-list .life-map-unplaced-select{text-align:left;color:#202620;cursor:pointer;background:0 0;border:0;border-radius:0;gap:6px;width:100%;padding:0;display:grid}.life-map-unplaced-list .life-map-unplaced-select>span{color:#315f45;font-size:11px}.life-map-unplaced-list .life-map-unplaced-select>strong{font-size:15px}.life-map-unplaced-list .life-map-unplaced-select>small{color:#798178}.life-map-geocode-actions{border-top:1px solid #eceee9;gap:8px;padding-top:10px;display:grid}.life-map-geocode-actions>button,.life-map-geocode-candidate button{color:#315f45;cursor:pointer;background:#eef3ee;border:1px solid #315f4533;border-radius:999px;width:fit-content;padding:8px 11px;font-size:11px;font-weight:800}.life-map-geocode-actions button:disabled{opacity:.5;cursor:default}.life-map-geocode-candidate{gap:8px;display:grid}.life-map-geocode-candidate>span{color:#596358;font-size:12px;line-height:1.55}.life-map-geocode-candidate .is-cancel{color:#788078;background:0 0;border-color:#0000}.life-map-geocode-message,.life-map-google-disabled{color:#536052;background:#eef3ee;border-radius:13px;margin:14px 0 0;padding:11px 13px;font-size:12px;line-height:1.6}.life-map-geocode-message.is-error{color:#7d443c;background:#f7ecea}.life-map-google-disabled{color:#777468;background:#f3f1eb}.life-map-toolbar{flex-wrap:wrap}.life-map-controls{margin-left:auto}@media (max-width:700px){.life-map-provider-actions{width:100%;margin-left:0}.life-map-provider-actions button{width:100%}.google-life-map-shell{height:430px}.google-life-map-location-button{min-height:42px;padding:0 12px;top:10px;right:10px}.google-life-map-location-status{max-width:calc(100% - 20px);top:60px;left:10px;right:10px}.life-map-controls{margin-left:0}.life-map-unplaced-list article{padding:13px}}
