:root{--ink: #14110F;--ink-raised: #1E1A17;--line: #241F1C;--amber: #E8A33D;--cream: #F5F0E8;--warm: #E4DACF;--muted: #9C8F82;--dim: #6B6058}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--ink);color:var(--cream);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit;color:inherit}.door{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:#faf7f2;display:grid;place-items:center;padding:28px;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}.door-card{width:100%;max-width:300px;display:flex;flex-direction:column}.door-card:before{content:"";width:30px;height:15px;margin-bottom:16px;background:#c4703f;border-radius:0 0 15px 15px}.door-system{margin:0 0 6px;font-size:19px;font-weight:600;color:#33291f}.door-note{margin:0 0 22px;font-size:13px;line-height:1.7;color:#8a7a6a}.door-card input{width:100%;padding:10px 12px;border:1px solid #E2D9CD;border-radius:8px;background:#fff;font-size:14.5px;color:#33291f;outline:none;transition:border-color .14s}.door-card input::placeholder{color:#b6a897}.door-card input:focus{border-color:#c4703f}.door-card input:disabled{background:#f4efe8;color:#b6a897}.door-error{margin:8px 0 0;min-height:17px;font-size:12.5px;color:#b4543a;opacity:0;transition:opacity .14s}.door-error.on{opacity:1}.door-card button{margin-top:12px;padding:10px 12px;background:#c4703f;border:none;border-radius:8px;color:#fff;font-size:14px;cursor:pointer;transition:background .14s}.door-card button:hover:not(:disabled){background:#ad6035}.door-card button:disabled{background:#dcc6b4;cursor:default}.door-footer{margin:22px 0 0;font-size:11.5px;color:#b6a897}.door-footer a{color:#c4703f}.chat{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:#faf7f2;color:#33291f;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;transition:opacity .5s ease}.chat-leaving{opacity:0;pointer-events:none}.chat-head{display:flex;align-items:center;gap:10px;padding:14px 18px;background:#fffdfa;border-bottom:1px solid #ECE4D9;padding-top:calc(14px + env(safe-area-inset-top))}.chat-avatar{flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#c4703f;position:relative}.chat-avatar:after{content:"";position:absolute;left:50%;top:53%;transform:translate(-50%,-50%);width:16px;height:8px;background:#fffdfa;border-radius:0 0 8px 8px}.chat-name{margin:0;font-size:14.5px;font-weight:600}.chat-tag{margin:2px 0 0;font-size:11px;color:#a2937f}.chat-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:18px 16px;display:flex;flex-direction:column;gap:9px}.bubble{max-width:78%;padding:9px 13px;font-size:14.5px;line-height:1.5;border-radius:16px;word-break:break-word;animation:bubble-in .26s cubic-bezier(.22,.61,.36,1) both}.bubble-bot{align-self:flex-start;background:#fff;color:#33291f;border:1px solid #EFE7DC;border-bottom-left-radius:5px}.bubble-me{align-self:flex-end;background:#c4703f;color:#fff;border-bottom-right-radius:5px}@keyframes bubble-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.bubble-typing{display:flex;gap:4px;padding:12px 14px}.bubble-typing span{width:6px;height:6px;border-radius:50%;background:#c4a88f;animation:typing-bounce 1.2s infinite ease-in-out}.bubble-typing span:nth-child(2){animation-delay:.18s}.bubble-typing span:nth-child(3){animation-delay:.36s}@keyframes typing-bounce{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:.9;transform:translateY(-4px)}}.chat-input{display:flex;align-items:center;gap:9px;padding:12px 14px;background:#fffdfa;border-top:1px solid #ECE4D9;padding-bottom:calc(12px + env(safe-area-inset-bottom))}.chat-input input{flex:1;min-width:0;padding:10px 15px;border:1px solid #E2D9CD;border-radius:20px;background:#fff;font-size:16px;color:#33291f;outline:none;transition:border-color .14s}.chat-input input::placeholder{color:#b6a897}.chat-input input:focus{border-color:#c4703f}.chat-input button{flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:#c4703f;border:none;color:#fff;cursor:pointer;display:grid;place-items:center;transition:background .14s}.chat-input button:hover:not(:disabled){background:#ad6035}.chat-input button:disabled{background:#dcc6b4;cursor:default}@media (prefers-reduced-motion: reduce){.bubble,.bubble-typing span{animation:none}.chat{transition:none}}.welcome{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;background:var(--ink);cursor:pointer;opacity:1;transition:opacity .85s ease}.welcome-leaving{opacity:0;pointer-events:none}.welcome-scroll{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;padding:40px 32px}.welcome-inner{margin:auto;max-width:34ch;width:100%}.welcome-inner>*{opacity:0;animation:welcome-rise 2.2s cubic-bezier(.22,.61,.36,1) both}.welcome-label{margin:0 0 22px;font-size:15px;letter-spacing:.1em;color:var(--amber);font-family:ui-monospace,monospace}.welcome-lead{margin:0 0 20px;font-size:20px;line-height:1.75;font-weight:500;color:var(--cream)}.welcome-para{margin:0 0 16px;font-size:14.5px;line-height:2;color:var(--warm)}.welcome-signoff{margin:26px 0 0;font-size:15.5px;line-height:1.8;color:var(--amber)}.welcome-signoff-cont{margin-top:6px}.welcome-tap{display:block;margin:40px 0 0;padding:6px 0;background:none;border:none;cursor:pointer;color:var(--dim);transition:color .2s,transform .2s}.welcome-tap:hover{color:var(--amber);transform:translateY(2px)}.welcome-tap{animation-name:welcome-rise,welcome-breathe}.welcome-tap{animation-duration:2.2s,3.6s}.welcome-tap{animation-iteration-count:1,infinite}.welcome-tap{animation-timing-function:cubic-bezier(.22,.61,.36,1),ease-in-out}.welcome-tap{animation-fill-mode:both,none}@keyframes welcome-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes welcome-breathe{0%,to{opacity:.45;transform:translateY(0)}50%{opacity:.9;transform:translateY(5px)}}@media (prefers-reduced-motion: reduce){.welcome-inner>*,.welcome-tap{animation:none;opacity:1}.welcome-tap{opacity:.6}.welcome{transition:none}}.app{height:100vh;height:100dvh;display:flex;flex-direction:column}.panel{flex:0 0 auto;max-height:54vh;display:flex;flex-direction:column;overflow:hidden;border-top:.5px solid var(--line)}.sheet-head{display:none}.sheet-body{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:20px 20px 32px}@media (min-width: 860px){.app{flex-direction:row}.map-wrap{min-height:100%}.panel{width:400px;max-height:100%;border-top:none;border-left:.5px solid var(--line)}}.summary-month{margin:0 0 6px;font-size:11px;letter-spacing:.16em;color:var(--amber);font-family:ui-monospace,monospace}.summary-headline{margin:0 0 4px;font-size:22px;font-weight:500}.summary-sub{margin:0 0 24px;font-size:13px;color:var(--muted)}.thread-list{list-style:none;margin:0;padding:0}.thread-list li+li{border-top:.5px solid var(--line)}.thread-list li{animation:thread-in .42s cubic-bezier(.22,.61,.36,1) both}@keyframes thread-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.thread-list li{animation:none}}.thread{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:14px 0;display:grid;gap:3px}.thread:hover .thread-title{color:var(--amber)}.thread-date{font-family:ui-monospace,monospace;font-size:11px;color:var(--dim)}.thread-title{font-size:16px;transition:color .15s}.thread-meta{font-size:12px;color:var(--muted)}.detail-back{background:none;border:none;cursor:pointer;padding:11px 12px;margin:-11px -12px 9px;font-size:13px;color:var(--muted);display:inline-flex;align-items:center;min-height:44px;box-sizing:border-box}.detail-when{margin:0 0 5px;font-family:ui-monospace,monospace;font-size:11px;letter-spacing:.08em;color:var(--amber)}.detail-title{margin:0 0 5px;font-size:24px;font-weight:500;line-height:1.25}.detail-meta{margin:0 0 22px;font-size:12.5px;color:var(--muted)}.beats{list-style:none;margin:0 0 22px;padding:0}.beat{display:flex;gap:12px;padding:7px 0}.beat-time{font-family:ui-monospace,monospace;font-size:11px;color:var(--dim);flex:0 0 40px;padding-top:2px}.beat-body{display:grid;gap:2px}.beat-place{font-size:14.5px;color:var(--warm)}.beat-note{font-size:12.5px;color:var(--muted)}.comments{border-top:.5px solid var(--line);padding-top:18px}.comment{background:var(--ink-raised);border-radius:10px;padding:12px 13px;margin-bottom:10px}.comment-who{margin:0 0 4px;font-size:10.5px;letter-spacing:.1em;color:#c98a6b}.comment-body{margin:0;font-size:13.5px;line-height:1.6;color:var(--warm)}.comment-form{display:flex;gap:9px;align-items:center}.comment-form input{flex:1;background:none;border:1px solid #2C2622;border-radius:9px;padding:10px 12px;outline:none;font-size:13.5px}.comment-form input::placeholder{color:var(--dim)}.comment-form input:focus{border-color:#4a3f37}.comment-form button{background:none;border:none;cursor:pointer;color:var(--amber);font-size:13.5px}.comment-form button:disabled{color:var(--dim);cursor:default}.comment-actions{display:flex;gap:14px;margin-top:7px}.comment-actions button{background:none;border:none;cursor:pointer;padding:0;font-size:11.5px;color:var(--dim);letter-spacing:.05em}.comment-actions button:hover{color:var(--warm)}.comment-edit{display:flex;flex-direction:column;gap:8px}.comment-edit input{background:none;border:1px solid #2C2622;border-radius:9px;padding:8px 11px;outline:none;font-size:13.5px;color:var(--warm)}.comment-edit input:focus{border-color:#4a3f37}.comment-edit-actions{display:flex;gap:16px}.comment-edit-actions button{background:none;border:none;cursor:pointer;padding:0;font-size:12.5px;color:var(--amber)}.comment-edit-actions button:disabled{color:var(--dim);cursor:default}.comment-edit-actions .comment-secondary{color:var(--dim)}.builder{height:100%;display:flex}.builder-map{flex:1;min-width:0}.builder-panel{width:380px;flex:0 0 380px;padding:20px;overflow-y:auto;border-left:.5px solid var(--line);display:flex;flex-direction:column;gap:10px}.builder-title{margin:0;font-size:17px;font-weight:500}.builder-hint{margin:0 0 4px;font-size:12.5px;line-height:1.6;color:var(--muted)}.builder-label{margin:12px 0 0;font-size:11px;letter-spacing:.12em;color:var(--amber);font-family:ui-monospace,monospace}.builder-count{margin:0;font-size:12px;color:var(--amber);font-family:ui-monospace,monospace}.builder-actions{display:flex;gap:8px;flex-wrap:wrap}.builder-actions button,.builder-add-beat,.builder-commit{background:none;border:1px solid #2C2622;border-radius:8px;padding:8px 12px;cursor:pointer;font-size:12.5px;color:var(--warm)}.builder-actions button:hover:not(:disabled),.builder-add-beat:hover,.builder-commit:hover:not(:disabled){border-color:#4a3f37}.builder-actions button:disabled,.builder-commit:disabled{color:var(--dim);cursor:default}.builder-fields{display:grid;gap:8px}.builder-row{display:flex;gap:8px}.builder-row>*{flex:1;min-width:0}.builder-beat{margin-bottom:6px}.builder-panel input{background:none;border:1px solid #2C2622;border-radius:8px;padding:8px 10px;outline:none;font-size:12.5px;color:var(--cream);width:100%}.builder-panel input::placeholder{color:var(--dim)}.builder-panel input:focus{border-color:#4a3f37}.builder-panel input[type=date],.builder-panel input[type=time]{color-scheme:dark}.builder-commit{margin-top:6px;padding:10px;color:var(--amber);border-color:#4a3a22}.builder-list{list-style:none;margin:0;padding:0}.builder-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 0;border-bottom:.5px solid var(--line);font-size:12.5px}.builder-list button{background:none;border:none;cursor:pointer;color:var(--dim);font-size:12px}.builder-list button:hover{color:#c4714a}.builder-output{margin:0;background:var(--ink-raised);border-radius:8px;padding:12px;font-size:11px;line-height:1.5;color:var(--warm);overflow-x:auto;max-height:260px}.search{position:relative}.search-status{margin:6px 0 0;font-size:11px;color:var(--dim);font-family:ui-monospace,monospace}.search-results{list-style:none;margin:6px 0 0;padding:0;background:var(--ink-raised);border:1px solid #2C2622;border-radius:8px;max-height:240px;overflow-y:auto}.search-results li+li{border-top:.5px solid var(--line)}.search-results button{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:9px 11px;display:grid;gap:2px}.search-results button:hover{background:#262019}.search-name{font-size:13px;color:var(--cream)}.search-address{font-size:11px;color:var(--muted)}.builder-beats-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.builder-seed{background:none;border:none;cursor:pointer;padding:0;font-size:11.5px;color:var(--amber)}.builder-seed:disabled{color:var(--dim);cursor:default}.builder-progress{margin:0;font-size:12px;color:var(--amber);font-family:ui-monospace,monospace}.builder-warn{margin:0;font-size:11.5px;line-height:1.55;color:#c4714a}.builder-toggle{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);cursor:pointer}.builder-toggle input{width:auto;accent-color:var(--amber)}.builder-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.builder-duration{margin:2px 0 0;font-size:12px;color:var(--amber);font-family:ui-monospace,monospace}.field{display:grid;gap:4px;flex:1;min-width:0}.field>span{font-size:10.5px;letter-spacing:.08em;color:var(--dim)}.builder-list li.editing{background:#221c16}.builder-list-open{flex:1;text-align:left;background:none;border:none;cursor:pointer;padding:0;font-size:12.5px;color:var(--warm)}.builder-list-open:hover{color:var(--amber)}.photos{display:grid;gap:8px}.photo-pick{display:block;cursor:pointer}.photo-pick input{display:none}.photo-pick span{display:block;text-align:center;padding:10px;border:1px dashed #3A322C;border-radius:8px;font-size:12.5px;color:var(--muted)}.photo-pick:hover span{border-color:#4a3f37;color:var(--warm)}.photo-strip{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}.photo-strip figure{margin:0;position:relative;flex:0 0 auto}.photo-strip img{display:block;width:62px;height:62px;object-fit:cover;border-radius:5px;background:var(--ink-raised)}.photo-strip figcaption{margin-top:3px;font-size:10px;color:var(--dim);font-family:ui-monospace,monospace;text-align:center}.photo-strip figure>button{position:absolute;top:2px;right:2px;width:16px;height:16px;line-height:1;border:none;border-radius:50%;cursor:pointer;background:#14110fcc;color:var(--warm);font-size:12px}.detail-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:5px;margin:0 0 20px}.detail-photo{padding:0;border:none;background:none;cursor:zoom-in;border-radius:5px;overflow:hidden;display:block}.detail-photos img{width:100%;aspect-ratio:1;object-fit:cover;display:block;border-radius:5px;background:var(--ink-raised);transition:transform .2s ease}.detail-photo:hover img{transform:scale(1.03)}@media (prefers-reduced-motion: reduce){.detail-photos img{transition:none}.detail-photo:hover img{transform:none}}.map-photo-pin{position:relative;display:flex;flex-direction:column;align-items:center;cursor:pointer}.map-photo-pin img{position:relative;z-index:1;width:46px;height:46px;object-fit:cover;display:block;border-radius:8px;border:2.5px solid #F5F0E8;background:#241c14;box-shadow:0 2px 7px #00000080}.map-photo-pin.stacked .map-photo-stack{position:absolute;z-index:0;top:-3px;left:4px;width:46px;height:46px;border-radius:8px;border:2.5px solid #F5F0E8;background:#3a2f22;box-shadow:0 2px 7px #00000080;transform:rotate(5deg)}.map-photo-pin .map-photo-count{position:absolute;z-index:3;top:-7px;right:-8px;min-width:20px;height:20px;padding:0 5px;box-sizing:border-box;border-radius:999px;background:#e8a33d;color:#14110f;font-size:12px;font-weight:700;line-height:20px;text-align:center;box-shadow:0 1px 3px #00000080}.map-photo-pin .map-photo-tail{width:0;height:0;margin-top:-1px;border-left:6px solid transparent;border-right:6px solid transparent;border-top:7px solid #F5F0E8;filter:drop-shadow(0 1px 1px rgba(0,0,0,.35))}.map-photo-pin.inferred img{opacity:.62;border-style:dashed}.map-photo-pin.inferred .map-photo-tail{opacity:.62}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0a0806eb;display:flex;align-items:center;justify-content:center;padding:4vh 4vw;cursor:zoom-out;animation:lightbox-in .16s ease}@keyframes lightbox-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.lightbox{animation:none}}.lightbox img{max-width:92vw;max-height:88vh;object-fit:contain;border-radius:6px;cursor:default;box-shadow:0 12px 48px #0009}.lightbox-close{position:fixed;top:12px;right:14px;z-index:1;width:40px;height:40px;border-radius:999px;border:none;cursor:pointer;color:#f5f0e8;background:#00000059;font-size:26px;line-height:1;display:flex;align-items:center;justify-content:center}.lightbox-close:hover{background:#0000008c}.lightbox-nav{position:fixed;top:50%;transform:translateY(-50%);z-index:1;width:44px;height:64px;border:none;cursor:pointer;color:#f5f0e8;background:#00000047;font-size:34px;line-height:1;display:flex;align-items:center;justify-content:center}.lightbox-nav:hover{background:#00000080}.lightbox-prev{left:0;border-radius:0 10px 10px 0}.lightbox-next{right:0;border-radius:10px 0 0 10px}.lightbox-count{position:fixed;bottom:16px;left:50%;transform:translate(-50%);z-index:1;color:#e4dacf;font-size:12.5px;letter-spacing:.08em;background:#00000059;border-radius:999px;padding:5px 12px}@media (max-width: 640px){.lightbox-nav{width:36px;height:52px;font-size:26px;background:#0003}}.placing{background:#241c14;border:1px solid #4A3A22;border-radius:8px;padding:10px 11px;display:grid;gap:8px}.placing p{margin:0;font-size:12px;line-height:1.6;color:var(--warm)}.placing p button{background:none;border:none;cursor:pointer;color:var(--dim);font-size:11.5px;margin-left:6px}.placing-waypoints{display:flex;flex-wrap:wrap;gap:6px}.placing-waypoints button{background:none;border:1px solid #4A3A22;border-radius:999px;padding:4px 10px;cursor:pointer;font-size:11.5px;color:var(--amber)}.placing-waypoints button:hover{background:#2e2418}.photo-strip figure.placing-target img{outline:2px solid var(--amber);outline-offset:1px}.photo-locate{position:absolute;bottom:20px;left:2px;border:none;border-radius:4px;cursor:pointer;background:#e8a33de6;color:#14110f;font-size:10px;padding:2px 5px;line-height:1.3}.local-banner{margin:0 0 18px;padding:9px 11px;background:#241c14;border:1px solid #4A3A22;border-radius:8px;font-size:11.5px;line-height:1.6;color:var(--muted)}.local-banner a{color:var(--amber);margin-left:6px}.comment-his .comment-who{color:#6e8fa8}.comment-hers .comment-who{color:#c98a6b}.comment-as{display:flex;align-items:center;gap:5px;margin-top:10px;font-size:11px;color:var(--dim)}.comment-as select{background:none;border:1px solid #2C2622;border-radius:6px;padding:3px 6px;color:var(--warm);font-size:11px}.places{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-wrap:wrap;gap:6px}.places li{font-size:12px;padding:4px 10px;border-radius:999px;background:var(--ink-raised);color:var(--warm)}.thread-places{font-size:12px;color:var(--amber)}.unnamed{display:grid;gap:8px}.unnamed-list{display:flex;flex-wrap:wrap;gap:6px}.unnamed-list button{background:none;border:1px dashed #3A322C;border-radius:999px;padding:4px 10px;cursor:pointer;font-size:11.5px;color:var(--muted)}.unnamed-list button.active{border-style:solid;border-color:#4a3a22;color:var(--amber)}.naming{display:grid;gap:8px}.naming-candidates{display:flex;flex-wrap:wrap;gap:6px}.naming-candidates button{background:var(--ink-raised);border:1px solid #2C2622;border-radius:8px;padding:6px 10px;cursor:pointer;font-size:12px;color:var(--warm);display:inline-flex;gap:7px;align-items:baseline}.naming-candidates button:hover{border-color:#4a3f37}.naming-candidates em{font-style:normal;font-size:10.5px;color:var(--dim);font-family:ui-monospace,monospace}.naming-hint{margin:0;font-size:11.5px;line-height:1.6;color:var(--muted)}.naming-hint button{background:none;border:none;cursor:pointer;font-size:11.5px;color:var(--dim);margin-left:6px}.unnamed-list button.named{border-style:solid;border-color:#2c2622;color:var(--warm)}.naming-current{margin:0;font-size:12px;color:var(--warm)}.naming-current button{background:none;border:none;cursor:pointer;font-size:11.5px;color:#c4714a;margin-left:8px}.builder-restore{cursor:pointer}.builder-restore input{display:none}.builder-restore span{display:inline-block;border:1px solid #2C2622;border-radius:8px;padding:8px 12px;font-size:12.5px;color:var(--warm)}.builder-restore:hover span{border-color:#4a3f37}.map-wrap{position:relative;flex:1;min-height:46vh}.map{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--ink)}.map-status{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;text-align:center;pointer-events:none}.map-status p{margin:0;font-size:13.5px;line-height:1.7;color:var(--muted)}.map-status span{font-size:12px;color:var(--dim)}@media (max-width: 859px){.app{position:relative}.map-wrap{position:absolute;top:0;right:0;bottom:0;left:0;min-height:0;flex:none}.panel{position:fixed;left:0;right:0;bottom:0;z-index:20;height:90dvh;max-height:none;background:var(--ink);border-top:none;border-radius:18px 18px 0 0;box-shadow:0 -10px 34px #0000008c;transition:transform .34s cubic-bezier(.22,.61,.36,1);will-change:transform}.panel.dragging{transition:none}.sheet-head{display:flex;align-items:center;justify-content:center;flex:0 0 auto;height:26px;padding-top:8px;touch-action:none;cursor:grab}.sheet-head:active{cursor:grabbing}.sheet-grip{width:40px;height:4px;border-radius:2px;background:#4a423b}.sheet-body{padding:6px 16px calc(24px + env(safe-area-inset-bottom));overscroll-behavior:contain}.gate{padding:24px 20px}.gate-headline{font-size:23px}.detail-title{font-size:21px}.detail-photos{grid-template-columns:repeat(auto-fill,minmax(78px,1fr))}.thread{padding:12px 0}.comment-form input,.gate-form input{font-size:16px}.comment-form button{padding:8px 4px}.builder{flex-direction:column}.builder-map{display:none}.builder-panel{width:100%;flex:1 1 auto;border-left:none}.builder-panel:before{content:"编辑器需要在电脑上用 —— 手机上画不了路线。";display:block;padding:12px;margin-bottom:8px;background:#241c14;border:1px solid #4A3A22;border-radius:8px;font-size:12.5px;line-height:1.6;color:var(--warm)}}.months{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 20px}.months button{background:var(--ink-raised);border:1px solid #3A322C;border-radius:999px;padding:6px 13px;cursor:pointer;font-size:12.5px;color:var(--muted);line-height:1}.months button:hover{border-color:#4a3f37;color:var(--warm)}.months button.on{background:#3a2a14;border-color:#7a5a24;color:var(--amber)}.summary-headline{font-variant-numeric:tabular-nums}.replay{background:none;border:none;cursor:pointer;padding:0;font-size:12px;color:var(--amber);margin-left:10px}.replay:hover{text-decoration:underline}.regions{margin-bottom:8px}.regions button em{font-style:normal;margin-left:6px;font-size:11px;color:var(--dim);font-family:ui-monospace,monospace}.regions button.on em{color:var(--amber)}.row-drop{flex:0 0 auto;background:none;border:none;cursor:pointer;color:var(--dim);font-size:15px;padding:0 4px;line-height:1}.row-drop:hover{color:#c4714a}.comment-failure{margin:8px 0 0;font-size:12px;color:#c77b68}.comment-status{margin:2px 0 10px;font-size:12px;color:var(--dim)}.comment-retry{background:none;border:none;cursor:pointer;color:var(--amber);font-size:12px;padding:0 0 0 6px}.list-status{padding:44px 6px;text-align:center;color:var(--muted);font-size:13.5px}.list-status p{margin:0}.list-status .comment-retry{font-size:13.5px}.lock-now{position:fixed;z-index:30;left:50%;transform:translate(-50%);bottom:calc(54vh + 34px);width:52px;height:52px;display:grid;place-items:center;background:#1e1a17db;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:.5px solid var(--line);border-radius:50%;color:var(--muted);cursor:pointer;padding:0;box-shadow:0 3px 14px #0006;transition:color .15s,border-color .15s,transform .15s}.lock-now:hover{color:var(--amber);border-color:#4a3f37;transform:translate(-50%) translateY(-1px)}.lock-now:active{transform:translate(-50%) scale(.94)}@media (min-width: 860px){.lock-now{left:calc((100% - 400px)/2);bottom:28px}}@media (prefers-reduced-motion: reduce){.lock-now,.lock-now:hover,.lock-now:active{transition:none}}@media (max-width: 859px){.summary-sub{margin-bottom:14px}.months{margin-bottom:12px}.months button{padding:9px 14px}.lock-now{left:auto;right:14px;transform:none;top:calc(14px + env(safe-area-inset-top));bottom:auto}.lock-now:hover{transform:translateY(1px)}.lock-now:active{transform:scale(.94)}}.to-draw{margin-left:12px;font-size:12px;color:var(--dim);text-decoration:none}.to-draw:hover{color:var(--amber)}.photo-strip figure.uploading img{opacity:.45}.photo-strip figure.upload-failed img{opacity:.4;filter:grayscale(1)}.photo-status{position:absolute;left:4px;top:4px;padding:2px 6px;border-radius:5px;background:#14110fd1;font-size:10px;color:var(--warm)}.photo-status.err{color:#e8927b}
