:root{
  --navy:#07182A;--navy2:#0C2748;--blue:#1769E0;--cyan:#22B6F5;--ink:#10233F;--muted:#68778A;
  --bg:#F6F8FB;--card:#fff;--border:#DDE5EF;--green:#0B8B65;--purple:#7252C7;--orange:#E58A12;--red:#D95555;
  --shadow:0 22px 70px rgba(7,24,42,.12);--r:18px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}
a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.container{width:min(1180px,calc(100% - 32px));margin:auto}
.nav{position:sticky;top:0;z-index:40;background:rgba(7,24,42,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}
.nav-inner{height:74px;display:flex;align-items:center;gap:24px}.logo{width:210px}.nav-links{display:flex;gap:17px;margin-left:auto;align-items:center}.nav a{color:#dbe8f6;font-size:14px}.nav a:hover{color:#fff}.nav .pill{border:1px solid rgba(255,255,255,.18);padding:10px 14px;border-radius:999px}.nav .primary{background:linear-gradient(90deg,var(--blue),var(--cyan));color:#fff}
.hero{background:radial-gradient(circle at 78% 18%,rgba(34,182,245,.22),transparent 32%),linear-gradient(145deg,#061426,#0B2544 58%,#103a67);color:#fff;padding:92px 0 84px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:54px;align-items:center}.eyebrow{display:inline-flex;padding:8px 12px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.05);font-size:13px;color:#d7e9fb}.hero h1{font-size:clamp(46px,6vw,76px);line-height:.98;margin:20px 0;letter-spacing:-.045em}.hero h1 span{background:linear-gradient(90deg,#fff 15%,#22B6F5);-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{font-size:18px;line-height:1.65;color:#d8e8f8;max-width:720px}.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}.btn{border:0;border-radius:14px;padding:13px 17px;font-weight:780;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary{background:linear-gradient(90deg,var(--blue),var(--cyan));color:#fff;box-shadow:0 14px 30px rgba(23,105,224,.22)}.btn-secondary{background:#fff;color:var(--navy)}.btn-ghost{background:#fff;border:1px solid var(--border);color:var(--ink)}.btn:disabled{opacity:.45;cursor:not-allowed}.full{width:100%}.hero-meta{display:flex;gap:20px;flex-wrap:wrap;color:#bdd0e4;font-size:13px}.hero-card{background:linear-gradient(160deg,rgba(255,255,255,.14),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.16);border-radius:28px;padding:24px;box-shadow:var(--shadow)}.hero-card .window{background:#fff;border-radius:20px;padding:22px;color:var(--ink)}.overline,.section-kicker,.page-kicker{font-size:12px;font-weight:850;letter-spacing:.08em;color:var(--blue)}.progress-bar,.lesson-progress,.quiz-meter{height:9px;background:#e8eef5;border-radius:999px;overflow:hidden}.progress-bar>span,.lesson-progress>span,.quiz-meter>span{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--cyan));border-radius:inherit}.mini-module{display:flex;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #edf1f6}.mini-module:last-child{border:0}.num{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#edf5ff;color:var(--blue);font-weight:850}
.section{padding:80px 0}.section.alt{background:#fff}.section h2{font-size:clamp(30px,4vw,48px);letter-spacing:-.03em;margin:8px 0 14px}.section-lead{max-width:790px;color:var(--muted);font-size:17px;line-height:1.65;margin-bottom:34px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.span-2{grid-column:span 2}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:22px;box-shadow:0 1px 2px rgba(7,24,42,.03)}.card h3{margin:8px 0}.card p{color:var(--muted);line-height:1.58}.icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#edf5ff;color:var(--blue);font-weight:850}.feature-card{min-height:190px}.tag{display:inline-flex;padding:6px 10px;border-radius:999px;background:#eef5ff;color:var(--blue);font-size:12px;font-weight:850}.module-card{position:relative}.module-card.locked{opacity:.74}.module-card .lock{position:absolute;right:18px;top:18px}.module-meta{display:flex;gap:12px;font-size:12px;color:var(--muted);margin-top:16px}.price-box{background:linear-gradient(145deg,#08192c,#0d2b4c);color:#fff;padding:32px;border-radius:26px;box-shadow:var(--shadow)}.price-line{display:flex;align-items:end;gap:14px;margin:18px 0}.price{font-size:56px;font-weight:900;letter-spacing:-.04em}.old-price{text-decoration:line-through;color:#9fb5cc}.checklist{display:grid;gap:10px;margin:20px 0}.check{display:flex;gap:10px}.check:before{content:'✓';color:#5fe2b3;font-weight:900}
.page{min-height:calc(100vh - 74px)}.page-head{background:linear-gradient(145deg,#07182A,#0d3158);color:#fff;padding:56px 0 48px}.page-head h1{font-size:48px;letter-spacing:-.035em;margin:8px 0}.page-head p{color:#d2e3f5;max-width:760px;line-height:1.6}.stack{display:grid;gap:16px}.module-heading{display:flex;justify-content:space-between;gap:20px;align-items:start}.module-heading h2{font-size:28px!important;margin:10px 0!important}.module-time{white-space:nowrap;color:var(--muted)}.curriculum-list{display:grid;gap:9px}.curriculum-row{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding:16px;border:1px solid var(--border);border-radius:14px;background:#fff}.curriculum-row:hover{border-color:#bcd2f4;transform:translateY(-1px)}.curriculum-row small{color:var(--muted)}.quiz-row{margin-top:12px;background:#f5f0ff}
.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:50px 20px;background:radial-gradient(circle at 70% 10%,rgba(34,182,245,.16),transparent 30%),#f7f9fc}.auth-card{width:min(470px,100%);background:#fff;border:1px solid var(--border);border-radius:24px;padding:30px;box-shadow:var(--shadow)}.field{display:grid;gap:7px;margin:14px 0}.field label{font-size:13px;font-weight:750}.field input{border:1px solid var(--border);border-radius:12px;padding:13px 14px;outline:none}.field input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(23,105,224,.1)}.demo-note{padding:12px 14px;border-radius:12px;background:#fff6e8;color:#8a5900;font-size:13px;line-height:1.5}.checkout-price{font-size:52px;font-weight:900;color:var(--blue);margin:20px 0 4px}.checkout-price small{font-size:16px;color:var(--muted)}
.dashboard{padding:42px 0}.dash-grid{display:grid;grid-template-columns:1.5fr .8fr;gap:22px;margin-top:22px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat strong{display:block;font-size:30px;margin-top:6px}.continue{background:linear-gradient(145deg,#07182A,#0d3158);color:#fff;border:0}.continue p{color:#d9e9f8}.module-list{display:grid;gap:12px}.module-progress{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--border);border-radius:14px}
.course-shell{display:grid;grid-template-columns:290px minmax(0,1fr) 315px;min-height:calc(100vh - 74px)}.course-sidebar,.course-aside{background:#fff;padding:20px;position:sticky;top:74px;height:calc(100vh - 74px);overflow:auto}.course-sidebar{border-right:1px solid var(--border)}.course-aside{border-left:1px solid var(--border)}.sidebar-module h3{margin:8px 0 12px}.sidebar-module p{font-size:12px;color:var(--muted)}.lesson-nav-list{margin-top:18px}.lesson-item{display:grid;grid-template-columns:28px 1fr;gap:8px;padding:10px;border-radius:10px;font-size:12px;line-height:1.3;margin:3px 0;color:#475a70}.lesson-item>span{font-weight:850;color:#8796a8}.lesson-item.active{background:#edf5ff;color:var(--blue);font-weight:800}.lesson-item.done>span{color:var(--green)}.quiz-link{margin-top:12px;border:1px solid #ded4f8;background:#faf7ff}.course-main{padding:34px 40px 75px;max-width:920px;width:100%;margin:0 auto}.lesson-topline{color:var(--blue);font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.lesson-heading-row{display:flex;gap:14px;align-items:start}.lesson-title{font-size:42px;line-height:1.08;letter-spacing:-.035em;margin:8px 0 12px;flex:1}.bookmark-btn{border:1px solid var(--border);background:#fff;border-radius:50%;width:44px;height:44px;font-size:23px;color:#9aabbc;cursor:pointer}.bookmark-btn.active{color:#e0a216;background:#fff9e9}.lesson-meta{color:var(--muted);margin-bottom:16px}.lesson-progress{margin-bottom:28px;height:6px}
.learning-block{margin:18px 0;border:1px solid var(--border);border-radius:18px;background:#fff;padding:22px}.learning-block h3{margin:5px 0 10px}.learning-block p,.learning-block li{line-height:1.65;color:#31465e}.block-label{display:inline-block;font-size:11px;font-weight:850;letter-spacing:.07em;text-transform:uppercase;color:var(--blue);margin-bottom:4px}.block-idea,.block-definition{background:#eef5ff;border-color:#cfe1fb}.block-remember{background:#edf9f4;border-color:#cce9da}.block-warning{background:#fff6e8;border-color:#f3dfbc}.block-example{background:#f7f9fc}.block-exercise{background:#f5f0ff;border-color:#ddd2f8}.block-micro{background:#f5f0ff;border-color:#ddd2f8}.micro-question{font-size:17px;font-weight:750}.micro-answer{display:none;margin-top:12px;padding:12px;background:#fff;border-radius:10px}.micro-answer.show{display:block}.rich-list{display:grid;gap:8px;padding-left:20px}
.process-flow{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;align-items:stretch}.process-node{padding:16px;border:1px solid var(--border);border-radius:14px;background:#fff;position:relative}.process-node strong{display:block;color:var(--blue);font-size:13px}.process-node p{font-size:13px;margin-bottom:0}.process-num{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#edf5ff;color:var(--blue);font-weight:850;margin-bottom:12px}.process-arrow{display:grid;place-items:center;color:var(--blue);font-size:23px}
.compare{display:grid;grid-template-columns:1fr 1fr;gap:14px}.compare .panel,.compare3 .panel{border:1px solid var(--border);border-radius:14px;padding:18px;background:#fff}.compare-left{border-top:4px solid var(--green)!important}.compare-right{border-top:4px solid var(--purple)!important}.compare3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.panel.success{border-top:4px solid var(--green)}.panel.brand{border-top:4px solid var(--blue)}.panel.concept{border-top:4px solid var(--purple)}
.interactive-block{border-color:#cbdcf5;background:linear-gradient(180deg,#fff,#f8fbff)}.choice-row{display:flex;gap:10px;flex-wrap:wrap}.choice-btn,.classifier-buttons button{border:1px solid var(--border);background:#fff;padding:10px 12px;border-radius:10px;cursor:pointer}.choice-btn:hover,.classifier-buttons button:hover{border-color:#a8c5ef}.choice-btn.correct,.classifier-buttons button.correct{background:#edf9f4;border-color:#9ed1ba;color:#08724f}.choice-btn.wrong,.classifier-buttons button.wrong{background:#fff0f0;border-color:#e6aaaa;color:#a22b2b}.interaction-feedback{margin-top:12px;font-weight:700}.classifier-list{display:grid;gap:10px}.classifier-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:13px;border:1px solid var(--border);border-radius:12px;background:#fff}.classifier-buttons{display:flex;gap:6px}
.model-stack{max-width:600px;margin:18px auto;display:grid;gap:7px}.stack-layer{padding:16px;border:1px solid var(--border);border-radius:12px;text-align:center;font-weight:800;background:#fff}.layer-0{border-color:#a8caf6}.layer-1{margin-inline:28px;border-color:#b5dcca}.layer-2{margin-inline:55px;border-color:#d2c2f2;background:#faf7ff}.layer-3{margin-inline:82px;border-color:#efd4a3;background:#fffaf0}
.timeline{display:flex;align-items:center;gap:8px;overflow:auto;padding:8px 0}.timeline-point{min-width:130px;padding:16px;border:1px solid var(--border);border-radius:14px;background:#fff;position:relative}.timeline-point:not(:last-child):after{content:'→';position:absolute;right:-16px;top:50%;color:var(--blue);font-weight:900}.timeline-point span{display:block;color:var(--blue);font-weight:900;font-size:12px}.timeline-point strong{display:block;margin-top:5px}
.prob-box{border:1px solid var(--border);background:#fff;border-radius:14px;padding:18px}.prob-score{font-size:18px;margin-bottom:16px}.prob-box input{width:100%;accent-color:var(--blue)}.threshold{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;color:var(--muted);font-size:12px}.threshold-track{height:8px;background:#edf1f6;border-radius:999px;position:relative}.threshold-track i{position:absolute;top:-4px;width:16px;height:16px;border-radius:50%;background:var(--orange);transform:translateX(-50%)}.prob-result{margin-top:14px;padding:11px;border-radius:10px;font-weight:800}.prob-result.accepted{background:#edf9f4;color:#08724f}.prob-result.rejected{background:#fff0f0;color:#a22b2b}
.architecture-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.arch-node{padding:16px;border:1px solid var(--border);border-radius:14px;background:#fff;min-height:145px}.arch-node small{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#edf5ff;color:var(--blue);font-weight:850}.arch-node strong{display:block;margin:14px 0 6px;color:var(--navy)}.arch-node p{font-size:12px;margin:0}
.lesson-actions{display:flex;justify-content:space-between;gap:12px;margin-top:34px;flex-wrap:wrap}.objective-list{display:grid;gap:8px;padding-left:18px}.objective-list li{color:#43566c}.aside-card{border:1px solid var(--border);border-radius:14px;padding:16px;margin-bottom:14px}.aside-card h4{margin:0 0 10px}.glossary-pill{display:inline-flex;margin:3px;padding:6px 9px;border-radius:999px;background:#eef5ff;color:var(--blue);font-size:11px;font-weight:750}.notes-card textarea{width:100%;min-height:150px;resize:vertical;border:1px solid var(--border);border-radius:10px;padding:10px;outline:none}.notes-card textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(23,105,224,.08)}.notes-card small{color:var(--muted)}.resource-link{color:var(--blue)}
.quiz-wrap{max-width:820px;margin:0 auto;padding:48px 20px 80px}.quiz-card{background:#fff;border:1px solid var(--border);border-radius:22px;padding:28px;box-shadow:var(--shadow)}.score-card{text-align:center}.option{width:100%;text-align:left;border:1px solid var(--border);border-radius:12px;padding:13px 14px;background:#fff;margin:7px 0;cursor:pointer}.option:hover{border-color:#b9cff4}.option.selected{border-color:var(--blue);background:#eef5ff}.option.correct{border-color:var(--green);background:#edf9f4}.option.wrong{border-color:var(--red);background:#fff0f0}.feedback{margin-top:15px;padding:14px;border-radius:12px;background:#f7f9fc}.quiz-progress{display:flex;justify-content:space-between;color:var(--muted);font-size:13px}.quiz-meter{margin:12px 0 22px;height:6px}.quiz-actions{margin-top:18px;text-align:right}.score{font-size:58px;font-weight:900;color:var(--blue)}
.material-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}.chip{padding:8px 12px;border-radius:999px;border:1px solid var(--border);background:#fff;cursor:pointer}.chip.active{background:var(--navy);color:#fff;border-color:var(--navy)}.material-card{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center}.material-card h3{margin:4px 0}.material-card p{margin:0}
.glossary-search{width:100%;padding:15px 17px;border:1px solid var(--border);border-radius:14px;margin-bottom:22px;outline:none}.glossary-search:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(23,105,224,.08)}.glossary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.glossary-card h3{color:var(--blue)}
.ds-row{display:grid;grid-template-columns:160px 1fr;gap:24px;padding:20px 0;border-bottom:1px solid var(--border)}.swatches{display:flex;gap:10px;flex-wrap:wrap}.swatch{width:90px;height:80px;border-radius:14px;padding:8px;color:#fff;font-size:11px;display:flex;align-items:flex-end}.swatch.navy{background:#07182A}.swatch.brand{background:#1769E0}.swatch.cyan{background:#22B6F5}.swatch.green{background:#0B8B65}.swatch.purple{background:#7252C7}.swatch.orange{background:#E58A12}
.footer{background:#07182A;color:#d9e8f7;padding:34px 0}.footer-grid{display:flex;justify-content:space-between;gap:24px;align-items:center}.footer small{color:#91abc4}
@media(max-width:1080px){.course-shell{grid-template-columns:250px minmax(0,1fr)}.course-aside{grid-column:1/-1;position:static;height:auto;border-left:0;border-top:1px solid var(--border);display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.aside-card{margin:0}.architecture-flow{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.hero-grid,.dash-grid{grid-template-columns:1fr}.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:1fr 1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}.course-shell{grid-template-columns:1fr}.course-sidebar{display:none}.course-aside{display:grid;grid-template-columns:1fr 1fr}.course-main{padding:28px 20px}.nav-links a:not(.pill){display:none}.architecture-flow{grid-template-columns:1fr 1fr}.glossary-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.container{width:min(100% - 22px,1180px)}.nav-inner{height:66px}.logo{width:165px}.hero{padding-top:60px}.hero h1{font-size:46px}.grid-4,.grid-3,.compare,.compare3,.stat-grid,.glossary-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.page-head h1{font-size:38px}.lesson-title{font-size:34px}.course-aside{grid-template-columns:1fr}.classifier-row{grid-template-columns:1fr}.classifier-buttons{flex-wrap:wrap}.architecture-flow{grid-template-columns:1fr}.module-heading{display:grid}.material-card{grid-template-columns:1fr}.ds-row{grid-template-columns:1fr}.footer-grid{display:grid}.hero-card{padding:14px}}


/* Module 2 interactive patterns */
.data-types{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.data-type{padding:18px;border:1px solid var(--border);border-radius:14px;background:#fff}.data-type strong{display:block;margin:10px 0 5px}.data-type p{font-size:12px;margin:0}.data-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font-weight:900;background:#eef5ff;color:var(--blue)}.data-type.number .data-icon{background:#edf9f4;color:var(--green)}.data-type.image .data-icon{background:#f5f0ff;color:var(--purple)}.data-type.audio .data-icon{background:#fff6e8;color:var(--orange)}
.table-wrap{overflow:auto}.dataset-table{width:100%;border-collapse:collapse;font-size:13px}.dataset-table th{background:var(--navy);color:#fff;text-align:left;padding:11px}.dataset-table td{padding:11px;border-bottom:1px solid var(--border)}.dataset-table tr:nth-child(even) td{background:#f8fafc}
.label-trainer{display:grid;gap:10px}.label-row{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:14px;border:1px solid var(--border);border-radius:12px;background:#fff}.label-row div{display:flex;gap:7px}.label-row button,.feature-picker button{border:1px solid var(--border);background:#fff;border-radius:10px;padding:9px 11px;cursor:pointer}.label-row button.correct,.feature-picker button.correct{background:#edf9f4;border-color:#9ed1ba;color:#08724f}.label-row button.wrong,.feature-picker button.wrong{background:#fff0f0;border-color:#e6aaaa;color:#a22b2b}
.feature-picker{display:flex;gap:9px;flex-wrap:wrap}.feature-picker button{padding:11px 14px}.hint{font-size:12px;color:var(--muted);margin-top:12px}
.audit-list{display:grid;gap:9px}.audit-item{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:13px;border:1px solid var(--border);border-radius:12px;background:#fff;cursor:pointer}.audit-item input{width:18px;height:18px;accent-color:var(--blue);margin-top:3px}.audit-item p{margin:3px 0 0!important;font-size:12px}.audit-score{margin-top:13px;padding:11px;border-radius:10px;background:#eef5ff;color:var(--blue)}
.split-bar{display:flex;height:34px;border-radius:10px;overflow:hidden;margin:18px 0 10px}.split-bar .train{background:var(--green)}.split-bar .val{background:var(--blue)}.split-bar .test{background:var(--purple)}.split-legend{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;font-size:12px}.split-legend span{padding:9px;border:1px solid var(--border);border-radius:9px;background:#fff}.interactive-block input[type=range]{width:100%;accent-color:var(--blue)}
.balance-bars{display:grid;gap:12px;margin:18px 0}.balance-row{display:grid;grid-template-columns:90px 1fr 50px;gap:10px;align-items:center}.balance-row>div{height:24px;background:#edf1f6;border-radius:999px;overflow:hidden}.balance-row i{display:block;height:100%;transition:width .4s ease}.balance-row i.major{background:var(--blue)}.balance-row i.minor{background:var(--orange)}
.privacy-list{display:grid;gap:10px}.privacy-list label{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:12px;border:1px solid var(--border);border-radius:10px;background:#fff}.privacy-list input{width:18px;height:18px;accent-color:var(--green)}
.dataset-card{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dataset-card>div{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:12px;border:1px solid var(--border);border-radius:11px;background:#fff}.dataset-card span{font-size:11px;color:var(--muted);font-weight:750}.dataset-card strong{font-size:13px}
.project-steps{display:grid;grid-template-columns:1fr 1fr;gap:10px}.project-step{display:grid;grid-template-columns:auto 1fr;gap:11px;padding:14px;border:1px solid var(--border);border-radius:12px;background:#fff}.project-step>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#edf5ff;color:var(--blue);font-weight:900}.project-step p{font-size:12px;margin:4px 0 0!important}
@media(max-width:760px){.data-types{grid-template-columns:1fr 1fr}.label-row{grid-template-columns:1fr}.dataset-card,.project-steps{grid-template-columns:1fr}.dataset-card>div{grid-template-columns:100px 1fr}}


/* Module 3 interactive patterns */
.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.metric-grid>div{padding:14px;border:1px solid var(--border);border-radius:12px;background:#fff}.metric-grid small{display:block;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.05em}.metric-grid strong{display:block;font-size:20px;margin-top:4px}.metric-grid.compact strong{font-size:16px}
.error-meter{height:9px;background:#edf1f6;border-radius:999px;overflow:hidden;margin-top:13px}.error-meter span{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--orange),var(--red));border-radius:inherit}
.knob-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.knob{padding:16px;border:1px solid var(--border);border-radius:14px;background:#fff}.knob label{display:block;font-size:12px;font-weight:800;color:var(--muted)}.knob-value{font-size:26px;font-weight:900;color:var(--purple);margin:12px 0}.knob input{width:100%;accent-color:var(--purple)}
.loss-sim input{width:100%;accent-color:var(--blue)}.loss-values{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.loss-values span{padding:10px;border:1px solid var(--border);border-radius:10px;background:#fff}.loss-visual{height:34px;background:linear-gradient(90deg,#fff0f0,#edf9f4,#fff0f0);border-radius:999px;position:relative}.loss-visual i,.loss-visual .target-mark{position:absolute;top:50%;transform:translate(-50%,-50%)}.loss-visual i{width:18px;height:18px;border-radius:50%;background:var(--blue)}.loss-visual .target-mark{height:30px;width:3px;background:var(--green)}
.training-loop{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:760px;margin:20px auto}.loop-step{padding:18px;border:1px solid var(--border);border-radius:14px;background:#fff;min-height:90px}.loop-step span{display:block;color:var(--blue);font-size:12px;font-weight:900}.loop-step strong{display:block;margin-top:6px}.loop-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:120px;height:120px;border-radius:50%;display:grid;place-items:center;text-align:center;background:var(--navy);color:#fff;font-weight:900;box-shadow:0 12px 28px rgba(7,24,42,.18)}
.hill-wrap{background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px}.hill-svg{width:100%;height:auto}.hill-wrap input{width:100%;accent-color:var(--orange)}
.gd-panel{padding:14px;border:1px solid var(--border);border-radius:14px;background:#fff}.gd-track{height:48px;background:linear-gradient(90deg,#fff0f0,#edf9f4);border-radius:999px;position:relative;margin:20px 0}.gd-target{position:absolute;left:72%;top:0;height:100%;width:3px;background:var(--green)}.gd-ball{position:absolute;top:50%;transform:translate(-50%,-50%);width:20px;height:20px;border-radius:50%;background:var(--orange);transition:left .17s ease}
.lr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.lr-card{padding:16px;border:1px solid var(--border);border-radius:14px;background:#fff}.lr-card>small{display:block;color:var(--muted);margin:5px 0 15px}.lr-track{height:26px;background:#edf1f6;border-radius:999px;position:relative;margin:14px 0}.lr-target{position:absolute;left:70%;height:100%;width:3px;background:var(--green)}.lr-track i{position:absolute;top:50%;transform:translate(-50%,-50%);width:16px;height:16px;border-radius:50%;background:var(--blue);transition:left .35s}.lr-card button{border:1px solid var(--border);background:#fff;border-radius:9px;padding:8px;cursor:pointer}.lr-result{font-size:12px;color:var(--muted);margin-top:10px}
.batch-dots{display:flex;gap:5px;flex-wrap:wrap;margin-top:16px}.batch-dots i{width:18px;height:18px;border-radius:5px;background:#dbeafe;border:1px solid #a8c7ef}
.epoch-track{display:grid;grid-template-columns:repeat(8,1fr);gap:7px;margin:16px 0}.epoch-track span{display:grid;place-items:center;height:44px;border-radius:10px;background:#edf1f6;color:#8c9cac;font-weight:850}.epoch-track span.active{background:#edf9f4;color:var(--green);border:1px solid #a8d8c2}.epoch-message{padding:12px;background:#f7f9fc;border-radius:10px}
.curve-chart{background:#fff;border:1px solid var(--border);border-radius:14px;padding:10px}.curve-chart svg{width:100%;height:auto}
.overfit-bars{display:grid;gap:10px}.overfit-bars>div{height:28px;background:#edf1f6;border-radius:999px;position:relative;overflow:hidden;padding-left:10px;font-size:11px;line-height:28px;color:#fff;font-weight:800}.overfit-bars i{position:absolute;left:0;top:0;height:100%;z-index:0}.overfit-bars>div:first-child i{background:var(--blue)}.overfit-bars>div:last-child i{background:var(--orange)}
.early-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:6px}.early-grid button{border:1px solid var(--border);background:#fff;border-radius:8px;padding:9px 3px;cursor:pointer}.early-grid button.best{box-shadow:inset 0 -3px 0 #d4e3f8}.early-grid button.picked{background:#edf9f4;border-color:#9ed1ba;color:#08724f}
.optimizer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.optimizer-card{padding:18px;border:1px solid var(--border);border-radius:14px;background:#fff}.optimizer-card>span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#eef5ff;color:var(--blue);font-weight:900}.optimizer-card small{display:block;color:var(--muted);line-height:1.5}
.reg-lab{border:1px solid var(--border);border-radius:14px;background:#fff;padding:14px}.reg-lab svg{width:100%;height:auto;background:linear-gradient(#fbfdff,#fff);border-radius:10px}.reg-controls{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.reg-controls label{display:grid;grid-template-columns:auto auto;gap:8px;align-items:center}.reg-controls input{grid-column:1/-1;width:100%;accent-color:var(--blue)}
@media(max-width:760px){.knob-grid,.lr-grid,.optimizer-grid{grid-template-columns:1fr 1fr}.training-loop{grid-template-columns:1fr 1fr}.loop-center{position:static;transform:none;grid-column:1/-1;margin:auto}.epoch-track{grid-template-columns:repeat(4,1fr)}.early-grid{grid-template-columns:repeat(6,1fr)}}
@media(max-width:520px){.metric-grid,.loss-values,.knob-grid,.lr-grid,.optimizer-grid,.reg-controls{grid-template-columns:1fr}.training-loop{grid-template-columns:1fr}}


/* =========================================================
   OMNIRA AI ACADEMY v0.11 — approved pattern system
   White canvas · institutional blue · solid colors · no gradients
   ========================================================= */
:root{
  --bg:#ffffff;
  --card:#ffffff;
  --ink:#16233A;
  --muted:#66758A;
  --border:#DFE5EE;
  --navy:#17345F;
  --institutional:#123F7A;
  --institutional-dark:#0D2F60;
  --blue:#2F6FED;
  --cyan:#18A8C9;
  --purple:#7657D8;
  --green:#15966A;
  --orange:#D88716;
  --red:#CF4F5F;
  --shadow:0 10px 28px rgba(31,45,73,.08);
}
body{background:#fff;color:var(--ink)}
.container{width:min(1220px,calc(100% - 32px))}
.nav{background:#fff;border-bottom:1px solid var(--border);backdrop-filter:none}
.nav-inner{height:72px}
.nav a{color:#3c526d;font-weight:700}
.nav a:hover{color:var(--institutional)}
.nav .pill{border:1px solid var(--border);background:#fff;color:#314b69}
.nav .primary,.btn-primary{background:var(--blue)!important;color:#fff!important;box-shadow:none!important}
.btn-secondary,.btn-ghost{background:#fff;border:1px solid var(--border);color:#263e5d}
.academy-brand{display:flex;align-items:center;gap:10px}
.academy-brand-mark{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--institutional);color:#fff;font-weight:900}
.academy-brand strong{display:block;font-size:16px;letter-spacing:.02em;color:var(--institutional-dark)}
.academy-brand b{color:var(--blue)}
.academy-brand small{display:block;font-size:9px;letter-spacing:.12em;color:#7a899b;margin-top:2px}
.logo{display:none}

/* public home */
.site-light,.home-section{background:#fff}
.home-hero{padding:72px 0;background:#fff;border-bottom:1px solid var(--border)}
.home-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:36px;align-items:center}
.home-overline,.home-section-head>span,.home-offer>div>span{font-size:11px;letter-spacing:.1em;font-weight:900;color:var(--blue)}
.home-hero-copy h1{font-size:clamp(44px,5.5vw,70px);line-height:1;letter-spacing:-.055em;margin:16px 0;color:var(--institutional-dark)}
.home-hero-copy h1 span{color:var(--blue)}
.home-hero-copy p{font-size:17px;line-height:1.7;color:#586d86;max-width:760px}
.promo-cta{flex-direction:column;align-items:center;gap:2px;padding:14px 30px;background:var(--green);color:#fff;border:0;box-shadow:0 6px 16px rgba(21,150,106,.28)}
.promo-cta-main{font-size:19px;font-weight:850;letter-spacing:.01em;color:#fff}
.promo-cta-perk{font-size:12px;font-weight:900;letter-spacing:.04em;opacity:.95;color:#fff}
.promo-cta:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(21,150,106,.4)}
.academy-home .home-hero .promo-cta{background:var(--green)!important;color:#fff;border-color:transparent}
.home-facts{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.home-facts span{padding:8px 10px;border:1px solid var(--border);border-radius:10px;font-size:12px;font-weight:800;color:#405773}
.home-course-card{border:1px solid var(--border);border-radius:22px;overflow:hidden;box-shadow:var(--shadow);background:#fff}
.home-card-head{background:var(--institutional);color:#fff;padding:20px}
.home-card-head small{font-size:10px;letter-spacing:.1em;font-weight:900;color:#d8e5f7}
.home-card-head h3{font-size:24px;margin:6px 0 0}
.home-card-body{padding:10px}
.home-module-row{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:12px 8px;border-bottom:1px solid var(--border)}
.home-module-row:last-child{border-bottom:0}
.home-module-num{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:#fff;font-weight:900;font-size:12px}
.home-module-row strong{display:block;font-size:13px}
.home-module-row small{display:block;color:var(--muted);font-size:11px;margin-top:3px}
.home-module-row>span:last-child{font-size:11px;font-weight:800;color:#53677f}
.home-section-head{max-width:800px;margin-bottom:26px}
.home-section-head h2{font-size:42px;letter-spacing:-.04em;margin:8px 0}
.home-section-head p{color:var(--muted);font-size:16px;line-height:1.65}
.home-pattern-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.home-pattern-card{border:1px solid var(--border);border-radius:16px;padding:18px;background:#fff}
.home-pattern-card i{display:block;width:12px;height:12px;border-radius:50%;margin-bottom:12px}
.home-pattern-card strong{display:block;font-size:16px}
.home-pattern-card p{color:var(--muted);font-size:13px;line-height:1.55;margin-bottom:0}
.home-module-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.home-module-card{border:1px solid var(--border);border-radius:18px;overflow:hidden;background:#fff}
.home-module-top{padding:16px 18px;border-top:5px solid var(--blue);border-bottom:1px solid var(--border)}
.home-module-top span{font-size:11px;font-weight:900;color:var(--muted)}
.home-module-top h3{font-size:20px;margin:5px 0 0}
.home-module-content{padding:16px 18px}
.home-module-content p{color:var(--muted);line-height:1.6}
.home-module-content small{display:block;color:#728196;margin-bottom:14px}
.home-offer{display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--institutional);color:#fff;border-radius:22px;padding:28px}
.home-offer>div>span{color:#b9d0f0}
.home-offer h2{font-size:52px;margin:4px 0}
.home-offer p{margin:0;color:#d8e5f7;max-width:720px}

/* institutional page headers */
.page-head,.institutional-head{background:var(--institutional)!important;color:#fff!important}
.page-head h1{color:#fff}
.page-head p{color:#d8e5f7}
.page-kicker{color:#b9d0f0}

/* course player */
.pattern-course.course-shell{
  display:grid;
  grid-template-columns:300px minmax(0,1fr) 320px;
  gap:18px;
  padding:18px;
  background:#fff;
  min-height:calc(100vh - 72px);
}
.pattern-course .course-sidebar,.pattern-course .course-aside{
  position:sticky;
  top:90px;
  height:calc(100vh - 108px);
  overflow:auto;
  padding:14px;
  border-radius:24px;
  box-shadow:var(--shadow);
}
.pattern-course .course-sidebar{
  background:var(--institutional);
  border:1px solid var(--institutional);
}
.pattern-course .course-aside{
  background:#fff;
  border:1px solid var(--border);
  padding:0;
  box-shadow:none;
}
.pattern-course .course-main{
  max-width:none;
  width:100%;
  margin:0;
  padding:0;
  min-width:0;
}
.course-side-brand{display:flex;align-items:center;gap:10px;padding:5px 6px 15px;border-bottom:1px solid rgba(255,255,255,.16)}
.course-side-brand>span{width:38px;height:38px;border-radius:11px;background:#fff;color:var(--institutional);display:grid;place-items:center;font-weight:900}
.course-side-brand strong{display:block;color:#fff;font-size:14px}
.course-side-brand b{color:#8edbff}
.course-side-brand small{display:block;color:#c9daf3;font-size:9px;letter-spacing:.1em;margin-top:2px}
.course-side-intro{padding:16px 6px 12px;color:#fff}
.course-side-intro h2{font-size:21px;margin:0 0 6px}
.course-side-intro p{color:#d5e2f5;font-size:12px;line-height:1.55;margin:0}
.course-side-progress{margin-top:12px;background:#fff;border-radius:14px;padding:11px;color:var(--institutional-dark)}
.course-side-progress strong{font-size:11px}
.course-side-progress .progress-bar{margin-top:7px;height:7px;background:#e5ebf4}
.course-side-progress .progress-bar span{background:var(--blue)}
.course-module-accordion{display:grid;gap:10px;margin-top:6px}
.course-module-card{background:#fff;border:1px solid #d7e0ed;border-radius:17px;overflow:hidden}
.course-module-card summary{list-style:none;display:grid;grid-template-columns:36px 1fr auto;gap:10px;align-items:center;padding:12px;cursor:pointer}
.course-module-card summary::-webkit-details-marker{display:none}
.course-module-card[open] summary{border-bottom:1px solid var(--border)}
.course-module-number{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;color:#fff;font-weight:900;font-size:12px}
.course-module-title strong{display:block;color:var(--institutional-dark);font-size:12px;line-height:1.25}
.course-module-title small{display:block;color:#6d7e93;font-size:10px;margin-top:3px}
.course-chevron{color:#77889d;transition:transform .2s}
.course-module-card[open] .course-chevron{transform:rotate(180deg)}
.course-module-body{padding:10px 10px 12px;background:#f6f8fb}
.course-module-body>p{font-size:11px;line-height:1.45;color:#5f7084;margin:0 2px 8px}
.course-lesson-list{display:grid;gap:6px}
.course-lesson-link{display:grid;grid-template-columns:25px 1fr;gap:8px;align-items:center;padding:8px;border-radius:11px;border:1px solid transparent;background:transparent}
.course-lesson-link:hover{background:#fff;border-color:var(--border)}
.course-lesson-link.active{background:#fff;border-color:#afbed3;box-shadow:0 4px 12px rgba(13,47,96,.08)}
.course-lesson-link>span{width:25px;height:25px;border-radius:8px;display:grid;place-items:center;color:#fff;font-size:10px;font-weight:900}
.course-lesson-link strong{display:block;font-size:11px;color:#294767;line-height:1.25}
.course-lesson-link small{display:block;font-size:9px;color:#7a899b;margin-top:2px}

.course-context-head{border:1px solid var(--border);border-radius:22px;overflow:hidden;box-shadow:var(--shadow);background:#fff;margin-bottom:16px}
.course-context-top{background:var(--institutional);padding:22px 24px 18px;color:#fff}
.course-context-top small{font-size:10px;letter-spacing:.1em;font-weight:900;color:#b9d0f0}
.course-context-top h1{font-size:38px;line-height:1.05;letter-spacing:-.045em;margin:8px 0 10px;color:#fff}
.course-context-top p{margin:0;color:#d8e5f7;line-height:1.6;max-width:900px;font-size:14px}
.course-context-stats{display:grid;grid-template-columns:repeat(4,1fr)}
.course-context-stats>div{padding:12px 16px;border-right:1px solid var(--border)}
.course-context-stats>div:last-child{border-right:0}
.course-context-stats small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#7a899b;font-weight:900}
.course-context-stats strong{display:block;font-size:15px;margin-top:4px;color:#1b304b}

.lesson-surface{border:1px solid var(--border);border-radius:22px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.lesson-title-section{padding:20px 22px 16px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.lesson-title-section h2{font-size:32px;line-height:1.06;letter-spacing:-.04em;margin:0 0 8px;color:#16233a}
.lesson-title-section p{margin:0;color:var(--muted);line-height:1.55;font-size:13px;max-width:760px}
.lesson-number{padding:8px 10px;border-radius:10px;color:#fff;font-size:11px;font-weight:900;white-space:nowrap}
.lesson-meta-row{padding:11px 22px;border-bottom:1px solid var(--border);display:flex;gap:18px;align-items:center;flex-wrap:wrap;font-size:11px;color:#5d7086}
.lesson-meta-row strong{color:#1d324d}
.bookmark-inline{margin-left:auto;border:1px solid var(--border);background:#fff;border-radius:10px;padding:7px 10px;color:#61758d;font-weight:800;cursor:pointer}
.bookmark-inline.active{color:#9b6b00;background:#fff8e8}
.lesson-progress-line{height:6px;background:#edf1f6}
.lesson-progress-line span{display:block;height:100%}
.lesson-patterns{padding:20px 22px 24px;display:grid;gap:14px}
.lesson-actions{padding:0 22px 22px}

/* approved reusable patterns */
.course-main .learning-block.pattern{
  margin:0;
  padding:0;
  border:1px solid var(--border);
  border-radius:17px;
  overflow:hidden;
  background:#fff;
  box-shadow:none;
}
.pattern-head{padding:11px 15px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:9px}
.pattern-head .pattern-dot{width:9px;height:9px;border-radius:50%}
.pattern-head h3{margin:0;font-size:13px;letter-spacing:-.01em;color:#243b58}
.pattern-body{padding:15px 16px}
.pattern-body>h4{font-size:19px;line-height:1.2;letter-spacing:-.02em;margin:0 0 8px;color:#172b45}
.pattern-body>p,.pattern-body li{color:#52667e;line-height:1.65}
.pattern-body>p{margin:0}
.p-blue .pattern-head{background:#EFF4FF}.p-blue .pattern-dot{background:var(--blue)}
.p-cyan .pattern-head{background:#ECF9FC}.p-cyan .pattern-dot{background:var(--cyan)}
.p-purple .pattern-head{background:#F3EFFF}.p-purple .pattern-dot{background:var(--purple)}
.p-green .pattern-head{background:#EEF9F4}.p-green .pattern-dot{background:var(--green)}
.p-orange .pattern-head{background:#FFF5E8}.p-orange .pattern-dot{background:var(--orange)}
.p-red .pattern-head{background:#FFF0F2}.p-red .pattern-dot{background:var(--red)}
.pattern-body .panel,.pattern-body .process-node,.pattern-body .data-type,.pattern-body .optimizer-card,.pattern-body .knob,.pattern-body .lr-card,.pattern-body .project-step,.pattern-body .dataset-card>div,.pattern-body .audit-item,.pattern-body .privacy-list label,.pattern-body .label-row{
  box-shadow:none;
}
.pattern-body .compare .panel,.pattern-body .compare3 .panel{background:#fafbfc;border:1px solid var(--border)}
.pattern-body .process-node{background:#fafbfc}
.pattern-body .process-num{background:#fff;border:1px solid var(--border)}
.pattern-body .interactive-block{background:transparent}

/* right rail with solid color titles and white bodies */
.course-side-card{border:1px solid var(--border);border-radius:18px;background:#fff;overflow:hidden;margin:0 0 12px}
.course-side-card-title{padding:11px 13px;color:#fff;font-size:12px;font-weight:900}
.course-side-card-body{padding:13px}
.course-side-card-body p,.course-side-card-body li{font-size:12px;line-height:1.55;color:#56697f}
.course-side-card-body textarea{width:100%;min-height:145px;border:1px solid var(--border);border-radius:11px;padding:10px;background:#fafbfc;resize:vertical}
.side-blue .course-side-card-title{background:var(--blue)}
.side-cyan .course-side-card-title{background:var(--cyan)}
.side-purple .course-side-card-title{background:var(--purple)}
.side-green .course-side-card-title{background:var(--green)}
.side-orange .course-side-card-title{background:var(--orange)}
.quick-course-actions{display:grid;gap:8px}
.quick-course-actions a,.quick-course-actions button{display:block;width:100%;border:1px solid var(--border);background:#fff;border-radius:10px;padding:9px;text-align:left;color:#314b69;font-weight:800;font-size:11px;cursor:pointer}
.glossary-pill{display:inline-flex;margin:2px;padding:6px 8px;border-radius:9px;border:1px solid var(--border);background:#fafbfc;color:#50637b;font-size:10px;font-weight:800}

/* reuse old interactive controls inside new patterns */
.pattern-body .micro-answer{margin-top:10px}
.pattern-body .btn-ghost{padding:9px 11px;border-radius:10px}
.pattern-body .classifier-row,.pattern-body .architecture-flow,.pattern-body .model-stack,.pattern-body .timeline{margin-top:8px}
.pattern-body input[type=range]{accent-color:var(--blue)}
.pattern-body .split-bar .train{background:var(--green)}
.pattern-body .split-bar .val{background:var(--blue)}
.pattern-body .split-bar .test{background:var(--purple)}

/* design system */
.pattern-design-page .pattern-reference-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pattern-design-page .learning-block{margin:0}

/* general cards/pages aligned to new system */
.card{border-color:var(--border);box-shadow:none}
.auth-card{box-shadow:var(--shadow)}
.dashboard .card{box-shadow:none}
.footer{background:var(--institutional-dark)}
.checkout-price{color:var(--blue)}

@media(max-width:1260px){
 .pattern-course.course-shell{grid-template-columns:280px minmax(0,1fr) 290px}
 .course-context-stats{grid-template-columns:repeat(2,1fr)}
 .course-context-stats>div:nth-child(2){border-right:0}
 .course-context-stats>div:nth-child(-n+2){border-bottom:1px solid var(--border)}
 .home-pattern-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:1080px){
 .pattern-course.course-shell{grid-template-columns:1fr}
 .pattern-course .course-sidebar,.pattern-course .course-aside{position:static;height:auto}
 .pattern-course .course-aside{display:grid;grid-template-columns:1fr 1fr;gap:12px;border:0}
 .course-side-card{margin:0}
 .home-hero-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
 .nav-inner{height:auto;padding:12px 0;align-items:flex-start}
 .nav-links{flex-wrap:wrap;gap:8px}
 .home-pattern-grid,.home-module-grid,.pattern-design-page .pattern-reference-grid{grid-template-columns:1fr}
 .home-offer{flex-direction:column;align-items:flex-start}
 .course-context-stats{grid-template-columns:1fr}
 .course-context-stats>div{border-right:0;border-bottom:1px solid var(--border)}
 .course-context-stats>div:last-child{border-bottom:0}
 .lesson-title-section{flex-direction:column}
 .pattern-course .course-aside{grid-template-columns:1fr}
}

/* ===== v0.12 · Module 4 interactive patterns ===== */
.type-classifier{display:grid;gap:10px}
.type-row{border:1px solid var(--border);border-radius:13px;padding:12px;background:#fafbfc}
.type-row p{margin:0 0 10px!important;color:#344a65!important;font-weight:700}
.type-row>div{display:flex;gap:7px;flex-wrap:wrap}
.type-row button{border:1px solid var(--border);background:#fff;border-radius:9px;padding:8px 10px;color:#405772;font-weight:800;cursor:pointer}
.type-row button.correct{border-color:#15966A;background:#EEF9F4;color:#117451}
.type-row button.wrong{border-color:#CF4F5F;background:#FFF0F2;color:#A23A47}
.threshold-lab{display:grid;gap:14px}
.score-ruler{height:16px;border-radius:8px;background:#edf1f6;position:relative;margin:3px 6px 0}
.score-ruler i{position:absolute;top:3px;width:10px;height:10px;border-radius:50%;background:var(--purple);transform:translateX(-50%)}
.score-ruler span{position:absolute;top:-5px;width:3px;height:26px;background:var(--orange);transform:translateX(-50%)}
.boundary-lab svg,.kmeans-lab svg{width:100%;display:block;border-radius:12px}
.boundary-lab label,.cm-lab>label,.metrics-lab label{display:grid;grid-template-columns:auto auto;gap:8px;margin-top:10px;font-size:12px;color:#53677f}
.boundary-lab input,.cm-lab input,.metrics-lab input{grid-column:1/-1;width:100%}
.boundary-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px;font-size:11px;color:#65758a}
.boundary-legend span{display:flex;align-items:center;gap:5px}.boundary-legend i{width:9px;height:9px;border-radius:50%;display:inline-block}
.cm-grid{display:grid;grid-template-columns:90px 1fr 1fr;gap:7px;align-items:stretch;margin-top:12px}
.cm-grid>strong{display:grid;place-items:center;font-size:11px;color:#52657c;text-align:center}
.cm-cell{min-height:82px;border-radius:12px;padding:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--border)}
.cm-cell small{font-size:10px;font-weight:900}.cm-cell b{font-size:25px;margin-top:4px}
.cm-cell.tp,.cm-cell.tn{background:#EEF9F4;color:#117451}.cm-cell.fp,.cm-cell.fn{background:#FFF5E8;color:#A9650F}
.cm-summary{margin-top:10px;padding:10px;border-radius:10px;background:#f6f8fb;color:#425974;font-size:12px;font-weight:800}
.metrics-lab{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.metrics-lab>label{border:1px solid var(--border);background:#fafbfc;border-radius:12px;padding:10px}
.metrics-lab>.metric-grid{grid-column:1/-1;grid-template-columns:repeat(4,1fr)}
.kmeans-lab{display:grid;gap:12px}.kmeans-lab .choice-row{display:flex;gap:8px;flex-wrap:wrap}.kmeans-lab .hint{margin-top:0}
@media(max-width:760px){
 .metrics-lab{grid-template-columns:1fr}
 .metrics-lab>.metric-grid{grid-template-columns:1fr 1fr}
 .cm-grid{grid-template-columns:70px 1fr 1fr}
}

/* ===== v0.13 · richer explanatory lessons ===== */
.pattern-explainer .pattern-head{background:#F5F8FD}
.pattern-explainer .pattern-head .pattern-dot{background:#2F6FED}
.pattern-explainer .pattern-body{padding:19px 20px 20px}
.pattern-explainer .pattern-body>h4{font-size:22px;margin-bottom:12px}
.explain-copy{max-width:920px}
.explain-copy p{
  margin:0;
  color:#40546D!important;
  font-size:15px;
  line-height:1.82!important;
}
.explain-copy p+p{margin-top:14px}
.pattern-why .pattern-head{background:#EEF9F4}
.pattern-why .pattern-head .pattern-dot{background:#15966A}
.pattern-why .pattern-body{padding:16px 20px}
.pattern-why .pattern-body>h4{font-size:19px}
.pattern-why .pattern-body>p{font-size:14px;line-height:1.72;color:#405C52}
.lesson-patterns{gap:16px}
.lesson-patterns .pattern-body>p{font-size:14px;line-height:1.72}
.lesson-patterns .pattern-body li{font-size:14px;line-height:1.68}

/* ===== v0.14 · explanatory depth for Modules 1–3 ===== */
.pattern-course .lesson-surface{max-width:none}
.pattern-course .lesson-patterns{padding-top:22px}
.pattern-course .pattern-explainer .pattern-body{padding:20px 22px 22px}
.pattern-course .explain-copy{max-width:980px}
.pattern-course .explain-copy p{font-size:15.2px;line-height:1.86!important;color:#3F536C!important}
.pattern-course .explain-copy p+p{margin-top:15px}
.pattern-course .pattern-why .pattern-body>p{font-size:14.2px;line-height:1.75}
@media(min-width:1450px){
  .pattern-course.course-shell{grid-template-columns:310px minmax(0,1fr) 330px}
  .pattern-course .course-main{min-width:760px}
}

/* ===== v0.15 · Module 5 neural network labs ===== */
.neuron-lab,.activation-lab,.layer-builder,.hidden-feature-lab,.flow-lab,.output-head-lab,.backprop-lab,.gradient-chain,.neural-training,.capacity-lab,.xor-lab,.network-blueprint{display:grid;gap:14px}
.neuron-controls{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.neuron-controls label,.activation-lab>label,.hf-inputs label,.gradient-chain label,.capacity-lab>label{border:1px solid var(--border);border-radius:12px;padding:10px;background:#fafbfc;font-size:12px;color:#53677f}
.neuron-controls input,.activation-lab input,.hf-inputs input,.gradient-chain input,.capacity-lab input{width:100%;display:block;margin-top:8px}
.neuron-diagram{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:16px;border:1px solid var(--border);border-radius:14px;background:#fff}
.n-input,.n-core,.n-output{width:82px;min-height:62px;border-radius:16px;border:2px solid #d9e3f3;display:grid;place-items:center;text-align:center;background:#fff;font-weight:900;color:#294767}
.n-input{border-color:#9fc0ff}.n-core{border-color:#efbd72}.n-output{border-color:#93d5be}.n-output strong{font-size:20px}.n-arrow{color:#8495aa;font-size:20px}
.neuron-formula{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 13px;border-radius:11px;background:#f5f7fa;color:#4e627a}.neuron-formula strong{color:#172b45}
.activation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.activation-grid>div{border:1px solid var(--border);border-radius:14px;padding:13px;background:#fff}
.activation-grid small{display:block;color:#748499;font-weight:900;font-size:10px}.activation-grid strong{display:block;font-size:23px;margin:5px 0 9px}
.activation-grid .bar{display:block;height:7px;border-radius:999px;background:#2F6FED;max-width:100%}.activation-grid>div:nth-child(2) .bar{background:#15966A}.activation-grid>div:nth-child(3) .bar{background:#7657D8}
.builder-controls,.blueprint-controls,.xor-controls,.output-options{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap}
.builder-controls button,.blueprint-controls button,.xor-controls button,.output-options button{border:1px solid var(--border);background:#fff;border-radius:10px;padding:9px 11px;color:#405772;font-weight:800;cursor:pointer}
.xor-controls button.active,.output-options button.active{background:#17345F;color:#fff;border-color:#17345F}
.network-view,.blueprint-view{display:flex;align-items:center;justify-content:center;gap:18px;min-height:180px;padding:18px;border:1px solid var(--border);border-radius:14px;background:#fafbfc}
.net-col,.bp-col{display:flex;flex-direction:column;align-items:center;gap:8px}.net-col small,.bp-col small{font-size:10px;font-weight:900;color:#65778d;margin-bottom:5px}
.net-col i,.bp-col i{width:22px;height:22px;border-radius:50%;display:block;background:#fff;border:3px solid #2F6FED}.net-col:nth-of-type(3) i,.bp-col:nth-of-type(3) i{border-color:#D88716}
.net-lines,.blueprint-view>span{font-size:22px;color:#8c9bae}
.hf-inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.hf-results{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.hf-results>div{padding:14px;border:1px solid var(--border);border-radius:13px;background:#fff}.hf-results small{display:block;color:#748499;font-size:9px;font-weight:900}.hf-results strong{display:block;font-size:24px;margin:5px 0;color:#D88716}.hf-results span{font-size:11px;color:#66778a}
.flow-stages,.backprop-flow{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}
.stage,.bp-stage{min-width:110px;padding:13px;border:1px solid var(--border);border-radius:13px;background:#fafbfc;text-align:center}.stage span{display:block;width:23px;height:23px;border-radius:8px;background:#e7edf5;color:#54687e;margin:0 auto 6px;font-size:11px;font-weight:900;line-height:23px}.stage strong{display:block}.stage small{display:block;color:#708196;margin-top:4px}.stage.active,.bp-stage.active{border-color:#D88716;background:#FFF5E8;box-shadow:0 0 0 2px rgba(216,135,22,.08)}
.flow-stages>i,.backprop-flow>i{font-style:normal;color:#8c9bae}.flow-message{padding:11px;border-radius:10px;background:#f5f7fa;color:#4c6179;font-size:12px;font-weight:700}
.output-diagram{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:center;border:1px solid var(--border);border-radius:14px;padding:16px;background:#fafbfc}.output-layer-nodes{display:flex;justify-content:center;gap:7px;flex-wrap:wrap}.output-layer-nodes i{width:29px;height:29px;border-radius:50%;background:#fff;border:4px solid #D88716}.output-description strong{display:block;color:#233b58}.output-description p{margin:6px 0 0!important}
.backprop-arrow{text-align:center;color:#7657D8;font-size:12px;font-weight:900}
.gradient-result{border:1px solid var(--border);border-radius:14px;padding:14px;background:#fff}.gradient-result small{display:block;font-weight:900;color:#75859a;font-size:10px}.gradient-result strong{display:block;font-size:26px;margin:5px 0}.gradient-meter{height:8px;background:#edf1f6;border-radius:999px;overflow:hidden}.gradient-meter i{display:block;height:100%;background:#7657D8;border-radius:999px}.gradient-result>span{display:block;margin-top:7px;font-size:11px;color:#63758a}
.training-chart{display:grid;gap:8px}.training-chart>div{height:11px;border-radius:999px;background:#edf1f6;overflow:hidden}.training-chart i{display:block;height:100%;border-radius:999px}.trainbar i{background:#2F6FED}.valbar i{background:#15966A}
.capacity-network{min-height:130px;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--border);border-radius:14px;background:#fafbfc;padding:12px}.cap-layer{display:flex;flex-direction:column;gap:5px}.cap-layer i{width:15px;height:15px;border:2px solid #D88716;border-radius:50%;background:#fff}.capacity-network>span{color:#8c9bae}
.xor-points{height:240px;border:1px solid var(--border);border-radius:14px;position:relative;background:#fafbfc;overflow:hidden}.xp{position:absolute;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:900;transform:translate(-50%,50%)}.xp.a{background:#2F6FED}.xp.b{background:#D88716}.linear-cut{position:absolute;width:360px;height:4px;background:#CF4F5F;left:-50px;top:120px;transform:rotate(-30deg);transform-origin:center}.xor-lab.neural .linear-cut{height:100px;width:100px;border:4px solid #7657D8;background:transparent;left:27%;top:70px;transform:rotate(45deg)}.xor-result{padding:12px;border:1px solid var(--border);border-radius:12px;background:#fff}.xor-result strong{display:block;color:#223a57}.xor-result p{margin:5px 0 0!important}
.network-blueprint .bp-col i{border-color:#D88716}
@media(max-width:760px){
 .neuron-controls,.activation-grid,.hf-inputs,.hf-results{grid-template-columns:1fr}
 .output-diagram{grid-template-columns:1fr}
}

/* =========================================================
   v0.16 — Intelligent Learning Layer
   ========================================================= */
.ai-platform-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:26px}
.ai-platform-strip>div{border:1px solid var(--border);border-radius:16px;padding:17px;background:#fff}
.ai-platform-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--institutional);color:#fff;font-weight:900;margin-bottom:11px}
.ai-platform-strip strong{display:block;font-size:15px;color:#1b3150}.ai-platform-strip p{margin:6px 0 0;font-size:12px;line-height:1.55;color:#66758a}

.ai-practice-zone{margin:0 22px 22px;border:1px solid #cfd9e8;border-radius:20px;overflow:hidden;background:#fff}
.ai-practice-head{padding:18px 20px;background:#17345F;color:#fff;display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.ai-practice-head small{font-size:9px;letter-spacing:.12em;color:#bad0ec;font-weight:900}
.ai-practice-head h3{font-size:23px;margin:5px 0 6px;color:#fff}
.ai-practice-head p{margin:0;color:#d9e5f5;line-height:1.55;font-size:13px;max-width:800px}
.ai-practice-status{background:#fff;color:#17345F;border-radius:12px;padding:9px 11px;min-width:90px;text-align:center}
.ai-practice-status span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.07em}.ai-practice-status strong{display:block;margin-top:2px;font-size:13px;color:#15966A}
.ai-dataset-area{padding:17px 18px;border-bottom:1px solid var(--border);background:#f8fafc}
.ai-lab-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.ai-lab-toolbar strong{color:#233b58;font-size:13px}
.generated-dataset,.generated-scenario{background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden}
.dataset-scenario{padding:11px 13px;border-bottom:1px solid var(--border);display:flex;gap:9px;align-items:center}.dataset-scenario strong{font-size:14px}.dataset-scenario span{font-size:12px;color:#65778e}
.practice-table-wrap{overflow:auto}.practice-table-wrap table{width:100%;border-collapse:collapse;font-size:11px}.practice-table-wrap th{background:#f1f4f8;color:#4c6179;font-weight:900;text-align:left;padding:8px;border-bottom:1px solid var(--border)}.practice-table-wrap td{padding:8px;border-bottom:1px solid #edf1f5;color:#41566f}.practice-table-wrap td.missing{background:#fff4e5;color:#a5600a;font-weight:900}
.generated-dataset>small{display:block;padding:8px 12px;color:#7b899a}
.scenario-card{padding:16px}.scenario-card small{font-size:9px;letter-spacing:.09em;font-weight:900;color:#7b899a}.scenario-card strong{display:block;font-size:17px;color:#17345F;margin-top:3px}.scenario-card h4{font-size:18px;margin:14px 0 8px}.scenario-card p{margin:0;color:#586c84}

.sandbox-shell{margin:18px;border:1px solid #1f3358;border-radius:15px;overflow:hidden;background:#0f1b30}
.sandbox-title{padding:10px 12px;background:#152642;color:#dce8f8;display:flex;align-items:center;gap:8px;font-size:11px}.sandbox-title span{width:9px;height:9px;border-radius:50%;background:#19c28d}.sandbox-title small{margin-left:auto;color:#8fa7c7}
.code-editor{display:block;width:100%;min-height:220px;padding:16px;border:0;outline:0;resize:vertical;background:#0f1b30;color:#e6eef9;font:13px/1.65 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;tab-size:2}
.sandbox-actions{padding:10px 12px;border-top:1px solid #263a5f;display:flex;gap:8px}.sandbox-actions .btn-ghost{background:#172944;border-color:#30496f;color:#dce8f8}
.sandbox-console{margin:0;padding:14px 16px;background:#081221;color:#b7e7d5;min-height:92px;white-space:pre-wrap;font:12px/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;border-top:1px solid #243858}

.ai-response-workspace{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--border)}
.ai-answer-col,.ai-assessor-col{padding:18px}.ai-answer-col{border-right:1px solid var(--border)}
.ai-answer-col label{display:block;font-size:12px;font-weight:900;color:#28415e;margin-bottom:9px}
.ai-answer-col textarea{width:100%;min-height:180px;border:1px solid var(--border);border-radius:13px;padding:12px;resize:vertical;background:#fff;font:13px/1.6 inherit;color:#263e5a}
.ai-answer-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.assessor-empty{height:100%;min-height:180px;border:1px dashed #cbd5e2;border-radius:13px;padding:16px;background:#fafbfc}.assessor-empty>strong{display:block;color:#1d3654}.assessor-empty>p{font-size:12px;line-height:1.6;color:#687a90}
.assessment-score{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:12px;background:#f8fafc;margin-bottom:10px}.assessment-score small{display:block;font-size:9px;font-weight:900;color:#75869a}.assessment-score strong{font-size:25px;color:#17345F}.assessment-score>span{font-size:11px;font-weight:900;color:#15966A}
.assessment-section{border-left:4px solid #2F6FED;padding:9px 11px;margin:8px 0;background:#f8fafc;border-radius:0 10px 10px 0}.assessment-section strong{font-size:11px;color:#253f5d}.assessment-section p{font-size:11px!important;line-height:1.55!important;color:#5f7185!important;margin:4px 0 0!important}.assessment-section.good{border-left-color:#15966A}.assessment-section.issue{border-left-color:#D88716}.assessment-section.why{border-left-color:#7657D8}.assessment-section.next{border-left-color:#18A8C9}
.assessor-retry{margin-top:8px}
.ai-demo-note{padding:10px 18px;background:#f5f7fa;border-top:1px solid var(--border);font-size:10px;color:#758498;line-height:1.45}

.ai-tutor-card{border-color:#bfd0e6}
.ai-tutor-card .course-side-card-title{background:#17345F}
.tutor-chat{max-height:240px;overflow:auto;display:grid;gap:8px;margin-bottom:10px}
.tutor-msg{font-size:11px;line-height:1.5;padding:9px 10px;border-radius:11px}.tutor-ai{background:#eef4fb;color:#314b68}.tutor-user{background:#17345F;color:#fff;margin-left:24px}
.tutor-quick{display:grid;grid-template-columns:1fr;gap:6px;margin-bottom:9px}.tutor-quick button{border:1px solid var(--border);background:#fff;color:#37516f;border-radius:9px;padding:8px;text-align:left;font-size:10px;font-weight:800;cursor:pointer}.tutor-quick button:hover{background:#f7f9fc}
.tutor-input{display:grid;grid-template-columns:1fr 34px;gap:6px}.tutor-input input{width:100%;border:1px solid var(--border);border-radius:9px;padding:8px;font-size:11px}.tutor-input button{border:0;border-radius:9px;background:#2F6FED;color:#fff;font-weight:900;cursor:pointer}.tutor-demo-label{display:block;margin-top:8px;color:#8694a5;font-size:9px}

@media(max-width:1080px){.ai-platform-strip{grid-template-columns:1fr 1fr}}
@media(max-width:760px){
 .ai-platform-strip{grid-template-columns:1fr}
 .ai-practice-head{flex-direction:column}
 .ai-response-workspace{grid-template-columns:1fr}
 .ai-answer-col{border-right:0;border-bottom:1px solid var(--border)}
 .sandbox-shell{margin:14px}
}

/* ===== v0.17 · Deep Learning & Embeddings ===== */
.p-red .pattern-head{background:#FFF0F2}.p-red .pattern-dot{background:#CF4F5F}
.depth-rep-lab,.representation-pipeline,.vector-space-lab,.embedding-map-lab,.neighbor-lab,.similarity-lab,.semantic-neighbor-lab,.context-lab,.multimodal-lab,.latent-lab,.projection-lab,.semantic-search-lab{display:grid;gap:14px}
.depth-rep-lab>label,.vector-controls label{border:1px solid var(--border);background:#fafbfc;border-radius:12px;padding:10px;font-size:12px;color:#566a82}.depth-rep-lab input,.vector-controls input{width:100%;display:block;margin-top:8px}
.depth-pipeline{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;padding:14px;border:1px solid var(--border);border-radius:14px;background:#fafbfc}.depth-pipeline>div{min-width:82px;border:1px solid #d8e1ed;background:#fff;border-radius:12px;padding:9px;text-align:center}.depth-pipeline span{display:block;font-size:9px;font-weight:900;color:#CF4F5F}.depth-pipeline strong{font-size:10px;color:#354b65}.depth-pipeline>i{font-style:normal;color:#8c9caf}.depth-explanation{padding:10px;border-radius:10px;background:#FFF6F7;color:#6d4850;font-size:11px}
.representation-pipeline{grid-template-columns:repeat(7,auto);align-items:center}.rp-stage{border:1px solid var(--border);background:#fafbfc;border-radius:13px;padding:12px;min-height:105px}.rp-stage.active{border-color:#CF4F5F;background:#FFF0F2}.rp-stage small{font-size:9px;font-weight:900;color:#7c8a9b}.rp-stage strong{display:block;font-size:12px;margin:5px 0;color:#29445f}.rp-stage p{font-size:10px!important;line-height:1.4!important}.representation-pipeline>i{font-style:normal;color:#8c9caf}.representation-pipeline>button{grid-column:1/-1;justify-self:start}
.vector-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.vector-canvas{height:280px;border:1px solid var(--border);border-radius:14px;background:#fafbfc;position:relative;overflow:hidden}.axis-x,.axis-y{position:absolute;background:#cbd5e1}.axis-x{height:1px;left:5%;right:5%;top:50%}.axis-y{width:1px;top:5%;bottom:5%;left:50%}.point-a,.point-b{position:absolute;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:#fff;font-style:normal;font-weight:900;transform:translate(-50%,-50%);transition:.15s}.point-a{background:#2F6FED}.point-b{background:#CF4F5F}
.feature-learning-lab{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:10px;align-items:center}.feature-learning-lab>div{border:1px solid var(--border);border-radius:13px;padding:13px;background:#fafbfc}.feature-learning-lab small{font-size:9px;font-weight:900;color:#77879b}.feature-learning-lab strong{display:block;margin:5px 0;color:#2b425e}.feature-learning-lab p{font-size:10px!important}.feature-learning-lab>span{color:#8c9caf}.feature-learning-lab .or{font-size:10px;font-weight:900;color:#CF4F5F}
.embedding-map{height:300px;position:relative;border:1px solid var(--border);border-radius:14px;background:#fafbfc}.embedding-map button{position:absolute;transform:translate(-50%,-50%);border:1px solid #d6dfeb;background:#fff;border-radius:999px;padding:7px 9px;font-size:10px;font-weight:800;color:#425974;cursor:pointer}.embedding-map button.active{background:#CF4F5F;color:#fff;border-color:#CF4F5F}.embedding-map-info{padding:10px;border-radius:10px;background:#fff6f7;color:#5d4c55;font-size:11px}
.neighbor-lab select{border:1px solid var(--border);border-radius:10px;padding:9px;background:#fff;color:#344a64}.neighbor-results{display:grid;gap:7px}.neighbor-results>div{display:grid;grid-template-columns:28px 1fr auto;gap:9px;align-items:center;border:1px solid var(--border);border-radius:11px;padding:9px}.neighbor-results span{width:28px;height:28px;border-radius:9px;background:#FFF0F2;color:#CF4F5F;display:grid;place-items:center;font-weight:900}.neighbor-results strong{font-size:12px}.neighbor-results small{font-size:10px;color:#708198}
.similarity-lab .metric-grid{grid-template-columns:repeat(3,1fr)}
.semantic-seed{padding:14px;border:1px solid var(--border);border-radius:13px;background:#fafbfc}.semantic-seed small{display:block;font-size:9px;font-weight:900;color:#7c8a9b}.semantic-seed strong{font-size:22px;color:#17345F}.semantic-cloud{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;min-height:130px;border:1px solid var(--border);border-radius:14px;background:#fff}.semantic-cloud span{padding:7px 10px;border-radius:999px;background:#FFF0F2;color:#84414c}
.context-lab{grid-template-columns:1fr 1fr}.context-card{border:1px solid var(--border);border-radius:13px;padding:14px;background:#fafbfc}.context-card small{font-size:9px;font-weight:900;color:#7c8a9b}.context-card p{font-size:13px!important}.context-vector{font:11px ui-monospace,monospace;color:#CF4F5F;background:#fff;padding:8px;border-radius:8px}.context-note{grid-column:1/-1;padding:10px;background:#fff6f7;border-radius:10px;font-size:11px;color:#6b4e55}
.mm-query{padding:12px;border:1px solid var(--border);border-radius:12px;background:#fafbfc}.mm-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.mm-grid button{border:1px solid var(--border);background:#fff;border-radius:12px;padding:13px;text-align:left;color:#455b73;cursor:pointer;font-size:22px}.mm-grid button span{display:block;font-size:11px;margin-top:6px}.mm-grid button.correct{border-color:#15966A;background:#EEF9F4}.mm-grid button.wrong{border-color:#CF4F5F;background:#FFF0F2}
.latent-lab{grid-template-columns:1fr auto .7fr auto 1fr;align-items:center}.latent-wide,.latent-compact{border:1px solid var(--border);border-radius:13px;padding:13px;background:#fafbfc}.latent-lab small{font-size:9px;font-weight:900;color:#7b899b}.latent-lab>div>div{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:9px 0}.latent-lab i{height:18px;background:#CF4F5F;border-radius:4px}.latent-compact i{background:#2F6FED}.latent-lab strong{font-size:10px;color:#4a6078}.latent-lab>span{color:#8c9caf}
.projection-lab{grid-template-columns:170px auto 1fr;align-items:center}.high-dim{padding:18px;border:1px solid var(--border);border-radius:13px;background:#fafbfc}.high-dim strong{font-size:30px;color:#CF4F5F}.high-dim p{font-size:11px!important}.projection-map{height:250px;border:1px solid var(--border);border-radius:14px;background:#fafbfc;position:relative}.projection-map i{position:absolute;width:11px;height:11px;border-radius:50%;transform:translate(-50%,-50%)}.projection-lab>small{grid-column:1/-1;color:#6e7d90}
.search-demo-box{display:grid;grid-template-columns:1fr auto;gap:8px}.search-demo-box input{border:1px solid var(--border);border-radius:11px;padding:11px;font:inherit}.search-demo-box button{border:0;border-radius:11px;background:#CF4F5F;color:#fff;font-weight:900;padding:0 15px;cursor:pointer}.semantic-search-results{display:grid;gap:7px}.semantic-search-results>div{display:grid;grid-template-columns:30px 1fr auto;gap:9px;align-items:center;border:1px solid var(--border);border-radius:11px;padding:10px}.semantic-search-results>div>span{width:30px;height:30px;border-radius:9px;background:#FFF0F2;color:#CF4F5F;display:grid;place-items:center;font-weight:900}.semantic-search-results strong{display:block;font-size:12px}.semantic-search-results small{display:block;font-size:10px;color:#6f8095;margin-top:2px}.semantic-search-results b{color:#15966A}
.embedding-blueprint{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.embedding-blueprint>div{border:1px solid var(--border);border-radius:12px;padding:11px;background:#fafbfc}.embedding-blueprint small{font-size:8px;font-weight:900;color:#7a899b}.embedding-blueprint strong{display:block;font-size:11px;color:#334b67;margin-top:3px}.embedding-blueprint>span{color:#8c9caf}.embedding-blueprint .bp-break{width:100%;font-size:9px;color:#CF4F5F;font-weight:900;border-top:1px dashed var(--border);padding-top:8px}
@media(max-width:760px){
 .representation-pipeline{grid-template-columns:1fr}.representation-pipeline>i{transform:rotate(90deg);justify-self:center}.vector-controls{grid-template-columns:1fr 1fr}.feature-learning-lab,.latent-lab,.projection-lab{grid-template-columns:1fr}.feature-learning-lab>span,.latent-lab>span{justify-self:center;transform:rotate(90deg)}.context-lab,.mm-grid{grid-template-columns:1fr}.context-note{grid-column:auto}.projection-lab>small{grid-column:auto}.similarity-lab .metric-grid{grid-template-columns:1fr}
}

/* ===== v0.18 · Text, tokens & tokenization ===== */
.text-number-lab,.token-boundary-lab,.token-inspector,.tokenizer-pipeline-lab,.vocab-lab,.oov-lab,.unicode-byte-lab,.bpe-lab,.bpe-training-lab,.token-count-lab,.punct-token-lab,.multi-token-lab,.special-token-lab,.mini-tokenizer-lab{display:grid;gap:14px}
.text-number-lab{grid-template-columns:1fr auto 1fr auto 1fr;align-items:center}.tn-text,.tn-tokens,.tn-ids{min-height:90px;border:1px solid var(--border);border-radius:13px;padding:13px;background:#fafbfc;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.tn-tokens i,.tn-ids i{font-style:normal;border-radius:8px;padding:6px 7px;background:#ECF9FC;color:#16718a;font-size:10px;font-weight:800}.tn-ids i{background:#f1f4f8;color:#40556f}.text-number-lab>span{color:#8c9caf}.text-number-lab>button{grid-column:1/-1;justify-self:start}
.token-boundary-lab>input,.oov-lab>input,.mini-text{border:1px solid var(--border);border-radius:11px;padding:10px;font:inherit}.token-strategies{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.token-strategies>div{border:1px solid var(--border);border-radius:12px;padding:11px;background:#fafbfc}.token-strategies small{font-size:9px;font-weight:900;color:#76879a}.token-strategies div div{display:flex;gap:4px;flex-wrap:wrap;margin-top:9px}.token-strategies i,.oov-result i,.punct-tokens i{font-style:normal;padding:5px 6px;border-radius:7px;background:#ECF9FC;color:#16718a;font-size:10px}
.token-inspector textarea,.token-count-lab textarea{width:100%;min-height:100px;border:1px solid var(--border);border-radius:12px;padding:11px;resize:vertical;font:inherit}.token-chip-area{display:flex;gap:6px;flex-wrap:wrap}.token-chip-area span{border:1px solid #b8e6ef;background:#ECF9FC;color:#176b80;border-radius:9px;padding:6px 8px;font-size:10px}.token-chip-area i{font-style:normal;background:#18A8C9;color:#fff;border-radius:5px;padding:2px 4px;margin-right:4px}.token-summary{font-size:11px;color:#687a8f}
.tokenizer-pipeline-lab{grid-template-columns:1fr auto 1fr;align-items:center}.pipeline-input,.pipeline-output{min-height:110px;border:1px solid var(--border);border-radius:13px;padding:13px;background:#fafbfc}.pipeline-actions{display:grid;gap:7px}.pipeline-actions button{border:1px solid var(--border);border-radius:9px;background:#fff;padding:8px;color:#405772;font-weight:800}.pipeline-output i,.pipeline-output b{display:inline-block;font-style:normal;padding:4px 5px;margin:3px;border-radius:6px;background:#ECF9FC;color:#176b80}
.vocab-list{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.vocab-list button{border:1px solid var(--border);background:#fff;border-radius:11px;padding:9px;display:flex;justify-content:space-between;gap:8px;color:#405772;cursor:pointer}.vocab-list button.active{border-color:#18A8C9;background:#ECF9FC}.vocab-list b{color:#18A8C9}.vocab-info{padding:10px;background:#f8fafc;border-radius:10px;font-size:11px;color:#576b82}
.oov-result{padding:12px;border:1px solid var(--border);border-radius:12px;background:#fafbfc}.oov-result p{font-size:11px!important;margin:9px 0 0!important}
.unicode-byte-lab{grid-template-columns:repeat(4,auto);align-items:center}.unicode-byte-lab>button{border:1px solid var(--border);background:#fff;border-radius:12px;padding:12px 16px;font-size:22px;cursor:pointer}.unicode-byte-lab>button.active{background:#17345F;color:#fff}.byte-result{grid-column:1/-1;border:1px solid var(--border);border-radius:12px;padding:13px;background:#fafbfc}.byte-result i{font-style:normal;padding:5px 6px;margin:3px;border-radius:7px;background:#ECF9FC;color:#176b80}.byte-result span{display:block;margin-top:8px;font-size:11px;color:#65788d}
.bpe-corpus{display:grid;gap:6px}.bpe-corpus>div{display:flex;gap:4px;flex-wrap:wrap}.bpe-corpus i{font-style:normal;padding:6px 7px;border-radius:7px;background:#f5f7fa;color:#435a73;border:1px solid var(--border);font-size:10px}.bpe-pairs{display:flex;gap:7px;flex-wrap:wrap}.bpe-pairs span{padding:6px 8px;border-radius:8px;background:#ECF9FC;color:#176b80;font-size:10px}.bpe-message{font-size:11px;color:#5e7187;font-weight:800}
.bpe-training-lab>label{border:1px solid var(--border);border-radius:12px;padding:10px;background:#fafbfc;font-size:12px;color:#566a82}.bpe-training-lab input{width:100%;display:block;margin-top:8px}
.token-budget-bar{height:20px;background:#edf1f6;border-radius:999px;overflow:hidden;position:relative}.token-budget-bar i{height:100%;display:block;background:#18A8C9}.token-budget-bar span{position:absolute;inset:0;display:grid;place-items:center;font-size:9px;font-weight:900;color:#29435f}
.punct-options{display:flex;gap:7px;flex-wrap:wrap}.punct-options button{border:1px solid var(--border);background:#fff;border-radius:9px;padding:8px;color:#405772;cursor:pointer}.punct-tokens{border:1px solid var(--border);border-radius:12px;padding:13px;background:#fafbfc}.punct-tokens div{display:flex;gap:5px;flex-wrap:wrap;margin:8px 0}.punct-tokens small{color:#6c7c90}
.multi-token-lab{grid-template-columns:repeat(3,1fr)}.multi-token-lab>div{border:1px solid var(--border);border-radius:12px;padding:12px;background:#fafbfc}.multi-token-lab p{font-size:11px!important;line-height:1.5!important}.multi-token-lab span{display:block;margin-top:9px;color:#18A8C9;font-size:11px;font-weight:900}.multi-token-lab>button{grid-column:1/-1;justify-self:start}
.seq-row{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:center}.seq-row>span{width:28px;height:28px;border-radius:8px;background:#17345F;color:#fff;display:grid;place-items:center;font-weight:900}.seq-row>div{display:flex;gap:5px;flex-wrap:wrap}.seq-row i{font-style:normal;padding:6px 7px;border-radius:7px;background:#ECF9FC;color:#176b80;font-size:10px}.seq-row i.pad{background:#f1f4f8;color:#7c8b9c}.special-note{font-size:11px;color:#64768b}
.mini-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mini-controls label{border:1px solid var(--border);border-radius:11px;padding:10px;background:#fafbfc;font-size:11px}.mini-controls input[type=range]{width:100%;display:block;margin-top:7px}.mini-vocab,.mini-encoded{border:1px solid var(--border);border-radius:12px;padding:12px;background:#fafbfc}.mini-vocab>div,.mini-encoded>div{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.mini-vocab i,.mini-encoded span{font-style:normal;padding:5px 7px;border-radius:7px;background:#ECF9FC;color:#176b80;font-size:10px}.mini-vocab b,.mini-encoded b{color:#17345F}
.tokenizer-blueprint{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tokenizer-blueprint>div{border:1px solid var(--border);border-radius:11px;padding:10px;background:#fafbfc}.tokenizer-blueprint small{font-size:8px;font-weight:900;color:#7c8b9c}.tokenizer-blueprint strong{display:block;font-size:11px;color:#354b66;margin-top:3px}.tokenizer-blueprint>span{color:#8c9caf}.tokenizer-blueprint .bp-break{width:100%;font-size:9px;color:#18A8C9;border-top:1px dashed var(--border);padding-top:8px;font-weight:900}
@media(max-width:760px){
 .text-number-lab,.tokenizer-pipeline-lab{grid-template-columns:1fr}.text-number-lab>span,.tokenizer-pipeline-lab .pipeline-actions{justify-self:center}.text-number-lab>span{transform:rotate(90deg)}.token-strategies,.multi-token-lab{grid-template-columns:1fr}.vocab-list{grid-template-columns:1fr 1fr}.unicode-byte-lab{grid-template-columns:repeat(2,1fr)}.mini-controls{grid-template-columns:1fr}
}
/* ===== v0.19 · Language Models ===== */
.next-token-lab,.lm-compare-lab,.training-sequence-lab,.conditional-lab,.logit-lab,.softmax-lab,.cross-entropy-lab,.decoding-lab,.temperature-lab,.top-filter-lab,.autoregressive-lab,.repeat-generation-lab,.truth-lab,.mini-lm-lab{display:grid;gap:14px}
.lm-context,.sequence-source,.repeat-prompt,.mini-lm-text{border:1px solid var(--border);border-radius:13px;padding:15px;background:#fafbfc;font-size:17px;color:#263f5d}.lm-context span,.ar-text span{color:#7657D8;animation:lmblink 1s infinite}@keyframes lmblink{50%{opacity:.2}}
.next-token-options{display:grid;gap:7px}.next-token-options button{display:grid;grid-template-columns:110px 1fr 45px;gap:9px;align-items:center;border:1px solid var(--border);border-radius:11px;background:#fff;padding:9px;cursor:pointer}.next-token-options button.active{border-color:#7657D8;background:#F3EFFF}.next-token-options strong{font-size:12px;text-align:left}.next-token-options i,.lm-candidates i,.conditional-bars i,.softmax-bars i,.temperature-bars i,.decoding-options i,.ar-probs i,.mini-lm-distribution i{display:block;height:7px;border-radius:999px;background:#7657D8}.next-token-options small{font-size:10px;color:#6f7f91}.lm-feedback{font-size:11px;color:#5d7087}
.lm-compare-lab>div:first-child{padding:13px;border:1px solid var(--border);border-radius:12px;background:#fafbfc}.lm-compare-lab small{font-size:9px;font-weight:900;color:#7b8a9d}.lm-compare-lab>div:first-child strong{display:block;font-size:18px;margin-top:4px}.lm-candidates{display:grid;gap:7px}.lm-candidates span,.decoding-options span,.ar-probs span,.mini-lm-distribution span{display:grid;grid-template-columns:90px 1fr 45px;align-items:center;gap:8px}.lm-candidates small,.decoding-options small,.ar-probs small,.mini-lm-distribution small{font-size:9px;color:#718095}
.training-examples{display:grid;gap:7px}.training-examples>div{display:grid;grid-template-columns:auto 1fr auto auto auto;gap:8px;align-items:center;border:1px solid var(--border);border-radius:11px;padding:10px}.training-examples small{font-size:8px;font-weight:900;color:#7a899b}.training-examples span{color:#8c9caf}.training-examples b{color:#7657D8}
.conditional-lab select{border:1px solid var(--border);border-radius:10px;padding:10px;background:#fff;color:#354b67}.conditional-bars,.softmax-bars,.temperature-bars,.top-filter-bars{display:grid;gap:7px}.conditional-bars>div,.softmax-bars>div,.temperature-bars>div,.top-filter-bars>div{display:grid;grid-template-columns:95px 1fr 52px;gap:8px;align-items:center}.conditional-bars strong,.softmax-bars strong,.temperature-bars strong,.top-filter-bars strong{font-size:11px}.conditional-bars span,.softmax-bars span,.temperature-bars span,.top-filter-bars span{font-size:9px;color:#718095}
.logit-lab{grid-template-columns:repeat(3,1fr)}.logit-lab label,.softmax-lab label,.temperature-lab>label,.cross-entropy-lab>label,.top-controls label,.mini-lm-controls label{border:1px solid var(--border);border-radius:12px;padding:10px;background:#fafbfc;font-size:11px;color:#566a82}.logit-lab label span,.softmax-lab label span{display:block;font-weight:800;color:#354b67}.logit-lab input,.softmax-lab input,.temperature-lab input,.cross-entropy-lab input,.top-controls input,.mini-lm-controls input{width:100%;display:block;margin-top:7px}.logit-rank{grid-column:1/-1;display:flex;gap:7px;flex-wrap:wrap}.logit-rank span{padding:7px 8px;border-radius:8px;background:#F3EFFF;color:#5b44a9;font-size:10px}.softmax-sum,.temperature-note{padding:9px;border-radius:9px;background:#f5f7fa;color:#5e7085;font-size:10px}
.decoding-result{padding:11px;border:1px solid var(--border);border-radius:10px;background:#fafbfc;color:#445a73}.decoding-options{display:grid;gap:7px}
.top-controls{display:grid;grid-template-columns:1fr 1fr;gap:9px}.top-filter-bars>div{grid-template-columns:90px 1fr 45px 90px;border:1px solid transparent;border-radius:8px;padding:5px}.top-filter-bars>div.keepk{background:#F3EFFF}.top-filter-bars>div.keepp{border-color:#9cd8c1}.top-filter-bars small{font-size:8px;color:#667a8d}
.ar-text{border:1px solid var(--border);border-radius:13px;padding:15px;background:#fafbfc;font-size:17px;min-height:60px}.ar-probs{display:grid;gap:6px}
.repeat-results{display:grid;grid-template-columns:1fr 1fr;gap:8px}.repeat-results>div{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:start;border:1px solid var(--border);border-radius:11px;padding:10px}.repeat-results span{width:28px;height:28px;border-radius:8px;background:#F3EFFF;color:#7657D8;display:grid;place-items:center;font-weight:900}.repeat-results p{margin:3px 0!important;font-size:11px!important}
.truth-case{border:1px solid var(--border);border-radius:13px;padding:14px;background:#fafbfc}.truth-case small{font-size:9px;font-weight:900;color:#7a899b}.truth-case p{font-size:13px!important;color:#344b65!important}.truth-score{font-size:11px;color:#5c6e84}.truth-actions{display:flex;gap:8px;flex-wrap:wrap}.truth-actions button{border:1px solid var(--border);background:#fff;border-radius:9px;padding:9px;color:#415872;cursor:pointer}.truth-actions button.correct{border-color:#15966A;background:#EEF9F4}.truth-actions button.wrong{border-color:#CF4F5F;background:#FFF0F2}
.mini-lm-controls{display:grid;grid-template-columns:1fr 1fr;gap:9px}.mini-lm-text{min-height:70px}.mini-lm-distribution{display:grid;gap:6px}.mini-lm-distribution span{opacity:.35}.mini-lm-distribution span.keep{opacity:1}
.lm-blueprint{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lm-blueprint>div{border:1px solid var(--border);border-radius:11px;padding:10px;background:#fafbfc}.lm-blueprint small{font-size:8px;font-weight:900;color:#7a899b}.lm-blueprint strong{display:block;font-size:11px;color:#354b66;margin-top:3px}.lm-blueprint>span{color:#8c9caf}.lm-blueprint .bp-break{width:100%;font-size:9px;color:#7657D8;border-top:1px dashed var(--border);padding-top:8px;font-weight:900}
@media(max-width:760px){.logit-lab,.top-controls,.mini-lm-controls{grid-template-columns:1fr}.logit-rank{grid-column:auto}.repeat-results{grid-template-columns:1fr}.top-filter-bars>div{grid-template-columns:80px 1fr 40px}.top-filter-bars small{grid-column:1/-1}.training-examples>div{grid-template-columns:1fr}.training-examples span{transform:rotate(90deg);justify-self:center}}

/* ===== v0.20 · Transformer from zero ===== */
.transformer-why-lab,.sequence-order-lab,.transformer-architecture-lab,.position-lab,.transformer-block-lab,.attention-concept-lab,.transformer-ff-lab,.residual-lab,.layernorm-lab,.encoder-stack-lab,.decoder-stack-lab,.causal-mask-lab,.mini-transformer-lab{display:grid;gap:14px}
.transformer-why-lab{grid-template-columns:1fr 1fr}.seq-method,.attn-method{border:1px solid var(--border);border-radius:14px;padding:15px;background:#fafbfc}.transformer-why-lab small{font-size:9px;font-weight:900;color:#728398}.transformer-why-lab>div>div{display:flex;align-items:center;gap:6px;margin:15px 0}.transformer-why-lab i{width:30px;height:30px;border-radius:9px;background:#fff;border:2px solid #2F6FED;display:grid;place-items:center;font-style:normal;font-weight:900}.attn-method>div{justify-content:space-around;position:relative}.attn-method i{border-color:#7657D8}.transformer-why-lab p{font-size:11px!important}
.order-sentence{font-size:22px;font-weight:850;color:#17345F;padding:18px;border:1px solid var(--border);border-radius:13px;background:#fafbfc;text-align:center}.order-controls{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.order-controls button{border:1px solid var(--border);background:#fff;border-radius:9px;padding:8px 10px;color:#405772;cursor:pointer}.order-meaning{padding:10px;border-radius:10px;background:#EFF4FF;color:#365370;font-size:11px;text-align:center}
.ta-flow,.tbl-flow{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap}.ta-flow button,.tbl-flow button{border:1px solid var(--border);background:#fff;border-radius:10px;padding:10px;color:#405772;font-weight:800;cursor:pointer}.ta-flow button.active,.tbl-flow button.active{background:#17345F;color:#fff;border-color:#17345F}.ta-flow span,.tbl-flow span{color:#8d9daf}.ta-detail,.tbl-detail{padding:12px;border-radius:11px;background:#f7f9fc;color:#526980;font-size:11px}.ta-detail strong{display:block;color:#233d5b}.ta-detail p{font-size:11px!important;margin:4px 0 0!important}
.position-lab>label,.transformer-ff-lab>label,.mtf-controls label{border:1px solid var(--border);border-radius:12px;padding:10px;background:#fafbfc;font-size:11px;color:#566a82}.position-lab input,.transformer-ff-lab input,.mtf-controls input{width:100%;display:block;margin-top:7px}.vector-sum,.residual-equation{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:8px;align-items:center}.vector-sum>div,.residual-equation>div{border:1px solid var(--border);border-radius:12px;padding:12px;background:#fafbfc;min-height:74px}.vector-sum small,.residual-equation small{font-size:8px;font-weight:900;color:#79899d}.vector-sum strong,.residual-equation strong{display:block;margin-top:8px;font:11px ui-monospace,monospace;color:#2d4a68}.vector-sum>span,.residual-equation>span{color:#8c9caf;font-size:18px}
.attention-sentence{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.attention-sentence button{border:1px solid var(--border);border-radius:9px;background:#fff;padding:8px 9px;color:#405772;cursor:pointer;transition:.15s}.attention-sentence button.focus{background:#17345F;color:#fff;border-color:#17345F}.attention-sentence button.high{background:#EDE8FF;border-color:#7657D8}.attention-sentence button.mid{background:#EFF4FF;border-color:#2F6FED}.attention-sentence button.low{opacity:.58}.attention-links{display:flex;gap:7px;flex-wrap:wrap;justify-content:center}.attention-links span{padding:6px 8px;border-radius:8px;background:#f5f7fa;font-size:10px;color:#586d84}.attention-links b{color:#7657D8}.attention-note{font-size:10px;color:#748398;text-align:center}
.ff-pipeline{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap}.ff-pipeline>div{border:1px solid var(--border);border-radius:11px;padding:11px;background:#fafbfc;min-width:110px}.ff-pipeline small{font-size:8px;font-weight:900;color:#7d8b9c}.ff-pipeline strong{display:block;margin-top:4px;color:#2e4865}.ff-pipeline>span{color:#8c9caf}
.layernorm-lab{grid-template-columns:1fr auto 1fr}.ln-before,.ln-after{min-height:180px;border:1px solid var(--border);border-radius:13px;background:#fafbfc;padding:12px;display:flex;align-items:end;justify-content:center;gap:9px}.ln-before strong,.ln-after strong{align-self:start;position:absolute}.ln-before i,.ln-after i{width:35px;background:#2F6FED;border-radius:7px 7px 2px 2px;display:flex;align-items:flex-end;justify-content:center;color:#fff;font-size:8px;font-style:normal;padding-bottom:4px}.ln-after i{background:#15966A}.layernorm-lab>button{align-self:center}.ln-stats{grid-column:1/-1;padding:9px;border-radius:9px;background:#f5f7fa;color:#63768b;font-size:10px}
.stack-tokens,.decoder-seed{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.stack-tokens i,.decoder-seed i{font-style:normal;padding:7px 8px;border-radius:8px;background:#EFF4FF;color:#2F5A95;font-size:10px}.decoder-seed i.cursor{background:transparent;color:#7657D8}.stack-layers{display:flex;flex-direction:column;gap:6px;max-width:430px;width:100%;margin:auto}.stack-layers button{border:1px solid var(--border);background:#fff;border-radius:10px;padding:9px;color:#566a82}.stack-layers button.active{background:#17345F;color:#fff;border-color:#17345F}.stack-note{font-size:11px;color:#62758b;text-align:center}
.mask-grid{display:grid;gap:4px;overflow:auto}.mask-grid>strong{display:grid;place-items:center;font-size:9px;color:#667a90;min-width:55px}.mask-grid button{height:38px;border:0;border-radius:7px;font-weight:900}.mask-grid button.allow{background:#EEF9F4;color:#15966A}.mask-grid button.block{background:#FFF0F2;color:#CF4F5F}.mask-note{font-size:11px;color:#61758a;padding:9px;background:#fafbfc;border-radius:9px}
.mtf-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.mtf-controls select{width:100%;display:block;margin-top:7px;border:1px solid var(--border);border-radius:8px;padding:8px;background:#fff}.mtf-architecture{display:flex;align-items:center;gap:6px;overflow:auto;padding:14px;border:1px solid var(--border);border-radius:13px;background:#fafbfc}.mtf-architecture>div{flex:0 0 auto;border:1px solid #ced9e7;border-radius:10px;background:#fff;padding:10px;min-width:120px;color:#2e4864;font-size:10px;font-weight:850}.mtf-block{border-color:#9ab9ea!important}.mtf-block small{display:block;font-size:8px;color:#7b899a;margin-top:5px;font-weight:600}.mtf-architecture>span{color:#8c9caf}.mtf-summary{font-size:11px;color:#586d84;padding:9px;border-radius:9px;background:#EFF4FF}
.transformer-blueprint{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.transformer-blueprint>div{border:1px solid var(--border);border-radius:11px;padding:10px;background:#fafbfc}.transformer-blueprint small{font-size:8px;font-weight:900;color:#7a899b}.transformer-blueprint strong{display:block;font-size:11px;color:#354b66;margin-top:3px}.transformer-blueprint>span{color:#8c9caf}.transformer-blueprint .bp-break{width:100%;font-size:9px;color:#2F6FED;border-top:1px dashed var(--border);padding-top:8px;font-weight:900}
@media(max-width:760px){
 .transformer-why-lab{grid-template-columns:1fr}.vector-sum,.residual-equation,.layernorm-lab{grid-template-columns:1fr}.vector-sum>span,.residual-equation>span{justify-self:center;transform:rotate(90deg)}.ln-stats{grid-column:auto}.mtf-controls{grid-template-columns:1fr}
}

/* ===== v0.21 · Attention & context memory ===== */
.attention-relevance-lab,.qkv-role-lab,.qkv-projection-lab,.qk-dot-lab,.attention-scaling-lab,.mask-softmax-lab,.value-mixing-lab,.self-attention-pipeline,.causal-attention-lab,.multihead-lab,.context-window-lab,.kv-cache-lab,.long-context-lab,.mini-attention-lab{display:grid;gap:14px}
.arl-sentence,.mat-tokens,.mha-sentence{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.arl-sentence button,.mat-tokens i,.mha-sentence i{border:1px solid var(--border);background:#fff;border-radius:9px;padding:8px 9px;color:#415871;font-style:normal}.arl-sentence button{cursor:pointer}.arl-sentence button.focus,.mat-tokens i.focus{background:#15966A;color:#fff;border-color:#15966A}.mat-tokens i.blocked{opacity:.3;text-decoration:line-through}
.arl-bars,.qk-results{display:grid;gap:6px}.arl-bars>div{display:grid;grid-template-columns:90px 1fr 50px;gap:8px;align-items:center}.arl-bars strong{font-size:10px}.arl-bars i,.qk-results i,.scaling-compare i{height:7px;background:#15966A;border-radius:999px}.arl-bars span{font-size:9px;color:#718095}.arl-note{font-size:10px;color:#718095;text-align:center}
.qkv-role-row{display:grid;grid-template-columns:1fr 1.3fr;gap:12px;align-items:center;border:1px solid var(--border);border-radius:11px;padding:10px}.qkv-role-row p{font-size:11px!important;margin:0!important}.qkv-role-row>div{display:flex;gap:6px}.qkv-role-row button{border:1px solid var(--border);background:#fff;border-radius:8px;padding:7px;color:#405772;cursor:pointer}
.qkv-projection-lab{grid-template-columns:150px auto 1fr;align-items:center}.qproj-input,.qproj-grid>div{border:1px solid var(--border);border-radius:12px;padding:12px;background:#fafbfc}.qproj-input small,.qproj-grid small{font-size:8px;font-weight:900;color:#78889a}.qproj-input strong,.qproj-grid strong{display:block;margin-top:7px;font:10px ui-monospace,monospace;color:#2d4865}.qproj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.qproj-grid b{display:block;margin-top:7px;font-size:10px;color:#15966A}.qkv-projection-lab>button{grid-column:1/-1;justify-self:start}
.qk-query{display:grid;grid-template-columns:1fr 1fr;gap:8px}.qk-query label,.attention-scaling-lab>label,.context-controls label,.long-context-lab>label,.mat-controls label{border:1px solid var(--border);border-radius:11px;padding:10px;background:#fafbfc;font-size:11px;color:#566a82}.qk-query input,.attention-scaling-lab input,.context-controls input,.long-context-lab input,.mat-controls input[type=range]{width:100%;display:block;margin-top:7px}.qk-results>div{display:grid;grid-template-columns:60px 130px 1fr 80px;gap:8px;align-items:center;border:1px solid var(--border);border-radius:10px;padding:8px}.qk-results small{font-size:8px;font-weight:900;color:#7a899b}.qk-results strong{font:9px ui-monospace,monospace}.qk-results b{font-size:10px;color:#15966A}
.scaling-compare{display:grid;grid-template-columns:1fr 1fr;gap:10px}.scaling-compare>div{border:1px solid var(--border);border-radius:12px;padding:11px;background:#fafbfc}.scaling-compare small{font-size:9px;font-weight:900;color:#748498}.scaling-compare span{display:grid;grid-template-columns:45px 1fr;gap:7px;align-items:center;margin-top:7px}.scaling-compare b{font-size:9px;color:#3f566f}
.msa-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.msa-steps>div{border:1px solid var(--border);border-radius:10px;padding:10px;text-align:center;background:#fafbfc}.msa-steps>div.masked{background:#FFF0F2;opacity:.65}.msa-steps span{display:block;font-size:8px;color:#8290a0}.msa-steps strong{font-size:15px;color:#2d4763}.msa-note{font-size:11px;color:#60748a}
.vmix-items{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.vmix-items>div{border:1px solid var(--border);border-radius:11px;padding:10px;background:#fafbfc}.vmix-items small{font-size:8px;font-weight:900;color:#77879a}.vmix-items strong,.vmix-items b{display:block;font:10px ui-monospace,monospace;margin-top:5px}.vmix-items span{display:block;margin:6px 0;color:#15966A;font-size:10px}.vmix-output{padding:12px;border-radius:11px;background:#EEF9F4;color:#365c4f}.vmix-output strong{font-family:ui-monospace,monospace}
.sap-flow{display:flex;align-items:center;gap:5px;overflow:auto;padding-bottom:4px}.sap-flow>div{flex:0 0 95px;border:1px solid var(--border);border-radius:10px;padding:9px;background:#fafbfc;text-align:center;opacity:.45}.sap-flow>div.active{opacity:1;border-color:#15966A;background:#EEF9F4}.sap-flow span{display:block;width:20px;height:20px;border-radius:6px;background:#e8edf3;margin:auto;font-size:9px;line-height:20px}.sap-flow strong{display:block;font-size:9px;margin-top:5px}.sap-flow>i{font-style:normal;color:#8c9caf}.sap-detail{padding:10px;border-radius:9px;background:#f5f7fa;color:#5b7086;font-size:11px}
.causal-attn-grid{display:grid;gap:4px;overflow:auto}.causal-attn-grid>strong{display:grid;place-items:center;min-width:65px;font-size:8px;color:#687b90}.causal-attn-grid button{height:38px;border:0;border-radius:7px;font-size:9px;font-weight:900}.causal-attn-grid button.allow{background:#EEF9F4;color:#15966A}.causal-attn-grid button.block{background:#FFF0F2;color:#CF4F5F}.causal-attn-note{padding:9px;border-radius:9px;background:#fafbfc;color:#60748a;font-size:10px}
.mha-heads{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.mha-heads>div{border:1px solid var(--border);border-radius:12px;padding:10px;background:#fafbfc}.mha-heads small{font-size:8px;font-weight:900;color:#758599}.mha-heads p{font-size:10px!important;margin:5px 0!important}.mha-mini{display:flex;gap:3px;flex-wrap:wrap}.mha-mini i{font-style:normal;padding:4px 5px;border-radius:6px;background:#edf1f5;color:#66778b;font-size:8px}.mha-mini i.hot{background:#15966A;color:#fff}.mha-concat{padding:10px;border-radius:9px;background:#EEF9F4;color:#46685d;font-size:10px;text-align:center}
.context-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px}.context-controls strong{display:block;margin-top:5px;color:#15966A;font-size:10px}.context-budget{height:24px;border-radius:999px;background:#edf1f6;overflow:hidden;position:relative}.context-budget i{display:block;height:100%;background:#15966A}.context-budget span{position:absolute;inset:0;display:grid;place-items:center;font-size:9px;font-weight:900;color:#17345F}.context-warning{font-size:10px;color:#587086}.context-warning.over{color:#CF4F5F;font-weight:800}
.kv-cache-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:8px;align-items:center}.kv-cache-flow>div{border:1px solid var(--border);border-radius:12px;padding:12px;background:#fafbfc;text-align:center}.kv-cache-flow small{font-size:8px;font-weight:900;color:#758599}.kv-cache-flow strong{display:block;margin-top:5px;color:#29445f}.kv-cache-flow>span{color:#8c9caf}.kv-store{border-color:#93d5be!important;background:#EEF9F4!important}.kv-costs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.kv-costs>div{border:1px solid var(--border);border-radius:10px;padding:10px}.kv-costs small{font-size:8px;color:#78889a}.kv-costs strong{display:block;font-size:20px;margin-top:4px;color:#17345F}
.long-context-lab .metric-grid{grid-template-columns:repeat(3,1fr)}.lc-bar{height:10px;border-radius:999px;background:#edf1f6;overflow:hidden}.lc-bar i{display:block;height:100%;background:#15966A}
.mat-controls{display:grid;grid-template-columns:1fr 1fr .7fr;gap:8px}.mat-controls label:last-child{display:flex;align-items:center;justify-content:center;gap:7px}.mat-pipeline{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:center;padding:12px;border:1px solid var(--border);border-radius:12px;background:#fafbfc}.mat-pipeline span{padding:6px 8px;border-radius:8px;background:#EEF9F4;color:#3b6256;font-size:9px}.mat-pipeline b{color:#8c9caf}.mat-cache{font-size:10px;color:#60748a;text-align:center}
.attention-memory-blueprint{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.attention-memory-blueprint>div{border:1px solid var(--border);border-radius:11px;padding:10px;background:#fafbfc}.attention-memory-blueprint small{font-size:8px;font-weight:900;color:#758599}.attention-memory-blueprint strong{display:block;font-size:10px;color:#354b66;margin-top:4px}.attention-memory-blueprint>span{color:#8c9caf}.attention-memory-blueprint .bp-break{width:100%;font-size:9px;color:#15966A;border-top:1px dashed var(--border);padding-top:8px;font-weight:900}
@media(max-width:760px){
 .qkv-projection-lab,.qproj-grid,.scaling-compare,.vmix-items,.mha-heads,.context-controls,.kv-costs,.mat-controls{grid-template-columns:1fr}
 .qkv-projection-lab>span{justify-self:center;transform:rotate(90deg)}
 .qk-query{grid-template-columns:1fr}
 .qk-results>div{grid-template-columns:55px 1fr}.qk-results i,.qk-results b{grid-column:1/-1}
 .msa-steps{grid-template-columns:1fr 1fr}
 .kv-cache-flow{grid-template-columns:1fr}.kv-cache-flow>span{justify-self:center;transform:rotate(90deg)}
}

/* ===== v0.22 · Prompt & context engineering ===== */
.prompt-effect-lab,.prompt-anatomy-lab,.instruction-hierarchy-lab,.ambiguity-lab,.delimiter-lab,.fewshot-lab,.structured-output-lab,.json-schema-lab,.persona-lab,.prompt-chain-lab,.context-selection-lab,.long-context-prompt-lab,.prompt-eval-lab,.prompt-studio-lab{display:grid;gap:14px}
.prompt-variant-tabs,.fewshot-toggle,.delimiter-buttons,.studio-actions{display:flex;gap:7px;flex-wrap:wrap}.prompt-variant-tabs button,.fewshot-toggle button,.delimiter-buttons button{border:1px solid var(--border);background:#fff;border-radius:9px;padding:8px 10px;color:#405772;cursor:pointer}.prompt-variant-tabs button.active,.fewshot-toggle button.active{background:#D88716;color:#fff;border-color:#D88716}
.prompt-variant{display:grid;grid-template-columns:1fr 1fr;gap:9px}.prompt-variant>div{border:1px solid var(--border);border-radius:12px;padding:12px;background:#fafbfc}.prompt-variant small,.schema-box small,.eval-prompts small{font-size:8px;font-weight:900;color:#7a899b}.prompt-variant p{font-size:11px!important;line-height:1.55!important}.prompt-variant>span{grid-column:1/-1;padding:9px;border-radius:9px;background:#FFF5E8;color:#7b5b2d;font-size:10px}
.anatomy-fields,.studio-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px}.anatomy-fields label,.studio-fields label{font-size:10px;font-weight:900;color:#50647c}.anatomy-fields textarea,.studio-fields textarea,.ambiguity-lab textarea,.json-schema-lab textarea{width:100%;min-height:105px;margin-top:6px;border:1px solid var(--border);border-radius:11px;padding:10px;font:11px/1.55 inherit;color:#334b66;background:#fff;resize:vertical}.anatomy-output,.delimiter-output,.structured-json,.long-context-output,.studio-output,.schema-box pre{margin:0;white-space:pre-wrap;border:1px solid var(--border);border-radius:12px;padding:13px;background:#0f1b30;color:#dce8f8;font:10px/1.6 ui-monospace,monospace}
.hierarchy-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.hierarchy-cards button{border:1px solid var(--border);background:#fff;border-radius:12px;padding:12px;text-align:left;color:#425a74;cursor:pointer}.hierarchy-cards button.active{border-color:#D88716;background:#FFF5E8}.hierarchy-cards small{font-size:8px;font-weight:900;color:#7a899b}.hierarchy-cards strong{display:block;margin-top:5px;font-size:11px}.hierarchy-answer{padding:10px;border-radius:9px;background:#FFF5E8;color:#725427;font-size:10px}
.ambiguity-lab select{border:1px solid var(--border);border-radius:10px;padding:10px;background:#fff;color:#405772}.interaction-feedback.good{color:#15966A}.interaction-feedback.warn{color:#D88716}
.delimiter-source{border:1px solid var(--border);border-radius:12px;padding:12px;background:#fafbfc}.delimiter-source p{font-size:11px!important;margin:6px 0!important}.delimiter-output{min-height:180px}
.fewshot-prompt{white-space:pre-wrap;border:1px solid var(--border);border-radius:12px;padding:12px;background:#fafbfc;font:10px/1.55 ui-monospace,monospace;color:#334b66}.fewshot-result{display:flex;gap:10px;align-items:center;padding:10px;border-radius:10px;background:#FFF5E8}.fewshot-result strong{color:#D88716}.fewshot-result span{font-size:10px;color:#655b4d}
.free-answer{border:1px solid var(--border);border-radius:12px;padding:13px;background:#fafbfc;color:#455b72;font-size:11px}.structured-json{min-height:140px}
.schema-box{border:1px solid var(--border);border-radius:12px;padding:11px;background:#fafbfc}.schema-box pre{margin-top:8px;min-height:auto}.schema-results{display:grid;gap:4px;border-radius:10px;padding:10px;font-size:10px}.schema-results.good{background:#EEF9F4;color:#34614f}.schema-results.bad{background:#FFF0F2;color:#86414c}.schema-results strong,.schema-results span{display:block}
.persona-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border:1px solid var(--border);border-radius:11px;padding:10px}.persona-row p{font-size:11px!important;margin:0!important}.persona-row>div{display:flex;gap:6px}.persona-row button{border:1px solid var(--border);background:#fff;border-radius:8px;padding:7px 9px;color:#405772;cursor:pointer}
.chain-source{padding:12px;border:1px solid var(--border);border-radius:11px;background:#fafbfc;text-align:center;font-weight:900;color:#314b67}.chain-builder{display:flex;align-items:center;gap:6px;overflow:auto}.chain-builder button{flex:0 0 135px;border:1px solid var(--border);background:#fff;border-radius:11px;padding:10px;color:#405772;text-align:left;cursor:pointer}.chain-builder button.active{background:#FFF5E8;border-color:#D88716}.chain-builder span{width:22px;height:22px;border-radius:7px;background:#f1f4f8;display:grid;place-items:center;font-size:9px}.chain-builder strong{display:block;font-size:10px;margin-top:6px}.chain-builder>i{font-style:normal;color:#8c9caf}.chain-contract{font-size:10px;color:#61748a}
.context-selection-lab label{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;border:1px solid var(--border);border-radius:10px;padding:9px}.context-selection-lab label span{font-size:11px;font-weight:800;color:#405772}.context-selection-lab label small{font-size:9px;color:#7b899a}.context-selection-summary{padding:11px;border-radius:10px;background:#FFF5E8}.context-selection-summary strong{color:#D88716}.context-selection-summary p,.context-selection-summary small{font-size:9px!important;color:#6f6658!important}
.doc-stack{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.doc-stack>div{border:1px solid var(--border);border-radius:11px;padding:10px;background:#fafbfc}.doc-stack .untrusted{border-color:#e9b9bf;background:#FFF0F2}.doc-stack small{font-size:8px;font-weight:900;color:#7b899a}.doc-stack p{font-size:10px!important;line-height:1.5!important}
.eval-prompts{display:grid;grid-template-columns:1fr 1fr;gap:8px}.eval-prompts>div{border:1px solid var(--border);border-radius:11px;padding:11px;background:#fafbfc}.eval-prompts p{font-size:10px!important}.eval-results{display:grid;gap:4px}.eval-results>div{display:grid;grid-template-columns:1fr 70px 70px;gap:8px;padding:7px 9px;border-bottom:1px solid #edf1f5}.eval-results .eval-head{font-size:9px;font-weight:900;color:#7a899b}.eval-results span{font-size:10px}.eval-results b{font-size:10px;text-align:center;color:#405772}.eval-results p{font-size:9px!important;color:#6e7d90!important}
.studio-output{min-height:220px}.studio-tests{display:grid;gap:5px}.studio-tests>div{display:flex;justify-content:space-between;gap:10px;border:1px solid var(--border);border-radius:9px;padding:8px}.studio-tests span{font-size:10px;color:#4d6279}.studio-tests strong{font-size:9px;color:#15966A}
.prompt-system-blueprint{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.prompt-system-blueprint>div{border:1px solid var(--border);border-radius:11px;padding:10px;background:#fafbfc}.prompt-system-blueprint small{font-size:8px;font-weight:900;color:#7a899b}.prompt-system-blueprint strong{display:block;font-size:10px;color:#354b66;margin-top:4px}.prompt-system-blueprint>span{color:#8c9caf}
@media(max-width:760px){
 .prompt-variant,.anatomy-fields,.studio-fields,.hierarchy-cards,.doc-stack,.eval-prompts{grid-template-columns:1fr}
 .prompt-variant>span{grid-column:auto}
 .persona-row{grid-template-columns:1fr}
 .chain-builder{flex-direction:column;align-items:stretch}.chain-builder button{flex:auto}.chain-builder>i{transform:rotate(90deg);align-self:center}
 .context-selection-lab label{grid-template-columns:auto 1fr}.context-selection-lab label small{grid-column:2}
}

/* ===== v0.23 · RAG ===== */
.rag-need-lab,.rag-pipeline-lab,.chunking-visual-lab,.chunk-size-lab,.chunk-embedding-lab,.vector-db-lab,.semantic-retrieval-lab,.retrieval-topk-lab,.hybrid-retrieval-lab,.reranking-lab,.grounded-answer-lab,.retrieval-eval-lab,.rag-failure-lab,.rag-studio-lab{display:grid;gap:14px}
.rag-need-lab>div{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;border:1px solid var(--border);border-radius:11px;padding:10px}.rag-need-lab p{font-size:11px!important;margin:0!important}.rag-need-lab>div>div{display:flex;gap:6px}.rag-need-lab button,.chunk-actions button{border:1px solid var(--border);background:#fff;border-radius:8px;padding:7px 9px;color:#405772;cursor:pointer}
.rag-flow,.rag-studio-pipeline{display:flex;gap:6px;align-items:center;overflow:auto}.rag-flow>div,.rag-studio-pipeline>div{flex:0 0 105px;border:1px solid var(--border);border-radius:10px;padding:9px;background:#fafbfc;text-align:center;opacity:.45}.rag-flow>div.active{opacity:1;border-color:#18A8C9;background:#ECF9FC}.rag-flow span,.rag-studio-pipeline span{display:grid;place-items:center;width:20px;height:20px;border-radius:6px;background:#e8edf3;margin:auto;font-size:9px}.rag-flow strong,.rag-studio-pipeline strong{display:block;margin-top:5px;font-size:9px;color:#35506d}.rag-flow>i,.rag-studio-pipeline>i{font-style:normal;color:#8c9caf}.rag-flow-note,.rag-studio-summary{font-size:10px;color:#61758b;padding:9px;border-radius:9px;background:#f6f8fa}
.chunk-source{border:1px solid var(--border);border-radius:12px;padding:13px;background:#fafbfc;font-size:11px;line-height:1.65;color:#425974}.chunk-actions{display:flex;gap:7px}.chunk-results{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.chunk-results>div{border:1px solid var(--border);border-radius:11px;padding:10px;background:#fff}.chunk-results small,.chunk-embedding-lab span,.vdb-table small,.rerank-before>small,.rerank-after>small,.ground-sources small,.eval-relevant small,.eval-retrieved small{font-size:8px;font-weight:900;color:#7b899a}.chunk-results p{font-size:10px!important;line-height:1.5!important}.chunk-results span{font-size:8px;color:#18A8C9}
.chunk-controls,.rag-studio-controls{display:grid;grid-template-columns:1fr 1fr;gap:9px}.chunk-controls label,.rag-studio-controls label{border:1px solid var(--border);border-radius:11px;padding:10px;background:#fafbfc;font-size:10px;color:#566a82}.chunk-controls input,.rag-studio-controls input[type=range]{width:100%;display:block;margin-top:7px}.chunk-strip{height:56px;border:1px solid var(--border);border-radius:11px;background:#fafbfc;display:flex;align-items:center;overflow:hidden;padding:8px}.chunk-strip i{height:32px;flex:0 0 auto;border:1px solid #78cfdf;background:#ECF9FC;border-radius:6px;opacity:.85}
.chunk-embedding-lab{grid-template-columns:repeat(2,1fr)}.chunk-embedding-lab>div{border:1px solid var(--border);border-radius:11px;padding:10px;background:#fafbfc}.chunk-embedding-lab p{font-size:10px!important;margin:5px 0!important}.chunk-embedding-lab code{font-size:9px;color:#176b80}.chunk-embedding-lab .embedding-note{grid-column:1/-1;background:#ECF9FC;color:#3e6570;font-size:10px}
.vdb-insert{display:grid;grid-template-columns:1fr 130px auto;gap:8px}.vdb-insert input,.vdb-insert select{border:1px solid var(--border);border-radius:9px;padding:9px;background:#fff}.vdb-insert button{border:0;border-radius:9px;background:#18A8C9;color:#fff;font-weight:900;padding:0 13px}.vdb-table{display:grid;gap:5px}.vdb-table>div{display:grid;grid-template-columns:60px 1fr 80px 150px;gap:8px;align-items:center;border:1px solid var(--border);border-radius:9px;padding:8px}.vdb-table b{font-size:9px;color:#18A8C9}.vdb-table span{font-size:10px}.vdb-table code{font-size:8px}
.rag-retrieval-results,.rag-topk-results,.hybrid-results,.rerank-before,.rerank-after{display:grid;gap:6px}.rag-retrieval-results>div,.rag-topk-results>div,.hybrid-results>div,.rerank-before>div,.rerank-after>div{display:grid;grid-template-columns:30px 1fr auto;gap:8px;align-items:center;border:1px solid var(--border);border-radius:10px;padding:9px}.rag-retrieval-results>div>span,.rag-topk-results>div>span,.hybrid-results>div>span,.rerank-before>div>span,.rerank-after>div>span{width:28px;height:28px;border-radius:8px;background:#ECF9FC;color:#18A8C9;display:grid;place-items:center;font-size:9px;font-weight:900}.rag-retrieval-results strong,.rag-topk-results strong,.hybrid-results strong,.rerank-before strong,.rerank-after strong{font-size:10px}.rag-retrieval-results small,.hybrid-results small{display:block;font-size:8px;color:#748499;margin-top:3px}.rag-retrieval-results b,.rag-topk-results b,.hybrid-results b,.rerank-before b,.rerank-after b{font-size:10px;color:#15966A}
.rag-topk-results>div.selected{background:#ECF9FC;border-color:#7cd4e3}.rag-topk-note{font-size:10px;color:#60748a}
.hybrid-query{padding:10px;border:1px solid var(--border);border-radius:10px;background:#fafbfc}.hybrid-controls{display:flex;gap:8px;flex-wrap:wrap}.hybrid-controls label{border:1px solid var(--border);border-radius:9px;padding:8px;font-size:10px;color:#50647a;background:#fff}
.reranking-lab{grid-template-columns:1fr auto 1fr;align-items:center}.reranking-lab>button{align-self:center}.rerank-before>small,.rerank-after>small{display:block;margin-bottom:4px}
.ground-sources{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ground-sources>div{border:1px solid var(--border);border-radius:11px;padding:10px;background:#fafbfc}.ground-sources p{font-size:10px!important}.ground-question{padding:10px;border-radius:10px;background:#ECF9FC;color:#406772;font-size:10px}.ground-answer{padding:12px;border:1px solid #9bd7c2;border-radius:10px;background:#EEF9F4;color:#385f52;font-size:11px;line-height:1.6}.ground-answer b{color:#15966A}
.eval-relevant,.eval-retrieved{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.eval-relevant span,.eval-retrieved button{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;border:1px solid var(--border);background:#fff;color:#4b6077;font-weight:900}.eval-relevant span{background:#FFF5E8;border-color:#eccb98}.eval-retrieved button.hit{background:#EEF9F4;border-color:#91cfb7;color:#15966A}
.rag-studio-controls{grid-template-columns:repeat(3,1fr)}.rag-studio-controls label:nth-last-child(-n+2){display:flex;align-items:center;justify-content:center;gap:7px}
.rag-blueprint{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.rag-blueprint>div{border:1px solid var(--border);border-radius:10px;padding:9px;background:#fafbfc}.rag-blueprint small{font-size:8px;font-weight:900;color:#7a899b}.rag-blueprint strong{display:block;margin-top:4px;font-size:9px;color:#354b66}.rag-blueprint>span{color:#8c9caf}.rag-blueprint .bp-break{width:100%;font-size:9px;color:#18A8C9;border-top:1px dashed var(--border);padding-top:8px;font-weight:900}
@media(max-width:760px){
 .rag-need-lab>div,.vdb-insert,.vdb-table>div,.reranking-lab{grid-template-columns:1fr}
 .chunk-results,.chunk-embedding-lab,.chunk-controls,.ground-sources,.rag-studio-controls{grid-template-columns:1fr}
 .chunk-embedding-lab .embedding-note{grid-column:auto}
 .reranking-lab>button{justify-self:start}
}

/* ===== v0.24 · Tool calling & APIs ===== */
.tool-need-lab,.client-server-lab,.http-request-lab,.api-contract-lab,.tool-call-life,.tool-schema-builder,.tool-loop-lab,.argument-validation-lab,.read-tool-lab,.database-tool-lab,.side-effect-lab,.tool-router-lab,.tool-error-lab,.tool-gateway-studio{display:grid;gap:14px}
.cs-nodes{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:8px}.cs-nodes>div{border:1px solid var(--border);border-radius:12px;padding:13px;background:#fafbfc;text-align:center}.cs-nodes small{font-size:8px;font-weight:900;color:#7b899a}.cs-nodes strong{display:block;margin-top:5px;color:#304a66}.cs-nodes>i{font-style:normal;color:#8c9caf}.cs-packet{padding:11px;border-radius:10px;background:#F3EFFF;color:#594b87;font-size:10px}.cs-packet strong{margin-right:10px}.cs-packet code{font-size:10px}
.http-builder{display:grid;grid-template-columns:100px 1fr 180px;gap:8px}.http-builder select,.http-builder input{border:1px solid var(--border);border-radius:9px;padding:9px;background:#fff;color:#405772}.http-preview,.api-contract-preview,.tool-schema-output,.argument-validation-lab>pre,.read-tool-record pre,.read-tool-result{white-space:pre-wrap;margin:0;border:1px solid var(--border);border-radius:11px;padding:12px;background:#0f1b30;color:#dce8f8;font:10px/1.6 ui-monospace,monospace}.http-reading{font-size:10px;color:#60748a}
.api-contract-tabs{display:flex;gap:7px}.api-contract-tabs button{border:1px solid var(--border);background:#fff;border-radius:9px;padding:8px;color:#405772;cursor:pointer}.api-contract-tabs button.active{background:#7657D8;color:#fff;border-color:#7657D8}
.tool-life-chat{display:grid;gap:7px}.tool-life-chat>div{border-radius:11px;padding:10px;font-size:10px}.user-msg{background:#EFF4FF;color:#355a8f}.model-msg{background:#F3EFFF;color:#58488b}.gateway-msg{background:#FFF5E8;color:#795b2c}.tool-msg{background:#EEF9F4;color:#356353}.tool-life-chat small{font-size:8px;font-weight:900;display:block;margin-bottom:4px}.tool-life-chat code{font-size:9px}
.tool-schema-fields{display:grid;grid-template-columns:1fr 2fr 1fr;gap:8px}.tool-schema-fields label{font-size:9px;font-weight:900;color:#60738a}.tool-schema-fields input,.tool-schema-fields textarea{width:100%;margin-top:5px;border:1px solid var(--border);border-radius:9px;padding:9px;font:10px/1.5 inherit}.tool-schema-fields textarea{min-height:80px;resize:vertical}
.tool-loop-flow{display:flex;align-items:center;gap:5px;overflow:auto}.tool-loop-flow>div{flex:0 0 85px;border:1px solid var(--border);border-radius:10px;padding:9px;background:#fafbfc;text-align:center;opacity:.4}.tool-loop-flow>div.active{opacity:1;background:#F3EFFF;border-color:#aa98e7}.tool-loop-flow span{width:20px;height:20px;border-radius:6px;background:#ebe7f9;display:grid;place-items:center;margin:auto;font-size:8px}.tool-loop-flow strong{display:block;font-size:9px;margin-top:5px}.tool-loop-flow>i{font-style:normal;color:#8c9caf}.tool-loop-note{padding:9px;border-radius:9px;background:#f6f8fa;color:#60748a;font-size:10px}
.validation-checks{display:grid;gap:6px}.validation-checks button{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:center;text-align:left;border:1px solid var(--border);background:#fff;border-radius:9px;padding:8px;color:#445a72;cursor:pointer}.validation-checks button span{width:28px;height:28px;border-radius:7px;background:#f0f3f7;display:grid;place-items:center;font-size:9px}.validation-checks button.selected.ok{background:#EEF9F4;border-color:#8fcfb6}.validation-checks button.selected.bad{background:#FFF0F2;border-color:#e2a4ad}.validation-checks button.selected.check{background:#FFF5E8;border-color:#e8c48e}.validation-result{font-size:10px;color:#60748a}
.read-tool-record small{font-size:8px;font-weight:900;color:#7b899a}.read-tool-result{min-height:95px}
.db-approaches{display:grid;grid-template-columns:1fr 1fr;gap:9px}.db-approaches button{border:1px solid var(--border);border-radius:11px;background:#fff;padding:12px;text-align:left;color:#405772;cursor:pointer}.db-approaches button.active{background:#F3EFFF;border-color:#a997e1}.db-approaches strong{display:block}.db-approaches small{display:block;margin-top:5px;color:#78879a}.db-safety{padding:11px;border-radius:10px;background:#fafbfc;color:#53697f}.db-safety p{font-size:10px!important}
.router-query{padding:11px;border-radius:10px;background:#F3EFFF;color:#574b82;font-size:10px}.router-tools{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.router-tools button{border:1px solid var(--border);background:#fff;border-radius:10px;padding:9px;text-align:left;color:#405772;cursor:pointer}.router-tools button.active{background:#EEF9F4;border-color:#88cbb0}.router-tools span{width:20px;height:20px;border-radius:6px;background:#eef1f5;display:grid;place-items:center;font-size:8px}.router-tools strong{display:block;font-size:9px;margin-top:6px}.router-tools small{display:block;font-size:8px;color:#7b899a;margin-top:4px}.router-sequence{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:#60748a;font-size:9px}.router-sequence span{padding:6px 8px;border-radius:8px;background:#EEF9F4;color:#446b5d}.router-sequence b{color:#8c9caf}
.error-row{display:grid;grid-template-columns:150px 1fr;gap:8px;align-items:center;border:1px solid var(--border);border-radius:10px;padding:9px}.error-row strong{font-size:10px}.error-row>div{display:flex;gap:5px;flex-wrap:wrap}.error-row button{border:1px solid var(--border);background:#fff;border-radius:7px;padding:6px;font-size:8px;color:#50647a;cursor:pointer}
.gateway-tools{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.gateway-tools label{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;border:1px solid var(--border);border-radius:10px;padding:9px}.gateway-tools span{font-size:9px;font-weight:800;color:#405772}.gateway-tools small{font-size:8px;color:#7a899b}.gateway-controls{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.gateway-controls label{border:1px solid var(--border);border-radius:10px;padding:9px;background:#fafbfc;font-size:9px;color:#566a82}.gateway-controls input[type=range]{width:100%;display:block;margin-top:6px}.gateway-architecture{display:flex;align-items:center;gap:7px;overflow:auto;padding:12px;border:1px solid var(--border);border-radius:12px;background:#fafbfc}.gateway-architecture>div{flex:0 0 auto;border:1px solid var(--border);border-radius:10px;padding:10px;background:#fff;color:#405772;font-size:9px;font-weight:850}.gw-gateway{background:#F3EFFF!important;border-color:#b5a5ea!important}.gw-gateway small{display:block;margin-top:4px;font-size:7px;color:#776a9c}.gw-tool-list{display:flex;gap:5px;min-width:300px;flex-wrap:wrap}.gw-tool-list i{font-style:normal;padding:5px 6px;border-radius:7px;background:#EEF9F4;color:#3e6b5b;font-size:8px}.gw-tool-list i.write{background:#FFF5E8;color:#815e2b}.gateway-architecture>span{color:#8c9caf}.gateway-summary{font-size:10px;color:#60748a}
.tool-calling-blueprint{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.tool-calling-blueprint>div{border:1px solid var(--border);border-radius:10px;padding:9px;background:#fafbfc}.tool-calling-blueprint small{font-size:8px;font-weight:900;color:#7a899b}.tool-calling-blueprint strong{display:block;margin-top:4px;font-size:9px;color:#354b66}.tool-calling-blueprint>span{color:#8c9caf}.tool-calling-blueprint .bp-break{width:100%;font-size:9px;color:#7657D8;border-top:1px dashed var(--border);padding-top:8px;font-weight:900}
@media(max-width:760px){
 .cs-nodes,.http-builder,.tool-schema-fields,.db-approaches,.error-row,.gateway-controls{grid-template-columns:1fr}
 .cs-nodes>i{justify-self:center;transform:rotate(90deg)}
 .router-tools,.gateway-tools{grid-template-columns:1fr}
}

/* ===== v0.25 · AI Agents ===== */
.agent-vs-chat-lab,.agent-loop-lab,.planning-board-lab,.agent-state-lab,.memory-decision-lab,.agent-budget-lab,.reflection-lab,.human-approval-lab,.workflow-choice-lab,.supervisor-lab,.handoff-lab,.mcp-lab,.agent-eval-lab,.agent-studio-lab{display:grid;gap:14px}
.agent-loop-ring{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.agent-loop-ring>div{border:1px solid var(--border);border-radius:11px;padding:10px;text-align:center;background:#fafbfc;opacity:.4}.agent-loop-ring>div.active{opacity:1;background:#EEF9F4;border-color:#8bcdb4}.agent-loop-ring span{width:24px;height:24px;border-radius:7px;background:#e9f2ed;display:grid;place-items:center;margin:auto;font-size:9px}.agent-loop-ring strong{display:block;margin-top:5px;font-size:9px}.agent-loop-note{font-size:10px;color:#60748a;padding:9px;border-radius:9px;background:#f6f8fa}
.plan-goal,.plan-event{padding:10px;border-radius:10px;background:#EEF9F4;color:#41675a;font-size:10px}.plan-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.plan-steps button{border:1px solid var(--border);background:#fff;border-radius:10px;padding:8px;color:#405772;text-align:left;cursor:pointer}.plan-steps button.active{background:#F3EFFF;border-color:#a99ae1}.plan-steps span{display:grid;place-items:center;width:22px;height:22px;border-radius:6px;background:#eef1f5;font-size:8px}.plan-steps strong{display:block;font-size:8px;margin-top:5px}.plan-output{font-size:10px;color:#60748a}
.state-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.state-fields label{font-size:9px;font-weight:900;color:#60748a}.state-fields input{width:100%;margin-top:5px;border:1px solid var(--border);border-radius:9px;padding:9px;font:10px ui-monospace,monospace}.agent-state-json{margin:0;white-space:pre-wrap;border:1px solid var(--border);border-radius:11px;padding:12px;background:#0f1b30;color:#dce8f8;font:10px/1.6 ui-monospace,monospace}
.budget-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.budget-controls label{border:1px solid var(--border);border-radius:10px;padding:9px;background:#fafbfc;font-size:9px;color:#566a82}.budget-controls input{width:100%;display:block;margin-top:6px}.budget-meter{height:25px;border-radius:999px;background:#edf1f5;overflow:hidden;position:relative}.budget-meter i{display:block;height:100%;background:#15966A}.budget-meter span{position:absolute;inset:0;display:grid;place-items:center;font-size:8px;font-weight:900;color:#17345F}.budget-policy{font-size:9px;color:#60748a}
.reflection-draft{border:1px solid var(--border);border-radius:11px;padding:11px;background:#fafbfc}.reflection-draft small{font-size:8px;font-weight:900;color:#7b899a}.reflection-draft p{font-size:10px!important}.reflection-checks{display:flex;gap:8px;flex-wrap:wrap}.reflection-checks label{border:1px solid var(--border);border-radius:9px;padding:8px;font-size:9px;color:#50647a}.reflection-result{display:grid;gap:4px;padding:10px;border-radius:10px;background:#FFF5E8;color:#78582a}.reflection-result span{font-size:9px}
.worker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.worker-grid button{border:1px solid var(--border);background:#fff;border-radius:11px;padding:10px;text-align:left;color:#405772;cursor:pointer}.worker-grid button.active{background:#EEF9F4;border-color:#8ccdb4}.worker-grid strong{display:block}.worker-grid small{font-size:8px;color:#7b899a}.supervisor-task{display:grid;grid-template-columns:1fr auto;gap:8px}.supervisor-task select{border:1px solid var(--border);border-radius:9px;padding:9px;background:#fff}.supervisor-task button{border:0;border-radius:9px;background:#15966A;color:#fff;font-weight:900;padding:0 14px}.delegation-log{font-size:10px;color:#60748a}
.handoff-nodes{display:flex;align-items:center;gap:7px;justify-content:center;flex-wrap:wrap}.handoff-nodes button{border:1px solid var(--border);background:#fff;border-radius:10px;padding:9px;color:#405772}.handoff-nodes button.active{background:#15966A;color:#fff;border-color:#15966A}.handoff-nodes span{color:#8c9caf}.handoff-card{border:1px solid var(--border);border-radius:11px;padding:10px;background:#fafbfc}.handoff-card small{font-size:8px;font-weight:900;color:#7b899a}.handoff-card pre{white-space:pre-wrap;font-size:9px}.handoff-note{font-size:10px;color:#60748a}
.mcp-lab{display:flex;align-items:center;gap:7px;overflow:auto}.mcp-node,.mcp-tools{flex:0 0 auto;border:1px solid var(--border);border-radius:10px;padding:10px;background:#fafbfc}.mcp-node small{font-size:8px;font-weight:900;color:#7b899a}.mcp-node strong{display:block;font-size:9px;margin-top:4px}.mcp-tools{display:flex;gap:5px;flex-wrap:wrap}.mcp-tools i{font-style:normal;padding:5px 7px;border-radius:7px;background:#EEF9F4;color:#41685a;font-size:8px}.mcp-lab>span{color:#8c9caf}.mcp-note{font-size:9px;color:#60748a}
.agent-trajectories{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.agent-trajectories button{border:1px solid var(--border);background:#fff;border-radius:11px;padding:10px;text-align:left;color:#405772;cursor:pointer}.agent-trajectories button.active{background:#EEF9F4;border-color:#8bcdb4}.agent-trajectories strong{display:block}.agent-trajectories small{display:block;font-size:8px;color:#7b899a;margin-top:5px}.trajectory-score{display:flex;align-items:center;gap:12px;padding:10px;border-radius:10px;background:#fafbfc}.trajectory-score strong{font-size:22px;color:#15966A}.trajectory-score span{font-size:10px;color:#60748a}
.agent-studio-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.agent-studio-controls label{border:1px solid var(--border);border-radius:10px;padding:9px;background:#fafbfc;font-size:9px;color:#566a82}.agent-studio-controls input[type=range],.agent-studio-controls select{width:100%;display:block;margin-top:6px}.agent-studio-tools{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.agent-studio-tools label{border:1px solid var(--border);border-radius:9px;padding:8px;font-size:9px;color:#50647a}.agent-studio-graph{display:flex;align-items:center;gap:6px;overflow:auto;padding:10px;border:1px solid var(--border);border-radius:11px;background:#fafbfc}.agent-studio-graph>div{flex:0 0 auto;border:1px solid #9ccfb9;border-radius:9px;padding:8px;background:#EEF9F4}.agent-studio-graph span{width:18px;height:18px;border-radius:5px;background:#dcece4;display:grid;place-items:center;font-size:7px}.agent-studio-graph strong{display:block;font-size:8px;margin-top:4px}.agent-studio-graph>i{font-style:normal;color:#8c9caf}.agent-studio-summary{font-size:9px;color:#60748a}
.agent-blueprint{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.agent-blueprint>div{border:1px solid var(--border);border-radius:10px;padding:9px;background:#fafbfc}.agent-blueprint small{font-size:8px;font-weight:900;color:#7a899b}.agent-blueprint strong{display:block;margin-top:4px;font-size:9px;color:#354b66}.agent-blueprint>span{color:#8c9caf}.agent-blueprint .bp-break{width:100%;font-size:9px;color:#15966A;border-top:1px dashed var(--border);padding-top:8px;font-weight:900}
@media(max-width:760px){
 .agent-loop-ring,.plan-steps,.budget-controls,.worker-grid,.agent-trajectories,.agent-studio-controls,.state-fields{grid-template-columns:1fr}
 .supervisor-task{grid-template-columns:1fr}
 .agent-studio-tools{grid-template-columns:1fr}
}

/* ===== v0.26 · Multimodal AI ===== */
.modality-mixer-lab,.pixel-resolution-lab,.patch-grid-lab,.vision-question-lab,.ocr-vision-lab,.diffusion-lab,.image-prompt-builder,.waveform-lab,.asr-pipeline-lab,.tts-control-lab,.multimodal-fusion-lab,.video-sampling-lab,.multimodal-risk-lab,.multimodal-studio-lab{display:grid;gap:14px}
.modality-options{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.modality-options label{border:1px solid var(--border);border-radius:10px;padding:10px;background:#fff;font-size:10px;color:#405772}.modality-options span{margin-left:5px;font-weight:800}.modality-flow,.multimodal-studio-flow{display:flex;align-items:center;gap:6px;overflow:auto}.modality-flow>div,.multimodal-studio-flow>div{flex:0 0 auto;border:1px solid var(--border);border-radius:10px;padding:9px;background:#F3EFFF}.modality-flow small,.multimodal-studio-flow span{font-size:8px;color:#76689a}.modality-flow strong,.multimodal-studio-flow strong{display:block;font-size:9px;color:#4e426e;margin-top:3px}.modality-flow>span,.multimodal-studio-flow>i{font-style:normal;color:#8c9caf}.modality-summary,.multimodal-studio-summary{font-size:10px;color:#60748a}
.pixel-resolution-lab>label,.patch-controls label,.audio-controls label,.tts-control-lab>label,.video-controls label{border:1px solid var(--border);border-radius:10px;padding:9px;background:#fafbfc;font-size:9px;color:#566a82}.pixel-resolution-lab input,.patch-controls input,.audio-controls input,.tts-control-lab input,.video-controls input{width:100%;display:block;margin-top:6px}.pixel-grid{display:grid;gap:1px;aspect-ratio:1;max-width:330px;width:100%;margin:auto;background:#e8edf3;padding:1px}.pixel-grid i{background:#7657D8}.pixel-metrics,.patch-note,.waveform-note,.tts-note,.video-metrics{font-size:10px;color:#60748a;text-align:center}
.patch-controls,.audio-controls,.video-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px}.patch-canvas{display:grid;gap:2px;aspect-ratio:1;max-width:360px;width:100%;margin:auto;background:#dde4ec;padding:3px}.patch-canvas i{background:#F3EFFF;border:1px solid #b6a8e7}
.fake-dashboard{height:210px;border:1px solid var(--border);border-radius:12px;background:#fafbfc;padding:25px 18px 26px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:end}.chart-bar{background:#7657D8;border-radius:7px 7px 2px 2px}.fake-dashboard span{text-align:center;font-size:8px;color:#748399}.vision-q-tabs{display:flex;gap:7px;flex-wrap:wrap}.vision-q-tabs button{border:1px solid var(--border);background:#fff;border-radius:8px;padding:7px 9px;color:#405772;cursor:pointer}.vision-q-tabs button.active{background:#7657D8;color:#fff;border-color:#7657D8}.vision-answer{padding:10px;border-radius:10px;background:#F3EFFF;color:#554981;font-size:10px}
.diffusion-image{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;aspect-ratio:1;max-width:300px;width:100%;margin:auto;background:#dfe5ec;padding:3px}.diffusion-image i{background:#7657D8;border-radius:2px}.diffusion-progress{height:10px;border-radius:999px;background:#edf1f5;overflow:hidden}.diffusion-progress i{display:block;height:100%;background:#7657D8}.diffusion-note{font-size:10px;color:#60748a;text-align:center}
.image-prompt-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.image-prompt-fields label{font-size:9px;font-weight:900;color:#60748a}.image-prompt-fields input{width:100%;margin-top:5px;border:1px solid var(--border);border-radius:9px;padding:9px}.image-prompt-output{margin:0;white-space:pre-wrap;border:1px solid var(--border);border-radius:11px;padding:12px;background:#0f1b30;color:#dce8f8;font:10px/1.6 ui-monospace,monospace}
.waveform-canvas{height:120px;display:flex;align-items:center;gap:2px;border:1px solid var(--border);border-radius:11px;background:#fafbfc;padding:10px;overflow:hidden}.waveform-canvas i{flex:1;min-width:2px;background:#7657D8;border-radius:999px}.spectrogram-demo{display:grid;grid-template-columns:repeat(12,1fr);gap:2px;height:70px}.spectrogram-demo i{background:#18A8C9;border-radius:3px}
.asr-flow{display:flex;align-items:center;gap:5px;overflow:auto}.asr-flow>div{flex:0 0 90px;border:1px solid var(--border);border-radius:10px;padding:9px;background:#fafbfc;opacity:.4;text-align:center}.asr-flow>div.active{opacity:1;background:#F3EFFF;border-color:#b7a9e8}.asr-flow span{width:20px;height:20px;border-radius:6px;background:#ebe7f9;display:grid;place-items:center;margin:auto;font-size:8px}.asr-flow strong{display:block;font-size:8px;margin-top:5px}.asr-flow>i{font-style:normal;color:#8c9caf}.asr-note{font-size:10px;color:#60748a}
.tts-control-lab{grid-template-columns:repeat(3,1fr)}.tts-preview,.tts-note{grid-column:1/-1}.tts-preview{padding:12px;border-radius:10px;background:#F3EFFF;color:#554981;font-size:11px}
.fusion-inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.fusion-inputs button{border:1px solid var(--border);background:#fff;border-radius:11px;padding:10px;text-align:left;color:#405772;cursor:pointer;opacity:.45}.fusion-inputs button.active{opacity:1;background:#F3EFFF;border-color:#b4a5e6}.fusion-inputs small{font-size:8px;color:#7b899a}.fusion-inputs strong{display:block;font-size:9px;margin-top:5px}.fusion-output{display:grid;gap:6px;padding:11px;border-radius:10px;background:#fafbfc}.fusion-output span{font-size:9px;color:#4f647a}.fusion-output small{color:#7b899a}
.video-controls{grid-template-columns:repeat(3,1fr)}.video-frame-strip{display:flex;gap:5px;overflow:auto;padding:10px;border:1px solid var(--border);border-radius:11px;background:#fafbfc}.video-frame-strip i{flex:0 0 54px;height:72px;border-radius:8px;background:linear-gradient(145deg,#F3EFFF,#d9d2f5);display:flex;align-items:flex-end;justify-content:center;padding:5px;font-style:normal}.video-frame-strip span{font-size:7px;color:#5d4f84}
.multimodal-studio-controls{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.multimodal-studio-controls label{border:1px solid var(--border);border-radius:9px;padding:8px;font-size:9px;color:#50647a;background:#fff}
.multimodal-blueprint{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.multimodal-blueprint>div{border:1px solid var(--border);border-radius:10px;padding:9px;background:#fafbfc}.multimodal-blueprint small{font-size:8px;font-weight:900;color:#7a899b}.multimodal-blueprint strong{display:block;margin-top:4px;font-size:9px;color:#354b66}.multimodal-blueprint>span{color:#8c9caf}.multimodal-blueprint .bp-break{width:100%;font-size:9px;color:#7657D8;border-top:1px dashed var(--border);padding-top:8px;font-weight:900}
@media(max-width:760px){
 .modality-options,.patch-controls,.audio-controls,.image-prompt-fields,.tts-control-lab,.fusion-inputs,.video-controls,.multimodal-studio-controls{grid-template-columns:1fr}
 .tts-preview,.tts-note{grid-column:auto}
}

/* ===== v0.27 · Model customization ===== */
.customization-decision-lab,.training-stage-lab,.finetune-dataset-lab,.sft-loop-lab,.finetune-curve-lab,.peft-comparison-lab,.lora-rank-lab,.qlora-memory-lab,.distillation-lab,.quantization-memory-lab,.quant-strategy-lab,.deployment-tradeoff-lab,.customization-benchmark-lab,.customization-studio-lab{display:grid;gap:14px}
.stage-bars{display:grid;gap:10px}.stage-bars>div{display:grid;grid-template-columns:95px 1fr 220px;gap:9px;align-items:center}.stage-bars small{font-size:8px;font-weight:900;color:#7b899a}.stage-bars i{height:14px;background:#D88716;border-radius:999px}.stage-bars strong{font-size:9px;color:#50647a}.stage-arrow{padding:10px;border-radius:10px;background:#FFF5E8;color:#765829;font-size:10px;text-align:center}
.dataset-inputs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.dataset-inputs textarea{min-height:110px;border:1px solid var(--border);border-radius:10px;padding:10px;resize:vertical}.dataset-tags{display:flex;gap:8px;flex-wrap:wrap}.dataset-tags label{border:1px solid var(--border);border-radius:8px;padding:7px;font-size:9px}.dataset-table{display:grid;gap:6px}.dataset-table>div{display:grid;grid-template-columns:28px 1fr 1fr;gap:8px;border:1px solid var(--border);border-radius:9px;padding:8px}.dataset-table span{width:28px;height:28px;display:grid;place-items:center;border-radius:7px;background:#FFF5E8;color:#D88716;font-size:8px}.dataset-table p{font-size:9px!important;margin:0!important}
.sft-flow,.customization-pipeline{display:flex;align-items:center;gap:6px;overflow:auto}.sft-flow>div,.customization-pipeline>div{flex:0 0 100px;border:1px solid var(--border);border-radius:10px;padding:9px;background:#fafbfc;opacity:.4;text-align:center}.sft-flow>div.active{opacity:1;background:#FFF5E8;border-color:#e7c18a}.sft-flow span,.customization-pipeline span{width:20px;height:20px;border-radius:6px;background:#f0e8dc;display:grid;place-items:center;margin:auto;font-size:8px}.sft-flow strong,.customization-pipeline strong{display:block;margin-top:5px;font-size:8px}.sft-flow>i,.customization-pipeline>i{font-style:normal;color:#8c9caf}.sft-note,.customization-summary{font-size:10px;color:#60748a}
.curve-chart{height:190px;border:1px solid var(--border);border-radius:11px;background:linear-gradient(#fff,#fafbfc);position:relative;overflow:hidden}.curve-line{position:absolute;left:25px;right:25px;height:4px;border-radius:999px;transform-origin:left center}.curve-line.train{top:55px;background:#2F6FED;transform:rotate(12deg)}.curve-line.val{top:110px;background:#CF4F5F;transform:rotate(-2deg)}.curve-legend{position:absolute;bottom:10px;left:15px;display:flex;gap:12px}.curve-legend span{font-size:8px;color:#66788c}.finetune-curve-lab label,.peft-comparison-lab label,.lora-rank-lab>label,.qlora-memory-lab>label,.quantization-memory-lab>label{border:1px solid var(--border);border-radius:10px;padding:9px;font-size:9px;color:#566a82}.finetune-curve-lab input,.peft-comparison-lab input,.lora-rank-lab input,.qlora-memory-lab input,.quantization-memory-lab input{width:100%;display:block;margin-top:6px}.curve-reading{font-size:10px;color:#60748a}
.peft-comparison-lab{grid-template-columns:1fr 1fr}.peft-metrics{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.peft-metrics>div{border:1px solid var(--border);border-radius:10px;padding:10px;background:#fafbfc}.peft-metrics small{font-size:8px;color:#7b899a}.peft-metrics strong{display:block;margin-top:5px;color:#D88716}
.lora-matrix{display:flex;align-items:center;gap:10px;justify-content:center;flex-wrap:wrap}.base-matrix,.adapter-matrix{border:1px solid var(--border);border-radius:12px;padding:18px 22px;text-align:center;font-weight:900;color:#405772}.base-matrix{background:#f4f6f8}.adapter-matrix{background:#FFF5E8;border-color:#e8c58e}.lora-matrix span{font-size:22px;color:#8c9caf}.lora-matrix small{display:block;margin-top:5px;font-weight:500;color:#7a899a}.lora-metrics{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap}.lora-metrics strong{color:#D88716}.lora-metrics span{font-size:9px;color:#60748a}
.memory-bars,.quant-memory-bars{display:grid;gap:8px}.memory-bars>div,.quant-memory-bars>div{display:grid;grid-template-columns:150px 1fr 120px;gap:8px;align-items:center}.memory-bars span,.quant-memory-bars span{font-size:9px;color:#50647a}.memory-bars i,.quant-memory-bars i{height:10px;border-radius:999px;background:#D88716}.memory-bars strong,.quant-memory-bars strong{font-size:9px;color:#405772}.memory-note{font-size:9px;color:#60748a}
.distillation-lab{grid-template-columns:1fr auto 1fr;align-items:center}.teacher-box,.student-box{border:1px solid var(--border);border-radius:12px;padding:14px;background:#fafbfc}.teacher-box small,.student-box small{font-size:8px;font-weight:900;color:#7b899a}.teacher-box strong,.student-box strong{display:block;font-size:20px;margin-top:4px}.soft-target,.student-target{margin-top:10px;padding:8px;border-radius:8px;background:#FFF5E8;font-size:9px}.distillation-lab>button,.distill-note{grid-column:1/-1}.distill-note{font-size:9px;color:#60748a}
.deploy-configs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.deploy-configs button{border:1px solid var(--border);background:#fff;border-radius:10px;padding:10px;text-align:left;color:#405772}.deploy-configs button.active{background:#FFF5E8;border-color:#e4bf87}.deploy-configs strong{display:block}.deploy-configs small{font-size:8px;color:#7b899a}.deploy-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.deploy-metrics>div{border:1px solid var(--border);border-radius:10px;padding:10px;background:#fafbfc}.deploy-metrics small{font-size:8px;color:#7b899a}.deploy-metrics strong{display:block;margin-top:5px;color:#D88716}.deploy-metrics p{grid-column:1/-1;font-size:9px!important;color:#60748a!important}
.benchmark-table{display:grid;gap:4px}.benchmark-table .bh,.benchmark-table button{display:grid;grid-template-columns:1fr repeat(4,90px);gap:6px;align-items:center;padding:8px}.benchmark-table .bh{font-size:8px;font-weight:900;color:#7b899a}.benchmark-table button{border:1px solid var(--border);border-radius:9px;background:#fff;color:#405772;text-align:left}.benchmark-table button.active{background:#FFF5E8;border-color:#e4bf87}.benchmark-table button b{font-size:9px;text-align:center}.benchmark-decision{font-size:10px;color:#60748a;padding:9px;border-radius:9px;background:#fafbfc}
.customization-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.customization-controls label{border:1px solid var(--border);border-radius:9px;padding:9px;font-size:9px;color:#50647a}.customization-controls select,.customization-controls input{width:100%;margin-top:6px}
.customization-blueprint{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.customization-blueprint>div{border:1px solid var(--border);border-radius:10px;padding:9px;background:#fafbfc}.customization-blueprint small{font-size:8px;font-weight:900;color:#7a899b}.customization-blueprint strong{display:block;margin-top:4px;font-size:9px;color:#354b66}.customization-blueprint>span{color:#8c9caf}
@media(max-width:760px){
 .stage-bars>div,.dataset-inputs,.peft-comparison-lab,.peft-metrics,.distillation-lab,.deploy-configs,.deploy-metrics,.customization-controls{grid-template-columns:1fr}
 .dataset-table>div{grid-template-columns:28px 1fr}.dataset-table p:last-child{grid-column:2}
 .distillation-lab>button,.distill-note{grid-column:auto}
 .benchmark-table{overflow:auto}.benchmark-table .bh,.benchmark-table button{min-width:620px}
}

/* ===== v0.28 · Evaluation, safety & governance ===== */
.eval-matrix-lab,.golden-set-lab,.system-eval-lab,.hallucination-audit-lab,.groundedness-lab,.risk-register-lab,.injection-defense-lab,.privacy-flow-lab,.guardrail-stack-lab,.red-team-lab,.human-oversight-lab,.governance-lifecycle-lab,.slo-lab,.eval-safety-studio{display:grid;gap:14px}
.eval-matrix-lab{grid-template-columns:repeat(2,1fr)}.eval-matrix-lab label{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;border:1px solid var(--border);border-radius:10px;padding:9px}.eval-matrix-lab span{font-size:10px;font-weight:800;color:#405772}.eval-matrix-lab small{font-size:8px;color:#7b899a}.eval-matrix-summary{grid-column:1/-1;font-size:10px;color:#60748a;padding:9px;border-radius:9px;background:#FFF0F2}
.golden-add{display:grid;grid-template-columns:150px 1fr auto;gap:8px}.golden-add select,.golden-add input{border:1px solid var(--border);border-radius:9px;padding:9px;background:#fff}.golden-add button{border:0;border-radius:9px;background:#CF4F5F;color:#fff;font-weight:900;padding:0 14px}.golden-cases{display:grid;gap:6px}.golden-cases>div{display:grid;grid-template-columns:28px 120px 1fr;gap:8px;align-items:center;border:1px solid var(--border);border-radius:9px;padding:8px}.golden-cases span{width:28px;height:28px;border-radius:7px;background:#FFF0F2;color:#CF4F5F;display:grid;place-items:center;font-size:8px}.golden-cases strong{font-size:9px}.golden-cases p{font-size:9px!important;margin:0!important}.golden-coverage{font-size:9px;color:#60748a}
.claim-source{display:grid;grid-template-columns:1fr 1fr;gap:8px}.claim-source>div{border:1px solid var(--border);border-radius:11px;padding:11px;background:#fafbfc}.claim-source small{font-size:8px;font-weight:900;color:#7b899a}.claim-source p{font-size:10px!important}.groundedness-lab>button{display:inline-flex;width:max-content}.groundedness-result{padding:10px;border-radius:10px;background:#FFF5E8;color:#755728}.groundedness-result span{display:block;font-size:9px;margin-top:4px}
.risk-row-editor{display:grid;grid-template-columns:1.3fr 110px 130px 1.3fr auto;gap:7px}.risk-row-editor input,.risk-row-editor select{border:1px solid var(--border);border-radius:8px;padding:8px;background:#fff}.risk-row-editor button{border:0;border-radius:8px;background:#CF4F5F;color:#fff;font-weight:900}.risk-table{display:grid;gap:6px}.risk-table>div{display:grid;grid-template-columns:28px 1fr 180px 1.3fr;gap:8px;align-items:center;border:1px solid var(--border);border-radius:9px;padding:8px}.risk-table span{width:28px;height:28px;border-radius:7px;background:#FFF0F2;color:#CF4F5F;display:grid;place-items:center;font-size:8px}.risk-table strong{font-size:9px}.risk-table small,.risk-table p{font-size:8px!important;margin:0!important}
.attack-doc{border:1px solid #e2a4ad;border-radius:11px;padding:11px;background:#FFF0F2}.attack-doc small{font-size:8px;font-weight:900;color:#9f4e59}.attack-doc p{font-size:10px!important}.defense-switches{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.defense-switches label{border:1px solid var(--border);border-radius:9px;padding:8px;font-size:9px}.defense-result{font-size:10px;color:#60748a;padding:9px;border-radius:9px;background:#fafbfc}
.privacy-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.privacy-fields label{border:1px solid var(--border);border-radius:9px;padding:8px;font-size:9px}.privacy-payload{display:grid;gap:4px;padding:10px;border-radius:10px;background:#EEF9F4}.privacy-payload strong{color:#15966A}.privacy-payload span,.privacy-note{font-size:9px;color:#60748a}
.guardrail-stack-lab{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.guardrail-stack-lab button{border:1px solid var(--border);border-radius:10px;background:#fff;padding:9px;text-align:left;color:#405772;opacity:.45}.guardrail-stack-lab button.active{opacity:1;background:#FFF0F2;border-color:#dfa0aa}.guardrail-stack-lab span{width:20px;height:20px;border-radius:6px;background:#f6e3e6;display:grid;place-items:center;font-size:8px}.guardrail-stack-lab strong,.guardrail-stack-lab small{display:block}.guardrail-stack-lab strong{font-size:9px;margin-top:5px}.guardrail-stack-lab small{font-size:7px;color:#7b899a}.guardrail-stack-lab>i{font-style:normal;color:#8c9caf}.guardrail-status{width:100%;font-size:9px;color:#60748a}
.redteam-controls{display:grid;grid-template-columns:1fr auto;gap:8px}.redteam-controls select{border:1px solid var(--border);border-radius:9px;padding:9px;background:#fff}.redteam-controls button{border:0;border-radius:9px;background:#CF4F5F;color:#fff;font-weight:900;padding:0 13px}.redteam-case,.redteam-regression{padding:10px;border-radius:10px;background:#FFF0F2;color:#79414a;font-size:10px}.redteam-regression{background:#EEF9F4;color:#3e6859}
.release-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.release-fields label{font-size:9px;font-weight:900;color:#60748a}.release-fields input{width:100%;margin-top:5px;border:1px solid var(--border);border-radius:9px;padding:9px}.release-record{margin:0;white-space:pre-wrap;border:1px solid var(--border);border-radius:11px;padding:12px;background:#0f1b30;color:#dce8f8;font:10px/1.6 ui-monospace,monospace}
.slo-lab{grid-template-columns:repeat(3,1fr)}.slo-lab label{border:1px solid var(--border);border-radius:10px;padding:9px;font-size:9px;color:#566a82}.slo-lab input{width:100%;display:block;margin-top:6px}.slo-result{grid-column:1/-1;display:grid;gap:4px;padding:10px;border-radius:10px;background:#fafbfc}.slo-result span{font-size:9px;color:#60748a}
.studio-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.studio-metrics label{display:grid;grid-template-columns:1fr 120px 110px;gap:8px;align-items:center;border:1px solid var(--border);border-radius:9px;padding:8px}.studio-metrics span{font-size:9px;font-weight:800}.studio-metrics meter{width:100%}.studio-metrics small{font-size:8px;color:#7b899a}.blocking-checks{display:flex;gap:8px;flex-wrap:wrap}.blocking-checks label{border:1px solid var(--border);border-radius:9px;padding:8px;font-size:9px}.release-decision{display:grid;gap:4px;padding:12px;border-radius:10px;background:#FFF0F2}.release-decision strong{font-size:18px;color:#CF4F5F}.release-decision span{font-size:9px;color:#60748a}
.governance-blueprint{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.governance-blueprint>div{border:1px solid var(--border);border-radius:10px;padding:9px;background:#fafbfc}.governance-blueprint small{font-size:8px;font-weight:900;color:#7a899b}.governance-blueprint strong{display:block;margin-top:4px;font-size:9px;color:#354b66}.governance-blueprint>span{color:#8c9caf}.governance-blueprint .bp-break{width:100%;font-size:9px;color:#CF4F5F;border-top:1px dashed var(--border);padding-top:8px;font-weight:900}
@media(max-width:760px){
 .eval-matrix-lab,.claim-source,.defense-switches,.privacy-fields,.release-fields,.slo-lab,.studio-metrics{grid-template-columns:1fr}
 .eval-matrix-summary,.slo-result{grid-column:auto}
 .golden-add,.risk-row-editor,.risk-table>div{grid-template-columns:1fr}
 .golden-cases>div{grid-template-columns:28px 1fr}.golden-cases p{grid-column:2}
 .studio-metrics label{grid-template-columns:1fr}
}

/* ===== v0.29 · Full AI Product Capstone ===== */
.product-flow-lab,.architecture-layer-lab,.backend-request-lab,.data-store-choice-lab,.model-routing-lab,.ingestion-pipeline-lab,.agent-workflow-lab,.async-queue-lab,.streaming-latency-lab,.environment-release-lab,.observability-trace-lab,.scaling-cost-lab,.production-security-lab,.product-capstone-studio{display:grid;gap:14px}
.product-flow-query{padding:10px;border-radius:10px;background:#EFF4FF;color:#355a8f;font-size:10px}.product-flow-steps{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.product-flow-steps button,.agent-prod-nodes button{border:1px solid var(--border);border-radius:10px;background:#fff;padding:8px;text-align:left;color:#405772;cursor:pointer}.product-flow-steps button.active,.agent-prod-nodes button.active{background:#EFF4FF;border-color:#96b6ef}.product-flow-steps span,.agent-prod-nodes span{width:21px;height:21px;border-radius:6px;background:#e9eef6;display:grid;place-items:center;font-size:8px}.product-flow-steps strong,.agent-prod-nodes strong{display:block;font-size:8px;margin-top:5px}.product-flow-sequence{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:9px;color:#60748a}.product-flow-sequence span{padding:6px 8px;border-radius:8px;background:#EFF4FF;color:#355a8f}.product-flow-sequence b{color:#8c9caf}
.backend-request-flow,.ingestion-flow,.environment-flow,.capstone-architecture{display:flex;align-items:center;gap:5px;overflow:auto}.backend-request-flow>div,.ingestion-flow>div,.environment-flow>div,.capstone-architecture>div{flex:0 0 95px;border:1px solid var(--border);border-radius:10px;padding:9px;background:#fafbfc;opacity:.4;text-align:center}.backend-request-flow>div.active,.ingestion-flow>div.active,.environment-flow>div.active{opacity:1;background:#EFF4FF;border-color:#98b7ec}.backend-request-flow span,.ingestion-flow span,.capstone-architecture span{width:20px;height:20px;border-radius:6px;background:#e9eef6;display:grid;place-items:center;margin:auto;font-size:8px}.backend-request-flow strong,.ingestion-flow strong,.environment-flow strong,.capstone-architecture strong{display:block;font-size:8px;margin-top:5px}.backend-request-flow>i,.ingestion-flow>i,.environment-flow>span,.capstone-architecture>i{font-style:normal;color:#8c9caf}.backend-request-note,.ingestion-note,.release-flow-note{font-size:10px;color:#60748a}
.routing-policies{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.routing-policies>div{border:1px solid var(--border);border-radius:10px;padding:10px;background:#fafbfc;opacity:.35}.routing-policies>div.active{opacity:1;background:#EFF4FF;border-color:#98b7ec}.routing-policies strong{display:block;font-size:9px}.routing-policies span{font-size:12px;font-weight:900;color:#2F6FED}.routing-policies small{display:block;font-size:8px;color:#7b899a}.routing-task select{border:1px solid var(--border);border-radius:9px;padding:9px;background:#fff}.routing-decision{font-size:10px;color:#60748a}
.agent-prod-nodes{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.agent-prod-state{font-size:9px;color:#60748a;padding:9px;border-radius:9px;background:#fafbfc}
.queue-add{display:grid;grid-template-columns:1fr auto;gap:8px}.queue-add select{border:1px solid var(--border);border-radius:9px;padding:9px;background:#fff}.queue-add button{border:0;border-radius:9px;background:#2F6FED;color:#fff;font-weight:900;padding:0 13px}.queue-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.queue-columns>div{border:1px solid var(--border);border-radius:11px;padding:9px;background:#fafbfc;min-height:110px}.queue-columns small{font-size:8px;font-weight:900;color:#7b899a}.queued-jobs,.running-jobs,.done-jobs{display:grid;gap:5px;margin-top:7px}.queued-jobs>div,.running-jobs>div,.done-jobs>div{border:1px solid var(--border);border-radius:8px;padding:7px;background:#fff}.queued-jobs strong,.running-jobs strong,.done-jobs strong{display:block;font-size:8px;color:#2F6FED}.queued-jobs small,.running-jobs small,.done-jobs small{font-size:8px}
.latency-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.latency-controls label,.scale-controls label{border:1px solid var(--border);border-radius:10px;padding:9px;font-size:9px;color:#566a82}.latency-controls input,.scale-controls input{width:100%;display:block;margin-top:6px}.latency-bar{height:38px;border-radius:9px;background:#edf1f5;overflow:hidden;display:flex}.latency-bar i{display:flex;align-items:center;justify-content:center;background:#dfe9fb;border-right:1px solid #fff;min-width:2px}.latency-bar i:nth-child(2){background:#cbdcf8}.latency-bar i:nth-child(3){background:#b7d0f5}.latency-bar i:nth-child(4){background:#9fc0f1}.latency-bar span{font-size:7px;font-style:normal;color:#274b7a}.latency-summary{font-size:10px;color:#60748a}
.environment-flow>div{opacity:.25}.environment-flow>div.active{opacity:1}.environment-flow small{font-size:8px;color:#7b899a}.environment-release-lab>button{width:max-content;display:inline-flex}
.trace-id{font-size:9px;color:#60748a}.trace-spans{display:grid;gap:5px}.trace-spans button{display:grid;grid-template-columns:130px 1fr 70px;gap:8px;align-items:center;border:1px solid var(--border);border-radius:9px;background:#fff;padding:8px;color:#405772;text-align:left}.trace-spans button.active{background:#EFF4FF;border-color:#9bb9ec}.trace-spans strong,.trace-spans span{font-size:9px}.trace-spans i{height:8px;border-radius:999px;background:#2F6FED;max-width:100%}.trace-inspector{display:grid;gap:4px;padding:10px;border-radius:10px;background:#fafbfc}.trace-inspector span,.trace-inspector small{font-size:9px;color:#60748a}
.scale-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.scale-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.scale-metrics>div{border:1px solid var(--border);border-radius:10px;padding:10px;background:#fafbfc}.scale-metrics small{font-size:8px;color:#7b899a}.scale-metrics strong{display:block;margin-top:5px;color:#2F6FED}.scale-actions{display:flex;gap:8px;flex-wrap:wrap}.scale-actions label{border:1px solid var(--border);border-radius:9px;padding:8px;font-size:9px}
.capstone-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.capstone-controls label{border:1px solid var(--border);border-radius:9px;padding:8px;font-size:9px;color:#50647a}.capstone-readiness{display:grid;gap:4px;padding:12px;border-radius:10px;background:#EFF4FF}.capstone-readiness strong{color:#2F6FED}.capstone-readiness span{font-size:9px;color:#60748a}
.product-blueprint{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.product-blueprint>div{border:1px solid var(--border);border-radius:10px;padding:9px;background:#fafbfc}.product-blueprint small{font-size:8px;font-weight:900;color:#7a899b}.product-blueprint strong{display:block;margin-top:4px;font-size:9px;color:#354b66}.product-blueprint>span{color:#8c9caf}.product-blueprint .bp-break{width:100%;font-size:9px;color:#2F6FED;border-top:1px dashed var(--border);padding-top:8px;font-weight:900}
@media(max-width:760px){
 .product-flow-steps,.routing-policies,.agent-prod-nodes,.queue-columns,.latency-controls,.scale-controls,.scale-metrics,.capstone-controls{grid-template-columns:1fr}
 .trace-spans button{grid-template-columns:1fr}
}

/* ===== v0.30 · Professional Project Track ===== */
.project-track-home{background:#f7f9fc}.project-home-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.project-home-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:9px}.project-home-num{width:38px;height:38px;border-radius:10px;background:#123F7A;color:#fff;display:grid;place-items:center;font-weight:900;font-size:10px}.project-home-card>small{font-size:8px;font-weight:900;color:#2F6FED}.project-home-card h3{margin:0;color:#17395f}.project-home-card p{font-size:10px!important;color:#60748a!important;flex:1}.project-home-card>strong{font-size:9px;line-height:1.5;color:#415b76;padding-top:10px;border-top:1px solid var(--border)}.project-track-cta{margin-top:14px;border-radius:15px;background:#123F7A;color:#fff;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:18px}.project-track-cta p{font-size:10px!important;color:#d9e4f3!important;margin:5px 0 0!important}
.curriculum-project-banner{margin:24px 0 0;border:1px solid #9db6d8;background:#eff4fb;border-radius:16px;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:20px}.curriculum-project-banner span{font-size:8px;font-weight:950;color:#2F6FED}.curriculum-project-banner h2{margin:5px 0}.curriculum-project-banner p{font-size:10px!important;color:#60748a!important;margin:0!important}
.stat-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important}.project-stat a{display:block;font-size:8px;margin-top:6px;color:#2F6FED}
.project-track-head{background:#123F7A;color:#fff}.project-track-head .page-kicker{color:#8fcbff}.project-track-head p{color:#d6e2f1}.project-track-progress{margin-top:20px;max-width:560px}.project-track-progress>div:first-child{display:flex;align-items:baseline;gap:12px}.project-track-progress strong{font-size:28px}.project-track-progress span{font-size:9px;color:#c8d8ea}.project-track-progress .progress-bar{background:#315a8c;margin-top:8px}.project-track-progress .progress-bar span{background:#fff}
.project-track-manifesto{border-left:4px solid #2F6FED;padding:15px 18px;background:#EFF4FF;border-radius:0 12px 12px 0}.project-track-manifesto strong{color:#17395f}.project-track-manifesto p{font-size:10px!important;margin:5px 0 0!important;color:#60748a!important}
.project-macro-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px}.project-macro-card{border:1px solid var(--border);border-radius:16px;padding:17px;background:#fff}.project-macro-top{display:flex;justify-content:space-between;align-items:center}.project-macro-top span{width:34px;height:34px;border-radius:9px;background:#123F7A;color:#fff;display:grid;place-items:center;font-size:9px;font-weight:900}.project-macro-top small{font-size:8px;color:#2F6FED;font-weight:900}.project-macro-card h2{font-size:17px;margin:12px 0 7px}.project-macro-card>p{font-size:10px!important;color:#60748a!important;min-height:70px}.project-macro-outcome{border-top:1px solid var(--border);padding-top:10px}.project-macro-outcome small{font-size:7px;font-weight:900;color:#7b899a}.project-macro-outcome strong{display:block;font-size:9px;line-height:1.5;color:#405772;margin-top:4px}.project-mini-progress{display:flex;gap:5px;margin-top:12px}.project-mini-progress i{width:22px;height:5px;border-radius:999px;background:#dfe5ec}.project-mini-progress i.done{background:#15966A}
.project-checkpoint-list{display:grid;gap:18px}.project-checkpoint-card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:20px}.project-checkpoint-card.done{border-color:#89cbb0;box-shadow:inset 4px 0 0 #15966A}.project-checkpoint-head{display:grid;grid-template-columns:52px 1fr auto;gap:14px;align-items:start}.project-checkpoint-index{width:52px;height:52px;border-radius:13px;background:#123F7A;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:900}.project-checkpoint-head small{font-size:8px;font-weight:900;color:#2F6FED}.project-checkpoint-head h2{margin:4px 0 7px}.project-checkpoint-head p{font-size:10px!important;color:#60748a!important;margin:0!important}.project-done-btn{border:1px solid #a8bad0;background:#fff;border-radius:10px;padding:9px 11px;font-size:9px;font-weight:850;color:#405772;cursor:pointer}.project-done-btn.done{background:#15966A;color:#fff;border-color:#15966A}.project-checkpoint-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:17px}.project-checkpoint-grid section{border:1px solid var(--border);border-radius:12px;padding:13px;background:#fafbfc}.project-checkpoint-grid h3{font-size:11px;margin:0 0 8px;color:#17395f}.project-checkpoint-grid ul{margin:0;padding-left:17px}.project-checkpoint-grid li{font-size:9px;line-height:1.55;color:#52687d;margin:4px 0}.project-portfolio-output{margin-top:12px;padding:12px;border-radius:11px;background:#F3EFFF}.project-portfolio-output span{font-size:7px;font-weight:900;color:#7657D8}.project-portfolio-output strong{display:block;font-size:9px;color:#55497d;margin-top:4px}.project-evidence{margin-top:12px}.project-evidence label{font-size:9px;font-weight:850;color:#52687d}.project-evidence textarea{display:block;width:100%;min-height:72px;margin-top:6px;border:1px solid var(--border);border-radius:10px;padding:10px;resize:vertical}.project-evidence>small{display:block;text-align:right;font-size:8px;color:#7b899a;margin-top:4px}.project-checkpoint-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px;flex-wrap:wrap}
.side-project .course-side-card-title{background:#123F7A!important}.project-side-body{display:grid;gap:7px}.project-side-body>small{font-size:7px;font-weight:900;color:#2F6FED}.project-side-body>strong{font-size:11px;color:#17395f}.project-side-body p{font-size:9px!important;color:#60748a!important;margin:0!important}.project-side-status{font-size:8px;padding:7px;border-radius:8px;background:#FFF5E8;color:#805d2d}.project-side-status.done{background:#EEF9F4;color:#3d6c5a}
.cost-guardrails-lab{display:grid;gap:14px}.cost-guardrail-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.cost-guardrail-controls label{border:1px solid var(--border);border-radius:10px;padding:9px;font-size:9px;color:#566a82}.cost-guardrail-controls input{width:100%;display:block;margin-top:6px}.cost-guardrail-optimizations{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.cost-guardrail-optimizations label,.guardrail-challenge-grid label{border:1px solid var(--border);border-radius:9px;padding:8px;font-size:9px;color:#50647a}.cost-guardrail-optimizations small{display:block;margin-left:18px;color:#7b899a}.cost-guardrail-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.cost-guardrail-metrics>div{border:1px solid var(--border);border-radius:10px;padding:10px;background:#fafbfc}.cost-guardrail-metrics small{font-size:7px;color:#7b899a}.cost-guardrail-metrics strong{display:block;margin-top:5px;color:#CF4F5F}.guardrail-challenge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.cost-guardrail-release{display:grid;gap:4px;padding:12px;border-radius:10px;background:#FFF0F2}.cost-guardrail-release strong{font-size:18px;color:#CF4F5F}.cost-guardrail-release span,.cost-guardrail-release small{font-size:9px;color:#60748a}
@media(max-width:900px){.project-home-grid,.project-macro-grid{grid-template-columns:repeat(2,1fr)}.cost-guardrail-controls,.cost-guardrail-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.project-home-grid,.project-macro-grid,.project-checkpoint-grid,.cost-guardrail-controls,.cost-guardrail-optimizations,.cost-guardrail-metrics,.guardrail-challenge-grid{grid-template-columns:1fr}.project-track-cta,.curriculum-project-banner{align-items:flex-start;flex-direction:column}.project-checkpoint-head{grid-template-columns:44px 1fr}.project-checkpoint-index{width:44px;height:44px}.project-done-btn{grid-column:1/-1;width:100%}}
#sync-status{position:fixed;bottom:12px;left:12px;z-index:9999;background:#102b4e;color:white;padding:10px 16px;border-radius:8px;max-width:calc(100vw - 24px);font-size:13px}#sync-status:empty{display:none}#auth-error{color:#b42318}

/* Home editoriale: fotografia, viola e sezioni aperte. Stili isolati dal corso. */
body.academy-home{background:#fff;color:#29272d;--home-purple:#a52cc4;--home-dark:#72258b;--home-lilac:#f7f2f9}
.academy-home .nav{position:absolute;inset:0 0 auto;background:transparent;border:0;backdrop-filter:none}
.academy-home .nav-inner{height:98px;width:calc(100% - 64px);max-width:1440px}
.academy-home .academy-brand strong,.academy-home .academy-brand strong b,.academy-home .academy-brand small,.academy-home .nav a{color:#fff}
.academy-home .academy-brand-mark{background:var(--home-purple);color:#fff;border:0;border-radius:50%}
.academy-home .nav-links{gap:22px}.academy-home .nav-links a{font-size:13px}.academy-home .nav-links .pill{border-color:#ffffff70}
.academy-home .nav .primary{background:var(--home-purple);border-radius:3px;box-shadow:none;color:#fff}
.academy-home .site-light{background:white;color:#29272d}
.academy-home .home-hero{position:relative;min-height:760px;min-height:94svh;padding:160px 0 65px;display:flex;align-items:center;isolation:isolate;background:#302733;overflow:hidden}
.academy-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 43%;z-index:-2}
.academy-home .home-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,16,28,.50),rgba(22,16,28,.53) 65%,rgba(22,16,28,.70));z-index:-1}
.academy-home .home-hero-grid{display:block;max-width:1060px;text-align:center}
.academy-home .home-hero-copy{max-width:960px;margin:auto}
.academy-home .home-overline{color:#edb0ff;font-size:16px;letter-spacing:.13em;font-weight:750;background:none;border:none;padding:0}
.academy-home .home-hero h1{font-size:clamp(38px,4.5vw,65px);font-weight:450;line-height:1.17;letter-spacing:-.025em;color:white;margin:25px 0}
.academy-home .home-hero h1 strong{font-weight:700}
.academy-home .home-hero p{color:#f4edf5;font-size:18px;line-height:1.75;max-width:760px;margin:0 auto}
.academy-home .cta-row{justify-content:center;margin:30px 0 36px;gap:14px}
.academy-home .btn{border-radius:3px;padding:14px 24px;box-shadow:none;font-weight:650;transition:background .15s,transform .15s}
.academy-home .btn-primary{background:var(--home-purple);color:#fff;border:1px solid var(--home-purple)}
.academy-home .btn-primary:hover{background:var(--home-dark);border-color:var(--home-dark)}
.academy-home .home-hero .btn-ghost{background:transparent;border:1px solid #ffffffa0;color:white}
.academy-home .home-hero .btn-ghost:hover{background:#ffffff20}
.academy-home .home-facts{display:flex;justify-content:center;flex-wrap:wrap;gap:0;margin:0;color:white;border:0}
.academy-home .home-facts span{border:0;border-right:1px solid #ffffff50;background:none;color:#eee4f0;border-radius:0;font-size:12px;padding:0 17px}
.academy-home .home-facts span:last-child{border:0}
.academy-home .section{padding:90px 0}
.academy-home .home-section{display:grid;grid-template-columns:1fr 1fr;position:relative;padding:0}
.academy-method-photo{background:url('assets/academy-method.webp') center center/cover;min-height:850px}
.academy-home .home-section>.container{width:auto;padding:70px 55px;min-width:0}
.academy-home .home-section-head{max-width:820px;margin:0 auto 45px;text-align:center}
.academy-home .home-section .home-section-head{text-align:left;margin-bottom:28px}
.academy-home .home-section-head>span,.academy-home .home-offer>div>span{color:var(--home-purple);font-size:12px;letter-spacing:.16em}
.academy-home .home-section-head h2{font-size:clamp(28px,3vw,42px);font-weight:600;line-height:1.25;letter-spacing:-.025em;color:#29272d;margin:14px 0 20px}
.academy-home .home-section .home-section-head h2{font-style:italic}
.academy-home .home-section-head p{font-size:16px;line-height:1.85;color:#68616d}
.academy-home .home-pattern-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.academy-home .home-pattern-card{padding:0;background:none;border:0;box-shadow:none;border-radius:0}
.academy-home .home-pattern-card i{width:24px;height:3px;border-radius:0;background:var(--home-purple)!important;margin:0 0 12px}
.academy-home .home-pattern-card strong{font-size:15px;color:#29272d}.academy-home .home-pattern-card p{color:#68616d;font-size:14px;line-height:1.65;margin-bottom:0}
.academy-home .ai-platform-strip{margin:32px 0 0;padding:24px 0 0;border:0;border-top:1px solid #e9e1ec;grid-template-columns:1fr 1fr;gap:22px;background:none;border-radius:0}
.academy-home .ai-platform-strip>div{padding:0;border:0;background:none}.academy-home .ai-platform-icon{background:#f4e6f9;color:var(--home-dark);border-radius:50%;width:30px;height:30px;font-size:12px}
.academy-home .ai-platform-strip strong{font-size:14px;color:#29272d}.academy-home .ai-platform-strip p{color:#68616d;font-size:13px;line-height:1.65}
.academy-home .section.alt{background:var(--home-lilac)}
.academy-home .home-module-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.academy-home .home-module-card{border:0;border-radius:0;box-shadow:none;background:#fff;display:flex;flex-direction:column}
.academy-home .home-module-top{border-top:3px solid var(--home-purple)!important;padding:24px 25px 10px;background:#fff;display:block}
.academy-home .home-module-top>span{background:none;color:var(--home-purple);border:0;font-size:32px;font-weight:350;display:block;width:auto;height:auto;margin-bottom:12px}
.academy-home .home-module-top h3{color:#302736;font-size:20px;line-height:1.4;margin:0}
.academy-home .home-module-content{padding:0 25px 25px;display:flex;flex:1;flex-direction:column;align-items:flex-start}
.academy-home .home-module-content p{font-size:14px;line-height:1.8;color:#6d6472;flex:1}
.academy-home .home-module-content small{color:#7a7080;margin-bottom:18px}
.academy-home .home-module-content .btn{padding:0;background:none;border:0;color:var(--home-dark);font-size:14px}.academy-home .home-module-content .btn:after{content:' →';margin-left:12px}
.academy-home .project-track-home{background:#fff;border:0}
.academy-home .project-home-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}
.academy-home .project-home-card{border:0;border-top:1px solid #ddcbe4;border-radius:0;padding:26px 0;background:none;box-shadow:none}
.academy-home .project-home-num{background:var(--home-purple);color:white;border-radius:50%}
.academy-home .project-home-card h3{font-size:24px;color:#302736}.academy-home .project-home-card p{color:#6d6472;line-height:1.8}.academy-home .project-home-card>strong{background:var(--home-lilac);border:0;border-left:3px solid var(--home-purple);border-radius:0;color:var(--home-dark)}
.academy-home .project-track-cta{border:0;border-radius:0;background:var(--home-lilac);padding:30px;margin-top:30px}
.academy-home .home-offer{background:#782795;color:#fff;border:0;border-radius:0;padding:50px 60px;box-shadow:none}
.academy-home .home-offer>div>span{color:#ecd1f3}.academy-home .home-offer h2{color:white;font-size:60px;font-weight:400;margin:12px 0}.academy-home .home-offer p{color:#eddbf2;max-width:680px}
.academy-home .home-offer .btn-primary{background:white;border-color:white;color:#72258b;white-space:nowrap}
.academy-home .footer{background:#252028;color:white;padding:45px 0}.academy-home .footer small{color:#d1c4d7}
.academy-home :is(a,button):focus-visible{outline:3px solid #db91f3;outline-offset:5px}
@media(min-width:1600px){.academy-home .home-hero{min-height:850px}}
@media(max-width:1050px){.academy-home .home-section>.container{padding:50px 30px}.academy-home .home-section{grid-template-columns:42% 58%}.academy-home .home-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.academy-home .nav-inner{width:calc(100% - 36px)}.academy-home .nav-links{gap:12px}}
@media(max-width:700px){.academy-home .home-hero{min-height:760px;padding:135px 0 55px}.academy-home .nav-inner{height:80px;width:calc(100% - 28px)}.academy-home .nav .primary{font-size:12px;padding:10px}.academy-home .academy-brand strong{font-size:15px}.academy-home .academy-brand small{font-size:9px}.academy-home .nav-links{gap:8px}.academy-home .nav-links .pill{padding:8px;font-size:12px}.academy-home .home-overline{font-size:11px}.academy-home .home-hero h1{font-size:38px}.academy-home .home-hero p{font-size:16px}.academy-home .home-facts{row-gap:14px}.academy-home .home-facts span{font-size:11px;padding:0 10px}.academy-home .section{padding:55px 0}.academy-home .home-section{display:block;padding:0}.academy-method-photo{min-height:300px;background-position:center 45%}.academy-home .home-section>.container{padding:40px 24px}.academy-home .home-module-grid,.academy-home .project-home-grid{grid-template-columns:1fr}.academy-home .home-offer{padding:30px;display:block}.academy-home .home-offer .btn{margin-top:20px}.academy-home .project-track-cta{display:flex;flex-direction:column;align-items:flex-start;gap:20px}.academy-home .home-section-head{padding:0 10px}.academy-home .home-section .home-section-head{padding:0}.academy-home .home-hero .cta-row .btn{padding:13px 18px}}
@media(prefers-reduced-motion:reduce){.academy-home *{scroll-behavior:auto;transition:none}}
.academy-home .btn-primary,.academy-home .nav .primary{background:var(--home-purple)!important;color:white!important}
.academy-home .btn-primary:hover,.academy-home .nav .primary:hover{background:var(--home-dark)!important}
.academy-home .home-offer .btn-primary{background:white!important;color:var(--home-dark)!important}
.academy-home .nav .pill{background:transparent;color:white}

/* Palette studio: verde lime luminoso e verde bosco per il contrasto. */
body.academy-home{--home-purple:#65df88;--home-dark:#214e32;--home-lilac:#f0f9f3;color:#24372a}
.academy-home .academy-brand-mark{background:#65df88;color:#173b26}
.academy-home .home-overline{color:#a9f5bd}
.academy-home .btn-primary,.academy-home .nav .primary{background:#65df88!important;color:#173b26!important;border-color:#65df88}
.academy-home .btn-primary:hover,.academy-home .nav .primary:hover{background:#87eda4!important;color:#173b26!important;border-color:#87eda4}
.academy-home .home-hero::before{background:linear-gradient(180deg,rgba(13,30,20,.53),rgba(13,30,20,.54) 65%,rgba(13,30,20,.74))}
.academy-home .home-hero p{color:#f2f8ee}.academy-home .home-facts span{color:#e9f7ee}
.academy-home .home-section-head>span,.academy-home .home-module-top>span{color:#287347}
.academy-home .home-section-head h2,.academy-home .home-pattern-card strong,.academy-home .ai-platform-strip strong,.academy-home .home-module-top h3,.academy-home .project-home-card h3{color:#24372a}
.academy-home .home-section-head p,.academy-home .home-pattern-card p,.academy-home .ai-platform-strip p,.academy-home .home-module-content p,.academy-home .project-home-card p{color:#59675b}
.academy-home .ai-platform-strip{border-top-color:#d5e9dc}.academy-home .ai-platform-icon{background:#dff5e6;color:#214e32}
.academy-home .home-module-content small{color:#5c7465}.academy-home .project-home-card{border-top-color:#c9e6d2}
.academy-home .project-home-num{background:#65df88;color:#173b26}
.academy-home .home-offer{background:#244e34;color:white}.academy-home .home-offer>div>span{color:#b2efc3}.academy-home .home-offer p{color:#dcefe3}
.academy-home .home-offer .btn-primary{background:#65df88!important;color:#173b26!important;border-color:#65df88}
.academy-home .footer{background:#182a20}.academy-home .footer small{color:#c4dccc}
.academy-home :is(a,button):focus-visible{outline-color:#65df88}


/* Entrate progressive attivate solo quando JavaScript è disponibile. */
.academy-home .entrance-ready{opacity:0;transform:translateY(24px);transition:opacity 650ms ease,transform 650ms cubic-bezier(.22,.61,.36,1);transition-delay:var(--entrance-delay,0ms)}
.academy-home .entrance-ready.entrance-visible,.academy-home .entrance-ready:focus-within{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.academy-home .entrance-ready{opacity:1;transform:none;transition:none}}
@media print{.academy-home .entrance-ready{opacity:1;transform:none;transition:none}}

/* Competenze e prospettive professionali. */
.academy-home .career-section{background:#f0f9f3}
.academy-home .career-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:start}
.academy-home .career-label{font-size:11px;letter-spacing:.14em;font-weight:750;color:#287347}
.academy-home .career-grid h3{font-size:28px;line-height:1.3;letter-spacing:-.025em;color:#24372a;margin:14px 0 25px}
.academy-home .career-skills{list-style:none;padding:0;margin:0}
.academy-home .career-skills>li{display:flex;align-items:flex-start;gap:18px;padding:22px 0;border-bottom:1px solid #d5e9dc}
.academy-home .career-skills>li:first-child{padding-top:0}
.academy-home .career-skills>li>span{flex:0 0 36px;width:36px;height:36px;display:grid;place-items:center;background:#dff5e6;color:#214e32;border-radius:50%;font-size:12px;font-weight:750}
.academy-home .career-grid h4{font-size:17px;line-height:1.4;margin:0 0 8px;color:#24372a}
.academy-home .career-grid p{font-size:15px;line-height:1.8;color:#59675b;margin:0}
.academy-home .career-path{background:white;border-top:4px solid #65df88;padding:32px}
.academy-home .career-roles{margin:25px 0;padding:22px 0;border-block:1px solid #d5e9dc}
.academy-home .career-roles ul{padding-left:20px;margin:14px 0 0;display:grid;gap:10px;font-size:14px;color:#395642;line-height:1.6}
.academy-home .career-roles li::marker{color:#287347}
.academy-home .career-path .career-note{font-size:13px;line-height:1.8}
.academy-home .career-path .btn{margin-top:25px}
.academy-home .career-footnote{margin-top:40px;padding:22px 26px;border-left:3px solid #65df88;background:#e5f3e9;color:#395642}
.academy-home .career-footnote strong{font-size:14px}.academy-home .career-footnote p{font-size:13px;line-height:1.8;margin:6px 0 0}
@media(max-width:800px){.academy-home .career-grid{grid-template-columns:1fr;gap:32px}.academy-home .career-path{padding:25px}.academy-home .career-grid h3{font-size:25px}.academy-home .career-skills>li{gap:12px}}

/* Competenze: stessi blocchi aperti della home, accenti per area. */
.academy-home .career-section{background:#fff}
.academy-home .career-section .home-section-head>span{color:#087daa}
.academy-home .career-grid{gap:60px}
.academy-home .career-outcomes{border-top:3px solid #13b5ed;padding-top:28px}
.academy-home .career-outcomes>.career-label{color:#087daa}
.academy-home .career-path{background:none;border-top:3px solid #f59b36;padding:28px 0 0}
.academy-home .career-path>.career-label{color:#a85512}
.academy-home .career-skills>li{border-bottom-color:#e4e9ec}
.academy-home .career-skills>li:nth-child(1)>span,.academy-home .career-skills>li:nth-child(4)>span{background:#e2f5fe;color:#076b94}
.academy-home .career-skills>li:nth-child(2)>span{background:#fff0dd;color:#9c4c0a}
.academy-home .career-roles{border-color:#ece7e0}
.academy-home .career-roles li::marker{color:#db7b1b}
.academy-home .career-footnote{background:#f7f9fa;border-left-color:#13b5ed}
.academy-home .career-path .btn-primary{background:#ffc078!important;color:#542b09!important;border-color:#ffc078}
.academy-home .career-path .btn-primary:hover{background:#ffcd93!important;border-color:#ffcd93}
.academy-home .home-pattern-card:nth-child(2) i{background:#13b5ed!important}
.academy-home .home-pattern-card:nth-child(4) i{background:#f59b36!important}
.academy-home .ai-platform-strip>div:nth-child(2) .ai-platform-icon{background:#e2f5fe;color:#076b94}
.academy-home .ai-platform-strip>div:nth-child(3) .ai-platform-icon{background:#fff0dd;color:#9c4c0a}
.academy-home .project-home-card:nth-child(2){border-top-color:#13b5ed}
.academy-home .project-home-card:nth-child(2) .project-home-num{background:#13b5ed;color:#08394d}
.academy-home .project-home-card:nth-child(2)>strong{background:#edf8fd;border-left-color:#13b5ed;color:#175670}
.academy-home .project-home-card:nth-child(3){border-top-color:#f59b36}
.academy-home .project-home-card:nth-child(3) .project-home-num{background:#ffc078;color:#542b09}
.academy-home .project-home-card:nth-child(3)>strong{background:#fff5e9;border-left-color:#f59b36;color:#764415}
@media(max-width:800px){.academy-home .career-grid{gap:36px}.academy-home .career-path{padding:26px 0 0}}

/* Due fasce orizzontali successive: competenze, poi portfolio e colloqui. */
.academy-home .career-grid{display:flex;flex-direction:column;gap:64px}
.academy-home .career-outcomes,.academy-home .career-path{width:100%;min-width:0}
.academy-home .career-skills{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.academy-home .career-skills>li,.academy-home .career-skills>li:first-child{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;min-height:390px;padding:24px 20px;overflow:hidden;border:0;border-top:4px solid #13b5ed;background:#152c35}
.academy-home .career-skills>li::before{content:'';position:absolute;inset:0;z-index:-2;background-image:url('assets/career-backgrounds.webp');background-size:200% 200%;background-repeat:no-repeat}
.academy-home .career-skills>li::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,20,28,.08),rgba(8,20,28,.82) 42%,rgba(8,20,28,.96))}
.academy-home .career-skills>li:nth-child(1)::before{background-position:left top}
.academy-home .career-skills>li:nth-child(2)::before{background-position:right top}
.academy-home .career-skills>li:nth-child(3)::before{background-position:left bottom}
.academy-home .career-skills>li:nth-child(4)::before{background-position:right bottom}
.academy-home .career-skills>li:nth-child(2){border-top-color:#f59b36}
.academy-home .career-skills>li:nth-child(3){border-top-color:#65df88}
.academy-home .career-skills>li>span{flex:0 0 36px}
.academy-home .career-skills h4{color:white;font-size:19px;line-height:1.35;margin-bottom:14px}
.academy-home .career-skills p{color:#edf3f5;font-size:14px;line-height:1.75}
.academy-home .career-path{display:grid;grid-template-columns:1fr 1fr;column-gap:60px;align-items:start;padding-top:35px}
.academy-home .career-path>.career-label,.academy-home .career-path>h3{grid-column:1/-1}
.academy-home .career-path>h3{max-width:850px;font-size:36px;margin-bottom:30px}
.academy-home .career-path>p:not(.career-note){grid-column:1;grid-row:3;font-size:17px}
.academy-home .career-path>.career-roles{grid-column:2;grid-row:3/6;margin:0;padding:0 0 0 30px;border:0;border-left:3px solid #f59b36}
.academy-home .career-path>.career-note{grid-column:1;margin-top:18px}
.academy-home .career-path>.btn{grid-column:1;justify-self:start}
@media(max-width:1100px){.academy-home .career-skills{grid-template-columns:repeat(2,minmax(0,1fr))}.academy-home .career-skills>li{min-height:360px}}
@media(max-width:700px){.academy-home .career-skills{grid-template-columns:1fr}.academy-home .career-skills>li{min-height:340px}.academy-home .career-path{display:block}.academy-home .career-path>h3{font-size:28px}.academy-home .career-path>.career-roles{margin:25px 0;padding-left:20px}.academy-home .career-grid{gap:42px}}

/* Card competenze in formato orizzontale, fotografie più leggere. */
.academy-home .career-skills{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.academy-home .career-skills>li,.academy-home .career-skills>li:first-child{min-height:250px;flex-direction:row;align-items:flex-start;justify-content:flex-start;gap:18px;padding:30px;background:#f7fafb}
.academy-home .career-skills>li::after{background:linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.89) 55%,rgba(255,255,255,.55))}
.academy-home .career-skills>li>div{max-width:390px;min-width:0}
.academy-home .career-skills h4{color:#203b30;font-size:21px;line-height:1.35}
.academy-home .career-skills p{color:#354b44;font-size:15px;line-height:1.75}
@media(max-width:700px){.academy-home .career-skills{grid-template-columns:1fr}.academy-home .career-skills>li,.academy-home .career-skills>li:first-child{min-height:230px;padding:24px 20px;gap:12px}.academy-home .career-skills h4{font-size:19px}}

/* Competenze: verde della palette al posto degli accenti celesti. */
.academy-home .career-section .home-section-head>span,.academy-home .career-outcomes>.career-label{color:#287347}
.academy-home .career-outcomes{border-top-color:#65df88}
.academy-home .career-skills>li:nth-child(1),.academy-home .career-skills>li:nth-child(4){border-top-color:#65df88}
.academy-home .career-skills>li:nth-child(1)>span,.academy-home .career-skills>li:nth-child(4)>span{background:#dff5e6;color:#214e32}
.academy-home .career-footnote{border-left-color:#65df88}

/* Un accento delicato e distinto per ogni competenza. */
.academy-home .career-skills>li:nth-child(1){border-top-color:#92dfac}
.academy-home .career-skills>li:nth-child(1)>span{background:#e2f5e8;color:#286340}
.academy-home .career-skills>li:nth-child(2){border-top-color:#f3bf86}
.academy-home .career-skills>li:nth-child(2)>span{background:#fff0df;color:#935a22}
.academy-home .career-skills>li:nth-child(3){border-top-color:#8dd3eb}
.academy-home .career-skills>li:nth-child(3)>span{background:#e4f4fc;color:#24647d}
.academy-home .career-skills>li:nth-child(4){border-top-color:#cbb3e9}
.academy-home .career-skills>li:nth-child(4)>span{background:#f0e9fa;color:#69508e}

/* Sezione professionale fluida, allineata alle fasce a tutta larghezza. */
.academy-home .career-section>.container{width:100%;max-width:none;padding-inline:clamp(22px,4vw,80px)}
.academy-home .career-section .home-section-head{max-width:none;width:100%;padding:0}
.academy-home .career-section .home-section-head h2{max-width:none}
.academy-home .career-section .home-section-head p{max-width:1050px;margin-inline:auto}
.academy-home .career-grid{width:100%}
.academy-home .career-skills>li>div{max-width:none;flex:1}
.academy-home .career-path>h3{max-width:none}
@media(min-width:1400px){.academy-home .career-skills>li,.academy-home .career-skills>li:first-child{padding:36px;min-height:260px}.academy-home .career-skills p{max-width:60ch}}
@media(max-width:700px){.academy-home .career-section>.container{padding-inline:20px}}

/* Illustrazioni concettuali: documenti, integrazioni, valutazione, architettura. */
.academy-home .career-skills>li::before{background-image:url('assets/career-concepts.webp')}
.academy-home .career-skills>li::after{background:linear-gradient(90deg,rgba(255,255,255,.92),rgba(255,255,255,.82) 48%,rgba(255,255,255,.12))}
.academy-home .career-skills>li>div{max-width:68%}
@media(max-width:700px){.academy-home .career-skills>li>div{max-width:none}.academy-home .career-skills>li::after{background:rgba(255,255,255,.83)}}

/* Sfondo più soffuso per dare priorità ai testi delle competenze. */
.academy-home .career-skills>li::before{filter:blur(5px);transform:scale(1.035);opacity:.68}
.academy-home .career-skills>li::after{background:linear-gradient(90deg,rgba(255,255,255,.98),rgba(255,255,255,.94) 62%,rgba(255,255,255,.48))}
@media(max-width:700px){.academy-home .career-skills>li::after{background:rgba(255,255,255,.93)}}

/* Project Track: fasce fluide e card editoriali leggibili. */
.academy-home .project-track-home{background:#f7faf8}
.academy-home .project-track-home>.container{width:100%;max-width:none;padding-inline:clamp(22px,4vw,80px)}
.academy-home .project-track-home .home-section-head{max-width:1050px;margin-bottom:48px}
.academy-home .project-track-home .home-section-head p{font-size:18px;line-height:1.8}
.academy-home .project-home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.academy-home .project-home-card{--project-accent:#92dfac;--project-soft:#edf8f0;--project-ink:#286340;padding:30px;gap:22px;background:white;border:0;border-top:4px solid var(--project-accent);border-radius:0;box-shadow:none}
.academy-home .project-home-card:nth-child(2){--project-accent:#f3bf86;--project-soft:#fff5e9;--project-ink:#935a22;border-top-color:var(--project-accent)}
.academy-home .project-home-card:nth-child(3){--project-accent:#8dd3eb;--project-soft:#edf8fd;--project-ink:#24647d;border-top-color:var(--project-accent)}
.academy-home .project-home-card:nth-child(4){--project-accent:#cbb3e9;--project-soft:#f5f0fb;--project-ink:#69508e;border-top-color:var(--project-accent)}
.academy-home .project-home-heading{display:flex;align-items:flex-start;gap:18px}
.academy-home .project-home-heading>div{min-width:0}
.academy-home .project-home-card .project-home-num{flex:0 0 42px;width:42px;height:42px;font-size:14px;font-weight:750;border-radius:50%;background:var(--project-soft);color:var(--project-ink)}
.academy-home .project-home-heading small{display:block;font-size:13px;line-height:1.5;font-weight:750;letter-spacing:.06em;color:var(--project-ink);margin-bottom:8px}
.academy-home .project-home-card h3{font-size:clamp(23px,2vw,30px);line-height:1.3;letter-spacing:-.02em;margin:0;color:#24372a}
.academy-home .project-home-card p{font-size:17px!important;line-height:1.8;color:#485b51!important;margin:0;flex:initial}
.academy-home .project-home-card>p{flex:1}
.academy-home .project-home-result{background:var(--project-soft);border-left:3px solid var(--project-accent);padding:20px 22px}
.academy-home .project-home-result>span{display:block;font-size:12px;letter-spacing:.09em;font-weight:750;color:var(--project-ink);margin-bottom:10px}
.academy-home .project-home-result p{font-size:16px!important;line-height:1.75}
.academy-home .project-track-cta{margin-top:32px;padding:32px;background:#eaf5ed;border-left:3px solid #65df88;color:#24372a;gap:32px}
.academy-home .project-track-cta strong{font-size:23px;line-height:1.4}
.academy-home .project-track-cta p{font-size:17px!important;line-height:1.8;color:#485b51!important;margin-top:10px!important;max-width:850px}
.academy-home .project-track-cta .btn{font-size:16px;flex-shrink:0}
@media(max-width:800px){.academy-home .project-home-grid{grid-template-columns:1fr}.academy-home .project-home-card{padding:24px;gap:20px}.academy-home .project-track-cta{flex-direction:column;align-items:flex-start;padding:25px}.academy-home .project-track-home>.container{padding-inline:20px}.academy-home .project-home-card h3{font-size:24px}.academy-home .project-home-heading{gap:12px}}
.academy-home .project-home-card:nth-child(n) .project-home-num{background:var(--project-soft);color:var(--project-ink)}

/* Palette condivisa in tutta la Academy; i colori didattici restano semantici. */
:root{--brand:#65df88;--brand-dark:#214e32;--institutional:#245a3b;--institutional-dark:#183e29;--blue:#287347;--cyan:#65df88;--navy:#183e29;--navy2:#245a3b;--ink:#24372a;--muted:#627469;--border:#dce8df;--bg:#f5f9f6}
body:not(.academy-home) .nav .primary,body:not(.academy-home) .btn-primary{background:#65df88!important;color:#173b26!important}
body:not(.academy-home) .btn-primary:hover,body:not(.academy-home) .nav .primary:hover{background:#87eda4!important}
body:not(.academy-home) .nav a,body:not(.academy-home) .nav .pill,body:not(.academy-home) .btn-ghost{color:#214e32}
body:not(.academy-home) .academy-brand-mark{background:#65df88;color:#173b26}
body:not(.academy-home) :is(.page-head,.auth-wrap){background:#f0f8f2}
body:not(.academy-home) :is(.page-head h1,.auth-card h2,.glossary-card h3){color:#214e32}
body:not(.academy-home) :is(.tag,.chip.active,.glossary-pill,.num){background:#e3f5e8;color:#245a3b;border-color:#c9e6d2}
body:not(.academy-home) :is(.progress-bar,.lesson-progress,.quiz-meter){background:#e4eee7}
body:not(.academy-home) :is(.progress-bar,.lesson-progress,.quiz-meter)>span{background:#45bd6b}
body:not(.academy-home) .course-sidebar{background:#214e32}
body:not(.academy-home) .course-side-brand b{color:#8beaa5}
body:not(.academy-home) :is(.course-side-brand small,.course-side-intro p){color:#d6eddd}
body:not(.academy-home) .course-lesson-link.active{background:#e4f6e9;border-color:#9cdcaf}
body:not(.academy-home) :is(.institutional-head,.course-head){background:#f0f8f2;color:#214e32}
body:not(.academy-home) :is(.project-track-head,.curriculum-project-banner,.project-track-cta){background:#245a3b;color:white}
body:not(.academy-home) .project-track-head h1{color:white}
body:not(.academy-home) .project-checkpoint-index{background:#245a3b}
body:not(.academy-home) .project-done-btn.done{background:#65df88;color:#173b26}
body:not(.academy-home) .footer{background:#182a20}body:not(.academy-home) .footer small{color:#c4dccc}
body:not(.academy-home) :is(input,textarea,button,a):focus-visible{outline:3px solid #45bd6b;outline-offset:3px}
#sync-status{background:#214e32}
.student-dashboard{background:#f5f9f6;padding:48px 0 70px}
.student-dashboard>.container{width:100%;max-width:1500px;padding-inline:clamp(20px,4vw,65px)}
.student-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:32px}
.student-heading h1{font-size:clamp(32px,3vw,46px);letter-spacing:-.03em;margin:10px 0}.student-heading p{color:#627469;font-size:17px;margin:0}
.student-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:28px}
.student-stats>div{padding:24px;background:white;border:1px solid #dce8df;border-radius:14px}
.student-stats>div>span{font-size:14px;color:#50685a}.student-stats strong{display:block;font-size:38px;line-height:1.4;color:#214e32;margin-top:10px}.student-stats strong small{font-size:17px;font-weight:500}.student-stats p{margin:4px 0 0;font-size:14px;color:#627469}
.student-focus{display:grid;grid-template-columns:1.45fr 1fr;gap:24px;margin-bottom:45px}
.student-resume,.student-project{padding:32px;border-radius:16px;border:1px solid #dce8df;min-width:0}
.student-resume{background:#e6f6e9;border-top:4px solid #65df88}.student-project{background:white}
.student-focus h2{font-size:28px;line-height:1.3;letter-spacing:-.02em;margin:14px 0;color:#214e32}
.student-focus p{font-size:16px;line-height:1.75;color:#50685a}.student-resume .progress-bar{margin:24px 0;height:8px}
.student-shortcuts{display:flex;gap:24px;border-top:1px solid #dce8df;padding-top:20px;margin-top:24px;font-size:15px;color:#287347;font-weight:650}
.student-section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.student-section-heading h2{font-size:28px;margin:10px 0 0}.student-section-heading>a{font-size:15px;color:#287347;font-weight:650}
.student-modules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.student-module{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;gap:15px;align-items:center;padding:22px;background:white;border:1px solid #dce8df;border-radius:12px;transition:border-color .2s,box-shadow .2s}
.student-module:hover{border-color:#65bd81;box-shadow:0 5px 18px #214e3210}.student-module-number{width:40px;height:40px;display:grid;place-items:center;background:#edf6ef;color:#287347;border-radius:50%;font-weight:750;font-size:14px}
.student-module small{font-size:12px;color:#627469}.student-module h3{font-size:17px;line-height:1.4;margin:7px 0 12px;color:#24372a}.student-module .progress-bar{height:5px}.student-module-percent{font-size:13px;color:#287347;text-align:right;font-weight:750}.student-module.is-complete .student-module-number{background:#65df88}
.student-library{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px;align-items:start}
.student-library details{background:white;border:1px solid #dce8df;border-radius:12px;padding:24px}.student-library summary{font-size:19px;font-weight:700;cursor:pointer}.student-library summary>span{font-size:14px;color:#287347;margin-left:8px}
.dash-saved-list{padding:0;margin:20px 0 0;list-style:none}.dash-saved-list a{display:grid;grid-template-columns:1fr auto;gap:6px;padding:15px 0;border-top:1px solid #e4eee7}.dash-saved-list small{grid-column:1;color:#627469}.dash-saved-list strong{font-size:15px;line-height:1.5}.dash-saved-list span{grid-column:2;grid-row:1/3;align-self:center;color:#287347}.dash-empty{font-size:15px;line-height:1.7;color:#627469}
@media(max-width:900px){.student-focus{grid-template-columns:1fr}.student-modules{grid-template-columns:1fr}.student-resume,.student-project{padding:25px}}
@media(max-width:600px){.student-heading,.student-section-heading{align-items:flex-start;flex-direction:column}.student-stats{grid-template-columns:1fr;gap:12px}.student-stats>div{padding:18px}.student-library{grid-template-columns:1fr}.student-dashboard{padding-top:30px}.student-module{padding:18px;gap:10px}.student-focus h2{font-size:25px}}
body:not(.academy-home) .ai-tutor-card .course-side-card-title,body:not(.academy-home) .side-project .course-side-card-title{background:#245a3b!important}
body:not(.academy-home) .side-cyan .course-side-card-title{color:#173b26}
body:not(.academy-home) .tutor-ai{background:#edf7f0;color:#345a42}
body:not(.academy-home) .tutor-user{background:#245a3b}
body:not(.academy-home) .tutor-input button{background:#65df88;color:#173b26}
body:not(.academy-home) .project-track-manifesto{background:#edf7f0;border-left-color:#65df88;color:#214e32}
body:not(.academy-home) .project-macro-top>span{background:#245a3b}
body:not(.academy-home) :is(.project-macro-top small,.project-checkpoint-head small,.project-side-body>small){color:#287347}
body:not(.academy-home) .project-track-head>div>span,body:not(.academy-home) .project-track-head .page-kicker{color:#b6efc6}
body:not(.academy-home) .page-kicker{color:#287347}
body:not(.academy-home) .project-track-head .page-kicker{color:#b6efc6}

/* Registrazione gratuita e scelta del percorso nell'area riservata. */
.academy-home .home-offer h2{font-size:clamp(30px,3.2vw,46px);line-height:1.2;max-width:760px}
.auth-switch{font-size:14px;text-align:center;margin-top:22px}.auth-switch a{color:#287347;font-weight:750;text-decoration:underline}
.student-access{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#e8f6ed;border-left:4px solid #65df88;padding:24px;margin:0 0 36px;border-radius:8px}
.student-access strong{color:#214e32;font-size:18px}.student-access p{color:#50685a;line-height:1.7;font-size:15px;margin:8px 0 0}.student-access .btn{flex-shrink:0}
.enrollment-page{background:#f5f9f6;min-height:80vh;padding:54px 0 70px}.enrollment-page>.container{max-width:1100px}
.enrollment-page .home-section-head{text-align:center;max-width:850px;margin:0 auto 30px}.enrollment-page .home-section-head>span{color:#287347;font-size:12px;font-weight:750;letter-spacing:.1em}
.enrollment-page h1{font-size:clamp(32px,4vw,46px);letter-spacing:-.03em;margin:14px 0}.enrollment-page .home-section-head p{font-size:18px;line-height:1.7;color:#627469}
.enrollment-notice{padding:16px 20px;margin-bottom:20px;background:#fff6e8;border:1px solid #ead4b4;border-radius:10px;color:#76521f;font-size:15px;line-height:1.7}.enrollment-notice[hidden]{display:none}
.enrollment-options{display:grid;grid-template-columns:1fr 1fr;gap:25px}.enrollment-card{display:flex;flex-direction:column;align-items:flex-start;background:white;border:1px solid #dce8df;border-radius:16px;padding:32px}
.enrollment-card h2{font-size:28px;line-height:1.3;margin:20px 0 6px;color:#214e32}.enrollment-card p{font-size:16px;line-height:1.7;color:#627469}
.enrollment-price{font-size:48px;font-weight:750;color:#214e32;margin:15px 0 25px;line-height:1.2}.enrollment-price small{display:block;font-size:14px;font-weight:500;color:#627469;margin-top:8px}
.enrollment-card label{font-size:14px;font-weight:700;margin-bottom:10px}.enrollment-card select{width:100%;padding:12px;border:1px solid #cadfd1;border-radius:8px;background:white;font:inherit;font-size:14px;color:#214e32;min-width:0}
.enrollment-card ul{padding-left:22px;color:#50685a;line-height:1.8;font-size:16px;flex:1;margin:24px 0}.enrollment-card li{margin-bottom:8px}.enrollment-card .btn{margin-top:auto}.enrollment-bundle{background:#edf8f0;border-top:4px solid #65df88}
.enrollment-card .bundle-saving{font-size:14px;background:#dff2e5;color:#245a3b;padding:14px;border-radius:8px;margin-bottom:22px}.enrollment-footer{color:#627469;font-size:14px;line-height:1.8;margin:28px 0;max-width:850px}
.module-access-label{font-size:13px;color:#287347;font-weight:700;margin-top:12px}.locked-checkpoint{padding:28px;border:1px solid #dce8df;border-radius:12px;background:#f5f9f6}.locked-checkpoint h3{font-size:22px}.locked-checkpoint p{font-size:16px;line-height:1.7;color:#627469}
@media(max-width:700px){.enrollment-options{grid-template-columns:1fr}.enrollment-card{padding:25px}.student-access{flex-direction:column;align-items:flex-start}.enrollment-page{padding-top:35px}.nav .primary{white-space:normal;text-align:center}}

/* Student workspace: clear hierarchy, calm surfaces and accessible controls. */
.student-dashboard{background:#f4f7f5;padding-top:44px}.student-dashboard>.container{max-width:1440px}.student-heading h1{letter-spacing:-.045em;font-size:clamp(32px,4vw,48px)}
.student-stats>div{background:#fff;border:1px solid #dfe8e2;border-radius:18px;border-top:3px solid #65df88;padding:24px}.student-stats>div:nth-child(2){border-top-color:#f4b77e}.student-stats>div:nth-child(3){border-top-color:#82cbe9}.student-stats strong{font-size:36px}.student-stats p{font-size:14px}
body:not(.academy-home) .student-resume{background:#183f30;color:white;border-radius:24px;padding:36px;border:0;box-shadow:0 12px 35px #183f3010}.student-resume h2{color:#fff;font-size:clamp(26px,3vw,36px);line-height:1.2;letter-spacing:-.025em}.student-resume p{color:#d3e5da;font-size:16px;line-height:1.7}.student-resume .page-kicker{color:#85e7a3}.student-resume .progress-bar{background:#ffffff26}.student-resume .btn{margin-top:18px}
.student-project{background:#fff8ee;border:1px solid #eee1ce;border-radius:24px;padding:32px}.student-project h2{font-size:27px;line-height:1.25}.student-project p{font-size:16px;line-height:1.7}.student-shortcuts{gap:20px}.student-access{border:1px solid #dce8df;border-radius:16px;background:#edf5ef}
.module-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0}.module-filters{display:flex;gap:6px;flex-wrap:wrap;background:#e7eee9;padding:5px;border-radius:12px}.module-filters button{border:0;background:transparent;color:#50665a;padding:12px 17px;border-radius:9px;font:inherit;font-size:14px;font-weight:650;cursor:pointer}.module-filters button[aria-pressed=true]{background:#fff;color:#214e32;box-shadow:0 2px 6px #183f3012}.module-search{font-size:12px;font-weight:650;color:#52695c;display:grid;gap:5px}.module-search input{font:inherit;font-size:15px;background:white;border:1px solid #d6e2d9;padding:12px 16px;border-radius:10px;min-width:260px}.module-empty{padding:30px;background:white;border-radius:16px;color:#52695c}.module-empty[hidden],.student-module[hidden]{display:none!important}
.student-modules{gap:16px}.student-module{background:white;border:1px solid #dce6df;border-radius:16px;padding:24px;transition:box-shadow .2s,border-color .2s}.student-module:hover{border-color:#54b979;box-shadow:0 8px 24px #183f300a}.student-module h3{font-size:19px;line-height:1.4}.student-module small{font-size:13px}.student-module-number{background:#e5f6eb;color:#245a3b;border-radius:12px}.student-module[data-access=false]{background:#fafbf9}.student-module[data-access=false] .student-module-number{background:#f5ebde;color:#8a5d2a}.student-library details{border-radius:16px;background:white}
.study-toolbar{display:flex;align-items:center;gap:12px;padding:18px 24px;background:#f4f7f5;border-bottom:1px solid #dfe8e2}.study-toolbar>div{flex:1}.study-toolbar a,.study-toolbar button{font:inherit;font-size:14px;font-weight:650;color:#27553d}.study-toolbar button{padding:11px 16px;border:1px solid #cfdfd4;border-radius:10px;background:white;cursor:pointer}.study-toolbar button[aria-pressed=true]{background:#d7f5e1;border-color:#65df88}.study-index-toggle{display:none}
body:not(.academy-home) .pattern-course.course-shell{background:#f4f7f5;gap:22px;padding:24px;grid-template-columns:260px minmax(0,1fr) 280px;align-items:start}
body:not(.academy-home) .pattern-course .course-sidebar{background:#fff!important;color:#284936;border:1px solid #dce6df;border-radius:18px;padding:16px}.pattern-course .course-side-brand{display:none}.pattern-course .course-side-intro h2{color:#244d35;font-size:22px}.pattern-course .course-side-intro p{color:#627469;font-size:13px;line-height:1.6}.pattern-course .course-side-progress strong{color:#466452;font-size:12px}
body:not(.academy-home) .pattern-course .course-module-card{background:white;border-color:#e0e9e3;color:#284936}.pattern-course .course-module-title strong{color:#284936;font-size:14px;line-height:1.5}.pattern-course .course-module-title small,.pattern-course .course-module-body>p{color:#687d70;font-size:12px}.pattern-course .course-lesson-link strong{font-size:13px;line-height:1.5;color:#3e5848}.pattern-course .course-lesson-link small{font-size:12px;color:#6b7d71}body:not(.academy-home) .pattern-course .course-lesson-link.active{background:#e1f7e8!important;border-color:#93d9a8!important;box-shadow:inset 3px 0 #42b768}.pattern-course .course-context-head{border:1px solid #dce6df;border-radius:18px;overflow:hidden}
body:not(.academy-home) .pattern-course .course-context-top{background:#eaf4ed!important;color:#234c34;padding:22px}.pattern-course .course-context-top h1{font-size:23px;line-height:1.3;color:#234c34}.pattern-course .course-context-top small{color:#487659;font-size:11px;letter-spacing:.07em}.pattern-course .course-context-top summary{font-size:14px;color:#526e5d;cursor:pointer}.pattern-course .course-context-top p{color:#526e5d;font-size:15px;line-height:1.7}.pattern-course .course-context-stats{background:white;gap:0}.pattern-course .course-context-stats strong{font-size:15px}.pattern-course .course-context-stats small{font-size:12px}
.pattern-course .lesson-surface{margin-top:22px;border-radius:18px;border:1px solid #e0e9e3;padding:28px;background:white}.pattern-course .lesson-title-section h2{font-size:clamp(28px,2.7vw,38px);line-height:1.18;letter-spacing:-.025em}.pattern-course .lesson-title-section p{font-size:15px;line-height:1.7;color:#627469}.pattern-course .lesson-number{display:none}.pattern-course .lesson-meta-row{font-size:13px;gap:14px;flex-wrap:wrap}.pattern-course .lesson-progress-line{height:4px;background:#e8f0eb;margin:20px 0 30px}.pattern-course .pattern-head{padding:18px 22px}.pattern-course .pattern-head h3{font-size:21px;line-height:1.4}.pattern-course .pattern-body{padding:24px}.pattern-course .pattern-body>p,.pattern-course .rich-list li{font-size:17px!important;line-height:1.85!important}.pattern-course .pattern-body button{min-height:40px}.pattern-course .lesson-actions{gap:15px;flex-wrap:wrap}
body:not(.academy-home) .pattern-course .course-side-card-title{background:#e8f3ec!important;color:#28523a!important;font-size:14px;padding:16px}.pattern-course .course-side-card{border:1px solid #dce6df;border-radius:16px;overflow:hidden;box-shadow:none}.pattern-course .course-side-card-body{padding:18px}.pattern-course .course-side-card-body p,.pattern-course .objective-list li,.pattern-course .tutor-msg{font-size:14px;line-height:1.7}.pattern-course #lesson-note{font-size:15px;line-height:1.7;min-height:180px}.pattern-course .course-aside{background:transparent;padding:0}.pattern-course .side-cyan .course-side-card-title{background:#e8f5fa!important}.pattern-course .side-orange .course-side-card-title{background:#fff0df!important}.pattern-course .side-purple .course-side-card-title{background:#f1ecfa!important}
body:not(.academy-home) .pattern-course.study-focus{grid-template-columns:minmax(0,900px);justify-content:center}.pattern-course.study-focus>.course-sidebar,.pattern-course.study-focus>.course-aside{display:none!important}
.study-toolbar :focus-visible,.module-tools :focus-visible,.student-module:focus-visible{outline:3px solid #39a863;outline-offset:3px}
@media(max-width:1250px){body:not(.academy-home) .pattern-course.course-shell{grid-template-columns:240px minmax(0,1fr)}.pattern-course .course-aside{grid-column:2;position:static;height:auto;display:grid;grid-template-columns:1fr 1fr}.pattern-course.study-focus .course-main{grid-column:1}}
@media(max-width:900px){body:not(.academy-home) .pattern-course.course-shell{grid-template-columns:minmax(0,1fr);padding:16px}.study-index-toggle{display:block}.pattern-course .course-sidebar{display:none!important}.pattern-course.study-nav-open .course-sidebar{display:block!important;position:static;height:auto;max-height:65vh;overflow:auto;grid-column:1}.pattern-course .course-aside{grid-column:1}.study-toolbar{flex-wrap:wrap;padding:12px 16px;gap:8px}.study-toolbar button{padding:10px;font-size:13px}.study-toolbar>div{display:none}.study-toolbar a{margin-right:auto}.pattern-course .lesson-surface{padding:20px}.module-tools{align-items:stretch;flex-direction:column}.module-search input{min-width:0;width:100%}}
@media(max-width:600px){.student-resume,.student-project{padding:24px!important}.student-module{padding:18px}.module-filters button{padding:10px;font-size:13px}.pattern-course .course-aside{grid-template-columns:1fr}.pattern-course .pattern-body{padding:18px}.pattern-course .pattern-head{padding:16px 18px}.pattern-course .lesson-surface{padding:16px}.pattern-course .course-context-stats{grid-template-columns:1fr 1fr}.pattern-course .lesson-actions .btn{width:100%;text-align:center}.student-dashboard{padding-top:25px}}
body:not(.academy-home) .student-resume .page-kicker{color:#85e7a3!important}
body:not(.academy-home) .pattern-course .course-side-intro p{color:#627469!important}
.pattern-course .tutor-quick button,.pattern-course .tutor-input input{font-size:13px!important;min-height:40px}

/* Lesson palette and compact reading layout. */
.pattern-course,.study-toolbar{--brand:#ff841f;--brand-dark:#a54700;--institutional:#163b70;--institutional-dark:#102c54;--blue:#245ba0;--cyan:#269bd0;--navy:#163b70;--navy2:#204f89;--green:#245ba0;--ink:#20334f;--muted:#607086;--border:#dce3ec;--bg:#f5f7fb;--orange:#ff841f}
body:not(.academy-home) .pattern-course.course-shell{padding:12px;gap:14px;grid-template-columns:230px minmax(0,1fr) 250px;background:#f5f7fb}
.pattern-course .course-main{min-width:0!important}.study-toolbar{padding:10px 16px;background:#fff;border-color:#dce3ec}.study-toolbar a,.study-toolbar button{color:#163b70}.study-toolbar button{border-color:#d5dfed}.study-toolbar button[aria-pressed=true]{background:#fff0e2;border-color:#ff841f}
body:not(.academy-home) .pattern-course .course-sidebar{padding:12px;border-color:#dce3ec;color:#20334f;border-radius:12px}
.pattern-course .course-side-intro h2,.pattern-course .course-module-title strong,.pattern-course .course-lesson-link strong{color:#163b70}
body:not(.academy-home) .pattern-course .course-side-intro p,.pattern-course .course-side-progress strong,.pattern-course .course-module-title small,.pattern-course .course-module-body>p,.pattern-course .course-lesson-link small{color:#607086!important}
body:not(.academy-home) .pattern-course .course-module-card{border-color:#dce3ec;color:#20334f}.pattern-course .course-module-number,.pattern-course .course-lesson-link>span{background:#163b70!important;color:white!important}
body:not(.academy-home) .pattern-course .course-lesson-link.active{background:#fff0e2!important;border-color:#ffc18d!important;box-shadow:inset 3px 0 #ff841f}.pattern-course .course-lesson-link.active>span{background:#ff841f!important;color:#38200e!important}.pattern-course .course-lesson-link.done{background:#eef4fc}
body:not(.academy-home) .pattern-course .course-context-top{background:#163b70!important;color:white;padding:14px 18px}.pattern-course .course-context-top h1{color:white;font-size:21px;margin:6px 0}.pattern-course .course-context-top small{color:#a9c9f2}.pattern-course .course-context-top summary,.pattern-course .course-context-top p{color:#dce9fb}.pattern-course .course-context-head{margin:0 0 12px;border-color:#dce3ec;border-radius:12px;box-shadow:none}.pattern-course .course-context-stats>div{padding:9px 14px}
.pattern-course .course-section-nav{position:sticky;top:var(--app-header-h,72px);z-index:35;display:flex;align-items:stretch;gap:28px;padding:0 18px;background:#fff;border-bottom:2px solid #e2ebf7;box-shadow:0 2px 10px rgba(22,59,112,.06);overflow-x:auto;scrollbar-width:none}.pattern-course .course-section-nav::-webkit-scrollbar{display:none}.pattern-course .course-section-nav a{position:relative;display:flex;align-items:center;min-height:48px;color:#365c88;font-size:14px;font-weight:750;white-space:nowrap}.pattern-course .course-section-nav a:hover{color:#163b70}.pattern-course .course-section-nav a.active{color:#163b70}.pattern-course .course-section-nav a.active::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:#ff841f;border-radius:3px 3px 0 0}
.pattern-course .lesson-surface{margin:0;padding:0;border-radius:12px;border-color:#dce3ec;box-shadow:none}.pattern-course .lesson-title-section{padding:18px 18px 12px}.pattern-course .lesson-title-section h2{font-size:clamp(27px,2.5vw,36px);color:#163b70}.pattern-course .lesson-title-section p{color:#607086}.pattern-course .lesson-meta-row{padding:9px 18px}.pattern-course .lesson-progress-line{margin:0;height:3px;background:#e7edf5}.pattern-course .lesson-progress-line span,.pattern-course .progress-bar span{background:#ff841f!important}.pattern-course .progress-bar{background:#e7edf5}
.pattern-course .lesson-patterns{padding:14px;gap:12px}.pattern-course .pattern-head{padding:11px 16px}.pattern-course .pattern-head h3{font-size:16px;color:#163b70}.pattern-course .pattern-body,.pattern-course .pattern-explainer .pattern-body,.pattern-course .pattern-why .pattern-body{padding:16px}.pattern-course .pattern-body>h4{font-size:22px;line-height:1.35;color:#163b70}.pattern-course .pattern-body>p,.pattern-course .rich-list li{line-height:1.75!important}.pattern-course .lesson-actions{padding:8px 14px 18px}
.pattern-course .p-green .pattern-head,.pattern-course .pattern-why .pattern-head,.pattern-course .p-orange .pattern-head{background:#fff0e2}.pattern-course .p-green .pattern-dot,.pattern-course .pattern-why .pattern-dot{background:#ff841f}.pattern-course .p-blue .pattern-head,.pattern-course .pattern-explainer .pattern-head{background:#edf3fc}.pattern-course .bookmark-inline.active{background:#fff0e2;color:#994000}
body:not(.academy-home) .pattern-course .btn-primary{background:#ff841f!important;color:#30200f!important;border-color:#ff841f}body:not(.academy-home) .pattern-course .btn-primary:hover{background:#ff9c49!important}.pattern-course .btn-ghost{color:#163b70;border-color:#d5dfed}
body:not(.academy-home) .pattern-course .course-side-card-title{background:#edf3fc!important;color:#163b70!important;padding:12px 14px}body:not(.academy-home) .pattern-course .ai-tutor-card .course-side-card-title{background:#163b70!important;color:white!important}body:not(.academy-home) .pattern-course .notes-card .course-side-card-title,body:not(.academy-home) .pattern-course .side-project .course-side-card-title{background:#fff0e2!important;color:#994000!important}.pattern-course .course-side-card-body{padding:14px}.pattern-course .course-side-card{border-radius:12px;border-color:#dce3ec}.pattern-course .tutor-msg{background:#edf3fc;color:#29476b}.pattern-course .tutor-input button{background:#ff841f!important;color:#30200f!important}.pattern-course #lesson-note{border-color:#d5dfed;color:#20334f}
body:not(.academy-home) .pattern-course.study-focus{grid-template-columns:minmax(0,1100px);justify-content:center}
@media(max-width:1150px){body:not(.academy-home) .pattern-course.course-shell{grid-template-columns:220px minmax(0,1fr)}.pattern-course .course-aside{grid-column:2;position:static;height:auto;display:grid;grid-template-columns:1fr 1fr}.pattern-course.study-focus .course-main{grid-column:1}}
@media(min-width:1151px){.pattern-course .course-aside{grid-column:auto;display:block}.pattern-course .course-aside>.course-side-card{margin-bottom:12px}}
@media(max-width:900px){body:not(.academy-home) .pattern-course.course-shell{grid-template-columns:minmax(0,1fr);padding:10px;gap:12px}.pattern-course .course-aside{grid-column:1}.pattern-course .lesson-surface{padding:0}.pattern-course .lesson-title-section{padding:16px}.pattern-course .lesson-patterns{padding:10px}.pattern-course .course-context-top{padding:14px!important}}
@media(max-width:600px){.pattern-course .course-aside{grid-template-columns:1fr}.pattern-course .pattern-body,.pattern-course .pattern-explainer .pattern-body{padding:14px}.pattern-course .lesson-title-section h2{font-size:27px}}
body:not(.academy-home) .pattern-course .tutor-ai{background:#edf3fc;color:#29476b}body:not(.academy-home) .pattern-course .tutor-user{background:#163b70;color:#fff}body:not(.academy-home) .pattern-course .progress-bar{background:#e7edf5}
body:has(.pattern-course) .nav .primary{background:#ff841f!important;color:#30200f!important}body:has(.pattern-course) .nav a{color:#163b70}

/* Expandable course index, with the academy green. */
.study-index-toggle{display:block}
body:not(.academy-home) .pattern-course.course-shell{grid-template-columns:310px minmax(0,1fr) 250px}
body:not(.academy-home) .pattern-course .course-sidebar{background:#65df88!important;padding:14px;border:1px solid #55ca77}
.pattern-course .course-side-intro{padding:0 4px 14px;margin:0}.pattern-course .course-side-progress{margin:0}.pattern-course .course-module-title strong{font-size:15px;line-height:1.4}.pattern-course .course-module-title small{font-size:12px;line-height:1.5}.pattern-course .course-lesson-link strong{font-size:14px;line-height:1.45}
body:not(.academy-home) .pattern-course .course-side-progress strong{color:#173b26!important}.pattern-course .course-module-card{margin-bottom:10px}
body:not(.academy-home) .pattern-course.study-nav-collapsed{grid-template-columns:minmax(0,1fr) 250px}.pattern-course.study-nav-collapsed>.course-sidebar{display:none!important}
body:not(.academy-home) .pattern-course.study-focus{grid-template-columns:minmax(0,1100px)}
@media(max-width:1150px) and (min-width:901px){body:not(.academy-home) .pattern-course.course-shell{grid-template-columns:290px minmax(0,1fr)}body:not(.academy-home) .pattern-course.study-nav-collapsed{grid-template-columns:minmax(0,1fr)}.pattern-course.study-nav-collapsed>.course-aside{grid-column:1}}
@media(max-width:900px){body:not(.academy-home) .pattern-course.course-shell,body:not(.academy-home) .pattern-course.study-nav-collapsed{grid-template-columns:minmax(0,1fr)}.pattern-course.study-nav-open>.course-sidebar{display:block!important}}

/* Green index frame, scrollbars and per-module progress. */
body:not(.academy-home) .pattern-course .course-sidebar{border:1px solid #36b962;box-shadow:0 3px 12px #17492a12;scrollbar-color:#21633a #65df88;scrollbar-width:thin;scrollbar-gutter:stable;padding:12px}
.pattern-course .course-sidebar::-webkit-scrollbar{width:9px}.pattern-course .course-sidebar::-webkit-scrollbar-track{background:#65df88;border-radius:12px}.pattern-course .course-sidebar::-webkit-scrollbar-thumb{background:#21633a;border:2px solid #65df88;border-radius:12px}.pattern-course .course-sidebar::-webkit-scrollbar-thumb:hover{background:#164b2b}
body:not(.academy-home) .pattern-course .course-module-card{border:1px solid #4ebc73;background:#f6fff8;box-shadow:none;border-radius:12px;overflow:hidden}
.pattern-course .course-module-card>summary{background:#f6fff8;border-color:#b4e9c3}.pattern-course .course-module-body{background:#effbf2;border-top:1px solid #b4e9c3}.pattern-course .course-lesson-link{border-color:transparent;background:transparent}.pattern-course .course-lesson-link:hover{background:#d9f5e2}.pattern-course .course-chevron{color:#21633a}
.module-index-progress{display:grid;gap:6px;margin-top:10px;color:#21633a;font-size:11px;font-weight:650}.module-index-progress>.progress-bar{display:block!important;width:100%;height:5px;margin:0;border-radius:10px;overflow:hidden}body:not(.academy-home) .pattern-course .module-index-progress .progress-bar{background:#c8edd3}.pattern-course .module-index-progress .progress-bar>span{display:block;height:100%;background:#21633a!important;border-radius:10px}
.pattern-course .course-aside{scrollbar-color:#21633a #e8f7ed;scrollbar-width:thin}

/* Saturated section headings with matching outlines in lesson content. */
.pattern-course .lesson-patterns .p-blue{--section-accent:#2058a0;--section-heading:#fff}
.pattern-course .lesson-patterns .p-cyan{--section-accent:#17b3e6;--section-heading:#082f49}
.pattern-course .lesson-patterns .p-purple{--section-accent:#7545ce;--section-heading:#fff}
.pattern-course .lesson-patterns .p-green{--section-accent:#65df88;--section-heading:#173b26}
.pattern-course .lesson-patterns .p-orange{--section-accent:#ff841f;--section-heading:#38200e}
.pattern-course .lesson-patterns .p-red{--section-accent:#c93650;--section-heading:#fff}
.pattern-course .course-main .lesson-patterns .learning-block.pattern{border:2px solid var(--section-accent);border-radius:12px}
.pattern-course .lesson-patterns .learning-block.pattern>.pattern-head{background:var(--section-accent);border-bottom:1px solid var(--section-accent);padding:12px 16px}
.pattern-course .lesson-patterns .learning-block.pattern>.pattern-head h3{color:var(--section-heading);font-size:16px;font-weight:750}
.pattern-course .lesson-patterns .learning-block.pattern>.pattern-head .pattern-dot{background:var(--section-heading)}

/* Complete lesson palette: white surfaces, blue text and vivid support cards. */
body:has(.pattern-course){background:#fff;scrollbar-color:#21633a #e8f7ed}
body:not(.academy-home) .pattern-course.course-shell{background:#fff}
.study-toolbar{border-color:#bed4f2}.study-toolbar button{border-color:#91b7e5}
.pattern-course{--border:#bed4f2;--muted:#365c88;--bg:#fff}
.pattern-course .lesson-surface,.pattern-course .course-context-head{border-color:#91b7e5}
.pattern-course .course-context-stats>div,.pattern-course .lesson-title-section,.pattern-course .lesson-meta-row{border-color:#bed4f2}
.pattern-course .course-context-stats small,.pattern-course .lesson-title-section p,.pattern-course .lesson-meta-row,.pattern-course .course-lesson-link small,.pattern-course .course-module-title small{color:#365c88}
body:not(.academy-home) .pattern-course .course-module-body>p,body:not(.academy-home) .pattern-course .course-module-title small,body:not(.academy-home) .pattern-course .course-lesson-link small{color:#365c88!important}
.pattern-course .lesson-progress-line{background:#dcecff}.pattern-course .bookmark-inline{border-color:#91b7e5;color:#163b70}
.pattern-course .course-aside .course-side-card{--support-color:#2058a0;--support-text:#fff;border:2px solid var(--support-color);background:#fff}
.pattern-course .course-aside .side-blue,.pattern-course .course-aside .ai-tutor-card{--support-color:#2058a0;--support-text:#fff}
.pattern-course .course-aside .side-cyan{--support-color:#17b3e6;--support-text:#082f49}
.pattern-course .course-aside .side-purple{--support-color:#7545ce;--support-text:#fff}
.pattern-course .course-aside .side-green{--support-color:#65df88;--support-text:#173b26}
.pattern-course .course-aside .side-orange,.pattern-course .course-aside .side-project{--support-color:#ff841f;--support-text:#38200e}
body:not(.academy-home) .pattern-course .course-aside .course-side-card .course-side-card-title{background:var(--support-color)!important;color:var(--support-text)!important;border-bottom:1px solid var(--support-color)}
.pattern-course .course-side-card-body{background:#fff;color:#29476b}.pattern-course .course-side-card-body small,.pattern-course .course-side-card-body p,.pattern-course .objective-list li{color:#365c88}
.pattern-course .course-aside input,.pattern-course .course-aside textarea,.pattern-course #lesson-note{background:#fff;border-color:#91b7e5;color:#163b70}.pattern-course .course-aside input::placeholder,.pattern-course .course-aside textarea::placeholder{color:#426896;opacity:1}
.pattern-course .course-aside button:not(.btn-primary),.pattern-course .course-aside .btn-ghost{border-color:#91b7e5;color:#163b70}.pattern-course .tutor-quick button{background:#edf5ff}.pattern-course .resource-item,.pattern-course .glossary-chip{border-color:#91b7e5;background:#edf5ff;color:#163b70}
.pattern-course .pattern-body .panel,.pattern-course .pattern-body .process-node,.pattern-course .pattern-body .data-type,.pattern-course .pattern-body .dataset-card>div,.pattern-course .pattern-body .audit-item{background:#f0f7ff;border-color:#a8caf2}
.pattern-course .pattern-body p,.pattern-course .pattern-body li{color:#365c88}.pattern-course .pattern-body .process-num{background:#fff;border-color:#17b3e6;color:#163b70}
body:has(.pattern-course) .nav{border-color:#bed4f2}body:has(.pattern-course) .nav a{border-color:#bed4f2}
html:has(.pattern-course){scrollbar-color:#21633a #e8f7ed;scrollbar-width:thin}
.pattern-course .tutor-chat,.pattern-course textarea{scrollbar-color:#21633a #e8f7ed}
body:not(.academy-home) .pattern-course .glossary-pill{background:#f0e8ff;border-color:#b69ae8;color:#59329b}
.pattern-course .tutor-demo-label,.pattern-course #note-status{color:#365c88}

/* A soft blue surface groups the lesson support tools. */
body:not(.academy-home) .pattern-course .course-aside{background:#e3f2ff;border:1px solid #a8d3f5;border-radius:16px;padding:12px;scrollbar-color:#21633a #e3f2ff}
@media(max-width:600px){body:not(.academy-home) .pattern-course .course-aside{padding:10px}}
body:not(.academy-home) .pattern-course .course-aside{background:#17b3e6;border-color:#0795c5;scrollbar-color:#163b70 #17b3e6}

/* Beginner Python labs and submission feedback. */
.practice-page{background:#f4f9ff;min-height:80vh;padding:32px 0 60px;color:#163b70}.practice-page>.container{max-width:1440px}.practice-heading{margin-bottom:24px}.practice-heading>a{display:block;margin-bottom:22px}.practice-heading>span{font-size:12px;letter-spacing:.08em;font-weight:750;color:#287347}.practice-heading h1{font-size:clamp(29px,3.5vw,44px);line-height:1.15;margin:12px 0}.practice-heading p{font-size:17px;line-height:1.7;max-width:900px}.practice-intro,.practice-entry{background:#e2f7e8;border:1px solid #89dba2;border-radius:16px;padding:22px;margin:24px 0}.practice-entry{display:flex;align-items:center;justify-content:space-between;gap:20px}.practice-entry p{margin:8px 0;font-size:16px;line-height:1.6}.practice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:28px 0}.practice-card{background:white;border:1px solid #a8caf2;border-top:5px solid #2058a0;border-radius:16px;padding:26px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.practice-card:nth-child(2){border-top-color:#65df88}.practice-card:nth-child(3){border-top-color:#17b3e6}.practice-card:nth-child(4){border-top-color:#ff841f}.practice-step{font-size:12px;font-weight:750}.practice-card h2{font-size:24px;line-height:1.3;margin:0}.practice-card p{font-size:16px;line-height:1.7;margin:0;flex:1}.practice-tags{display:flex;gap:6px;flex-wrap:wrap}.practice-tags span{background:#e7f1ff;color:#163b70;padding:5px 9px;border-radius:7px;font-size:12px;font-weight:650}.practice-card .btn{margin-top:8px}.practice-workspace{display:grid;grid-template-columns:minmax(250px,.75fr) minmax(0,1.5fr);gap:22px;margin-top:24px;align-items:start}.practice-workspace section{background:#fff;border:1px solid #a8caf2;border-radius:14px;padding:22px;margin-bottom:20px;min-width:0}.practice-workspace h2{font-size:22px;margin:0 0 16px}.practice-workspace p,.practice-workspace li{font-size:15px;line-height:1.75}.practice-workspace li{margin-bottom:10px}.practice-workspace ol{padding-left:22px}.practice-page pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#eef5ff;padding:14px;border-radius:8px;font:13px/1.7 Consolas,monospace;color:#163b70}.practice-page details{border:1px solid #c3daf5;border-radius:9px;padding:12px;margin:12px 0}.practice-page summary{cursor:pointer;font-size:14px;font-weight:700}.practice-editor label{display:block;font-size:15px;font-weight:700;margin:16px 0 8px}.practice-editor textarea{width:100%;min-height:110px;border:1px solid #91b7e5;border-radius:9px;padding:14px;font-family:inherit;font-size:15px;line-height:1.65;resize:vertical;background:#fff;color:#163b70}.practice-editor #python-code{font:15px/1.7 Consolas,monospace;min-height:330px;background:#102c54;color:#f0f7ff;tab-size:4;border:2px solid #2058a0;white-space:pre;overflow:auto}.practice-editor textarea:focus{outline:3px solid #17b3e6;outline-offset:2px}.practice-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.practice-page .btn{font-size:14px}.practice-page button:disabled{opacity:.5;cursor:not-allowed}.practice-page #practice-status{padding:12px;background:#e8f5ff;border-radius:8px;min-height:46px}.practice-test{border-left:4px solid #ff841f;background:#fff3e6;padding:14px;margin:10px 0;border-radius:8px}.practice-test.passed{border-color:#35b766;background:#eaf9ef}.practice-test p{margin:5px 0}.practice-feedback{margin-top:18px;border:2px solid #2058a0;border-radius:12px;padding:18px}.practice-note{background:#fff3e6;padding:14px;border-radius:8px}.practice-page small{font-size:12px;line-height:1.6;display:block}.practice-workspace code{background:#eaf3ff;padding:2px 4px}.practice-page .btn:focus-visible,.practice-page summary:focus-visible{outline:3px solid #17b3e6;outline-offset:3px}
@media(max-width:850px){.practice-workspace{grid-template-columns:minmax(0,1fr)}.practice-entry{flex-direction:column;align-items:flex-start}.practice-workspace section{padding:18px}}
@media(max-width:600px){.practice-grid{grid-template-columns:1fr}.practice-page{padding-top:22px}.practice-card{padding:20px}.practice-actions .btn{flex:1 1 42%}}

/* Final exam, verifiable certificate and on-demand interview practice. */
.career-page{padding:34px 0 60px;background:#f0f7ff;min-height:80vh;color:#163b70}.career-page>.container{max-width:1040px}.career-heading{margin-bottom:28px}.career-heading h1{font-size:clamp(30px,4vw,44px);line-height:1.2;margin:20px 0 12px}.career-heading p{font-size:17px;line-height:1.7}.career-panel{background:white;border:1px solid #91b7e5;padding:24px;border-radius:14px;margin:20px 0}.career-panel h2{font-size:23px;line-height:1.4}.career-panel p,.career-panel li{font-size:16px;line-height:1.75}.career-panel label:not(.exam-option){display:block;font-weight:700;margin:14px 0 8px}.career-panel textarea{width:100%;min-height:150px;resize:vertical;font:inherit;line-height:1.7;padding:14px;border:1px solid #91b7e5;border-radius:8px;color:#163b70}.career-panel select{font:inherit;padding:12px;border:1px solid #91b7e5;border-radius:8px;max-width:100%;margin:0 12px 15px 0;background:white;color:#163b70}.career-panel button:disabled{opacity:.45;cursor:not-allowed}.career-panel details{padding:14px;border:1px solid #bed4f2;border-radius:8px;margin:12px 0}.career-panel summary{cursor:pointer;font-weight:700;line-height:1.6}.career-history{display:flex;justify-content:space-between;gap:16px;padding:16px;background:#edf5ff;border-radius:8px;margin:12px 0;line-height:1.6}.career-facts{display:flex;flex-wrap:wrap;gap:28px}.career-facts span{display:grid;gap:6px}.career-facts strong{font-size:30px}.career-entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:30px 0}.career-entry-grid article{padding:26px;border:1px solid #a8caf2;border-top:4px solid #2058a0;border-radius:16px;background:#fff}.career-entry-grid article:nth-child(2){border-top-color:#ff841f}.career-entry-grid span{font-size:12px;font-weight:750;color:#287347}.career-entry-grid h2{font-size:25px}.career-entry-grid p{font-size:16px;line-height:1.7}.exam-clock{position:sticky;top:76px;background:#163b70;color:white;border-radius:10px;padding:14px 20px;font-weight:750;z-index:2}.career-panel legend{padding:0 8px;font-size:18px;font-weight:750;line-height:1.5;max-width:100%}.exam-option{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid #bed4f2;border-radius:8px;margin:10px 0;cursor:pointer;line-height:1.6}.exam-option:has(input:checked){background:#e1f8e8;border-color:#35b766}.exam-option input{margin-top:6px;accent-color:#2058a0;flex-shrink:0}.career-page #career-notice{color:#204f89;white-space:pre-wrap}.interview-answer{white-space:pre-wrap;background:#eef7ff;padding:18px;border-left:4px solid #17b3e6}.academy-certificate{background:#fff;border:8px solid #163b70;outline:2px solid #ff841f;outline-offset:-18px;padding:58px 45px;text-align:center;border-radius:4px;margin:25px 0;color:#163b70}.cert-brand{font-weight:850;letter-spacing:.15em}.academy-certificate>h2{font-size:clamp(30px,4vw,46px);margin:34px 0 16px;color:#163b70}.academy-certificate h3{font-size:26px;line-height:1.4}.academy-certificate p{font-size:17px;line-height:1.7}.cert-details{display:flex;justify-content:space-around;gap:24px;margin:40px 0;line-height:1.7}.cert-details strong{overflow-wrap:anywhere}.academy-certificate .cert-scope,.academy-certificate .cert-link{font-size:12px;line-height:1.65;overflow-wrap:anywhere}.cert-actions{padding:20px 0}.cert-actions p{font-size:15px;line-height:1.7}.cert-actions input{width:100%;padding:12px;font:inherit;color:#163b70;border:1px solid #91b7e5;margin:8px 0 14px}.career-page :focus-visible{outline:3px solid #17b3e6;outline-offset:3px}
@media(max-width:650px){.career-entry-grid{grid-template-columns:1fr}.career-panel{padding:18px}.career-history{flex-direction:column;gap:5px}.academy-certificate{padding:35px 24px}.cert-details{flex-direction:column}.career-facts{gap:18px}.career-facts strong{font-size:25px}}
@media print{body:has(.academy-certificate){background:white!important}body:has(.academy-certificate) .nav,body:has(.academy-certificate) .footer,body:has(.academy-certificate) .career-heading,body:has(.academy-certificate) .cert-actions,body:has(.academy-certificate) #sync-status{display:none!important}body:has(.academy-certificate) .career-page{background:white;padding:0}.career-page:has(.academy-certificate)>.container{width:100%;max-width:none}.academy-certificate{break-inside:avoid;margin:0;padding:32px;border-width:5px;print-color-adjust:exact;-webkit-print-color-adjust:exact}.academy-certificate .cert-details{flex-direction:row}.academy-certificate>h2{font-size:36px}.academy-certificate h3{font-size:23px}}
@media print{body:has(.academy-certificate) footer{display:none!important}}
.home-footer-resources{display:flex;gap:18px;flex-wrap:wrap;align-items:center}.home-footer-resources a{font-size:.8em;font-weight:700;color:#91abc4}.home-footer-resources a:hover{text-decoration:underline}.home-footer-resources a:focus-visible{outline:3px solid #65df88;outline-offset:5px}

/* Editorial home: learning outcomes and the complete learning experience. */
.academy-home .home-editorial{padding:90px 0}.academy-home .home-editorial>.container{width:calc(100% - 100px);max-width:1500px}.editorial-intro{max-width:1000px;margin-bottom:48px}.editorial-kicker{display:block;color:#287347;font-size:13px;font-weight:800;letter-spacing:.12em;margin-bottom:18px}.academy-home .editorial-intro h2{font-size:clamp(34px,4vw,58px);line-height:1.1;letter-spacing:-.04em;color:#173b26;margin:0 0 24px}.editorial-intro>p{font-size:20px;line-height:1.8;color:#486354;max-width:850px}.home-learning{background:#fff}.editorial-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px;align-items:start}.editorial-photo{margin:0;position:sticky;top:105px}.editorial-photo img{display:block;width:100%;height:650px;object-fit:cover;object-position:center center;border-radius:3px}.editorial-photo figcaption{font-size:13px;line-height:1.6;color:#486354;margin-top:14px;border-left:3px solid #65df88;padding-left:12px}.editorial-copy article,.offering-details article{padding:0 0 26px;margin-bottom:28px;border-bottom:1px solid #b8d6c3}.editorial-copy article>span,.offering-details article>span{font-size:12px;letter-spacing:.1em;font-weight:800;color:#287347}.academy-home .editorial-copy h3,.academy-home .offering-details h3{font-size:clamp(23px,2.2vw,31px);line-height:1.25;letter-spacing:-.025em;color:#173b26;margin:12px 0}.editorial-copy p,.offering-details p,.offering-lead p{font-size:17px;line-height:1.85;color:#486354;margin:0}.editorial-copy .editorial-closing{font-size:19px;color:#214e32;padding-left:20px;border-left:4px solid #65df88}.academy-home .home-included{background:#eaf8ee}.offering-editorial{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:100px}.offering-lead{position:sticky;top:110px;align-self:start}.offering-number{display:block;font-size:clamp(90px,11vw,150px);font-weight:800;color:#287347;letter-spacing:-.08em;line-height:1}.academy-home .offering-lead h3{font-size:clamp(30px,3vw,42px);line-height:1.16;letter-spacing:-.035em;color:#173b26;margin:20px 0 25px}.offering-lead p+p{margin-top:20px}.offering-lead .btn{margin-top:30px}.offering-details article:nth-child(2)>span{color:#a04b0c}.offering-details article:nth-child(3)>span{color:#08759b}.offering-details article:nth-child(4)>span{color:#67409b}.offering-details article:last-child{margin-bottom:0;border-bottom:0}
@media(max-width:1000px){.editorial-layout{gap:35px}.offering-editorial{gap:50px}.editorial-photo img{height:560px}}
@media(max-width:750px){.academy-home .home-editorial{padding:55px 0}.academy-home .home-editorial>.container{width:calc(100% - 36px)}.editorial-layout,.offering-editorial{grid-template-columns:minmax(0,1fr);gap:34px}.editorial-photo,.offering-lead{position:static}.editorial-photo img{height:350px}.editorial-intro{margin-bottom:30px}.editorial-intro>p{font-size:18px}.offering-number{font-size:88px}.editorial-copy p,.offering-details p,.offering-lead p{font-size:16px}}

/* Method: heading above the photo and reading column. */
.academy-home .home-section.home-method{display:block;padding:80px 0}
.academy-home .home-method>.container{width:calc(100% - 100px);max-width:1500px;padding:0}
.academy-home .home-method .home-section-head{max-width:none;margin:0 0 36px;padding:0}
.method-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:55px;align-items:stretch}
.home-method .academy-method-photo{min-height:650px;border-radius:3px}
.method-content{min-width:0}
.academy-home .method-description{font-size:18px;line-height:1.8;color:#486354;margin:0 0 30px}
.academy-home .home-method .home-pattern-card strong,.academy-home .home-method .ai-platform-strip strong{font-size:18px}
.academy-home .home-method .home-pattern-card p,.academy-home .home-method .ai-platform-strip p{font-size:16px;line-height:1.7}
@media(max-width:1050px){.method-layout{gap:30px}.academy-home .home-method>.container{width:calc(100% - 60px)}}
@media(max-width:750px){.academy-home .home-section.home-method{padding:55px 0}.academy-home .home-method>.container{width:calc(100% - 36px)}.method-layout{grid-template-columns:minmax(0,1fr);gap:30px}.home-method .academy-method-photo{min-height:350px}.academy-home .home-method .home-section-head{margin-bottom:28px}}

/* Shared editorial heading and subtle luminous section dividers. */
.academy-home .home-learning .editorial-intro h2{font-family:inherit;font-size:clamp(28px,3vw,42px);font-weight:600;font-style:italic;line-height:1.25;letter-spacing:-.025em;color:#24372a;margin:14px 0 20px}
.academy-home .site-light>section+section{position:relative}
.academy-home .site-light>section+section::after{content:"";position:absolute;top:0;left:4%;right:4%;height:1px;pointer-events:none;background:linear-gradient(90deg,transparent,#65df88 20%,#39e879 50%,#65df88 80%,transparent);box-shadow:0 0 8px rgba(57,232,121,.28)}

/* Vivid emerald headings for the home sections. */
.academy-home .site-light>section:not(.home-hero) h2{color:#087f46}
.academy-home .site-light>section .home-offer h2{color:#65df88}

/* Larger section headings, fluid across screen sizes. */
.academy-home .site-light>section:not(.home-hero) h2{font-size:clamp(34px,4vw,56px);line-height:1.18}

/* Keep editorial headings within one image-column width. */
.academy-home .site-light>section:not(.home-hero) h2{font-size:clamp(30px,3.2vw,44px);line-height:1.22}
.academy-home .home-method .home-section-head h2{max-width:calc((100% - 55px)/2)}
.academy-home .home-learning .editorial-intro{max-width:none}
.academy-home .home-learning .editorial-intro h2{max-width:calc((100% - 70px)/2)}
@media(max-width:1050px){.academy-home .home-method .home-section-head h2{max-width:calc((100% - 30px)/2)}}
@media(max-width:1000px){.academy-home .home-learning .editorial-intro h2{max-width:calc((100% - 35px)/2)}}
@media(max-width:750px){.academy-home .home-method .home-section-head h2,.academy-home .home-learning .editorial-intro h2{max-width:100%}}

/* Learning heading above its photo; introduction aligned with the photo top. */
.academy-home .home-learning .editorial-intro{width:calc((100% - 70px)/2);margin:0 0 36px auto}
.academy-home .home-learning .editorial-intro h2{max-width:none;margin-bottom:0}
.academy-home .home-learning .learning-description{font-size:18px;line-height:1.8;color:#486354;margin:0 0 30px}
@media(max-width:1000px){.academy-home .home-learning .editorial-intro{width:calc((100% - 35px)/2)}}
@media(max-width:750px){.academy-home .home-learning .editorial-intro{width:100%;margin:0 0 28px}.academy-home .home-learning .learning-description{font-size:18px}}

/* Repeat the gentle entrance whenever a home section re-enters the viewport.
   Observe the stationary section so animation cannot retrigger its boundary. */
.academy-home .site-light>section.entrance-ready{opacity:1;transform:none;transition:none}
.academy-home .site-light>section.entrance-ready>.container{opacity:0;transform:translateY(32px);transition:opacity 1200ms ease,transform 1400ms cubic-bezier(.22,.61,.36,1)}
.academy-home .site-light>section.entrance-visible>.container,.academy-home .site-light>section.entrance-ready:focus-within>.container{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.academy-home .site-light>section.entrance-ready>.container{opacity:1;transform:none;transition:none}}
@media print{.academy-home .site-light>section.entrance-ready>.container{opacity:1;transform:none;transition:none}}

/* Individual entrances preserve the editorial layout and stagger nearby items. */
.academy-home .entrance-ready{opacity:0;transform:translateY(42px);transition:opacity 1100ms ease,transform 1400ms cubic-bezier(.16,1,.3,1);transition-delay:var(--entrance-delay,0ms)}
.academy-home .entrance-ready.entrance-visible,.academy-home .entrance-ready:focus-within{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.academy-home .entrance-ready{opacity:1;transform:none;transition:none}}
@media print{.academy-home .entrance-ready{opacity:1;transform:none;transition:none}}

/* Keep the hero / method separator visible above adjacent section layers. */
.academy-home .site-light>.home-hero+.home-method::after{z-index:2;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#65df88 15%,#39e879 50%,#65df88 85%,transparent);box-shadow:0 0 10px rgba(57,232,121,.4)}

/* Air between the hero and its section separator. */
.academy-home .site-light>.home-hero+.home-method::after{top:30px;left:4%;right:4%}
@media(max-width:750px){.academy-home .site-light>.home-hero+.home-method::after{top:20px}}

/* Center section labels close to the luminous dividers. */
.academy-home .home-method .home-section-head>span,.academy-home .home-learning .editorial-kicker{position:absolute;left:0;right:0;text-align:center;margin:0;top:22px}
.academy-home .home-method .home-section-head>span{top:50px}
.academy-home .home-method .home-section-head,.academy-home .home-learning .editorial-intro{position:static}
.academy-home .home-method .home-section-head>span.entrance-ready,.academy-home .home-learning .editorial-kicker.entrance-ready{transform:translateY(12px)}
.academy-home .home-method .home-section-head>span.entrance-visible,.academy-home .home-learning .editorial-kicker.entrance-visible{transform:translateY(0)}
@media(max-width:750px){.academy-home .home-method .home-section-head>span{top:36px}.academy-home .home-section.home-method{padding-top:76px}.academy-home .home-learning .editorial-kicker{top:18px}.academy-home .home-learning{padding-top:64px}}

/* Two editorial chapters, navigable by swipe, keyboard and buttons. */
.career-panel-nav{display:flex;gap:12px;margin:0 0 35px;flex-wrap:wrap}
.career-panel-nav button{border:1px solid #65df88;border-radius:30px;padding:13px 22px;background:transparent;color:#214e32;font:inherit;font-weight:650;cursor:pointer}
.career-panel-nav button[aria-pressed="true"]{background:#214e32;color:#fff;border-color:#214e32}
.career-panel-nav button:focus-visible,.career-panels:focus-visible{outline:3px solid #087f46;outline-offset:5px}
.career-panels{position:relative;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#287347 #d5e9dc;align-items:stretch}
.career-panel{flex:0 0 100%;min-width:0;box-sizing:border-box;scroll-snap-align:start;padding:12px 8px 35px}
.career-panel.offering-details{display:grid;grid-template-columns:1fr 1fr;gap:30px 65px}
.career-panel.offering-details article{margin:0;padding-bottom:25px}
.career-market{display:grid;grid-template-columns:1fr 1fr;gap:65px}
.academy-home .career-market h3{font-size:clamp(28px,3vw,42px);color:#214e32;line-height:1.2;margin:15px 0 25px}
.career-market p{font-size:17px;line-height:1.8;color:#486354}
.market-numbers article{border-bottom:1px solid #b8d6c3;padding-bottom:20px;margin-bottom:22px}
.market-numbers strong{font-size:clamp(54px,6vw,80px);line-height:1;color:#087f46;letter-spacing:-.05em}
.market-numbers article:nth-child(2) strong{color:#d06316}
.market-numbers h4{font-size:20px;color:#214e32;margin:12px 0}
.career-market .market-note,.career-market .market-context,.career-swipe-hint{font-size:14px;line-height:1.7;color:#486354}
.market-numbers a{color:#087f46;text-decoration:underline}
@media(max-width:750px){.career-panel.offering-details,.career-market{grid-template-columns:1fr;gap:24px}.career-panel-nav button{font-size:14px;padding:12px 15px}}

/* Career section follows the white editorial language of Method and Learning. */
.academy-home .home-editorial.home-included{background:#fff}
.academy-home .home-included .editorial-intro{max-width:none;margin-bottom:38px}
.academy-home .home-included .editorial-intro h2{font-family:inherit;font-size:clamp(30px,3.2vw,44px);font-weight:600;font-style:italic;line-height:1.22;letter-spacing:-.025em;color:#087f46;max-width:calc((100% - 70px)/2);margin:14px 0 20px}
.academy-home .home-included>.container>.editorial-intro>.editorial-kicker{position:absolute;top:22px;left:0;right:0;text-align:center;margin:0}
.academy-home .career-panels,.academy-home .career-panel{background:transparent;border:0;border-radius:0;box-shadow:none}
.academy-home .career-panel.offering-details{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:38px 70px;padding:12px 0 35px}
.academy-home .career-panel.offering-details article{background:none;border:0;border-bottom:1px solid #b8d6c3;border-radius:0;box-shadow:none;padding:0 0 32px}
.academy-home .career-panel.offering-details article>span{font-size:12px;letter-spacing:.1em;font-weight:800}
.academy-home .career-panel.offering-details h3{font-size:clamp(23px,2.2vw,31px);line-height:1.25;margin:12px 0;color:#173b26}
.academy-home .career-panel.offering-details p{font-size:17px;line-height:1.85;color:#486354;max-width:620px}
.academy-home .career-market{padding:12px 0 35px;gap:70px}
.academy-home .career-market h3{font-weight:600;font-style:italic;letter-spacing:-.025em}
.academy-home .career-panel-nav{border-bottom:1px solid #b8d6c3;gap:32px;margin-bottom:36px}
.academy-home .career-panel-nav button{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;padding:12px 0 16px;color:#486354}
.academy-home .career-panel-nav button[aria-pressed="true"]{background:transparent;border-bottom-color:#087f46;color:#087f46}
@media(max-width:1000px){.academy-home .home-included .editorial-intro h2{max-width:calc((100% - 35px)/2)}.academy-home .career-panel.offering-details,.academy-home .career-market{gap:35px}}
@media(max-width:750px){.academy-home .home-included .editorial-intro h2{max-width:100%}.academy-home .career-panel.offering-details,.academy-home .career-market{grid-template-columns:minmax(0,1fr);gap:28px}.academy-home .career-panel-nav{gap:18px}.academy-home .home-included>.container>.editorial-intro>.editorial-kicker{top:18px}}

/* Vertical career chapters with alternating editorial photographs. */
.work-chapter{margin-top:45px}
.work-chapter+.work-chapter{margin-top:75px;padding-top:45px;border-top:1px solid #b8e7c7}
.academy-home .work-chapter-title{font-size:clamp(27px,3vw,38px);font-style:italic;font-weight:600;color:#087f46;line-height:1.22;margin:0 0 32px}
.work-editorial-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px;align-items:start}
.work-photo{margin:0;position:sticky;top:105px}
.work-photo img{display:block;width:100%;height:680px;object-fit:cover;border-radius:3px}
.work-market-intro h3{font-size:clamp(23px,2.2vw,31px);line-height:1.25;color:#173b26;margin:0 0 20px}
.work-market-copy p{font-size:17px;line-height:1.85;color:#486354}
.work-market-copy .market-context,.work-market-copy .market-note{font-size:14px;line-height:1.7}
.work-market-copy .market-numbers{margin-top:28px}
.work-preparation .work-chapter-title{margin-left:calc((100% + 70px)/2)}
@media(max-width:1000px){.work-editorial-grid{gap:35px}.work-preparation .work-chapter-title{margin-left:calc((100% + 35px)/2)}.work-photo img{height:580px}}
@media(max-width:750px){.work-editorial-grid{grid-template-columns:minmax(0,1fr);gap:30px}.work-photo{position:static}.work-photo img{height:370px}.work-preparation .work-chapter-title{margin-left:0}.work-chapter+.work-chapter{margin-top:45px;padding-top:35px}}

/* Sunny yellow accents with darker gold for text on white. */
.academy-home .work-market-copy .market-numbers article:nth-child(2) strong{color:#d5aa00}
.academy-home #work-preparation-title{color:#967400}
.academy-home .home-method .home-pattern-card:nth-child(4) i{background:#f4ce19!important}
.academy-home .home-method .ai-platform-strip>div:nth-child(3) .ai-platform-icon{background:#fff2ac;color:#806300}
.academy-home .work-preparation .offering-details article:nth-child(2)>span{color:#967400}
.academy-home .work-preparation .offering-details article:nth-child(2){border-bottom-color:#f4ce19}
.academy-home .home-learning .editorial-closing{border-left-color:#f4ce19}

/* AI e lavoro is the single section label beside the divider. */
.academy-home .home-included .editorial-intro h2.work-section-label{font-size:13px;font-style:normal;font-weight:800;line-height:1.4;letter-spacing:.12em;color:#287347;max-width:none;margin:0}
.academy-home .home-included>.container>.editorial-intro{margin-bottom:0}
.academy-home .home-included .work-chapter:first-of-type{margin-top:0}

.academy-home .work-photo-source{margin-top:18px;padding-left:14px;border-left:3px solid #65df88;font-size:14px;line-height:1.7;color:#486354}
.academy-home .work-photo-source p{margin:0 0 10px;font-size:14px;line-height:1.7}
.academy-home .work-photo-source a{color:#087f46;text-decoration:underline;text-underline-offset:3px}

/* Restrained yellow details in the first two editorial sections. */
.academy-home .home-method .home-pattern-card:nth-child(2) i{background:#f4ce19!important}
.academy-home .home-method .ai-platform-strip>div:nth-child(2) .ai-platform-icon{background:#fff7cf;color:#806300}
.academy-home .home-learning .editorial-copy article:nth-child(2)>span{color:#967400}
.academy-home .home-learning .editorial-copy article:nth-child(2){border-bottom-color:#eddb82}
.academy-home .home-learning .editorial-photo figcaption{border-left-color:#f4ce19}

.academy-home .home-method .home-section-head h2#method-title{color:#d5aa00}

/* Alternating editorial backgrounds: white, deep green, white. */
.academy-home .home-section.home-method,.academy-home .home-editorial.home-included{background:#fff}
.academy-home .home-editorial.home-learning{background:#173f2b}
.academy-home .home-learning .editorial-intro h2#learning-title{color:#80eda3}
.academy-home .home-learning .editorial-kicker{color:#80eda3}
.academy-home .home-learning .editorial-copy h3{color:#f4fff7}
.academy-home .home-learning .editorial-copy p,.academy-home .home-learning .editorial-photo figcaption{color:#d9eddf}
.academy-home .home-learning .editorial-copy article>span{color:#80eda3}
.academy-home .home-learning .editorial-copy article:nth-child(2)>span{color:#f4ce19}
.academy-home .home-learning .editorial-copy article{border-bottom-color:#3e7252}
.academy-home .home-learning .editorial-copy article:nth-child(2){border-bottom-color:#887d32}
.academy-home .home-learning .editorial-copy .editorial-closing{color:#f4fff7}

/* Connect market demand to the student's concrete preparation. */
.work-bridge{position:relative;max-width:850px;margin:70px auto 42px;padding:35px 25px 0;text-align:center}
.work-bridge::before{content:"";position:absolute;top:0;left:20%;right:20%;height:1px;background:linear-gradient(90deg,transparent,#65df88,transparent)}
.work-bridge>span:first-child{font-size:12px;font-weight:800;letter-spacing:.12em;color:#287347}
.work-bridge p{font-size:18px;line-height:1.8;color:#486354;margin:14px 0}
.work-bridge p:nth-child(2){font-size:clamp(24px,2.5vw,34px);font-weight:600;line-height:1.3;color:#173b26}
.work-bridge-arrow{display:inline-block;font-size:34px;color:#d5aa00;margin-top:10px}
.academy-home .work-preparation{margin-top:0}
.academy-home #work-preparation-title{color:#d5aa00;font-size:clamp(30px,3.2vw,44px);line-height:1.22}
@media(max-width:750px){.work-bridge{margin:45px auto 30px;padding:28px 0 0}}

/* A continuous side rail connects both chapters without a central divider. */
.academy-home .home-included>.container{position:relative}
.academy-home .home-included>.container::before{content:"";position:absolute;left:-25px;top:70px;bottom:0;width:2px;background:linear-gradient(180deg,transparent,#65df88 10%,#65df88 50%,#e7c832 80%,transparent);box-shadow:0 0 16px rgba(101,223,136,.22);pointer-events:none}
.academy-home .work-chapter.work-preparation{margin-top:65px;padding-top:40px;border-top:0;position:relative}
.academy-home .work-preparation::before{content:"";position:absolute;left:-23px;top:0;bottom:0;width:90px;background:linear-gradient(90deg,rgba(101,223,136,.08),transparent);pointer-events:none}
@media(max-width:750px){.academy-home .home-included>.container::before{left:-10px}.academy-home .work-preparation::before{left:-8px;width:45px}.academy-home .work-chapter.work-preparation{margin-top:40px;padding-top:20px}}

/* Anchor the section label to the separator, independently of its container. */
.academy-home .home-included>.container{position:static}
.academy-home .home-included .editorial-intro h2.work-section-label{position:absolute;top:22px;left:0;right:0;width:auto;max-width:none;text-align:center;margin:0}
.academy-home .home-included>.container::before{left:25px;top:100px;bottom:90px}
@media(max-width:750px){.academy-home .home-included .editorial-intro h2.work-section-label{top:18px}.academy-home .home-included>.container::before{left:8px;top:70px;bottom:55px}}

.academy-home #work-preparation-title{color:#80eda3}
.academy-home .market-numbers strong[data-count]{display:inline-block;min-width:4ch;font-variant-numeric:tabular-nums}

/* Compact preparation copy aligned with the portrait. */
.academy-home .work-preparation #work-preparation-title{margin-left:0;color:#287347;margin-bottom:30px}
.academy-home .work-preparation .offering-details h3{font-size:clamp(21px,1.9vw,27px);line-height:1.25;margin:10px 0}
.academy-home .work-preparation .offering-details p{font-size:16px;line-height:1.65}
.academy-home .work-preparation .offering-details article{padding-bottom:20px;margin-bottom:22px}
.academy-home .work-preparation .offering-details article:last-child{padding-bottom:0;margin-bottom:0}
.academy-home .work-preparation .work-editorial-grid{align-items:stretch}
.academy-home .work-preparation .work-photo{position:relative;top:auto;min-height:620px}
.academy-home .work-preparation .work-photo img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover}
@media(max-width:750px){.academy-home .work-preparation .work-photo{min-height:0}.academy-home .work-preparation .work-photo img{position:static;height:370px}}

/* A light academic invitation to start learning. */
.academy-home .home-enroll{background:#fff;padding:70px 0 85px}
.academy-home .home-enroll>.container{width:calc(100% - 100px);max-width:1500px}
.academy-home .home-offer.academic-cta{position:relative;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:50px;padding:55px;background:linear-gradient(115deg,#f2faf4,#fffdf1);border:1px solid #d9e9dc;border-radius:8px;color:#173b26;overflow:hidden;box-shadow:none}
.academic-cta::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#65df88,#e9d14d,transparent)}
.academy-home .academic-cta>div>span{color:#287347}
.academy-home .site-light>section .home-offer.academic-cta h2{font-size:clamp(30px,3.3vw,46px);font-weight:600;font-style:italic;line-height:1.2;letter-spacing:-.03em;color:#214e32;margin:18px 0 22px}
.academy-home .home-offer.academic-cta p{color:#486354;font-size:18px;line-height:1.75;max-width:620px}
.academic-cta-facts{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:28px;color:#486354;font-size:13px}
.academic-cta-facts span{border-bottom:2px solid #e7d261;padding-bottom:6px}
.academic-cta-action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;border-left:1px solid #d9e9dc;padding-left:35px}
.academy-home .academic-cta .academic-emblem{font-size:58px;line-height:1;color:#c4a223;font-weight:400}
.academy-home .home-offer.academic-cta .btn-primary{background:#214e32!important;color:#fff!important;border-color:#214e32;padding:18px 26px;border-radius:6px;display:flex;gap:18px;justify-content:center;white-space:normal;text-align:center;transition:background .2s,box-shadow .2s}
.academy-home .home-offer.academic-cta .btn-primary:hover{background:#28663e!important;box-shadow:0 5px 18px #214e3220}
.academic-cta-action small{font-size:13px;line-height:1.6;text-align:center;color:#486354}
@media(max-width:850px){.academy-home .home-offer.academic-cta{grid-template-columns:1fr;padding:32px;gap:30px}.academic-cta-action{border-left:0;border-top:1px solid #d9e9dc;padding:28px 0 0}.academic-cta-action .academic-emblem{display:none}}
@media(max-width:750px){.academy-home .home-enroll>.container{width:calc(100% - 36px)}.academy-home .home-enroll{padding:50px 0}.academy-home .home-offer.academic-cta{padding:28px 22px}.academy-home .home-offer.academic-cta p{font-size:16px}}

/* Deep academic green, with an open book and fountain pen emblem. */
.academy-home .home-offer.academic-cta{background:linear-gradient(120deg,#173f2b,#24543a);border-color:#3c7150;color:#fff}
.academy-home .site-light>section .home-offer.academic-cta h2{color:#f4fff7}
.academy-home .academic-cta>div>span{color:#8deaab}
.academy-home .home-offer.academic-cta p,.academic-cta-facts,.academic-cta-action small{color:#d8ebde}
.academic-cta-action{border-color:#528064}
.academy-home .academic-cta .academic-emblem{display:block;color:#f4ce19;width:150px;height:122px}
.academic-emblem svg{display:block;width:100%;height:100%}
.academy-home .home-offer.academic-cta .btn-primary{background:#f4ce19!important;color:#173b26!important;border-color:#f4ce19}
.academy-home .home-offer.academic-cta .btn-primary:hover{background:#ffdd43!important;box-shadow:0 5px 20px #0002}
@media(max-width:850px){.academy-home .academic-cta .academic-emblem{display:block;width:115px;height:94px}}

/* Matching headings connect market demand and interview preparation. */
.academy-home .work-market-intro h3,.academy-home .work-preparation #work-preparation-title{font-family:inherit;font-size:clamp(30px,3.2vw,44px);font-style:italic;font-weight:600;line-height:1.22;letter-spacing:-.025em;color:#287347}

/* Dashboard: an identifiable study space with equal learning tracks. */
.student-dashboard .student-workspace{background:linear-gradient(125deg,#173f2b,#24543a);padding:34px;border-radius:22px;margin-bottom:28px}
.student-workspace .student-heading h1{color:#f4fff7}.student-workspace .student-heading p{color:#d9eddf}.student-workspace .student-heading .page-kicker{color:#80eda3}.student-workspace .student-heading>.btn{border-color:#709c7f;color:#f4fff7;background:transparent}
.student-workspace .student-stats>div{background:#ffffff0d;border:1px solid #ffffff24;border-top:3px solid #65df88;padding:20px}
.student-workspace .student-stats>div:nth-child(2){border-top-color:#f4ce19}.student-workspace .student-stats>div:nth-child(3){border-top-color:#82cbe9}
.student-workspace .student-stats strong{color:#fff}.student-workspace .student-stats>div>span,.student-workspace .student-stats p{color:#d9eddf}
.student-dashboard .student-focus{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin-bottom:0}
.student-workspace .student-resume,.student-workspace .student-project{display:flex;flex-direction:column;border:0;border-radius:14px;padding:28px;background:#f2faf4;color:#173b26}
.student-workspace .student-project{background:#fff9df}
.dashboard-track-label{font-size:12px;font-weight:800;letter-spacing:.12em;color:#287347;margin-bottom:22px}
.student-workspace .student-project .dashboard-track-label{color:#806300}
.student-workspace .student-focus h2{font-size:27px;line-height:1.25;color:#173b26;margin:12px 0}
.student-workspace .student-focus p{font-size:16px;line-height:1.7;color:#486354}
.dashboard-progress-label{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:13px;color:#486354;margin-top:auto;padding-top:20px;margin-bottom:10px}
.student-workspace .student-focus .progress-bar{margin:0;background:#cfe3d5;height:7px}
.student-workspace .student-project .progress-bar{background:#eee3ad}.student-workspace .student-project .progress-bar>span{background:#b99200}
.student-workspace .student-focus .dashboard-advice{font-size:14px;line-height:1.65;margin:20px 0;padding-left:12px;border-left:3px solid #65df88}
.student-workspace .student-project .dashboard-advice{border-color:#e6c124}
.student-workspace .student-focus .btn{align-self:flex-start;margin-top:8px;background:#214e32;color:#fff;border-color:#214e32}
.student-dashboard .student-curriculum{background:#eaf3f9;border:1px solid #cee0ec;border-radius:22px;padding:32px;margin-top:28px}
.student-curriculum .student-section-heading h2{color:#21445d}.student-curriculum .page-kicker,.student-curriculum .student-section-heading>a{color:#286481}
.student-curriculum .student-module{background:#fff;border-color:#d3e2ea}.student-curriculum .module-filters button[aria-pressed="true"]{background:#214e32;color:#fff}
@media(max-width:900px){.student-dashboard .student-workspace{padding:24px}.student-dashboard .student-focus{grid-template-columns:1fr}.student-dashboard .student-curriculum{padding:24px}}
@media(max-width:600px){.student-dashboard .student-workspace{padding:18px}.student-dashboard .student-curriculum{padding:20px 16px}.student-workspace .student-heading>.btn{margin-bottom:20px}}

.student-dashboard .student-workspace .student-resume{background:#f2faf4!important;color:#173b26}.student-dashboard .student-workspace .student-resume .page-kicker{color:#287347}


/* Dashboard sections span the viewport rather than sitting inside cards. */
.student-dashboard{padding:0 0 50px}
.student-dashboard>.container{width:100%;max-width:none;padding:0}
.student-dashboard .student-workspace{width:100%;box-sizing:border-box;border:0;border-radius:0;margin:0;padding:48px clamp(20px,4vw,76px)}
.student-dashboard .student-curriculum{border:0;border-radius:0;margin:0;padding:48px clamp(20px,4vw,76px)}
.student-dashboard .student-access{border:0;border-radius:0;margin:0;padding:26px clamp(20px,4vw,76px)}
.student-dashboard .student-workspace .student-resume,.student-dashboard .student-workspace .student-project{border-radius:0;box-shadow:none}
.student-dashboard .student-focus{gap:0}
.student-dashboard .student-workspace .student-resume{padding:32px!important}
.student-dashboard .student-workspace .student-project{padding:32px!important}
.student-dashboard .student-stats>div{border-radius:0;box-shadow:none}
.student-dashboard .career-entry-grid{margin:0;padding:40px clamp(20px,4vw,76px);background:#fff}
.student-dashboard .career-entry-grid>article{border-radius:0;box-shadow:none}
.student-dashboard .student-library{margin:0;padding:30px clamp(20px,4vw,76px)}
@media(max-width:600px){.student-dashboard .student-workspace,.student-dashboard .student-curriculum{padding:30px 20px}.student-dashboard .student-workspace .student-resume,.student-dashboard .student-workspace .student-project{padding:24px!important}}

/* Strong dashboard colors and clear internal reading hierarchy. */
.student-dashboard .student-focus{gap:24px}
.student-dashboard .student-workspace .student-resume{background:#176447!important;border:1px solid #6be6a3;border-top:4px solid #6be6a3;color:#fff}
.student-dashboard .student-workspace .student-project{background:#174d78;border:1px solid #66c7f2;border-top:4px solid #66c7f2;color:#fff}
.student-dashboard .student-workspace .student-focus h2{color:#fff}
.student-dashboard .student-workspace .student-focus p{color:#e0f1ea}
.student-dashboard .student-workspace .student-focus .page-kicker,.student-dashboard .student-workspace .student-focus .dashboard-track-label{color:#beffdb}
.student-dashboard .student-workspace .student-project .page-kicker,.student-dashboard .student-workspace .student-project .dashboard-track-label{color:#b7e9ff}
.student-dashboard .dashboard-track-label{border-bottom:1px solid #ffffff40;padding-bottom:16px;margin-bottom:20px;font-size:14px}
.student-dashboard .dashboard-progress-label{border-top:1px solid #ffffff40;margin-top:22px;padding-top:20px;color:#fff}
.student-dashboard .student-workspace .student-focus .progress-bar{background:#ffffff30;height:8px}
.student-dashboard .student-workspace .student-resume .progress-bar>span{background:#7ff0ac}
.student-dashboard .student-workspace .student-project .progress-bar>span{background:#70d3ff}
.student-dashboard .student-workspace .student-focus .dashboard-advice{background:#00000012;border-left:3px solid #f4ce19;padding:14px 16px;margin:22px 0;color:#fff}
.student-dashboard .student-workspace .student-focus .btn{margin-top:auto;background:#f4ce19!important;border-color:#f4ce19!important;color:#173b26!important;padding:15px 24px}
.student-dashboard .student-workspace .student-heading>.btn{background:#bc287e;color:#fff;border:1px solid #f394cb;box-shadow:0 4px 16px #0002;padding:14px 22px;font-weight:700}
.student-dashboard .student-workspace .student-heading>.btn:hover{background:#a71e6c}
.student-dashboard .student-curriculum{background:#174d78}
.student-dashboard .student-curriculum .student-section-heading h2,.student-dashboard .student-curriculum .student-section-heading>a,.student-dashboard .student-curriculum .page-kicker,.student-dashboard .student-curriculum .module-search,.student-dashboard .student-curriculum .module-empty{color:#fff}
.student-dashboard .student-curriculum .module-filters button{background:#ffffff18;color:#fff;border:1px solid #8cb9da}
.student-dashboard .student-curriculum .module-filters button[aria-pressed="true"]{background:#f4ce19;color:#173b26;border-color:#f4ce19}
.student-dashboard .student-curriculum .student-module{border:1px solid #94c6df;border-left:4px solid #65df88}
.student-dashboard .student-access{background:#ead05b;color:#233e2c}
.student-dashboard .student-access p{color:#384e36}
.student-dashboard .career-entry-grid{background:#472e70;gap:24px}
.student-dashboard .career-entry-grid>article{background:#563b80;border:1px solid #b7a0d7;border-top:3px solid #d8b6ff;color:#fff}
.student-dashboard .career-entry-grid>article:nth-child(2){background:#653669;border-color:#d49dcc;border-top-color:#f3a0db}
.student-dashboard .career-entry-grid h2,.student-dashboard .career-entry-grid p,.student-dashboard .career-entry-grid article>span{color:#fff}
.student-dashboard .career-entry-grid .btn{background:#fff;color:#472e70;border-color:#fff}
.student-dashboard .student-library{background:#173f2b}
.student-dashboard .student-library details{background:#24563c;border:1px solid #608b70;border-radius:0;color:#fff}
.student-dashboard .student-library summary,.student-dashboard .student-library .dash-empty{color:#edf9f1}
.student-dashboard .student-library .dash-saved-list a{background:#f2faf4;color:#173f2b}
@media(max-width:900px){.student-dashboard .student-focus{gap:20px}}

.dashboard-with-nav{display:grid;grid-template-columns:210px minmax(0,1fr);align-items:start}
.dashboard-side{position:sticky;top:85px;padding:30px 18px;display:flex;flex-direction:column;gap:10px;background:#f1f7f3;min-height:70vh}
.dashboard-side strong{font-size:12px;color:#287347;letter-spacing:.1em;margin-bottom:18px}
.dashboard-side button{background:transparent;border:0;text-align:left;color:#214e32;font:inherit;padding:13px 8px;cursor:pointer;border-bottom:1px solid #d1e2d5}
.dashboard-side button:hover,.dashboard-side button:focus-visible{background:#d9f1e1}
.dashboard-personal{padding:38px clamp(20px,4vw,60px);background:#fff;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.dashboard-personal h2{margin:10px 0;color:#214e32}.dashboard-personal p{color:#486354}
.dashboard-personal dl{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:0}
.dashboard-personal dt{font-size:12px;color:#486354;margin-bottom:7px}.dashboard-personal dd{margin:0;font-weight:600;overflow-wrap:anywhere;color:#214e32}
.student-dashboard .student-curriculum .student-access{padding:20px 24px;margin:0 0 30px;background:#e5f4eb;border:1px solid #9dccad;border-left:4px solid #65df88}
.student-dashboard .student-workspace .student-resume{background:#f4ce19!important;border-color:#ffe77b;color:#173b26}
.student-dashboard .student-workspace .student-resume h2,.student-dashboard .student-workspace .student-resume p,.student-dashboard .student-workspace .student-resume .page-kicker,.student-dashboard .student-workspace .student-resume .dashboard-track-label,.student-dashboard .student-resume .dashboard-progress-label{color:#173b26}
.student-dashboard .student-workspace .student-resume .dashboard-advice{color:#173b26;border-color:#287347;background:#fff3}
.student-dashboard .student-workspace .student-resume .btn{background:#214e32!important;color:#fff!important;border-color:#214e32!important}
.profile-editor{max-width:1000px;margin:auto;padding:32px;background:#edf7f0;border:1px solid #c7dfcf}.profile-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:25px 0}.profile-fields label{display:flex;flex-direction:column;gap:8px;color:#214e32}.profile-fields input{padding:12px;border:1px solid #a7c9b2;background:#fff;border-radius:6px;font:inherit;min-width:0}.profile-fields small{font-size:12px}
#dash-profile,#dash-space,#dash-program,#dash-tools{scroll-margin-top:95px}
@media(max-width:1100px){.dashboard-with-nav{grid-template-columns:170px minmax(0,1fr)}.dashboard-side{padding:25px 10px}.dashboard-personal dl{grid-template-columns:1fr 1fr}}
@media(max-width:750px){.dashboard-with-nav{display:block}.dashboard-side{position:static;min-height:0;flex-direction:row;overflow:auto;padding:12px}.dashboard-side strong{display:none}.dashboard-side button{white-space:nowrap;font-size:13px}.dashboard-personal dl,.profile-fields{grid-template-columns:1fr}.profile-editor{padding:20px}}

.student-workspace .student-heading h1.dashboard-space-title{font-size:clamp(24px,2.5vw,34px);margin:0;letter-spacing:-.025em}

/* Dashboard readability pass: calm surfaces, explicit text colors. */
.student-dashboard{background:#f5f8f6;color:#203c2c}
.student-dashboard .student-workspace{background:#e8f3ed;padding-top:36px;padding-bottom:36px}
.student-dashboard .student-heading{margin-bottom:24px}
.student-dashboard .student-workspace .student-heading h1.dashboard-space-title{color:#204d36;font-size:clamp(25px,2.6vw,34px);font-weight:700;border-left:4px solid #369568;padding-left:16px}
.student-dashboard .student-workspace .student-stats>div{background:#fff;border:1px solid #c9ddd1;border-top:3px solid #369568;padding:20px}
.student-dashboard .student-workspace .student-stats>div:nth-child(2){border-top-color:#638cc7}.student-dashboard .student-workspace .student-stats>div:nth-child(3){border-top-color:#9675b6}
.student-dashboard .student-workspace .student-stats strong{color:#214e32}.student-dashboard .student-workspace .student-stats>div>span,.student-dashboard .student-workspace .student-stats p{color:#4b6256}
.student-dashboard .student-workspace .student-resume{background:#fff!important;border:1px solid #b8d5c5;border-top:4px solid #369568}
.student-dashboard .student-workspace .student-project{background:#edf3fc;border:1px solid #b9cce6;border-top:4px solid #507ab2}
.student-dashboard .student-workspace .student-focus h2{color:#203c2c;font-size:25px}
.student-dashboard .student-workspace .student-focus p,.student-dashboard .student-workspace .student-focus .dashboard-progress-label{color:#425b4d}
.student-dashboard .student-workspace .student-focus .page-kicker,.student-dashboard .student-workspace .student-focus .dashboard-track-label{color:#276147}
.student-dashboard .student-workspace .student-project .page-kicker,.student-dashboard .student-workspace .student-project .dashboard-track-label{color:#315987}
.student-dashboard .dashboard-track-label,.student-dashboard .dashboard-progress-label{border-color:#bfcec6}
.student-dashboard .student-workspace .student-focus .progress-bar{background:#d2ded7}
.student-dashboard .student-workspace .student-resume .progress-bar>span{background:#287a50}.student-dashboard .student-workspace .student-project .progress-bar>span{background:#416fa8}
.student-dashboard .student-workspace .student-focus .dashboard-advice{background:#eaf3ee;color:#304d3d;border-color:#369568}
.student-dashboard .student-workspace .student-project .dashboard-advice{background:#e0eaf8;color:#294565;border-color:#507ab2}
.student-dashboard .student-workspace .student-focus .btn{background:#286345!important;border-color:#286345!important;color:#fff!important}
.student-dashboard .student-workspace .student-project .btn{background:#365f94!important;border-color:#365f94!important;color:#fff!important}
.student-dashboard .student-curriculum{background:#f0f4fa;padding-top:36px;padding-bottom:36px}
.student-dashboard .student-curriculum .student-section-heading h2{color:#25476c;font-size:30px;border-left:4px solid #507ab2;padding-left:16px}
.student-dashboard .student-curriculum .page-kicker,.student-dashboard .student-curriculum .student-section-heading>a,.student-dashboard .student-curriculum .module-search,.student-dashboard .student-curriculum .module-empty{color:#355574}
.student-dashboard .student-curriculum .module-filters button{background:#fff;color:#355574;border:1px solid #afc2d9}
.student-dashboard .student-curriculum .module-filters button[aria-pressed="true"]{background:#365f94;color:#fff;border-color:#365f94}
.student-dashboard .student-curriculum .module-search input{background:#fff;color:#243e5b;border:1px solid #afc2d9}
.student-dashboard .student-curriculum .student-access{background:#fff8e0;color:#57481f;border-color:#e6d595;border-left-color:#b59632;margin-bottom:28px}
.student-dashboard .student-curriculum .student-access p,.student-dashboard .student-curriculum .student-access strong{color:#57481f}
.student-dashboard .student-module small,.student-dashboard .student-module h3,.student-dashboard .student-module-percent{color:#304d3d}
.student-dashboard .career-entry-grid{background:#f5f0fa;padding-top:36px;padding-bottom:36px}
.student-dashboard .career-entry-grid>article,.student-dashboard .career-entry-grid>article:nth-child(2){background:#fff;border:1px solid #d6c8e3;border-top:3px solid #8a68a8}
.student-dashboard .career-entry-grid h2{color:#503a67}.student-dashboard .career-entry-grid p,.student-dashboard .career-entry-grid article>span{color:#614e73}
.student-dashboard .career-entry-grid .btn{background:#684b84;border-color:#684b84;color:#fff}
.student-dashboard .student-library{background:#edf3ef}
.student-dashboard .student-library details{background:#fff;border-color:#c1d4c8}
.student-dashboard .student-library summary,.student-dashboard .student-library .dash-empty{color:#304d3d}
.student-dashboard .student-library summary span{background:#e1eee5;color:#285439}
.student-dashboard .dashboard-personal{border-bottom:1px solid #d2e1d8;padding-top:32px;padding-bottom:32px}
.student-dashboard .dashboard-personal h2{font-size:28px}
.student-dashboard .dashboard-side{background:#fff;border-right:1px solid #d2e1d8}
.student-dashboard a:focus-visible,.student-dashboard button:focus-visible{outline:3px solid #805aa5;outline-offset:3px}

.student-dashboard .student-workspace .student-resume .page-kicker{color:#276147!important}


/* Richer mid-tone surfaces while retaining dark readable text. */
.student-dashboard .student-workspace{background:#a9d5bb}
.student-dashboard .student-workspace .student-stats>div{background:#d5eadd;border-color:#77aa8b}
.student-dashboard .student-workspace .student-resume{background:#c9e5d3!important;border-color:#568f6e}
.student-dashboard .student-workspace .student-project{background:#bbd3ee;border-color:#6c95bf}
.student-dashboard .student-workspace .student-focus .dashboard-advice{background:#b4d8c1}
.student-dashboard .student-workspace .student-project .dashboard-advice{background:#a9c6e6}
.student-dashboard .student-curriculum{background:#adc9e5}
.student-dashboard .student-curriculum .student-module{background:#dce8f3;border-color:#779cbc}
.student-dashboard .student-curriculum .student-access{background:#ecd77e;border-color:#bba247}
.student-dashboard .career-entry-grid{background:#c3acd9}
.student-dashboard .career-entry-grid>article,.student-dashboard .career-entry-grid>article:nth-child(2){background:#dfcfed;border-color:#997bae}
.student-dashboard .student-library{background:#aacbb7}
.student-dashboard .student-library details{background:#d1e4d8;border-color:#729b82}

/* Alternating dark and light dashboard bands with explicit contrast. */
.student-dashboard .student-workspace{background:#183f30}
.student-dashboard .student-workspace .student-heading h1.dashboard-space-title{color:#f3fff7;border-left-color:#80eda3}
.student-dashboard .student-workspace .student-stats>div{background:#285640;border-color:#56856a}
.student-dashboard .student-workspace .student-stats strong{color:#fff}
.student-dashboard .student-workspace .student-stats>div>span,.student-dashboard .student-workspace .student-stats p{color:#e2f1e7}
.student-dashboard .student-workspace .student-resume{background:#e3f0e7!important;border-color:#80b997}
.student-dashboard .student-workspace .student-project{background:#d9e7f7;border-color:#89afd8}
.student-dashboard .student-workspace .student-focus h2{color:#193d2b}
.student-dashboard .student-workspace .student-focus p,.student-dashboard .student-workspace .student-focus .dashboard-progress-label{color:#344f40}
.student-dashboard .student-workspace .student-resume .page-kicker{color:#245c3d!important}
.student-dashboard .student-workspace .student-focus .dashboard-advice{background:#c9e2d2;color:#234631}
.student-dashboard .student-workspace .student-project .dashboard-advice{background:#bfd5ee;color:#254565}
.student-dashboard .student-workspace .student-focus .btn{background:#235b3c!important;border-color:#235b3c!important;color:#fff!important}
.student-dashboard .student-workspace .student-project .btn{background:#2d5688!important;border-color:#2d5688!important;color:#fff!important}
.student-dashboard .student-curriculum{background:#d3e2f1}
.student-dashboard .student-curriculum .student-module{background:#fff;border-color:#8caecc}
.student-dashboard .student-curriculum .student-section-heading h2,.student-dashboard .student-curriculum .page-kicker,.student-dashboard .student-curriculum .student-section-heading>a,.student-dashboard .student-curriculum .module-search{color:#23486a}
.student-dashboard .student-curriculum .student-access{background:#f0d879;border-color:#b59835}
.student-dashboard .student-curriculum .student-access .btn{background:#285b40;color:#fff;border-color:#285b40}
.student-dashboard .career-entry-grid{background:#39294e}
.student-dashboard .career-entry-grid>article,.student-dashboard .career-entry-grid>article:nth-child(2){background:#503b69;border-color:#a88ac2;border-top-color:#d2afea}
.student-dashboard .career-entry-grid h2{color:#fff}
.student-dashboard .career-entry-grid p,.student-dashboard .career-entry-grid article>span{color:#eee3f6}
.student-dashboard .career-entry-grid .btn{background:#eee1fa;border-color:#eee1fa;color:#39294e}
.student-dashboard .student-library{background:#dbe9e0}
.student-dashboard .student-library details{background:#fff;border-color:#88ac97}
.student-dashboard .student-library summary,.student-dashboard .student-library .dash-empty{color:#244631}
.student-dashboard .btn:hover{filter:brightness(.94)}

.student-dashboard .student-focus .progress-bar{margin-bottom:24px!important}.student-dashboard .student-focus h2{min-height:2.5em}.student-dashboard .student-focus .btn{cursor:pointer}

.student-dashboard .dashboard-final,.student-dashboard .dashboard-interviews{grid-template-columns:1fr}
.student-dashboard .dashboard-final>article,.student-dashboard .dashboard-interviews>article{border:0;border-left:4px solid #c5a1e4;background:transparent;padding:12px 24px}
.student-dashboard .dashboard-interviews{background:#e2edf4}
.student-dashboard .dashboard-interviews>article{background:transparent;border-left-color:#547ca4}
.student-dashboard .dashboard-interviews h2{color:#25486a}
.student-dashboard .dashboard-interviews p,.student-dashboard .dashboard-interviews article>span{color:#355574}
.student-dashboard .dashboard-interviews .btn{background:#315b83;color:#fff;border-color:#315b83}
.dashboard-lock{font-weight:650}
#dash-interviews{scroll-margin-top:95px}

.student-dashboard .student-workspace .dashboard-notes{padding:24px 0 0;background:transparent;display:block}
.student-dashboard .dashboard-notes details{padding:18px 22px}
.dashboard-favorites{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.dashboard-favorites[hidden],.student-modules[hidden]{display:none!important}
@media(max-width:900px){.dashboard-favorites{grid-template-columns:1fr}}
/* White cards throughout the progress section. */
.student-dashboard #dash-space .student-stats>div,
.student-dashboard #dash-space .student-resume,
.student-dashboard #dash-space .student-project,
.student-dashboard #dash-space .dashboard-notes details{background:#fff!important}
.student-dashboard #dash-space .student-stats strong{color:#214e32}
.student-dashboard #dash-space .student-stats>div>span,
.student-dashboard #dash-space .student-stats p{color:#425b4d}
/* Distinct color accents on the white progress cards. */
.student-dashboard #dash-space .student-stats>div:nth-child(1){border-color:#9bceb3;border-top-color:#38996b;box-shadow:inset 0 3px 14px #45b77d0a}
.student-dashboard #dash-space .student-stats>div:nth-child(2){border-color:#a1c1e4;border-top-color:#527fc1;box-shadow:inset 0 3px 14px #527fc10a}
.student-dashboard #dash-space .student-stats>div:nth-child(3){border-color:#c9b0df;border-top-color:#9870bd;box-shadow:inset 0 3px 14px #9870bd0a}
.student-dashboard #dash-space .student-stats>div:nth-child(2) strong{color:#355c90}
.student-dashboard #dash-space .student-stats>div:nth-child(3) strong{color:#704d91}
.student-dashboard #dash-space .student-resume{border-color:#87c8a4;border-top-color:#369568;box-shadow:inset 0 5px 24px #50c18a0b}
.student-dashboard #dash-space .student-project{border-color:#96b9e4;border-top-color:#527fc1;box-shadow:inset 0 5px 24px #5e94dc0b}
.student-dashboard #dash-space .student-resume .dashboard-track-label{border:0;border-bottom:2px solid;border-image:linear-gradient(90deg,#369568,#b2e3cb,#ffffff) 1;color:#276147}
.student-dashboard #dash-space .student-project .dashboard-track-label{border:0;border-bottom:2px solid;border-image:linear-gradient(90deg,#527fc1,#c5d8f2,#ffffff) 1;color:#355c90}
.student-dashboard #dash-space .student-resume h2{color:#276147}
.student-dashboard #dash-space .student-project h2{color:#355c90}
.student-dashboard #dash-space .student-resume .dashboard-progress-label{border-top-color:#b2ddc4}
.student-dashboard #dash-space .student-project .dashboard-progress-label{border-top-color:#bdd1ed}
.student-dashboard #dash-space .student-resume .progress-bar{background:linear-gradient(90deg,#e0f0e7,#f1f9f5)}
.student-dashboard #dash-space .student-project .progress-bar{background:linear-gradient(90deg,#dfe9f7,#f2f6fc)}
.student-dashboard #dash-space .student-resume .progress-bar>span{background:linear-gradient(90deg,#287a50,#65cf95)}
.student-dashboard #dash-space .student-project .progress-bar>span{background:linear-gradient(90deg,#416fa8,#78b9e9)}
.student-dashboard #dash-space .dashboard-notes details{border-color:#c7afdb;border-left:3px solid #9870bd}
.student-dashboard #dash-space .dashboard-notes summary{color:#704d91}
.student-dashboard #dash-space .dashboard-notes summary span{background:#efe5f7;color:#704d91}
/* Orange accents for the lessons card. */
.student-dashboard #dash-space .student-resume{border-color:#e6ad85;border-top-color:#c35b20;box-shadow:inset 0 5px 24px #e887360b}
.student-dashboard #dash-space .student-resume .dashboard-track-label{background:linear-gradient(100deg,#aa4518,#c76022);color:#fff;border:0;border-image:none;padding:14px 16px;margin-bottom:20px}
.student-dashboard #dash-space .student-resume h2{color:#9c461e}
.student-dashboard #dash-space .student-resume .page-kicker{color:#9c461e!important}
.student-dashboard #dash-space .student-resume .dashboard-progress-label{border-top-color:#ebc5a8}
.student-dashboard #dash-space .student-resume .progress-bar{background:linear-gradient(90deg,#f5dfcd,#fff6ed)}
.student-dashboard #dash-space .student-resume .progress-bar>span{background:linear-gradient(90deg,#bd541d,#ef9b54)}
.student-dashboard #dash-space .student-resume .btn{background:#a94a1c!important;border-color:#a94a1c!important;color:#fff!important}

.student-dashboard #dash-space .student-project .dashboard-track-label{background:linear-gradient(100deg,#284f83,#416fab);color:#fff;border:0;border-image:none;padding:14px 16px;margin-bottom:20px}
.dashboard-progress-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin:0 0 30px}
.dashboard-progress-overview>div>div:first-child{display:flex;justify-content:space-between;gap:12px;align-items:baseline;flex-wrap:wrap;color:#f3fff7;margin-bottom:12px}
.dashboard-progress-overview strong{font-size:16px}.dashboard-progress-overview span{font-size:14px}
.overview-meter{height:12px;background:#ffffff26;border-radius:6px;overflow:hidden;border:1px solid #ffffff35}
.overview-meter>span{display:block;height:100%;border-radius:5px}
.overview-lessons .overview-meter{border-color:#e59b64}.overview-projects .overview-meter{border-color:#7daee9}
.overview-lessons .overview-meter>span{background:linear-gradient(90deg,#d96b2b,#ffb779)}
.overview-projects .overview-meter>span{background:linear-gradient(90deg,#4a83cc,#91c5ff)}
@media(max-width:750px){.dashboard-progress-overview{grid-template-columns:1fr;gap:22px}}

/* Present the current lesson as one identifiable list item. */
.dashboard-current-lesson{background:#fff8f2;border:1px solid #efd2bb;padding:18px;margin:0 0 16px}
.current-lesson-module{font-size:13px;font-weight:600;line-height:1.6;color:#855033;margin-bottom:14px}
.current-lesson-row{display:flex;align-items:flex-start;gap:14px}
.current-lesson-number{flex:0 0 38px;height:38px;display:grid;place-items:center;background:#f6dfcb;color:#91431d;font-weight:750;border-radius:5px}
.student-dashboard #dash-space .current-lesson-row h2{font-size:20px;line-height:1.35;min-height:0;margin:0 0 8px;color:#593722}
.student-dashboard #dash-space .current-lesson-row p{font-size:13px;margin:0;color:#79533d}
.current-lesson-status{display:flex;justify-content:flex-end;margin-top:auto}
.current-lesson-status span{font-size:12px;font-weight:650;color:#93451e;background:#fff0e3;padding:5px 10px;border-radius:4px}
.student-dashboard #dash-space .student-resume .dashboard-progress-label{margin-top:10px}

/* Project list item mirrors the current lesson, with blue accents. */
.dashboard-current-project{background:#f3f7fd;border:1px solid #c6d8ef;padding:18px;margin:0 0 16px}
.current-project-module{font-size:13px;font-weight:600;line-height:1.6;color:#41638a;margin-bottom:14px}
.current-project-row{display:flex;align-items:flex-start;gap:14px}
.current-project-number{flex:0 0 38px;height:38px;display:grid;place-items:center;background:#dce9fa;color:#355c90;font-weight:750;border-radius:5px}
.student-dashboard #dash-space .current-project-row h2{font-size:20px;line-height:1.35;min-height:0;margin:0 0 8px;color:#2c4c75}
.student-dashboard #dash-space .current-project-row p{font-size:13px;margin:0;color:#4c6687}
.current-project-status{display:flex;justify-content:flex-end;margin-top:auto}
.current-project-status span{font-size:12px;font-weight:650;color:#355c90;background:#e7f0fc;padding:5px 10px;border-radius:4px}
.student-dashboard #dash-space .student-project .dashboard-progress-label{margin-top:10px}

.student-dashboard .current-lesson-module,.student-dashboard .current-project-module{font-weight:800}


/* White programme with the same deep green as the progress section. */
.student-dashboard .student-curriculum{background:#fff;color:#183f30}
.student-dashboard .student-curriculum .student-section-heading h2,.student-dashboard .student-curriculum .student-section-heading>a,.student-dashboard .student-curriculum .page-kicker,.student-dashboard .student-curriculum .module-search,.student-dashboard .student-curriculum .module-empty{color:#183f30;border-left-color:#183f30}
.student-dashboard .student-curriculum .module-filters button{color:#183f30;border-color:#69927b;background:#fff}
.student-dashboard .student-curriculum .module-filters button[aria-pressed="true"]{background:#183f30;border-color:#183f30;color:#fff}
.student-dashboard .student-curriculum .module-search input{background:#fff;color:#183f30;border-color:#69927b}
.student-dashboard .student-curriculum .module-search input::placeholder{color:#486e59;opacity:1}
.student-dashboard .student-curriculum .student-module{background:#fff;border-color:#69927b;border-left-color:#183f30}
.student-dashboard .student-curriculum .student-module h3,.student-dashboard .student-curriculum .student-module small,.student-dashboard .student-curriculum .student-module-percent{color:#183f30}
.student-dashboard .student-curriculum .student-module-number{background:#e1eee6;color:#183f30}
.student-dashboard .student-curriculum .progress-bar{background:#d6e7dd}
.student-dashboard .student-curriculum .progress-bar>span{background:#183f30}

.student-dashboard .student-curriculum .module-filters{background:#183f30;border-color:#183f30}


.student-dashboard .dashboard-final h2,.student-dashboard .dashboard-interviews h2{font-size:clamp(25px,2.6vw,34px);font-weight:700;line-height:1.25;letter-spacing:-.025em;margin:0 0 22px}
/* Consistent section boundaries across the dashboard. */
.student-dashboard #dash-profile,.student-dashboard #dash-space,.student-dashboard #dash-program,.student-dashboard #dash-tools,.student-dashboard #dash-interviews{position:relative}
.student-dashboard #dash-profile::after,.student-dashboard #dash-space::after,.student-dashboard #dash-program::after,.student-dashboard #dash-tools::after,.student-dashboard #dash-interviews::after{content:"";position:absolute;bottom:0;left:clamp(20px,4vw,76px);right:clamp(20px,4vw,76px);height:2px;pointer-events:none;background:linear-gradient(90deg,transparent,#65cf95 15%,#287347 50%,#65cf95 85%,transparent);z-index:1}
.student-dashboard #dash-space::after{background:linear-gradient(90deg,transparent,#e9a268 20%,#82c0ef 80%,transparent)}
.student-dashboard #dash-program::after{background:linear-gradient(90deg,transparent,#508a6a 20%,#a887c5 80%,transparent)}
.student-dashboard #dash-tools::after{background:linear-gradient(90deg,transparent,#c5a1e4 20%,#80bce7 80%,transparent)}
.student-dashboard #dash-interviews::after{background:linear-gradient(90deg,transparent,#547ca4 25%,#8bb4d4 75%,transparent)}
/* Continuous lesson sidebars instead of nested cards. */
body:not(.academy-home) .pattern-course .course-sidebar{border:0;border-radius:0;box-shadow:none;padding:16px 12px}
body:not(.academy-home) .pattern-course .course-module-card{background:transparent;border:0;border-bottom:1px solid #349b56;border-radius:0;box-shadow:none;margin:0;overflow:visible}
.pattern-course .course-module-card>summary{background:transparent;border:0;padding:18px 8px}
.pattern-course .course-module-body{background:transparent;border-top:1px solid #46b469;padding:10px 0 16px}
.pattern-course .course-lesson-link{border:0;border-radius:0;padding:10px 8px}
body:not(.academy-home) .pattern-course .course-lesson-link.active{border:0!important;border-left:3px solid #c35b20!important;box-shadow:none;background:#fff2e7!important}
.pattern-course .course-lesson-link.done{background:#ffffff25}
body:not(.academy-home) .pattern-course .course-aside{background:#f0f7fc;border:0;border-radius:0;box-shadow:none;padding:18px 16px}
.pattern-course .course-aside .course-side-card{background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible;margin:0 0 24px;padding:0 0 24px;border-bottom:1px solid #a6c2da}
body:not(.academy-home) .pattern-course .course-aside .course-side-card .course-side-card-title{background:transparent!important;color:#163b70!important;border:0;border-left:3px solid var(--support-color);padding:4px 0 4px 12px;font-size:16px}
.pattern-course .course-aside .course-side-card-body{background:transparent;padding:16px 0 0}
.pattern-course .course-aside .resource-item{background:transparent;border:0;border-bottom:1px solid #c0d4e4;border-radius:0;padding:10px 0}
.pattern-course .course-aside .tutor-msg{border:0;border-radius:0;box-shadow:none;background:#e0edf7;padding:12px}
.pattern-course .course-aside .course-side-card:last-child{border-bottom:0;margin-bottom:0}

/* Readable numbered lesson index and full-width support sections. */
body:not(.academy-home) .pattern-course .course-sidebar{background:#24613e!important;color:#fff;scrollbar-color:#a0e6b6 #24613e}
.pattern-course .course-sidebar .course-module-title strong,.pattern-course .course-sidebar .course-lesson-link strong,.pattern-course .course-sidebar .module-index-progress,.pattern-course .course-sidebar .course-chevron{color:#fff}
body:not(.academy-home) .pattern-course .course-sidebar .course-module-title small,body:not(.academy-home) .pattern-course .course-sidebar .course-lesson-link small,body:not(.academy-home) .pattern-course .course-sidebar .course-module-body>p,body:not(.academy-home) .pattern-course .course-sidebar .course-side-progress strong{color:#e1f2e6!important}
.pattern-course .course-sidebar .course-lesson-link{grid-template-columns:42px minmax(0,1fr)}
.pattern-course .course-sidebar .course-lesson-link>span{width:42px;min-height:28px;font-size:12px;background:#16482b!important;color:#fff!important}
body:not(.academy-home) .pattern-course .course-sidebar .course-lesson-link.active{background:#16482b!important;border-left-color:#f4ce19!important}
.pattern-course .course-sidebar .course-lesson-link:hover{background:#1a5032}
.pattern-course .course-sidebar .course-module-card{border-bottom-color:#639577!important}
.pattern-course .course-sidebar .course-module-body{border-top-color:#639577}
body:not(.academy-home) .pattern-course .course-aside{padding:0;background:#f0f7fc}
.pattern-course .course-aside .course-side-card{padding:0 0 22px;margin:0 0 20px}
body:not(.academy-home) .pattern-course .course-aside .course-side-card .course-side-card-title{background:var(--support-color)!important;color:var(--support-text)!important;border:0;padding:14px 18px;font-size:16px;line-height:1.35}
.pattern-course .course-aside .course-side-card-body{padding:18px;overflow-wrap:anywhere}
.pattern-course .course-aside .objective-list{padding-left:19px;margin:0}
.pattern-course .course-aside .objective-list li{margin-bottom:12px;line-height:1.65}
.pattern-course .course-aside .tutor-input{display:flex;flex-wrap:wrap;gap:8px}
.pattern-course .course-aside .tutor-input input{flex:1 1 140px;min-width:0;width:100%}
.pattern-course .course-aside .tutor-input button{flex:1 0 auto;padding:10px}
.pattern-course .course-aside .tutor-quick{display:flex;flex-wrap:wrap;gap:8px}
.pattern-course .course-aside .tutor-quick button{white-space:normal;text-align:left;max-width:100%}
.pattern-course .course-aside textarea{width:100%;box-sizing:border-box}
.pattern-course .course-aside .resource-item{display:block;line-height:1.6}

/* Expansion controls live in the column headers, with a persistent index rail. */
.lesson-index-head,.lesson-tools-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;margin-bottom:12px;border-bottom:1px solid #ffffff50}
.lesson-index-head{position:sticky;top:0;background:#24613e;z-index:3;color:white;font-weight:700}
.lesson-tools-head{position:sticky;top:0;z-index:3;margin:0;padding:12px 16px;background:#dcecf8;border-color:#a6c2da;color:#163b70;font-weight:700}
.study-index-toggle,.study-tools-toggle{display:grid!important;place-items:center;padding:0!important;cursor:pointer;width:48px;height:48px;border-radius:50%!important;color:#fff;border:1px solid rgba(255,255,255,.22);transition:transform .2s cubic-bezier(.2,.8,.3,1),box-shadow .2s ease,background-color .2s ease}
.study-index-toggle{background:radial-gradient(120% 120% at 30% 22%,#0fae7e 0%,var(--green) 62%,#066b4d 100%)}
.study-tools-toggle{background:radial-gradient(120% 120% at 30% 22%,#3b86f0 0%,var(--blue) 60%,#0f49b0 100%)}
.study-index-toggle,.study-tools-toggle{box-shadow:0 8px 20px rgba(7,24,42,.24),inset 0 1px 0 rgba(255,255,255,.28),inset 0 -2px 6px rgba(0,0,0,.18)}
.study-index-toggle:hover,.study-tools-toggle:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 12px 26px rgba(7,24,42,.3),inset 0 1px 0 rgba(255,255,255,.32),inset 0 -2px 6px rgba(0,0,0,.2)}
.study-index-toggle:active,.study-tools-toggle:active{transform:translateY(0) scale(.96)}
.study-index-toggle:focus-visible,.study-tools-toggle:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}
.study-index-toggle svg,.study-tools-toggle svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 1px rgba(0,0,0,.18))}
.course-context-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-6px 0 18px;padding-bottom:12px;border-bottom:1px solid #ffffff45}
.course-context-toolbar a{color:#fff;font-size:14px;font-weight:700}.course-context-toolbar button{background:#fff;color:#163b70;border:0;padding:10px 14px;border-radius:5px;font-weight:700;cursor:pointer}
body:not(.academy-home) .pattern-course.study-nav-collapsed{grid-template-columns:60px minmax(0,1fr) 250px}
body:not(.academy-home) .pattern-course.study-nav-collapsed>.course-sidebar{display:block!important;padding:8px}
.pattern-course.study-nav-collapsed>.course-sidebar>:not(.lesson-index-head),.pattern-course.study-nav-collapsed .lesson-index-head>span{display:none}
.pattern-course.study-nav-collapsed .lesson-index-head{justify-content:center;border:0}
body:not(.academy-home) .pattern-course.study-tools-collapsed{grid-template-columns:260px minmax(0,1fr) 60px}
body:not(.academy-home) .pattern-course.study-tools-collapsed>.course-aside{display:block!important;padding:8px}
.pattern-course.study-tools-collapsed>.course-aside>:not(.lesson-tools-head),.pattern-course.study-tools-collapsed .lesson-tools-head>span{display:none}
.pattern-course.study-tools-collapsed .lesson-tools-head{justify-content:center;border:0;padding:4px;background:transparent}
body:not(.academy-home) .pattern-course.study-nav-collapsed.study-tools-collapsed,body:not(.academy-home) .pattern-course.study-focus{grid-template-columns:60px minmax(0,1fr) 60px;justify-content:stretch}
@media(max-width:1150px){body:not(.academy-home) .pattern-course.study-nav-collapsed{grid-template-columns:60px minmax(0,1fr)}.pattern-course.study-nav-collapsed>.course-aside{grid-column:2}}
@media(max-width:900px){body:not(.academy-home) .pattern-course.course-shell{grid-template-columns:minmax(0,1fr)}body:not(.academy-home) .pattern-course>.course-sidebar{display:block!important;position:static;height:auto;max-height:55vh;grid-column:1}body:not(.academy-home) .pattern-course.study-nav-collapsed{grid-template-columns:minmax(0,1fr)}.pattern-course.study-nav-collapsed>.course-sidebar{grid-column:1;grid-row:auto}.pattern-course.study-nav-collapsed>.course-main{grid-column:1}.pattern-course.study-nav-collapsed>.course-aside{grid-column:1}body:not(.academy-home) .pattern-course.study-focus{grid-template-columns:minmax(0,1fr)}.pattern-course.study-focus>.course-main{grid-column:1}}
/* Neutral reading text in the central lesson column. */
.pattern-course .course-main .pattern-body{color:#303438}
.pattern-course .course-main .pattern-body p,
.pattern-course .course-main .pattern-body li,
.pattern-course .course-main .pattern-body td,
.pattern-course .course-main .pattern-body label,
.pattern-course .course-main .pattern-body .panel,
.pattern-course .course-main .pattern-body .hint,
.pattern-course .course-main .lesson-title-section p,
.pattern-course .course-main .lesson-meta-row,
.pattern-course .course-main .course-context-stats small{color:#303438}
.pattern-course .course-main .pattern-body p strong,
.pattern-course .course-main .pattern-body li strong{color:inherit}
.pattern-course .course-main .pattern-body a{color:#163b70}
/* Black lesson typography; preserve white text on the blue context header. */
.pattern-course .course-main .pattern-body,
.pattern-course .course-main .pattern-body :is(p,li,td,th,label,h3,h4,strong,small,a,.panel,.hint),
.pattern-course .course-main .lesson-title-section :is(h1,h2,p),
.pattern-course .course-main .lesson-meta-row{color:#111}
.pattern-course .course-main .course-context-top{background:#163b70!important;color:#fff}
.pattern-course .course-main .course-context-top :is(h1,h2,h3,p,span,strong,small,a){color:#fff!important}
/* Lighter main lesson heading. */
.pattern-course .course-main .lesson-title-section h2{font-family:"Segoe UI",Arial,sans-serif;font-size:clamp(24px,2.1vw,30px);font-weight:500;line-height:1.3;letter-spacing:-.015em;margin-bottom:12px}
/* Lighter typography for lesson subsection titles. */
.pattern-course .course-main .pattern-head h3{font-family:"Segoe UI",Arial,sans-serif;font-size:18px;font-weight:500;line-height:1.35;letter-spacing:0}
.pattern-course .course-main .pattern-body :is(h3,h4){font-family:"Segoe UI",Arial,sans-serif;font-size:clamp(20px,1.7vw,24px);font-weight:500;line-height:1.35;letter-spacing:-.01em}
/* Tutor content uses the full sidebar width. */
.pattern-course .course-aside .ai-tutor-card{width:100%;max-width:none;margin-inline:0;box-sizing:border-box}
.pattern-course .course-aside .ai-tutor-card .course-side-card-body{padding:12px 8px;width:100%;max-width:none;box-sizing:border-box}
.pattern-course .course-aside .ai-tutor-card .tutor-chat{width:100%;max-width:none;justify-items:stretch}
.pattern-course .course-aside .ai-tutor-card .tutor-msg{width:100%;box-sizing:border-box;margin-inline:0;text-align:left}
.pattern-course .course-aside .ai-tutor-card .tutor-quick{display:grid;grid-template-columns:minmax(0,1fr);width:100%}
.pattern-course .course-aside .ai-tutor-card .tutor-quick button{width:100%;box-sizing:border-box;text-align:left}
.pattern-course .course-aside .ai-tutor-card .tutor-input{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:6px;width:100%}
.pattern-course .course-aside .ai-tutor-card .tutor-input input{width:100%;min-width:0;box-sizing:border-box}

/* Approved brand artwork, used unchanged through SVG viewport framing. */
.academy-brand{flex-shrink:0}.academy-brand .brand-logo{display:block;width:220px;height:auto;object-fit:contain;background:#fff}
.footer-brand{display:inline-block;background:#fff;padding:8px 12px;border-radius:4px}.footer-brand .brand-logo{display:block;width:220px;height:auto}
.certificate-brand-logo{display:block;width:300px;max-width:100%;height:auto;margin:0 auto 25px}
@media(max-width:700px){.academy-brand .brand-logo{width:150px}.footer-brand .brand-logo{width:190px}}

.academy-home .hero-brand-logo{display:block;width:clamp(220px,30vw,390px);height:auto;max-width:100%;margin:0 auto 22px;background:transparent}

/* Home-only subtitle backing, preserving the transparent logo. */
.academy-home .nav .academy-brand{display:none}
.academy-home .nav .nav-inner{justify-content:flex-end}
.academy-home .hero-brand-lockup{position:relative;isolation:isolate;width:clamp(220px,30vw,390px);max-width:100%;margin:0 auto 22px}
.academy-home .hero-brand-lockup::before{content:"";position:absolute;z-index:-1;left:44.2%;top:69.3%;width:41.2%;height:10.8%;background:#fff;border-radius:2px}
.academy-home .hero-brand-lockup .hero-brand-logo{display:block;width:100%;height:auto;margin:0}

.academy-home .hero-brand-lockup{width:clamp(300px,48vw,620px);max-width:100%;margin-bottom:30px}
.academy-home .hero-brand-lockup{width:clamp(320px,60vw,780px);max-width:100%}
.academy-home .home-hero::before{background:linear-gradient(180deg,rgba(13,30,20,.63),rgba(13,30,20,.64) 65%,rgba(13,30,20,.80))}

/* Omnira verifiable professional credential */
.cert-kicker{font-size:13px!important;font-weight:850;letter-spacing:.14em;text-transform:uppercase;color:#2058a0}.cert-verify-block{display:flex;align-items:center;justify-content:center;gap:24px;max-width:720px;margin:34px auto 26px;padding:18px;border:1px solid #bed4f2;border-radius:12px;background:#f7fbff;text-align:left}.cert-verify-block>div{min-width:0}.cert-verify-block p{margin:5px 0}.cert-qr{width:138px;height:138px;background:#fff;border:8px solid #fff;box-shadow:0 0 0 1px #d5e4f7;flex:0 0 auto}.credential-verification{max-width:760px;margin:20px auto;padding:36px;background:#fff;border:1px solid #91b7e5;border-radius:18px;box-shadow:0 14px 40px rgba(22,59,112,.08)}.verification-status{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#e1f8e8;color:#176034;font-size:13px;font-weight:850;letter-spacing:.04em}.verification-logo{display:block;max-width:260px;width:70%;height:auto;margin:30px 0 18px}.credential-verification h2{font-size:clamp(28px,4vw,42px);margin:10px 0;color:#163b70}.verification-credential{font-weight:800;color:#2058a0;font-size:18px!important}.credential-verification dl{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid #d8e6f7;border-radius:12px;overflow:hidden;margin:28px 0}.credential-verification dl>div{padding:18px;border-bottom:1px solid #d8e6f7}.credential-verification dl>div:nth-child(odd){border-right:1px solid #d8e6f7}.credential-verification dl>div:nth-last-child(-n+2){border-bottom:0}.credential-verification dt{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#5a789e}.credential-verification dd{margin:6px 0 0;font-weight:700;line-height:1.5;overflow-wrap:anywhere}.verification-note{font-size:13px!important;color:#526b8d}.cert-details{align-items:flex-start}.cert-details>span{flex:1;min-width:0}
@media(max-width:650px){.cert-verify-block{flex-direction:column;text-align:center}.credential-verification{padding:24px}.credential-verification dl{grid-template-columns:1fr}.credential-verification dl>div,.credential-verification dl>div:nth-child(odd),.credential-verification dl>div:nth-last-child(-n+2){border-right:0;border-bottom:1px solid #d8e6f7}.credential-verification dl>div:last-child{border-bottom:0}}
@media print{.cert-verify-block{break-inside:avoid}.cert-qr{width:118px;height:118px}}

/* ===== Mobile optimisation (global) ===== */
html{-webkit-text-size-adjust:100%}
@media(max-width:900px){
 .nav-links a.btn.primary,.nav-links a.primary{display:inline-flex}
}
@media(max-width:760px){
 body{overflow-x:hidden}
 img,svg,canvas,video,iframe{max-width:100%}
 pre,.table-wrap,.dataset-table,.code-block{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
 input,select,textarea{font-size:16px}
 .nav-inner{gap:10px;flex-wrap:nowrap}
 .nav-links{gap:8px;flex-wrap:nowrap}
 .nav .pill,.nav .primary{display:inline-flex;align-items:center;min-height:42px;padding:9px 13px;font-size:13px;white-space:nowrap}
 .academy-brand .brand-logo{width:140px}
 .btn{min-height:44px}
 .cta-row .btn,.enrollment-card .btn,.full{width:100%}
 /* Offerta: barra ancorata in basso, non copre la navigazione */
 footer a,.footer-grid a{display:inline-block;padding:4px 0}
}
@media(max-width:420px){
 .academy-brand .brand-logo{width:120px}
 .nav .pill,.nav .primary{padding:9px 11px;font-size:12px}
}

/* ===== Mobile optimisation · pagine interne (dashboard, lezione, pratica) ===== */
@media(max-width:760px){
 /* Offerta compatta nelle pagine interne: non copre i contenuti */
 body:not(.academy-home) .student-dashboard,
 body:not(.academy-home) .pattern-course,
 body:not(.academy-home) .practice-page{padding-bottom:110px}

 /* Dashboard: menu sezioni scorrevole a pastiglie */
 .dashboard-side{gap:8px;padding:12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;border-bottom:1px solid #d2e1d8}
 .dashboard-side::-webkit-scrollbar{display:none}
 .dashboard-side button{flex:0 0 auto;min-height:42px;padding:10px 15px;border:1px solid #cfe0d5;border-bottom:1px solid #cfe0d5;border-radius:999px;background:#fff;scroll-snap-align:start}
 .dashboard-personal{padding:24px 18px}
 .dashboard-personal h2{font-size:28px;line-height:1.15}
 .dashboard-personal dl{grid-template-columns:1fr;gap:12px}
 .dashboard-progress-overview{grid-template-columns:1fr;gap:14px}
 .student-dashboard .student-workspace,
 .student-dashboard .student-curriculum,
 .student-dashboard .career-entry-grid,
 .student-dashboard .student-access,
 .student-dashboard .student-library{padding-inline:18px}
 .student-dashboard .student-workspace .student-resume,
 .student-dashboard .student-workspace .student-project{padding:22px!important}
 .student-workspace .student-focus h2,.student-focus h2{font-size:22px}
 .student-focus p{font-size:15px}
 .student-module{grid-template-columns:36px minmax(0,1fr);gap:12px;padding:18px}
 .student-module-percent{grid-column:1/-1;text-align:left}
 .module-tools{flex-direction:column;align-items:stretch;gap:12px}
 .module-filters{overflow-x:auto;flex-wrap:nowrap}
 .module-filters button{flex:0 0 auto;min-height:42px}
 .module-search{display:block}
 .module-search input{width:100%;min-height:44px}
 .dashboard-final,.dashboard-interviews{padding-inline:18px}

  /* Lezione: pannelli laterali sovrapposti, con quello aperto in primo piano */
 body:not(.academy-home) .pattern-course.course-shell,
  body:not(.academy-home) .pattern-course.study-nav-collapsed,
  body:not(.academy-home) .pattern-course.study-tools-collapsed,
  body:not(.academy-home) .pattern-course.study-nav-collapsed.study-tools-collapsed,
  body:not(.academy-home) .pattern-course.study-focus{grid-template-columns:minmax(0,1fr)!important;gap:10px;padding:10px}
  body:not(.academy-home) .pattern-course.study-nav-collapsed>.course-sidebar{padding:2px 6px;border-radius:6px;height:auto;min-height:0;max-height:none;overflow:visible}
 .pattern-course.study-nav-collapsed .lesson-index-head{padding:8px 0;margin:0}
 body:not(.academy-home) .pattern-course.study-nav-collapsed>.course-main,
 body:not(.academy-home) .pattern-course>.course-main{grid-column:1;padding:0}
  body:not(.academy-home) .pattern-course>.course-main{grid-row:1;order:initial}
  body:not(.academy-home) .pattern-course>.course-sidebar,
  body:not(.academy-home) .pattern-course>.course-aside{position:fixed;top:76px;bottom:0;height:auto;max-height:none;width:min(88vw,370px);overflow:auto;z-index:80;border-radius:0;box-shadow:0 18px 45px #102c5450;transition:transform .2s ease}
  body:not(.academy-home) .pattern-course>.course-sidebar{left:0;transform:translateX(0)}
  body:not(.academy-home) .pattern-course>.course-aside{right:0;display:block;transform:translateX(0)}
   body:not(.academy-home) .pattern-course.study-nav-collapsed>.course-sidebar{left:10px;top:132px;bottom:auto;width:54px;height:54px;min-height:0;padding:0;background:transparent!important;border:0!important;box-shadow:none!important;transform:none;z-index:70}
   body:not(.academy-home) .pattern-course.study-tools-collapsed>.course-aside{right:10px;top:132px;bottom:auto;width:54px;height:54px;min-height:0;padding:0;background:transparent!important;border:0!important;box-shadow:none!important;transform:none;z-index:70}
   body:not(.academy-home) .pattern-course.study-nav-active>.course-sidebar,
   body:not(.academy-home) .pattern-course.study-tools-active>.course-aside{z-index:100}
   body:not(.academy-home) .pattern-course.study-focus>.course-sidebar,
   body:not(.academy-home) .pattern-course.study-focus>.course-aside{display:none!important}
   .pattern-course.study-nav-collapsed .lesson-index-head{justify-content:center;border:0;background:transparent;padding:0;margin:0}
   .pattern-course.study-tools-collapsed .lesson-tools-head{justify-content:center;margin:0;padding:0;background:transparent;border:0}
  .course-context-toolbar{align-items:stretch;flex-direction:column}
  .course-context-toolbar a,.course-context-toolbar button{min-height:42px;display:flex;align-items:center;justify-content:center;text-align:center}
  .pattern-course .course-section-nav{gap:24px;padding:0 16px}.pattern-course .course-section-nav a{min-height:46px;font-size:13px}
 .pattern-course>.course-sidebar{max-height:58vh;overflow:auto}
 .lesson-title-section{flex-direction:column;padding:18px}
 .lesson-title-section h2{font-size:25px}
 .lesson-title{font-size:28px}
 .lesson-meta-row{padding:10px 16px;gap:10px}
 .lesson-patterns{padding:16px}
 .lesson-actions{padding:0 16px 18px;flex-direction:column}
 .lesson-actions .btn{width:100%}
 .study-toolbar{flex-wrap:wrap;padding:12px 14px}
 .ai-practice-zone{margin:0 0 18px}
 .ai-practice-head{flex-direction:column;padding:16px}
 .ai-lab-toolbar{flex-direction:column;align-items:stretch;gap:8px}
 .notes-card textarea{min-height:120px}
}

/* Navigazione di sezione condivisa (Dashboard · Lezioni · Laboratori) */
.app-section-nav{position:sticky;top:var(--app-header-h,72px);z-index:35;display:flex;align-items:stretch;gap:28px;padding:0 18px;background:#fff;border-bottom:2px solid #e2ebf7;box-shadow:0 4px 14px rgba(22,59,112,.1);overflow-x:auto;scrollbar-width:none}
.app-section-nav::-webkit-scrollbar{display:none}
.app-section-nav a{position:relative;display:flex;align-items:center;min-height:48px;color:#365c88;font-size:14px;font-weight:750;white-space:nowrap;text-decoration:none}
.app-section-nav a:hover{color:#163b70}
.app-section-nav a.active{color:#163b70}
.app-section-nav a.active::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:#ff841f;border-radius:3px 3px 0 0}
@media(max-width:900px){.app-section-nav{gap:24px;padding:0 16px}.app-section-nav a{min-height:46px;font-size:13px}}

/* Barra sezioni (Dashboard/Lezioni/Laboratori): solo mobile */
@media(min-width:901px){.app-section-nav,.pattern-course .course-section-nav{display:none!important}}
