:root{--bone: #f5f1e8;--paper: #faf7f0;--ink: #1a2942;--ink-soft: #3a4660;--ink-faint: #8a8f9e;--rule: #d8d0bd;--rule-soft: #e8e2d2;--vermilion: #b8482a;--vermilion-soft: #d96b4e;--shadow-sm: 0 1px 0 rgba(26, 41, 66, .04);--shadow-md: 0 1px 0 rgba(26, 41, 66, .04), 0 16px 36px -28px rgba(26, 41, 66, .16);--shadow-lg: 0 1px 0 rgba(26, 41, 66, .04), 0 24px 48px -28px rgba(26, 41, 66, .18), 0 8px 16px -12px rgba(26, 41, 66, .08);--shadow-hover: 0 8px 24px -16px rgba(26, 41, 66, .2);--tint-accent: rgba(184, 72, 42, .06);--tint-ink: rgba(26, 41, 66, .05);--focus-ring: rgba(26, 41, 66, .06);--bg-grad-1: rgba(26, 41, 66, .03);--bg-grad-2: rgba(184, 72, 42, .025);--serif-en: "Cormorant Garamond", "Noto Serif SC", serif;--serif-cn: "Noto Serif SC", "Cormorant Garamond", serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, monospace;font-family:var(--serif-cn);color:var(--ink);background:var(--bone);color-scheme:light;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"liga" 1,"kern" 1}[data-theme=dark]{color-scheme:dark;--bone: #14181f;--paper: #1b212b;--ink: #e8e3d6;--ink-soft: #b9c0cf;--ink-faint: #7e8696;--rule: #2e3744;--rule-soft: #262d38;--vermilion: #d9694b;--vermilion-soft: #b8482a;--shadow-sm: 0 1px 0 rgba(0, 0, 0, .3);--shadow-md: 0 1px 0 rgba(0, 0, 0, .3), 0 16px 36px -28px rgba(0, 0, 0, .6);--shadow-lg: 0 1px 0 rgba(0, 0, 0, .3), 0 24px 48px -28px rgba(0, 0, 0, .65), 0 8px 16px -12px rgba(0, 0, 0, .4);--shadow-hover: 0 8px 24px -16px rgba(0, 0, 0, .6);--tint-accent: rgba(217, 105, 75, .12);--tint-ink: rgba(255, 255, 255, .05);--focus-ring: rgba(217, 105, 75, .25);--bg-grad-1: rgba(120, 140, 180, .05);--bg-grad-2: rgba(217, 105, 75, .04)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bone);background-image:radial-gradient(circle at 20% 30%,var(--bg-grad-1) 0,transparent 35%),radial-gradient(circle at 80% 70%,var(--bg-grad-2) 0,transparent 40%);background-attachment:fixed}a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--ink-faint);transition:border-color .2s,color .2s}a:hover{color:var(--vermilion);border-bottom-color:var(--vermilion)}button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}input{font:inherit;color:inherit}.auth-page{min-height:100vh;display:grid;place-items:center;padding:4rem 1.5rem;position:relative;overflow:hidden}.auth-page:before{content:"改";position:absolute;font-family:var(--serif-cn);font-weight:300;font-size:clamp(28rem,80vw,56rem);color:var(--ink);opacity:.025;top:50%;left:50%;transform:translate(-50%,-52%);pointer-events:none;letter-spacing:-.05em;z-index:0}.auth-card{position:relative;z-index:1;width:min(440px,100%);background:var(--paper);border:1px solid var(--rule);padding:3.5rem 3rem 3rem 4rem;box-shadow:var(--shadow-lg);animation:card-rise .7s cubic-bezier(.2,.7,.2,1) both}.auth-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--ink) 0%,var(--ink) 28%,var(--vermilion) 28%,var(--vermilion) 36%,var(--ink) 36%)}@keyframes card-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.auth-marker{font-family:var(--serif-en);font-style:italic;font-weight:400;font-size:.875rem;color:var(--vermilion);letter-spacing:.04em;margin-bottom:.5rem;display:flex;align-items:center;gap:.6rem}.auth-marker:after{content:"";flex:1;height:1px;background:var(--rule)}.auth-title{font-family:var(--serif-en);font-weight:500;font-size:2.5rem;line-height:1;letter-spacing:-.01em;color:var(--ink);margin-bottom:.25rem}.auth-title-cn{font-family:var(--serif-cn);font-weight:400;font-size:1.05rem;color:var(--ink-soft);letter-spacing:.5em;text-indent:.5em;margin-bottom:2.5rem}.auth-form{display:flex;flex-direction:column;gap:1.5rem}.field{display:flex;flex-direction:column;gap:.5rem}.field-label{font-family:var(--serif-en);font-style:italic;font-size:.825rem;color:var(--ink-soft);letter-spacing:.04em}.field-label-cn{font-family:var(--serif-cn);font-style:normal;font-size:.825rem;margin-left:.5rem;color:var(--ink-faint)}.field-input{width:100%;background:transparent;border:none;border-bottom:1px solid var(--rule);padding:.4rem 0 .6rem;font-family:var(--serif-cn);font-size:1rem;color:var(--ink);outline:none;transition:border-color .2s}.field-input:focus{border-bottom-color:var(--ink)}.field-input::placeholder{color:var(--ink-faint);font-style:italic}.auth-error{font-size:.875rem;color:var(--vermilion);font-family:var(--serif-cn);padding:.6rem .75rem;border-left:2px solid var(--vermilion);background:var(--tint-accent);animation:card-rise .3s ease-out both}.auth-submit{margin-top:1rem;padding:.95rem 1.5rem;background:var(--ink);color:var(--bone);font-family:var(--serif-en);font-size:.95rem;letter-spacing:.2em;text-transform:uppercase;border:none;transition:background .2s,transform .05s;position:relative}.auth-submit:after{content:"→";margin-left:.75rem;font-family:var(--serif-cn);transition:transform .2s;display:inline-block}.auth-submit:hover:after{transform:translate(4px)}.auth-submit:hover{background:var(--ink-soft)}.auth-submit:active{transform:translateY(1px)}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.auth-footer{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--rule-soft);font-size:.9rem;color:var(--ink-soft);display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.auth-footer-en{font-family:var(--serif-en);font-style:italic;font-size:.825rem;color:var(--ink-faint)}.app-shell{min-height:100vh;display:flex;flex-direction:column;background:var(--bone)}.navbar{display:flex;align-items:baseline;justify-content:space-between;padding:1.5rem 3rem;border-bottom:1px solid var(--rule);background:var(--paper);position:sticky;top:0;z-index:10;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.brand{display:flex;align-items:baseline;gap:.6rem}.brand-mark{font-family:var(--serif-en);font-weight:600;font-style:italic;font-size:1.65rem;letter-spacing:-.01em;color:var(--ink)}.brand-mark:first-letter{color:var(--vermilion)}.brand-sub{font-family:var(--serif-cn);font-size:.875rem;letter-spacing:.4em;color:var(--ink-faint);text-indent:.4em}.nav-links{display:flex;align-items:baseline;gap:1.5rem;flex:1;justify-content:center}.nav-link{font-family:var(--serif-cn);font-size:.95rem;color:var(--ink-soft);text-decoration:none;border-bottom:1px solid transparent;padding:.3rem 0;transition:color .2s,border-color .2s}.nav-link:hover{color:var(--ink)}.nav-link.active{color:var(--ink);border-bottom-color:var(--vermilion)}.nav-meta{display:flex;align-items:center;gap:2rem;font-size:.9rem}.nav-user{display:flex;align-items:baseline;gap:.4rem;font-family:var(--serif-cn);color:var(--ink-soft)}.nav-user-mark{font-family:var(--serif-en);font-style:italic;color:var(--ink-faint);font-size:.8rem;letter-spacing:.04em}.nav-user-name{color:var(--ink);font-weight:500}.nav-balance{font-family:var(--mono);font-size:.825rem;color:var(--ink-soft);padding:.3rem .65rem;border:1px solid var(--rule);background:var(--bone);letter-spacing:.02em}.nav-balance b{color:var(--vermilion);font-weight:500;font-feature-settings:"tnum" 1}.nav-logout{font-family:var(--serif-cn);font-size:.875rem;color:var(--ink-soft);padding:.35rem 0;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}.nav-logout:hover{color:var(--vermilion);border-bottom-color:var(--vermilion)}.app-main{flex:1;padding:3.5rem 3rem 4rem}.page-head{max-width:1280px;margin:0 auto 2.5rem;padding:0 .5rem;animation:card-rise .6s cubic-bezier(.2,.7,.2,1) both}.page-title{font-family:var(--serif-en);font-weight:500;font-style:italic;font-size:clamp(2.25rem,4.5vw,3rem);line-height:1;letter-spacing:-.01em;color:var(--ink);margin:.25rem 0}.page-title-cn{font-family:var(--serif-cn);font-style:normal;font-weight:400;font-size:.55em;letter-spacing:.35em;color:var(--ink-soft);margin-left:.6rem;vertical-align:.18em}.page-lede{font-family:var(--serif-en);font-size:.95rem;color:var(--ink-faint);margin-top:.4rem;letter-spacing:.02em}.page-lede em{font-style:italic}.page-rewrite{max-width:1280px;margin:0 auto;animation:card-rise .7s cubic-bezier(.2,.7,.2,1) both}.rewrite-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:3rem;align-items:start}.form-panel{display:flex;flex-direction:column;gap:2rem}.control{display:flex;flex-direction:column;gap:.75rem}.control-label{display:flex;align-items:baseline;gap:.6rem}.control-label-en{font-family:var(--serif-en);font-style:italic;font-size:.825rem;color:var(--ink-soft);letter-spacing:.04em}.control-label-cn{font-family:var(--serif-cn);font-size:.825rem;color:var(--ink-faint)}.segmented{display:flex;flex-wrap:wrap;gap:1.5rem 2rem;border-bottom:1px solid var(--rule);padding-bottom:.6rem;align-items:flex-start}.segmented-option{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;cursor:pointer;color:var(--ink-faint);transition:color .2s;padding-bottom:.55rem;margin-bottom:-.6rem;min-width:8rem;max-width:14rem}.segmented-option .seg-head{display:inline-flex;align-items:baseline;gap:.4rem}.segmented-option input{position:absolute;opacity:0;top:0;right:0;bottom:0;left:0;cursor:pointer}.segmented-option .seg-cn{font-family:var(--serif-cn);font-size:1.05rem;font-weight:400;transition:color .2s,font-weight .2s}.segmented-option .seg-en{font-family:var(--serif-en);font-style:italic;font-size:.8rem;letter-spacing:.04em;color:var(--ink-faint);opacity:.7;transition:opacity .2s,color .2s}.segmented-option:hover .seg-cn{color:var(--ink-soft)}.segmented-option.active{color:var(--ink)}.segmented-option.active .seg-cn{color:var(--ink);font-weight:500}.segmented-option.active .seg-en{color:var(--vermilion);opacity:1}.segmented-option.active:after{content:"";position:absolute;left:0;top:1.85rem;width:4.5rem;height:2px;background:var(--vermilion)}.segmented-option input:focus-visible~.seg-cn{outline:1px dotted var(--ink-faint);outline-offset:4px}.textarea-field{width:100%;background:var(--paper);border:1px solid var(--rule);border-radius:0;padding:1rem 1.1rem;font-family:var(--serif-cn);font-size:1rem;line-height:1.7;color:var(--ink);outline:none;resize:vertical;min-height:220px;transition:border-color .2s,box-shadow .2s}.textarea-field:focus{border-color:var(--ink);box-shadow:0 0 0 3px var(--focus-ring)}.textarea-field::placeholder{color:var(--ink-faint);font-style:italic}.char-count{align-self:flex-end;font-family:var(--mono);font-size:.8rem;color:var(--ink-faint);letter-spacing:.02em}.char-count em{font-family:var(--serif-en);font-style:italic;margin-right:.4rem;color:var(--ink-faint)}.submit-rewrite{align-self:flex-start;padding:.95rem 2.5rem}.result-panel{position:relative;background:var(--paper);border:1px solid var(--rule);padding:2.5rem 2rem 2rem 2.5rem;min-height:360px;box-shadow:var(--shadow-md)}.result-panel:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--vermilion) 0%,var(--vermilion) 22%,var(--ink) 60%,var(--ink) 100%)}.status-row{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:1rem;border-bottom:1px solid var(--rule-soft);margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.status-label{font-family:var(--serif-cn);font-size:.825rem;color:var(--ink-faint);letter-spacing:.04em}.status-label em{font-family:var(--serif-en);font-style:italic;text-transform:uppercase;font-size:.75rem;letter-spacing:.12em;margin-right:.4rem;color:var(--ink-soft)}.status-value{font-family:var(--serif-cn);font-size:.95rem;display:inline-flex;align-items:baseline;gap:.45rem}.status-value em{font-family:var(--serif-en);font-style:italic;letter-spacing:.06em}.status-pending{color:var(--ink-faint)}.status-running{color:var(--vermilion)}.status-done{color:var(--ink)}.status-failed{color:var(--vermilion)}.status-running-dots{display:inline-flex;align-items:baseline;gap:4px;margin-left:.35rem}.status-running-dots span{width:4px;height:4px;border-radius:50%;background:var(--vermilion);display:inline-block;animation:pulse-dot 1.2s ease-in-out infinite}.status-running-dots span:nth-child(2){animation-delay:.15s}.status-running-dots span:nth-child(3){animation-delay:.3s}@keyframes pulse-dot{0%,60%,to{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}.result-empty{padding:2.5rem 0;text-align:center}.result-empty-rule{width:24px;height:1px;background:var(--rule);margin:0 auto 1.5rem}.result-empty-text{font-family:var(--serif-cn);color:var(--ink-faint);font-size:1rem;letter-spacing:.04em}.result-empty-en{margin-top:.5rem;font-family:var(--serif-en);font-size:.825rem;color:var(--ink-faint);opacity:.75}.result-empty-en em{font-style:italic}.result-toolbar{display:flex;justify-content:flex-end;margin-bottom:.75rem}.ghost-btn{font-family:var(--serif-cn);font-size:.85rem;color:var(--ink-soft);padding:.2rem 0;border-bottom:1px solid var(--rule);transition:color .2s,border-color .2s}.ghost-btn:hover{color:var(--vermilion);border-bottom-color:var(--vermilion)}.result-body{font-family:var(--serif-cn);font-size:1.0625rem;line-height:1.75;color:var(--ink);white-space:pre-wrap;word-break:break-word;animation:card-rise .4s ease-out both}.result-error{margin-top:.5rem}.result-meta{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:2rem;padding-top:1rem;border-top:1px solid var(--rule-soft);font-family:var(--mono);font-size:.78rem;color:var(--ink-soft);letter-spacing:.02em}.result-meta em{font-family:var(--serif-en);font-style:italic;color:var(--ink-faint);margin-right:.4rem;text-transform:lowercase;letter-spacing:.04em}.docx-upload{display:flex;flex-direction:column;gap:.75rem}.docx-upload-row{display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap}.docx-upload-btn{font-family:var(--serif-en);font-style:italic;font-size:.875rem;color:var(--ink);padding:.5rem 1rem;border:1px solid var(--rule);background:var(--paper);transition:background .2s,border-color .2s,color .2s;letter-spacing:.04em}.docx-upload-btn:hover{border-color:var(--ink);color:var(--vermilion)}.docx-upload-label{font-family:var(--serif-cn);font-size:.9rem;color:var(--ink-soft)}.docx-upload-hint{font-family:var(--serif-en);font-style:italic;font-size:.8rem;color:var(--ink-faint)}.docx-chip-list{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0}.docx-chip{display:inline-flex;align-items:baseline;gap:.5rem;padding:.35rem .5rem .35rem .75rem;background:var(--bone);border:1px solid var(--rule);font-family:var(--serif-cn);font-size:.85rem;color:var(--ink)}.docx-chip-name{max-width:18rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.docx-chip-size{font-family:var(--mono);font-size:.75rem;color:var(--ink-faint)}.docx-chip-remove{font-family:var(--serif-en);font-size:1rem;color:var(--ink-faint);padding:0 .25rem;line-height:1;border:none;background:none;cursor:pointer;transition:color .2s}.docx-chip-remove:hover{color:var(--vermilion)}.tab-row{display:inline-flex;gap:2rem;border-bottom:1px solid var(--rule);padding-bottom:.5rem;margin-bottom:1.5rem}.tab-row button{position:relative;display:inline-flex;align-items:baseline;gap:.4rem;padding-bottom:.45rem;margin-bottom:-.5rem;color:var(--ink-faint);background:none;border:none;cursor:pointer;transition:color .2s}.tab-row button .tab-cn{font-family:var(--serif-cn);font-size:1.05rem;font-weight:400}.tab-row button .tab-en{font-family:var(--serif-en);font-style:italic;font-size:.8rem;letter-spacing:.04em;color:var(--ink-faint);opacity:.7}.tab-row button.active{color:var(--ink)}.tab-row button.active .tab-cn{font-weight:500}.tab-row button.active .tab-en{color:var(--vermilion);opacity:1}.tab-row button.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--vermilion)}.page-history,.page-history-detail{max-width:1080px;margin:0 auto;animation:card-rise .6s cubic-bezier(.2,.7,.2,1) both}.history-empty{text-align:center;padding:4rem 1rem;color:var(--ink-faint);font-family:var(--serif-cn)}.history-empty-en{margin-top:.5rem;font-family:var(--serif-en);font-size:.875rem}.history-table{width:100%;border-collapse:collapse;background:var(--paper);border:1px solid var(--rule);margin-top:1rem;font-family:var(--serif-cn)}.history-table th,.history-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--rule-soft);font-size:.9rem}.history-table th{font-family:var(--serif-en);font-style:italic;font-weight:400;color:var(--ink-soft);letter-spacing:.06em;background:var(--bone)}.history-table tbody tr:last-child td{border-bottom:none}.history-row{cursor:pointer;transition:background .15s}.history-row:hover{background:var(--bone)}.col-date{font-family:var(--mono);font-size:.825rem;color:var(--ink-soft);white-space:nowrap}.col-chars,.col-tokens{font-family:var(--mono);font-size:.85rem;text-align:right;color:var(--ink-soft)}.col-mode{font-family:var(--mono);font-size:.8rem;color:var(--ink-faint)}.history-status{font-family:var(--serif-en);font-style:italic;font-size:.825rem;letter-spacing:.06em}.history-status.status-done{color:var(--ink)}.history-status.status-failed{color:var(--vermilion)}.history-status.status-running,.history-status.status-pending{color:var(--ink-faint)}.history-pager{display:flex;align-items:baseline;justify-content:space-between;margin-top:1.5rem;flex-wrap:wrap;gap:1rem}.history-pager-info{font-family:var(--serif-cn);font-size:.875rem;color:var(--ink-faint)}.history-pager-controls{display:flex;gap:1.5rem}.history-pager-controls .ghost-btn:disabled{color:var(--ink-faint);cursor:not-allowed;border-bottom-color:var(--rule-soft)}.history-back{margin-bottom:1rem;font-family:var(--serif-cn);font-size:.9rem}.detail-meta{display:flex;flex-wrap:wrap;gap:1.5rem 2rem;margin-bottom:2rem;padding:1rem 1.25rem;background:var(--paper);border:1px solid var(--rule);font-family:var(--mono);font-size:.8rem;color:var(--ink-soft)}.detail-meta em{font-family:var(--serif-en);font-style:italic;color:var(--ink-faint);margin-right:.4rem;text-transform:lowercase}.detail-download{margin:1.5rem 0}.detail-split{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.detail-section{background:var(--paper);border:1px solid var(--rule);padding:1.5rem 1.5rem 1.5rem 2rem;position:relative;margin-bottom:1.5rem}.detail-section:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--ink)}.detail-section-title{font-family:var(--serif-cn);font-size:.95rem;font-weight:400;color:var(--ink-soft);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--rule-soft)}.detail-section-title em{font-family:var(--serif-en);font-style:italic;color:var(--ink-faint);margin-right:.6rem;letter-spacing:.04em}.detail-body{font-family:var(--serif-cn);font-size:1rem;line-height:1.75;color:var(--ink);white-space:pre-wrap;word-break:break-word}.detail-note{padding:1.25rem 1.5rem;background:var(--paper);border:1px solid var(--rule);font-family:var(--serif-en);color:var(--ink-soft);font-style:italic}.page-profile{max-width:560px;margin:0 auto;animation:card-rise .7s cubic-bezier(.2,.7,.2,1) both}.profile-card{background:var(--paper);border:1px solid var(--rule);padding:2.5rem 2rem 2rem 2.5rem;position:relative;box-shadow:var(--shadow-md)}.profile-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--ink) 0%,var(--ink) 40%,var(--vermilion) 40%,var(--vermilion) 48%,var(--ink) 48%)}.profile-row{display:flex;align-items:baseline;justify-content:space-between;gap:1.5rem;padding:1rem 0;border-bottom:1px solid var(--rule-soft)}.profile-row:last-child{border-bottom:none}.profile-label{display:flex;flex-direction:column;gap:.1rem;min-width:7rem}.profile-label em{font-family:var(--serif-en);font-style:italic;font-size:.85rem;color:var(--ink-soft);letter-spacing:.04em}.profile-label span{font-family:var(--serif-cn);font-size:.78rem;color:var(--ink-faint);letter-spacing:.1em}.profile-value{font-family:var(--serif-cn);font-size:1.05rem;color:var(--ink);text-align:right}.profile-value-strong{font-size:1.35rem;font-weight:500}.profile-value-tag{font-family:var(--serif-en);font-style:italic;font-size:.85rem;letter-spacing:.18em;color:var(--vermilion);padding:.25rem .7rem;border:1px solid var(--rule);background:var(--bone)}.profile-value-mono{font-family:var(--mono);font-size:.875rem;color:var(--ink-soft);letter-spacing:.02em}.profile-balance-num{font-family:var(--mono);font-size:1.35rem;color:var(--vermilion);font-feature-settings:"tnum" 1}.profile-balance-unit{font-family:var(--serif-cn);font-size:.95rem;color:var(--ink-soft);margin-left:.4rem}.profile-back{margin-top:2rem;text-align:center;font-family:var(--serif-cn);font-size:.9rem}.page-admin{max-width:1200px;margin:0 auto;animation:card-rise .6s cubic-bezier(.2,.7,.2,1) both}.admin-toolbar{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1rem}.admin-toolbar-meta{font-family:var(--serif-cn);font-size:.875rem;color:var(--ink-faint)}.admin-table{width:100%;border-collapse:collapse;background:var(--paper);border:1px solid var(--rule);font-family:var(--serif-cn)}.admin-table th,.admin-table td{padding:.65rem 1rem;text-align:left;border-bottom:1px solid var(--rule-soft);font-size:.875rem}.admin-table th{font-family:var(--serif-en);font-style:italic;font-weight:400;color:var(--ink-soft);letter-spacing:.06em;background:var(--bone)}.admin-table th.num,.admin-table td.num{text-align:right;font-family:var(--mono)}.admin-table th.action,.admin-table td.action{text-align:right;width:1%;white-space:nowrap}.admin-table tbody tr:last-child td{border-bottom:none}.admin-row{transition:background .4s}.admin-row-ok{background:var(--tint-accent)}.admin-id{font-family:var(--mono);font-size:.75rem;color:var(--ink-faint)}.admin-username{font-weight:500;color:var(--ink)}.admin-balance{color:var(--vermilion);font-weight:500}.admin-tokens{color:var(--ink-soft)}.admin-date{font-family:var(--mono);font-size:.8rem;color:var(--ink-soft);white-space:nowrap}.role-tag{font-family:var(--serif-en);font-style:italic;font-size:.75rem;letter-spacing:.18em;padding:.15rem .5rem;border:1px solid var(--rule);background:var(--bone)}.role-tag.role-user{color:var(--ink-soft)}.role-tag.role-admin{color:var(--vermilion);border-color:var(--vermilion)}.admin-row-expanded td{background:var(--bone);padding:.75rem 1rem;border-bottom:1px solid var(--rule-soft)}.adjust-row{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem}.adjust-label{font-family:var(--serif-cn);font-size:.8rem;color:var(--ink-soft);margin-right:.4rem}.adjust-label em{font-family:var(--serif-en);font-style:italic;color:var(--ink-faint);margin-right:.4rem;letter-spacing:.04em}.adjust-preset{font-family:var(--mono);font-size:.8rem;color:var(--ink);padding:.3rem .7rem;background:var(--paper);border:1px solid var(--rule);cursor:pointer;transition:border-color .2s,color .2s}.adjust-preset:hover{border-color:var(--vermilion);color:var(--vermilion)}.adjust-divider{color:var(--ink-faint);margin:0 .2rem}.adjust-custom{font-family:var(--mono);font-size:.85rem;width:8rem;padding:.3rem .5rem;background:var(--paper);border:1px solid var(--rule);color:var(--ink)}.adjust-custom:focus{outline:none;border-color:var(--ink)}.adjust-confirm{font-family:var(--serif-en);font-size:.825rem;letter-spacing:.15em;text-transform:uppercase;color:var(--bone);background:var(--ink);padding:.4rem .9rem;cursor:pointer;border:none;transition:background .2s,opacity .2s}.adjust-confirm:hover{background:var(--ink-soft)}.adjust-confirm:disabled{opacity:.4;cursor:not-allowed}.adjust-ok{font-family:var(--serif-cn);font-size:.85rem;color:var(--ink)}.adjust-err{font-family:var(--serif-cn);font-size:.85rem;color:var(--vermilion)}.sparkline{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;height:160px;padding:1.5rem 1.25rem .75rem;background:var(--paper);border:1px solid var(--rule);margin-bottom:2rem}.sparkline-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;gap:.5rem;min-width:0}.sparkline-bar{width:100%;max-width:40px;background:var(--vermilion);position:relative;min-height:2px;transition:opacity .2s}.sparkline-bar:hover{opacity:.85}.sparkline-bar-failed{position:absolute;top:0;left:0;right:0;background:var(--ink)}.sparkline-label{font-family:var(--mono);font-size:.7rem;color:var(--ink-faint)}.admin-menu{position:relative}.admin-menu-summary{font-family:var(--serif-cn);font-size:.95rem;color:var(--ink-soft);padding:.3rem 0;border-bottom:1px solid transparent;cursor:pointer;list-style:none;transition:color .2s,border-color .2s}.admin-menu-summary::-webkit-details-marker{display:none}.admin-menu[open] .admin-menu-summary{color:var(--ink);border-bottom-color:var(--vermilion)}.admin-menu-summary:hover{color:var(--ink)}.admin-menu-list{position:absolute;top:calc(100% + .5rem);right:0;list-style:none;margin:0;padding:.5rem 0;background:var(--paper);border:1px solid var(--rule);box-shadow:var(--shadow-hover);min-width:8rem;z-index:20}.admin-menu-list li{padding:0}.admin-menu-list .nav-link{display:block;padding:.5rem 1rem;border-bottom:none;font-size:.9rem}.admin-menu-list .nav-link.active{color:var(--vermilion);background:var(--bone)}.pw-section{margin-top:2rem;background:var(--paper);border:1px solid var(--rule);padding:1.5rem 2rem 1.5rem 2.5rem;position:relative}.pw-section:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--ink-faint)}.pw-toggle{font-family:var(--serif-cn);font-size:.95rem;color:var(--ink);border-bottom:1px solid var(--rule);padding:.25rem 0;transition:color .2s,border-color .2s}.pw-toggle:hover{color:var(--vermilion);border-bottom-color:var(--vermilion)}.pw-form{display:flex;flex-direction:column;gap:1.25rem;margin-top:1.5rem}.pw-ok{font-family:var(--serif-cn);font-size:.9rem;color:var(--ink);padding:.6rem .75rem;border-left:2px solid var(--ink);background:var(--tint-ink)}@media (max-width: 980px){.rewrite-grid{grid-template-columns:1fr;gap:2rem}}@media (max-width: 720px){.navbar{padding:1rem 1.25rem;flex-wrap:wrap;gap:.75rem}.brand-sub{display:none}.nav-meta{gap:1rem;width:100%;justify-content:space-between}.app-main{padding:1.5rem 1.25rem 3rem}.auth-card{padding:2.5rem 1.75rem 2rem 2.25rem}.auth-title{font-size:2rem}.segmented{gap:1.25rem}.segmented-option .seg-en{display:none}.result-panel,.profile-card{padding:1.75rem 1.25rem 1.5rem 1.5rem}.profile-row{flex-direction:column;gap:.35rem;align-items:flex-start}.profile-value{text-align:left}}.role-change-row{display:flex;align-items:center;gap:1rem;padding:.75rem 0;border-top:1px solid var(--rule-soft);margin-top:.5rem}.role-change-row .role-toggle{font-size:.85rem}.admin-error{color:var(--vermilion);font-size:.85rem;font-style:italic}.admin-ok-mark{color:var(--vermilion);font-weight:600;margin-left:.5rem}.page-admin-tasks .admin-filter-bar{display:flex;align-items:flex-end;gap:1.25rem;flex-wrap:wrap;padding:1rem 0 1.5rem;border-bottom:1px solid var(--rule-soft);margin-bottom:1.5rem}.page-admin-tasks .admin-filter-bar label{display:flex;flex-direction:column;gap:.35rem;font-family:var(--mono);font-size:.85rem;color:var(--ink-soft)}.page-admin-tasks .admin-filter-bar .filter-label{font-family:var(--serif-en);font-style:italic;font-size:.8rem;letter-spacing:.06em;color:var(--ink-faint)}.page-admin-tasks .admin-filter-bar input[type=text],.page-admin-tasks .admin-filter-bar select{font-family:var(--mono);font-size:.9rem;padding:.4rem .5rem;border:none;border-bottom:1px solid var(--rule);background:transparent;color:var(--ink);min-width:12ch}.page-admin-tasks .admin-filter-bar input[type=text]:focus,.page-admin-tasks .admin-filter-bar select:focus{outline:none;border-bottom-color:var(--ink)}.page-admin-tasks .admin-pager{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1.5rem;border-top:1px solid var(--rule-soft);margin-top:1.5rem}.page-admin-tasks .admin-pager-info{font-family:var(--mono);font-size:.85rem;color:var(--ink-faint)}.page-admin-tasks .admin-empty{text-align:center;padding:2rem 1rem;color:var(--ink-faint);font-style:italic}.ink-faint{color:var(--ink-faint)}.status-tag{font-family:var(--mono);font-size:.8rem;letter-spacing:.04em}.cost-preview{display:block;padding:.6rem 0;font-family:var(--mono);font-size:.85rem;color:var(--ink-soft);border-top:1px solid var(--rule-soft);margin-top:.75rem}.cost-preview b{color:var(--vermilion);font-weight:600}.cost-preview-breakdown{margin-left:.75rem;color:var(--ink-faint);font-size:.78rem}.cost-summary{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--rule-soft);font-family:var(--mono);font-size:.85rem;color:var(--ink-soft)}.cost-summary b{color:var(--vermilion)}.cost-summary-detail{margin-left:.5rem;color:var(--ink-faint)}.cost-summary-legacy{font-style:italic}.page-admin-pricing select,.page-admin-pricing input[type=text],.page-admin-pricing input[type=number]{font-family:var(--mono);font-size:.9rem;padding:.3rem .4rem;border:none;border-bottom:1px solid var(--rule);background:transparent;color:var(--ink);width:100%}.page-admin-pricing input[type=number]{text-align:right}.page-admin-pricing select:focus,.page-admin-pricing input:focus{outline:none;border-bottom-color:var(--ink)}.balance-reserved{margin-left:.3rem;font-size:.8rem;color:var(--ink-faint)}.profile-balance-detail{display:block;margin-top:.3rem;font-size:.78rem;color:var(--ink-faint);font-family:var(--mono)}.pricing-section{margin-top:2rem;padding-top:1rem;border-top:1px dashed var(--rule-soft)}.pricing-section-title{font-family:var(--mono);font-size:.95rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin:0 0 .6rem;font-weight:500}.pricing-form{display:flex;flex-direction:column;gap:.4rem;padding:.6rem 0}.pricing-form-row{display:grid;grid-template-columns:14rem 1fr;align-items:center;gap:1rem;font-family:var(--mono);font-size:.85rem}.pricing-form-row>span{color:var(--ink-soft)}.pricing-form-row input{font-family:var(--mono);font-size:.9rem;padding:.3rem .4rem;border:none;border-bottom:1px solid var(--rule);background:transparent;color:var(--ink)}.pricing-form-row input:focus{outline:none;border-bottom-color:var(--ink)}.ghost-btn-danger{color:var(--vermilion)}.action-cell{white-space:nowrap}.action-cell .ghost-btn+.ghost-btn{margin-left:.4rem}.report-file-input{display:block;font-family:var(--mono);font-size:.85rem;margin-top:.4rem}.report-file-name{margin-top:.4rem;font-family:var(--mono);font-size:.8rem;color:var(--ink-soft)}.report-help{margin-top:.6rem;padding:.6rem .75rem;font-size:.82rem;color:var(--ink-soft);background:var(--bg-soft, transparent);border-left:2px solid var(--rule);line-height:1.5}.report-info-row{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--rule-soft);font-family:var(--mono);font-size:.85rem;color:var(--ink-soft);display:flex;align-items:baseline;gap:.6rem}.report-info-row em{font-style:italic;color:var(--ink-faint);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;font-family:var(--serif-en)}.report-info-detail{color:var(--ink-soft)}.report-info-detail b{color:var(--vermilion);font-weight:500}.page-admin-prompts .prompts-layout{display:grid;grid-template-columns:16rem 1fr;gap:1.5rem;margin-top:1rem}.prompts-rail{display:flex;flex-direction:column;gap:.4rem}.prompts-rail-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;font-family:var(--mono);font-size:.85rem;color:var(--ink-soft);border:1px solid var(--rule-soft);background:transparent;cursor:pointer;text-align:left}.prompts-rail-item.active{background:var(--paper);border-color:var(--ink);color:var(--ink)}.prompts-rail-name{font-weight:500}.prompts-rail-badge{font-size:.7rem;padding:.1rem .4rem;border-radius:2px}.prompts-rail-badge-default{color:var(--ink-faint);background:var(--rule-soft)}.prompts-rail-badge-override{color:var(--vermilion);background:var(--tint-accent)}.prompts-editor{display:flex;flex-direction:column;gap:1rem}.prompts-field label{display:block;font-family:var(--serif-en);font-style:italic;font-size:.85rem;color:var(--ink-faint);margin-bottom:.25rem}.prompts-field textarea{width:100%;font-family:var(--mono);font-size:.85rem;padding:.6rem;border:1px solid var(--rule);background:transparent;color:var(--ink);resize:vertical}.prompts-required{font-size:.78rem;color:var(--ink-faint);margin-bottom:.3rem}.prompts-required code{font-family:var(--mono);background:var(--rule-soft);padding:.05rem .3rem;margin:0 .2rem;border-radius:2px;font-size:.78rem}.prompts-actions{display:flex;gap:.6rem;justify-content:flex-end;align-items:center;margin-top:.5rem}.prompts-empty{color:var(--ink-faint);font-style:italic;padding:2rem}.seg-hint{display:block;margin-top:.35rem;font-family:var(--serif-cn);font-size:.78rem;line-height:1.4;color:var(--ink-faint);letter-spacing:.02em;white-space:normal}.segmented-option:hover .seg-hint,.segmented-option.active .seg-hint{color:var(--ink-soft)}.pricing-overview-box{margin-top:1.5rem;padding:1rem 1.25rem;background:var(--paper);border-left:4px solid var(--vermilion);font-size:.88rem;color:var(--ink-soft)}.pricing-overview-box h3{margin:0 0 .5rem;font-family:var(--serif-cn);font-weight:500;font-size:1rem;color:var(--ink)}.pricing-overview-box ul{margin:0;padding-left:1.2rem;line-height:1.7}.field-help{display:block;margin-top:.25rem;font-size:.74rem;color:var(--ink-faint);font-family:var(--serif-cn);line-height:1.3}.default-mark{font-family:var(--mono);color:var(--vermilion);font-weight:600;letter-spacing:.04em}.th-en{display:block;font-family:var(--mono);font-weight:400;font-size:.7rem;color:var(--ink-faint);margin-top:.15rem;letter-spacing:.02em}.anti-aigc-row{margin-top:.4rem;padding:.4rem .6rem;font-family:var(--serif-cn);font-size:.78rem;line-height:1.4;color:var(--ink-faint);border-left:2px solid var(--rule);background:var(--tint-accent)}.anti-aigc-row .anti-aigc-detail{margin-left:.4rem;color:var(--ink-faint)}.refine-row{margin-top:.25rem;padding:.3rem .6rem;font-family:var(--serif-cn);font-size:.74rem;line-height:1.4;color:var(--ink-faint);border-left:2px solid var(--rule-soft)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;color:var(--ink-soft);background:transparent;border:1px solid var(--rule);border-radius:4px;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.theme-toggle:hover{color:var(--vermilion);border-color:var(--vermilion);background:var(--tint-accent)}.page-admin-recharge .recharge-inline-form{display:flex;flex-direction:column;gap:.5rem;padding:.8rem 0 .2rem}.page-admin-recharge .pricing-form-row{grid-template-columns:12rem 1fr}.page-admin-recharge .recharge-inline-form input{font-family:var(--mono);font-size:.9rem;padding:.3rem .4rem;border:none;border-bottom:1px solid var(--rule);background:transparent;color:var(--ink)}.page-admin-recharge .recharge-inline-form input:focus{outline:none;border-bottom-color:var(--ink)}.recharge-form-actions{margin-top:.4rem}.recharge-empty{color:var(--ink-soft);font-style:italic;text-align:center;padding:.8rem 0}.recharge-batch{color:var(--ink-soft);font-size:.8rem}.recharge-status{font-family:var(--mono);font-size:.78rem;padding:.1rem .5rem;border-radius:2px;white-space:nowrap}.recharge-status-active{color:var(--ink);border:1px solid var(--rule)}.recharge-status-redeemed{color:var(--ink-soft);border:1px solid var(--rule-soft)}.recharge-status-void{color:var(--vermilion);border:1px solid var(--vermilion)}.recharge-generated{margin-top:1rem;padding:1rem;border:1px solid var(--vermilion);background:var(--tint-accent);border-radius:3px}.recharge-generated-warn{margin:0 0 .6rem;font-size:.88rem;color:var(--ink);line-height:1.6}.recharge-generated-warn strong{color:var(--vermilion)}.recharge-code-box{width:100%;font-family:var(--mono);font-size:.95rem;letter-spacing:.04em;line-height:1.7;padding:.6rem .7rem;border:1px solid var(--rule);background:var(--paper);color:var(--ink);border-radius:2px;resize:vertical;margin-bottom:.6rem}.page-admin-recharge .admin-pager{display:flex;justify-content:space-between;align-items:center;margin-top:.8rem}.page-admin-recharge .admin-pager-info{font-family:var(--mono);font-size:.8rem;color:var(--ink-soft)}.recharge-plans{list-style:none;margin:1rem 0 0;padding:0}.recharge-plan{display:flex;justify-content:space-between;align-items:center;padding:.85rem 0;border-bottom:1px solid var(--rule-soft)}.recharge-plan:last-child{border-bottom:none}.recharge-plan-label{font-family:var(--serif-cn);font-size:1rem;color:var(--ink);font-weight:500}.recharge-plan-detail{display:flex;align-items:baseline;gap:1rem}.recharge-plan-credits{font-family:var(--mono);font-size:.9rem;color:var(--vermilion);font-feature-settings:"tnum" 1}.recharge-plan-price{font-family:var(--mono);font-size:.85rem;color:var(--ink-soft);min-width:5rem;text-align:right}.recharge-hint{margin-top:1rem;font-family:var(--serif-cn);font-size:.85rem;color:var(--ink-faint)}.site-footer{margin-top:auto;border-top:1px solid var(--rule);background:var(--paper)}.site-footer-inner{max-width:1400px;margin:0 auto;padding:2rem 3rem 2.5rem;display:flex;justify-content:space-between;align-items:flex-start;gap:2rem}.footer-brand{display:flex;align-items:baseline;gap:.6rem}.footer-brand-mark{font-family:var(--serif-en);font-size:1rem;font-weight:600;font-style:italic;color:var(--ink);letter-spacing:.02em}.footer-brand-desc{font-family:var(--serif-cn);font-size:.825rem;color:var(--ink-faint);letter-spacing:.04em}.footer-contact{display:flex;flex-direction:column;gap:.75rem}.footer-label{font-family:var(--serif-en);font-size:.75rem;font-style:italic;color:var(--ink-faint);letter-spacing:.08em;text-transform:uppercase}.footer-contact-list{display:flex;gap:1.75rem}.footer-contact-item{display:flex;align-items:flex-start;gap:.5rem;text-decoration:none;color:var(--ink-soft);transition:color .2s ease;border-bottom:none!important}.footer-contact-item:hover{color:var(--vermilion)}.footer-contact-icon{flex-shrink:0;margin-top:.15rem;opacity:.55;transition:opacity .2s ease}.footer-contact-item:hover .footer-contact-icon{opacity:.85}.footer-contact-text{display:flex;flex-direction:column;gap:.1rem;line-height:1.4}.footer-contact-label{font-family:var(--serif-cn);font-size:.7rem;color:var(--ink-faint);letter-spacing:.06em}.footer-contact-value{font-family:var(--mono);font-size:.825rem;color:var(--ink);letter-spacing:.01em}@media (max-width: 720px){.site-footer-inner{flex-direction:column;padding:1.5rem 1.25rem 2rem;gap:1.25rem}.footer-contact-list{flex-direction:column;gap:.85rem}}
