@font-face{font-family:'PT Serif';src:url('/public/fonts/pt-serif/PT_Serif-Web-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'PT Serif';src:url('/public/fonts/pt-serif/PT_Serif-Web-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'PT Serif';src:url('/public/fonts/pt-serif/PT_Serif-Web-Italic.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'PT Serif';src:url('/public/fonts/pt-serif/PT_Serif-Web-BoldItalic.ttf') format('truetype');font-weight:700;font-style:italic;font-display:swap}
*{box-sizing:border-box}body{margin:0;background:var(--color-page);color:var(--color-text);font-family:var(--font-family-body);font-size:17px;line-height:1.5}button,input,textarea,select{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button,a{touch-action:manipulation}button{color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--color-accent);outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.18;letter-spacing:-.035em}h1{font-size:clamp(32px,3.7vw,51px);font-weight:700;margin-bottom:20px}h2{font-size:29px;margin-bottom:13px}h3{font-size:23px}p{margin-bottom:14px}small{font-size:13px}button{border:0;background:none}strong{font-weight:700}.layout{min-height:100dvh;display:grid;grid-template-columns:240px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100dvh;background:var(--color-action-hover);color:var(--color-surface-soft);padding:38px 20px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:0 10px;font-size:24px;line-height:1.1;font-weight:bold;white-space:nowrap}.brand-mark{width:43px;height:47px;display:grid;place-items:center;border-radius:15px 15px 6px 15px;background:var(--color-surface-soft);color:var(--color-action);font-size:43px;padding-bottom:6px}.brand-sub{display:block;font-size:11px;font-weight:400;letter-spacing:.03em;margin-top:7px}.sidebar-label{font-size:10px;letter-spacing:.15em;color:var(--color-muted);padding:0 13px;margin:60px 0 15px}.mode-nav{display:flex;flex-direction:column;gap:8px}.nav-item{display:flex;align-items:center;gap:13px;min-height:51px;padding:12px 15px;border-radius:11px;color:var(--color-border);text-align:left;font-size:13px;letter-spacing:.025em}.nav-item:hover{background:var(--color-overlay)}.nav-item.active{background:var(--color-surface-soft);color:var(--color-text);font-weight:bold}.nav-icon{font-family:system-ui,sans-serif;font-size:20px;width:22px;text-align:center}.sidebar-foot{margin-top:auto;padding:30px 12px 0;border-top:1px solid var(--color-overlay);display:flex;gap:12px;font-size:13px;color:var(--color-muted)}.tiny-square{height:12px;width:12px;flex-shrink:0;background:var(--color-muted);border-radius:3px;margin-top:5px;transform:rotate(12deg)}.sidebar-foot strong{color:var(--color-border)}.workspace{min-width:0}.topbar{padding:25px 5%;border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:90px}.module-indicator{font-size:12px;font-weight:bold;letter-spacing:.08em}.module-indicator>span:last-child{font-weight:normal;color:var(--color-muted)}.dot{margin:0 10px;color:var(--color-accent)}.top-actions{display:flex;align-items:center;gap:18px}.prototype-badge{font-size:11px;line-height:1.3;letter-spacing:.035em;display:inline-flex;align-items:center;gap:5px;border:1px solid var(--color-border);border-radius:6px;padding:6px 9px;white-space:nowrap;color:var(--color-muted)}.text-button{min-height:44px;padding:10px 0;font-size:14px;font-weight:bold}.text-button:hover{text-decoration:underline;text-underline-offset:4px}#main{max-width:1340px;margin:auto;padding:42px 5% 35px;outline:none}.eyebrow{font-size:11px;font-weight:bold;letter-spacing:.14em;color:var(--color-muted);margin-bottom:18px}.page-intro{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-bottom:33px}.intro-copy{font-size:18px;color:var(--color-muted);line-height:1.55;margin-bottom:0}.intro-note{width:245px;flex-shrink:0;transform:rotate(3deg);padding:27px;background:var(--color-surface-soft);border-radius:4px 24px 24px 24px}.intro-note p{font-size:18px;margin-top:10px;margin-bottom:20px}.note-star{font-family:system-ui;color:var(--color-accent);font-size:43px;line-height:1}.small-label{font-size:10px;letter-spacing:.075em;color:var(--color-muted);font-weight:bold}.featured{border:1px solid var(--color-border);background:var(--color-surface-soft);border-radius:var(--radius);padding:33px;display:grid;grid-template-columns:1fr 1.15fr;gap:30px;align-items:center;position:relative;overflow:hidden}.featured h2{font-size:31px}.featured p:not(.eyebrow){color:var(--color-text)}.primary,.secondary,.expand-button{min-height:48px;border-radius:9px;padding:11px 20px;font-weight:bold;font-size:15px;display:inline-flex;align-items:center;justify-content:center;gap:15px;transition:background .15s,transform .15s}.primary{background:var(--color-action);color:var(--color-surface)}.primary:hover{background:var(--color-action-hover);transform:translateY(-1px)}.secondary{border:1px solid var(--color-border);background:var(--color-surface)}.secondary:hover{background:var(--color-surface-soft)}.featured .primary{margin-top:8px}.sentence-preview{background:var(--color-surface);box-shadow:0 8px 0 var(--color-border);border:1px solid var(--color-border);border-radius:14px;padding:20px;transform:rotate(-1deg)}.sentence-preview p{font-size:25px;line-height:2.15;color:var(--color-text)!important;margin:10px 0 24px}.frame-label{font-size:9px;font-weight:bold;letter-spacing:.1em;color:var(--color-muted)}.nested-preview{display:inline-block;border:1px solid var(--color-muted);background:var(--color-surface-soft);border-radius:8px;padding:0 8px;position:relative;margin-bottom:13px}.nested-caption{position:absolute;bottom:-18px;right:0;font-size:8px;letter-spacing:.03em;line-height:1.2;white-space:nowrap;color:var(--color-text)}.preview-track{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:var(--color-muted);border-top:1px dashed var(--color-border);padding-top:14px;gap:6px}.preview-track i{height:1px;background:var(--color-border);flex:1}.section-heading{display:flex;align-items:end;justify-content:space-between;margin:42px 0 22px;gap:16px}.section-heading .eyebrow{margin-bottom:9px}.section-heading h2{font-size:28px;margin:0}.count-label{font-size:13px;color:var(--color-muted);white-space:nowrap}.task-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.task-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;padding:22px;text-align:left;display:flex;flex-direction:column;min-height:238px;transition:transform .15s,border-color .15s,box-shadow .15s}.task-card:hover{transform:translateY(-3px);border-color:var(--color-muted);box-shadow:0 8px 20px var(--color-overlay)}.card-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:24px}.task-number{font-size:13px;color:var(--color-muted)}.interaction-tag{font-size:10px;background:var(--color-surface-soft);padding:5px 8px;border-radius:5px;color:var(--color-text)}.task-card:nth-child(3n+2) .interaction-tag{background:var(--color-warm-soft);color:var(--color-accent)}.task-card h3{font-size:22px;margin-bottom:10px}.task-card p{font-size:13px;color:var(--color-muted);margin-bottom:24px}.card-bottom{margin-top:auto;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--color-muted);border-top:1px solid var(--color-surface-soft);padding-top:15px}.card-bottom>span:last-child{font-family:system-ui;font-size:20px;color:var(--color-action)}.progress-strip{margin-top:28px;display:flex;align-items:center;gap:18px;border-radius:13px;background:var(--color-surface-soft);padding:22px}.progress-strip p{font-size:13px;color:var(--color-muted);margin:5px 0 0}.progress-strip .text-button{margin-left:auto}.progress-emblem{font-family:system-ui;font-size:36px;color:var(--color-action)}.page-footer{font-size:10px;color:var(--color-text);display:flex;justify-content:space-between;gap:20px;padding:22px 5% 30px;border-top:1px solid var(--color-border);margin-top:25px}.notice{background:var(--color-surface-soft);border-left:3px solid var(--color-muted);border-radius:4px 12px 12px 4px;padding:20px 23px;margin:24px 0}.notice p{font-size:15px;color:var(--color-text);margin:6px 0 0}.lesson-note{padding:25px;border:1px solid var(--color-border);border-radius:14px;margin-bottom:25px;background:var(--color-surface)}.lesson-note p{font-size:20px}.lesson-note>span{color:var(--color-muted);font-size:12px}.task-topline{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:28px}.task-topline .small-label{max-width:58%;text-align:right}.task-heading{display:flex;align-items:center;justify-content:space-between;gap:25px}.task-heading h1{font-size:35px;margin-bottom:10px}.task-heading .eyebrow{font-size:13px;letter-spacing:.06em;margin-bottom:10px}.task-heading .secondary{flex-shrink:0}.step-track{display:flex;gap:10px;margin:24px 0 30px;align-items:center;flex-wrap:wrap}.step-dot{display:flex;gap:8px;align-items:center;color:var(--color-muted);font-size:12px}.step-dot b{border:1px solid var(--color-border);width:30px;height:30px;display:grid;place-items:center;border-radius:50%;font-size:12px;font-weight:400}.step-dot.current{color:var(--color-action);font-weight:bold}.step-dot.current b{background:var(--color-action);color:var(--color-on-action);border-color:var(--color-action)}.step-dot.past b{background:var(--color-border);border-color:var(--color-border);color:var(--color-action)}.step-dot:not(:last-child):after{content:'';width:15px;height:1px;background:var(--color-border);margin-left:4px}.exercise-layout{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:26px;align-items:start}.exercise-card{padding:30px;border:1px solid var(--color-border);border-radius:20px;background:var(--color-surface);min-width:0}.exercise-top{display:flex;justify-content:space-between;gap:10px;font-size:10px;letter-spacing:.05em;color:var(--color-muted);margin-bottom:22px}.exercise-card h2{font-size:23px;line-height:1.45;font-weight:400;margin-bottom:27px}.sentence-frame{border:1px solid var(--color-border);border-radius:12px;padding:13px 16px 17px;background:var(--color-surface-soft);margin-bottom:19px}.sentence{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin:10px 0 0;font-size:24px;line-height:1.8;min-width:0}.word{padding:4px 8px;min-height:48px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:7px;transition:background .1s}.word:hover{background:var(--color-surface-soft)}.word.selected{background:var(--color-action);color:var(--color-on-action);border-color:var(--color-action)}.word-static{padding:0 2px}.embedded-clause{display:inline-flex;align-items:center;flex-wrap:wrap;gap:5px;padding:5px;border:2px solid var(--color-muted);border-radius:10px;background:var(--color-surface-soft);max-width:100%}.control-tip{font-size:13px;line-height:1.6;color:var(--color-muted);margin:13px 0 18px}.selection-info{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--color-muted);border-bottom:1px solid var(--color-border);padding-bottom:14px}.choices{display:grid;gap:11px;margin:24px 0}.choice{border:1px solid var(--color-border);border-radius:10px;min-height:58px;padding:12px 15px;text-align:left;display:flex;align-items:center;gap:14px;font-size:17px;background:var(--color-surface)}.choice:hover{background:var(--color-surface-soft)}.choice.selected{background:var(--color-surface-soft);border:2px solid var(--color-action);padding:11px 14px}.choice-letter{font-size:12px;display:grid;place-items:center;flex-shrink:0;height:26px;width:26px;border:1px solid var(--color-border);border-radius:6px;color:var(--color-muted)}.choice-mark{margin-left:auto;color:var(--color-action)}.answer-label{display:block;font-size:14px;margin-top:22px;margin-bottom:10px;font-weight:bold}textarea{width:100%;resize:vertical;min-height:130px;line-height:1.6;border:1px solid var(--color-border);border-radius:11px;padding:16px;background:var(--color-surface);color:var(--color-text)}textarea::placeholder{color:var(--color-muted)}.exercise-actions{border-top:1px solid var(--color-border);padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:28px}.exercise-actions>div{display:flex;gap:10px;justify-content:end;flex-wrap:wrap}.visual-placeholder{min-height:146px;border:1px dashed var(--color-muted);background:var(--color-surface-soft);border-radius:16px;display:grid;place-items:center;padding:20px;text-align:center;color:var(--color-text);font-size:12px;line-height:1.6;overflow-wrap:anywhere}.task-aside>p{font-size:11px;color:var(--color-muted);text-align:center;margin-top:10px}.quiet-note{padding:20px;border-top:1px solid var(--color-border);margin-top:24px}.quiet-note>span{font-size:9px;letter-spacing:.1em}.quiet-note strong{display:block;font-size:34px;font-weight:400;margin:5px 0}.quiet-note p{font-size:12px;color:var(--color-muted);line-height:1.5;margin:0}.feedback{margin-top:22px;border:1px solid var(--color-border);border-radius:10px;padding:17px;background:var(--color-surface-soft);font-size:15px}.feedback strong{display:block;font-weight:400}.feedback small{display:block;color:var(--color-muted);font-size:10px;margin-top:8px}.feedback.incorrect,.feedback.empty{background:var(--color-surface-soft);border-color:var(--color-border)}.feedback.unreviewed{background:var(--color-surface-soft);border-color:var(--color-border)}.ai-claim{background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:11px;padding:21px;margin:25px 0}.ai-claim blockquote{margin:12px 0 0;font-size:20px;line-height:1.5}.expand-button{border:1px dashed var(--color-action);background:var(--color-surface-soft);color:var(--color-action);width:100%;margin-top:10px}.structure-display{border:2px solid var(--color-muted);border-radius:13px;background:var(--color-surface-soft);padding:18px;margin-top:20px}.structure-header{font-size:12px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-bottom:16px}.structure-tree{display:flex;flex-wrap:wrap;gap:12px}.structure-node{border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);padding:13px;flex:1 1 140px;min-width:0}.structure-node>strong{display:block;font-size:20px;overflow-wrap:anywhere}.structure-node .structure-node{margin:12px 0 0 10px;background:var(--color-surface-soft)}.structure-role{font-size:11px;color:var(--color-muted);display:block;margin-bottom:6px}.implicit-node{border-style:dashed;background:var(--color-surface-soft)!important}.implicit-node small{display:block;font-size:10px;color:var(--color-muted)}.reorder-list{list-style:none;padding:0;display:flex;gap:10px;flex-wrap:wrap}.reorder-list li{border:1px solid var(--color-border);border-radius:9px;background:var(--color-surface-soft);padding:10px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.reorder-list strong{font-size:19px}.reorder-list li>div{display:flex;flex-basis:100%;justify-content:end;border-top:1px solid var(--color-border);padding-top:5px}.drag-handle{font-size:18px;color:var(--color-muted);cursor:grab}.move-button{width:44px;min-height:44px;border:1px solid var(--color-border);border-radius:5px;background:var(--color-surface);margin-left:5px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:33px 0}.stats>div{padding:25px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface)}.stats strong{display:block;font-size:44px;font-weight:400;margin-bottom:5px}.stats small{font-size:20px;color:var(--color-muted)}.stats span{font-size:14px;color:var(--color-muted)}.progress-list{border-top:1px solid var(--color-border);margin-top:25px}.progress-list>div{display:flex;align-items:center;gap:25px;padding:22px 0;border-bottom:1px solid var(--color-border)}.progress-list>div>span{flex:1}.progress-list strong{font-size:18px}.progress-list small{display:block;color:var(--color-muted);margin-top:5px}progress{max-width:160px;width:20%;height:7px;accent-color:var(--color-action);border-radius:8px}progress::-webkit-progress-bar{background:var(--color-border);border-radius:8px}progress::-webkit-progress-value{background:var(--color-action);border-radius:8px}.editor-import{padding:28px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:15px;margin:30px 0}.editor-import p{font-size:15px;color:var(--color-muted)}.editor-import button{margin:10px 10px 0 0}.file-label{cursor:pointer;position:relative;margin-right:10px}.file-label input{position:absolute;width:1px;height:1px;opacity:0}.file-label:focus-within{outline:3px solid var(--color-accent);outline-offset:3px}.editor-records details{border-bottom:1px solid var(--color-border)}.editor-records summary{cursor:pointer;padding:21px 0;font-size:17px}.editor-records summary .prototype-badge{margin-left:12px}.editor-record{padding:20px;background:var(--color-surface);border-radius:12px}.editor-record h3{font-size:22px}.editor-record li{font-size:14px;margin-bottom:9px}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.6;background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:9px;padding:17px;max-height:380px;overflow:auto;direction:ltr;text-align:left}dialog{border:1px solid var(--color-border);border-radius:20px;padding:32px;max-width:530px;width:calc(100% - 36px);color:var(--color-text);background:var(--color-surface);box-shadow:0 30px 90px var(--color-overlay)}dialog::backdrop{background:var(--color-overlay);backdrop-filter:blur(3px)}dialog h2{font-size:30px}dialog p{line-height:1.6}dialog form{margin-top:24px}dialog form button{width:100%}.hint{border-top:1px solid var(--color-border);padding-top:17px}.hint p{font-size:15px;color:var(--color-muted);margin:7px 0 17px}.skip-link{position:fixed;left:15px;top:-70px;padding:10px 20px;z-index:100;background:var(--color-surface);color:var(--color-action)}.skip-link:focus{top:12px}.loading,.startup-error{padding:40px}.startup-error{max-width:700px;margin:10vh auto}
@media(min-width:1500px){#main{padding-top:50px}.topbar{padding-left:max(5%,calc((100vw - 1340px - 240px)/2 + 67px));padding-right:max(5%,calc((100vw - 1340px - 240px)/2 + 67px))}}
@media(max-width:1180px){.layout{grid-template-columns:210px minmax(0,1fr)}.sidebar{padding:30px 14px}.brand{font-size:21px;padding:0 5px}.brand-mark{width:37px}.nav-item{padding:10px;font-size:12px}.topbar{padding:20px 4%}.top-actions{gap:12px}.module-indicator{font-size:10px}#main{padding:34px 4%}.featured{padding:25px;gap:18px}.task-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.exercise-layout{grid-template-columns:minmax(0,1fr)}.task-aside{display:flex;align-items:center;gap:20px}.task-aside .visual-placeholder{width:180px;min-height:90px;flex-shrink:0}.task-aside>p{display:none}.quiet-note{border:0;margin:0;padding:10px}.quiet-note strong{font-size:25px}.intro-note{width:205px;padding:22px}.intro-note p{font-size:16px}.task-heading h1{font-size:31px}}
@media(max-width:800px){.layout{display:block}.sidebar{position:relative;height:auto;padding:20px 22px 15px}.brand{font-size:23px}.brand-mark{height:42px;font-size:36px}.brand-sub{font-size:10px;margin-top:5px}.sidebar-label,.sidebar-foot{display:none}.mode-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:20px}.nav-item{padding:9px 8px;min-height:43px;gap:7px;font-size:10px;border-radius:7px}.nav-icon{font-size:17px;flex-shrink:0;width:18px}.topbar{min-height:65px;padding:13px 5%}.module-indicator>span:last-child,.dot{display:none}.top-actions .text-button{font-size:12px;padding:6px 0}.prototype-badge{font-size:10px}.top-actions{gap:12px}#main{padding:30px 5%}.page-intro{align-items:start;gap:20px}.page-intro h1{font-size:39px}.intro-note{width:178px}.intro-note .small-label{font-size:8px}.intro-copy{font-size:16px}.featured{grid-template-columns:1fr 1fr;padding:23px}.featured h2{font-size:26px}.featured .eyebrow{font-size:10px}.featured p:not(.eyebrow){font-size:14px}.featured .primary{font-size:13px;padding:11px 13px}.sentence-preview{padding:13px}.sentence-preview p{font-size:21px}.preview-track{font-size:8px}.task-heading h1{font-size:32px}.task-heading .secondary{font-size:13px;padding:10px 13px}.exercise-card{padding:24px}.step-dot{gap:5px}.step-dot:not(:last-child):after{width:9px;margin-left:0}.step-track{gap:7px}.progress-strip{padding:19px}.progress-strip .text-button{font-size:12px}.section-heading h2{font-size:26px}}
@media(max-width:560px){body{font-size:16px}.sidebar{padding:18px 16px 12px}.nav-item{font-size:9px;padding:8px 5px;gap:5px}.nav-icon{font-size:16px;width:16px}.topbar{padding:10px 18px}.module-indicator{font-size:9px;letter-spacing:.03em}.top-actions{gap:9px}.top-actions .text-button{font-size:11px}.prototype-badge{font-size:9px;padding:5px 7px}#main{padding:29px 18px}.page-intro{margin-bottom:25px}.page-intro h1{font-size:38px;margin-bottom:17px}.intro-note{display:none}.eyebrow{font-size:10px;margin-bottom:14px}.intro-copy{font-size:16px}.featured{display:flex;flex-direction:column;align-items:stretch;padding:24px;gap:25px}.featured h2{font-size:28px}.featured .primary{font-size:15px;min-height:48px}.sentence-preview{padding:17px}.sentence-preview p{font-size:24px}.preview-track{font-size:9px}.section-heading{margin:32px 0 18px;align-items:start}.section-heading h2{font-size:26px}.section-heading .eyebrow{font-size:8px}.count-label{padding-top:24px;font-size:11px}.task-grid{gap:12px}.task-card{padding:16px;min-height:236px;border-radius:13px}.card-top{align-items:start;flex-direction:column;gap:9px;margin-bottom:16px}.task-card h3{font-size:21px}.task-card p{font-size:11px;margin-bottom:17px}.interaction-tag{font-size:9px}.card-bottom{font-size:11px}.progress-strip{align-items:start;gap:13px;flex-wrap:wrap}.progress-strip strong{font-size:16px}.progress-strip>div{flex:1}.progress-strip .text-button{margin-left:44px;padding:0;min-height:30px}.progress-emblem{font-size:28px}.page-footer{font-size:9px;padding:20px 18px}.page-footer>span:first-child{max-width:65%}.task-topline{margin-bottom:22px;align-items:start}.task-topline .small-label{font-size:8px;line-height:1.6;padding-top:12px}.task-heading{align-items:start;gap:12px;flex-direction:column}.task-heading h1{font-size:32px;margin-bottom:0}.task-heading .eyebrow{font-size:12px}.task-heading .secondary{min-height:44px}.step-track{margin:22px 0;gap:7px}.step-dot b{width:26px;height:26px;font-size:11px}.step-dot{font-size:9px;gap:4px}.step-dot:not(:last-child):after{display:none}.step-dot:nth-child(4){margin-left:3px}.exercise-card{padding:20px 16px;border-radius:15px}.exercise-top{font-size:8px;margin-bottom:19px}.exercise-card h2{font-size:21px;margin-bottom:22px}.sentence-frame{padding:11px 10px 14px}.sentence{font-size:23px;gap:5px}.word{padding:4px 7px}.word-static{padding:0 1px}.embedded-clause{gap:3px;padding:4px}.choices{gap:9px}.choice{font-size:16px;padding:12px;gap:10px}.choice.selected{padding:11px}.exercise-actions{align-items:stretch;flex-direction:column;gap:12px;padding-top:16px}.exercise-actions>div{display:flex;flex-wrap:nowrap}.exercise-actions>div .primary{flex:1}.exercise-actions>.text-button{text-align:left;min-height:35px;padding:0}.primary,.secondary{font-size:14px;padding:11px 14px}.control-tip{font-size:12px}.selection-info{font-size:11px}.selection-info .text-button{font-size:12px}.task-aside .visual-placeholder{width:155px;min-height:95px;font-size:10px;padding:14px}.quiet-note p{font-size:10px}.quiet-note strong{font-size:26px}.exercise-layout{gap:22px}.ai-claim{padding:18px}.ai-claim blockquote{font-size:18px}.stats{gap:9px}.stats>div{padding:15px 11px}.stats strong{font-size:33px}.stats small{font-size:14px}.stats span{font-size:11px;line-height:1.3;display:block}.progress-list>div{gap:13px}.progress-list strong{font-size:16px}.progress-list small{font-size:11px}.progress-list .text-button{font-size:12px}.progress-list progress{display:none}.notice{padding:17px}.notice p{font-size:14px}.editor-import{padding:20px}.editor-import h2{font-size:24px}.editor-records summary{font-size:16px}.editor-records summary .prototype-badge{margin:8px 0 0}.editor-record{padding:14px}.reorder-list{gap:8px}.reorder-list li{padding:8px}.structure-display{padding:12px}.structure-node>strong{font-size:18px}dialog{padding:25px}.lesson-note{padding:20px}.lesson-note p{font-size:18px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.embedded-role{margin:12px 0 0;font-size:11px;color:var(--color-text);border-top:1px dashed var(--color-muted);padding-top:10px}.task-context{font-size:16px;line-height:1.6;background:var(--color-surface-soft);border-left:3px solid var(--color-border);padding:15px}.phrase-orbit{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:16px;padding:15px 0;position:relative}.phrase-orbit::before{content:'';position:absolute;top:50%;left:10%;right:10%;height:2px;background:var(--color-muted);z-index:0}.phrase-orbit .structure-node{position:relative;z-index:1;text-align:center;padding:18px 12px;min-width:0}.phrase-head{background:var(--color-text);color:var(--color-surface);border-color:var(--color-text);padding:28px 12px!important}.phrase-head .structure-role{color:var(--color-border)}.phrase-dependent .structure-role{font-size:10px}.unrevealed-node{border-style:dashed;opacity:.7}.unrevealed-node>strong{font-size:27px;color:var(--color-muted)}.structure-tree>.structure-node{width:100%}@media(max-width:560px){.phrase-orbit{grid-template-columns:1fr;gap:20px;padding:5px 10px}.phrase-orbit::before{height:auto;width:2px;top:20px;bottom:20px;left:50%}.phrase-orbit .structure-node{margin:0!important}.phrase-head{padding:22px!important}}
.skip-link{visibility:hidden}.skip-link:focus-visible{visibility:visible;top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#module-select{max-width:min(100%,22rem);border:1px solid var(--color-border);border-radius:7px;padding:8px;background:var(--color-surface);color:var(--color-text);font-size:13px}@media(max-width:560px){.step-track:has(.step-dot span){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.step-dot:nth-child(4){margin-left:0}.task-heading h1{font-size:29px}#module-select{max-width:100%;font-size:11px}}

/* Исправке ученичког приказа: без измене структуре компонената. */
body{font-synthesis:none}h1,h2,h3{letter-spacing:-.015em}.sidebar{background:var(--color-sidebar);color:var(--color-text);border-right:1px solid var(--color-border)}.brand{font-size:19px;line-height:1.5;white-space:normal;padding:0 8px;letter-spacing:0}.sidebar-label{margin:30px 0 14px;color:var(--color-muted);font-size:9px}.nav-item{color:var(--color-text)}.nav-item.active{background:var(--color-selected);color:var(--color-action);box-shadow:inset 3px 0 var(--color-action)}.nav-item:hover{background:var(--color-surface-soft)}.topbar{min-height:68px;padding-top:13px;padding-bottom:13px}.compact-intro{margin-bottom:18px;align-items:start}.compact-intro h1,.quiet-title{font-size:26px;font-weight:400;margin-bottom:8px}.compact-intro .eyebrow{margin-bottom:8px}.compact-intro .intro-copy{font-size:15px;line-height:1.55}.section-heading{margin:22px 0 18px}.section-heading h2{font-size:23px}.task-heading h1{font-size:27px}.task-card{min-height:215px}.task-card h3{font-size:21px}.lesson-note{padding:18px}.lesson-note p{font-size:17px}.progress-strip{padding:16px;margin-top:20px}.progress-strip strong{font-size:16px;font-weight:400}.method-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0;margin:22px 0;list-style:none}.method-steps li{border:1px solid var(--color-border);background:var(--color-surface);padding:12px;border-radius:8px;display:flex;gap:9px;align-items:start;font-size:13px}.method-steps b{font-weight:400;color:var(--color-action)}.task-condition{padding:16px;border-left:3px solid var(--color-accent);background:var(--color-warm-soft);margin:18px 0}.task-condition strong{font-size:17px}.task-condition p{font-size:14px;margin:10px 0 0}.reorder-preview{padding:15px;border:1px solid var(--color-border);border-radius:9px}.reorder-preview p{font-size:21px;margin:8px 0 0}.word.selected,.phrase-head{background:var(--color-action);color:var(--color-on-action)}.phrase-head .structure-role{color:var(--color-on-action)}.feedback.correct{border-color:var(--color-success);background:var(--color-success-soft)}.feedback.incorrect{border-color:var(--color-error);background:var(--color-error-soft)}.feedback.unreviewed{background:var(--color-warm-soft)}.primary{color:var(--color-on-action)}.embedded-clause{border-color:var(--color-structure);background:var(--color-surface-soft)}.structure-display{border-color:var(--color-structure)}.step-dot.current b{color:var(--color-on-action)}
@media(max-width:800px){.sidebar{padding:16px 20px 12px}.brand{font-size:18px}.mode-nav{margin-top:14px}.nav-item{font-size:10px}.compact-intro h1,.quiet-title{font-size:25px}}
@media(max-width:560px){.sidebar{padding:14px 16px 10px}.brand{font-size:17px}.brand br{display:none}.brand br:after{content:' '}.nav-item{font-size:9px;min-height:44px}.compact-intro{margin-bottom:16px}.compact-intro h1,.quiet-title{font-size:24px}.compact-intro .intro-copy{font-size:14px}.task-heading h1{font-size:26px}.method-steps{grid-template-columns:1fr;gap:6px;margin:18px 0}.method-steps li{padding:9px 12px;font-size:13px}.task-card h3{font-size:18px}.task-card{padding:14px;min-height:220px}.section-heading{margin:20px 0 15px}.section-heading h2{font-size:22px}.count-label{padding-top:3px}.exercise-card h2{font-size:19px}.sentence{font-size:21px}}

@media(max-width:560px){.reorder-list{display:grid;grid-template-columns:1fr}.reorder-list li{flex-wrap:nowrap;padding:8px 10px;gap:10px}.reorder-list li>div{flex-basis:auto;border:0;padding:0;margin-left:auto}.reorder-list strong{font-size:18px}.move-button{margin-left:4px}.task-condition{padding:13px}.task-condition strong{font-size:16px}}

.mode-placeholder{max-width:780px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:18px;padding:24px;margin:12px 0 32px}.mode-placeholder h2{font-size:1.35rem;margin:12px 0}.mode-stages{padding-left:28px;display:grid;gap:16px;margin:24px 0}.mode-placeholder p{line-height:1.65}

/* Вођено учење: засебан ток, исте боје и PT Serif. */
.lesson-list{list-style:none;padding:0;margin:20px 0;display:grid;gap:10px;max-width:850px}
.lesson-link{display:flex;justify-content:space-between;gap:16px;align-items:center;width:100%;text-align:left;padding:18px 22px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface);color:var(--color-text)}
.lesson-link strong{font-size:1.1rem}.lesson-link span{font-size:.85rem;color:var(--color-muted)}
.learn-panel{max-width:850px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:18px;padding:clamp(20px,4vw,36px);line-height:1.7}
.learn-panel>p{margin:0 0 18px}.learn-panel h2{font-size:1.3rem}.learn-lesson-label{color:var(--color-muted);font-size:.9rem;margin:0 0 8px}
.learn-sentence{font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.7;margin:0 0 10px}.learn-analysis{margin:0;color:var(--color-action)}
.learn-examples{display:grid;gap:20px;margin:0 0 24px}.learn-examples>div{padding:16px;border-left:3px solid var(--color-structure);background:var(--color-surface-soft);border-radius:0 12px 12px 0}
.learn-note{max-width:850px;font-size:.9rem;line-height:1.65;margin:24px 0;padding:16px;color:var(--color-muted);border-left:2px solid var(--color-border)}
.learn-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap;margin-top:28px}.learn-interaction{border-top:1px solid var(--color-border);margin-top:20px;padding-top:12px}.learn-interaction .choices{margin:20px 0}.learn-interaction .sentence{margin:16px 0}
.learn-service-order{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0;margin:20px 0}.learn-service-order li:not(:last-child)::after{content:' →';color:var(--color-muted)}
.learn-secondary,.lesson-link strong.learn-secondary{font-weight:700;font-style:normal;text-transform:none;font-size:1rem}.task-heading h1.learn-secondary{font-size:1.5rem}
.learn-reminder{max-width:620px;line-height:1.6}.learn-panel mark{background:var(--color-selected);color:inherit;border-radius:3px}
@media(max-width:500px){.lesson-link{padding:16px;align-items:flex-start}.lesson-link span{max-width:95px}.learn-actions{justify-content:stretch}.learn-actions button{flex:1}.learn-panel .word{margin-bottom:8px}}

.learn-question{font-size:1.2rem;font-weight:700;margin:10px 0}.learn-panel strong,.learn-reminder strong{font-style:normal}

/* Синтагма: наставне целине и функционални приказ односа речи. */
.learn-unit-nav{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px}.learn-unit-nav [aria-current="page"]{background:var(--color-selected);border-color:var(--color-action)}
.phrase-growth,.phrase-unfold,.phrase-agreement{margin:18px 0;padding:18px;border:1px solid var(--color-border);border-radius:12px}
.growth-words{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.growth-word{padding:10px 16px;border:1px solid var(--color-border);border-radius:10px;font-size:1.4rem}.growth-head{background:var(--color-selected);border-color:var(--color-action)}
.phrase-agreement{text-align:center;background:var(--color-surface-soft)}.phrase-agreement p:first-child{font-size:1.4rem}.phrase-agreement p:last-child{margin:0;font-size:.9rem}
.phrase-map{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:center;margin-top:28px;position:relative}.phrase-map::before{content:'';position:absolute;left:16%;right:16%;top:50%;height:2px;background:var(--color-structure)}
.phrase-map-side{display:grid;gap:18px;position:relative}.phrase-map-node{position:relative;background:var(--color-surface);border:1px solid var(--color-structure);border-radius:10px;padding:14px 8px;text-align:center;overflow-wrap:anywhere;line-height:1.4}.phrase-map-node strong{display:block;font-size:1.1rem;margin-bottom:8px}.phrase-map-node span{display:block;font-size:.8rem}.phrase-map-head{background:var(--color-selected);border:2px solid var(--color-action)}
.phrase-map-left .phrase-map-node::after{content:'';position:absolute;left:100%;top:50%;width:12px;border-top:2px solid var(--color-structure)}.phrase-map-left::after{content:'';position:absolute;left:calc(100% + 12px);top:25%;bottom:25%;border-left:2px solid var(--color-structure)}
@media(max-width:500px){.phrase-growth,.phrase-unfold,.phrase-agreement{padding:12px 8px}.phrase-map{gap:10px}.phrase-map-node{padding:10px 4px}.phrase-map-node strong{font-size:.9rem}.phrase-map-node span{font-size:.68rem}.phrase-map-left .phrase-map-node::after{width:5px}.phrase-map-left::after{left:calc(100% + 5px)}.growth-word{padding:8px 12px;font-size:1.15rem}.learn-unit-nav .secondary{font-size:.85rem;padding:10px 12px}}

.phrase-map::before{left:calc(33.333% - 4px)}
@media(max-width:500px){.phrase-map::before{left:calc(33.333% - 1.667px)}}

/* Додатне целине УЧИМ: постојећи стил, приступачан избор табова. */
.learn-unit-nav{flex-wrap:nowrap;overflow-x:auto;padding:4px 3px 12px;scroll-snap-type:x proximity}.learn-unit-nav button{flex:0 0 auto;max-width:285px;white-space:normal;scroll-snap-align:start;line-height:1.45;font-size:.9rem}.learn-unit-nav [aria-current="page"]{box-shadow:inset 0 -3px var(--color-action)}
.learn-clause{display:inline-block;background:var(--color-surface-soft);border:1px solid var(--color-structure);border-radius:8px;padding:5px 8px;max-width:100%;vertical-align:baseline}.clause-member-list{display:flex;flex-wrap:wrap;gap:10px;border-top:1px solid var(--color-border);margin-top:12px;padding-top:10px}.clause-member-list>span{font-size:.9rem;padding:8px;background:var(--color-surface);border-radius:6px}.clause-members{margin:18px 0}.clause-members .learn-sentence{line-height:2}
#learn-answer{width:100%;font:inherit;padding:14px;border:1px solid var(--color-border);border-radius:10px;resize:vertical}
@media(max-width:500px){.learn-unit-nav button{font-size:.9rem;max-width:250px}.learn-panel .method-steps{grid-template-columns:1fr}}

/* Самостална провера, изазови и процена тврдњи ВИ користе постојеће токене. */
.assessment-nav{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0;max-width:850px}
.assessment-nav button{min-width:44px;min-height:44px;padding:8px}
.assessment-nav [aria-current="step"]{background:var(--color-selected);border-color:var(--color-action)}
.assessment-fields{display:grid;gap:22px;margin:24px 0}.assessment-field{min-width:0}
.assessment-field label{display:block;font-weight:700;margin-bottom:8px;font-size:1rem}
.assessment-field textarea{box-sizing:border-box;width:100%;font:inherit;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:12px;resize:vertical;min-height:70px}
.assessment-field textarea:focus{outline:2px solid var(--color-action);outline-offset:2px}
.assessment-status{padding:8px 12px;border-left:3px solid var(--color-border);font-size:.95rem}
.assessment-status.correct{background:var(--color-success-soft);border-color:var(--color-success)}
.assessment-status.incorrect{background:var(--color-error-soft);border-color:var(--color-error)}
.assessment-status.unreviewed{background:var(--color-warm-soft)}
.assessment-review{max-width:850px;border:1px solid var(--color-border);border-radius:12px;padding:18px;margin:14px 0;background:var(--color-surface);overflow-wrap:anywhere}
.assessment-review summary{cursor:pointer;min-height:30px}.review-field{border-top:1px solid var(--color-border);margin-top:18px;padding-top:12px}
.review-field h3{font-size:1rem}.review-field p{white-space:pre-wrap}.result-total{font-size:1.25rem}.assessment-summary{margin-bottom:24px}
@media(max-width:500px){.assessment-nav{gap:6px}.assessment-nav button{flex:0 0 44px}.assessment-review{padding:14px}.assessment-field textarea{font-size:16px}.assessment-task .learn-actions{gap:8px}}
.assessment-syllables{display:inline-flex;align-items:center;gap:10px;max-width:100%;overflow-x:auto;padding:4px 2px 10px}
.syllable-button{min-width:68px;min-height:52px;border:1px solid var(--color-border);border-radius:9px;background:var(--color-surface);padding:10px 15px;font-size:22px;font-weight:700;text-align:center}
.syllable-button:hover,.syllable-button.selected{background:var(--color-surface-soft);border-color:var(--color-action)}
.assessment-syllables>span{color:var(--color-muted);font-size:24px}
.accent-sign-choices,.accent-sign-match>div:first-child{display:grid;grid-template-columns:repeat(4,minmax(76px,110px));gap:11px;align-items:stretch;justify-content:start}
.accent-sign-choice{min-width:76px;min-height:70px;font-size:38px;line-height:1.35;padding:12px 18px;justify-content:center;text-align:center}
.word-row-choices{display:flex;flex-wrap:wrap;gap:8px}
.accented-text{white-space:nowrap}
/* Акценатски знак се црта као SVG маска центрирана изнад самогласника; не зависи од тога да ли слова имају уграђене комбинујуће знаке. */
.accent-glyph{display:inline-block;position:relative;line-height:1;vertical-align:baseline}
.accent-base{display:inline}
.accent-mark{position:absolute;z-index:1;left:50%;top:var(--accent-top,-.07em);width:.42em;height:.28em;transform:translateX(-50%);pointer-events:none;background:currentColor;-webkit-mask:var(--accent-shape) center/contain no-repeat;mask:var(--accent-shape) center/contain no-repeat}
.accent-glyph.accent-upper .accent-mark{--accent-top:-.3em}
.accent-mark-grave{--accent-shape:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cg fill='none' stroke='black' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.3 1.3 7.7 6.7'/%3E%3C/g%3E%3C/svg%3E")}
.accent-mark-acute{--accent-shape:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cg fill='none' stroke='black' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.7 1.3 4.3 6.7'/%3E%3C/g%3E%3C/svg%3E")}
.accent-mark-double-grave{--accent-shape:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cg fill='none' stroke='black' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.4 1.3 5.2 6.7'/%3E%3Cpath d='M6.8 1.3 9.6 6.7'/%3E%3C/g%3E%3C/svg%3E")}
.accent-mark-inverted-breve{--accent-shape:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cg fill='none' stroke='black' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1.8 6.8C3.2 1.6 8.8 1.6 10.2 6.8'/%3E%3C/g%3E%3C/svg%3E")}
.accent-mark-macron{--accent-shape:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cg fill='none' stroke='black' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 4h8'/%3E%3C/g%3E%3C/svg%3E")}
.accent-mark-circumflex{--accent-shape:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cg fill='none' stroke='black' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.4 6.8 6 1.6 9.6 6.8'/%3E%3C/g%3E%3C/svg%3E")}
.module-guide-message{max-width:660px;margin-top:18px;padding-left:16px;border-left:3px solid var(--color-accent);font-size:17px;line-height:1.55}
@media(max-width:600px){.assessment-syllables{gap:7px}.syllable-button{min-width:58px;min-height:50px;padding:9px 12px;font-size:20px}.accent-sign-choices,.accent-sign-match>div:first-child{grid-template-columns:repeat(4,minmax(56px,1fr));gap:8px}.accent-sign-choice{min-width:56px;font-size:34px;padding:10px 8px}}

/* Модел-одговор за ученика: ненаметљив, отвара се на клик после предаје одговора. */
.model-answer{max-width:850px;margin:14px 0 4px;border:1px solid var(--color-border);border-radius:var(--radius-sm,10px);background:var(--color-surface);overflow-wrap:anywhere}
.model-answer summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px;padding:8px 14px;font-size:.95rem;font-weight:600;color:var(--color-muted)}
.model-answer summary::before{content:'▸';font-family:system-ui}.model-answer[open] summary::before{content:'▾'}
.model-answer summary::-webkit-details-marker{display:none}.model-answer summary{list-style:none}
.model-answer summary:focus-visible{outline:3px solid var(--mode-color,currentColor);outline-offset:2px;border-radius:var(--radius-sm,10px)}
.model-answer-note,.model-answer-text{margin:0;padding:0 14px 12px;line-height:1.65;white-space:normal}
.model-answer-note{font-size:.9rem;color:var(--color-muted)}

/* Страница „Како се користи апликација“. */
.guide-page{max-width:760px;margin:0 auto;padding:clamp(18px,3vw,36px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius,14px);line-height:1.7;overflow-wrap:anywhere}
.guide-page h1{margin:.2em 0 .4em;font-size:clamp(1.5rem,4vw,2rem);line-height:1.25}
.guide-page h2{margin:1.6em 0 .4em;font-size:1.2rem;line-height:1.35;padding-top:.9em;border-top:1px solid var(--color-border)}
.guide-page p{margin:.6em 0}.guide-page ul{margin:.4em 0 .8em;padding-left:1.25em}.guide-page li{margin:.45em 0}
.guide-lead{font-size:1.05rem}.guide-back{margin:0 0 .4em}.guide-page>.guide-back:last-child{margin:1.6em 0 0}
.guide-link{margin:14px 0 0}.guide-link button{min-height:44px}
