*{box-sizing:border-box}body{margin:0;background:#f7f9fc;color:#141d33;font:15px/1.5 Microsoft YaHei,PingFang SC,Arial,sans-serif}button,input,textarea,select{font:inherit}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 15px;border:1px solid #dce2ee;background:#fff;border-radius:6px;color:#35415c;cursor:pointer;white-space:nowrap}button:hover{background:#f0f4ff;border-color:#a8bffb}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b6c9ff;outline-offset:2px}.primary{background:#1045f4;color:#fff;border-color:#1045f4}.primary:hover{background:#0036d8;color:#fff}.link{border:0;background:none;color:#124bf1;padding:5px}.danger{color:#e74750;border-color:#f18b94}.full{width:100%;margin-top:12px}h1{font-size:30px;line-height:1.3;margin:0 0 7px;font-weight:700;letter-spacing:-.5px}h2{font-size:19px;margin:0 0 18px}h3{font-size:15px;margin:27px 0 14px}p{margin:8px 0 18px}.muted,small,.hint{color:#6d7890}small{font-size:12px}.hint{font-size:13px;line-height:1.7}.topbar{height:66px;position:fixed;inset:0 0 auto;background:#fff;border-bottom:1px solid #e2e7f0;display:flex;align-items:center;justify-content:space-between;padding:0 28px;z-index:5}.brand{display:flex;align-items:center;gap:12px}.brand svg,.brand strong{color:#ff6500}.brand strong{font-size:25px;letter-spacing:1px}.brand i{height:26px;border-left:1px solid #e0e5ee;margin:0 3px}.brand b{font-size:20px}.topright{display:flex;gap:20px;align-items:center}.sidebar{width:208px;position:fixed;top:66px;bottom:0;border-right:1px solid #e1e7f0;padding:20px 10px;background:#f5f8fd}.sidebar button{position:relative;width:100%;height:56px;margin-bottom:5px;justify-content:flex-start;gap:19px;padding:0 21px;background:none;border:0;border-radius:6px;font-size:16px}.sidebar button.active{background:#e7eeff;color:#1045f4;font-weight:600}.sidebar button.active:before{content:"";position:absolute;left:-10px;top:0;bottom:0;width:3px;background:#1045f4}.main{margin-left:208px;padding:104px 24px 38px;min-height:100vh}.pagehead{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin:0 8px 23px}.pagehead p{color:#5d6880;margin:0;font-size:15px}.pagehead>.primary{height:50px;padding:0 25px}.panel{background:#fff;border:1px solid #eef1f6;border-radius:9px;min-width:0}.voice-layout{display:grid;grid-template-columns:minmax(0,1fr) 385px;gap:0;min-height:calc(100vh - 225px)}.voice-layout.no-detail{grid-template-columns:1fr}.library{display:flex;flex-direction:column}.tabs{display:flex;border-bottom:1px solid #e8edf5;padding:0 20px;gap:16px;flex-shrink:0}.tabs button{border:0;border-radius:0;position:relative;background:none;padding:22px 11px;color:#49546c;font-weight:500}.tabs button.active{color:#1045f4;font-weight:600}.tabs button.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:#1045f4}.tools{display:flex;align-items:center;gap:12px;padding:24px 20px}.tools label{margin:0}.search{display:flex;align-items:center;border:1px solid #dce3ef;border-radius:6px;padding-left:14px;min-width:130px;flex:1;color:#71809b}.search input{border:0;min-width:0;width:100%;background:transparent}.tools select{width:auto;max-width:170px}input,select,textarea{border:1px solid #dce3ef;border-radius:6px;color:#28344d;padding:10px 12px;width:100%;background:#fff}textarea{resize:vertical;line-height:1.8}label{display:block;color:#65718b;margin:0 0 20px}label input,label select,label textarea{display:block;margin-top:7px;color:#24324e}label b{float:right}.table-scroll{overflow:auto;min-width:0}.library .table-scroll{padding:0 20px;flex:1}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th{background:#f5f7fb;color:#556078;font-weight:500;padding:18px 15px;white-space:nowrap}td{padding:22px 15px;border-bottom:1px solid #e8edf4;vertical-align:middle}tr.selected{background:#edf3ff}tr:hover{background:#f7faff}.voices tbody tr{cursor:pointer}.voices td:first-child{width:38%}.name{display:block;white-space:normal;text-align:left;border:0;background:none;padding:0;color:#101a30;font-weight:600;font-size:16px}.voices small{display:block;margin-top:7px}.actions{display:flex;align-items:center;gap:5px;white-space:nowrap}.badge{display:inline-flex;align-items:center;font-size:13px;white-space:nowrap;color:#7c879c;gap:7px}.badge:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}.badge.ready,.badge.succeeded{color:#219255}.badge.failed{color:#d44347}.badge.draft,.badge.unknown,.badge.processing{color:#bd7b12}.badge.running,.badge.queued{color:#1c58dc}.pager{padding:26px 20px;display:flex;justify-content:space-between;align-items:center;color:#73809b;font-size:13px;margin-top:auto}.pager div{display:flex;align-items:center;gap:12px}.pager button{padding:8px}.pager b{color:#1753ec;border:1px solid #1753ec;border-radius:6px;padding:6px 13px}.detail{padding:24px 20px;display:flex;flex-direction:column}.detailtitle{display:flex;gap:10px;align-items:center}.detailtitle h2{margin:0;font-size:20px;overflow-wrap:anywhere}.detailtitle>.link{margin-left:auto;color:#65708b}.detail .tabs{padding:0;margin-top:12px}.detail h3{margin-top:27px}.samplebox{background:#f5f7fc;border:1px solid #e8edf5;border-radius:7px;padding:16px 10px}.samplebox button{width:100%;border:0;background:none;padding:3px;color:#2458df}.samplebox span{margin-left:auto;font-size:12px;color:#7b86a0}.samplebox p{font-size:13px;margin:0}.detail form{margin-top:0}.detail label{font-size:14px;margin-bottom:17px}.save{width:100%;color:#1a4ee5;background:#f8faff}dl{display:grid;grid-template-columns:95px 1fr;gap:20px;font-size:13px;margin:22px 0}dt{color:#74809a}dd{margin:0;overflow-wrap:anywhere}.detailbottom{margin-top:auto;padding-top:20px;border-top:1px solid #eef1f5}.empty{min-height:260px;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#94a0b5;text-align:center;padding:30px}.empty p{margin:15px 0}.pad{padding:26px}.row{display:flex;justify-content:space-between;align-items:center;gap:18px}.row>label{flex:1}.row h2{margin:0}.create-grid{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:20px}.editor{min-height:410px;font-size:16px;line-height:2;padding:18px;resize:vertical;margin-bottom:14px}.check{display:flex;align-items:center;gap:9px}.check input{width:auto;margin:0}.recent{margin-top:20px}.recent .row{margin-bottom:20px}.clip{max-width:280px;overflow-wrap:anywhere}.preview{white-space:pre-wrap;overflow-wrap:anywhere;max-height:300px;overflow:auto;background:#f7f9fd;padding:18px;margin-top:20px}.dictionary{max-width:1000px}.rule{display:grid;grid-template-columns:1fr 1fr 45px;gap:14px;margin:16px 0}.settings{max-width:760px}.settings h3{border-top:1px solid #e7ecf5;padding-top:25px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:20px 0 28px}.metrics>div{padding:20px;background:#f7f9fd;border-radius:8px}.metrics span{color:#69778f;display:block}.metrics strong{font-size:29px;display:block;margin-top:8px}.notice{display:flex;justify-content:space-between;background:#edf3ff;color:#24477f;border:1px solid #d9e5ff;padding:10px 18px;margin-bottom:18px;border-radius:6px}.error{color:#c93540;overflow-wrap:anywhere}.audio-dock{position:fixed;bottom:18px;left:50%;transform:translate(-35%);z-index:15;display:flex;align-items:center;gap:20px;background:#fff;box-shadow:0 6px 30px #25396630;border:1px solid #dce4f2;border-radius:10px;padding:13px 20px}.audio-dock audio{width:360px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#14213b66;display:flex;align-items:center;justify-content:center;padding:30px}.modal{width:570px;max-height:90vh;overflow:auto;background:#fff;padding:32px;border-radius:12px;position:relative;box-shadow:0 20px 90px #101f3030}.modal .close{float:right;padding:5px;border:0}.modal h2{font-size:23px}.login{max-width:480px;margin:12vh auto;background:#fff;border:1px solid #e4eaf2;border-radius:12px;padding:40px}.login h1{font-size:25px;margin-top:20px}.login p{color:#728098}.login form button{width:100%;margin-bottom:20px}.mini-history>div{border-bottom:1px solid #e6ebf3;padding:20px 0}.mini-history p{font-size:12px;color:#738099;margin:6px 0}.tools label input{min-width:160px}.infohead{margin-top:25px;margin-bottom:14px}.infohead h3{margin:0}.small-btn{padding:6px 12px;font-size:13px}.voices{font-size:14px}.voices td:first-child{width:31%}.voices td,.voices th{padding-left:12px;padding-right:12px}.voices td:nth-child(3){max-width:140px}.detail label{font-size:15px}.detail dl{gap:17px;font-size:14px}.voice-layout{min-height:calc(100vh - 220px)}.library .tools{padding-top:27px;padding-bottom:27px}.detailbottom{padding-top:12px}.detailbottom button{padding:9px 12px}.voices .actions{gap:8px}.voices .link{font-size:13px}@media(min-width:1600px){.voice-layout{grid-template-columns:minmax(0,1fr) 400px}.main{padding-left:32px;padding-right:32px}td{padding-top:26px;padding-bottom:26px}}@media(max-width:1200px){.sidebar{width:180px}.main{margin-left:180px;padding:96px 18px 30px}.voice-layout{grid-template-columns:minmax(0,1fr) 320px}.tools{flex-wrap:wrap;padding:18px 14px}.search{flex-basis:100%}.tabs{gap:5px;padding:0 10px}.tabs button{font-size:13px;padding:20px 9px}.library .table-scroll{padding:0 12px}.voices td{padding:20px 10px}.voices th{padding:16px 10px}.name{font-size:14px}.detail{padding:20px 16px}.detailtitle{flex-wrap:wrap}.detailtitle h2{font-size:18px}.metrics{gap:10px}.metrics strong{font-size:24px}}@media(max-width:900px){.topbar{padding:0 15px}.topright .badge{display:none}.sidebar{width:68px;padding:15px 5px}.sidebar button{font-size:0;padding:0;justify-content:center;gap:0}.sidebar button svg{width:24px}.main{margin-left:68px}.voice-layout{grid-template-columns:1fr}.detail{margin-top:18px}.create-grid{grid-template-columns:1fr}.pagehead{margin-left:0;margin-right:0}h1{font-size:25px}.brand strong{font-size:20px}.brand b{font-size:17px}.pagehead p{font-size:13px}.pagehead>.primary{padding:0 12px;font-size:13px}.metrics{grid-template-columns:repeat(2,1fr)}.audio-dock{left:15px;right:15px;transform:none;gap:8px}.audio-dock audio{width:100%}.audio-dock>span{display:none}}@media(max-width:1100px){.voice-layout{grid-template-columns:1fr}.detail{margin-top:18px}.detailbottom{margin-top:20px}}.recorder{margin-top:20px}.recorder audio{width:100%}.modal .tabs{margin-bottom:20px}
