.app-router{height:100%}.button{--btn-bg-color: #e9e9e9;--btn-color: #777;display:flex;align-items:center;padding:3px 15px;justify-content:center;border-radius:5px;box-shadow:1px 1px 5px 1px silver;box-sizing:border-box;cursor:pointer;-webkit-user-select:none;user-select:none;border:solid 1px var(--btn-bg-color);background:var(--btn-bg-color);color:var(--btn-color);font-size:14px;gap:5px}.button:active{box-shadow:1px 1px 15px 1px #d0d0d0 inset}.button.primary{--btn-bg-color: #007ac1;--btn-color: #fff;text-shadow:0px 0px 20px #fffbfb}.button.disabeld{--btn-color: #beb9b9;cursor:not-allowed}.button.disabeld:active{box-shadow:1px 1px 5px 1px silver}.books-page{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box;background:linear-gradient(145deg,#f4f8ff,#f2fbf5)}.books-page .books-card{width:100%;background:#fff;border-radius:14px;box-shadow:0 12px 24px #00000014;padding:28px 24px;box-sizing:border-box;border:1px solid #eef3f8}.books-page .books-title{font-size:24px;font-weight:700;color:#1f3555}.books-page .books-head{display:flex;justify-content:space-between;align-items:center}.books-page .books-head .button{height:34px;font-size:13px}.books-page .books-subtitle{margin-top:8px;color:#67809b;font-size:14px}.books-page .books-field{margin-top:16px}.books-page .books-field .books-label{margin-bottom:8px;font-size:14px;color:#38506b}.books-page .books-field select{width:100%;height:36px;border:1px solid #d7e2ee;border-radius:8px;padding:0 10px;color:#1d2733;font-size:14px;outline:none;background:#fbfdff}.books-page .books-field select:focus{border-color:#2b8be5}.books-page .books-field select:disabled{background:#f4f7fa;color:#9aa8b8;cursor:not-allowed}.books-page .books-actions{margin-top:26px;display:flex;justify-content:flex-end}@media screen and (max-width: 640px){.books-page{padding:16px}.books-page .books-card{padding:20px 16px}.books-page .books-title{font-size:20px}}.dictation-page{min-height:100%;display:flex;align-items:center;justify-content:center;padding:28px;box-sizing:border-box;background:radial-gradient(circle at 10% 10%,#dfefff,#edf7ff 35%,#eef9f0)}.dictation-page .dictation-board{display:flex;flex-direction:column;gap:14px;align-items:center}.dictation-page .dictation-progress{background:#ffffffd1;border:1px solid #dbe9f8;color:#2e4d70;font-size:18px;font-weight:600;padding:10px 18px;border-radius:24px;box-shadow:0 8px 18px #1a4e8c1f}.dictation-page .dictation-actions{display:flex;gap:24px;align-items:center;justify-content:center;background:linear-gradient(160deg,#fffffff0,#f5fafff0);border:1px solid #deebf8;border-radius:28px;padding:30px 34px;box-shadow:0 16px 36px #1a4e8c24}.dictation-page .dictation-actions .dictation-btn .button{width:112px;height:112px;border-radius:56px;padding:0;font-size:24px;font-weight:700;letter-spacing:1px;box-shadow:0 9px 20px #1c487633;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;-webkit-tap-highlight-color:transparent}.dictation-page .dictation-actions .dictation-btn .button:active{transform:scale(.97);box-shadow:0 4px 12px #1c487640}.dictation-page .dictation-actions .dictation-btn .button.disabeld{opacity:.55;filter:saturate(.4);box-shadow:0 4px 10px #1c487629}.dictation-page .dictation-actions .dictation-btn-pause .button{width:164px;border-radius:82px;font-size:26px;box-shadow:0 11px 24px #007ac14d}@media screen and (min-width: 768px) and (max-width: 1200px){.dictation-page .dictation-progress{font-size:17px}.dictation-page .dictation-actions{padding:28px 30px;gap:20px}.dictation-page .dictation-actions .dictation-btn .button{width:108px;height:108px;border-radius:54px;font-size:22px}.dictation-page .dictation-actions .dictation-btn-pause .button{width:156px;border-radius:78px;font-size:24px}}@media screen and (max-width: 640px){.dictation-page{padding:16px}.dictation-page .dictation-board{width:100%}.dictation-page .dictation-progress{width:100%;box-sizing:border-box;text-align:center;font-size:15px}.dictation-page .dictation-actions{width:100%;justify-content:space-around;gap:10px;padding:16px 14px;border-radius:20px}.dictation-page .dictation-actions .dictation-btn .button{width:86px;height:86px;border-radius:43px;font-size:18px}.dictation-page .dictation-actions .dictation-btn-pause .button{width:122px;border-radius:61px;font-size:20px}}.textarea{outline:0;width:100%;border:solid 1px #777;border-radius:3px;padding:5px 10px;height:100%;position:relative;box-sizing:border-box}.textarea:focus{color:#000;text-shadow:0 0 0 #000,0 0 0 #777}.textarea.horizontal{height:100%!important;resize:horizontal}.textarea.vertical{width:100%!important;resize:vertical}.textarea.none{resize:none}.border-none{border:0}.vocab-page{min-height:100%;padding:20px;box-sizing:border-box;background:linear-gradient(145deg,#f3f8ff,#f0faf3)}.vocab-page .vocab-layout{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1.15fr 1fr;gap:18px}.vocab-page .vocab-panel{background:#fff;border:1px solid #e7eef7;border-radius:14px;box-shadow:0 8px 20px #16427814;padding:18px;box-sizing:border-box}.vocab-page .panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.vocab-page .panel-title{font-size:20px;font-weight:700;color:#1e3855}.vocab-page .form-field{margin-top:14px;display:flex;flex-direction:column;gap:8px}.vocab-page .form-field label{color:#3d5975;font-size:14px}.vocab-page .form-field input{height:36px;border:1px solid #d3dfed;border-radius:8px;padding:0 10px;font-size:14px;outline:none;background:#fcfdff}.vocab-page .form-field input:focus{border-color:#3388db}.vocab-page .form-field .textarea{border-radius:8px;min-height:120px}.vocab-page .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:4px}.vocab-page .form-grid .form-field{margin-top:10px}.vocab-page .form-actions{margin-top:16px;display:flex;gap:10px;justify-content:flex-end}.vocab-page .error-message{margin-top:12px;border-radius:8px;background:#fff2f2;color:#b53c3c;border:1px solid #fdd;padding:8px 10px;font-size:13px}.vocab-page .list-panel{display:flex;flex-direction:column;min-height:320px}.vocab-page .list-tip{margin-top:16px;color:#68839c;font-size:14px}.vocab-page .audio-regenerate-config{margin-top:12px;display:flex;gap:12px;flex-wrap:wrap;background:#f5faff;border:1px solid #e1ecf8;border-radius:10px;padding:10px}.vocab-page .audio-config-item{display:flex;align-items:center;gap:8px}.vocab-page .audio-config-item label{color:#466381;font-size:13px}.vocab-page .audio-config-item select,.vocab-page .audio-config-item input{height:30px;border:1px solid #d3dfed;border-radius:8px;padding:0 8px;font-size:13px;outline:none;background:#fcfdff}.vocab-page .audio-config-item select:focus,.vocab-page .audio-config-item input:focus{border-color:#3388db}.vocab-page .list-wrap{margin-top:12px;display:flex;flex-direction:column;gap:10px;max-height:calc(100vh - 180px);overflow:auto;padding-right:4px}.vocab-page .list-item{display:flex;justify-content:space-between;gap:10px;border:1px solid #e8eef6;border-radius:10px;padding:12px;background:#fbfdff}.vocab-page .item-main{min-width:0}.vocab-page .item-title{font-size:16px;font-weight:700;color:#1f3856}.vocab-page .item-meta{margin-top:5px;font-size:13px;color:#58718a}.vocab-page .item-words-summary{margin-top:6px;color:#36516d;font-size:13px;line-height:1.5;word-break:break-all}.vocab-page .item-word-list{margin-top:8px;display:flex;flex-direction:column;gap:6px}.vocab-page .item-word-empty{color:#7a8fa3;font-size:13px}.vocab-page .word-row{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#f6faff;border:1px solid #e2edf8;border-radius:8px;padding:6px 8px}.vocab-page .word-label{color:#2d4a68;font-size:13px;word-break:break-all}.vocab-page .word-actions{display:flex;gap:6px;flex-shrink:0}.vocab-page .word-actions .button{font-size:12px;padding:3px 10px;border-radius:14px}.vocab-page .item-actions{display:flex;gap:8px;flex-shrink:0;align-self:flex-start}@media screen and (max-width: 1024px){.vocab-page .vocab-layout{grid-template-columns:1fr}.vocab-page .list-wrap{max-height:none}}@media screen and (max-width: 640px){.vocab-page{padding:12px}.vocab-page .vocab-panel{padding:14px}.vocab-page .panel-title{font-size:18px}.vocab-page .form-grid{grid-template-columns:1fr}.vocab-page .list-item{flex-direction:column}.vocab-page .item-actions{align-self:stretch;justify-content:flex-end}.vocab-page .audio-regenerate-config{flex-direction:column}}*{padding:0;margin:0}html,body,#root{height:100%}
