:root{color:#1f2933;background:#eef3f1;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button{font:inherit}.app-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:32px 0 48px}.home-layout{display:grid;gap:22px}.home-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}.language-toggle{display:inline-flex;width:fit-content;gap:4px;align-items:center;border:1px solid #c8d5d1;border-radius:8px;background:#fbfdfc;padding:4px}.language-toggle button{min-height:34px;border:0;border-radius:6px;background:transparent;color:#52645f;cursor:pointer;padding:0 12px;font-weight:800}.language-toggle button.active{background:#226f68;color:#fff}.language-toggle-compact{align-self:center}.hero{padding:36px 0 10px}.eyebrow{margin:0 0 8px;color:#557064;font-size:.84rem;font-weight:700;text-transform:uppercase}h1,h2,p{margin-top:0}.hero h1{max-width:760px;margin-bottom:14px;color:#172026;font-size:clamp(2.2rem,6vw,4.8rem);line-height:1;letter-spacing:0}.hero-copy{max-width:720px;color:#4c5f59;font-size:1.1rem;line-height:1.7}.progress-panel,.context-card,.wizard-card,.breakdown,.lesson-card{border:1px solid #d5dfdb;border-radius:8px;background:#fbfdfc;box-shadow:0 18px 45px #20332e14}.progress-panel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:14px;align-items:center;padding:16px}.progress-panel div{display:grid;gap:3px}.metric,.weakest{color:#20332e;font-size:1.45rem;font-weight:800}small{color:#667873;line-height:1.4}.lesson-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.lesson-card{min-height:170px;padding:18px;text-align:left;cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.lesson-card:hover{border-color:#78958c;box-shadow:0 18px 45px #20332e24;transform:translateY(-2px)}.author-card{border-color:#b8d9d4;background:#f2fbf9}.lesson-card span{display:block;margin-bottom:18px;color:#172026;font-weight:800}.exercise-layout{display:grid;gap:18px}.top-bar{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center}.top-bar h1{margin:0;font-size:1.35rem}.top-actions{display:flex;gap:10px;align-items:center;justify-content:end}.top-actions .language-toggle{margin-left:auto}.workspace{display:grid;grid-template-columns:1fr;gap:18px;align-items:start}.practice-grid{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(360px,1fr) minmax(300px,.72fr);gap:18px;align-items:start}.context-card,.wizard-card,.breakdown,.answer-stack,.guide-card{padding:20px}.guide-card{border:1px solid #d5dfdb;border-radius:8px;background:#fbfdfc;box-shadow:0 18px 45px #20332e14}.answer-stack{position:sticky;top:18px;max-height:calc(100vh - 36px);overflow:auto;border:1px solid #d5dfdb;border-radius:8px;background:#fbfdfc;box-shadow:0 18px 45px #20332e14}.answer-stack-header{display:grid;gap:8px;margin-bottom:14px}.answer-list{display:grid;gap:10px}.empty-review{margin:0;color:#657873;font-size:.94rem;line-height:1.5}.answer-record{border:1px solid #dce6e2;border-left-width:4px;border-radius:8px;padding:12px;background:#fff}.answer-correct{border-left-color:#2f7d42}.answer-wrong{border-left-color:#b66a20}.answer-record p{margin:8px 0 0;color:#40534e;font-size:.9rem;line-height:1.45}.answer-record-top{display:flex;gap:8px;align-items:center;justify-content:space-between}.answer-record-top strong{color:#172026}.answer-record-top span{border-radius:999px;background:#eef5f2;padding:3px 8px;color:#536761;font-size:.76rem;font-weight:850}.answer-prompt{color:#657873!important}.answer-label{color:#20332e;font-weight:850}.answer-feedback{border-top:1px solid #edf2f0;padding-top:8px}.context-card p{color:#172026;font-size:1.26rem;line-height:1.85}.target-details{margin:18px 0}.target-details summary{cursor:pointer;color:#226f68;font-weight:850}.target-box{margin:10px 0 0;padding:14px;border-left:4px solid #226f68;background:#edf8f5;color:#20332e;font-weight:700}mark{padding:3px 6px;border-radius:5px;background:#ffe6a6;color:#172026}.note{color:#5b6d68;font-size:.96rem!important}.protocol,.teaching-notes,.combination-note,.perspective-map{margin-top:14px;border:1px solid #dce6e2;border-radius:8px;background:#f7faf9}.protocol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}.protocol div{display:grid;gap:8px;align-content:start}.protocol p,.teaching-notes p,.combination-note p{margin:0;color:#4f625d;font-size:.88rem!important;line-height:1.45!important}.teaching-notes,.combination-note{display:grid;gap:8px;padding:12px}.combination-note{border-color:#d8c5ef;background:#f8f3ff}.step-hint{margin:-4px 0 16px;border-left:4px solid #7b8f89;padding:10px 12px;background:#f4f8f6;color:#536761;font-size:.95rem;line-height:1.5}.badge-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.role-badge{display:inline-flex;min-height:28px;align-items:center;border-radius:999px;padding:4px 10px;font-size:.8rem;font-weight:800}.role-verb{background:#e4efff;color:#16406f}.role-direct{background:#e8f6dc;color:#345f1f}.role-indirect{background:#fff0d9;color:#6b4715}.role-perspective{background:#f0e7ff;color:#513075}.role-combined{background:#dff7f3;color:#155a55}.step-header{display:grid;gap:8px;margin-bottom:16px}.step-header span{color:#647873;font-size:.84rem;font-weight:800;text-transform:uppercase}.step-header strong{color:#172026;font-size:1.5rem;line-height:1.35}.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.option-button,.primary-button,.secondary-button,.text-button{min-height:42px;border:1px solid #c8d5d1;border-radius:7px;background:#fff;color:#20332e;cursor:pointer;font-weight:750}.option-button{padding:12px;text-align:left;line-height:1.35}.option-button:hover,.secondary-button:hover{border-color:#226f68;background:#f2fbf9}.primary-button{padding:0 18px;border-color:#226f68;background:#226f68;color:#fff}.secondary-button,.text-button{padding:0 14px}.text-button{border-color:transparent;background:transparent;color:#226f68}.feedback{margin:16px 0 0;border-radius:7px;padding:12px 14px;line-height:1.55}.feedback.correct{background:#e4f7e6;color:#225a2a}.feedback.wrong{background:#fff1df;color:#744414}.final-panel{display:grid;gap:12px}.final-panel h2{margin-bottom:0;color:#172026}.breakdown summary{cursor:pointer;color:#20332e;font-weight:850}table{width:100%;margin:16px 0;border-collapse:collapse;overflow:hidden;border-radius:8px}th,td{border-bottom:1px solid #e1e8e5;padding:11px 10px;text-align:left;vertical-align:top}th{background:#f0f5f3;color:#41534e;font-size:.84rem}.base-event{color:#172026;font-size:1.4rem!important;font-weight:800}.camera-model{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.perspective-map{display:flex;flex-wrap:wrap;gap:8px;padding:12px}.perspective-map span{border-radius:999px;background:#fff;padding:7px 10px;color:#513075;font-size:.85rem;font-weight:800}.camera-model div{min-height:84px;border:1px solid #d8e2de;border-radius:7px;padding:12px;background:#f7faf9}.camera-model span{display:block;margin-bottom:6px;color:#657873;font-size:.78rem;font-weight:800;text-transform:uppercase}.camera-model strong{color:#172026}.result-line{margin-top:14px;color:#172026;font-size:1.25rem;font-weight:850}.empty-state{display:grid;justify-items:start;gap:14px}.author-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.48fr);gap:18px;align-items:start}.author-main,.author-side{display:grid;gap:14px;border:1px solid #d5dfdb;border-radius:8px;background:#fbfdfc;box-shadow:0 18px 45px #20332e14;padding:20px}.field,.field-row label{display:grid;gap:7px}.field span,.field-row span{color:#40534e;font-size:.84rem;font-weight:850}.field input,.field textarea,.field-row select{width:100%;border:1px solid #c8d5d1;border-radius:7px;background:#fff;color:#172026;padding:10px 11px;font:inherit;line-height:1.4}.field textarea{resize:vertical}.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.validation-card{display:grid;gap:8px;border-radius:8px;padding:13px}.validation-card p{margin:0;line-height:1.45}.validation-card ul{margin:0;padding-left:20px}.validation-ok{border:1px solid #b9dec0;background:#effaf1;color:#225a2a}.validation-error{border:1px solid #edc99f;background:#fff5e8;color:#744414}.author-submit:disabled{cursor:not-allowed;opacity:.5}@media(max-width:860px){.app-shell{width:min(100% - 22px,1180px);padding-top:18px}.lesson-grid,.workspace,.practice-grid,.author-form,.progress-panel,.top-bar,.camera-model,.protocol{grid-template-columns:1fr}.top-actions{justify-content:space-between}.answer-stack{position:static;max-height:none}.option-grid,.field-row{grid-template-columns:1fr}}
