@font-face{font-family:TsangerJinKai;src:url(/fonts/TsangerJinKai-W04.woff2)format("woff2");unicode-range:U+4E00-9FFF,U+3000-303F,U+FF00-FFEF;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#fff;--foreground:#1c1b19;--accent:#2c5fb6;--font-serif:"TsangerJinKai", var(--font-shippori), Georgia, Cambria, "Songti SC", STSong, "Noto Serif CJK SC", "Source Han Serif SC", serif;--font-sans:var(--font-geist-sans), ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono:var(--font-geist-mono), ui-monospace, "SF Mono", Menlo, monospace}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{height:100%}html,body{max-width:100vw;overflow-x:clip}body{min-height:100%;color:var(--foreground);background:var(--background);font-family:var(--font-serif);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;flex-direction:column;line-height:1.65;display:flex}:lang(zh){text-spacing:auto;hanging-punctuation:allow-end}a{color:var(--accent);text-decoration:none}button,input,textarea,select{font-family:inherit}::selection{background:#2c5fb629}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.desk{--canvas:#fff;--surface:#fff;--inset:#f5f4f1;--ink:#1c1b19;--muted:#6a6a67;--faint:#9c9b97;--line:#eceae5;--signal:#2c5fb6;--signal-soft:#2c5fb61a;--danger:#b23b2e;--danger-soft:#b23b2e17;--danger-bg:#b23b2e12;--btn-bg:#2c5fb6;--btn-fg:#fff;--btn-bg-hover:#24509c;--shadow:0 1px 2px #1c1b190a, 0 14px 34px -24px #1c1b1938;--sans:var(--font-sans);--mono:var(--font-mono);background:var(--canvas);width:100%;color:var(--ink);font-family:var(--font-serif);flex:1}.wrap{max-width:1440px;margin:0 auto;padding:0 clamp(20px,4vw,48px) 96px}.masthead{z-index:20;background:var(--canvas);border-bottom:1px solid var(--line);will-change:transform;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:clamp(20px,3vw,32px);padding:clamp(24px,4vw,40px) 0 18px;transition:transform .34s cubic-bezier(.22,.61,.36,1),opacity .24s;display:flex;position:sticky;top:0}.masthead.hidden{opacity:0;pointer-events:none;transform:translateY(-100%)}.masthead-lead{align-items:center;gap:14px;min-width:0;display:flex}.voice-dot{background:var(--signal);border-radius:50%;width:6px;height:6px}.compose{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:clamp(20px,4vw,28px)}.field{display:block}.field+.field{margin-top:18px}.field-label{font-family:var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-bottom:8px;font-size:11px;display:block}.input{width:100%;font-family:var(--font-serif);color:var(--ink);background:var(--canvas);border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-size:16px;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:var(--faint)}.input:focus{border-color:var(--signal);box-shadow:0 0 0 3px var(--signal-soft);outline:none}.textarea{resize:vertical;min-height:168px;line-height:1.7}.compose-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:20px;display:flex}.modal-panel{flex-direction:column;min-height:410px;display:flex}.modal-panel .compose-foot{margin-top:auto}.readout{font-family:var(--sans);color:var(--faint);font-size:12.5px}.foot-actions{align-items:center;gap:14px;margin-left:auto;display:flex}.inline-error{color:var(--danger);max-width:320px;font-size:14px}.btn{font-family:var(--font-serif);cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:11px 18px;font-size:15px;font-weight:500;line-height:1;transition:background .15s,border-color .15s,color .15s,transform 50ms;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary{background:var(--btn-bg);color:var(--btn-fg)}.btn-primary:hover:not(:disabled){background:var(--btn-bg-hover)}.btn-ghost{border-color:var(--line);color:var(--ink);background:0 0}.btn-ghost:hover{border-color:var(--muted)}.btn-open{border-color:var(--line);color:var(--ink);background:0 0;padding:9px 16px}.btn-open:hover{border-color:var(--signal);color:var(--signal)}.btn-open .play{color:var(--signal)}.btn-quiet{color:var(--muted);background:0 0;padding:9px 12px}.btn-quiet:hover:not(:disabled){color:var(--ink)}.btn-danger{background:var(--danger-soft);color:var(--danger);padding:9px 14px}.btn-danger:hover:not(:disabled){border-color:var(--danger)}.btn-icon{color:var(--faint);background:0 0;border-radius:9px;padding:9px}.btn-icon:hover{color:var(--danger);background:var(--danger-soft)}.library{margin-top:0}.section-count{font-family:var(--sans);color:var(--faint);font-size:12.5px}.notice{color:var(--danger);margin-bottom:14px;font-size:14px}.list{flex-direction:column;gap:14px;list-style:none;display:flex}.item{background:var(--surface);border:1px solid var(--line);border-radius:12px;align-items:center;gap:20px;padding:18px 20px;transition:border-color .15s,box-shadow .15s;display:flex}.item:hover{box-shadow:var(--shadow);border-color:#e0ddd6}.item-main{flex:1;min-width:0}.item-title{font-family:var(--font-serif);letter-spacing:-.005em;text-overflow:ellipsis;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:20px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.item-meta{font-family:var(--sans);color:var(--faint);margin-top:6px;font-size:12.5px}.item-meta .dot{margin:0 7px}.scrubber{align-items:center;gap:12px;margin-top:14px;display:flex}.track{background:var(--inset);border-radius:999px;flex:1;height:4px;position:relative}.fill{background:var(--signal);border-radius:999px;min-width:0;height:100%;position:absolute;inset:0 auto 0 0}.playhead{background:var(--signal);border-radius:2px;width:2px;height:12px;position:absolute;top:50%;transform:translate(-50%,-50%)}.pct{font-family:var(--sans);color:var(--muted);text-align:right;flex:none;min-width:42px;font-size:12px}.item-actions{flex:none;align-items:center;gap:8px;display:flex}.confirm{align-items:center;gap:6px;display:flex}.empty{text-align:center;border:1px dashed var(--line);background:var(--surface);border-radius:14px;padding:clamp(44px,9vw,76px) 24px}.wave{justify-content:center;align-items:center;gap:3px;height:46px;margin-bottom:22px;display:flex;-webkit-mask-image:linear-gradient(90deg,#0000,#000 22% 78%,#0000);mask-image:linear-gradient(90deg,#0000,#000 22% 78%,#0000)}.wave span{background:var(--signal);opacity:.4;border-radius:2px;width:3px;min-height:3px}.empty-title{font-family:var(--font-serif);font-size:20px;font-weight:600}.empty-body{max-width:400px;color:var(--muted);margin:10px auto 0;font-size:15px;line-height:1.65}.panel{text-align:center;border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:40px 24px}.panel-title{font-family:var(--font-serif);font-size:18px;font-weight:600}.panel-body{color:var(--muted);margin:8px 0 18px;font-size:15px}.skeleton{pointer-events:none}.sk{background:var(--inset);border-radius:6px}.sk-title{width:42%;height:18px}.sk-meta{width:28%;height:12px;margin-top:12px}.sk-bar{border-radius:999px;width:100%;height:4px;margin-top:18px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:560px){.item{flex-direction:column;align-items:stretch;gap:16px}.item-actions{justify-content:flex-end}}@media (prefers-reduced-motion:reduce){.btn,.input,.item,.card,.masthead{transition:none}}.masthead-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.gallery{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:18px;display:grid}.cardwrap{position:relative}.card{aspect-ratio:2/3;border:1px solid var(--line);background:var(--surface);color:inherit;border-radius:12px;flex-direction:column;transition:border-color .15s,box-shadow .15s,transform 50ms;display:flex;overflow:hidden}.card:hover{box-shadow:var(--shadow);border-color:#e0ddd6}.card:active{transform:translateY(1px)}.cardwrap.pinned .card{border-color:var(--accent)}.card-preview{min-height:0;font-family:var(--font-serif);color:var(--muted);word-break:break-word;flex:1;padding:18px 18px 6px;font-size:14px;line-height:1.8;overflow:hidden;-webkit-mask-image:linear-gradient(#000 60%,#0000);mask-image:linear-gradient(#000 60%,#0000)}.card-preview:has(.card-cover){padding:0;-webkit-mask-image:none;mask-image:none}.card-cover{object-fit:cover;width:100%;height:100%;display:block}.card-foot{border-top:1px solid var(--line);background:var(--surface);flex:none;padding:12px 16px 15px}.card-title{font-family:var(--font-serif);letter-spacing:-.005em;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:600;line-height:1.3;overflow:hidden}.card-meta{font-family:var(--sans);color:var(--faint);margin-top:4px;font-size:11.5px}.card-bar{background:var(--inset);border-radius:999px;height:3px;margin-top:10px;overflow:hidden}.card-bar span{background:var(--signal);border-radius:999px;height:100%;display:block}.card-menu-btn{border:1px solid var(--line);background:var(--surface);width:30px;height:30px;color:var(--faint);cursor:pointer;opacity:0;border-radius:8px;justify-content:center;align-items:center;transition:opacity .15s,color .15s,border-color .15s;display:inline-flex;position:absolute;top:8px;right:8px}.cardwrap:hover .card-menu-btn,.card-menu-btn:focus-visible,.card-menu-btn[aria-expanded=true],.cardwrap.pinned .card-menu-btn{opacity:1}.card-menu-btn:hover{color:var(--ink);border-color:var(--muted)}.card-menu{z-index:5;background:var(--surface);border:1px solid var(--line);min-width:132px;box-shadow:var(--shadow);border-radius:10px;flex-direction:column;padding:5px;display:flex;position:absolute;top:42px;right:8px}.card-menu-item{text-align:left;color:var(--ink);font-family:var(--sans);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:8px 10px;font-size:13px;transition:background .12s,color .12s}.card-menu-item:hover{background:var(--inset)}.card-menu-item.danger{color:var(--danger)}.card-menu-item.danger:hover{background:var(--danger-bg)}.card-overlay{z-index:6;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);transform-origin:50%;border-radius:12px;flex-direction:column;justify-content:center;gap:14px;padding:20px;animation:.16s cubic-bezier(.22,.61,.36,1) card-overlay-in;display:flex;position:absolute;inset:0}@keyframes card-overlay-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.card-overlay{animation:none}}.card-overlay-label{font-family:var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);font-size:11px;font-weight:500}.card-rename-input{width:100%;font-family:var(--font-serif);color:var(--ink);background:var(--canvas);border:1px solid var(--line);border-radius:9px;padding:10px 12px;font-size:15px;transition:border-color .15s,box-shadow .15s}.card-rename-input:focus{border-color:var(--signal);box-shadow:0 0 0 3px var(--signal-soft);outline:none}.card-overlay-prompt{text-align:center}.card-overlay-title{font-family:var(--font-serif);color:var(--ink);-webkit-line-clamp:3;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:16px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.card-overlay-note{font-family:var(--sans);color:var(--muted);margin-top:6px;font-size:12px;line-height:1.45}.card-overlay-actions{gap:8px;display:flex}.card-overlay-rename .card-overlay-actions{justify-content:flex-end}.card-overlay-delete .card-overlay-actions{justify-content:center}.card-btn{font-family:var(--sans);cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;padding:8px 14px;font-size:13px;font-weight:500;line-height:1;transition:background .15s,border-color .15s,color .15s,transform 50ms;display:inline-flex}.card-btn:disabled{opacity:.45;cursor:not-allowed}.card-btn:active:not(:disabled){transform:translateY(1px)}.card-btn-primary{background:var(--btn-bg);color:var(--btn-fg)}.card-btn-primary:hover:not(:disabled){background:var(--btn-bg-hover)}.card-btn-quiet{color:var(--muted);background:0 0}.card-btn-quiet:hover:not(:disabled){color:var(--ink);background:var(--inset)}.card-btn-danger{background:var(--danger-soft);color:var(--danger)}.card-btn-danger:hover:not(:disabled){border-color:var(--danger)}.modal{border:1px solid var(--line);background:var(--surface);width:min(560px,100vw - 32px);max-height:calc(100dvh - 48px);color:var(--ink);border-radius:16px;margin:auto;padding:0;box-shadow:0 24px 60px -20px #1c1b1966}.modal::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1c1b1952}.modal-inner{padding:clamp(20px,4vw,28px)}.modal-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:18px;display:flex}.modal-title{font-family:var(--font-serif);font-size:21px;font-weight:600}.modal-close{color:var(--faint);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:22px;line-height:1}.modal-close:hover{color:var(--ink)}.modal-tabs{border-bottom:1px solid var(--line);gap:4px;margin-bottom:20px;display:flex}.modal-tab{appearance:none;font-family:var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 12px;font-size:12px;transition:color .15s,border-color .15s}.modal-tab:hover{color:var(--ink)}.modal-tab.active{color:var(--signal);border-bottom-color:var(--signal)}.kind-tag{border:1px solid var(--line);background:var(--inset);font-family:var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);border-radius:999px;margin-bottom:7px;padding:2px 8px;font-size:9.5px;font-weight:500;line-height:1.5;display:inline-block}.signin{flex:1;justify-content:center;align-items:center;padding:24px;display:flex}.signin-card{text-align:center;border:1px solid var(--line);background:var(--surface);width:min(400px,100%);box-shadow:var(--shadow);border-radius:16px;flex-direction:column;align-items:center;gap:12px;padding:clamp(28px,6vw,44px);display:flex}.signin-card .voice-dot{width:10px;height:10px}.signin-title{font-family:var(--font-serif);font-size:26px;font-weight:600}.signin-sub{color:var(--muted);margin-top:-4px;font-size:15px}.signin-error{color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger-soft);border-radius:10px;margin-top:4px;padding:10px 14px;font-size:14px}.signin form{margin-top:6px}.account{align-items:center;gap:8px;display:inline-flex}.account-email{font-family:var(--sans);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:12.5px;overflow:hidden}
