:root{--paper: #f2efe8;--raised: #fbf9f5;--ink: #21242a;--ink-2: #565a61;--mist: #928d84;--hair: rgba(33, 36, 42, .11);--hair-2: rgba(33, 36, 42, .2);--sound: #b0463a;--sound-soft: rgba(176, 70, 58, .14);--me: #46604f;--serif: "Songti SC", "STSong", "Source Han Serif SC", "Noto Serif CJK SC", serif;--sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif}@media(prefers-color-scheme:dark){:root{--paper: #15171b;--raised: #1e2126;--ink: #e9e6df;--ink-2: #a6a29a;--mist: #6b6760;--hair: rgba(233, 230, 223, .13);--hair-2: rgba(233, 230, 223, .24);--sound: #d2604f;--sound-soft: rgba(210, 96, 79, .18);--me: #7d9a84}}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}button,input{font:inherit;color:inherit}svg{display:block}.map{position:fixed;inset:0;background:var(--paper)}.amap-container{filter:saturate(.32)}@media(prefers-color-scheme:dark){.amap-container{filter:saturate(.35) brightness(.55)}}.amap-logo,.amap-copyright{opacity:.42;transform:scale(.85);transform-origin:left bottom}.mark{position:fixed;top:calc(14px + env(safe-area-inset-top));left:18px;z-index:20;pointer-events:none}.mark p{margin:0}.mark-name{font-family:var(--serif);font-size:16px;letter-spacing:.14em;text-indent:.14em}.mark-place{margin-top:2px!important;font-size:10.5px;color:var(--mist);letter-spacing:.22em;text-indent:.22em}.pin{position:relative;width:46px;height:46px;display:grid;place-items:center;padding:0;border:0;background:none;cursor:pointer}.pin-core{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--sound);box-shadow:0 0 0 2.5px var(--paper)}.pin-ring{position:absolute;border:1px solid var(--sound);border-radius:50%}.pin-count{position:absolute;top:1px;right:1px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--sound);color:#fff;font-size:10px;line-height:16px;font-variant-numeric:tabular-nums}.pin.active .pin-core{width:11px;height:11px}.pin.playing:after{content:"";position:absolute;width:20px;height:20px;border:1px solid var(--sound);border-radius:50%;animation:ripple 2s ease-out infinite}@keyframes ripple{0%{transform:scale(.9);opacity:.75}to{transform:scale(2.8);opacity:0}}.me-dot{width:13px;height:13px;border-radius:50%;background:var(--me);box-shadow:0 0 0 2.5px var(--paper)}.panel{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:0 20px calc(18px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid transparent;transition:border-color .2s}.panel[data-state=listen],.panel[data-state=record]{background:var(--raised);border-top-color:var(--hair);border-radius:18px 18px 0 0}.pane{display:none;padding-top:16px}.panel[data-state=idle] .pane[data-pane=idle],.panel[data-state=listen] .pane[data-pane=listen],.panel[data-state=record] .pane[data-pane=record]{display:block}.status{margin:0;font-size:12px;color:var(--mist);letter-spacing:.05em;font-variant-numeric:tabular-nums;text-align:center;min-height:18px}.status.error{color:var(--sound)}.empty{margin:10px auto 0;max-width:280px;font-size:13px;line-height:1.65;color:var(--ink-2);text-align:center;letter-spacing:.03em}.pane-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.pane-head-text{min-width:0}.pane-head h2{margin:0;font-family:var(--serif);font-size:22px;font-weight:500;letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pane-head-text>p{margin:5px 0 0;font-size:12px;color:var(--mist);letter-spacing:.06em;font-variant-numeric:tabular-nums}.pane-close{flex:none;width:34px;height:34px;display:grid;place-items:center;margin:-4px -6px 0 0;padding:0;border:0;background:none;color:var(--mist);cursor:pointer}.note{margin:12px 0 0;font-size:14px;color:var(--ink-2);line-height:1.7;max-height:4.5em;overflow-y:auto}.play{display:flex;align-items:center;gap:12px;margin-top:16px}.play-btn{flex:none;width:44px;height:44px;display:grid;place-items:center;padding:0;border:1px solid var(--sound);border-radius:50%;background:transparent;color:var(--sound);cursor:pointer}.play-btn svg{margin-left:2px}.play-btn.on svg{margin-left:0}.track{position:relative;flex:1;height:20px;display:flex;align-items:center;cursor:pointer}.track:after{content:"";position:absolute;left:0;right:0;height:2px;background:var(--hair-2);border-radius:999px}.track-fill{position:relative;z-index:1;width:0;height:2px;background:var(--sound);border-radius:999px}.time{flex:none;font-size:11.5px;color:var(--mist);font-variant-numeric:tabular-nums;letter-spacing:.03em}.layers{margin-top:16px}.layers-label{margin:0 0 2px;font-size:11px;color:var(--mist);letter-spacing:.1em}.layers-list{list-style:none;margin:0;padding:0;max-height:152px;overflow-y:auto}.layers-list button{width:100%;display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:10px 0;border:0;border-bottom:1px solid var(--hair);background:none;text-align:left;color:var(--ink-2);cursor:pointer;font-size:14px}.layers-list button.on{color:var(--sound)}.layers-list .when{flex:none;font-size:11px;color:var(--mist);font-variant-numeric:tabular-nums}.take{flex:none;width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--hair-2);border-radius:50%;color:var(--ink-2);text-decoration:none}.take[aria-disabled=true]{opacity:.4;pointer-events:none}.rec-state{margin:0;font-size:11px;color:var(--mist);letter-spacing:.16em}.rec-clock{margin:4px 0 0!important;font-family:var(--serif);font-size:32px!important;line-height:1.15;color:var(--ink)!important;font-variant-numeric:tabular-nums}.rec-wave{display:flex;align-items:center;gap:3px;height:28px;margin:12px 0 4px}.rec-wave i{flex:1;min-width:2px;height:2px;background:var(--sound);border-radius:999px;opacity:.6;transition:height .08s linear}.line-input{display:block;width:100%;margin-top:10px;padding:8px 0;border:0;border-bottom:1px solid var(--hair-2);background:none;font-size:14.5px;outline:none}.line-input::placeholder{color:var(--mist);opacity:.75}.line-input:focus{border-bottom-color:var(--sound)}.controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;max-width:300px;margin:16px auto 0}.controls .icon-btn{justify-self:center}.panel[data-state=record] .icon-btn{opacity:.3;pointer-events:none}.icon-btn{width:42px;height:42px;display:grid;place-items:center;padding:0;border:1px solid var(--hair-2);border-radius:50%;background:var(--raised);color:var(--ink-2);cursor:pointer;transition:color .15s,border-color .15s,opacity .2s}.icon-btn:active{color:var(--ink);border-color:var(--ink-2)}.icon-btn[aria-disabled=true]{color:var(--mist);border-color:var(--hair)}.rec{width:64px;height:64px;display:grid;place-items:center;padding:0;border:1.5px solid var(--sound);border-radius:50%;background:var(--raised);cursor:pointer;transition:border-color .2s}.rec-dot{width:26px;height:26px;border-radius:50%;background:var(--sound);transition:width .22s,height .22s,border-radius .22s}.rec:disabled{border-color:var(--hair-2);cursor:default}.rec:disabled .rec-dot{background:var(--hair-2)}.rec.on{animation:pulse 2.2s ease-out infinite}.rec.on .rec-dot{width:21px;height:21px;border-radius:5px}@keyframes pulse{0%{box-shadow:0 0 0 0 var(--sound-soft)}70%{box-shadow:0 0 0 13px transparent}to{box-shadow:0 0 0 0 transparent}}.toast{position:fixed;left:50%;bottom:calc(150px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:40;margin:0;padding:9px 17px;max-width:calc(100vw - 44px);border:1px solid var(--hair);border-radius:999px;background:var(--raised);font-size:13px;letter-spacing:.04em;white-space:nowrap}.toast[data-kind=error]{border-color:var(--sound);color:var(--sound);white-space:normal;text-align:center;line-height:1.45}@media(prefers-reduced-motion:reduce){*,*:after{animation:none!important;transition:none!important}}.me-edge{display:flex;align-items:center;gap:5px;padding:4px 9px 4px 7px;border:1px solid var(--hair-2);border-radius:999px;background:var(--raised);color:var(--me);white-space:nowrap}.me-edge-arrow{display:grid;place-items:center;width:11px;height:11px}.me-edge-dist{font-size:11px;color:var(--ink-2);letter-spacing:.04em;font-variant-numeric:tabular-nums}
