:root{color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,"Inter","PingFang SC","Microsoft YaHei",Arial,sans-serif;background:#061323;color:#f0f3f3;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse 84% 32% at 50% 25%,rgba(22,80,94,.23),transparent),#061323}button,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.43;cursor:default}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #edbd6e;outline-offset:3px}[hidden]{display:none!important}
.site{max-width:1320px;margin:0 auto;padding:0 24px}.topbar{height:70px;border-bottom:1px solid #193344;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:5px;font-weight:800;font-size:19px;letter-spacing:.1px}.mark{margin-right:8px;display:grid;place-items:center;color:#f9d98a;border:1px solid #cda761;width:30px;height:30px;border-radius:50%;font-weight:400}.year{color:#f4c978}.my-lights{background:#12283c;color:#cfe2e8;border:1px solid #335367;border-radius:40px;padding:9px 13px;font-size:13px}.my-lights strong{color:#ffd887;font-variant-numeric:tabular-nums;margin-left:4px}
.hero{text-align:center;padding:29px 0 20px}.eyebrow{font-size:10px;letter-spacing:2.4px;color:#97b6bb;font-weight:700}.hero h1{margin:11px 0 10px;font-size:clamp(29px,4.7vw,52px);letter-spacing:-1px;font-weight:800;line-height:1.27}.hero h1 span{color:#f2ce89}.hero p{margin:0;color:#c1d5db;font-size:clamp(13px,1.25vw,17px);line-height:1.65}
.experience{max-width:1180px;margin:auto}.map-meta{display:flex;align-items:center;justify-content:space-between;margin:0 6px 10px;gap:10px;font-size:12px;color:#a0bfca}.map-label{display:flex;align-items:center;gap:7px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#78e2b6;box-shadow:0 0 12px #73dbac}.counts strong{font-size:20px;color:#ffe3a0;font-variant-numeric:tabular-nums}.map-frame{height:clamp(390px,45vw,550px);position:relative;border:1px solid #345668;border-radius:22px;overflow:hidden;background:#091a2b;box-shadow:0 23px 55px rgba(0,0,0,.3)}.map-frame canvas{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}.map-frame canvas.grabbing{cursor:grabbing}.map-wait{display:grid;place-items:center;position:absolute;inset:0;color:#a9c2cc;background:#091a2b;pointer-events:none}.map-hint{position:absolute;left:14px;bottom:14px;max-width:calc(100% - 85px);font-size:12px;color:#f5dca9;background:rgba(6,23,36,.77);border:1px solid rgba(218,190,127,.25);padding:9px 12px;border-radius:18px;pointer-events:none}.zoom-tools{position:absolute;right:12px;top:14px;display:grid;gap:5px}.zoom-tools button{width:37px;height:37px;border:1px solid #4f7382;border-radius:10px;color:#f3f3ec;background:rgba(9,29,45,.83);font-size:21px}.selected-tag{position:absolute;top:14px;left:14px;background:rgba(17,44,55,.93);color:#fff1b9;border:1px solid #caa971;font-size:12px;border-radius:24px;padding:7px 13px;pointer-events:none}
.control{margin:16px auto 0;max-width:760px}.action-tabs{display:flex;justify-content:center;gap:9px}.mode-btn{flex:1;min-width:0;border:1px solid #456276;background:#102b41;color:#c5dbe3;border-radius:15px;padding:14px 10px;font-size:14px;font-weight:700}.mode-btn.active{border-color:#e9c27b;background:#283342;color:#ffdfa7;box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.color-row{display:flex;gap:15px;justify-content:center;align-items:center;margin:16px 0 13px;color:#a9bfca;font-size:12px}.swatches{display:flex;align-items:center;gap:9px}.swatch{border:2px solid transparent;width:35px;height:35px;border-radius:50%;box-shadow:0 2px 10px rgba(0,0,0,.3);flex:0 0 auto}.swatch.chosen{outline:2px solid #ffdead;outline-offset:3px}.commit-area{text-align:center;display:grid;gap:10px}.commit-area p{color:#d3e2e6;font-size:13px;margin:0}.confirm{width:100%;border:none;border-radius:15px;padding:15px 20px;background:linear-gradient(120deg,#ffe9b9,#f3bb69);color:#2b2731;font-weight:850;font-size:17px;box-shadow:0 5px 24px rgba(228,173,92,.19)}.cooldown{margin:9px 0 0;text-align:center;color:#8cabb8;font-size:11px}.notice{margin:5px 0;min-height:22px;color:#ffe19b;text-align:center;font-size:13px}.share-btn{display:block;margin:8px auto 0;background:#173747;color:#daeff0;border:1px solid #5e8190;border-radius:24px;padding:11px 20px}.promise{font-size:12px;line-height:1.75;text-align:center;color:#98b1bd;margin:16px auto 0}.footer-info{margin:38px auto 15px;max-width:760px;text-align:center;color:#8ea8b2;font-size:11px;line-height:1.7}.footer-info a{text-decoration:underline;text-underline-offset:3px;color:#b1c7cf}footer{text-align:center;border-top:1px solid #1d3b4b;padding:18px 0 28px;color:#6e909d;font-size:11px}
.veil{position:fixed;inset:0;background:#0009;z-index:40}.drawer{position:fixed;z-index:41;right:0;top:0;bottom:0;width:min(425px,100vw);overflow:auto;background:#102a3c;padding:24px;color:#e5edf1;box-shadow:-16px 0 80px #0008}.drawer-head{display:flex;justify-content:space-between;align-items:center}.drawer-head h2{font-size:21px;margin:0}.drawer-head button{border:0;background:transparent;color:#fff;font-size:27px}.drawer p,.drawer small{color:#a8c0c9;font-size:12px;line-height:1.7}.drawer strong{display:block;color:#ffe1a6;margin:20px 0 10px}.my-list{display:grid;gap:8px;max-height:40vh;overflow:auto}.my-item{padding:12px;border:1px solid #386172;border-radius:12px;display:flex;justify-content:space-between;align-items:center}.my-item.selected{border-color:#f3c77b}.my-item b,.my-item span{display:block;font-size:12px}.my-item span{color:#92b6c0;font-size:11px}.my-item button,.drawer-tools button,.drawer>button{border:1px solid #4d7483;background:#244b5d;color:#f4f4ee;border-radius:10px;padding:9px 10px;font-size:12px}.drawer-tools{display:flex;gap:9px;margin:15px 0}.drawer label{display:block;margin-top:20px;color:#d9e9eb;font-size:12px}.drawer select{display:block;width:100%;background:#0b2437;color:#f5f7f7;padding:12px;border-radius:10px;border:1px solid #42667b;margin:8px 0}.drawer small{display:block;margin-top:20px}
.mine-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:12px 0 18px;color:#a5c6cf;font-size:12px}
.mine-pagination button{border:1px solid #72909b;border-radius:11px;background:#24495a;color:#fff1c9;padding:10px 14px;font-size:12px;min-height:40px}
.my-item .mine-color{display:inline-block;width:11px;height:11px;border-radius:50%;border:1px solid #fff5;vertical-align:-1px;margin-right:5px}
.my-item .mine-actions{display:flex;gap:6px;flex-shrink:0}
.my-item .mine-actions button{min-height:38px}
.my-item .mine-info{min-width:0}
.my-item .mine-info span{overflow-wrap:anywhere}

@media(max-width:600px){.site{padding:0 11px}.topbar{height:57px}.brand{font-size:17px}.mark{width:26px;height:26px;font-size:17px;margin-right:5px}.my-lights{font-size:12px;padding:8px 10px}.hero{padding:18px 0 14px}.eyebrow{font-size:9px;letter-spacing:1.5px}.hero h1{font-size:clamp(25px,7.5vw,34px);margin:8px 0}.hero p{font-size:12px;line-height:1.55}.map-meta{font-size:11px;margin:0 5px 7px}.counts strong{font-size:17px}.map-frame{height:clamp(292px,41vh,405px);border-radius:16px}.map-hint{font-size:10px;bottom:8px;left:8px;max-width:calc(100% - 55px);padding:8px 9px}.zoom-tools{right:7px;top:9px}.zoom-tools button{width:33px;height:33px}.selected-tag{font-size:10px;padding:6px 8px;top:9px;left:9px}.control{margin:10px auto 0}.action-tabs{gap:7px}.mode-btn{font-size:12px;padding:11px 5px;border-radius:11px}.color-row{margin:10px auto 9px;gap:9px;flex-wrap:wrap}.color-row>span{font-size:11px}.swatches{gap:7px}.swatch{width:28px;height:28px}.commit-area{gap:7px}.commit-area p{font-size:11px;line-height:1.4}.confirm{padding:12px;font-size:15px;border-radius:12px}.cooldown{font-size:10px;margin:5px 0}.notice{font-size:11px;min-height:17px}.promise{font-size:10px;margin:7px auto 0}.footer-info{margin-top:20px}.drawer{padding:18px 15px;padding-bottom:max(24px,env(safe-area-inset-bottom,0px))}}
@media(max-width:385px){.hero h1{font-size:25px}.color-row{gap:8px}.swatch{width:27px;height:27px}.map-frame{height:clamp(276px,39vh,350px)}}
@media(max-height:710px) and (max-width:600px){.hero{padding:12px 0 10px}.hero p{font-size:11px}.map-frame{height:295px}.color-row{margin:7px auto}.swatch{width:27px;height:27px}}
@supports(padding:max(0px)){.topbar{padding-top:env(safe-area-inset-top,0px)}body{padding-bottom:env(safe-area-inset-bottom,0px)}.site{padding-left:max(11px,env(safe-area-inset-left,0px));padding-right:max(11px,env(safe-area-inset-right,0px))}}

/* On a narrow in-app browser, confirmation stays reachable while the user is looking at the map. */
@media(max-width:600px){.commit-area.is-ready .confirm{position:fixed;z-index:29;left:max(11px,env(safe-area-inset-left,11px));right:max(11px,env(safe-area-inset-right,11px));bottom:max(9px,env(safe-area-inset-bottom,9px));width:calc(100% - 22px);box-shadow:0 5px 34px #000b,0 0 0 2px #f2ca7a99}.commit-area.is-ready{padding-bottom:60px}}

.community { max-width: 680px; margin: 34px auto; padding: 24px; border: 1px solid #254456; border-radius: 18px; background: #0e2434; }
.community h2 { margin: 8px 0; }
.community label, #recoveryPanel label { display: block; margin: 10px 0 4px; }
.community input, #recoveryPanel input { box-sizing: border-box; max-width: 100%; width: 100%; padding: 10px; color: inherit; background: #081826; border: 1px solid #345467; border-radius: 8px; }
.community button, #recoveryPanel button { margin-top: 8px; padding: 8px 12px; }
.community-links { display: flex; flex-wrap: wrap; gap: 18px; }
.community-links a { color: #ffd889; }
#recoveryPanel { margin-top: 18px; border-top: 1px solid #345467; padding-top: 12px; }
#recoveryPanel summary { cursor: pointer; color: #ffd889; }

.language-switch { margin-left: auto; margin-right: 12px; color: #f1d396; font-size: .85rem; }
.shared-welcome { padding: 10px 12px; margin-bottom: 12px; border: 1px solid #365264; border-radius: 14px; background: #102635; }
.shared-welcome p { margin: 0 0 10px; color: #ffe8b4; }
.shared-welcome button { padding: 8px; margin-right: 4px; }
.share-moment { color: #f7ead2; background: #102635; border: 1px solid #567182; border-radius: 16px; width: min(420px, calc(100vw - 28px)); max-height: 92dvh; padding: 14px; }
.share-moment::backdrop { background: #050e18d9; }
.share-moment img { display: block; max-width: 100%; width: auto; height: min(53vh, 610px); object-fit: contain; margin: auto; border-radius: 9px; }
.share-moment input { display: block; width: 100%; background: #081723; color: inherit; border: 1px solid #466074; padding: 8px; }
.moment-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0; }
.moment-actions a,.moment-actions button { padding: 8px; color: #ffe4a4; background: #233a49; border-radius: 8px; }
[hidden] { display: none !important; }

.wave-entry{display:block;margin:24px 0;padding:20px;border:1px solid #a98b54;border-radius:18px;background:linear-gradient(120deg,#263b46,#0a2133);text-decoration:none;color:#ffe3a0}.wave-entry strong{display:block;font-size:clamp(16px,4vw,22px)}.wave-entry span{display:block;margin-top:9px;color:#b6d1d9;font-size:13px}

.map-meta{flex-wrap:wrap}.counts{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.counts>span{white-space:nowrap}
@media(max-width:600px){.counts{width:100%;justify-content:flex-end;font-size:12px;gap:7px}}

.activity-share-button{margin:13px auto 0;padding:9px 17px;border:1px solid #658491;border-radius:24px;background:#173343;color:#ffe2a6;font-size:13px;cursor:pointer}
.activity-share{width:min(450px,calc(100vw - 24px));max-height:90dvh;overflow-y:auto;padding:18px;background:#102635;color:#f7ead2;border:1px solid #567182;border-radius:18px}
.activity-share::backdrop{background:#050e18d9}
.activity-share .drawer-head h2{font-size:20px}.activity-share-languages,.activity-share-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.activity-share-languages button,.activity-share-actions button,.activity-share-actions a{padding:10px 12px;border:1px solid #4d7180;border-radius:11px;background:#183b4b;color:#ffe4ac;font:inherit;font-size:13px;cursor:pointer;text-decoration:none;text-align:center}
.activity-share-languages button[aria-pressed="true"]{border-color:#edc480;background:#3c3e37}.activity-share-preview{border:1px solid #365767;border-radius:12px;overflow:hidden;background:#0b1e2e}
.activity-share-preview img{display:block;width:100%;height:auto}.activity-share-preview h3{font-size:17px;line-height:1.5;margin:12px 14px 6px}.activity-share-preview p{font-size:13px;line-height:1.6;color:#b5cdd3;margin:0 14px 14px}
.activity-share input{width:100%;min-width:0;padding:11px;background:#081723;color:#d4e5eb;border:1px solid #466074;border-radius:8px;font-size:14px}
.activity-share-actions>*{flex:1}.activity-share-actions #nativeActivityShare{background:#e9c991;color:#142a35;border-color:#f7dfaf}
#activityShareStatus{margin:12px 0 0;font-size:13px;line-height:1.6;color:#bfd3d9}#openActivityLanguage{display:block;margin-top:10px;color:#ffe2a6;font-size:13px}
@media(max-width:400px){.activity-share{padding:14px}.activity-share-preview h3{font-size:15px}.activity-share-actions button,.activity-share-actions a{padding:9px;font-size:12px}}

.footprint-controls{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:0 5px 9px;color:#bfced0;font-size:12px}.footprint-controls button{border:1px solid #8e7b55;border-radius:20px;padding:7px 11px;background:#263b40;color:#ffe2a0;font:inherit;cursor:pointer}.footprint-controls button[aria-pressed="false"]{border-color:#45616e;background:#102b3b;color:#a5bdc7}@media(max-width:600px){.footprint-controls{font-size:11px;gap:7px}.footprint-controls button{padding:7px 9px}}
