/* 拾帧 · D1 Graphite. Desktop design freeze: 1440 × 900. */
:root{
 --bg:#151719;--paper:#1d2023;--ink:#eef0ec;--muted:#a4aaa8;--line:#34393c;
 --accent:#d8b676;--on-accent:#201c15;--green:var(--accent);--lime:var(--accent);
 --side:#101214;--soft:#282723;--radius:8px;--surface-subtle:#181b1d;
 --surface-selected:#2a2822;--accent-hover:#e4c58c;--accent-border:#75664a;
 --ink-soft:#ccd0cc;--ink-faint:#929b96;--white:#f1f2ef;
 --rail-ink:#c0c6c2;--rail-muted:#929b96;--rail-hover:#25292b;--rail-line:#ffffff12;
 --focus:#d8b676;--focus-soft:#d8b67612;--danger:#efac9f;--danger-bg:#382824;
 --warning:#dbc393;--warning-bg:#2b2821;--warning-border:#504735;
 --shadow:none;--shadow-dialog:0 28px 100px #00000070;--backdrop:#050708b3;
 color-scheme:dark;
}
body{background:var(--bg);color:var(--ink);letter-spacing:0;font-size:13px}
::selection{background:var(--accent);color:var(--on-accent)}
.sidebar{width:202px;padding:31px 14px 22px;background:var(--side);border-right:1px solid var(--line)}
.brand{font-size:26px;letter-spacing:1px;gap:13px;margin:0 14px 48px}
.brand small{font:8px var(--font-mono);letter-spacing:1.8px;color:var(--rail-muted);margin-top:9px}
.brand-symbol{gap:4px;grid-template-columns:repeat(2,8px)}
.brand-symbol i{width:8px;height:8px;border-radius:0;background:var(--accent)}
.brand-symbol i:nth-child(2){opacity:.55}.brand-symbol i:last-child{opacity:.25}
.nav-caption{padding:0 14px;font-size:10px;letter-spacing:.5px;color:var(--rail-muted);margin-bottom:15px}
.rail-line{background:var(--line)}
.nav-item{border-radius:4px;min-height:45px;padding:11px 14px;margin-bottom:6px;gap:11px;font-size:12px;color:var(--rail-ink);border:1px solid transparent}
.nav-item.active{background:var(--soft);border-color:var(--accent-border);color:var(--accent);font-weight:550}
.nav-item:hover{background:var(--rail-hover);color:var(--white)}
.nav-icon{width:17px;height:17px;font-size:16px}.nav-tag{color:var(--accent);font-size:14px}
.nav-count,.active .nav-count{background:var(--rail-hover);color:var(--rail-ink);font-size:10px}
.credit-card{border:0;border-top:1px solid var(--line);border-radius:0;padding:20px 12px 0;background:transparent}
.credit-card .eyebrow{font-size:9px;color:var(--rail-muted)}
.credit-card p{font-size:14px;line-height:1.9;letter-spacing:0;color:var(--rail-ink);margin:11px 0 15px}
.subtle-link{border:0;padding:0;font-size:10px;color:var(--accent)}
.profile{border-top:1px solid var(--line);margin-top:24px;padding-top:19px}
.avatar{background:var(--soft);color:var(--accent);border:1px solid var(--accent-border);border-radius:4px;width:30px;height:32px}
.profile b{font-size:10px}.profile small{font-size:9px}.profile-arrow{color:var(--rail-muted)}
.app-shell{margin-left:202px}
.topbar{height:56px;padding:0 32px;background:var(--bg);border-bottom:1px solid var(--line)}
.topbar.is-scrolled{background:var(--side);box-shadow:none}
.breadcrumb{color:var(--muted);font-size:11px}.breadcrumb-divider{color:var(--line);margin:0 13px}.topbar strong{font-size:11px;font-weight:500}
.topbar-right{gap:16px}.quota-pill{font-size:10px;color:var(--muted)}.quota-pill b{font-size:13px;color:var(--ink)}.tiny-dot{background:var(--accent)}
.button{border-radius:4px;min-height:38px;font-size:11px;padding:9px 17px;letter-spacing:.03em}
.button.primary,.button.wechat-button{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.button.primary:hover:not(:disabled),.button.wechat-button:hover:not(:disabled){background:var(--accent-hover);color:var(--on-accent);border-color:var(--accent-hover);box-shadow:none}
.button.primary span{font-size:16px;color:var(--on-accent)}
.button.outline{background:transparent;border-color:var(--line);color:var(--ink-soft)}
.button.outline:hover:not(:disabled){background:var(--rail-hover);border-color:var(--ink-faint);color:var(--ink)}
.button.compact{font-size:10px;min-height:30px;padding:6px 10px;border-radius:4px}
.text-button{color:var(--muted);font-size:10px}.text-button:hover{color:var(--accent)}
main{max-width:1238px;padding:30px 32px 0;margin:auto}
.page-intro{margin-bottom:25px;align-items:center}
.overline{font:9px var(--font-ui);letter-spacing:1.4px;color:var(--muted);margin-bottom:10px}
h1{font-size:28px;line-height:1.4;font-weight:550;letter-spacing:-.6px;color:var(--ink)}
h1>span{color:var(--accent)}.page-intro p{font-size:11px;line-height:1.8;margin-top:8px;color:var(--muted)}
.intro-stamp{border:0;align-items:flex-end;padding:0;font-size:10px;color:var(--ink-faint);gap:4px}
.intro-stamp .frame-corner{display:none}.intro-stamp small{font:8px var(--font-mono);letter-spacing:2px;color:var(--accent)}
.workspace-grid{grid-template-columns:minmax(0,1fr) 250px;gap:22px;align-items:start}
.panel{border:1px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:none}
.composer{padding:22px 24px 20px}
.panel-heading{margin-bottom:16px;padding-bottom:15px;border-bottom:1px solid var(--line)}
.panel-heading h2{font-size:14px;font-weight:550}
.heading-with-number{gap:9px}.section-number{font:10px var(--font-mono);padding:0;background:transparent;border-radius:0;color:var(--accent)}
.privacy-note{font-size:9px;color:var(--muted)}.privacy-note>span{font-size:12px;color:var(--ink-faint)}
.platform-tabs{display:flex;gap:19px;margin-bottom:13px;padding:0;min-height:26px}
.platform-tab{font-size:10px;background:transparent;padding:3px 0 6px;border-radius:0;border-bottom:1px solid transparent;color:var(--muted)}
.platform-tab.active{background:transparent;border-bottom-color:var(--accent);color:var(--accent);font-weight:500}
.platform-tab:hover{background:transparent;color:var(--ink)}
.platform-dot{width:4px;height:4px}.platform-dot.wechat,.platform-dot.douyin{background:var(--ink-faint)}
.source-box{background:var(--surface-subtle);border:1px solid var(--line);border-radius:5px}
.source-box:hover{border-color:var(--ink-faint)}.source-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--focus-soft)}
.source-link-icon{top:14px;left:15px;font-size:19px;color:var(--accent)}
.source-box textarea{height:75px;min-height:75px;padding:12px 16px 6px 42px;font:12px/1.9 var(--font-ui);color:var(--ink-soft)}
.source-box textarea::placeholder{color:var(--ink-faint)}
.source-box-bottom{padding:5px 14px 9px}.source-box-bottom>span,.source-box-bottom .text-button{font-size:9px;color:var(--muted)}
.source-box-bottom .text-button:hover{color:var(--accent)}
.demo-strip{border:1px solid var(--line);background:var(--surface-subtle);border-radius:4px;padding:8px 11px;font-size:9px;line-height:1.7;color:var(--muted);margin-top:11px}
.demo-strip .text-button{font-size:9px;color:var(--accent);padding:2px 0}
.field-heading{margin:19px 0 11px}.field-heading h3{font-size:12px;font-weight:500}.field-heading>span{font-size:9px}
.mode-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.mode-card{min-height:93px;border-radius:5px;padding:12px;background:var(--surface-subtle);border-color:var(--line)}
.mode-card.selected{background:var(--surface-selected);border-color:var(--accent-border);box-shadow:none}
.mode-card:hover{background:var(--rail-hover);border-color:var(--ink-faint)}
.mode-icon{font-size:20px;height:20px;color:var(--accent)}
.mode-icon.text-icon{font-size:20px;line-height:1}.mode-icon.text-icon>span{font-size:13px}
.waveform i{background:var(--accent);width:2px}.mode-card b{font-size:11px;font-weight:500;margin:9px 0 4px}.mode-card small,.mode-card.unavailable small{font-size:9px;line-height:1.7;color:var(--muted)}
.radio-mark{width:11px;height:11px;border-radius:2px;right:10px;top:12px;border-color:var(--ink-faint)}
.selected .radio-mark{background:var(--accent);border-color:var(--accent)}
.selected .radio-mark:after{border-color:var(--on-accent);top:2px;left:2px;width:4px;height:3px}
.mode-card.unavailable{background:var(--surface-subtle);opacity:.65}.unavailable .radio-mark{border-color:var(--ink-faint)}
.rewrite-settings{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:11px;padding:9px 12px;border:1px solid var(--line);border-radius:4px;background:transparent}
.rewrite-settings label{font-size:10px;color:var(--muted)}
select,.rewrite-settings select,.status-select select{background:var(--surface-subtle);border:1px solid var(--line);border-radius:4px;color:var(--ink-soft);font-size:10px;min-height:30px;padding:5px 9px}
.consent{font-size:10px;gap:8px;line-height:1.8;margin-top:15px;color:var(--muted)}.consent input{width:12px;height:12px;accent-color:var(--accent);margin-top:3px}
.submit-row{margin-top:16px;padding-top:15px;border-top:1px solid var(--line);gap:18px}.submit-note b{font-size:10px;color:var(--ink-soft)}.submit-note small{font-size:9px;margin-top:4px;color:var(--muted)}
.submit-row>.button{min-width:137px;min-height:39px;font-size:11px;gap:28px}
.workflow-panel{padding:0 0 17px;border:1px solid var(--line);border-radius:7px;background:var(--surface-subtle);overflow:hidden}
.workflow-art{height:177px;min-height:177px;margin:0;padding:18px 17px 15px;border-bottom:1px solid var(--line)}
.frame-art{height:141px;padding:11px 12px;border:1px solid var(--line);border-radius:3px;background:var(--side);box-shadow:none}
.frame-label{font-size:6px;letter-spacing:1.3px;color:var(--rail-muted)}.frame-count{font-size:6px;color:var(--accent)}
.frame-focus{height:83px;margin:0 9px}.frame-focus:before,.frame-focus:after{width:19px;height:19px;border-color:var(--ink-faint);opacity:.8}
.frame-focus:before{top:12px}.frame-focus:after{bottom:10px}
.frame-play{width:33px;height:33px;border-color:var(--accent-border);border-radius:50%;font-size:9px;color:var(--accent)}
.edit-timeline{gap:5px}.timecode{font-size:6px;color:var(--rail-muted)}
.timeline-tracks{gap:3px;background:repeating-linear-gradient(to right,transparent 0 7px,var(--line) 7px 8px)}
.timeline-tracks i{border:0;background:var(--rail-hover);height:6px;border-radius:0}.timeline-tracks i:nth-child(2){background:var(--accent-border)}
.playhead,.playhead:before{background:var(--accent)}
.workflow-copy{padding:18px 19px 0}.workflow-copy .eyebrow{font-size:9px;color:var(--muted)}
.workflow-copy h2{font-size:18px;line-height:1.65;color:var(--ink);font-weight:450;letter-spacing:-.5px;margin:6px 0 22px}
.steps li{margin-bottom:19px;gap:11px}.steps li>span{font:8px var(--font-mono);border:1px solid var(--line);border-radius:2px;color:var(--accent);background:var(--surface-subtle);width:20px;height:20px}
.steps li:not(:last-child):after{left:9px;top:22px;height:26px;border-color:var(--line);opacity:1}
.steps b{font-size:10px;font-weight:500;color:var(--ink-soft)}.steps p{font-size:9px;color:var(--muted);margin-top:4px;line-height:1.8}
.retention-note{margin:0 19px;padding-top:14px;border-top:1px solid var(--line);gap:8px}.retention-note p,.retention-note small{font-size:9px;color:var(--muted)}.retention-note>span{font-size:18px;color:var(--accent)}
.recent-section{margin-top:26px}.list-heading{margin-bottom:13px;gap:15px}.list-heading h2{font-size:13px;font-weight:500}.list-heading span{font-size:10px;color:var(--muted)}
.list-heading>div{gap:14px}
.job-list{gap:0;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.job-list:has(.empty-state){border:0;overflow:visible}
.job-row{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:12px 16px;background:var(--paper);grid-template-columns:32px minmax(0,1fr) auto auto;gap:13px}
.job-row:last-child{border-bottom:0}.job-row:hover{background:var(--rail-hover);border-color:var(--line)}
.job-cover{width:30px;height:39px;border-radius:2px}.job-title{font-size:11px;font-weight:450}.job-details{font-size:9px;color:var(--muted);gap:12px}.job-state{color:var(--ink-soft);font-size:9px}.job-state.completed:before{color:var(--accent)}
.job-action{background:transparent;border:1px solid var(--line);color:var(--ink-soft);font-size:9px;border-radius:3px;padding:6px 10px;min-height:29px}.job-action:hover{background:var(--soft);color:var(--accent);border-color:var(--accent-border)}
.demo-inline,.demo-badge{border:1px solid var(--line);color:var(--muted);background:transparent;font-size:8px;padding:1px 4px;border-radius:2px}
.empty-state{background:var(--surface-subtle);border:1px dashed var(--line);border-radius:6px;min-height:96px}
.empty-symbol{background:var(--paper);border-color:var(--line);color:var(--accent);border-radius:3px;font-size:18px}.empty-state b{font-size:11px;color:var(--ink-soft)}.empty-state p{font-size:10px;color:var(--muted)}
footer{margin-top:25px;padding:18px 0 20px;font-size:9px;border-color:var(--line);color:var(--muted)}footer>span:first-child{font:8px var(--font-mono);letter-spacing:1.5px;color:var(--rail-muted)}footer .text-button{font-size:9px}.footer-links{gap:21px}
.category-tabs{gap:29px;margin:0 0 19px;border-color:var(--line)}.category-tabs button{font-size:12px;font-weight:400;padding:12px 1px}.category-tabs button.active{border-bottom-color:var(--accent);color:var(--accent);font-weight:500}.category-tabs button span{color:var(--muted);background:var(--rail-hover);font-size:9px;border-radius:2px}
.library-tools{padding:0 0 18px;border-bottom:1px solid var(--line);margin-bottom:16px}.status-select{font-size:10px}.search-box{background:var(--surface-subtle);border-color:var(--line);border-radius:4px;padding:7px 11px}.search-box input{font-size:10px;color:var(--ink);width:202px}.demo-caption{font-size:10px;margin-bottom:15px}
.membership-balance{padding:24px;gap:32px;border-radius:6px;background:var(--surface-subtle)}.membership-balance>div:first-child{min-width:184px;border-color:var(--line)}.membership-balance p strong{font:500 40px var(--font-ui);letter-spacing:-1px;color:var(--accent)}.membership-balance p{font-size:11px}.membership-balance h3{font-size:12px;font-weight:500}
.usage-grid{gap:0;border:1px solid var(--line);border-radius:6px;overflow:hidden}.usage-card{background:var(--paper);border:0;border-right:1px solid var(--line);border-radius:0;padding:21px}.usage-card:last-child{border-right:0}.usage-card>span{font-size:10px;color:var(--muted)}.usage-card strong{font-size:27px;font-weight:450;letter-spacing:-.5px;margin:10px 0 6px;color:var(--ink)}.usage-card small{font-size:9px}.usage-explanation{font-size:9px;margin-top:12px}
.plans{gap:18px}.plan-card{background:var(--surface-subtle);border:1px solid var(--line);border-radius:6px;padding:25px}.plan-card h2{font-size:19px;font-weight:500}.plan-card.featured{background:var(--paper);border-color:var(--accent-border)}.plan-price{color:var(--accent);font-size:27px;font-weight:450}.plan-price span{font-size:10px}.plan-card .plan-description{font-size:11px}.plan-card li{font-size:11px;color:var(--ink-soft);padding:5px 0}.plan-card li:before{color:var(--accent)}.plan-ribbon{background:var(--soft);color:var(--accent);font-size:9px;border-radius:0 0 0 3px}.eyebrow{font-size:9px;color:var(--muted)}
.ledger-row{border-color:var(--line);padding:14px 20px;font-size:11px}.ledger-delta{font-size:11px;color:var(--ink-soft)}.ledger-delta.negative{color:var(--accent)}.ledger-row small{font-size:9px;color:var(--muted)}
.result-topline{margin-bottom:19px}.result-topline+.page-intro{margin-bottom:21px}#result-title{font-size:25px;font-weight:500;letter-spacing:-.5px}
.copyright-banner{padding:12px 15px;border:1px solid var(--warning-border);background:var(--warning-bg);border-radius:4px;gap:10px}.copyright-banner strong{font-size:11px;font-weight:500}.copyright-banner small{font-size:9px;color:var(--warning)}.copyright-banner>span{width:16px;height:16px;font-size:10px}.copyright-banner a{color:var(--warning)}
.result-layout{grid-template-columns:minmax(0,1fr) 250px;gap:20px;margin-top:19px}.media-panel{padding:21px;grid-template-columns:132px minmax(0,1fr);gap:23px}.result-media{background:var(--side);border-radius:3px;border:1px solid var(--line)}.result-media video{max-height:235px;aspect-ratio:9/16;background:var(--side)}.media-details h2{font-size:15px;font-weight:500}.media-details>p{font-size:10px;margin:7px 0 18px}.result-save-buttons{flex-direction:row;gap:9px}.result-save-buttons .button{flex:1;min-height:38px;font-size:11px}.media-details .result-files{gap:6px;margin-top:17px}.extra-file{border:1px solid var(--line);background:var(--surface-subtle);border-radius:3px;padding:7px 10px;font-size:9px;color:var(--ink-soft)}.extra-file small{font-size:8px}.extra-file:hover{border-color:var(--accent-border);background:var(--soft)}
.result-usage-panel{padding:21px 20px}.result-usage-panel h2{font-size:13px;font-weight:500;margin:5px 0 10px}.result-usage-row{padding:11px 0}.result-usage-row span{font-size:9px}.result-usage-row strong{font-size:11px;font-weight:500;color:var(--ink)}.result-usage-panel>p{font-size:9px;line-height:1.9;margin-top:12px}
.result-text-grid{gap:20px;margin-top:19px}.text-panel{padding:19px 20px 12px}.text-panel-heading h2{font-size:12px;font-weight:500}.text-panel-heading{padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:0}.text-panel-heading>div{gap:10px}.word-count{font-size:9px;color:var(--muted)}.text-panel textarea{height:280px;min-height:260px;border:0;border-radius:0;background:transparent;font-size:12px;line-height:2.15;padding:16px 0 4px;color:var(--ink-soft);scrollbar-color:var(--ink-faint) transparent}.copy-status{font-size:9px;color:var(--accent);margin-top:4px}
.terms-document{max-width:900px;padding:29px 34px;border-radius:6px;background:var(--paper)}.terms-document h2{font-size:15px;font-weight:500;color:var(--ink);margin-top:26px}.terms-document p{font-size:12px;line-height:2;color:var(--ink-soft)}.terms-document strong{color:var(--ink);font-weight:500}.terms-document .terms-intro{background:var(--surface-subtle);color:var(--ink-soft);border:1px solid var(--line);border-radius:4px;padding:16px 19px}
dialog.modal{width:456px;padding:29px 30px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);box-shadow:var(--shadow-dialog);max-height:840px}
dialog::backdrop{background:var(--backdrop);backdrop-filter:blur(4px)}.close-dialog{color:var(--muted)}.close-dialog:hover{color:var(--ink);background:var(--rail-hover)}.modal h2{font-size:22px;font-weight:500;margin-top:10px}.modal>p{font-size:11px;color:var(--muted)}.auth-brand-mark i{background:var(--accent)}.auth-modal>.eyebrow{color:var(--rail-muted);font-size:8px;letter-spacing:1.6px}
.wechat-login{border:1px solid var(--line);border-radius:5px;background:var(--surface-subtle);padding:17px 17px 15px;margin-top:21px}.wechat-login h3{font-size:14px;font-weight:450;color:var(--ink)}.wechat-login p{font-size:10px;color:var(--muted)}.wechat-login>small{font-size:9px;color:var(--muted)}.wechat-login>small a{color:var(--ink-soft)}.wechat-bubbles i{background:var(--accent)}.wechat-bubbles i:last-child{background:var(--accent-hover);border-color:var(--surface-subtle)}.wechat-login .demo-badge{color:var(--accent);border-color:var(--accent-border)}
.authorization-card{background:var(--paper);border-color:var(--line);color:var(--ink-soft);border-radius:4px}.authorization-card strong{color:var(--ink-soft)}.authorization-card p,.authorization-card span{color:var(--muted)}
.password-login>summary{color:var(--muted);font-size:10px}.password-login>summary:hover{background:var(--surface-subtle);color:var(--accent)}.auth-tabs{border-color:var(--line)}.auth-tabs button{color:var(--muted);font-size:11px}.auth-tabs button.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:500}.auth-modal form>label{font-size:10px;color:var(--ink-soft)}.auth-modal input{background:var(--surface-subtle);border-color:var(--line);border-radius:4px;color:var(--ink);font-size:12px}.auth-modal input::placeholder{font-size:10px;color:var(--muted)}.password-visibility{font-size:9px;color:var(--muted)}.auth-footnote{font-size:9px!important}
.help-modal li{font-size:12px;line-height:1.9;color:var(--ink-soft)}.help-modal li:before{background:var(--soft);color:var(--accent);border:1px solid var(--accent-border);font-size:8px;border-radius:2px}.help-modal>p{font-size:10px}.toast{background:var(--paper);border:1px solid var(--accent-border);color:var(--ink);border-radius:5px;font-size:11px;padding:11px 19px;box-shadow:var(--shadow-dialog)}.form-error{color:var(--danger);background:var(--danger-bg);border-color:var(--danger-bg);border-radius:4px;font-size:11px}.button.disabled{background:var(--surface-subtle);color:var(--muted);border-color:var(--line)}
.preview-note{background:var(--side);border-color:var(--line);color:var(--muted);font-size:9px;padding:5px 16px}.preview-note a{color:var(--accent)}
.video-time-ruler{background:var(--side);color:var(--rail-muted)}.video-time-ruler i:after{background:var(--accent)}
.mode-card.selected .radio-mark{background:var(--accent);border:1px solid var(--accent);box-shadow:none;color:var(--on-accent)}
.mode-card.selected .radio-mark:after{content:"";position:absolute;border:solid var(--on-accent);border-width:0 0 1.5px 1.5px;width:4px;height:3px;top:2px;left:2px;transform:rotate(-45deg);color:var(--on-accent)}
@media(min-width:761px){.mobile-menu{display:none}.sidebar{transform:none;visibility:visible;height:100dvh;inset:0 auto 0 0;flex-direction:column}.sidebar nav{display:block}.app-shell{padding-top:0}.nav-caption{display:flex}.sidebar-bottom{display:block}.credit-card{display:block}.profile{display:flex}}
