/* CodAre learning workspace. Ink, violet and lime share one visual language. */
.output:empty{display:block}.hint-ladder ol{padding-left:20px;font-size:15px;line-height:1.85}.hint-ladder details{margin-top:18px}.mobile-bottom .nav-link{margin:0}.mobile-bottom .nav-count{display:none}
:root{--blue:#5640d8;--muted:#616b7c;--line:#dde1e9;--green:#176b49;--radius:14px;color:#182033;background:#f4f5f8}
button,a{-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid #7561f1;outline-offset:3px}h1{font-size:clamp(28px,3vw,40px);letter-spacing:-1.3px;line-height:1.2}h2{line-height:1.3}.btn{border-radius:9px;min-height:44px;font-weight:600;font-size:14px}.btn.primary{background:var(--blue);border-color:var(--blue);color:white}.btn.primary:hover{background:#4130b0}.text-button{color:var(--blue);font-size:14px;font-weight:600;min-height:44px;text-align:left;padding:4px 0;line-height:1.5}.sidebar{width:226px;padding:26px 18px;overflow:auto}.sidebar .brand{font-size:27px;letter-spacing:-1px}.workspace{margin:10px 0 28px!important;font-size:13px!important}.nav-link{min-height:47px;font-size:14px;padding:12px;margin-bottom:6px;gap:11px}.nav-link.active{background:#ebe7ff;color:#4430b4}.nav-link .nav-count{margin-left:auto;border-radius:6px;background:#ded7ff;padding:2px 6px;font-size:12px}.sidebar .label{margin:25px 12px 12px}.sidebar .side-links{display:grid;gap:3px}.sidebar .side-links button{text-align:left;padding:10px 12px;font-size:14px;border-radius:8px}.sidebar .side-links button:hover{background:#f5f3ff}.sidebar-bottom{margin-top:auto;padding-top:26px}.side-progress{background:#f6f5fc;border:0}.bar{background:#e9e8f1;height:6px}.topbar{margin-left:226px;height:72px;background:#fff;padding:0 34px}.breadcrumb{font-size:14px}.breadcrumb b{font-weight:600}.save-status{font-size:13px}.layout{margin-left:226px;max-width:1600px;padding:32px 34px 65px}.view-title{margin-bottom:27px}.view-title p{max-width:760px;font-size:16px;line-height:1.8;color:#657084}.eyebrow{font-size:12px;letter-spacing:1.5px}.pill{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;background:#f1effc;color:#554389;border-radius:6px;font-size:12px;font-weight:600;line-height:1.5}.pill.amber{background:#fff3da;color:#805410}.pill.green{background:#e3f3e9;color:#176b49}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:20px;align-items:stretch}.continue-card{background:#1e2042;color:#fff;border-radius:16px;padding:30px;display:flex;flex-direction:column;overflow:hidden}.continue-card .eyebrow{color:#c5bfef}.continue-card .pill{color:#dfdafb;background:#ffffff12}.continue-content{display:flex;gap:18px;align-items:center;flex:1}.continue-content>div:first-child{flex:1}.continue-content h2{font-size:clamp(26px,2.7vw,37px);letter-spacing:-1px;max-width:600px;margin:18px 0 14px;line-height:1.22}.continue-content p{color:#c8c9de;font-size:15px;max-width:420px;margin-bottom:23px}.continue-card .btn.primary{background:#d4f486;border:0;color:#21331c;padding:12px 20px}.continue-card .btn.primary:hover{background:#e2ffa0}.continue-symbol{font:600 48px/1.4 ui-monospace,monospace;letter-spacing:-8px;color:#a295f5;border:1px solid #ffffff1c;border-radius:16px;padding:15px;transform:rotate(-6deg)}.module-meter{margin-top:32px;padding-top:19px;border-top:1px solid #ffffff1c;font-size:13px;color:#cfcee6}.module-meter .bar{background:#ffffff19;margin-bottom:0}.module-meter .bar span{background:#c1e97d}.coach-intro{background:white;border:1px solid var(--line);border-radius:16px;padding:22px}.coach-intro .scene{height:145px}.coach-intro .scene:after{display:none}.coach-intro h3{font-size:17px;margin:5px 0}.coach-intro p{font-size:14px;color:#616d80;line-height:1.7}.coach-intro .text-button{margin-top:9px}.overview-strip{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:13px;background:white;margin:23px 0 32px;padding:20px 0}.overview-strip>div{display:flex;flex-direction:column;gap:6px;padding:0 24px}.overview-strip>div+div{border-left:1px solid var(--line)}.overview-strip b{font-size:29px;letter-spacing:-1px}.overview-strip b small{font-size:16px;color:var(--muted);font-weight:500}.overview-strip span{font-size:14px;color:#647085}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:28px 0 15px}.section-heading h2{font-size:22px;letter-spacing:-.5px}.section-heading>span{font-size:14px;color:var(--muted)}.module-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.module-card{display:flex;flex-direction:column;align-items:stretch;border:1px solid var(--line);border-radius:13px;background:white;padding:20px;text-align:left;transition:border-color .18s,transform .18s}.module-card:hover{border-color:#a093dd;transform:translateY(-2px)}.module-index{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#f0ecff;font:600 14px ui-monospace,monospace;color:var(--blue)}.module-card h3{margin:20px 0 10px;font-size:18px;line-height:1.4}.module-card p{font-size:14px;color:#647085;line-height:1.7;flex:1;margin-bottom:18px}.module-card .small{font-size:12px}.module-card .bar{margin-top:0}.study-contract{display:flex;align-items:start;gap:14px;margin-top:25px;padding:18px 0;color:#657085;font-size:14px}.study-contract>span{color:var(--green);padding-top:3px}.study-contract b{color:#333d50}.catalog-search{background:white;border:1px solid var(--line);border-radius:12px;padding:18px 20px;margin-bottom:22px;max-width:740px}.catalog-search label{display:block;font-size:14px;font-weight:600;margin-bottom:10px}.catalog-search>div{display:flex;gap:10px}.catalog-search input{min-width:0;flex:1;font-size:16px;background:#f7f8fb;border:1px solid #dce0ea;border-radius:8px;padding:12px 14px}.course-filter{margin-bottom:26px}.course-filter button{font-size:13px;min-height:40px;background:white;padding:8px 12px}.course-filter button.active{background:#eae6ff;color:#4431ae;border-color:#b7abeb}.lesson-row{gap:18px;padding:20px}.lesson-row strong{font-size:16px}.lesson-row small{font-size:14px;line-height:1.6}.lesson-status{font-size:12px;color:#697286;white-space:nowrap;background:#f2f3f8;padding:5px 8px;border-radius:6px}.lesson-status.is-done{background:#e3f3e9;color:#176b49}.recovery-grid,.recall-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.recovery-card,.recall-card{background:white;border:1px solid var(--line);border-radius:13px;padding:22px}.recovery-card h3{font-size:18px;line-height:1.5;margin:18px 0 10px}.recovery-card p{font-size:15px;line-height:1.75;color:#657084;margin-bottom:17px}.recovery-card>.row:first-child{flex-wrap:wrap}.recall-card h3{line-height:1.6;font-size:17px}.recall-card details{margin:20px 0 10px}.recall-card summary{font-size:14px;cursor:pointer;color:var(--blue)}.recall-card p{margin-top:15px;font-size:15px;line-height:1.8}.empty-state{background:white;border:1px solid var(--line);border-radius:14px;text-align:center;padding:50px 24px}.empty-state svg{color:var(--green);width:36px;height:36px;margin-bottom:15px}.empty-state h2{font-size:24px}.empty-state p{font-size:16px;color:var(--muted);margin:15px auto 24px;max-width:550px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.project-card{background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}.project-cover{background:#25254b;color:#dad5ff;min-height:145px;padding:18px 22px;display:flex;flex-direction:column;justify-content:space-between}.project-cover>span{font-size:12px;letter-spacing:1px}.project-cover b{font:500 32px ui-monospace,monospace;align-self:flex-end}.cover-1,.cover-4{background:#183e3a;color:#ceeedf}.cover-2,.cover-5{background:#dcecae;color:#32401c}.project-body{padding:22px;display:flex;flex-direction:column;align-items:start;gap:14px;flex:1}.project-body h2{font-size:21px;letter-spacing:-.4px}.project-body p{font-size:15px;color:#667183;line-height:1.75;flex:1}.project-body .btn{margin-top:5px}.competency-map{margin-top:28px}.competency-row{display:grid;grid-template-columns:240px minmax(0,1fr) 60px;align-items:center;gap:20px;padding:16px 20px;width:100%;text-align:left;background:white;border:1px solid var(--line);border-bottom:0;font-size:14px}.competency-row:first-of-type{border-radius:12px 12px 0 0}.competency-row:last-of-type{border-bottom:1px solid var(--line);border-radius:0 0 12px 12px}.competency-row .bar{margin:0}.competency-row b{text-align:right;font-size:13px}.intro h1{font-size:32px}.intro p{font-size:15px}.intro-actions{display:flex;flex-direction:column;align-items:end;gap:12px;flex-shrink:0}.intro-actions .btn{font-size:13px}.main-grid{grid-template-columns:minmax(0,1fr) 284px;gap:20px}.learning-panel{border-radius:14px}.tabs{height:62px}.tab{font-size:14px}.lesson-content{padding:28px}.study-mode{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.study-mode .text-button{font-size:13px}.reading-progress{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);gap:15px;margin-bottom:13px}.step-dots{display:flex;gap:8px;padding-bottom:24px;border-bottom:1px solid var(--line);margin-bottom:26px}.step-dots button{width:35px;height:35px;border:1px solid var(--line);border-radius:8px;font-size:13px;background:#f7f8fb}.step-dots button[aria-current]{background:var(--blue);color:white;border-color:var(--blue)}.guided-section>.eyebrow{color:#677287;line-height:1.65;text-transform:none;letter-spacing:0;font-size:14px}.guided-section h2{font-size:26px}.lesson-content .guided-section>p{font-size:17px;line-height:1.95;color:#465166;margin:20px 0}.inline-glossary{margin:26px 0 8px;padding:16px 18px;background:#f6f4fe;border:1px solid #e8e2ff;border-radius:9px}.inline-glossary summary{cursor:pointer;font-size:14px;font-weight:600;color:#534282;line-height:1.6}.inline-glossary p{font-size:15px!important}.guided-actions{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;gap:12px}.guided-section .text-button{margin-top:10px}.panel-footer{background:#fbfbfd}.tutor-column .scene{height:180px}.tutor-column .speech{font-size:14px}.tutor-card{border-radius:14px}.tutor-header .status{font-size:12px}.voice-controls button{font-size:13px}.tutor-shortcuts{display:grid;grid-template-columns:1fr}.chip{min-height:40px;text-align:left;font-size:13px}.speech b{font-size:15px}.focus-on .sidebar,.focus-on .tutor-column{display:none}.focus-on .topbar,.focus-on .layout{margin-left:0}.focus-on .layout{max-width:1380px;margin-left:auto;margin-right:auto}.focus-on .main-grid{grid-template-columns:minmax(0,1fr)}.focus-on .lab-layout{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:30px}.lab-instructions h2{font-size:24px}.lab-instructions>p{line-height:1.85}.lab-editor{min-width:0}.lab-editor .editor-wrap{margin-top:0}.editor-wrap textarea{font-size:15px;line-height:1.8;min-height:320px;tab-size:2}.code-toolbar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:10px 0 17px}.code-toolbar button{min-width:38px;min-height:38px;border:1px solid var(--line);border-radius:6px;font:14px ui-monospace,monospace;background:white}.code-toolbar span{margin-left:auto;font-size:12px;color:#657085}.lab-actions{flex-wrap:wrap;gap:8px}.output{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.9 ui-monospace,monospace;min-height:90px;border:1px solid var(--line);background:#f6f7fb;padding:18px;border-radius:10px}.output:empty:before{content:'I risultati dei test appariranno qui.';color:#778094}.hint-ladder{border:1px solid var(--line);border-radius:10px;margin:18px 0;padding:15px}.hint-ladder summary{cursor:pointer;color:var(--blue);font-size:14px;line-height:1.6}.hint-ladder p{font-size:15px;color:#536076;margin:13px 0!important}.preview-frame{display:block;width:100%;height:350px;border:1px solid var(--line);border-radius:9px;background:white;margin-top:16px}.preview-caption{font-size:13px;color:#657085;margin-top:8px}.question{margin:20px 0}.question legend{font-size:17px;line-height:1.6}.option{font-size:15px;line-height:1.7;padding:13px 15px;min-height:48px}.option:has(input:checked){border-color:#9b8be8;background:#f2efff}.feedback strong{line-height:1.7}.feedback{font-size:15px;line-height:1.8}.feedback ul{padding-left:22px}.mobile-bottom{display:none}.mobile-dismiss{display:none}.layout{animation:appear .25s ease}
@media(min-width:1500px){.layout{padding:40px 48px 70px}.main-grid{grid-template-columns:minmax(0,1fr) 320px}.lesson-content{padding:32px 38px}}
@media(max-width:1150px){.module-cards,.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar{width:208px;padding:24px 15px}.topbar,.layout{margin-left:208px}.layout{padding:28px 24px 65px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 250px}.continue-symbol{display:none}.continue-card{padding:25px}.main-grid{grid-template-columns:minmax(0,1fr)}.tutor-column{display:grid;grid-template-columns:1fr 1fr}.tutor-card .scene{height:160px}.intro h1{font-size:30px}.competency-row{grid-template-columns:200px minmax(0,1fr) 45px}}
@media(max-width:800px){.dashboard-grid{grid-template-columns:minmax(0,1fr)}.coach-intro{display:none}.recovery-grid,.recall-grid{grid-template-columns:1fr}.overview-strip>div{padding:0 14px}.overview-strip span{font-size:12px}.overview-strip b{font-size:25px}.continue-content h2{font-size:30px}.competency-row{grid-template-columns:1fr 70px}.competency-row .bar{grid-row:2;grid-column:1/-1}.focus-on .lab-layout{grid-template-columns:1fr}.intro-actions{display:none}}
@media(max-width:650px){.sidebar{width:275px;padding:24px 20px;transform:translateX(-100%);box-shadow:none;z-index:60}.sidebar.open{transform:none;box-shadow:12px 0 60px #13203a40}.sidebar.open:after{display:none}.mobile-dismiss{display:block;position:absolute;right:15px;top:18px;font-size:24px;min-width:44px;min-height:44px}.topbar{margin-left:0;padding:0 17px;height:66px}.layout{margin-left:0;padding:24px 16px 100px}.breadcrumb{font-size:13px;min-width:0}.breadcrumb b{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mobile-bottom{display:flex;position:fixed;bottom:0;left:0;right:0;padding:7px 8px calc(7px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);z-index:40;justify-content:space-around}.mobile-bottom button{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:12px;padding:7px 12px;min-height:52px;border-radius:9px}.mobile-bottom button.active{background:#eeeaff;color:var(--blue)}.view-title h1{font-size:31px}.view-title p{font-size:15px}.continue-card{padding:24px}.continue-content h2{font-size:28px}.continue-content p{font-size:15px}.continue-card .btn{width:100%;justify-content:center}.continue-card .eyebrow{font-size:12px}.module-meter{line-height:1.6}.overview-strip{padding:17px 0}.overview-strip>div{padding:0 11px}.overview-strip b{font-size:24px}.overview-strip span{font-size:12px;line-height:1.5}.overview-strip b small{font-size:13px}.module-cards,.project-grid{grid-template-columns:1fr}.module-card{padding:22px}.module-card h3{font-size:20px;margin-top:18px}.module-card .small{font-size:13px}.section-heading h2{font-size:20px}.section-heading .text-button{font-size:13px}.course-filter{flex-wrap:nowrap;overflow-x:auto;padding-bottom:10px}.course-filter button{white-space:nowrap;min-height:44px;font-size:13px}.catalog-search{padding:17px}.catalog-search>div{gap:7px}.catalog-search .btn{padding:10px 12px}.lesson-row{padding:17px 14px;gap:10px;flex-wrap:wrap}.lesson-row .body{min-width:0}.lesson-row strong{font-size:15px}.lesson-row small{font-size:13px}.lesson-status{margin-left:38px}.intro h1{font-size:28px}.intro p{font-size:15px}.intro .eyebrow{font-size:12px;flex-wrap:wrap}.tabs{padding:0 18px;gap:20px}.tab{font-size:14px}.lesson-content{padding:22px 19px}.study-mode{gap:7px;align-items:start}.study-mode .pill{font-size:12px;white-space:nowrap}.study-mode .text-button{font-size:12px;min-height:30px;text-align:right}.reading-progress{font-size:12px;line-height:1.6}.step-dots{gap:7px;flex-wrap:wrap}.step-dots button{min-width:38px;min-height:42px}.guided-section h2{font-size:24px}.lesson-content .guided-section>p{font-size:16px;line-height:1.95}.guided-actions .btn{font-size:13px;padding:11px 13px}.tutor-column{display:flex}.path-card{display:block}.tutor-card .scene{height:190px!important}.lesson-content .code-block pre{font-size:13px}.editor-wrap textarea{font-size:16px;min-height:300px}.lab-actions .btn{flex:1;white-space:normal;line-height:1.5}.project-cover{min-height:135px}.recovery-card{padding:20px}.recall-card{padding:22px}.competency-row{font-size:14px;padding:16px}.study-contract p{font-size:14px}.stats-grid{grid-template-columns:1fr}.stat b{font-size:30px}.stat .small{font-size:14px}.question legend{font-size:16px}.option{font-size:15px}.panel-footer .source-link{font-size:12px;max-width:120px}#toast{bottom:85px}.focus-on .mobile-bottom{display:none}}
@media(prefers-reduced-motion:reduce){.module-card:hover{transform:none}.layout{animation:none}}
@media print{.mobile-bottom,.competency-map{display:none!important}}
