@import url("https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap");:root{--ink:#18211e;--muted:#74807a;--line:#dbe4df;--paper:#f7faf8;--card:#fff;--green:#256a52;--green-deep:#164b3a;--mint:#e5f2ec;--gold:#b7822b;--shadow:0 22px 55px rgba(25,58,46,.08)}*{box-sizing:border-box}html{min-width:320px;background:var(--paper)}body{margin:0;color:var(--ink);background:radial-gradient(circle at 90% 0,#e9f4ee 0,transparent 27rem),var(--paper);font-family:DM Sans,sans-serif}button{font:inherit}.app-shell{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:28px 0 34px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.card-heading,.exercise-controls,.exercise-meta,.lesson-heading,.locked-translation,.page-footer,.progress-label,.topbar,.video-footer{display:flex;align-items:center;justify-content:space-between}.topbar{padding-bottom:56px}.brand-lockup{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;color:#fff;background:var(--green-deep);font-family:Georgia,serif;font-weight:700;font-size:16px;transform:rotate(-6deg)}.brand-name{font-weight:700;letter-spacing:-.02em}.brand-subtitle{color:var(--muted);font-size:12px;margin-top:2px}.mode-pill{display:flex;align-items:center;gap:8px;color:var(--green);background:var(--mint);border:1px solid #cfe5da;border-radius:100px;padding:8px 12px;font-size:12px;font-weight:600}.status-dot{width:7px;height:7px;border-radius:50%;background:#4da779;box-shadow:0 0 0 3px rgba(77,167,121,.14)}.import-panel{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(360px,1.25fr);grid-gap:28px;gap:28px;align-items:center;padding:19px 22px;margin-bottom:35px}.import-copy h2{margin-top:6px;font-size:18px;letter-spacing:-.02em}.import-copy p{color:var(--muted);margin-top:5px;font-size:12px;line-height:1.4}.import-form{display:flex;gap:8px}.import-form input{min-width:0;flex:1 1;border:1px solid var(--line);border-radius:9px;padding:11px 12px;outline:0;color:var(--ink);background:#fbfdfc;font-size:12px}.import-form input:focus{border-color:#8eb8a3;box-shadow:0 0 0 3px rgba(91,164,128,.1)}.import-form input:disabled{color:var(--muted);background:#f2f6f3}.import-loading{border-color:#a8cdb8}.import-button{white-space:nowrap}.primary-button:disabled{cursor:not-allowed;border-color:#a5b8ad;color:#f4f8f5;background:#a5b8ad}.import-error,.import-hint{grid-column:2;margin-top:-19px;font-size:10px}.import-hint{color:var(--muted)}.import-error{color:#a44f42}.import-status{grid-column:2;margin-top:-17px;font-size:11px}.import-status-heading,.import-status-meta,.import-summary-heading,.import-summary-stats{display:flex;align-items:center;justify-content:space-between;gap:12px}.import-status-heading{color:var(--green-deep);font-weight:600}.import-status-heading strong{font:12px DM Mono,monospace}.import-progress-track{width:100%;height:7px;overflow:hidden;margin-top:8px;border-radius:20px;background:#dde8e2}.import-progress-value{height:100%;border-radius:inherit;background:linear-gradient(90deg,#2f8163,#80b497);transition:width .25s ease}.import-progress-failed{background:#b55d4e}.import-status-meta{margin-top:7px;color:var(--muted);font-size:10px}.import-status-error{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:9px;color:#a44f42;font-size:10px}.text-button{cursor:pointer;border:0;padding:0;color:var(--green);background:transparent;font-size:10px;font-weight:700;white-space:nowrap}.text-button:hover{color:var(--green-deep);text-decoration:underline}.import-summary{margin-top:11px;padding:12px 13px;border:1px solid #cfe5da;border-radius:10px;background:#edf7f1}.import-summary-heading strong{display:block;max-width:420px;margin-top:4px;color:var(--green-deep);font-size:13px}.summary-check{display:grid;place-items:center;flex:0 0 auto;width:22px;height:22px;border-radius:50%;color:#fff;background:var(--green);font-size:13px}.import-summary-stats{justify-content:flex-start;flex-wrap:wrap;margin-top:11px;color:var(--muted);font:10px DM Mono,monospace}.import-summary-stats strong{color:var(--ink)}.lesson-heading{align-items:end;margin-bottom:34px;gap:24px}.eyebrow,.section-kicker,.sentence-number{color:var(--green);font-family:DM Mono,monospace;font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}h1,h2,p{margin:0}h1{max-width:660px;margin-top:9px;font:700 clamp(30px,4vw,49px)/1.06 Playfair Display,Georgia,serif;letter-spacing:-.035em}.heading-copy{color:var(--muted);margin-top:12px;font-size:15px}.progress-wrap{width:210px;flex:0 0 auto}.progress-label{margin-bottom:10px;color:var(--muted);font-size:11px}.progress-label strong{color:var(--ink);font-family:DM Mono,monospace;font-size:12px}.muted{color:#a2aca7;font-weight:400}.progress-track{width:100%;height:7px;overflow:hidden;border-radius:20px;background:#dde8e2}.progress-value{height:100%;border-radius:inherit;background:linear-gradient(90deg,#2f8163,#80b497);transition:width .25s ease}.lesson-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);grid-gap:20px;gap:20px;align-items:stretch}.card{border:1px solid rgba(208,222,214,.85);border-radius:18px;background:hsla(0,0%,100%,.92);box-shadow:var(--shadow)}.video-card{overflow:hidden}.card-heading{align-items:flex-start;padding:23px 24px 18px}.card h2{margin-top:7px;font-size:17px;letter-spacing:-.02em}.time-chip{color:var(--green);background:#f0f7f3;border:1px solid #dcece3;padding:7px 9px;border-radius:7px;font:10px DM Mono,monospace}.player-frame{position:relative;aspect-ratio:16/9;width:100%;background:#14211c}.player-frame iframe,.youtube-host{width:100%;height:100%;display:block;border:0}.fallback-player{position:absolute;inset:0}.player-error{position:absolute;right:10px;bottom:10px;max-width:255px;padding:7px 9px;border-radius:6px;color:#f8fffb;background:rgba(22,75,58,.88);font-size:10px}.video-footer{padding:15px 24px 18px;color:var(--muted);font:10px DM Mono,monospace}.range-line{display:flex;align-items:center;gap:9px;color:var(--ink)}.range-line div{width:90px;height:2px;position:relative;background:#cddbd3}.range-line div:after{content:"";position:absolute;left:0;top:-2px;width:29%;height:6px;border-radius:5px;background:var(--green)}.playback-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 24px 17px;border-top:1px solid #edf2ee}.replay-button{cursor:pointer;border:0;padding:0;color:var(--green-deep);background:transparent;font-size:12px;font-weight:600}.replay-button>span:first-child{display:inline-block;margin-right:4px;font-size:17px;vertical-align:-1px}.enter-hint{margin-left:7px;padding:3px 5px;border:1px solid var(--line);border-radius:4px;color:var(--muted);font:9px DM Mono,monospace}.speed-control{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px}.speed-control select{cursor:pointer;border:1px solid var(--line);border-radius:6px;padding:6px 7px;color:var(--ink);background:#fff;font:10px DM Mono,monospace}.exercise-column{display:flex;flex-direction:column;gap:13px}.exercise-card{min-height:100%;padding:24px}.exercise-meta{margin-bottom:23px}.duration{color:var(--muted);font:10px DM Mono,monospace}.exercise-card h2{font:600 25px/1.12 Playfair Display,Georgia,serif}.exercise-help{color:var(--muted);font-size:13px;line-height:1.5;margin-top:8px}.word-preview{display:flex;flex-wrap:wrap;gap:9px;align-items:baseline;min-height:64px;margin:30px 0 17px;padding:18px 15px;border-radius:11px;background:#f4f8f5;border:1px dashed #cbdcd2}.word-blank{color:#a7b5ad;font:15px DM Mono,monospace;letter-spacing:.07em}.empty-input{display:flex;align-items:center;gap:9px;min-height:50px;padding:0 13px;border:1.5px solid #9cc9b3;border-radius:10px;background:#fff;box-shadow:0 0 0 4px rgba(91,164,128,.08)}.input-cursor{width:2px;height:20px;background:var(--green)}.input-placeholder{flex:1 1;color:#9ca8a2;font-size:13px}.key-hint{color:var(--green);font:9px DM Mono,monospace;font-weight:500}.exercise-note,.key-hint span{color:var(--muted)}.exercise-note{display:flex;gap:7px;align-items:center;margin:13px 0 29px;font-size:11px}.note-icon{display:grid;place-items:center;width:15px;height:15px;border:1px solid #b4c3bb;border-radius:50%;font-size:10px}.translation-panel{border-top:1px solid var(--line);padding-top:19px}.locked-translation{justify-content:flex-start;gap:9px;margin-top:12px;color:var(--muted);font-size:12px}.lock-icon{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;color:var(--green);background:var(--mint);font-size:17px;transform:rotate(180deg)}.translation-text{color:var(--green-deep);font-size:15px;line-height:1.5;margin-top:12px}.translation-unavailable{color:var(--gold);font-size:13px;line-height:1.5;margin-top:12px}.translation-explorer{margin-top:18px;border:1px solid #dce9e2;border-radius:11px;background:#f8fbf9;overflow:hidden}.translation-explorer-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;cursor:pointer;border:0;padding:12px 13px;color:var(--green-deep);background:transparent;font-size:12px;font-weight:700;text-align:left}.translation-explorer-toggle:hover{background:#f0f7f3}.translation-explorer-toggle:focus-visible,.translation-token:focus-visible{outline:2px solid #63a283;outline-offset:2px}.translation-explorer-toggle>span:last-child{font:18px/1 DM Mono,monospace;color:var(--green)}.translation-explorer-content{border-top:1px solid #e2ece7;padding:13px}.translation-explorer-help{color:var(--muted);font-size:11px;line-height:1.5}.translation-token-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.translation-token{cursor:pointer;border:1px solid #cadbd2;border-radius:7px;padding:6px 8px;color:var(--ink);background:#fff;font:11px DM Mono,monospace;transition:border-color .15s,color .15s,background .15s}.translation-token:hover{border-color:#83b49c;background:#f0f7f3}.translation-token-selected{border-color:var(--green);color:var(--green-deep);background:var(--mint);font-weight:500}.translation-selection-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;color:var(--muted);font-size:10px}.translation-selection-toolbar strong{color:var(--ink);font-family:DM Mono,monospace}.translation-selection-message{margin-top:8px;color:var(--gold);font-size:10px}.translation-lookup-result{min-height:51px;margin-top:12px;border-top:1px solid #e2ece7;padding-top:12px}.translation-lookup-loading,.translation-lookup-placeholder{color:var(--muted);font-size:11px;line-height:1.45}.translation-lookup-loading strong{color:var(--ink);font-family:DM Mono,monospace}.translation-lookup-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.translation-lookup-heading strong{color:var(--ink);font:11px DM Mono,monospace}.translation-lookup-heading span{color:var(--muted);font:8px DM Mono,monospace;text-transform:uppercase;letter-spacing:.08em}.translation-lookup-text{margin-top:8px;color:var(--green-deep);font-size:14px;line-height:1.45}.translation-lookup-error{justify-content:space-between;color:#a44f42;font-size:10px;line-height:1.4}.active-input,.translation-lookup-error{display:flex;align-items:center;gap:10px}.active-input{min-height:50px;padding:0 13px;border:1.5px solid #9cc9b3;border-radius:10px;background:#fff;box-shadow:0 0 0 4px rgba(91,164,128,.08)}.active-input:focus-within{border-color:var(--green)}.active-input input{width:100%;min-width:0;border:0;outline:0;color:var(--ink);background:transparent;font-size:14px}.active-input input::placeholder{color:#9ca8a2}.active-input input:-moz-read-only{color:var(--green-deep)}.active-input input:read-only{color:var(--green-deep)}.sentence-feedback{margin-top:12px;padding:12px 13px;border:1px solid #efd5cf;border-radius:10px;background:#fff9f7}.feedback-summary{color:#a44f42;font-size:11px;line-height:1.45}.feedback-token-row{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;margin-top:10px}.feedback-token{font:14px DM Mono,monospace}.feedback-token-correct{color:var(--ink)}.feedback-token-extra,.feedback-token-incorrect,.feedback-token-missing{color:#a44f42;text-decoration:underline;-webkit-text-decoration-style:wavy;text-decoration-style:wavy;text-underline-offset:3px}.feedback-token-missing{letter-spacing:.04em}.completion-panel{display:flex;gap:12px;align-items:flex-start;min-height:50px;padding:14px;border-radius:10px;background:#edf7f1}.completion-mark{display:grid;place-items:center;flex:0 0 auto;width:22px;height:22px;border-radius:50%;color:#fff;background:var(--green);font-size:13px}.answer-text{margin-top:8px;color:var(--green-deep);font:600 16px/1.4 Playfair Display,Georgia,serif}.exercise-stats{display:flex;gap:14px;margin:15px 0 0;color:var(--muted);font:10px DM Mono,monospace}.exercise-stats strong{color:var(--ink)}.inline-controls{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.primary-button{cursor:pointer;border:1px solid var(--green);border-radius:9px;padding:9px 12px;color:#fff;background:var(--green);font-size:12px;transition:background .2s}.primary-button:hover{background:var(--green-deep)}.exercise-controls{justify-content:flex-end;gap:9px}.secondary-button{cursor:pointer;border:1px solid var(--line);border-radius:9px;padding:9px 12px;color:var(--green-deep);background:#fff;font-size:12px;transition:border-color .2s,background .2s}.secondary-button:hover:not(:disabled){border-color:#8eb8a3;background:#f1f8f4}.secondary-button:disabled{cursor:not-allowed;color:#aeb9b3;background:#f4f6f4}.page-footer{margin-top:32px;padding:17px 2px 0;border-top:1px solid var(--line);color:var(--muted);font:10px DM Mono,monospace}@media (max-width:820px){.app-shell{width:min(100% - 28px,620px);padding-top:18px}.topbar{padding-bottom:38px}.import-panel,.lesson-heading{display:block}.import-form{margin-top:15px}.import-error,.import-hint,.import-status{margin-top:8px}.progress-wrap{width:100%;margin-top:23px}.lesson-grid{display:block}.exercise-column{margin-top:14px}.playback-controls,.video-footer{gap:12px}}@media (max-width:480px){.mode-pill{padding:7px 9px;font-size:10px}.brand-subtitle{display:none}h1{font-size:35px}.card-heading{padding:18px 17px 15px}.exercise-card{padding:19px}.time-chip{font-size:9px}.playback-controls,.video-footer{padding-inline:17px}.translation-lookup-heading{align-items:flex-start;flex-direction:column;gap:5px}.page-footer{line-height:1.8}.page-footer,.page-footer span{display:block}}