/* Study vocabulary workspace: scoped, light, uses the service's blue palette. */
.sv{--sv-ink:#244f79;--sv-line:#dce7ef;--sv-pale:#f1f6fb;color:#1d3855;max-width:1120px;margin:0 auto 28px;font-family:inherit}
.sv *{box-sizing:border-box}.sv [hidden]{display:none!important}.sv button,.sv input,.sv textarea,.sv select{font:inherit}.sv button{cursor:pointer}.sv button:disabled{opacity:.48;cursor:default}.sv button:focus-visible,.sv input:focus-visible,.sv textarea:focus-visible,.sv select:focus-visible{outline:3px solid #6b9cc3;outline-offset:2px}
.sv-top,.sv-actions,.sv-tabs,.sv-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sv-top{justify-content:space-between;margin-bottom:24px}.sv h2{font-size:26px;margin:6px 0}.sv h3{margin:0 0 12px;font-size:19px}.sv p{line-height:1.65;margin:6px 0}.sv-kicker{font-size:12px;letter-spacing:.12em;color:#547fa6;font-weight:800}.sv-muted{font-size:13px;color:#688095}.sv-btn{border:1px solid var(--sv-line);border-radius:10px;padding:11px 16px;color:var(--sv-ink);background:#fff;font-weight:700;min-height:44px}.sv-btn.sv-primary{background:#315d87;border-color:#315d87;color:white}.sv-btn.sv-danger{color:#a53e48}.sv-tabs{border-bottom:1px solid var(--sv-line);margin-bottom:20px;padding-bottom:12px}.sv-tabs button[aria-selected=true]{background:#e9f0f6;border-color:#93abc1}.sv-panel,.sv-card{border:1px solid var(--sv-line);background:#fff;border-radius:16px;padding:24px;margin-bottom:18px;box-shadow:0 3px 15px #244f7906}.sv-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.sv-card{margin:0;display:flex;flex-direction:column;gap:14px}.sv-card h3{overflow-wrap:anywhere;margin:0}.sv-tag{display:inline-block;border-radius:6px;background:var(--sv-pale);font-size:12px;padding:4px 8px;color:#547fa6}.sv-empty{text-align:center;padding:45px 20px;background:var(--sv-pale);border:1px dashed #c5d4e0;border-radius:16px}.sv-formgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:16px 0}.sv label{display:block;font-size:13px;font-weight:700;line-height:1.6}.sv input:not([type=checkbox]),.sv textarea,.sv select{display:block;width:100%;border:1px solid #c5d4e0;border-radius:8px;padding:10px 12px;background:white;color:#1d3855;min-height:44px}.sv input[type=checkbox]{width:18px;height:18px;vertical-align:middle;accent-color:#315d87}.sv textarea{resize:vertical;min-height:110px}.sv-checks{display:flex;gap:18px;flex-wrap:wrap;margin:14px 0}.sv-scroll{max-width:100%;overflow:auto;max-height:450px;border:1px solid var(--sv-line);border-radius:10px;margin:16px 0}.sv table{border-collapse:collapse;min-width:680px;width:100%;text-align:left;font-size:13px}.sv th{background:var(--sv-pale);position:sticky;top:0;z-index:1}.sv td,.sv th{padding:10px;border-bottom:1px solid var(--sv-line);vertical-align:top}.sv td input{min-width:130px}.sv td:first-child{width:40px}.sv-statgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}.sv-stat{background:var(--sv-pale);padding:20px;border-radius:12px}.sv-stat strong{display:block;font-size:28px;color:#244f79}.sv-alert{background:#fff5df;color:#795c27;border:1px solid #eddbb0;padding:13px 16px;border-radius:10px;margin:14px 0;line-height:1.6}.sv-error{color:#a53e48}.sv-notice{min-height:24px;line-height:1.6;margin:10px 0}.sv-steps{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px;padding:0;list-style:none}.sv-steps li{border-radius:20px;background:var(--sv-pale);color:#547fa6;padding:7px 14px;font-size:12px}.sv-question{padding:22px 0;border-bottom:1px solid var(--sv-line)}.sv-question p{font-size:19px;margin-bottom:14px}.sv-question input{max-width:550px}.sv-timer{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums}.sv-progress{height:6px;border-radius:4px;background:var(--sv-line);overflow:hidden}.sv-progress span{display:block;height:100%;background:#547fa6}.sv-choicebank{display:flex;flex-wrap:wrap;gap:7px}.sv-choicebank button[aria-pressed=true]{background:#315d87;color:white}.sv-join{max-width:700px;margin:0 auto}.sv-link{overflow-wrap:anywhere;user-select:all}.sv a{color:#315d87}.sv-toolbar{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.sv-match-row{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:16px}.sv-pair{background:var(--sv-pale);border:1px solid var(--sv-line);border-radius:10px;padding:16px;min-height:62px}
@media(max-width:900px){.sv-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.sv-statgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.sv-formgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.sv h2{font-size:23px}.sv-panel{padding:18px}.sv-cards,.sv-formgrid{grid-template-columns:1fr}.sv-top{align-items:flex-start}.sv-card{padding:20px}.sv-actions .sv-btn{flex:1}.sv-stat{padding:15px}.sv-stat strong{font-size:25px}.sv-question p{font-size:17px}.sv-match-row{grid-template-columns:1fr}.sv-tabs{gap:6px}.sv-tabs button{padding:10px}.sv-steps{gap:5px}.sv-steps li{padding:6px 10px}.sv-top>.sv-actions{width:100%}}
/* Keep the study navigation and profile shortcuts available. */
[data-mdtab="room"],[data-mdtab="wrong"],[data-mdtab="report"]{display:inline-flex!important}#pcRoomBtn,#pcWrongBtn{display:inline-flex!important}


.sv-room-active body{width:100%;min-width:0}.sv-room-active #view-studyroom{min-width:0}

.sv-memory-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0}.sv-matching-board{display:grid;grid-auto-flow:column;grid-template-rows:repeat(var(--sv-pairs,3),auto);grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.sv-pair-card{border:2px solid #dce7ef;border-radius:13px;background:#f1f6fb;color:#244f79;min-height:100px;padding:16px;line-height:1.5;font-size:17px;overflow-wrap:anywhere}.sv-pair-card small{display:block;font-size:10px;letter-spacing:.05em;margin-bottom:8px;color:#688095}.sv-meaning{background:#f5f8f3}.sv-pair-card.sv-selected{border-color:#315d87;background:#e1edf7}.sv-pair-card.sv-matched{opacity:1;background:#e9f4ee;border-color:#adcbbc;color:#4b7560}.sv-card-back{font-size:28px;font-weight:800;color:#93abc1}
@media(max-width:640px){.sv-memory-board{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.sv-pair-card{padding:12px 8px;font-size:14px;min-height:88px}.sv-matching-board{gap:8px}}

.sv table.sv-ranking{min-width:0;width:100%}
 .sv-room-active .app-body,.sv-room-active .app-body .container{min-width:0}

/* Extend the existing study-room paper; its original header, tabs and posts stay visible. */
#view-studyroom #srPostPanel[hidden],#view-studyroom #svWorkspace[hidden]{display:none!important}
.sr-vocab-entry{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 0 20px;margin-bottom:16px;border-bottom:1px solid var(--rc-line,#E4EAF3);color:var(--rc-sub,#65738A)}
.sr-vocab-entry span{flex:1 1 240px}.sr-vocab-toolbar{align-items:center;margin-bottom:16px}.sr-vocab-toolbar h2{font-size:18px;margin:0;color:var(--rc-ink,#17233C)}
#svWorkspace{max-width:none;margin:0}.sv-panel{box-shadow:none}.sv-room-active #srShell[hidden],.sv-room-active #srHeadrow[hidden],.sv-room-active #srCrumbNav[hidden]{display:none!important}

/* A sibling tab in the existing study-room navigation. */
#view-vocabulary{--rc-ink:#17233C;--rc-sub:#65738A;--rc-line:#E4EAF3;max-width:1240px;margin:0 auto;color:var(--rc-ink)}
[data-mdtab="vocabulary"]{display:inline-flex!important}
#svShell .rc2-tabs{display:flex}

#view-vocabulary{--rc-blue:#4F72F2;--rc-indigo:#6366E8;--rc-lav:#EEF0FF;--rc-mut:#94A0B3;--rc-shadow:0 4px 14px rgba(20,40,80,.04)}

/* File format examples and modal share the editor's scoped visual language. */
.sv-format-examples{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.05fr) minmax(0,1.65fr);gap:12px;margin:18px 0}.sv-format-examples figure{margin:0;min-width:0;border:0;background:transparent}.sv-format-examples figcaption{padding:0;margin:0 0 8px;background:transparent;border:0;font-size:15px;font-weight:800;color:#244f79}.sv-format-examples figcaption span{font-size:11px;font-weight:500;margin-left:6px}.sv .sv-format-examples table{min-width:0;width:100%;table-layout:fixed;border-collapse:collapse;border-style:hidden;font-size:12px;margin:0}.sv .sv-format-examples th,.sv .sv-format-examples td{position:static;border:1px solid #71859a;padding:11px 6px;overflow-wrap:anywhere}.sv .sv-format-examples th{background:#f0f4f8;font-weight:800}.sv-format-examples td:first-child{width:auto}.sv-format-dialog{color:#1d3855;border:0;border-radius:20px;padding:28px;width:min(980px,calc(100% - 24px));max-height:calc(100dvh - 32px);overflow:auto;box-shadow:0 22px 90px #17233c40}.sv-format-dialog::backdrop{background:#17233c85}.sv-format-dialog h2{font-size:25px;margin:12px 0}.sv-format-dialog p,.sv-format-rules{font-size:14px;line-height:1.7}.sv-format-rules{padding-left:20px}.sv-format-dialog .sv-actions{justify-content:flex-end;margin-top:22px}.sv-format-dialog .sv-btn{flex:none}.sv-format-head p{color:#795c27}.sv-format-dialog .sv-format-examples{grid-template-columns:minmax(0,.85fr) minmax(0,1.05fr) minmax(0,1.65fr)}
@media(max-width:640px){.sv-format-examples,.sv-format-dialog .sv-format-examples{grid-template-columns:1fr}.sv-format-dialog{padding:20px 16px}.sv-format-dialog h2{font-size:21px}.sv-format-dialog .sv-actions .sv-btn{flex:1 1 130px}}

/* Make the file picker the clear primary import action. */
.sv [data-sv="fileguide"]{font-size:18px;font-weight:800;min-height:52px;min-width:160px;padding:13px 24px;background:#244f79;border-color:#244f79;box-shadow:0 3px 9px #244f7925}

/* Captions sit outside the document/table boxes. */
.sv-sample-sheet{border:2px solid #71859a;background:#fff}.sv-sample-notepad{margin:0;padding:12px;border:2px solid #71859a;background:#fff;color:#1d3855;white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:12px;line-height:1.65}.sv .sv-sample-hint{font-size:11px;line-height:1.6;color:#688095;margin:8px 0 0}

/* Compact sample labels and room for a one-line example. */
.sv-format-examples figcaption{display:flex;align-items:center;gap:8px;min-height:28px}.sv .sv-sample-badge{display:inline-block;flex-shrink:0;padding:5px 9px;margin:0;border:1px solid #244f79;border-radius:0;background:#315d87;color:#fff;font-size:12px;font-weight:800;line-height:1.25;white-space:nowrap}.sv .sv-sample-label{margin:0;color:#54718a;font-size:14px;font-weight:500;line-height:1.4;white-space:nowrap}

/* One light outline connects examples with their import instructions. */
.sv-format-guide{border:1px solid #dce5ed;background:#f9fbfd;border-radius:12px;padding:14px;margin:18px 0}.sv-format-guide .sv-format-examples{margin:0 0 20px}.sv-format-guide .sv-format-rules{margin:0 0 12px}.sv-format-guide>p:last-child{margin-bottom:0}
@media(max-width:900px){.sv-format-examples,.sv-format-dialog .sv-format-examples{grid-template-columns:1fr}.sv .sv-sample-label{white-space:normal}.sv-format-guide{padding:12px}}

.sv-editor.sv-panel{display:block;padding:clamp(14px,3vw,24px)}
.sv-editor .sv-editor-title{margin:0 0 12px}
.sv-editor-step{padding:14px 0;border-top:1px solid #dce5ed}
.sv-editor-step h4{display:flex;align-items:center;gap:9px;margin:0 0 8px;color:#203f59;font-size:17px;line-height:1.4}
.sv-editor-step h4 label{font:inherit;font-weight:inherit}
.sv-editor-step h4>span{display:grid;place-items:center;width:24px;height:24px;flex:0 0 24px;background:#eaf1f8;color:#244f79;border-radius:5px;font-size:13px}
.sv-editor-step h4 small{font-size:13px;font-weight:500;color:#54718a}
.sv-editor-step>.sv-muted{margin:0 0 7px}
.sv-editor-inline{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sv-editor-inline p,.sv-editor-review h4{margin:0}
.sv-editor-review{justify-content:space-between;margin-bottom:6px}
.sv-editor [data-sv=fileguide]{min-width:0;min-height:0;padding:8px 14px;font-size:14px}
.sv-editor #svName{width:100%;max-width:520px}
.sv-editor #svPaste{min-height:76px}
.sv-editor-extra{margin-top:8px;color:#365d7b}
.sv-editor-extra summary{cursor:pointer;font-size:13px;padding:4px 0}
.sv-editor-step .sv-formgrid{margin:8px 0}
.sv-editor-step .sv-checks{margin:8px 0}
.sv-editor-footer{padding-top:12px;border-top:1px solid #dce5ed}

.sv-login-dialog{width:min(490px,calc(100% - 24px))}.sv-login-dialog h2{color:#203f59}.sv-login-dialog p{color:#48647a}.sv-login-dialog a.sv-btn{text-decoration:none;display:inline-flex;align-items:center}.sv-editor #svFileName{overflow-wrap:anywhere;min-width:0}
