:root{--paper:#efe8da;--paper-warm:#fdfaf0;--paper-shadow:#e3dcc8;--primary-green:#4a6b47;--primary-green-dark:#3d5938;--primary-green-soft:#4a6b4714;--accent-red:#8b3a3a;--accent-red-soft:#8b3a3a14;--gold:#c9a04a;--gold-soft:#fdf4e0;--tan:#b8956a;--ink:#2a2620;--ink-soft:#5c5547;--ink-mute:#8a8268;--rule:#c9c0a8;--rule-soft:#ddd5bc;--rule-dotted:#8a826880;--font-zh:"Noto Serif TC", "Source Han Serif TC", serif;--font-en:"Newsreader", "Fraunces", serif;--font-mono:"JetBrains Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body,#root,.admin-root{background:var(--paper);height:100%;color:var(--ink);font-family:var(--font-zh);font-feature-settings:"palt";margin:0;padding:0;font-size:14px}button{cursor:pointer;font-family:inherit}input,textarea{font-family:inherit}.admin-app{grid-template-rows:auto 1fr;height:100%;display:grid;overflow:hidden}.admin-header{background:var(--paper-warm);border-bottom:2px solid var(--primary-green);grid-template-columns:auto 1fr auto;align-items:end;gap:24px;padding:14px 28px 0;display:grid;position:relative}.admin-header:after{content:"";background:var(--rule);opacity:.5;height:1px;position:absolute;bottom:-5px;left:28px;right:28px}.header-brand{align-items:baseline;gap:10px;padding-bottom:12px;display:flex}.brand-zh{font-family:var(--font-zh);letter-spacing:.06em;color:var(--primary-green);font-size:18px;font-weight:700}.brand-divider{background:var(--ink-mute);width:14px;height:1px}.brand-en{font-family:var(--font-en);color:var(--ink-mute);letter-spacing:.04em;font-size:14px;font-style:italic;font-weight:400}.brand-tag{font-family:var(--font-en);color:var(--accent-red);letter-spacing:.18em;text-transform:uppercase;border-left:1px solid var(--rule);margin-left:4px;padding-left:8px;font-size:10px;font-style:italic}.admin-tabs{align-self:end;gap:0;display:flex}.admin-tab{font-family:var(--font-zh);color:var(--ink-mute);letter-spacing:.04em;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 18px 12px;font-size:14px;transition:color .12s;position:relative}.admin-tab:hover{color:var(--ink)}.admin-tab.active{color:var(--primary-green);border-bottom-color:var(--accent-red);font-weight:500}.header-stats{padding-bottom:12px}.stat-line{font-family:var(--font-zh);align-items:baseline;gap:6px;display:flex}.stat-label{color:var(--ink-mute);letter-spacing:.08em;font-size:11px}.stat-num{font-family:var(--font-mono);color:var(--primary-green);letter-spacing:.04em;font-size:20px;font-weight:500}.stat-unit{color:var(--ink-mute);font-size:11px}.admin-main{height:100%;overflow:hidden}.single-entry{grid-template-columns:minmax(380px,1fr) minmax(440px,1.3fr);height:100%;display:grid;overflow:hidden}.paste-pane{background:var(--paper);border-right:1px solid var(--rule);flex-direction:column;gap:14px;padding:24px 28px;display:flex;overflow-y:auto}.review-pane{background:var(--paper-warm);padding:24px 32px 60px;overflow-y:auto}.pane-eyebrow{font-family:var(--font-en);color:var(--accent-red);letter-spacing:.16em;text-transform:uppercase;font-size:11px;font-style:italic}.pane-title{font-family:var(--font-zh);letter-spacing:.04em;color:var(--ink);margin:4px 0;font-size:18px;font-weight:600}.paste-actions{align-items:center;gap:12px;margin-top:4px;display:flex}.btn-parse{flex:1;justify-content:center}.paste-samples{border-top:1px dotted var(--rule);flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;padding-top:16px;display:flex}.samples-label{font-family:var(--font-en);color:var(--ink-mute);letter-spacing:.08em;font-size:11px;font-style:italic}.sample-btn{border:1px dotted var(--rule);font-family:var(--font-zh);color:var(--ink-soft);letter-spacing:.04em;background:0 0;border-radius:0;padding:4px 10px;font-size:12px}.sample-btn:hover{border-style:solid;border-color:var(--primary-green);color:var(--primary-green)}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.field-full{grid-column:1/-1}.field-label{font-family:var(--font-zh);color:var(--ink-soft);letter-spacing:.04em;align-items:baseline;gap:6px;font-size:12px;display:flex}.field-label-text{font-weight:500}.field-helper{font-family:var(--font-en);letter-spacing:.04em;margin-left:auto;font-size:10px;font-style:italic}.helper-reliable{color:var(--ink-mute)}.helper-optional{color:var(--tan)}.pmark{width:14px;height:14px;font-family:var(--font-en);flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-style:italic;font-weight:500;display:inline-flex}.pmark-ok{color:var(--primary-green)}.pmark-optional{color:var(--ink-mute);opacity:.7}.pmark-flag{color:var(--gold);font-weight:700}.pmark-low{color:var(--accent-red);font-weight:700}.galley-input{border:none;border-bottom:1px dotted var(--rule-dotted);font-size:14px;font-family:var(--font-zh);color:var(--ink);background:0 0;border-radius:0;outline:none;width:100%;padding:6px 2px;transition:border-color .12s,background .12s}.galley-input::placeholder{color:var(--ink-mute);opacity:.7;font-style:italic}.galley-input:hover{border-bottom-style:dashed}.galley-input:focus{border-bottom:1px solid var(--primary-green);background:var(--primary-green-soft);padding-left:6px;padding-right:6px}.galley-input.flagged{border-bottom:1px dotted var(--gold);background:#c9a04a0f}.galley-input.flagged:focus{border-bottom:1px solid var(--gold);background:#c9a04a1f}.galley-input.empty.flagged{background:#c9a04a0a}.galley-textarea{background:var(--paper);border:1px dotted var(--rule);font-size:14px;font-family:var(--font-zh);color:var(--ink);resize:vertical;letter-spacing:.02em;border-radius:0;outline:none;width:100%;min-height:80px;padding:10px 12px;line-height:1.7}.galley-textarea:focus{border-style:solid;border-color:var(--primary-green);background:var(--paper-warm)}.galley-textarea::placeholder{color:var(--ink-mute);font-style:italic}.addr-row{align-items:center;gap:8px;display:flex}.addr-row .galley-input{flex:1}.seg-control{border:1px solid var(--rule);background:var(--paper-warm);display:flex}.seg-btn{font-family:var(--font-zh);color:var(--ink-soft);border:none;border-right:1px dotted var(--rule);letter-spacing:.06em;background:0 0;flex:1;padding:7px 6px;font-size:12px;transition:all .1s}.seg-btn:last-child{border-right:none}.seg-btn:hover{color:var(--primary-green)}.seg-btn.active{background:var(--primary-green);color:var(--paper-warm);border-right-color:var(--primary-green);font-weight:500}.check-row{font-family:var(--font-zh);color:var(--ink);cursor:pointer;align-items:center;gap:8px;padding:6px 0 4px;font-size:13px;display:flex}.check-row input[type=checkbox]{width:14px;height:14px;accent-color:var(--primary-green);cursor:pointer}.tag-editor{flex-direction:column;gap:6px;display:flex}.tag-editor-row{border:1px dotted var(--rule);background:var(--paper);flex-wrap:wrap;align-items:center;gap:5px;min-height:36px;padding:6px 8px;display:flex}.tag-editor-row:focus-within{border-style:solid;border-color:var(--primary-green);background:var(--paper-warm)}.tag-chip{background:var(--paper-warm);border:1px solid var(--primary-green);color:var(--primary-green);font-family:var(--font-zh);letter-spacing:.04em;align-items:center;gap:4px;padding:2px 4px 2px 8px;font-size:12px;display:inline-flex}.tag-chip-x{color:var(--primary-green);opacity:.5;background:0 0;border:none;align-items:center;padding:2px;display:flex}.tag-chip-x:hover{opacity:1;color:var(--accent-red)}.tag-editor-input{font-family:var(--font-zh);color:var(--ink);background:0 0;border:none;outline:none;flex:1;min-width:100px;padding:2px;font-size:13px}.tag-suggestions{flex-wrap:wrap;gap:4px;padding-left:2px;display:flex}.tag-suggestion{border:1px dotted var(--rule);color:var(--ink-mute);font-family:var(--font-zh);letter-spacing:.04em;background:0 0;align-items:center;gap:3px;padding:3px 7px;font-size:11px;display:inline-flex}.tag-suggestion:hover{border-style:solid;border-color:var(--primary-green);color:var(--primary-green)}.conf-banner{font-family:var(--font-zh);letter-spacing:.04em;border-left:3px solid;align-items:flex-start;gap:10px;margin-bottom:16px;padding:10px 14px;font-size:13px;display:flex}.conf-banner.conf-high{background:var(--primary-green-soft);border-left-color:var(--primary-green);color:var(--primary-green-dark)}.conf-banner.conf-medium{background:var(--gold-soft);border-left-color:var(--gold);color:#8b6a20}.conf-banner.conf-low{background:var(--accent-red-soft);border-left-color:var(--accent-red);color:var(--accent-red)}.conf-mark{font-family:var(--font-en);flex-shrink:0;font-size:18px;font-style:italic;font-weight:600;line-height:1}.conf-body{flex:1}.conf-label{font-weight:500}.conf-flagged{opacity:.85;letter-spacing:.06em;margin-top:4px;font-size:11px}.conf-flagged-prefix{font-family:var(--font-en);margin-right:4px;font-style:italic}.review-card{position:relative}.review-card:before{content:"";width:3px;position:absolute;top:0;bottom:0;left:-32px}.review-card.conf-high:before{background:var(--primary-green)}.review-card.conf-medium:before{background:var(--gold)}.review-card.conf-low:before{background:var(--accent-red)}.review-head{border-bottom:1px solid var(--rule);margin-bottom:18px;padding-bottom:14px}.review-name-row{align-items:baseline;gap:10px;display:flex}.review-name{font-family:var(--font-zh);letter-spacing:.02em;color:var(--ink);margin:0;font-size:24px;font-weight:700;line-height:1.2}.overseas-marker{font-family:var(--font-zh);background:var(--accent-red);color:var(--paper-warm);letter-spacing:.1em;padding:2px 7px;font-size:10px}.overseas-marker.small{padding:1px 5px;font-size:9px}.review-meta{font-family:var(--font-en);color:var(--ink-mute);letter-spacing:.04em;margin-top:4px;font-size:13px;font-style:italic}.review-grid{grid-template-columns:1fr 1fr;gap:18px 24px;display:grid}@media (width<=1100px){.review-grid{grid-template-columns:1fr}}.review-actions{border-top:2px solid var(--primary-green);flex-wrap:wrap;align-items:center;gap:10px;margin-top:26px;padding-top:20px;display:flex}.review-card.embedded:before{display:none}.review-card.embedded{background:var(--paper);border:1px solid var(--rule);margin-top:4px;padding:16px 18px}.review-card.embedded .conf-banner,.review-card.embedded .review-head{display:none}.btn-primary,.btn-secondary,.btn-tertiary{font-family:var(--font-zh);letter-spacing:.06em;white-space:nowrap;border:1px solid;border-radius:0;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:500;transition:all .12s;display:inline-flex}.btn-primary{background:var(--primary-green);color:var(--paper-warm);border-color:var(--primary-green)}.btn-primary:hover:not(:disabled){background:var(--primary-green-dark);border-color:var(--primary-green-dark)}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-secondary{color:var(--primary-green);border-color:var(--primary-green);background:0 0}.btn-secondary:hover{background:var(--primary-green-soft)}.btn-tertiary{color:var(--ink-soft);border-color:var(--rule);background:0 0;font-weight:400}.btn-tertiary:hover{border-color:var(--ink-soft);color:var(--ink)}.btn-mini{background:var(--paper-warm);border:1px dotted var(--rule);font-family:var(--font-zh);color:var(--ink-soft);letter-spacing:.04em;border-radius:0;align-items:center;gap:4px;padding:5px 10px;font-size:11px;display:inline-flex}.btn-mini:hover{border-style:solid;border-color:var(--primary-green);color:var(--primary-green)}.btn-icon{color:var(--ink-mute);background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;padding:4px;display:inline-flex}.btn-icon:hover{color:var(--primary-green)}.btn-icon.danger:hover{color:var(--accent-red)}.kbd{font-family:var(--font-mono);letter-spacing:.02em;background:#ffffff26;border-radius:2px;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:400}.btn-secondary .kbd,.btn-tertiary .kbd,.empty-body .kbd{background:var(--paper);color:var(--ink-mute);border:1px solid var(--rule)}.spinner{border:1.5px solid;border-right-color:#0000;border-radius:50%;width:12px;height:12px;animation:.7s linear infinite spin;display:inline-block}.spinner.large{border-width:2px;width:20px;height:20px}@keyframes spin{to{transform:rotate(360deg)}}.review-empty,.batch-empty{text-align:center;color:var(--ink-mute);padding:80px 24px}.empty-mark{font-family:var(--font-en);color:var(--rule);margin-bottom:8px;font-size:36px;font-style:italic}.empty-title{font-family:var(--font-zh);color:var(--ink-soft);letter-spacing:.04em;margin-bottom:8px;font-size:16px}.empty-body{font-family:var(--font-zh);margin:0;font-size:13px;line-height:1.9}.empty-body code{font-family:var(--font-mono);background:var(--paper);padding:1px 5px;font-size:12px}.review-skeleton,.batch-skeleton{pointer-events:none;padding:0;position:relative}.skel-banner,.skel-title,.skel-field,.skel-batch-row{background:var(--paper);border:1px dotted var(--rule);border-radius:0;animation:1.4s ease-in-out infinite pulse}.skel-banner{height:40px;margin-bottom:16px}.skel-title{background:var(--paper-shadow);border:none;width:60%;height:32px;margin-bottom:18px}.skel-grid{grid-template-columns:1fr 1fr;gap:18px 24px;display:grid}.skel-field{height:50px}.skel-batch-row{height:70px;margin-bottom:8px}.skel-loading{font-family:var(--font-zh);color:var(--primary-green);background:var(--paper-warm);border:1px solid var(--primary-green);letter-spacing:.06em;pointer-events:none;align-items:center;gap:10px;padding:14px 22px;font-size:13px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.batch-entry{flex-direction:column;gap:20px;width:100%;max-width:1280px;height:100%;margin:0 auto;padding:24px 32px 60px;display:flex;overflow-y:auto}.batch-paste{background:var(--paper-warm);border:1px solid var(--rule);flex-direction:column;gap:12px;padding:18px 22px;display:flex}.batch-paste-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.batch-hint{font-family:var(--font-zh);color:var(--ink-mute);letter-spacing:.04em;font-size:12px}.batch-hint code{font-family:var(--font-mono);background:var(--paper);color:var(--accent-red);padding:1px 6px;font-size:12px}.batch-paste-count{font-family:var(--font-en);color:var(--ink-mute);letter-spacing:.06em;font-size:12px;font-style:italic}.batch-review{flex-direction:column;gap:12px;display:flex}.batch-toolbar{background:var(--paper);border:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.batch-tools-left{flex-wrap:wrap;gap:8px;display:flex}.batch-tools-left .btn-mini{padding:6px 12px}.batch-count-text{font-family:var(--font-zh);color:var(--ink-soft);letter-spacing:.04em;font-size:13px}.batch-count-text strong{color:var(--primary-green);font-family:var(--font-mono);margin:0 2px;font-size:15px;font-weight:500}.batch-list{background:var(--rule);border:1px solid var(--rule);flex-direction:column;gap:1px;display:flex}.batch-row{background:var(--paper-warm);transition:background .1s;position:relative}.batch-row:before{content:"";width:4px;position:absolute;top:0;bottom:0;left:0}.batch-row.conf-high:before{background:var(--primary-green)}.batch-row.conf-medium:before{background:var(--gold)}.batch-row.conf-low:before{background:var(--accent-red)}.batch-row:hover,.batch-row.expanded{background:var(--paper)}.batch-row-head{grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:14px 18px 14px 22px;display:grid}.batch-check{cursor:pointer;align-items:center;display:flex}.batch-check input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary-green);cursor:pointer}.batch-row-body{min-width:0}.batch-row-name{align-items:baseline;gap:8px;display:flex}.batch-name-zh{font-family:var(--font-zh);color:var(--ink);letter-spacing:.02em;font-size:16px;font-weight:600}.batch-row-meta{font-family:var(--font-zh);color:var(--ink-mute);letter-spacing:.02em;margin-top:3px;font-size:12px}.batch-row-flags{flex-wrap:wrap;gap:12px;margin-top:6px;display:flex}.batch-flag{font-family:var(--font-zh);color:var(--ink-soft);letter-spacing:.04em;font-size:11px}.batch-row-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.batch-row-detail{border-top:1px dotted var(--rule);background:var(--paper);padding:4px 18px 18px 22px;animation:.2s slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.conf-badge{font-family:var(--font-zh);letter-spacing:.1em;border:1px solid;border-radius:1px;padding:3px 9px;font-size:11px;font-weight:500}.conf-badge.conf-high{background:var(--primary-green);color:var(--paper-warm);border-color:var(--primary-green)}.conf-badge.conf-medium{background:var(--gold-soft);color:#8b6a20;border-color:var(--gold)}.conf-badge.conf-low{background:var(--accent-red-soft);color:var(--accent-red);border-color:var(--accent-red)}.batch-bottom-bar{background:var(--paper);border-top:2px solid var(--primary-green);justify-content:flex-end;margin-top:8px;padding:14px 18px;display:flex;position:sticky;bottom:0}.btn-bulk{padding:12px 22px;font-size:15px}.bulk-num{font-family:var(--font-mono);background:#ffffff2e;border-radius:1px;margin-left:4px;padding:2px 8px;font-size:12px}.saved-list{max-width:1280px;height:100%;margin:0 auto;padding:24px 32px 60px;overflow-y:auto}.saved-toolbar{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:16px;margin-bottom:0;padding-bottom:14px;display:flex}.saved-search{border:1px solid var(--rule);background:var(--paper-warm);max-width:400px;color:var(--ink-mute);flex:1;align-items:center;gap:8px;padding:8px 12px;display:flex}.saved-search:focus-within{border-color:var(--primary-green)}.saved-search input{font-family:var(--font-zh);color:var(--ink);background:0 0;border:none;outline:none;flex:1;font-size:14px}.saved-count{font-family:var(--font-en);color:var(--ink-mute);letter-spacing:.06em;font-size:13px;font-style:italic}.saved-table{border-collapse:collapse;width:100%;font-family:var(--font-zh);font-size:13px}.saved-table thead th{text-align:left;font-family:var(--font-en);color:var(--accent-red);letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid var(--rule);background:var(--paper);padding:10px 12px;font-size:11px;font-style:italic;font-weight:500}.saved-table tbody tr{border-bottom:1px dotted var(--rule);transition:background .1s}.saved-table tbody tr:hover{background:var(--paper)}.saved-table td{vertical-align:middle;padding:11px 12px}.td-name{color:var(--ink);letter-spacing:.02em;font-weight:600}.td-region{color:var(--ink-soft);font-size:12px}.td-time{font-family:var(--font-mono);color:var(--ink-mute);letter-spacing:.02em;font-size:11px}.td-link{font-family:var(--font-en);color:var(--primary-green);letter-spacing:.04em;align-items:center;gap:4px;font-size:12px;font-style:italic;text-decoration:none;display:inline-flex}.td-link:hover{text-underline-offset:3px;text-decoration:underline}.td-empty{text-align:center;color:var(--ink-mute);font-family:var(--font-en);letter-spacing:.08em;padding:60px 0;font-style:italic}.toast{background:var(--primary-green);color:var(--paper-warm);font-family:var(--font-zh);letter-spacing:.06em;z-index:100;align-items:center;gap:8px;padding:12px 18px;font-size:13px;animation:.22s cubic-bezier(.2,.8,.3,1) toastIn;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 6px 20px #4a6b474d}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.header-cost{align-self:end;padding-bottom:12px;position:relative}.cost-trigger{border:none;border-left:1px solid var(--rule);cursor:pointer;font-family:var(--font-zh);background:0 0;border-radius:0;flex-direction:column;align-items:flex-start;gap:2px;margin-left:8px;padding:4px 0 4px 16px;display:flex}.cost-trigger:hover .cost-this{text-underline-offset:4px;text-decoration:underline dotted}.cost-line{letter-spacing:.04em;align-items:baseline;gap:5px;display:flex}.cost-label{color:var(--ink-mute);letter-spacing:.1em;font-size:10px}.cost-this{font-family:var(--font-mono);color:var(--primary-green);letter-spacing:.04em;font-size:17px;font-weight:500}.cost-this.cost-warn{color:var(--accent-red)}.cost-this.cost-empty{color:var(--ink-mute)}.cost-last{font-family:var(--font-mono);color:var(--ink-mute);letter-spacing:.04em;opacity:.85;font-size:11px}.cost-popover{z-index:50;background:var(--paper-warm);border:1px solid var(--primary-green);min-width:280px;font-family:var(--font-zh);padding:14px 16px 12px;animation:.16s popIn;position:absolute;top:calc(100% - 4px);right:0;box-shadow:0 8px 24px #2a26201f}@keyframes popIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.cost-popover:before{content:"";background:var(--paper-warm);border-left:1px solid var(--primary-green);border-top:1px solid var(--primary-green);width:12px;height:12px;position:absolute;top:-7px;right:18px;transform:rotate(45deg)}.cost-pop-head{border-bottom:1px solid var(--rule);align-items:baseline;gap:8px;margin-bottom:8px;padding-bottom:8px;display:flex}.cost-pop-title{font-family:var(--font-en);color:var(--accent-red);letter-spacing:.16em;text-transform:uppercase;font-size:11px;font-style:italic}.cost-pop-summary{font-family:var(--font-en);color:var(--ink-mute);letter-spacing:.04em;margin-left:auto;font-size:11px}.cost-pop-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.cost-pop-row{border-bottom:1px dotted var(--rule-soft);grid-template-columns:auto 1fr auto;align-items:baseline;gap:10px;padding:4px 0;display:grid}.cost-pop-row:last-child{border-bottom:none}.cost-pop-date{font-family:var(--font-mono);color:var(--ink-mute);letter-spacing:.04em;font-size:10px}.cost-pop-name{color:var(--ink);letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.cost-pop-amt{font-family:var(--font-mono);color:var(--primary-green);letter-spacing:.04em;font-size:11px}.dup-warning{border:1px solid #8b3a3a40;border-left:3px solid var(--accent-red);background:#c9a04a14;margin-top:24px;padding:14px 18px 12px;position:relative}.dup-head{align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.dup-stamp{font-family:var(--font-en);color:var(--accent-red);font-size:18px;font-style:italic;font-weight:600;line-height:1}.dup-title{font-family:var(--font-zh);letter-spacing:.04em;color:var(--accent-red);margin:0;font-size:14px;font-weight:600}.dup-title-num{font-family:var(--font-mono);margin:0 2px;font-size:13px}.dup-list{border-top:1px dotted #8b3a3a4d;flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.dup-row{font-family:var(--font-zh);border-bottom:1px dotted #8b3a3a2e;grid-template-columns:1fr auto auto;align-items:baseline;gap:14px;padding:8px 0;display:grid}.dup-row:last-child{border-bottom:none}.dup-name{color:var(--ink);letter-spacing:.02em;font-size:13px;font-weight:500}.dup-meta{color:var(--ink-mute);letter-spacing:.04em;font-size:11px}.dup-meta .dup-region{color:var(--ink-soft)}.dup-meta .dup-date{font-family:var(--font-mono);margin-left:6px;font-size:10px}.dup-link{font-family:var(--font-en);color:var(--accent-red);letter-spacing:.06em;border-bottom:1px dotted var(--accent-red);align-items:center;gap:3px;padding-bottom:1px;font-size:11px;font-style:italic;text-decoration:none;display:inline-flex}.dup-link:hover{color:var(--primary-green);border-bottom-color:var(--primary-green)}.dup-foot{font-family:var(--font-zh);color:var(--ink-mute);letter-spacing:.06em;border-top:1px dotted #8b3a3a4d;margin-top:10px;padding-top:8px;font-size:11px;font-style:italic}.queue-page{max-width:1100px;height:100%;margin:0 auto;padding:24px 32px 60px;overflow-y:auto}.queue-head{border-bottom:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;padding-bottom:14px;display:flex}.queue-head-left{flex-direction:column;gap:4px;display:flex}.queue-eyebrow{font-family:var(--font-en);color:var(--accent-red);letter-spacing:.16em;text-transform:uppercase;font-size:11px;font-style:italic}.queue-title{font-family:var(--font-zh);letter-spacing:.04em;color:var(--ink);margin:0;font-size:20px;font-weight:600}.queue-subtitle{font-family:var(--font-zh);color:var(--ink-mute);letter-spacing:.04em;margin-top:2px;font-size:12px}.queue-filter{border:1px solid var(--rule);background:var(--paper-warm);gap:0;display:flex}.queue-filter-btn{font-family:var(--font-zh);color:var(--ink-soft);border:none;border-right:1px dotted var(--rule);letter-spacing:.06em;background:0 0;border-radius:0;padding:6px 14px;font-size:12px}.queue-filter-btn:last-child{border-right:none}.queue-filter-btn:hover{color:var(--primary-green)}.queue-filter-btn.active{background:var(--primary-green);color:var(--paper-warm);border-right-color:var(--primary-green)}.queue-filter-num{font-family:var(--font-mono);opacity:.7;margin-left:4px;font-size:10px}.queue-list{flex-direction:column;gap:14px;display:flex}.promote-card{background:var(--paper-warm);border:1px solid var(--rule);border-left:4px solid;grid-template-columns:1fr auto;gap:18px;padding:16px 18px 16px 20px;transition:opacity .24s,transform .24s;display:grid}.promote-card.conf-low{border-left-color:var(--accent-red)}.promote-card.conf-medium{border-left-color:var(--gold)}.promote-card.conf-high{border-left-color:var(--primary-green)}.promote-card.removing{opacity:0;pointer-events:none;transform:translate(20px)}.pc-body{flex-direction:column;gap:8px;min-width:0;display:flex}.pc-head{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.pc-name{font-family:var(--font-zh);letter-spacing:.02em;color:var(--ink);margin:0;font-size:18px;font-weight:600}.pc-region{font-family:var(--font-zh);color:var(--ink-soft);letter-spacing:.04em;font-size:12px}.pc-flags{flex-wrap:wrap;gap:8px;margin-top:2px;display:flex}.pc-flag{font-family:var(--font-zh);color:var(--accent-red);letter-spacing:.06em;align-items:center;gap:3px;font-size:11px;display:inline-flex}.pc-flag .pmark{width:12px;height:12px;font-size:10px}.pc-fields{border-top:1px dotted var(--rule);border-bottom:1px dotted var(--rule);font-family:var(--font-zh);grid-template-columns:minmax(80px,auto) 1fr;gap:4px 14px;padding:8px 0 6px;font-size:12px;display:grid}.pc-field-label{color:var(--ink-mute);letter-spacing:.06em;align-self:baseline;padding-top:1px;font-size:11px}.pc-field-val{color:var(--ink);letter-spacing:.02em;line-height:1.7}.pc-field-val.muted{color:var(--ink-mute);font-style:italic}.pc-field-val .pc-tag{background:var(--paper);border:1px solid var(--rule);letter-spacing:.04em;margin-right:4px;padding:1px 7px;font-size:11px;display:inline-block}.pc-foot{font-family:var(--font-zh);color:var(--ink-mute);letter-spacing:.04em;align-items:baseline;gap:14px;font-size:11px;display:flex}.pc-foot .pc-date{font-family:var(--font-mono);letter-spacing:.04em}.pc-actions{flex-direction:column;align-items:stretch;gap:8px;min-width:100px;display:flex}.pc-actions .btn-primary,.pc-actions .btn-secondary{padding:8px 14px;font-size:13px}.coords-card{background:var(--paper-warm);border:1px solid var(--rule);border-left:4px solid var(--accent-red);padding:16px 20px;transition:opacity .24s,transform .24s}.coords-card.removing{opacity:0;pointer-events:none;transform:translate(20px)}.cc-head{border-bottom:1px dotted var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:14px;padding-bottom:10px;display:flex}.cc-name-block{flex-direction:column;gap:3px;min-width:0;display:flex}.cc-name{font-family:var(--font-zh);letter-spacing:.02em;color:var(--ink);margin:0;font-size:18px;font-weight:600}.cc-region{font-family:var(--font-zh);color:var(--ink-soft);letter-spacing:.04em;font-size:12px}.cc-meta{font-family:var(--font-mono);color:var(--ink-mute);letter-spacing:.04em;font-size:10px}.cc-addr-row{border-bottom:1px dotted var(--rule);align-items:flex-start;gap:14px;padding:12px 0;display:flex}.cc-addr-label{font-family:var(--font-zh);color:var(--accent-red);letter-spacing:.1em;flex-shrink:0;padding-top:3px;font-size:11px}.cc-addr-val{font-family:var(--font-zh);color:var(--accent-red);letter-spacing:.02em;text-underline-offset:4px;flex:1;font-size:13px;line-height:1.7;text-decoration:underline wavy #8b3a3a66}.cc-addr-action{flex-shrink:0}.cc-coord-row{grid-template-columns:1fr 1px 1fr auto;align-items:end;gap:0;padding:14px 0 6px;display:grid}.cc-coord-divider{background:var(--rule);align-self:center;width:1px;height:32px;margin:0 14px}.cc-coord-field{flex-direction:column;gap:4px;padding:0 4px;display:flex}.cc-coord-field .field-label{align-items:baseline;gap:8px;display:flex}.cc-coord-field .galley-input.invalid{border-bottom-color:var(--accent-red);color:var(--accent-red);background:var(--accent-red-soft)}.cc-coord-actions{gap:8px;padding-left:20px;display:flex}.queue-empty{text-align:center;color:var(--ink-mute);font-family:var(--font-zh);padding:80px 24px 60px}.queue-stamp{font-family:var(--font-en);color:var(--primary-green);border:1.5px solid var(--primary-green);letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px;padding:6px 14px;font-size:12px;font-style:italic;display:inline-block;transform:rotate(-3deg)}.queue-empty-title{color:var(--ink-soft);letter-spacing:.04em;margin-bottom:6px;font-size:16px}.queue-empty-body{color:var(--ink-mute);margin:0;font-size:13px;line-height:1.9}.admin-tab .tab-count{font-family:var(--font-mono);color:var(--accent-red);background:var(--accent-red-soft);letter-spacing:.04em;vertical-align:1px;border:1px solid #8b3a3a4d;border-radius:1px;margin-left:5px;padding:1px 5px;font-size:10px;display:inline-block}.admin-tab.active .tab-count{color:var(--primary-green);background:var(--primary-green-soft);border-color:#4a6b474d}.login-page{background:var(--paper);justify-content:center;align-items:center;min-height:100vh;padding:32px 20px;display:flex;position:relative;overflow:hidden}.login-page:before{content:"";pointer-events:none;background-image:radial-gradient(circle at 20% 30%,#8b82640a 0%,#0000 30%),radial-gradient(circle at 80% 70%,#8b82640a 0%,#0000 35%),repeating-linear-gradient(105deg,#0000 0 2px,#8a826805 2px 3px);position:absolute;inset:0}.login-card{background:var(--paper-warm);border:1px solid var(--rule);width:100%;max-width:420px;box-shadow:0 1px 0 var(--paper-shadow), 0 12px 28px #2a262014;padding:48px 44px 40px;position:relative}.login-card:before{content:"";border:1px dotted var(--rule);pointer-events:none;position:absolute;inset:14px}.login-stamp{font-family:var(--font-en);color:var(--paper-warm);background:var(--accent-red);letter-spacing:.18em;text-transform:uppercase;padding:4px 10px;font-size:10px;font-style:italic;position:absolute;top:-12px;right:28px;transform:rotate(2deg);box-shadow:0 2px 6px #8b3a3a40}.login-brand{text-align:center;margin-bottom:32px;position:relative}.login-brand-zh{font-family:var(--font-zh);letter-spacing:.16em;color:var(--primary-green);margin-bottom:6px;font-size:26px;font-weight:700;display:block}.login-brand-en{font-family:var(--font-en);color:var(--ink-mute);letter-spacing:.18em;text-transform:lowercase;font-size:13px;font-style:italic}.login-brand-en:before,.login-brand-en:after{content:"—";opacity:.5;margin:0 8px}.login-brand-tag{font-family:var(--font-en);color:var(--accent-red);letter-spacing:.24em;text-transform:uppercase;border-top:1px solid var(--rule);margin-top:10px;padding-top:8px;font-size:9px;font-style:italic;display:inline-block}.login-form{flex-direction:column;gap:18px;display:flex;position:relative}.login-field-label{font-family:var(--font-en);color:var(--accent-red);letter-spacing:.16em;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-style:italic;display:block}.login-pw-row{border-bottom:1px solid var(--ink-soft);align-items:center;gap:8px;padding:6px 0 8px;transition:border-color .12s;display:flex}.login-pw-row:focus-within{border-bottom-color:var(--primary-green)}.login-pw-row.shake{animation:.36s cubic-bezier(.36,.07,.19,.97) shake}@keyframes shake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(3px)}30%,50%,70%{transform:translate(-5px)}40%,60%{transform:translate(5px)}}.login-pw-input{font-family:var(--font-zh);color:var(--ink);letter-spacing:.08em;background:0 0;border:none;outline:none;flex:1;padding:4px 0;font-size:15px}.login-pw-input::placeholder{color:var(--ink-mute);letter-spacing:.04em;font-style:italic}.login-eye{color:var(--ink-mute);cursor:pointer;background:0 0;border:none;border-radius:0;align-items:center;padding:4px;display:inline-flex}.login-eye:hover{color:var(--primary-green)}.login-error{font-family:var(--font-zh);letter-spacing:.04em;border-left:2px solid;align-items:baseline;gap:6px;margin-top:-4px;padding:8px 12px;font-size:13px;display:flex}.login-error.is-wrong{color:var(--accent-red);background:var(--accent-red-soft);border-left-color:var(--accent-red)}.login-error.is-locked{color:var(--ink);background:var(--paper);border-left-color:var(--ink-soft)}.login-error-mark{font-family:var(--font-en);margin-right:2px;font-style:italic;font-weight:600}.login-error .countdown{font-family:var(--font-mono);letter-spacing:.06em;font-size:14px}.login-attempts{font-family:var(--font-en);color:var(--ink-mute);letter-spacing:.06em;margin-left:auto;font-size:11px;font-style:italic}.login-submit{letter-spacing:.12em;margin-top:6px;padding:12px 16px;font-size:15px}.login-foot{border-top:1px dotted var(--rule);text-align:center;font-family:var(--font-mono);color:var(--ink-mute);letter-spacing:.08em;margin-top:28px;padding-top:14px;font-size:10px}.login-foot-stamp{border:1px solid var(--rule);font-family:var(--font-en);color:var(--ink-mute);letter-spacing:.16em;text-transform:uppercase;margin-top:6px;padding:3px 10px;font-size:9px;font-style:italic;display:inline-block}.login-paper-spinner{width:14px;height:14px;display:inline-block;position:relative}.login-paper-spinner:before,.login-paper-spinner:after{content:"";border:1.5px solid;border-radius:0;animation:1.1s linear infinite paperSpin;position:absolute;inset:0}.login-paper-spinner:after{opacity:.5;border-width:1px;animation-duration:1.5s;animation-direction:reverse;inset:3px}@keyframes paperSpin{to{transform:rotate(360deg)}}@media (width<=760px){.admin-header{grid-template-columns:1fr;gap:6px;padding:12px 16px 0}.admin-tabs{overflow-x:auto}.header-stats,.header-cost{padding-bottom:8px}.single-entry{grid-template-columns:1fr}.paste-pane{border-right:none;border-bottom:1px solid var(--rule)}.review-pane,.paste-pane,.batch-entry,.saved-list,.queue-page{padding:16px 18px 40px}.promote-card{grid-template-columns:1fr}.pc-actions{flex-direction:row}.cc-coord-row{grid-template-columns:1fr 1fr;gap:12px}.cc-coord-divider{display:none}.cc-coord-actions{grid-column:1/-1;padding-top:8px;padding-left:0}.review-grid{grid-template-columns:1fr}.login-card{padding:36px 24px 28px}}.paste-pane::-webkit-scrollbar,.review-pane::-webkit-scrollbar,.batch-entry::-webkit-scrollbar,.saved-list::-webkit-scrollbar{width:8px}.paste-pane::-webkit-scrollbar-thumb,.review-pane::-webkit-scrollbar-thumb,.batch-entry::-webkit-scrollbar-thumb,.saved-list::-webkit-scrollbar-thumb{background:var(--rule);border-radius:0}
