:root{--bg:#fdf8f6;--surface:#fff;--ink:#2f2529;--muted:#88747a;--line:#f4e8e6;--purple:#d87289;--purple-dark:#b8576e;--purple-soft:#fdf0f3;--green:#48a688;--green-soft:#edf7f3;--blue:#5d8ecb;--orange:#d88a64;--shadow:0 4px 25px rgba(216,114,137,0.07);--radius:18px;--side:232px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button{color:inherit}a{color:inherit;text-decoration:none}button{border:0;background:none}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4,.brand{font-family:Manrope,sans-serif}h1{font-size:29px;letter-spacing:-1.1px;font-weight:800;line-height:1.3}h2{font-size:17px;letter-spacing:-.45px;font-weight:800}h3{font-size:15px;font-weight:750;letter-spacing:-.25px}p{line-height:1.65}svg.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a78ce9;outline-offset:4px}.skip{position:fixed;top:-60px;left:20px;z-index:1000;padding:12px;background:var(--surface)}.skip:focus{top:10px}.sidebar{width:var(--side);position:fixed;inset:0 auto 0 0;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:31px 19px 18px;z-index:40}.brand{display:flex;align-items:center;gap:10px;font-size:30px;letter-spacing:-1.5px;font-weight:800;padding:0 14px}.brand-mark{background:var(--purple);color:white;width:34px;height:37px;border-radius:11px;display:grid;place-items:center;transform:rotate(-7deg)}.brand-mark svg.icon{width:27px;height:27px;stroke-width:2.8}.brand .dot{color:var(--purple)}.workspace-tag{margin:22px 14px 24px;font-size:10px;font-weight:700;color:#9b98a9;letter-spacing:1.6px}.nav{display:flex;flex-direction:column;gap:6px}.nav-link{display:flex;align-items:center;gap:13px;min-height:45px;padding:12px 15px;border-radius:10px;color:#747487;font-size:13px;font-weight:550;transition:.2s}.nav-link:hover{background:var(--bg);color:var(--purple)}.nav-link.active{background:var(--purple-soft);color:var(--purple);font-weight:700}.nav-link .count{margin-left:auto;font-size:10px;background:#e3d8fa;color:var(--purple-dark);padding:2px 6px;border-radius:5px}.nav-label{font-size:10px;color:#aaa7b4;letter-spacing:1.5px;font-weight:700;padding:28px 15px 12px}.sidebar-bottom{margin-top:auto;padding-top:25px}.streak-mini{background:#f7f6fc;border:1px solid #ece7f7;border-radius:13px;padding:15px 13px;margin:0 6px 19px;position:relative}.streak-mini .fire{color:#dd9b53;background:#fff0dd;border-radius:9px;padding:7px;display:inline-flex;margin-bottom:8px}.streak-mini h4{font-size:12px;margin-bottom:4px}.streak-mini p{font-size:10px;color:var(--muted)}.week-dots{display:flex;justify-content:space-between;margin-top:12px}.week-dots span{width:19px;height:19px;display:grid;place-items:center;border-radius:50%;font-size:9px;color:#aaa4b8;background:#edebf3}.week-dots .done{background:#ded3f6;color:#7c57cf}.week-dots .current{outline:1px solid #a28acb;outline-offset:2px}.sidebar-footer{padding:15px 14px 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:#9995aa;font-size:11px}.icon-btn{height:36px;width:36px;display:inline-grid;place-items:center;border-radius:10px;color:var(--muted)}.icon-btn:hover{background:var(--purple-soft);color:var(--purple)}.topbar{height:83px;border-bottom:1px solid var(--line);background:var(--surface);margin-left:var(--side);display:flex;align-items:center;justify-content:space-between;padding:0 38px;gap:20px}.breadcrumb{display:flex;align-items:center;gap:9px;color:#a2a0b0;font-size:12px}.breadcrumb b{font-weight:500;color:#666477}.breadcrumb svg{width:14px}.top-actions{display:flex;align-items:center;gap:18px}.searchbar{display:flex;align-items:center;gap:10px;color:#a4a1b3;font-size:12px;background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:9px 11px;width:248px;text-align:left}.searchbar svg{width:16px;height:16px}.searchbar kbd{font-size:10px;margin-left:auto;border:1px solid #e4e3ec;padding:2px 5px;border-radius:4px;background:var(--surface)}.notification{position:relative}.notification:after{content:'';position:absolute;width:5px;height:5px;right:9px;top:7px;border-radius:50%;background:var(--purple);border:2px solid var(--surface)}.profile-btn{display:flex;align-items:center;gap:11px;padding-left:20px;border-left:1px solid var(--line);text-align:left}.avatar{height:35px;width:35px;display:grid;place-items:center;border-radius:50%;background:#f4e8dd;color:#976e63;font-size:12px;font-weight:700;border:3px solid #fff;box-shadow:0 0 0 1px #eee8e4}.profile-btn strong{display:block;font-size:12px}.profile-btn small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.profile-btn>.icon{width:13px}.mobile-menu{display:none}.main{margin-left:var(--side);padding:32px 38px 25px;max-width:1680px;min-height:calc(100vh - 83px)}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:1.7px;color:var(--muted);font-weight:700;margin-bottom:9px}.page-heading h1 .wave{font-size:26px;display:inline-block;margin-left:6px}.subheading{color:var(--muted);font-size:12px;margin-top:7px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:9px;font-size:12px;line-height:1.4;font-weight:650;padding:12px 18px;transition:background .2s,transform .2s;white-space:nowrap;min-height:42px}.btn:hover{transform:translateY(-1px)}.btn .icon{width:17px;height:17px}.btn-primary{color:white;background:var(--purple);box-shadow:0 4px 9px #7955d61a}.btn-primary:hover{background:var(--purple-dark)}.btn-secondary{border:1px solid var(--line);background:var(--surface)}.btn-secondary:hover{border-color:#bda8ed}.btn-soft{background:var(--purple-soft);color:var(--purple)}.btn-small{padding:8px 12px;min-height:34px;font-size:11px}.btn-plain{padding:0;color:var(--purple);font-size:11px;min-height:30px}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.dashboard-top{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:21px;margin-bottom:24px}.hero{border-radius:18px;background:#efeafb;position:relative;overflow:hidden;min-height:222px;display:flex;align-items:center;padding:26px 29px}.hero-content{position:relative;z-index:2;max-width:67%}.hero-label{display:inline-flex;align-items:center;gap:6px;color:#8067af;font-size:10px;font-weight:650;margin-bottom:12px}.hero-label .icon{width:14px;height:14px}.hero h2{font-size:26px;line-height:1.4;letter-spacing:-.8px;color:#393050;margin-bottom:7px}.hero p{font-size:12px;color:#867a9b;max-width:315px;margin-bottom:20px;line-height:1.8}.hero .btn{padding:10px 17px}.hero .mini-time{display:inline-flex;align-items:center;gap:4px;margin-left:13px;font-size:10px;color:#998aaf}.hero .mini-time .icon{width:12px;height:12px}.hero-art{position:absolute;right:0;bottom:0;width:280px;height:232px}.goal-card{border:1px solid var(--line);background:var(--surface);border-radius:18px;padding:20px 21px;box-shadow:var(--shadow)}.card-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.card-title h3{font-size:12px}.card-title .icon{width:17px;height:17px;color:#a59bbd}.goal-main{display:flex;align-items:center;gap:17px;padding:1px 0 13px}.goal-ring{width:78px;height:78px;position:relative;flex-shrink:0}.goal-ring svg{width:78px;height:78px;transform:rotate(-90deg)}.goal-ring circle{fill:none;stroke-width:6}.goal-ring .track{stroke:#f0edf7}.goal-ring .value{stroke:#9973e0;stroke-linecap:round;stroke-dasharray:214;stroke-dashoffset:107}.ring-value{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;font-family:Manrope;font-size:23px;font-weight:800;gap:2px}.ring-value small{font-size:12px;color:#afabb9;font-weight:500;align-self:center;margin-top:8px}.goal-copy h4{font-size:12px;margin-bottom:6px}.goal-copy p{font-size:10px;color:var(--muted);line-height:1.6}.goal-bottom{padding-top:14px;border-top:1px solid var(--line);display:flex;align-items:center;gap:6px;color:var(--green);font-size:10px}.goal-bottom .icon{width:13px;height:13px}.stats-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:30px}.stat{display:flex;align-items:center;gap:13px;background:var(--surface);border:1px solid var(--line);padding:17px 18px;border-radius:13px}.tile-icon{width:39px;height:39px;display:inline-grid;place-items:center;border-radius:11px;flex-shrink:0}.purple{--accent:#8b69d4;--soft:#f0ebfa}.green{--accent:#5da48c;--soft:#ebf5ef}.orange{--accent:#cf9a61;--soft:#fcf2e7}.blue{--accent:#6c9cda;--soft:#edf3fc}.tile-icon{color:var(--accent);background:var(--soft)}.stat strong{font-family:Manrope;font-size:22px;font-weight:800;letter-spacing:-.5px}.stat .stat-unit{font-size:11px;font-weight:500;color:#aaa6b4;margin-left:3px}.stat p{font-size:10px;color:var(--muted);margin-top:3px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.section-heading h2{display:flex;align-items:center;gap:8px}.section-heading h2 .icon{width:17px;height:17px;color:var(--purple)}.section-heading p{font-size:11px;color:var(--muted);margin-top:5px}.section-heading .btn{font-size:11px}.section-heading .count{font-size:10px;font-family:'DM Sans';letter-spacing:0;padding:3px 7px;border-radius:6px;background:var(--purple-soft);color:var(--purple);font-weight:600}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1fr) 305px;gap:27px}.activity-list{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:0 18px}.activity-row{display:flex;align-items:center;gap:13px;padding:18px 0;border-bottom:1px solid var(--line)}.activity-row:last-child{border-bottom:0}.activity-row .tile-icon{width:42px;height:44px}.activity-info{min-width:0;flex:1}.activity-info h3{font-size:12px;margin-bottom:6px}.activity-info p{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tag{display:inline-flex;align-items:center;gap:5px;font-size:9px;padding:3px 7px;border-radius:5px;line-height:1.5;background:var(--soft);color:var(--accent);font-weight:600}.tag.purple{color:#8b69d4;background:#f0ebfa}.tag.green{color:#4b977a;background:#ebf5ef}.tag.orange{color:#bf8c54;background:#fcf2e7}.tag.blue{color:#5d8ac8;background:#edf3fc}.activity-row .btn{padding:8px 13px;font-size:10px;min-height:33px}.activity-row .btn .icon{width:13px;height:13px}.upcoming{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:1px 17px}.exam-row{display:flex;align-items:flex-start;gap:13px;padding:18px 0;border-bottom:1px solid var(--line)}.exam-row:last-child{border:0}.date-tile{width:39px;background:#f6f4fa;border:1px solid #eee9f6;border-radius:8px;text-align:center;padding:6px 3px;flex-shrink:0}.date-tile small{display:block;font-size:8px;color:#9a90ac;font-weight:600;text-transform:uppercase}.date-tile strong{display:block;font-size:17px;font-family:Manrope;font-weight:800;color:#70617f}.exam-info{flex:1}.exam-info h3{font-size:11px;margin-bottom:4px}.exam-info p{font-size:10px;color:var(--muted);margin-bottom:8px}.mini-progress{height:4px;border-radius:3px;background:var(--line);overflow:hidden}.mini-progress>span{display:block;height:100%;border-radius:3px;background:var(--accent,var(--purple))}.progress-caption{display:flex;justify-content:space-between;color:var(--muted);font-size:9px;margin-top:6px}.library-section{margin-top:29px}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.course-card{border:1px solid var(--line);background:var(--surface);border-radius:14px;overflow:hidden;transition:transform .2s,box-shadow .2s;cursor:pointer}.course-card:hover{transform:translateY(-3px);box-shadow:0 7px 20px #30224c08}.course-card-top{height:85px;background:var(--soft);padding:17px 19px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between}.course-card-top>.icon{width:36px;height:36px;color:var(--accent);stroke-width:1.3;opacity:.7}.course-card-top:after{content:'';position:absolute;border:1px solid var(--accent);opacity:.12;width:120px;height:120px;border-radius:50%;right:-20px;top:-50px}.course-card-top .subject-label{font-size:10px;font-weight:650;color:var(--accent);align-self:flex-start;padding-top:5px}.course-card-body{padding:16px 17px}.course-card h3{font-size:12px;margin-bottom:6px}.course-card p{font-size:9px;color:var(--muted);margin-bottom:14px}.course-card .progress-caption{margin-bottom:7px;font-size:9px}.course-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:13px;font-size:9px;color:var(--muted)}.course-card-footer>span{display:flex;align-items:center;gap:4px}.course-card-footer .icon{width:11px;height:11px}.tip-card{margin-top:24px;background:#eef4f0;border:1px solid #e4ece5;border-radius:15px;padding:19px 18px;position:relative;overflow:hidden}.tip-card .tip-label{font-size:9px;text-transform:uppercase;letter-spacing:1.1px;color:#7a9b87;display:flex;align-items:center;gap:6px;margin-bottom:10px;font-weight:700}.tip-card .tip-label .icon{width:13px;height:13px}.tip-card h3{font-size:13px;line-height:1.7;color:#425d4a;max-width:220px}.tip-card p{font-size:10px;color:#7e9286;margin-top:7px}.tip-card .btn-plain{color:#61866b;margin-top:8px;font-size:10px}.explore-banner{display:flex;align-items:center;gap:15px;background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-top:27px;padding:18px 22px}.explore-banner .tile-icon{background:#f6f0fc;color:#a482d1}.explore-banner h3{font-size:12px}.explore-banner p{font-size:10px;color:var(--muted);margin-top:4px}.explore-banner .btn{margin-left:auto;font-size:10px}.page-footer{display:flex;align-items:center;justify-content:space-between;margin-top:28px;padding:15px 0 0;border-top:1px solid var(--line);color:#aaa7b6;font-size:9px}.page-footer .mini-brand{font-family:Manrope;font-weight:800;color:#8c859b}.page-footer button{font-size:9px;color:#aaa7b6}.view-enter{animation:enter .3s ease}@keyframes enter{from{opacity:.4;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
/* Secondary screens */
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:25px;box-shadow:var(--shadow)}.muted{color:var(--muted)}.small{font-size:12px}.flex{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:18px}.back-link{display:inline-flex;gap:7px;align-items:center;font-size:12px;color:var(--muted);margin-bottom:22px}.back-link svg{width:15px;height:15px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:24px;flex-wrap:wrap}.filters{display:flex;gap:6px;flex-wrap:wrap}.filter{padding:9px 14px;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:11px;background:var(--surface)}.filter.active{background:var(--purple-soft);color:var(--purple);border-color:#dcd0f5}.input-wrap{position:relative}.input-wrap>.icon{position:absolute;left:12px;top:12px;width:17px;height:17px;color:var(--muted)}.input-wrap input{padding-left:37px;width:240px}input,textarea,select{border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);padding:11px 13px;width:100%;min-height:42px}input::placeholder,textarea::placeholder{color:#aaa6b7}label{font-size:12px;font-weight:600;display:block;margin-bottom:8px}textarea{resize:vertical;line-height:1.8;min-height:130px}.field{margin-bottom:19px}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.empty-state{text-align:center;padding:65px 25px}.empty-state>.tile-icon{width:65px;height:65px;margin-bottom:20px}.empty-state h2{margin-bottom:10px}.empty-state p{color:var(--muted);margin:0 auto 20px;max-width:420px;font-size:13px}.library-full.course-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.library-full .course-card-top{height:125px}.library-full .course-card h3{font-size:15px}.library-full .course-card p{font-size:11px}.add-course-card{border:1.5px dashed #d9cdee;border-radius:14px;min-height:250px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:#9476c6;background:#faf8fe}.add-course-card .icon{width:30px;height:30px}.add-course-card span{font-size:12px}.steps{display:flex;align-items:center;justify-content:center;margin:0 auto 30px;gap:12px;max-width:650px}.step{display:flex;gap:8px;align-items:center;font-size:11px;color:var(--muted)}.step span{width:25px;height:25px;background:var(--line);border-radius:50%;display:grid;place-items:center;font-size:10px}.step.active{color:var(--purple);font-weight:600}.step.active span{background:var(--purple);color:white}.step-line{width:40px;height:1px;background:var(--line)}.scanner-panel{max-width:830px;margin:0 auto}.upload-zone{border:1.5px dashed #d7c7f1;border-radius:15px;background:#faf8fe;text-align:center;padding:40px 20px;transition:.2s}.upload-zone.dragging{background:#ece2ff;border-color:var(--purple)}.upload-zone>.tile-icon{width:58px;height:58px;margin-bottom:18px}.upload-zone>.tile-icon .icon{width:27px;height:27px}.upload-zone h2{font-size:17px;margin-bottom:8px}.upload-zone p{font-size:12px;color:var(--muted);margin-bottom:20px}.upload-zone .flex{justify-content:center}.privacy-note{display:flex;align-items:flex-start;gap:9px;font-size:11px;line-height:1.7;color:var(--muted);margin:17px 0}.privacy-note .icon{width:16px;height:16px;margin-top:2px;color:var(--green)}.or-divider{display:flex;align-items:center;gap:18px;color:#a7a1b4;font-size:10px;margin:27px 0}.or-divider:before,.or-divider:after{content:'';flex:1;height:1px;background:var(--line)}.warning{background:#fff8e9;color:#9f7b32;border:1px solid #f3e9c7;padding:12px 15px;border-radius:10px;font-size:11px;line-height:1.7;margin:15px 0}.notice{background:var(--purple-soft);color:#8a6eae;padding:13px 17px;border-radius:10px;font-size:11px;line-height:1.7;margin-bottom:20px}.scan-status{padding:25px;text-align:center}.spinner{width:30px;height:30px;border:3px solid var(--line);border-top-color:var(--purple);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 15px}@keyframes spin{to{transform:rotate(360deg)}}.source-text{white-space:pre-wrap;line-height:1.9;font-size:13px}.source-text h3{margin:23px 0 9px;color:var(--purple);font-size:15px}.source-text h3:first-child{margin-top:0}.source-text p{margin-bottom:10px}.source-section{border-left:2px solid #dfd3f5;padding-left:18px;margin-bottom:27px;scroll-margin-top:30px}.source-ref{font-size:10px;color:var(--muted);margin-top:10px}.course-layout{display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:23px}.course-nav{display:flex;border-bottom:1px solid var(--line);gap:23px;margin-bottom:25px}.course-nav button{padding:12px 2px;border-bottom:2px solid transparent;font-size:12px;color:var(--muted)}.course-nav button.active{border-bottom-color:var(--purple);color:var(--purple);font-weight:600}.activity-choice{display:flex;align-items:center;gap:13px;border:1px solid var(--line);border-radius:12px;padding:15px;margin-top:12px;text-align:left;width:100%;background:var(--surface);transition:.2s}.activity-choice:hover{border-color:#c9b5ec;transform:translateX(2px)}.activity-choice h3{font-size:12px}.activity-choice p{font-size:10px;color:var(--muted);margin-top:4px}.activity-choice>.icon{margin-left:auto;width:15px;color:var(--muted)}.format-tabs{display:flex;gap:6px;margin:15px 0 25px;flex-wrap:wrap}.summary-block{padding:19px 0;border-bottom:1px solid var(--line)}.summary-block h3{margin-bottom:9px;color:var(--purple)}.summary-block p{font-size:13px;line-height:1.9}.summary-block .source-btn{margin-top:9px}.source-btn{display:inline-flex;align-items:center;gap:5px;font-size:10px;color:#9a83bc;padding:5px 0}.source-btn .icon{width:12px;height:12px}.session-container{max-width:820px;margin:0 auto}.session-top{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:13px}.session-progress{height:5px;background:var(--line);border-radius:5px;margin-bottom:28px}.session-progress>span{display:block;height:100%;background:var(--purple);border-radius:5px;transition:width .3s}.flashcard{min-height:315px;border:1px solid #e0d5f6;border-radius:22px;background:linear-gradient(140deg,var(--surface),var(--purple-soft));padding:37px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;box-shadow:0 8px 35px #6c4fa107;transition:.25s}.flashcard:hover{box-shadow:0 8px 40px #6c4fa114}.flashcard .eyebrow{color:#a18abe}.flashcard h2{font-size:23px;line-height:1.7;max-width:620px;margin:15px 0 22px}.flashcard .hint{font-size:11px;color:#9e8bb5;display:flex;align-items:center;gap:6px;margin-top:15px}.flashcard.revealed{background:var(--surface);border-color:#b4d6c8}.flashcard.revealed h2{color:#4c8d73}.self-rating{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:22px}.rating{border:1px solid var(--line);background:var(--surface);padding:15px 10px;border-radius:12px;font-size:12px}.rating span{display:block;font-size:10px;color:var(--muted);margin-top:5px}.rating.hard{border-color:#ecd9cd;color:#b38568}.rating.ok{border-color:#d7c9ed;color:#8e6bbf}.rating.easy{border-color:#cbe2d6;color:#5c9476}.question-panel{padding:32px}.question-panel h2{font-size:21px;line-height:1.65;margin:18px 0 24px}.options{display:flex;flex-direction:column;gap:11px}.option{border:1px solid var(--line);border-radius:11px;display:flex;align-items:center;gap:13px;padding:15px;text-align:left;font-size:13px;background:var(--surface)}.option .option-letter{width:29px;height:29px;background:var(--bg);border-radius:7px;display:grid;place-items:center;font-size:11px;color:var(--muted);flex-shrink:0}.option.selected{border-color:var(--purple);background:var(--purple-soft)}.option.selected .option-letter{background:var(--purple);color:white}.option.correct{border-color:#71b898;background:#edf7f1}.option.wrong{border-color:#dba69d;background:#fff0ed}.correction{padding:18px;border-radius:11px;background:var(--green-soft);color:#4c7c65;margin-top:22px;font-size:13px;line-height:1.8}.correction.wrong{background:#fff2e8;color:#9c7651}.correction strong{display:block;margin-bottom:5px}.question-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:23px}.session-config{max-width:650px;margin:auto}.mode-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:32px}.mode-card{padding:23px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:16px;transition:.2s}.mode-card:hover{border-color:#cdbbed;transform:translateY(-3px)}.mode-card .tile-icon{margin-bottom:19px;width:46px;height:46px}.mode-card h3{margin-bottom:9px;font-size:14px}.mode-card p{font-size:11px;color:var(--muted);line-height:1.8}.mode-card .mode-meta{display:flex;align-items:center;gap:5px;font-size:10px;margin-top:20px;color:var(--accent)}.original-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.result-hero{text-align:center;padding:39px 25px}.result-hero .tile-icon{width:66px;height:66px;margin-bottom:20px;border-radius:21px}.score{font-size:60px;font-family:Manrope;font-weight:800;letter-spacing:-3px;color:var(--purple);margin:15px 0}.score small{font-size:20px;letter-spacing:-.5px;color:var(--muted)}.result-hero p{font-size:13px;color:var(--muted);margin:10px 0 22px}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:25px 0}.result-stats>div{text-align:center;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:13px}.result-stats strong{font-size:24px;font-family:Manrope;font-weight:800;color:var(--purple)}.result-stats p{font-size:11px;color:var(--muted);margin-top:6px}.error-item{padding:20px 0;border-bottom:1px solid var(--line)}.error-item:last-child{border-bottom:0}.error-item h3{font-size:13px;margin:8px 0}.error-item p{font-size:12px;color:var(--muted);line-height:1.8}.calendar-header{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:10px}.calendar-header>span{text-align:center;font-size:10px;color:var(--muted);text-transform:uppercase;padding:8px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-cell{min-height:110px;border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--surface)}.calendar-cell.other{opacity:.35}.calendar-cell.today{border-color:#baa1e9;background:#faf8fe}.calendar-cell>.day-num{display:inline-grid;place-items:center;width:24px;height:24px;font-size:11px;margin-bottom:7px}.calendar-cell.today>.day-num{border-radius:50%;background:var(--purple);color:#fff}.calendar-event{display:block;font-size:9px;line-height:1.5;background:var(--soft);color:var(--accent);padding:5px;border-radius:5px;margin-bottom:4px;text-align:left;width:100%}.planning-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:22px}.planning-layout .panel{padding:20px}.planning-session{padding:15px 0;border-bottom:1px solid var(--line);font-size:12px;display:flex;align-items:flex-start;gap:10px}.planning-session input{width:15px;min-height:15px;accent-color:var(--purple);margin:2px 0}.planning-session p{font-size:10px;color:var(--muted);margin-top:4px}.mastery-row{padding:19px 0;border-bottom:1px solid var(--line);display:flex;gap:17px;align-items:center}.mastery-row:last-child{border:0}.mastery-row>div:nth-child(2){flex:1}.mastery-row h3{font-size:13px;margin-bottom:9px}.mastery-row strong{font-size:19px;font-family:Manrope}.badge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-top:22px}.badge-card{padding:22px;text-align:center;border-radius:14px;background:var(--surface);border:1px solid var(--line)}.badge-card .tile-icon{width:55px;height:55px;margin-bottom:12px;border-radius:50%}.badge-card h3{font-size:12px}.badge-card p{font-size:10px;color:var(--muted);margin-top:6px}.badge-card.locked{opacity:.5}.practice-feedback{margin-top:24px;border-top:1px solid var(--line);padding-top:22px}.concept-row{display:flex;gap:9px;align-items:flex-start;font-size:12px;padding:10px 0}.concept-row .icon{width:15px;height:15px;margin-top:2px;color:var(--green)}.concept-row.missing .icon{color:#c39a61}.landing{max-width:1180px;margin:auto;padding:25px}.landing-nav{display:flex;align-items:center;justify-content:space-between}.landing-hero{text-align:center;padding:80px 15px 55px;max-width:800px;margin:auto}.landing-hero h1{font-size:61px;letter-spacing:-3px;line-height:1.18;margin:22px 0}.landing-hero h1 span{color:var(--purple)}.landing-hero p{font-size:16px;color:var(--muted);max-width:600px;margin:0 auto 27px}.landing-hero .flex{justify-content:center}.landing-flow{display:flex;justify-content:center;gap:17px;flex-wrap:wrap;color:var(--muted);font-size:11px;margin:35px 0}.landing-flow>span{display:flex;align-items:center;gap:7px}.landing-preview{max-width:800px;margin:0 auto 55px;background:#f0eafb;border-radius:25px;padding:32px;box-shadow:0 15px 60px #7654ad12}.landing-preview .panel{display:flex;align-items:center;justify-content:space-between}.auth-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-story{background:#eee8f9;display:flex;flex-direction:column;justify-content:space-between;padding:45px}.auth-story h1{font-size:40px;max-width:460px;line-height:1.4;color:#493561}.auth-form{max-width:430px;margin:auto;padding:40px;width:100%}.auth-form h1{font-size:27px;margin-bottom:10px}.auth-form>p{font-size:12px;color:var(--muted);margin-bottom:28px}.auth-form .btn{width:100%}.auth-form .auth-switch{font-size:11px;text-align:center;margin-top:20px}.auth-form .auth-switch a{color:var(--purple)}.check-label{display:flex;gap:8px;align-items:flex-start;font-size:10px;color:var(--muted);font-weight:400;line-height:1.7}.check-label input{width:15px;min-height:15px;margin:2px 0;accent-color:var(--purple)}
/* Dialogs and accessibility */
.modal-overlay{position:fixed;inset:0;background:#29233d55;backdrop-filter:blur(5px);z-index:100;display:flex;align-items:center;justify-content:center;padding:25px;animation:enter .2s}.modal{width:100%;max-width:570px;max-height:88vh;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:19px;padding:26px;box-shadow:0 30px 100px #22172b25}.modal.wide{max-width:750px}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.modal-head h2{font-size:20px}.modal>p{font-size:12px;color:var(--muted);margin-bottom:20px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.modal .activity-choice{margin:10px 0}.modal code{background:var(--bg);padding:3px;border-radius:4px;font-size:11px}.modal details{border-bottom:1px solid var(--line);padding:14px 0;font-size:12px}.modal summary{cursor:pointer;font-weight:600}.modal details p{font-size:12px;color:var(--muted);margin-top:10px}.search-result{padding:13px 10px;display:flex;align-items:center;gap:12px;text-align:left;width:100%;border-bottom:1px solid var(--line)}.search-result:hover{background:var(--bg)}.search-result h3{font-size:12px}.search-result p{font-size:10px;color:var(--muted);margin-top:3px}#toast{position:fixed;bottom:27px;left:calc(50% + 80px);transform:translate(-50%,20px);background:#343044;color:white;box-shadow:0 8px 30px #29223c25;border-radius:12px;padding:14px 22px;z-index:150;max-width:90vw;font-size:12px;opacity:0;pointer-events:none;transition:.25s;line-height:1.6}#toast.show{opacity:1;transform:translate(-50%,0)}.hidden{display:none!important}[hidden]{display:none!important}.no-scroll{overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body.dark{--bg:#1c1518;--surface:#271e22;--ink:#fcf1f3;--muted:#b89fa5;--line:#3d2f34;--purple:#f29bb0;--purple-dark:#e07f97;--purple-soft:#3d262f;--green-soft:#253a30;--shadow:none}body.dark .hero{background:linear-gradient(135deg,#37232c 0%,#2e1d24 100%);border-color:#4a2e39}body.dark .hero h2{color:#fde8ed}body.dark .hero p{color:#dfcad1}body.dark .hero-art{opacity:.65}body.dark .streak-mini{background:#2a1f24;border-color:#3a2c33}body.dark .avatar{border-color:#3d2931}body.dark .course-card-top{filter:brightness(.8)}body.dark .tile-icon{background:#3a2731}body.dark .tip-card{background:#253a30;border-color:#324d40}body.dark .tip-card h3{color:#b6d5c1}body.dark .date-tile{background:#2f2127;border-color:#422f37}body.dark .date-tile strong{color:#f5c6d3}body.dark .upload-zone,body.dark .add-course-card{background:#261c20}body.dark .warning{background:#382d22;border-color:#4e3e2d;color:#d4b467}body.dark .option.correct,body.dark .correction{background:#243a2d}body.dark .option.wrong,body.dark .correction.wrong{background:#422428}body.dark .calendar-cell.today{background:#38222b}body.dark .goal-ring .track{stroke:#38252d}body.dark .rating{background:var(--surface)}body.dark .auth-story,body.dark .landing-preview{background:#331f28}body.dark .auth-story h1{color:#fce0e7}
@media(min-width:1550px){.main{padding-left:52px;padding-right:52px}.dashboard-top{grid-template-columns:minmax(0,1fr) 305px}.dashboard-columns{grid-template-columns:minmax(0,1fr) 340px}.hero-art{right:25px;width:300px}.hero{min-height:245px}.hero h2{font-size:30px}.hero p{font-size:13px}.activity-row{padding:22px 0}.course-card-top{height:105px}}
@media(max-width:1200px){:root{--side:205px}.sidebar{padding-left:13px;padding-right:13px}.brand{font-size:28px}.nav-link{font-size:12px;padding-left:12px;gap:10px}.main{padding:27px}.topbar{padding:0 27px}.dashboard-top{grid-template-columns:minmax(0,1fr) 235px;gap:17px}.hero{padding:25px}.hero h2{font-size:23px}.hero-art{width:230px;right:-25px}.hero-content{max-width:73%}.hero p{max-width:255px;font-size:11px}.goal-card{padding:18px 16px}.goal-main{gap:10px}.dashboard-columns{grid-template-columns:minmax(0,1fr) 260px;gap:20px}.stat{padding:15px 12px;gap:9px}.stat strong{font-size:20px}.stat .tile-icon{width:33px;height:36px}.activity-list{padding:0 12px}.activity-row{gap:10px}.activity-info h3{font-size:11px}.searchbar{width:200px}.course-grid{gap:11px}.course-card-body{padding:13px}.course-card h3{font-size:11px}.mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.original-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-cell{min-height:90px;padding:5px}.calendar-event{font-size:8px}.planning-layout{grid-template-columns:minmax(0,1fr) 230px}}
@media(max-width:1000px){.searchbar{display:none}.dashboard-top{grid-template-columns:1fr 230px}.hero-art{width:200px;right:-40px;opacity:.8}.hero h2{font-size:22px}.hero .mini-time{display:none}.dashboard-columns{grid-template-columns:1fr}.dashboard-aside{display:grid;grid-template-columns:1fr 1fr;gap:20px}.tip-card{margin:0}.dashboard-aside>.section-heading{display:none}.upcoming{padding-top:4px}.stats-row{gap:10px}.stat{gap:8px}.stat .tile-icon{display:none}.course-card-top{height:80px}.course-layout,.planning-layout{grid-template-columns:1fr}.course-side{display:grid;grid-template-columns:1fr 1fr;gap:15px}.course-side>.panel{height:fit-content}.original-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-cell{min-height:100px}.planning-side{display:grid;grid-template-columns:1fr 1fr;gap:20px}.planning-side .panel{margin:0!important}}
@media(max-width:760px){:root{--side:0px}.sidebar{width:230px;transform:translateX(-100%);transition:transform .2s;box-shadow:10px 0 60px #221a4e12}.sidebar.open{transform:translateX(0)}.sidebar .brand{font-size:29px}.sidebar-backdrop{position:fixed;inset:0;background:#20152d55;z-index:35}.mobile-menu{display:grid}.topbar{height:66px;padding:0 18px;gap:10px}.topbar-left{display:flex;align-items:center;gap:8px}.breadcrumb{font-size:11px}.top-actions{gap:7px}.profile-btn{padding-left:10px;gap:5px}.profile-btn .profile-copy,.profile-btn>.icon{display:none}.avatar{width:31px;height:31px}.main{padding:24px 19px 20px}.page-heading{align-items:flex-start;margin-bottom:22px}.page-heading h1{font-size:25px}.page-heading .subheading{font-size:11px;max-width:220px;line-height:1.7}.page-heading .btn{font-size:10px;min-height:37px;padding:10px 12px}.page-heading .btn .icon{width:14px;height:14px}.page-heading h1 .wave{font-size:22px}.dashboard-top{grid-template-columns:1fr;gap:15px;margin-bottom:17px}.hero{min-height:214px;padding:25px}.hero h2{font-size:24px}.hero-content{max-width:75%}.hero p{max-width:250px}.hero-art{width:235px;right:-15px;opacity:.9}.goal-card{display:flex;align-items:center;gap:17px;padding:15px 18px;justify-content:space-between}.goal-card .card-title{margin:0}.goal-card .card-title .icon{display:none}.goal-main{padding:0;gap:12px}.goal-ring,.goal-ring svg{width:54px;height:54px}.ring-value{font-size:18px}.ring-value small{font-size:10px}.goal-copy{display:none}.goal-bottom{padding:0;border:0;font-size:9px;max-width:115px;line-height:1.7}.goal-bottom .icon{flex-shrink:0}.stats-row{grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:26px}.stat{padding:13px 10px;display:block}.stat strong{font-size:19px}.stat .stat-unit{display:none}.stat p{font-size:9px;line-height:1.6}.dashboard-columns{gap:24px}.section-heading h2{font-size:16px}.section-heading .btn{font-size:10px}.activity-row{padding:16px 0}.activity-info h3{font-size:11px}.activity-info p{font-size:9px}.activity-row .tile-icon{width:35px;height:38px}.activity-row .tile-icon .icon{width:18px}.activity-row .btn{padding:8px;font-size:9px}.activity-row .btn .icon{display:none}.library-section{margin-top:26px}.course-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.course-card-top{height:70px;padding:12px}.course-card-top .subject-label{font-size:8px}.course-card-top>.icon{width:25px;height:25px}.course-card-body{padding:11px}.course-card h3{font-size:11px;line-height:1.6;min-height:35px}.course-card p{font-size:8px;margin-bottom:10px}.course-card .progress-caption{font-size:8px}.course-card-footer{font-size:8px;gap:5px}.course-card-footer>.tag{display:none}.dashboard-aside{gap:15px}.tip-card{padding:16px}.tip-card h3{font-size:12px}.tip-card p{font-size:9px}.upcoming{padding:0 13px}.exam-row{gap:9px;padding:15px 0}.exam-info h3{font-size:10px}.exam-info p{font-size:9px}.date-tile{width:33px}.date-tile strong{font-size:15px}.explore-banner{padding:16px;gap:10px}.explore-banner h3{font-size:11px}.explore-banner p{font-size:9px}.explore-banner .btn{padding:9px;font-size:9px}.explore-banner>.tile-icon{display:none}.page-footer{font-size:8px;gap:18px}.page-footer>span{max-width:250px;line-height:1.8}.toolbar{gap:12px}.filter{font-size:10px;padding:8px 10px}.input-wrap,.input-wrap input{width:100%}.library-full.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-full .course-card-top{height:90px}.library-full .course-card h3{font-size:13px}.library-full .course-card p{font-size:10px}.library-full .add-course-card{min-height:230px}.panel{padding:20px}.scanner-panel>.panel{padding:19px}.steps{gap:7px}.step{font-size:9px;gap:5px}.step-line{width:14px}.step span{width:22px;height:22px}.upload-zone{padding:30px 15px}.upload-zone h2{font-size:15px}.upload-zone p{font-size:11px}.upload-zone .flex{flex-wrap:wrap}.two-fields{gap:10px}.course-layout{gap:17px}.course-side{grid-template-columns:1fr}.course-nav{gap:17px}.course-nav button{font-size:11px}.course-side .activity-choice{padding:11px}.mode-grid,.original-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mode-card{padding:19px}.mode-card h3{font-size:13px}.mode-card p{font-size:10px}.mode-card .mode-meta{font-size:9px}.mode-card .tile-icon{width:39px;height:39px;margin-bottom:16px}.question-panel{padding:23px 19px}.question-panel h2{font-size:18px}.option{font-size:12px;padding:12px}.flashcard{padding:26px 22px;min-height:305px}.flashcard h2{font-size:20px}.self-rating{gap:8px}.rating{font-size:11px;padding:13px 6px}.rating span{font-size:9px}.session-top{font-size:10px}.question-bottom{gap:10px}.question-bottom .btn{font-size:10px;padding:10px 12px}.calendar-grid,.calendar-header{gap:4px}.calendar-cell{padding:4px;min-height:88px;border-radius:6px;overflow:hidden}.calendar-event{font-size:7px;padding:3px;overflow:hidden;text-overflow:ellipsis}.calendar-cell>.day-num{width:20px;height:20px;font-size:10px}.planning-layout .panel{padding:14px}.calendar-header>span{font-size:8px}.planning-side{grid-template-columns:1fr}.badge-grid{grid-template-columns:1fr 1fr;gap:12px}.badge-card{padding:20px 12px}.modal-overlay{padding:16px}.modal{padding:22px;max-height:90vh}.modal-head h2{font-size:18px}.modal-actions .btn{font-size:11px}#toast{left:50%;bottom:20px;min-width:240px}.auth-page{grid-template-columns:1fr}.auth-story{display:none}.auth-form{max-width:440px;padding:30px;min-height:100vh;display:flex;flex-direction:column;justify-content:center}.landing{padding:22px}.landing-nav .brand{font-size:26px;padding:0}.landing-nav .btn{font-size:10px;padding:10px}.landing-hero{padding:60px 5px 30px}.landing-hero h1{font-size:41px;letter-spacing:-1.8px}.landing-hero p{font-size:13px}.landing-flow{gap:12px;font-size:10px}.landing-preview{padding:20px}.landing-preview .panel{padding:20px;gap:15px;align-items:flex-start}.landing-preview .panel h2{font-size:15px}.landing-preview .panel p{font-size:11px}.landing-preview .panel .btn{font-size:10px;padding:10px}.landing-hero .flex{gap:8px}.landing-hero .btn{padding:12px;font-size:11px}}
@media(max-width:390px){.hero-art{opacity:.4;right:-45px}.hero-content{max-width:90%}.dashboard-aside{grid-template-columns:1fr}.course-grid{grid-template-columns:1fr}.course-card{display:flex}.course-card-top{height:auto;width:85px;flex-direction:column;justify-content:center;gap:12px}.course-card-top .subject-label{align-self:center}.course-card-body{flex:1}.course-card h3{min-height:auto}.course-card-footer{margin-top:9px}.library-full.course-grid{grid-template-columns:1fr}.library-full .course-card-top{height:auto}.course-grid .add-course-card{min-height:150px}.mode-grid,.original-grid{grid-template-columns:1fr}.goal-card{gap:9px}.goal-bottom{max-width:95px}.goal-card .card-title h3{font-size:11px}.page-heading h1{font-size:22px}.page-heading .btn{padding:9px;font-size:9px}}
/* Lisibilité des informations secondaires. */
:root{--muted:#767386}.subheading,.activity-info p,.course-card p,.course-card-footer,.progress-caption,.exam-info p{color:var(--muted)}.course-card p{font-size:10px}.course-card-footer,.course-card .progress-caption{font-size:10px}.activity-info p{font-size:11px}.activity-info h3{font-size:13px}.hero p{color:#796b90}.hero-label{color:#7d61aa}.hero .mini-time{color:#8b789f}.goal-copy p,.goal-bottom,.stat p{font-size:11px}.goal-bottom{color:#3c896c}.tag.green{color:#337b60}.tag.purple{color:#7650b8}.tag.blue{color:#456fa8}.tag.orange{color:#986a3c}.tip-card p{color:#667e6f}.tip-card .tip-label{color:#60836d}.tip-card .btn-plain{color:#507a5b}.profile-btn small{color:var(--muted)}.page-footer{color:#8e879e}.page-footer button{color:#8e879e}body.dark .hero p{color:#b6a7c9}body.dark .goal-bottom{color:#8ac4a9}
@media(max-width:760px){.activity-info h3{font-size:12px}.activity-info p{font-size:10px}.course-card-footer,.course-card .progress-caption,.course-card p{font-size:9px}.goal-bottom{font-size:9px}}
body.dark .btn-primary{background:#d87289;color:#fff}body.dark .btn-primary:hover{background:#ba576f}
.hero{border-radius:18px;background:linear-gradient(135deg,#faedf0 0%,#fef5f0 100%);border:1px solid #f6dfe3;position:relative;overflow:hidden;min-height:222px;display:flex;align-items:center;padding:26px 29px}
.sweet-note-card{display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,#fff2f5 0%,#fff7f3 100%);border:1px solid #f6d8df;border-radius:16px;padding:16px 20px;margin-bottom:22px;box-shadow:0 4px 20px rgba(216,114,137,0.06);position:relative;overflow:hidden}
body.dark .sweet-note-card{background:linear-gradient(135deg,#321c25 0%,#27161d 100%);border-color:#4e2a38;box-shadow:0 4px 25px rgba(0,0,0,0.3)}
.sweet-heart{font-size:24px;color:var(--purple);display:inline-grid;place-items:center;width:44px;height:44px;background:#fde3ea;border-radius:50%;flex-shrink:0;animation:sweet-pulse 3s infinite ease-in-out}
body.dark .sweet-heart{background:#4d2535;color:#ff9ab0}
@keyframes sweet-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
.sweet-note-content{flex:1;min-width:0}
.sweet-note-content h4{font-family:Manrope,sans-serif;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:var(--purple);margin:0 0 5px 0;display:flex;align-items:center;gap:6px}
.sweet-note-content h4 svg{width:13px;height:13px}
.sweet-note-content p{font-size:13.5px;font-weight:600;color:var(--ink);line-height:1.55;margin:0;font-style:italic}
body.dark .sweet-note-content p{color:#fcf0f3}
.sweet-refresh{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:7px 14px;border-radius:999px;background:var(--purple-soft);color:var(--purple-dark);font-family:inherit;font-size:11.5px;font-weight:700;border:1px solid rgba(216,114,137,0.25);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:all .2s ease;box-shadow:0 2px 8px rgba(216,114,137,0.08)}
.sweet-refresh svg.icon{width:14px;height:14px;stroke-width:2.2}
.sweet-refresh:hover{background:#fcd5df;transform:translateY(-1px);box-shadow:0 4px 12px rgba(216,114,137,0.15)}
.sweet-refresh:active{transform:translateY(0)}
body.dark .sweet-refresh{background:#43212e;color:#ffb8c8;border-color:#5c2d40}
body.dark .sweet-refresh:hover{background:#542939}
@media(max-width:640px){.sweet-refresh span{display:none}.sweet-refresh{padding:8px;border-radius:10px;width:34px;height:34px}}
.footer-love-btn{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;color:var(--purple);background:var(--purple-soft);border:1px solid rgba(216,114,137,0.25);border-radius:999px;padding:7px 15px;cursor:pointer;transition:all .2s ease}
.footer-love-btn:hover{background:#fcd5df;transform:translateY(-1px)}
body.dark .footer-love-btn{background:#43212e;color:#ffb8c8;border-color:#5c2d40}
body.dark .footer-love-btn:hover{background:#542939}
.brand .dot{color:var(--purple);font-size:0.85em;margin-left:3px;vertical-align:middle;display:inline-block;transition:transform .2s ease}
.brand:hover .dot{transform:scale(1.2)}
.page-footer{display:flex;align-items:center;justify-content:space-between;padding:24px 0 10px;color:#8e879e;font-size:12px;border-top:1px solid var(--line);margin-top:36px;flex-wrap:wrap;gap:12px}
.sigles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:13px;margin-top:16px}
.sigle-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:15px;transition:transform .2s,border-color .2s}
.sigle-card:hover{transform:translateY(-2px);border-color:var(--purple)}
.sigle-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}
.sigle-title{font-family:Manrope,sans-serif;font-size:17px;font-weight:800;color:var(--purple)}
.sigle-badge{font-size:9px;padding:2px 7px;border-radius:5px;background:var(--purple-soft);color:var(--purple-dark);font-weight:650}
.sigle-nom{font-size:11.5px;font-weight:700;color:var(--ink);margin-bottom:5px}
.sigle-def{font-size:10.5px;color:var(--muted);line-height:1.6}
.sweet-banner-congrats{margin:18px 0;padding:14px 18px;border-radius:12px;background:var(--purple-soft);border:1px solid #f6d2dc;color:var(--purple-dark);font-weight:650;font-size:12px;display:flex;align-items:center;gap:10px}
.db-pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:650;color:#236e52;background:#e6f8f0;border:1px solid #b7ebd5;border-radius:999px;padding:4px 11px;transition:all .2s ease;white-space:nowrap}
.db-pill svg.icon{width:12px;height:12px;stroke-width:2.2}
.db-pill.syncing{color:#995010;background:#fff5ea;border-color:#fed8b1}
.db-pill.syncing svg.icon{animation:spin 1s linear infinite}
.db-pill.error{color:#ab273e;background:#feecee;border-color:#fccad2}
.db-pill.offline{color:#6c6978;background:#f3f2f6;border-color:#dedce5}
body.dark .db-pill{color:#7de5bd;background:#18362b;border-color:#245341}
body.dark .db-pill.syncing{color:#fec387;background:#3d2410;border-color:#5c3517}
body.dark .db-pill.error{color:#ffa5b4;background:#3d141e;border-color:#5c1d2c}
body.dark .db-pill.offline{color:#b6b3c4;background:#2a2732;border-color:#3e3a49}
@keyframes spin{100%{transform:rotate(360deg)}}
@media(max-width:900px){.db-pill{display:none}}

@media(max-width:760px){.sidebar{visibility:hidden}.sidebar.open{visibility:visible}}
@media(max-width:480px){.hero-content{max-width:100%}.hero h2{max-width:275px}.hero p{max-width:195px}.hero-art{width:165px;height:165px;right:-35px;bottom:8px;opacity:.65}.stats-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat{display:flex;gap:11px;padding:14px 13px}.stat .tile-icon{display:inline-grid;width:33px;height:36px}.stat .stat-unit{display:inline}.stat strong{font-size:21px}.stat p{font-size:10px}.goal-card{padding:14px}.hero .btn{font-size:11px;padding:11px 14px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
