:root{color-scheme:light;--ink:#19324c;--muted:#687c91;--line:#d9e4ef;--blue:#176ac6;--background:#f3f6fa}
*{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--ink);font:14px/1.55 Arial,"Microsoft YaHei",sans-serif}button,input,textarea,select{font:inherit;color:inherit}button,a,input,textarea,select{outline-offset:3px}button{cursor:pointer;border:1px solid var(--line);background:#fff;padding:8px 13px;border-radius:6px;white-space:nowrap}button:hover{border-color:var(--blue)}button:disabled{opacity:.5;cursor:not-allowed}a{color:var(--blue);text-decoration:none}h1,h2,p,figure{margin:0}h1{font-size:25px}h2{font-size:15px}fieldset{border:0;margin:0;padding:0;min-width:0}[hidden]{display:none!important}.translator-page{max-width:1600px;margin:auto;padding:26px}.heading,.toolbar,.panel-head,.editor-heading,.box-heading,.export-bar{display:flex;align-items:center;justify-content:space-between;gap:14px}.heading{margin-bottom:22px}.heading p,.toolbar>span{color:var(--muted)}.eyebrow{font-size:12px;margin-bottom:3px}.toolbar{margin:16px 0;font-size:13px}.toolbar button+button{margin-left:8px}.panel{background:white;border:1px solid var(--line);border-radius:10px;box-shadow:0 3px 12px #19324c04;min-width:0}.panel-head{padding-bottom:16px}.panel-head>span{color:var(--muted);font-size:12px}.workspace{display:grid;grid-template-columns:310px minmax(0,1fr);gap:18px;align-items:start}.workspace.empty{display:block;max-width:560px;margin:22px auto}.settings,.work,#history{padding:20px}.settings label:not(.upload){display:block;margin-top:17px;margin-bottom:7px;font-weight:600}.settings input,.settings select,textarea,.coordinates input,.style-fields input{width:100%;border:1px solid #c9d6e5;border-radius:5px;padding:9px;background:white}.settings select{height:40px}.upload{border:1px dashed #95b5d7;background:#f6faff;border-radius:8px;min-height:144px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;cursor:pointer}.upload span{font-size:12px;color:var(--muted)}.file-input{max-width:100%;margin-top:8px;font-size:12px}.link-input{display:flex;gap:6px}.link-input input{min-width:0}.hint{color:var(--muted);font-size:12px;margin:8px 0}.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.full{width:100%}.price{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:16px;margin-top:22px}.price strong{font-size:20px}.notice,.message{padding:12px 14px;border:1px solid #c6dbf3;background:#eff7ff;border-radius:6px;margin-bottom:16px}.message.error,.warning{color:#815414;border-color:#f0d89a;background:#fff9ed}.message:empty{display:none}.notice button{margin-left:10px}.comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.comparison:has(#translatedFigure[hidden]){grid-template-columns:minmax(0,1fr);max-width:580px;margin:auto}.comparison figure{min-width:0}figcaption{font-weight:600;margin-bottom:8px;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}figcaption span{font-size:12px;color:var(--muted);font-weight:400}canvas{width:100%;height:auto;display:block;background:#edf1f6;border-radius:4px}.image-stage{position:relative}.boxes{position:absolute;inset:0}.region-box{position:absolute;border:2px solid #176ac6;background:#176ac612;padding:0;border-radius:0;min-width:2px;min-height:2px;overflow:visible}.region-box.selected{border-color:#e06d0b;background:#ff9f2012}.region-box span{position:absolute;top:0;left:0;color:white;background:#176ac6;font-size:12px;line-height:18px;min-width:18px}.region-box.selected span{background:#b75206}.image-stage.drawing{touch-action:none;cursor:crosshair}.image-stage.drawing .boxes{pointer-events:none}#review{margin-top:24px;border-top:1px solid var(--line);padding-top:20px}.review-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:18px}.region-list{max-height:470px;overflow:auto}.region-list button{width:100%;white-space:normal;text-align:left;margin-bottom:8px;padding:10px}.region-list button.active{border-color:var(--blue);background:#eef6ff}.region-list small{display:block;color:var(--muted)}#regionEditor>label{display:block;font-weight:600;margin:12px 0 5px}#regionEditor label span{font-size:12px;color:var(--muted);font-weight:400}textarea{resize:vertical;display:block}label.check{display:flex!important;align-items:flex-start;gap:8px;font-weight:400!important}.check input{margin-top:4px;flex-shrink:0}.warning-text{font-size:12px;color:#975b0a;margin-top:8px}.coordinates,.style-fields{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));font-size:12px}.style-fields{grid-template-columns:1fr 1fr 2fr;margin-top:12px}.style-fields input[type=color]{height:39px;padding:4px}.box-heading{margin:14px 0 8px;flex-wrap:wrap}.box-heading button{font-size:12px;padding:5px 9px}.confirm{padding:12px;background:#f2f8ff;border-radius:5px}.danger{color:#ac3547;border:0;background:transparent;padding-left:0}.export-bar{border-top:1px solid var(--line);padding-top:16px;margin-top:18px;flex-wrap:wrap}.export-bar p{font-size:12px;color:var(--muted)}.export-bar button+button{margin-left:8px}#cancel{margin-top:15px}#history{margin-bottom:18px}.history-row{display:flex;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.history-row img{width:54px;height:64px;object-fit:contain;border:1px solid var(--line)}.history-row .details{flex:1}.history-row small{display:block;color:var(--muted)}.pager{display:flex;justify-content:flex-end;align-items:center;gap:14px;margin-top:14px}.muted{color:var(--muted)}
@media(max-width:1050px){.workspace{grid-template-columns:270px minmax(0,1fr)}.review-layout{grid-template-columns:1fr}.region-list{display:flex;gap:8px;max-height:130px}.region-list button{min-width:160px;width:160px;margin:0}.translator-page{padding:18px}.settings,.work{padding:16px}}
@media(max-width:720px){.workspace{grid-template-columns:1fr}.heading{align-items:flex-start}.heading h1{font-size:22px}.heading nav{white-space:nowrap;font-size:12px}.toolbar{align-items:flex-start;flex-direction:column}.comparison{gap:10px}.translator-page{padding:14px}.coordinates{grid-template-columns:repeat(2,minmax(0,1fr))}.export-bar>div{display:flex;flex-wrap:wrap;gap:8px}.export-bar button+button{margin:0}.heading p:not(.eyebrow){max-width:260px}.notice{font-size:13px}.settings label:not(.upload){margin-top:12px}}
