.app-name{display:flex;align-items:center;gap:12px;font-weight:850;letter-spacing:.04em}.app-name strong{font-size:19px}.app-name small{display:block;color:var(--muted);font-size:10px;letter-spacing:.16em}.header-actions{display:flex;align-items:center;gap:10px}.change-task{border:1px solid var(--line);border-radius:999px;background:#111d2dcc;color:var(--ink);padding:9px 14px;cursor:pointer}.task-chooser,.task-upload-modal{position:fixed;inset:0;z-index:1600;display:grid;place-items:center;padding:24px;background:#020812dc;backdrop-filter:blur(10px)}.task-chooser[hidden]{display:none}.task-card,.task-upload-card{width:min(900px,100%);max-height:calc(100vh - 40px);overflow:auto;border:1px solid #42d7e84d;border-radius:26px;background:linear-gradient(145deg,#132238,#091421);box-shadow:0 40px 120px #000d;padding:28px}.task-head{display:flex;justify-content:space-between;gap:20px}.task-head h2,.task-upload-card h2{margin:6px 0;font-size:clamp(28px,5vw,44px)}.task-head p,.task-upload-intro{color:var(--muted)}.task-close,.task-upload-close{border:0;background:transparent;color:var(--muted);font-size:30px;cursor:pointer}.task-upload-close{float:right}.task-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0}.task-choice{min-height:150px;text-align:left;border:1px solid var(--line);border-radius:18px;background:#101d2d;color:var(--ink);padding:18px;cursor:pointer;transition:.18s}.task-choice:hover{border-color:#42d7e866;background:#122033}.task-choice.selected{border-color:var(--cyan);background:#122033;box-shadow:0 0 0 2px #42d7e822,0 12px 30px #0005;transform:translateY(-2px)}.task-choice b{display:block;font-size:17px;margin:10px 0 6px}.task-choice span{display:block;color:var(--muted);font-size:13px;line-height:1.45}.task-icon{font-size:25px;color:var(--cyan)}.task-languages{display:none;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}.task-start{display:none;width:100%;border:0;border-radius:999px;padding:16px;background:linear-gradient(100deg,var(--cyan),var(--blue));color:#06111d;font-weight:850;font-size:16px;cursor:pointer}.task-card.task-stage-tasks #taskChooserTitle{display:none}.task-card.task-stage-languages .task-grid{display:none}.task-card.task-stage-languages #taskChooserTitle{display:block;margin:24px 0 4px}.task-card.task-stage-languages .task-languages{display:grid}.task-card.task-stage-languages .task-start{display:block}.task-upload-drop{min-height:330px;margin-top:28px;border:2px dashed #42d7e888;border-radius:24px;background:#42d7e808;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px;cursor:pointer;transition:.2s}.task-upload-drop:hover,.task-upload-drop.dragging{border-color:var(--cyan);background:#42d7e814;transform:translateY(-1px)}.task-upload-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:22px;background:#142a43;color:var(--cyan);font-size:38px;margin-bottom:18px}.task-upload-drop strong{font-size:clamp(24px,4vw,34px);color:var(--ink);margin-bottom:9px}.task-upload-drop>span:not(.task-upload-icon){color:var(--muted);line-height:1.5}.task-upload-drop button{margin-top:24px;border:0;border-radius:999px;padding:13px 28px;background:linear-gradient(100deg,var(--cyan),var(--blue));color:#06111d;font-weight:850;cursor:pointer}.task-upload-help{text-align:center;color:var(--muted);font-size:12px}.drop-zone{margin:14px 0;border:1px dashed #42d7e866;border-radius:16px;padding:24px;text-align:center;color:var(--muted);cursor:pointer;background:#42d7e808}.drop-zone strong{display:block;color:var(--ink);margin-bottom:5px}.workflow-steps{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.translator[data-task="audio"] #audioDropZone,.translator[data-task="document"] #documentDropZone,.translator[data-task="book"] #documentDropZone{display:block}.translator:not([data-task="audio"]) #audioDropZone,.translator:not([data-task="document"]):not([data-task="book"]) #documentDropZone{display:none}@media(max-width:760px){.task-card,.task-upload-card{padding:20px}.task-grid{grid-template-columns:1fr 1fr}.task-languages{grid-template-columns:1fr}.task-upload-drop{min-height:260px;padding:28px 18px}}@media(max-width:460px){.task-grid{grid-template-columns:1fr}.task-choice{min-height:110px}.task-upload-drop{min-height:230px}.app-name strong{font-size:16px}}
.task-upload-native-input{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;opacity:.01!important}
body:has(#micButton.listening)::before{content:"";position:fixed;inset:0;z-index:1750;background:#020812e8;backdrop-filter:blur(12px)}
body:has(#micButton.listening)::after{content:"Listening…\A\A Speak naturally.";white-space:pre-line;position:fixed;z-index:1752;left:50%;top:40%;transform:translate(-50%,-50%);width:min(620px,calc(100vw - 48px));text-align:center;color:var(--ink);font-weight:800;font-size:clamp(24px,4vw,36px);line-height:1.3;pointer-events:none}
#micButton.listening{position:fixed!important;z-index:1753!important;left:50%!important;top:65%!important;transform:translate(-50%,-50%)!important;width:min(360px,calc(100vw - 64px))!important;min-height:72px!important;box-shadow:0 0 0 1px #42d7e866,0 18px 70px #000b!important}
#micButton.listening #micLabel::before{content:"● ";color:#ff6b6b}
#micButton.listening #micLabel{font-weight:850!important}
@media(max-width:600px){body:has(#micButton.listening)::after{top:36%;font-size:26px;width:calc(100vw - 36px)}#micButton.listening{top:63%!important;width:calc(100vw - 48px)!important;min-height:68px!important}}

.task-language-hint{margin:0 0 12px;color:#ff9aae;font-size:13px}.task-language-hint[hidden]{display:none}.task-language-hint--note{color:#8fd6e6}

.task-languages{grid-template-columns:1fr 1fr}
.task-languages__wide{grid-column:1/-1}

/* Five choices, not four: the three short jobs across the top, the two book
   jobs sharing the row below. An odd tile left hanging on a row of its own
   reads as an afterthought rather than a peer of the rest. Six tracks, because
   three-across and two-across have no common column count. The last two are
   picked out from the end, so reordering the tiles cannot leave a gap. */
.task-stage-tasks .task-grid{grid-template-columns:repeat(6,1fr)}
.task-stage-tasks .task-choice{grid-column:span 2}
.task-stage-tasks .task-choice:nth-last-child(-n+2){grid-column:span 3}
@media(max-width:760px){.task-stage-tasks .task-grid{grid-template-columns:repeat(2,1fr)}.task-stage-tasks .task-choice,.task-stage-tasks .task-choice:nth-last-child(-n+2){grid-column:span 1}}
@media(max-width:460px){.task-stage-tasks .task-grid{grid-template-columns:1fr}}
/* `hidden` is a UA-level display:none, and these labels are given a display of
   their own — so the attribute alone did nothing and the hidden menu stayed on
   screen. */
.task-languages label[hidden]{display:none}
