:root{color:var(--muted);background:var(--surface2);--bg:var(--line);--paper:var(--line);--ink:var(--line);--muted:var(--line);--accent:var(--line);--light:var(--line);--line:var(--line);--sand:var(--line);--shadow:0 4px 20px var(--line);font-synthesis:none;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.6}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:0}button:disabled{opacity:.5;cursor:not-allowed}a{color:var(--accent);text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--line);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.035em;font-weight:550;line-height:1.3}h1{margin-bottom:12px;font-size:33px}h2{margin-bottom:16px;font-size:25px}h3{margin-bottom:10px;font-size:16px;font-weight:600}p{color:var(--muted);margin-bottom:15px;line-height:1.8}small{color:var(--muted)}strong{font-weight:600}svg{flex-shrink:0}input,select,textarea{background:var(--paper);border:1px solid var(--line);border-radius:8px;max-width:100%;padding:11px 13px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:var(--muted)}label{margin-bottom:17px;font-size:12px;font-weight:550;display:block}label>input:not([type=checkbox]):not([type=radio]),label>select,label>textarea{width:100%;margin-top:7px;font-weight:400;display:block}ul{color:var(--muted);padding-left:21px;font-size:13px;line-height:1.9}hr{border:0;border-top:1px solid var(--line);margin:24px 0}.btn{background:var(--accent);color:var(--line);border:1px solid var(--accent);border-radius:8px;justify-content:center;align-items:center;gap:10px;padding:11px 17px;font-size:12px;font-weight:550;line-height:1.6;transition:background .2s,transform .2s;display:inline-flex}.btn:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.btn.secondary{color:var(--accent);background:var(--paper);border-color:var(--line)}.btn.recording{background:var(--surface2);border-color:var(--line)}.icon-button{color:var(--muted);background:0 0;border-radius:7px;justify-content:center;align-items:center;padding:7px;display:inline-flex}.icon-button:hover{background:var(--light)}.text-button{color:var(--accent);background:0 0;align-items:center;gap:7px;padding:5px 0;font-size:12px;font-weight:550;display:inline-flex}.text-button:hover{text-decoration:underline}.tag{background:var(--surface2);color:var(--muted);white-space:nowrap;border-radius:5px;align-items:center;gap:6px;padding:4px 8px;font-size:10px;line-height:1.5;display:inline-flex}.tag.green,.tag.red{background:var(--surface2);color:var(--muted)}.row{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.eyebrow{letter-spacing:.17em;color:var(--muted);margin-bottom:12px;font-size:9px;font-weight:600}.muted{color:var(--muted)}.small{font-size:11px}.lead{font-size:16px;line-height:1.9}.center{text-align:center}.preserve{white-space:pre-wrap}.panel{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;margin-bottom:22px;padding:26px}.notice{background:var(--surface2);border:1px solid var(--line);color:var(--muted);border-radius:9px;align-items:flex-start;gap:12px;margin:18px 0;padding:15px 18px;font-size:12px;line-height:1.8;display:flex}.notice svg{margin-top:3px}.notice p{color:inherit;margin:6px 0 0;font-size:12px}.notice.error{background:var(--surface2);border-color:var(--line);color:var(--muted)}.notice.quiet{border-color:var(--line);color:var(--muted);background:0 0}.loading{color:var(--muted);justify-content:center;align-items:center;gap:12px;padding:45px;display:flex}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty{text-align:center;max-width:550px;margin:auto;padding:45px 20px}.empty p{max-width:400px;margin:0 auto 20px;font-size:13px}.empty-icon{background:var(--light);color:var(--muted);border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 22px;display:flex}.boot-screen{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex}.sidebar{background:var(--paper);border-right:1px solid var(--line);z-index:20;flex-direction:column;width:220px;padding:31px 17px 20px;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:auto}.brand{align-items:center;gap:11px;margin:4px 12px 38px;display:flex}.brand-mark{background:var(--surface2);width:39px;height:43px;color:var(--line);border-radius:12px 12px 12px 3px;flex-shrink:0;justify-content:center;align-items:center;padding-bottom:10px;font-family:Georgia,serif;font-size:43px;line-height:1;display:flex}.brand>span:last-child{letter-spacing:-1.7px;font-size:29px;font-weight:600;line-height:1}.brand i{color:var(--muted);font-style:normal}.brand small{letter-spacing:0;white-space:nowrap;margin-top:9px;font-size:9px;font-weight:400;display:block}.nav-label{letter-spacing:.15em;color:var(--muted);margin:0 13px 14px;font-size:8px}.nav-item{color:var(--muted);border-radius:7px;align-items:center;gap:11px;margin-bottom:2px;padding:9px 13px;font-size:12px;display:flex}.nav-item:hover{background:var(--bg)}.nav-item b{background:var(--surface2);text-align:center;border-radius:4px;min-width:18px;margin-left:auto;padding:1px 4px;font-size:9px}.nav-divider{background:var(--line);height:1px;margin:14px 13px}.sidebar-bottom{margin-top:auto;padding:26px 13px 6px}.sidebar-bottom p{color:var(--muted);margin:12px 0 6px;font-family:Georgia,serif;font-size:17px;font-style:italic;line-height:1.5}.sidebar-bottom small{color:var(--muted);font-size:8px}.italy-dots{gap:4px;display:flex}.italy-dots i{background:var(--surface2);border-radius:50%;width:5px;height:5px}.italy-dots i:nth-child(2),.italy-dots i:last-child{background:var(--surface2)}.workspace{margin-left:220px}.topbar{background:var(--paper);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:75px;padding:0 40px;display:flex}.breadcrumbs{color:var(--muted);align-items:center;gap:11px;font-size:10px;display:flex}.breadcrumbs strong{color:var(--muted);font-weight:500}.topbar-right{align-items:center;gap:16px;display:flex}.local-label{color:var(--muted);align-items:center;gap:7px;font-size:9px;display:flex}.local-label i{background:var(--surface2);border-radius:50%;width:5px;height:5px}.local-label i.online{background:var(--surface2)}.level-select{background:var(--bg);border:0;max-width:70px;padding:5px 8px;font-size:11px}.avatar{background:var(--surface2);width:30px;height:30px;color:var(--muted);border-radius:50%;justify-content:center;align-items:center;font-family:Georgia;font-size:13px;display:flex}.mobile-menu{display:none}main{max-width:1500px;margin:auto;padding:35px 40px 8px;animation:.2s ease-out arrive}@keyframes arrive{0%{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:none}}footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;margin-top:34px;padding:22px 0 10px;font-size:9px;display:flex}footer>span:first-child{color:var(--muted);font-family:Georgia;font-size:15px}footer i{margin-left:10px;font-size:10px}.greeting{justify-content:space-between;align-items:center;margin-bottom:25px;display:flex}.greeting .eyebrow{margin-bottom:9px;font-size:8px}.greeting h1{margin-bottom:7px;font-size:26px}.greeting h1 span{color:var(--muted);font-size:23px;font-weight:400}.greeting p{margin:0;font-size:12px}.hero-card{background:var(--surface2);border:1px solid var(--line);border-radius:14px;height:355px;margin-bottom:23px;position:relative;overflow:hidden}.hero-copy{z-index:2;width:63%;padding:33px 36px;position:relative}.hero-copy .eyebrow{color:var(--muted);margin-bottom:15px;font-size:8px}.hero-copy h2{color:var(--muted);letter-spacing:-1.4px;margin-bottom:15px;font-family:Georgia,Times New Roman,serif;font-size:40px;font-weight:400;line-height:1.06}.hero-copy h2 i{color:var(--muted);font-weight:400;display:block}.hero-copy p{max-width:390px;color:var(--muted);margin-bottom:20px;font-size:11px;line-height:1.8}.hero-copy .btn{padding:10px 15px;font-size:11px}.hero-foot{color:var(--muted);align-items:center;gap:7px;margin-top:17px;font-size:8px;display:flex}.hero-foot span{margin:0 1px}.italian-scene{background:var(--surface2);width:43%;position:absolute;top:0;bottom:0;right:0}.scene-sun{background:var(--surface2);border:1px solid var(--line);border-radius:50%;width:115px;height:115px;position:absolute;top:37px;left:90px}.scene-arch{border:1px solid var(--line);background:var(--surface2);border-radius:90px 90px 0 0;width:137px;height:216px;position:absolute;bottom:44px}.arch-back{left:153px;transform:rotate(5deg)}.arch-front{background:var(--surface2);border-color:var(--line);width:154px;height:217px;bottom:38px;left:52px;transform:rotate(-5deg)}.arch-front:before{content:"";border:1px solid var(--line);border-radius:76px 76px 0 0;position:absolute;inset:16px 15px 0}.arch-window{border:1px solid var(--line);background:var(--surface2);border-radius:30px 30px 0 0;width:50px;height:140px;position:absolute;bottom:0;left:26px}.arch-window.second{background:var(--surface2);border-color:var(--line);width:30px;height:100px;left:96px}.scene-steps{background:var(--surface2);border:1px solid var(--line);width:207px;height:10px;box-shadow:-8px 9px 0 var(--line),-17px 18px 0 var(--line);position:absolute;bottom:29px;left:22px;transform:rotate(-5deg)}.scene-plant{width:120px;height:166px;position:absolute;bottom:52px;right:18px;transform:rotate(10deg)}.scene-plant:before{content:"";background:var(--surface2);width:1px;height:170px;position:absolute;bottom:-20px;left:52px;transform:rotate(-13deg)}.scene-plant span{border:1px solid var(--line);background:var(--surface2);border-radius:0 90%;width:62px;height:24px;position:absolute;top:29px;left:9px;transform:rotate(31deg)}.scene-plant span:nth-child(2){top:50px;left:48px;transform:rotate(-60deg)}.scene-plant span:nth-child(3){top:79px;left:14px;transform:rotate(26deg)}.scene-plant span:nth-child(4){top:100px;left:50px;transform:rotate(-65deg)}.scene-word{color:var(--muted);font-family:Georgia;font-size:18px;line-height:1.3;position:absolute;top:28px;right:29px;transform:rotate(8deg)}.scene-caption{letter-spacing:.18em;color:var(--muted);font-size:7px;position:absolute;bottom:15px;right:28px}.stats-row{grid-template-columns:repeat(3,1fr);gap:18px;margin:21px 0 27px;display:grid}.stat-card{background:var(--paper);border:1px solid var(--line);border-radius:10px;align-items:center;gap:15px;padding:19px 20px;display:flex}.stat-card b{letter-spacing:-1px;font-size:25px;font-weight:500;line-height:1.25;display:block}.stat-card span{color:var(--muted);font-size:10px}.stat-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.stat-icon svg{stroke-width:1.5px}.sage,.peach,.sand,.lavender{background:var(--surface2);color:var(--muted)}.dashboard-grid{grid-template-columns:1.6fr 1fr;gap:22px;display:grid}.section-title{justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.section-title h2{letter-spacing:-.02em;margin:0;font-size:19px}.section-title h3{margin:0}.section-title>span{color:var(--muted);font-size:10px}.plan-list button{text-align:left;border-bottom:1px solid var(--line);background:0 0;align-items:center;gap:14px;width:100%;padding:16px 0;display:flex}.plan-list button:last-child{border:0;padding-bottom:3px}.step-num{border:1px solid var(--line);width:29px;height:29px;color:var(--muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:9px;display:flex}.plan-list strong{font-size:12px;font-weight:550;display:block}.plan-list p{color:var(--muted);margin:3px 0 0;font-size:10px}.plan-list small{white-space:nowrap;margin-left:auto;font-size:10px}.plan-list svg{color:var(--muted)}.vocabulary-promo{background:var(--surface2);overflow:hidden}.vocabulary-promo>svg{color:var(--muted);margin:13px 0}.vocabulary-promo h2{color:var(--muted);font-family:Georgia;font-size:24px;font-weight:400;line-height:1.45}.vocabulary-promo p{max-width:270px;font-size:12px}.vocabulary-promo .btn{font-size:11px}.word-chips{gap:8px;margin-top:24px;display:flex}.word-chips span{color:var(--muted);background:var(--surface2);border:1px solid var(--line);border-radius:5px;padding:5px 11px;font-family:Georgia;font-size:13px;font-style:italic;transform:rotate(-5deg)}.word-chips span:nth-child(2){transform:rotate(4deg)}.skill-grid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.skill-card{background:var(--paper);border:1px solid var(--line);text-align:left;border-radius:11px;padding:22px;transition:transform .2s,box-shadow .2s;position:relative}.skill-card:hover{box-shadow:0 9px 20px var(--line);transform:translateY(-3px)}.skill-card h3{margin:15px 0 5px;font-size:13px}.skill-card p{margin:0;font-size:10px}.skill-card>svg{color:var(--muted);position:absolute;top:34px;right:18px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;display:flex}.page-heading p{max-width:700px;margin:0;font-size:13px}.page-heading .eyebrow{font-size:8px}.module-grid,.material-grid{grid-template-columns:repeat(3,1fr);gap:20px;margin:25px 0;display:grid}.module-card{background:var(--paper);border:1px solid var(--line);text-align:left;border-radius:11px;padding:23px;transition:transform .2s,border-color .2s}.module-card:hover{border-color:var(--line);transform:translateY(-3px)}.module-top{justify-content:space-between;align-items:center;margin-bottom:19px;display:flex}.module-top>span:first-child{color:var(--muted);font-family:Georgia;font-size:27px}.module-card h3{font-size:15px}.module-card p{min-height:60px;font-size:12px}.module-bottom{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:10px;margin-top:17px;padding-top:14px;font-size:10px;display:flex}.search-field{background:var(--paper);border:1px solid var(--line);border-radius:8px;align-items:center;gap:11px;min-width:0;margin-bottom:22px;padding:0 14px;display:flex}.search-field svg{color:var(--muted)}.search-field input{background:0 0;border:0;outline:0;flex:1;width:100%;padding:14px 0;font-size:13px}.search-field input:focus-visible{outline:0}.search-field:focus-within{border-color:var(--line)}.grammar-layout{grid-template-columns:275px 1fr;align-items:start;gap:22px;display:grid}.rule-list{max-height:75vh;overflow:auto}.rule-list>button{text-align:left;border-bottom:1px solid var(--line);background:0 0;border-radius:7px;width:100%;padding:16px 28px 16px 13px;display:block;position:relative}.rule-list>button.selected{background:var(--light)}.rule-list>button span{font-size:13px;font-weight:550;display:block}.rule-list>button small{margin-top:5px;font-size:11px;line-height:1.5;display:block}.rule-list>button svg{color:var(--muted);position:absolute;top:20px;right:7px}.rule-detail{min-height:500px}.rule-detail>h2{margin-top:16px;font-size:29px}.readable{-webkit-user-select:text;user-select:text;font-size:15px;line-height:1.9}.readable p{color:var(--ink);white-space:pre-wrap;margin-bottom:18px}.formula{background:var(--sand);border-left:3px solid var(--line);border-radius:4px;margin:22px 0;padding:17px 20px}.formula strong{color:var(--muted);font-size:11px}.formula p{color:var(--muted);margin:6px 0 0;font-size:13px}.example{background:var(--bg);border-radius:8px;gap:12px;margin-bottom:13px;padding:15px;display:flex}.example>.icon-button{align-self:flex-start}.example .readable p{margin:0 0 3px;font-family:Georgia;font-size:19px}.example>div>p{margin:0;font-size:12px}.source-line{color:var(--muted);overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:7px;margin-top:22px;font-size:10px;line-height:1.7;display:flex}.source-line a{align-items:center;gap:5px;font-size:10px;display:inline-flex}.linked-list{margin:15px 0 25px}.linked-list button{text-align:left;background:var(--light);border-radius:6px;justify-content:space-between;align-items:center;width:100%;margin-bottom:7px;padding:13px;font-size:13px;display:flex}.skill-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px;display:flex}.skill-actions .btn{padding:9px 12px;font-size:11px}.modal-backdrop{background:var(--surface2);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:60;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:var(--paper);border:1px solid var(--line);width:100%;max-width:520px;max-height:92vh;box-shadow:0 20px 80px var(--line);border-radius:16px;padding:36px;position:relative;overflow:auto}.modal.wide{max-width:760px}.modal h2{margin-top:14px;font-size:28px}.close-button{color:var(--muted);background:0 0;padding:5px;position:absolute;top:14px;right:14px}.onboarding h1{font-family:Georgia;font-size:36px;font-weight:400}.onboarding p{font-size:12px}.onboarding>.btn{width:100%;margin-top:9px}.onboarding>small{margin-top:15px;font-size:10px;display:block}.level-tabs{gap:8px;margin:12px 0 22px;display:flex}.level-tabs button{background:var(--bg);border:1px solid var(--line);color:var(--muted);border-radius:7px;flex:1;padding:11px}.level-tabs button.active{background:var(--light);border-color:var(--line);color:var(--accent)}.level-tabs small{font-size:9px;display:block}.login-page{background:var(--surface2);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:var(--paper);border:1px solid var(--line);border-radius:17px;width:410px;padding:42px}.login-card .brand-mark{margin-bottom:28px}.login-card h1{font-family:Georgia;font-weight:400}.login-card .btn{width:100%}.practice-toolbar{border:1px solid var(--line);background:var(--paper);border-radius:9px;align-items:center;gap:20px;margin-bottom:24px;padding:14px 19px;font-size:12px;display:flex}.practice-toolbar>div{align-items:center;gap:10px;margin-right:auto;display:flex}.check-label{align-items:center;gap:8px;margin:0;font-size:12px;font-weight:400;display:flex}.check-label input{accent-color:var(--accent)}.practice-stage{background:var(--paper);border:1px solid var(--line);border-radius:14px;max-width:870px;min-height:420px;margin:0 auto 25px;padding:36px}.exercise-meta{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:22px;font-size:11px;display:flex}.practice-stage h2{font-size:24px;line-height:1.6}.options{gap:11px;margin:24px 0;display:grid}.option{text-align:left;border:1px solid var(--line);background:var(--paper);border-radius:8px;align-items:center;gap:14px;width:100%;padding:15px 17px;font-size:16px;display:flex}.option>span{border:1px solid var(--line);min-width:25px;height:25px;color:var(--muted);border-radius:4px;justify-content:center;align-items:center;font-size:11px;display:flex}.option>svg{margin-left:auto}.option.chosen,.option.right,.option.wrong{background:var(--surface2);border-color:var(--line)}.answer-input{width:100%;min-height:110px;margin:18px 0;font-size:18px}.exercise-controls{justify-content:space-between;align-items:center;gap:15px;margin-top:22px;display:flex}.feedback{border:1px solid var(--line);background:var(--surface2);color:var(--muted);border-radius:9px;margin-top:25px;padding:22px}.feedback h3{align-items:center;gap:10px;font-size:15px;display:flex}.feedback p{color:inherit;font-size:13px}.feedback.negative,.feedback.neutral{background:var(--surface2);color:var(--muted);border-color:var(--line)}.correct-answer{margin:15px 0;font-family:Georgia;font-size:22px}.filter-row{align-items:center;gap:14px;margin-bottom:23px;display:flex}.filter-row .search-field{flex:1;margin:0}.filter-row>select{max-width:230px;padding:13px;font-size:12px}.material-card{border:1px solid var(--line);background:var(--paper);text-align:left;border-radius:11px;padding:0;transition:transform .2s;overflow:hidden}.material-card:hover{transform:translateY(-3px)}.material-cover{background:var(--surface2);height:112px;color:var(--muted);justify-content:center;align-items:center;display:flex;position:relative}.material-cover:before,.material-cover:after{content:"";opacity:.2;border:1px solid;border-radius:50% 50% 0 0;width:78px;height:100px;position:absolute;bottom:-20px;left:23px;transform:rotate(15deg)}.material-cover:after{left:auto;right:28px;transform:rotate(-20deg)}.material-cover>svg{stroke-width:1.1px}.material-cover>span{font-size:10px;position:absolute;top:11px;right:13px}.cover-1,.cover-2,.cover-3,.cover-4{background:var(--surface2);color:var(--muted)}.material-info{padding:20px}.material-info h3{margin:13px 0 8px;font-size:15px}.material-info p{min-height:52px;font-size:11px}.pagination{color:var(--muted);justify-content:center;align-items:center;gap:23px;margin:30px 0;font-size:11px;display:flex}.back-link{color:var(--accent);background:0 0;align-items:center;gap:7px;margin-bottom:20px;padding:0;font-size:12px;display:flex}.reader{max-width:900px;margin:auto}.reader h2{margin:26px 0;font-family:Georgia;font-size:34px;font-weight:400}.reader .readable{margin:28px 0;font-family:Georgia,serif;font-size:19px;line-height:1.95}.reader-actions{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding-top:9px;display:flex}.reader-actions>span{color:var(--muted);font-size:10px}.translation{border-left:3px solid var(--line);background:var(--bg);padding:4px 20px}.translation .readable{font-family:inherit;font-size:13px}.audio-panel{background:var(--light);border-radius:9px;flex-wrap:wrap;align-items:center;gap:14px;margin:20px 0;padding:18px;display:flex}.audio-panel label{align-items:center;gap:8px;margin:0;font-size:11px;display:flex}.audio-panel select{margin:0;padding:5px}.audio-panel audio,audio{max-width:100%}.comprehension{border-top:1px solid var(--line);margin-top:30px;padding-top:25px}.question{border-bottom:1px solid var(--line);padding:22px 0}.question>strong{font-size:14px}.question-options{gap:11px;margin:17px 0;display:grid}.question-options label{align-items:center;gap:9px;margin:0;font-size:13px;font-weight:400;display:flex}.question-options input{accent-color:var(--accent)}.question .btn{padding:8px 13px;font-size:11px}.question-feedback{border-left:3px solid var(--line);background:var(--surface2);padding:10px 15px;font-size:13px}.question-feedback.ok{border-color:var(--line);background:var(--surface2)}.question-feedback p{margin:5px 0}.note-editor{margin-top:26px}.note-editor textarea{width:100%;min-height:80px;margin-bottom:13px;display:block}.dictionary{background:var(--paper);border-left:1px solid var(--line);width:380px;box-shadow:-15px 0 50px var(--line);z-index:70;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.dictionary-top{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.dictionary-top>span{align-items:center;gap:9px;font-size:12px;display:flex}.dictionary-body{padding:27px;overflow:auto}.dictionary-word{justify-content:space-between;align-items:center;display:flex}.dictionary-word h2{overflow-wrap:anywhere;margin:0;font-family:Georgia;font-size:36px;font-weight:400}.dictionary-entry{border-bottom:1px solid var(--line);padding:22px 0}.dictionary-entry h3{margin:14px 0;font-size:18px}.dictionary-entry p{font-size:12px}.dictionary-example{border-left:2px solid var(--line);margin:20px 0;padding-left:15px;font-family:Georgia;font-size:18px}.dictionary-example small{margin-top:7px;font-family:inherit;font-size:12px;display:block}.dictionary-context{background:var(--bg);border-radius:8px;margin:23px 0;padding:16px}.dictionary-context strong{color:var(--muted);font-size:10px}.dictionary-context p{margin:7px 0 0;font-size:12px}.dictionary-body label{margin-top:25px}.writing-grid{grid-template-columns:1.8fr 1fr;gap:23px;display:grid}.writing-area{border:0;width:100%;min-height:350px;padding:15px 0;font-size:17px;line-height:1.95}.writing-area:focus-visible{outline:0}.editor-foot{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:10px;margin:10px 0 25px;padding-top:14px;font-size:11px;display:flex}.accent-keys{gap:5px;display:flex}.accent-keys button{background:var(--bg);border:1px solid var(--line);border-radius:4px;width:25px;height:28px;font-size:12px}.writing-help{background:var(--surface2)}.writing-help>svg{color:var(--muted);margin:18px 0}.writing-help h2{color:var(--muted);font-family:Georgia;font-size:28px;font-weight:400}.writing-help p{font-size:12px}.connector{border-bottom:1px solid var(--line);background:0 0;align-items:center;gap:10px;width:100%;padding:13px 0;display:flex}.connector strong{color:var(--muted);font-family:Georgia;font-size:15px;font-weight:400}.connector span{color:var(--muted);margin-left:auto;font-size:11px}.connector svg{color:var(--muted)}.writing-prompt{background:var(--bg);border-radius:8px;margin:15px 0;padding:17px;font-size:13px}.writing-prompt p{color:var(--ink);margin:10px 0}.writing-prompt ul{margin-bottom:0;font-size:12px}.report-metrics{color:var(--muted);gap:32px;margin:24px 0;font-size:12px;display:flex}.report-metrics b{color:var(--ink);margin-right:5px;font-size:25px;font-weight:500}.correction-card{background:var(--bg);border:1px solid var(--line);border-radius:9px;margin:16px 0;padding:19px}.correction-card p{margin:12px 0;font-size:13px}.correction-pair{flex-wrap:wrap;align-items:center;gap:12px;font-size:16px;display:flex}.correction-pair>span{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line)}.correction-pair>strong{color:var(--muted);font-weight:500}.suggestion{color:var(--muted);gap:12px;margin:20px 0;display:flex}.suggestion strong{color:var(--ink);font-size:14px}.suggestion p{margin:5px 0;font-size:13px}.analysis-report details{border-top:1px solid var(--line);padding:17px 0}.analysis-report summary{cursor:pointer;color:var(--accent);margin-bottom:10px;font-size:13px}.analysis-report details p{color:var(--ink);font-size:14px}.work-history button{text-align:left;border-bottom:1px solid var(--line);background:0 0;align-items:center;gap:14px;width:100%;padding:16px 0;font-size:12px;display:flex}.work-history small{white-space:nowrap;margin-left:auto}.speaking-grid{grid-template-columns:1.9fr 1fr;align-items:start;gap:23px;display:grid}.conversation{min-height:550px;padding:0;overflow:hidden}.conversation-intro{text-align:center;max-width:600px;margin:auto;padding:45px 35px}.conversation-intro h2{font-size:28px}.conversation-intro>p{font-size:13px}.conversation-intro select{width:100%;margin:10px 0 25px}.conversation-art{background:var(--surface2);width:110px;height:100px;color:var(--muted);border-radius:42% 58% 61% 39%;justify-content:center;align-items:center;margin:0 auto 29px;display:flex;position:relative}.conversation-art>span{background:var(--surface2);color:var(--muted);border-radius:10px;padding:5px 13px;font-family:Georgia;font-style:italic;position:absolute;top:-5px;right:-5px;transform:rotate(10deg)}.scenario-preview{background:var(--bg);text-align:left;border-radius:8px;margin-bottom:23px;padding:17px;font-size:13px}.scenario-preview p{color:var(--ink)}.scenario-preview ul{margin:0;font-size:12px}.conversation-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;padding:20px 24px;display:flex}.conversation-heading strong{font-size:13px}.conversation-heading small{font-size:10px;display:block}.conversation-heading .btn{padding:7px 10px;font-size:10px}.messages{flex-direction:column;gap:22px;min-height:280px;max-height:530px;padding:25px;display:flex;overflow:auto}.message{gap:10px;max-width:93%;display:flex}.message-avatar{background:var(--surface2);width:28px;height:28px;color:var(--muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:Georgia;font-size:21px;display:flex}.message-content{background:var(--surface2);border-radius:0 12px 12px;min-width:0;padding:15px 18px}.message-content>p{color:var(--ink);margin:0;font-size:15px}.message.user{flex-direction:row-reverse;align-self:flex-end}.message.user .message-content{background:var(--surface2);border-radius:12px 0 12px 12px}.message.user .message-avatar{background:var(--surface2);color:var(--muted);font-family:inherit;font-size:9px}.message details{color:var(--muted);font-size:11px}.message details p{margin:8px 0 0;font-size:12px}.message .text-button{margin-top:7px;font-size:10px}.compose{border-top:1px solid var(--line);background:var(--bg);padding:20px 24px}.compose textarea{background:var(--paper);width:100%;min-height:90px;font-size:14px}.compose-buttons{justify-content:space-between;gap:10px;margin-top:13px;display:flex}.compose-buttons .btn{padding:10px 13px;font-size:12px}.compose>small{margin-top:12px;font-size:10px;display:block}.conversation-review{margin:24px;font-size:13px}.conversation .notice{margin:20px}.turn-correction{border-top:1px solid var(--line);margin-top:12px;padding-top:9px;font-size:12px}.turn-correction p{margin-bottom:0;font-size:11px}.phrase{text-align:left;border-bottom:1px solid var(--line);background:0 0;width:100%;padding:13px 0;display:block}.phrase strong{color:var(--muted);font-size:13px;font-weight:550;display:block}.phrase span{color:var(--muted);margin-top:5px;font-size:11px;display:block}.past-session{border-bottom:1px solid var(--line);text-align:left;background:0 0;align-items:center;gap:8px;width:100%;padding:13px 0;font-size:11px;display:flex}.past-session>span{flex:1}.past-session>small{white-space:nowrap;font-size:9px}.recording-preview{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.recording-preview p{margin-top:16px;font-size:12px}.minimal-pair{gap:14px;margin:22px 0;display:flex}.minimal-pair button{background:var(--light);border:1px solid var(--line);border-radius:8px;flex:1;justify-content:center;align-items:center;gap:13px;padding:17px;font-family:Georgia;font-size:24px;display:flex}.vocab-banner{background:var(--surface2);border:1px solid var(--line);border-radius:11px;justify-content:space-between;align-items:center;gap:23px;margin-bottom:24px;padding:28px;display:flex}.vocab-banner h2{margin-bottom:6px;font-size:22px}.vocab-banner p{margin:0;font-size:12px}.word-table{border:1px solid var(--line);background:var(--paper);border-radius:11px;padding:0 24px}.word-row{border-bottom:1px solid var(--line);align-items:center;gap:15px;padding:17px 0;display:flex}.word-row:last-child{border:0}.word-label{text-align:left;background:0 0;width:35%;min-width:0}.word-label strong{font-family:Georgia;font-size:20px;font-weight:400}.word-label small{white-space:nowrap;text-overflow:ellipsis;font-size:11px;display:block;overflow:hidden}.word-row>p{color:var(--ink);flex:1;margin:0;font-size:13px}.file-button{white-space:nowrap;margin:0;position:relative;overflow:hidden}.file-button input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.flashcard-stage{max-width:850px;margin:auto}.flashcard{text-align:center;background:var(--surface2);border:1px solid var(--line);border-radius:11px;min-height:300px;margin:30px auto;padding:45px}.flashcard h2{margin:30px 0;font-family:Georgia;font-size:43px;font-weight:400}.flashcard input{width:100%;max-width:400px;margin:20px auto;display:block}.flashcard-answer{border-top:1px solid var(--line);padding-top:25px}.flashcard-answer h3{color:var(--muted);font-family:Georgia;font-size:30px;font-weight:400}.flashcard-answer small{margin:15px 0;display:block}.review-grades{justify-content:center;gap:13px;display:flex}.flashcard-stage>.section-title select{font-size:12px}.segmented{border:1px solid var(--line);background:var(--paper);border-radius:8px;gap:4px;margin-bottom:23px;padding:4px;display:inline-flex}.segmented button{color:var(--muted);background:0 0;border-radius:5px;padding:8px 15px;font-size:12px}.segmented button.active{background:var(--light);color:var(--accent)}.progress-grid{grid-template-columns:1fr 1fr;gap:23px;display:grid}.level-progress{grid-template-columns:25px 1fr 37px 100px;align-items:center;gap:10px;margin:17px 0;font-size:11px;display:grid}.level-progress strong{color:var(--muted);font-weight:500}.level-progress small{text-align:right;font-size:9px}.progress-track{background:var(--surface2);border-radius:8px;height:6px;overflow:hidden}.progress-track>span{background:var(--surface2);border-radius:8px;height:100%;display:block}.big-number{font-family:Georgia;font-size:41px;font-weight:400}.work-summary{border-bottom:1px solid var(--line);padding:18px 0}.work-summary p{margin:10px 0;font-size:13px}.import-grid{grid-template-columns:1.35fr 1fr;gap:23px;display:grid}.import-grid .panel>p{font-size:13px}.upload-zone{background:var(--surface2);border:1px dashed var(--line);color:var(--muted);cursor:pointer;border-radius:9px;flex-direction:column;align-items:center;gap:11px;margin:25px 0;padding:30px;display:flex;position:relative}.upload-zone input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.upload-zone strong{font-size:14px}.upload-zone span{color:var(--muted);font-size:11px}.settings-grid{grid-template-columns:1fr 1fr;gap:23px;display:grid}.settings-grid .panel>p{font-size:13px}.system-status{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.system-status .panel{padding-left:46px;position:relative}.system-status h3{margin-bottom:7px;font-size:14px}.system-status p{margin:0;font-size:11px}.status-dot{background:var(--surface2);border-radius:50%;width:8px;height:8px;position:absolute;top:33px;left:24px}.status-dot.ready{background:var(--surface2)}.job-row{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:14px;padding:15px 0;font-size:12px;display:flex}.job-row>.tag{margin-left:auto}.job-row>small{max-width:500px;color:var(--muted);font-size:10px}.toast{background:var(--surface2);color:#fff;box-shadow:0 8px 35px var(--line);z-index:100;border-radius:10px;align-items:center;gap:12px;width:max-content;max-width:650px;padding:15px 20px;font-size:12px;display:flex;position:fixed;bottom:25px;left:50%;transform:translate(-50%)}.toast.error{background:var(--surface2)}.toast button{color:inherit;background:0 0;margin-left:8px}.mobile-shade{display:none}@media (width<=1200px){.sidebar{width:200px;padding-left:13px;padding-right:13px}.workspace{margin-left:200px}.brand{margin-left:9px}.brand>span:last-child{font-size:26px}.topbar{padding:0 27px}.local-label{display:none}main{padding:30px 27px}.hero-copy{width:67%;padding:30px}.hero-copy p{max-width:320px}.hero-copy h2{font-size:37px}.italian-scene{opacity:.85;width:40%}.arch-back{left:115px}.arch-front{left:25px}.scene-sun{left:65px}.scene-plant{right:-14px}.scene-word{right:12px}.scene-steps{left:0}.stats-row{gap:12px}.stat-card{gap:11px;padding:16px}.stat-icon{width:38px;height:38px}.stat-card span{font-size:9px}.module-grid,.material-grid{grid-template-columns:repeat(2,1fr)}.grammar-layout{grid-template-columns:225px 1fr}.speaking-grid{grid-template-columns:1.7fr 1fr}.panel{padding:23px}.skill-card{padding:19px}.skill-card>svg{top:30px;right:13px}.skill-grid{gap:13px}.topbar .avatar{display:none}}@media (width<=900px){.sidebar{width:180px;padding:27px 10px}.workspace{margin-left:180px}.brand{gap:8px;margin-bottom:34px;margin-left:8px}.brand-mark{width:33px;height:36px;font-size:36px}.brand>span:last-child{font-size:23px}.brand small{font-size:7px}.nav-item{gap:9px;padding:9px 10px;font-size:11px}.nav-item svg{width:17px}.nav-label{font-size:7px}.sidebar-bottom{padding-left:10px}.sidebar-bottom small{font-size:7px}.topbar{height:65px;padding:0 22px}.breadcrumbs{gap:7px;font-size:9px}.topbar-right{gap:11px}main{padding:27px 22px}.greeting h1{font-size:24px}.greeting h1 span{margin-top:5px;font-size:19px;display:block}.greeting p{font-size:11px}.hero-copy{width:76%;padding:26px}.hero-copy h2{font-size:36px}.hero-copy p{max-width:290px}.italian-scene{opacity:.55;width:35%;right:-15px}.scene-plant,.scene-word,.scene-caption{display:none}.arch-back{left:86px}.arch-front{left:0}.scene-sun{left:36px}.scene-steps{left:-22px}.stat-card{padding:15px}.stat-card .stat-icon{display:none}.stat-card span{font-size:9px}.dashboard-grid{grid-template-columns:1fr}.vocabulary-promo{display:none}.skill-grid{grid-template-columns:1fr 1fr}.skill-card{padding:21px}.skill-card p{font-size:11px}.page-heading h1{font-size:29px}.grammar-layout{grid-template-columns:1fr}.rule-list{gap:10px;max-height:175px;margin-bottom:12px;display:flex;overflow:auto}.rule-list>button{border:1px solid var(--line);min-width:190px;height:160px;padding:14px}.rule-list>button small{font-size:10px}.rule-list>button svg{display:none}.writing-grid,.speaking-grid{grid-template-columns:1fr}.writing-help{display:none}.speaking-grid>aside{grid-template-columns:1fr 1fr;gap:17px;display:grid}.progress-grid,.settings-grid,.import-grid{grid-template-columns:1fr}.system-status{gap:11px}.system-status .panel{padding:20px 15px 20px 31px}.status-dot{width:6px;height:6px;top:28px;left:15px}.system-status h3{font-size:12px}.system-status p{font-size:10px}.level-progress{grid-template-columns:25px 1fr 35px 90px}.word-row{gap:9px}.word-row>.icon-button{display:none}.word-label{width:38%}.word-row .icon-button:last-child{display:flex}.vocab-banner{align-items:flex-start}.vocab-banner h2{font-size:20px}.vocab-banner .btn{font-size:10px}.practice-toolbar{gap:12px;font-size:10px}.practice-toolbar>div>span:not(.tag){display:none}.practice-stage{padding:28px}.practice-stage h2{font-size:23px}.dictionary{width:355px}.filter-row{flex-wrap:wrap}.filter-row .search-field{flex-basis:100%}footer>span:last-child{font-size:8px}}@media (width<=650px){.sidebar{width:225px;transition:transform .2s;transform:translate(-100%)}.sidebar.open{transform:none}.sidebar .brand{margin:6px 12px 31px}.sidebar .brand-mark{width:40px;height:43px;font-size:43px}.sidebar .brand>span:last-child{font-size:29px}.sidebar .brand small{font-size:9px}.nav-item{padding:10px 16px;font-size:12px}.nav-item svg{width:19px}.workspace{margin-left:0}.mobile-menu{display:flex}.mobile-shade{background:var(--surface2);z-index:19;display:block;position:fixed;inset:0}.topbar{gap:12px;height:62px;padding:0 17px}.breadcrumbs{gap:0;margin-right:auto;font-size:0}.breadcrumbs svg{display:none}.breadcrumbs strong{font-size:12px}.topbar-right{gap:9px}.topbar .level-select{font-size:11px}.topbar .icon-button{padding:5px}main{padding:26px 18px 6px}.greeting{align-items:flex-start;margin-bottom:23px}.greeting .eyebrow{letter-spacing:.12em;font-size:7px}.greeting h1{font-size:25px}.greeting h1 span{margin-top:7px;font-size:18px}.greeting p{max-width:245px;font-size:11px}.greeting>.tag{margin-top:25px;font-size:8px}.hero-card{height:365px;margin-bottom:18px}.hero-copy{width:85%;padding:26px 22px}.hero-copy .eyebrow{max-width:250px;font-size:7px}.hero-copy h2{font-size:37px;line-height:1.1}.hero-copy p{max-width:260px;font-size:11px}.hero-copy .btn{font-size:11px}.hero-foot{flex-wrap:wrap;max-width:275px;font-size:8px;line-height:1.6}.italian-scene{opacity:.3;width:43%;top:45px;right:-49px}.scene-sun{width:85px;height:85px;top:7px;left:37px}.arch-front{height:200px;bottom:28px;left:13px}.arch-back{height:198px;bottom:42px;left:90px}.scene-steps{bottom:18px;left:-10px}.stats-row{gap:9px;margin:18px 0 23px}.stat-card{padding:15px 11px}.stat-card b{margin-bottom:4px;font-size:25px}.stat-card span{font-size:8px;line-height:1.5;display:block}.panel{border-radius:10px;padding:21px}.dashboard-grid{gap:0}.section-title h2{font-size:18px}.section-title>span{font-size:9px}.plan-list button{gap:11px;padding:17px 0}.plan-list strong{font-size:12px}.plan-list p{max-width:210px;font-size:10px}.plan-list small{font-size:9px}.skill-grid{gap:11px}.skill-card{padding:19px}.skill-card h3{margin:14px 0 5px;font-size:13px}.skill-card p{font-size:10px}.skill-card>svg{width:16px;top:30px;right:13px}footer{margin-top:30px}footer>span:last-child{display:none}.page-heading{flex-direction:column;align-items:flex-start;gap:15px;margin-bottom:23px}.page-heading h1{font-size:28px}.page-heading p{font-size:12px}.page-heading .eyebrow{font-size:7px}.page-heading .btn{padding:9px 13px;font-size:11px}.module-grid,.material-grid{gap:13px}.module-card{padding:17px}.module-card h3{font-size:14px}.module-card p{min-height:90px;font-size:11px}.module-top{margin-bottom:15px}.module-top>span:first-child{font-size:24px}.module-bottom{gap:6px;font-size:8px}.module-bottom svg{width:14px}.notice{padding:14px;font-size:11px}.notice svg{width:18px}.modal-backdrop{padding:15px}.modal{border-radius:12px;max-height:94vh;padding:29px 23px}.modal h1{font-size:31px}.modal h2{font-size:26px}.onboarding p{font-size:12px}.onboarding label{margin-bottom:14px;font-size:12px}.level-tabs{gap:6px}.level-tabs button{padding:10px 5px}.practice-toolbar{gap:12px;padding:12px;font-size:9px}.practice-toolbar .check-label{font-size:10px}.practice-stage{min-height:370px;padding:25px 20px}.practice-stage h2{font-size:22px}.exercise-meta{font-size:10px}.option{gap:12px;padding:14px;font-size:15px}.exercise-controls{align-items:flex-start}.exercise-controls .btn{padding:10px 14px;font-size:12px}.exercise-controls .text-button{max-width:110px;font-size:11px}.feedback{padding:17px}.feedback h3{font-size:14px}.feedback p{font-size:12px}.correct-answer{font-size:20px}.filter-row{gap:10px}.filter-row select{flex:1;max-width:none;padding:11px;font-size:11px}.material-cover{height:90px}.material-cover>svg{width:30px}.material-cover:before,.material-cover:after{width:50px;height:70px;left:10px}.material-cover:after{left:auto;right:10px}.material-info{padding:15px}.material-info h3{margin:12px 0 7px;font-size:13px;line-height:1.5}.material-info p{min-height:65px;font-size:10px}.material-info .tag{padding:3px 5px;font-size:8px}.pagination{gap:10px;font-size:9px}.pagination .btn{padding:8px;font-size:11px}.reader h2{margin:24px 0;font-size:29px}.reader .readable{font-size:18px}.reader .section-title .tag{font-size:8px}.reader-actions>span{text-align:right;max-width:110px;font-size:9px}.reader-actions .btn{padding-left:0;font-size:11px}.translation .readable{font-size:13px}.audio-panel{gap:12px;padding:14px}.audio-panel .btn{font-size:11px}.question>strong{font-size:13px}.question-options label{align-items:flex-start;font-size:12px}.dictionary{width:min(100%,380px)}.dictionary-body{padding:25px}.writing-area{min-height:330px;font-size:17px}.editor-foot{flex-wrap:wrap;gap:12px}.writing-prompt{padding:14px}.report-metrics{flex-wrap:wrap;gap:16px;font-size:10px}.report-metrics b{font-size:23px}.analysis-report .section-title{align-items:flex-start}.analysis-report .tag{font-size:8px}.correction-pair{gap:8px;font-size:15px}.speaking-grid>aside{display:block}.speaking-grid>aside .panel:last-child{display:none}.conversation-intro{padding:36px 24px}.conversation-intro h2{font-size:25px}.messages{gap:18px;max-height:440px;padding:21px 16px}.message{gap:7px;max-width:97%}.message-content{padding:14px}.message-content>p{font-size:15px}.compose{padding:18px}.compose-buttons .btn{padding:9px 11px;font-size:11px}.compose>small{font-size:9px}.conversation-heading{padding:17px}.conversation-heading strong{font-size:12px}.conversation-heading>div{max-width:190px}.conversation-heading .btn{max-width:85px;padding:6px;font-size:9px}.vocab-banner{flex-direction:column;gap:18px;padding:23px}.vocab-banner h2{font-size:21px}.vocab-banner p,.vocab-banner .btn{font-size:12px}.word-table{padding:0 17px}.word-row{flex-wrap:wrap;gap:9px;padding:16px 0;position:relative}.word-label{width:calc(100% - 110px)}.word-row>p{min-width:100%;padding-right:35px;font-size:13px}.word-row>.tag{max-width:105px;font-size:9px;position:absolute;top:22px;right:0}.word-row>.icon-button:last-child{position:absolute;bottom:12px;right:0}.word-label strong{font-size:22px}.flashcard-stage>.section-title{flex-wrap:wrap;gap:10px}.flashcard-stage>.section-title select{max-width:100%;font-size:11px}.flashcard{min-height:290px;padding:36px 18px}.flashcard h2{font-size:37px}.review-grades{grid-template-columns:1fr 1fr;gap:10px;display:grid}.review-grades .btn{padding:11px;font-size:13px}.segmented{display:flex}.segmented button{flex:1;padding:9px 10px;font-size:11px}.level-progress{grid-template-columns:24px 1fr 35px}.level-progress small{text-align:left;grid-column:2/4;margin-top:-7px}.system-status{grid-template-columns:1fr;gap:11px;margin-bottom:23px}.system-status .panel{margin:0;padding:18px 21px 18px 40px}.status-dot{top:23px;left:20px}.system-status h3{font-size:14px}.system-status p{font-size:11px}.job-row{font-size:12px}.job-row>small{flex-basis:100%}.toast{width:calc(100% - 28px);max-height:170px;padding:14px 16px;font-size:12px;bottom:15px;overflow:auto}.toast>span{flex:1}.rule-detail h2{font-size:27px}.rule-detail .readable{font-size:15px}.formula{padding:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root{--bg:#f4f5f9;--paper:#fff;--ink:#172033;--muted:#47536b;--accent:#4630b5;--action:#543bd5;--light:#ece9ff;--surface2:#edf0f7;--line:#c8d0e0;--sand:#fff0dc;--shadow:0 5px 20px #1820400b;color:var(--ink);background:var(--bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-size:15px}:root[data-theme=dark]{--bg:#111218;--paper:#1c1e28;--ink:#f3f5fc;--muted:#bdc6dc;--accent:#b8aaff;--action:#654bdd;--light:#302b49;--surface2:#272a38;--line:#444b61;--sand:#3e3021;--shadow:0 6px 20px #0003;color:var(--ink);background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{color:var(--ink)}main{animation:none}h1,h2,h3,strong{color:var(--ink)}h1,h2{font-weight:650}p,ul,small{color:var(--muted)}button:disabled{opacity:.65}input,textarea,select{border-color:var(--line);color:var(--ink);font-size:14px}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:#8c6cff}.btn{background:var(--action);border-color:var(--action);color:#fff;font-size:14px;font-weight:650}.btn.secondary{background:var(--paper);border-color:var(--line);color:var(--accent)}.btn.ghost{color:var(--accent);background:0 0;border-color:#0000}.btn.recording{color:#fff;background:#be304a;border-color:#be304a}.text-button{color:var(--accent);font-size:13px;font-weight:650}.icon-button{color:var(--muted)}.icon-button:hover{background:var(--light);color:var(--ink)}.brand-mark{background:var(--action);color:#fff}.brand>span:last-child{color:var(--ink)}.brand i{color:var(--accent)}.brand small,.nav-label,.breadcrumbs,.breadcrumbs strong,.local-label,footer,footer>span:first-child,.sidebar-bottom p,.sidebar-bottom small{color:var(--muted)}.nav-item{color:var(--muted);padding-top:11px;padding-bottom:11px;font-size:14px}.nav-item svg{stroke-width:1.9px}.nav-item.active{background:var(--light);color:var(--accent);font-weight:700}.nav-item b{background:var(--action);color:#fff}.nav-label,.eyebrow{color:var(--muted);font-size:10px}.small,small,.source-line{font-size:12px}.sidebar-bottom small,.brand small{font-size:10px}.italy-dots i{background:#6b55d8}.italy-dots i:nth-child(2){background:#8791ac}.italy-dots i:last-child{background:#ed8b42}.topbar{z-index:15;position:sticky;top:0}.breadcrumbs,.local-label{font-size:12px}.level-select{border:1px solid var(--line);max-width:80px;padding:7px 10px;font-size:14px;font-weight:700}.avatar{background:var(--surface2);color:var(--ink)}.greeting h1 span,.greeting p{color:var(--muted)}.hero-card{filter:none;background:linear-gradient(120deg,#191c39,#342568);border-color:#514484}.hero-copy h2{color:#fff;font-weight:500}.hero-copy h2 i{color:#ffb15f}.hero-copy p,.hero-copy .eyebrow,.hero-foot{color:#e2e4fb;font-size:13px}.hero-copy .btn{color:#211b32;background:#f3a251;border-color:#f3a251;font-size:14px}.hero-copy .eyebrow{font-size:10px}.italian-scene{background:radial-gradient(#6b4cc433,#34256800)}.scene-sun{background:#ffb15f;border-color:#d88235}.scene-arch.arch-back{background:#8170e2;border-color:#a99af4}.scene-arch.arch-front{background:#d38a58;border-color:#efb27e}.arch-window{background:linear-gradient(90deg,#4c3882 49%,#2c2251 50%,#6a54a7 53%);border-color:#322354}.scene-plant span{background:#9a89ef;border-color:#c6b9ff}.scene-plant:before{background:#c6b9ff}.scene-word,.scene-caption{color:#eee9ff}.tag,.tag.green{background:var(--light);color:var(--accent);font-size:11px;font-weight:600}.tag.red{color:#971d38;background:#ffe1e6}.notice,.feedback,.feedback.positive{background:var(--light);border-color:var(--line);color:var(--ink)}.notice p,.feedback p{color:var(--ink)}.notice.quiet{color:var(--muted);background:0 0}.notice.error,.feedback.negative{color:#8e1832;background:#fff0f2;border-color:#d99aa9}.notice.error p,.feedback.negative p{color:inherit}.feedback.neutral{background:var(--surface2);color:var(--ink)}.empty-icon,.stat-icon.sage{background:var(--light);color:var(--accent)}.stat-icon.peach{color:#a24a00;background:#ffead7}.stat-icon.sand{color:#845000;background:#fff0cc}.stat-icon.lavender{color:#6f27ad;background:#eee5ff}.stat-card span,.plan-list p,.module-card p,.material-info p,.skill-card p{color:var(--muted);font-size:13px}.plan-list strong,.skill-card h3,.module-card h3,.material-info h3{color:var(--ink);font-size:16px}.module-top>span:first-child{color:var(--accent)}.module-bottom,.section-title>span,.exercise-meta{font-size:12px}.module-card,.material-card,.skill-card{border-color:var(--line)}.vocabulary-promo,.writing-help,.vocab-banner,.flashcard,.upload-zone{background:var(--surface2);border-color:var(--line)}.vocabulary-promo h2,.writing-help h2,.vocab-banner h2,.flashcard h2{color:var(--ink)}.material-cover{color:#fff;background:#4c3aa0}.material-cover.cover-1{background:#28507b}.material-cover.cover-2{background:#764825}.material-cover.cover-3{background:#6c386f}.material-cover.cover-4{background:#304a87}.material-cover>span{color:#fff}.material-cover:before,.material-cover:after{background:#fff1;border-color:#fff5}.reader .readable,.reader .readable p,.readable p,.correct-answer,.option,.question>strong{color:var(--ink)}.option.chosen,.option.right{background:var(--light);border-color:var(--accent);color:var(--ink)}.option.wrong{background:#fff0f2;border-color:#d24a65}.question-options label{color:var(--ink);font-size:14px}.translation,.writing-prompt,.dictionary-context,.dictionary-example{background:var(--surface2);border-color:var(--line);color:var(--ink)}.source-line{color:var(--muted)}.message-content,.message.user .message-content{background:var(--surface2);color:var(--ink);border:1px solid var(--line)}.message-content p{color:var(--ink)}.message.user .message-content{background:var(--light)}.message-avatar{background:var(--action);color:#fff}.dictionary{border-left:1px solid var(--line)}.word-label strong,.word-row p,.connector strong{color:var(--ink)}.progress-track{background:var(--surface2)}.progress-track span{background:var(--action)}.status-dot.ready,.local-label i.online{background:#a99aff}.accent-keys button{background:var(--surface2);color:var(--ink)}.practice-toolbar{flex-wrap:wrap}.practice-toolbar select{font-size:13px}.activity-badge{color:var(--muted);flex-wrap:wrap;gap:8px;margin:8px 0;font-size:12px;font-weight:550;display:flex}.activity-badge .done{color:var(--accent)}.generated-mark,.new-situations{color:var(--ink);border:1px solid var(--line);background:var(--surface2);border-radius:9px;margin:16px 0;padding:16px;font-size:13px}.generated-mark .text-button{margin-left:12px}:root[data-theme=dark] .tag.red,:root[data-theme=dark] .notice.error,:root[data-theme=dark] .feedback.negative,:root[data-theme=dark] .option.wrong{color:#ffd7e1;background:#3d2330;border-color:#a34a66}:root[data-theme=dark] .feedback.negative p{color:#ffd7e1}:root[data-theme=dark] .tag,:root[data-theme=dark] .tag.green{background:var(--light);color:#ded7ff}:root[data-theme=dark] .stat-icon.peach{color:#ffbb7a;background:#422d22}:root[data-theme=dark] .stat-icon.sand{color:#ffd48d;background:#3d3320}:root[data-theme=dark] .stat-icon.lavender{color:#dfbdff;background:#35284b}@media (width<=900px){.nav-item{font-size:13px}.breadcrumbs{font-size:11px}.module-card p,.material-info p,.skill-card p,.hero-copy p{font-size:13px}.hero-copy .eyebrow{font-size:10px}}@media (width<=650px){.module-grid,.material-grid{grid-template-columns:1fr}.module-card p,.material-info p{min-height:0}.module-card h3,.material-info h3,.skill-card h3{font-size:16px}.nav-item{font-size:14px}.breadcrumbs strong,.topbar .level-select{font-size:13px}.eyebrow,.page-heading .eyebrow,.greeting .eyebrow{font-size:10px}.greeting p,.hero-copy p{font-size:13px}.hero-foot,.stat-card span{font-size:11px}.btn,.hero-copy .btn,.page-heading .btn{font-size:13px}.reader .readable{font-size:19px}.notice,.feedback p,.question-options label,.source-line{font-size:13px}.practice-stage h2{font-size:23px}.practice-toolbar .check-label{font-size:12px}.material-info .tag{font-size:11px}}.ai-situation{display:block}.ai-situation strong{margin-bottom:8px;display:block}.ai-situation p{margin:0 0 8px;line-height:1.6}.ai-situation small{color:var(--muted)}.option:disabled{opacity:1;color:var(--ink);cursor:default}.dictionary-language{color:var(--ink);margin:0 0 24px;font-size:13px;font-weight:650;display:block}.dictionary-language select{background:var(--paper);width:100%;color:var(--ink);border:1px solid var(--line);border-radius:8px;margin-top:8px;padding:10px 12px;display:block}.pippo{flex-shrink:0;width:180px;height:auto}.tg-entry{max-width:780px;padding:36px 20px max(36px,env(safe-area-inset-bottom));color:var(--ink,#211b32);margin:0 auto}.tg-entry>h1{font-size:clamp(30px,7vw,46px);line-height:1.12}.tg-entry>.pippo{width:210px;margin:0 auto 20px;display:block}.tg-entry>a:last-child{color:var(--accent,#5434b6);margin:24px 0;display:block}.tg-billing{margin:24px 0}.tg-plan-top{align-items:center;gap:12px;display:flex}.tg-plan-top .pippo{width:135px}.tg-plan-top h2{margin:10px 0;font-size:29px;line-height:1.15}.tg-price{flex-direction:column;gap:5px;padding:20px 0;display:flex}.tg-price strong{font-size:40px;line-height:1.2}.tg-price span,.tg-muted{color:var(--muted,#625a70);font-size:14px;line-height:1.65}.tg-features{gap:12px;margin:0;padding:0;list-style:none;display:grid}.tg-features li:before{content:"✓";color:var(--accent,#5434b6);margin-right:12px;font-weight:800}.tg-consent{align-items:flex-start;gap:12px;line-height:1.6;margin:24px 0!important;font-size:14px!important;display:flex!important}.tg-consent input{accent-color:#6845c5;flex-shrink:0;width:20px;height:20px;margin-top:3px}.tg-consent a,.tg-legal a{color:var(--accent,#5434b6);text-decoration:underline}.tg-buy{width:100%;min-height:52px;margin-bottom:12px;font-size:17px!important;font-weight:700!important}.tg-billing details{border-top:1px solid var(--line,#d9d2e7);margin-top:24px;padding-top:20px}.tg-billing summary{cursor:pointer;font-weight:600}.tg-order{border-bottom:1px solid var(--line,#d9d2e7);flex-wrap:wrap;gap:8px 20px;padding:16px 0;display:flex}.tg-order small{overflow-wrap:anywhere;width:100%}.tg-orders{max-height:360px;overflow:auto}.tg-error{color:#8b1f30;overflow-wrap:anywhere;background:#fff0f0;border:1px solid #d35a63;border-radius:12px;padding:16px;line-height:1.6}.tg-message{background:var(--surface2,#eee8ff);border-radius:12px;padding:16px;line-height:1.6}.tg-limits{gap:10px;display:grid}.tg-limits>div{border-bottom:1px solid var(--line,#d9d2e7);justify-content:space-between;gap:20px;padding:8px 0;display:flex}.tg-legal{color:#211b32;background:#fff;max-width:800px;margin:0 auto;padding:32px 24px 70px;font-size:17px;line-height:1.8}.tg-legal h1,.tg-legal h2{line-height:1.2}.tg-legal section{padding-top:25px;scroll-margin-top:20px}.tg-legal>.pippo{width:130px;margin:20px auto;display:block}.brand-mark img{border-radius:10px;display:block}.app-shell{padding-top:env(safe-area-inset-top)}.sidebar{padding-bottom:env(safe-area-inset-bottom)}:root[data-theme=dark] .tg-error{color:#ffdce1;background:#451e32}:root[data-theme=dark] .tg-legal{color:#211b32;background:#fff}@media (width<=560px){.tg-plan-top{align-items:flex-start}.tg-plan-top .pippo{width:90px}.tg-plan-top h2{font-size:24px}.tg-price strong{font-size:34px}.tg-billing{padding:22px 18px!important}.tg-entry{padding-left:14px;padding-right:14px}.tg-consent{font-size:13px!important}}.tg-legal{--ink:#211b32;--muted:#4c4659;--accent:#5434b6}.tg-storage{margin:12px 0;font-size:14px}.voice-file{margin-top:18px;font-size:13px;display:block}.voice-file input{max-width:100%;margin-top:7px;display:block}
