.admin-loading{background:var(--color-background);min-height:100vh;color:var(--color-textPrimary);justify-content:center;align-items:center;display:flex}.admin-panel{background:var(--color-background);flex-direction:column;min-height:100vh;display:flex}.admin-header{background:var(--color-background);border-bottom:2px solid var(--color-border);z-index:100;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex;position:sticky;top:0}.admin-header-left{align-items:center;gap:1rem;display:flex}.admin-back-btn{border:2px solid var(--color-border);background:var(--color-background);width:40px;height:40px;color:var(--color-textPrimary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.admin-back-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.admin-title{align-items:center;gap:.75rem;display:flex}.admin-title svg{color:var(--color-primary);font-size:1.5rem}.admin-title h1{color:var(--color-textPrimary);margin:0;font-size:1.25rem}.admin-actions{gap:.75rem;display:flex}.admin-content{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:2rem}.empty-state{text-align:center;color:var(--color-textPrimary);opacity:.7;flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.empty-state svg{opacity:.5;margin-bottom:1rem;font-size:3rem}.empty-state h2{margin-bottom:.5rem;font-size:1.5rem}.empty-state p{max-width:400px;font-size:1rem}.books-list h2{color:var(--color-textPrimary);margin-bottom:1.5rem;font-size:1.5rem}.books-section{margin-bottom:2rem}.books-section-title{color:var(--color-textSecondary);border-bottom:1px solid var(--color-border);align-items:center;gap:.5rem;margin-bottom:1rem;padding-bottom:.5rem;font-size:1rem;display:flex}.books-section-title svg{font-size:.875rem}.books-grid{gap:1rem;display:grid}.book-item{background:var(--color-background);border:2px solid var(--color-border);border-radius:.75rem;gap:1rem;padding:1.5rem;transition:all .2s;display:flex}.book-item:hover{border-color:var(--color-primary)}.book-item.selected{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary)5%,var(--color-background))}.book-item.is-draft{opacity:.85;border-style:dashed}.book-item.is-draft:hover{opacity:1}.book-cover-mini{border-radius:.5rem;flex-shrink:0;width:80px;height:120px;position:relative;overflow:hidden;box-shadow:0 4px 8px #0003}.book-cover-mini img{object-fit:cover;width:100%;height:100%}.book-cover-mini .book-cover-fallback{text-align:center;color:#fff;text-shadow:0 1px 2px #00000080;justify-content:center;align-items:center;width:100%;height:100%;padding:.5rem;font-size:.75rem;font-weight:700;line-height:1.2;display:flex}.draft-badge{color:#78350f;text-transform:uppercase;letter-spacing:.5px;background:#f59e0b;border-radius:.25rem;padding:.2rem .5rem;font-size:.625rem;font-weight:700;position:absolute;top:.5rem;left:50%;transform:translate(-50%);box-shadow:0 1px 3px #0003}.book-details{flex-direction:column;flex:1;gap:.25rem;display:flex}.book-details h3{color:var(--color-textPrimary);margin:0;font-size:1.25rem}.book-author{color:var(--color-textPrimary);opacity:.8;font-size:.875rem}.book-meta{color:var(--color-textPrimary);opacity:.6;font-size:.8125rem}.book-actions{align-items:center;gap:.5rem;display:flex}.btn-success{color:#fff!important;background:#22c55e!important;border-color:#22c55e!important}.btn-success:hover{background:#16a34a!important;border-color:#16a34a!important}.btn-warning{color:#78350f!important;background:#f59e0b!important;border-color:#f59e0b!important}.btn-warning:hover{background:#d97706!important;border-color:#d97706!important}.book-editor{flex-direction:column;gap:2rem;display:flex}.editor-section{background:var(--color-background);border:2px solid var(--color-border);border-radius:.75rem;flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.editor-section h2{color:var(--color-textPrimary);margin:0;font-size:1.25rem}.section-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.section-header h2,.section-header h4{margin:0}.draft-toggle-field{background:color-mix(in srgb,var(--color-border)30%,var(--color-background));border-radius:.5rem;margin-bottom:1rem;padding:1rem}.toggle-label{cursor:pointer;justify-content:space-between;align-items:center;display:flex}.toggle-text{color:var(--color-textPrimary);align-items:center;gap:.5rem;font-weight:600;display:flex}.toggle-text svg{font-size:1rem}.toggle-hint{color:var(--color-textSecondary);margin-left:.5rem;font-size:.8125rem;font-weight:400}.toggle-switch{background:var(--color-border);cursor:pointer;border:none;border-radius:14px;width:52px;height:28px;transition:background .2s;position:relative}.toggle-switch.active{background:#22c55e}.toggle-knob{background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.toggle-switch.active .toggle-knob{transform:translate(24px)}.form-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.form-field{flex-direction:column;gap:.5rem;display:flex}.form-field label{color:var(--color-textPrimary);font-size:.875rem;font-weight:600}.form-field input[type=text],.form-field input[type=color],.form-field select,.form-field textarea{border:2px solid var(--color-border);background:var(--color-background);color:var(--color-textPrimary);border-radius:.5rem;padding:.75rem;font-family:inherit;font-size:1rem}.form-field input[type=text]::placeholder,.form-field textarea::placeholder{color:var(--color-textPrimary);opacity:.5}.form-field input[type=color]{cursor:pointer;height:44px}.form-field textarea{resize:vertical;min-height:80px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--color-primary);outline:none}.text-info{color:var(--color-textPrimary);opacity:.6;font-size:.8125rem}.pdf-text-container{flex-direction:column;gap:.75rem;display:flex}.pdf-toggle{align-self:flex-start}.pdf-textarea{border:2px solid var(--color-border);background:color-mix(in srgb,var(--color-border)20%,var(--color-background));color:var(--color-textPrimary);resize:vertical;border-radius:.5rem;padding:.75rem;font-family:Courier New,monospace;font-size:.875rem}.pdf-textarea::placeholder{color:var(--color-textPrimary);opacity:.5}.pdf-textarea:focus{border-color:var(--color-primary);outline:none}.segments-list{flex-direction:column;gap:1rem;display:flex}.drag-hint{color:var(--color-textPrimary);opacity:.5;align-items:center;gap:.5rem;margin:-.5rem 0 .5rem;font-size:.8125rem;display:flex}.drag-hint svg{font-size:.875rem}.segment-card{border:2px solid var(--color-border);background:var(--color-background);border-radius:.75rem;transition:all .2s;overflow:hidden}.segment-card.dragging{opacity:.5;border-style:dashed;transform:scale(.98)}.segment-card.drag-over{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary)8%,var(--color-background));box-shadow:0 4px 12px color-mix(in srgb,var(--color-primary)20%,transparent);transform:scale(1.01)}.segment-header{cursor:pointer;align-items:center;gap:1rem;padding:1rem 1.5rem;transition:background .2s;display:flex}.segment-header:hover{background:color-mix(in srgb,var(--color-border)20%,var(--color-background))}.drag-handle{cursor:grab;color:var(--color-textPrimary);opacity:.4;justify-content:center;align-items:center;padding:.5rem;transition:opacity .2s;display:flex}.drag-handle:hover{opacity:.8}.drag-handle:active{cursor:grabbing}.drag-handle svg{font-size:1.125rem}.segment-number{background:var(--color-primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.875rem;font-weight:700;display:flex}.segment-number.chapter-badge{background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:1rem;width:auto;min-width:32px;padding:0 .5rem;font-size:.75rem}.segment-card.is-chapter{border-left:3px solid #f59e0b}.chapter-toggle-field{background:color-mix(in srgb,var(--color-border)30%,var(--color-background));border-radius:.5rem;align-items:center;gap:1rem;margin-bottom:.5rem;padding:.75rem;display:flex}.checkbox-label{cursor:pointer;color:var(--color-textPrimary);align-items:center;gap:.5rem;font-weight:500;display:flex}.checkbox-label input[type=checkbox]{accent-color:#f59e0b;cursor:pointer;width:18px;height:18px}.chapter-number-badge{color:#92400e;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:1rem;padding:.25rem .75rem;font-size:.75rem;font-weight:700}.header-actions{gap:.5rem;display:flex}.segment-type-badge{border-radius:.5rem;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.5rem .75rem;font-size:.8125rem;font-weight:600;display:flex}.segment-type-badge.chapter-type{color:#92400e;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b}.segment-type-badge.section-type{background:color-mix(in srgb,var(--color-primary)15%,var(--color-background));color:var(--color-primary);border:1px solid color-mix(in srgb,var(--color-primary)30%,transparent)}.segment-type-badge svg{font-size:.875rem}.segment-info{flex-direction:column;flex:1;gap:.25rem;display:flex}.segment-info h3{color:var(--color-textPrimary);margin:0;font-size:1.125rem}.segment-meta{color:var(--color-textPrimary);opacity:.6;font-size:.8125rem}.segment-controls{align-items:center;gap:1rem;display:flex}.segment-controls svg{color:var(--color-textPrimary);opacity:.6;font-size:1.25rem}.segment-content{border-top:2px solid var(--color-border);background:color-mix(in srgb,var(--color-border)10%,var(--color-background));flex-direction:column;gap:1.5rem;padding:1.5rem;display:flex}.questions-section{flex-direction:column;gap:1rem;display:flex}.question-card{background:var(--color-background);border:2px solid var(--color-border);border-radius:.5rem;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.question-card input[type=text],.question-card textarea{border:2px solid var(--color-border);background:var(--color-background);color:var(--color-textPrimary);box-sizing:border-box;border-radius:.5rem;width:100%;padding:.75rem;font-family:inherit;font-size:1rem}.question-card input[type=text]::placeholder,.question-card textarea::placeholder{color:var(--color-textPrimary);opacity:.5}.question-card input[type=text]:focus,.question-card textarea:focus{border-color:var(--color-primary);outline:none}.question-card textarea{resize:vertical;min-height:60px}.question-header{justify-content:space-between;align-items:center;display:flex}.question-header h5{color:var(--color-textPrimary);margin:0;font-size:1rem}.options-list{flex-direction:column;gap:.5rem;display:flex}.option-field{align-items:center;gap:.75rem;display:flex}.option-field input[type=radio]{cursor:pointer;width:20px;height:20px;accent-color:var(--color-primary);flex-shrink:0}.option-field input[type=text]{border:2px solid var(--color-border);background:var(--color-background);color:var(--color-textPrimary);border-radius:.5rem;flex:1;padding:.75rem;font-family:inherit;font-size:1rem}.option-field input[type=text]::placeholder{color:var(--color-textPrimary);opacity:.5}.option-field input[type=text]:focus{border-color:var(--color-primary);outline:none}.editor-actions{border-top:2px solid var(--color-border);justify-content:flex-end;gap:1rem;padding-top:1rem;display:flex}@media (max-width:768px){.admin-header{flex-wrap:wrap;gap:1rem;padding:1rem}.admin-header-left{flex:1}.admin-title h1{font-size:1rem}.admin-actions{flex-direction:column;width:100%}.admin-actions button{width:100%}.admin-content{padding:1rem}.form-grid{grid-template-columns:1fr}.book-item{text-align:center;flex-direction:column}.book-cover-mini{width:100px;height:150px;margin:0 auto}.book-actions{justify-content:center}.segment-header{flex-wrap:wrap;gap:.75rem}.segment-controls{justify-content:flex-end;width:100%}.editor-actions{flex-direction:column}.editor-actions button{width:100%}.toggle-label{flex-direction:column;align-items:flex-start;gap:.75rem}.toggle-hint{margin-top:.25rem;margin-left:0;display:block}}.cover-image-upload{flex-direction:column;gap:.75rem;display:flex}.cover-preview{border:2px solid var(--color-border);border-radius:.5rem;width:150px;height:200px;overflow:hidden}.cover-preview img{object-fit:cover;width:100%;height:100%}.upload-button{cursor:pointer;align-items:center;gap:.5rem;width:fit-content;display:inline-flex}.upload-button.uploading{opacity:.7;cursor:wait}.upload-error{color:#ef4444;font-size:.8125rem}.upload-hint{color:var(--color-textPrimary);opacity:.6;font-size:.75rem}.field-hint{color:var(--color-textPrimary);opacity:.6;margin:0 0 .75rem;font-size:.75rem}.icon-pack-upload{flex-direction:column;gap:.75rem;display:flex}.icon-slots{flex-wrap:wrap;gap:1rem;display:flex}.icon-slot{background:color-mix(in srgb,var(--color-border)20%,var(--color-background));border:2px solid var(--color-border);border-radius:.5rem;flex-direction:column;align-items:center;gap:.5rem;min-width:100px;padding:.75rem;display:flex}.icon-preview{background:var(--color-background);border:2px dashed var(--color-border);border-radius:.5rem;justify-content:center;align-items:center;width:64px;height:64px;display:flex;overflow:hidden}.icon-preview img{object-fit:contain;width:100%;height:100%}.icon-placeholder{color:var(--color-textPrimary);opacity:.3;font-size:1.5rem}.icon-label{color:var(--color-textPrimary);font-size:.75rem;font-weight:600}.icon-actions{gap:.25rem;display:flex}.btn--xs{padding:.25rem .5rem;font-size:.75rem}.legal-page{min-height:100vh;padding:2rem 1rem}.legal-container{border-radius:.5rem;max-width:800px;margin:0 auto;padding:3rem;box-shadow:0 1px 3px #0000001a}.legal-header{border-bottom:2px solid #d30000;margin-bottom:2rem;padding-bottom:1.5rem}.legal-header h1{margin-bottom:.5rem;font-size:2rem;font-weight:700}.last-updated{font-size:.875rem}.legal-container h2{border-bottom:1px solid #d30000;margin-top:2rem;margin-bottom:1rem;padding-bottom:.5rem;font-size:1.5rem;font-weight:600}.legal-container h3{margin-top:1.5rem;margin-bottom:.75rem;font-size:1.25rem;font-weight:600}.legal-container section{margin-bottom:2rem}.legal-container p{margin-bottom:1rem;line-height:1.7}.legal-container ul,.legal-container ol{margin-bottom:1rem;margin-left:2rem}.legal-container li{margin-bottom:.5rem;line-height:1.7}.legal-container ul li{list-style-type:disc}.legal-container ol li{list-style-type:decimal}.legal-container a{color:#d30000;text-decoration:none;transition:color .2s}.legal-container a:hover{color:#5568d3;text-decoration:underline}.highlight-box{border-left:4px solid #d30000;border-radius:0 .375rem .375rem 0;margin:1.5rem 0;padding:1rem 1.25rem}.highlight-box strong{color:#d30000}.highlight-box ul{margin-top:.5rem;margin-bottom:0;margin-left:1.5rem}.contact-info{border-radius:.5rem;margin-top:2rem;padding:1.5rem}.contact-info h2{border-bottom:none;margin-top:0;padding-bottom:0}.legal-footer{text-align:center;color:#718096;border-top:1px solid #e2e8f0;margin-top:3rem;padding-top:2rem;font-size:.875rem}.legal-footer p{color:#718096;margin-bottom:.25rem}.legal-footer a{color:#718096;margin:0 .5rem}.legal-footer a:hover{color:#4a5568}@media (max-width:768px){.legal-page{padding:1rem .5rem}.legal-container{border-radius:0;padding:2rem 1.5rem}.legal-header h1{font-size:1.5rem}.legal-container h2{font-size:1.25rem}.legal-container h3{font-size:1.125rem}.legal-container ul,.legal-container ol{margin-left:1.5rem}.highlight-box{padding:1rem}}@media print{.legal-page{padding:0}.legal-container{box-shadow:none;max-width:100%}.legal-container a{text-decoration:underline}.highlight-box{border:1px solid #333}}.heading--s{font-size:clamp(18px,.37037vw + 16.6667px,22px);font-weight:600}.heading{font-size:clamp(25.2px,.518519vw + 23.3333px,30.8px);font-weight:700}@media (max-width:767px){.heading{font-size:clamp(21.6px,.444444vw + 20px,26.4px)}}.heading--l{font-size:clamp(32.4px,.666667vw + 30px,39.6px);font-weight:700}@media (max-width:767px){.heading--l{font-size:clamp(25.2px,.518519vw + 23.3333px,30.8px)}}.heading--xl{font-size:clamp(46.8px,.962963vw + 43.3333px,57.2px);font-weight:800}@media (max-width:767px){.heading--xl{font-size:clamp(32.4px,.666667vw + 30px,39.6px)}}.subheading--s{font-size:clamp(14.4px,.296296vw + 13.3333px,17.6px);font-weight:500}@media (max-width:767px){.subheading--s{font-size:clamp(14.4px,.296296vw + 13.3333px,17.6px)}}.subheading{font-size:clamp(18px,.37037vw + 16.6667px,22px);font-weight:600}.subheading--l{font-size:clamp(21.6px,.444444vw + 20px,26.4px);font-weight:600}.eyebrow{letter-spacing:.1em;text-transform:uppercase;font-size:clamp(10.8px,.222222vw + 10px,13.2px);font-weight:500}.body--xs{font-size:clamp(10.8px,.222222vw + 10px,13.2px)}.body--s{font-size:clamp(12.6px,.259259vw + 11.6667px,15.4px)}.body{font-size:clamp(14.4px,.296296vw + 13.3333px,17.6px)}.body--l{font-size:clamp(16.2px,.333333vw + 15px,19.8px)}.body--xl{font-size:clamp(18px,.37037vw + 16.6667px,22px)}.container{width:100%;margin:0 auto;padding-left:1rem;padding-right:1rem}@media (min-width:768px){.container{max-width:clamp(864px,17.7778vw + 800px,1056px)}}.row{flex-wrap:wrap;display:flex}.col{width:100%;padding:clamp(14.4px,.296296vw + 13.3333px,17.6px)}@media (min-width:768px){.col{width:50%}}.box{padding:clamp(14.4px,.296296vw + 13.3333px,17.6px)}.bg-primary{background-color:#fc440f}.bg-secondary{background-color:#8783d1}.bg-dark{background-color:#0e131f}.bg-light{background-color:#d6eadf}.bg-accent{background-color:#0c1b33}.bg-white{background-color:#faf9f6}.bg-off-white{background-color:#fff}.text-primary{color:#fc440f}.text-secondary{color:#8783d1}.text-dark{color:#0e131f}.text-light{color:#d6eadf}.text-accent{color:#0c1b33}.text-white{color:#faf9f6}.text-off-white{color:#fff}.button{cursor:pointer;text-align:center;z-index:1;border:none;border-radius:clamp(5.4px,.111111vw + 5px,6.6px);justify-content:center;align-items:center;gap:clamp(7.2px,.148148vw + 6.66667px,8.8px);padding:clamp(10.8px,.222222vw + 10px,13.2px) clamp(21.6px,.444444vw + 20px,26.4px);font-family:inherit;font-weight:600;text-decoration:none;transition:background-color .2s,color .2s,border-color .2s,transform .1s;display:flex}.button:active{transform:scale(.98)}.button:disabled{opacity:.5;cursor:not-allowed}.button:disabled:active{transform:none}.btn--s{padding:clamp(5.4px,.111111vw + 5px,6.6px) clamp(14.4px,.296296vw + 13.3333px,17.6px);font-size:clamp(12.6px,.259259vw + 11.6667px,15.4px)}.btn{font-size:clamp(14.4px,.296296vw + 13.3333px,17.6px)}.btn--l{padding:clamp(14.4px,.296296vw + 13.3333px,17.6px) clamp(28.8px,.592593vw + 26.6667px,35.2px);font-size:clamp(16.2px,.333333vw + 15px,19.8px)}.btn-primary{background-color:var(--color-primary);color:var(--color-textSecondary)}.btn-primary:hover:not(:disabled){filter:brightness(1.1)}.btn-primary--outline{color:var(--color-primary);border:2px solid var(--color-primary);background-color:#0000}.btn-primary--outline:hover:not(:disabled){background-color:var(--color-primary);color:var(--color-textSecondary)}.btn-secondary{background-color:var(--color-backgroundSecondary,var(--color-hover));color:var(--color-textPrimary);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background-color:var(--color-backgroundTertiary,var(--color-active));border-color:var(--color-borderStrong,var(--color-border))}.btn-secondary--outline{color:var(--color-textPrimary);border:2px solid var(--color-border);background-color:#0000}.btn-secondary--outline:hover:not(:disabled){background-color:var(--color-hover);border-color:var(--color-borderStrong,var(--color-border))}.btn-ghost{color:var(--color-textPrimary);background-color:#0000;border:none}.btn-ghost:hover:not(:disabled){background-color:var(--color-hover)}.btn-danger{background-color:var(--color-error,#ef4444);color:#fff}.btn-danger:hover:not(:disabled){filter:brightness(1.1)}.btn-danger--outline{color:var(--color-error,#ef4444);border:2px solid var(--color-error,#ef4444);background-color:#0000}.btn-danger--outline:hover:not(:disabled){background-color:var(--color-error,#ef4444);color:#fff}.btn-success{background-color:var(--color-success,#22c55e);color:#fff}.btn-success:hover:not(:disabled){filter:brightness(1.1)}.btn-icon{width:clamp(39.6px,.814815vw + 36.6667px,48.4px);height:clamp(39.6px,.814815vw + 36.6667px,48.4px);padding:clamp(9px,.185185vw + 8.33333px,11px)}.btn-icon.btn--s{width:clamp(28.8px,.592593vw + 26.6667px,35.2px);height:clamp(28.8px,.592593vw + 26.6667px,35.2px);padding:clamp(5.4px,.111111vw + 5px,6.6px)}.btn-icon.btn--l{width:clamp(50.4px,1.03704vw + 46.6667px,61.6px);height:clamp(50.4px,1.03704vw + 46.6667px,61.6px);padding:clamp(12.6px,.259259vw + 11.6667px,15.4px)}.btn--full{width:100%}.btn--loading{pointer-events:none;position:relative;color:#0000!important}.btn--loading:after{content:"";border:2px solid;border-right-color:#0000;border-radius:50%;width:clamp(14.4px,.296296vw + 13.3333px,17.6px);height:clamp(14.4px,.296296vw + 13.3333px,17.6px);animation:.6s linear infinite btn-spin;position:absolute}@keyframes btn-spin{to{transform:rotate(360deg)}}.media-block .button{width:fit-content}.video-block .video-wrapper{width:100%}.video-block img{max-height:clamp(540px,11.1111vw + 500px,660px)}.hero{--dim:.5;width:100vw;min-height:100vh;margin-left:calc(50% - 50vw);position:relative;overflow:hidden}.hero__media{width:100%;height:100%;position:absolute;inset:0}.hero__media img,.hero__media video{object-fit:cover;width:100%;height:100%}.hero__content{z-index:20;align-items:center;width:100%;min-height:100vh;display:flex;position:relative}.hero .hero__content.text-center .container .eyebrow,.hero .hero__content.text-center .container h1,.hero .hero__content.text-center .container p{margin-inline:auto}.hero .hero__content.text-center .container h1{text-transform:capitalize}.hero .container .eyebrow,.hero .container h1,.hero .container p{text-wrap:balance;max-width:clamp(630px,12.963vw + 583.333px,770px)}.hero:after{content:"";background:rgba(0,0,0,var(--dim));pointer-events:none;position:absolute;inset:0}.site-nav{z-index:50;background:#fff;border-bottom:1px solid #0000000f;width:100vw;margin-left:calc(50% - 50vw);position:relative;overflow:hidden}.site-nav--sticky{position:sticky;top:0}.site-nav .nav__bar{grid-template-columns:auto 1fr auto auto;align-items:center;gap:clamp(14.4px,.296296vw + 13.3333px,17.6px);padding:clamp(10.8px,.222222vw + 10px,13.2px) clamp(14.4px,.296296vw + 13.3333px,17.6px);display:grid}.site-nav .nav__logo{align-items:center;gap:clamp(7.2px,.148148vw + 6.66667px,8.8px);text-decoration:none;display:inline-flex}.site-nav .nav__brand{color:#0e131f;font-size:clamp(14.4px,.296296vw + 13.3333px,17.6px);font-weight:700}.site-nav .nav__links{justify-self:center}.site-nav .nav__links ul{gap:clamp(18px,.37037vw + 16.6667px,22px);margin:0;padding:0;list-style:none;display:flex}.site-nav .nav__link{color:#0e131f;font-weight:500;text-decoration:none}.site-nav .nav__link:hover{opacity:.8}.site-nav .nav__actions{align-items:center;display:flex}.site-nav .nav__hamburger{cursor:pointer;background:0 0;border:0;padding:clamp(7.2px,.148148vw + 6.66667px,8.8px);display:none}.site-nav .nav__hamburger-bar{background:#0e131f;width:clamp(19.8px,.407407vw + 18.3333px,24.2px);height:clamp(1.8px,.037037vw + 1.66667px,2.2px);margin:clamp(3.6px,.0740741vw + 3.33333px,4.4px) 0;display:block}.site-nav .nav__panel{opacity:0;pointer-events:none;background:#00000073;transition:opacity .2s;position:fixed;inset:0}.site-nav .nav__panel.is-open{opacity:1;pointer-events:auto}.site-nav .nav__panel-inner{background:#fff;flex-direction:column;gap:clamp(10.8px,.222222vw + 10px,13.2px);width:84vw;max-width:clamp(378px,7.77778vw + 350px,462px);height:100%;padding:clamp(14.4px,.296296vw + 13.3333px,17.6px) clamp(18px,.37037vw + 16.6667px,22px);display:flex;position:absolute;top:0;right:0;box-shadow:clamp(-5.4px,-.111111vw - 5px,-6.6px) 0 clamp(16.2px,.333333vw + 15px,19.8px) #0000001a}.site-nav .nav__panel-inner nav ul{gap:clamp(7.2px,.148148vw + 6.66667px,8.8px);margin:0;padding:0;list-style:none;display:grid}@media (max-width:960px){.site-nav .nav__links,.site-nav .nav__actions{display:none}.site-nav .nav__hamburger{justify-self:end;display:inline-block}.site-nav .nav__bar{grid-template-columns:auto 1fr auto}}.site-footer{color:#333;background:#f9f9f9;border-top:clamp(.9px,.0185185vw + .833333px,1.1px) solid #00000014;width:100vw;margin-left:calc(50% - 50vw);padding-block:clamp(43.2px,.888889vw + 40px,52.8px);font-size:clamp(12.6px,.259259vw + 11.6667px,15.4px);position:relative;overflow:hidden}.site-footer .footer__grid{grid-template-columns:1fr 2fr 1fr;gap:clamp(28.8px,.592593vw + 26.6667px,35.2px);display:grid}.site-footer .footer__logo{color:#0e131f;align-items:center;gap:clamp(7.2px,.148148vw + 6.66667px,8.8px);font-weight:700;text-decoration:none;display:inline-flex}.site-footer .footer__middle{grid-template-columns:repeat(3,1fr);gap:clamp(28.8px,.592593vw + 26.6667px,35.2px);display:grid}.site-footer .footer__col ul{margin:0;padding:0;list-style:none}.site-footer .footer__link{color:#0e131f;text-decoration:none}.site-footer .footer__link:hover{opacity:.8}.site-footer .footer__right{flex-direction:column;align-items:flex-start;display:flex}.site-footer .footer__social{font-size:clamp(18px,.37037vw + 16.6667px,22px);text-decoration:none}.site-footer .footer__social:hover{opacity:.7}@media (max-width:960px){.site-footer .footer__grid,.site-footer .footer__middle{grid-template-columns:1fr}.site-footer .footer__right{margin-top:clamp(28.8px,.592593vw + 26.6667px,35.2px)}}.faq .faq__item{border-top:1px solid #00000014}.faq .faq__item:last-child{border-bottom:1px solid #00000014}.faq .faq__q{margin:0}.faq .faq__button{text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:clamp(14.4px,.296296vw + 13.3333px,17.6px);width:100%;padding:clamp(14.4px,.296296vw + 13.3333px,17.6px) 0;display:flex}.faq .faq__chevron{border-bottom:clamp(1.8px,.037037vw + 1.66667px,2.2px) solid;border-right:clamp(1.8px,.037037vw + 1.66667px,2.2px) solid;flex:0 0 clamp(12.6px,.259259vw + 11.6667px,15.4px);width:clamp(12.6px,.259259vw + 11.6667px,15.4px);height:clamp(12.6px,.259259vw + 11.6667px,15.4px);transition:transform .2s;transform:rotate(-45deg)}.faq .faq__item.is-open .faq__chevron{transform:rotate(45deg)}.faq .faq__panel{transition:max-height .25s;overflow:hidden}.faq .faq__answer{color:#222;padding:0 0 clamp(14.4px,.296296vw + 13.3333px,17.6px)}.card{background:#fff;flex-direction:column;max-width:clamp(270px,5.55556vw + 250px,330px);height:100%;display:flex;overflow:hidden}.card .card__media{aspect-ratio:16/9;background:#f2f2f2}.card .card__media img{object-fit:cover;width:100%;height:100%;display:block}.card .card__body{padding:clamp(14.4px,.296296vw + 13.3333px,17.6px)}.card .card__actions{padding:0 clamp(14.4px,.296296vw + 13.3333px,17.6px) clamp(14.4px,.296296vw + 13.3333px,17.6px)}.card-row{position:relative}.card-row__viewport{position:relative;overflow:hidden}.card-row__track{will-change:transform;transition:transform .25s;display:flex}.card-row__page{flex:0 0 100%;padding:clamp(3.6px,.0740741vw + 3.33333px,4.4px) 0}.card-row__grid{grid-template-columns:repeat(3,1fr);gap:clamp(14.4px,.296296vw + 13.3333px,17.6px);display:grid}.card-row__nav{text-align:center;z-index:2;background:#fff;border:1px solid #0000001a;border-radius:999px;width:clamp(32.4px,.666667vw + 30px,39.6px);height:clamp(32.4px,.666667vw + 30px,39.6px);line-height:clamp(30.6px,.62963vw + 28.3333px,37.4px);position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 clamp(3.6px,.0740741vw + 3.33333px,4.4px) clamp(14.4px,.296296vw + 13.3333px,17.6px) #00000014}.card-row__nav[disabled]{opacity:.4;cursor:not-allowed}.card-row__nav--prev{left:clamp(-7.2px,-.148148vw - 6.66667px,-8.8px)}.card-row__nav--next{right:clamp(-7.2px,-.148148vw - 6.66667px,-8.8px)}.card-row__dots{justify-content:center;gap:clamp(7.2px,.148148vw + 6.66667px,8.8px);margin-top:clamp(10.8px,.222222vw + 10px,13.2px);display:flex}.card-row__dot{cursor:pointer;background:#0003;border:0;border-radius:999px;width:clamp(7.2px,.148148vw + 6.66667px,8.8px);height:clamp(7.2px,.148148vw + 6.66667px,8.8px)}.card-row__dot.is-active{background:#0009}@media (min-width:768px){.card-row__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:767px){.card{width:100%;max-width:none}.card-row__grid{grid-template-columns:1fr}.card-row__nav{display:none}.card-row__dot{width:clamp(9px,.185185vw + 8.33333px,11px);height:clamp(9px,.185185vw + 8.33333px,11px)}}.card-grid__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14.4px,.296296vw + 13.3333px,17.6px);display:grid}@media (min-width:768px){.card-grid__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:768px) and (min-width:1024px){.card-grid__grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:767px){.card-grid__grid{grid-template-columns:1fr}}.card-grid__more{justify-content:center;padding:clamp(36px,.740741vw + 33.3333px,44px);display:flex}.chapter-menu-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.chapter-menu{background:var(--color-background);border-radius:12px;flex-direction:column;width:90%;max-width:600px;max-height:80vh;display:flex;box-shadow:0 20px 60px #0000004d}.chapter-menu-header{justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.chapter-menu-header h2{margin:0;font-size:20px;font-weight:600}.chapter-menu-header button{color:var(--color-textPrimary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;font-size:20px;transition:all .2s;display:flex}.chapter-menu-header button:hover{background:var(--color-background);color:var(--color-textPrimary)}.chapter-menu-list{overflow-y:auto}.chapter-menu-item{cursor:pointer;border-radius:8px;align-items:center;gap:12px;margin-bottom:4px;padding:12px 16px;transition:all .2s;display:flex}.chapter-menu-item.active{background:var(--color-background);border-top:1px solid var(--color-primary);border-bottom:1px solid var(--color-primary);padding-left:13px}.chapter-menu-item .chapter-number{background:var(--color-background);color:#374151;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:600;display:flex}.chapter-menu-item.active .chapter-number{background:var(--color-primary);color:#fff}.chapter-menu-item .chapter-title{flex:1;font-size:15px;line-height:1.4}.chapter-menu-item.active{color:var(--color-primary);font-weight:500}@media (max-width:640px){.chapter-menu{width:95%;max-height:85vh}.chapter-menu-header{padding:16px 20px}.chapter-menu-header h2{font-size:18px}.chapter-menu-item{padding:10px 14px}.chapter-menu-item .chapter-number{width:24px;height:24px;font-size:12px}.chapter-menu-item .chapter-title{font-size:14px}.chapter-menu-button{padding:6px 14px;font-size:13px}}.chapter-menu-button{cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:6px;align-self:flex-start;align-items:center;gap:8px;margin:12px;padding:8px 16px;font-size:14px;transition:all .2s;display:flex}.chapter-menu-button:hover{background:#fff3;border-color:#ffffff4d}.drive-picker-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.drive-picker{background-color:var(--color-background);border-radius:1rem;flex-direction:column;width:100%;max-width:42rem;max-height:85vh;display:flex;box-shadow:0 20px 60px #0000004d}.drive-picker-header{border-bottom:1px solid var(--color-border);justify-content:space-between;margin:0;padding:1.5rem;font-size:1.25rem;font-weight:600;display:flex}.close-button{cursor:pointer;color:var(--color-textPrimary);background:0 0;border:none;height:fit-content;padding:.5rem;font-size:1.25rem;transition:color .2s}.close-button:hover{color:var(--color-textPrimary)}.drive-search{border-bottom:1px solid var(--color-border);gap:.75rem;padding:1rem 1.5rem;display:flex}.search-input-wrapper{flex:1;position:relative}.search-icon{color:var(--color-textPrimary);font-size:.875rem;position:absolute;top:50%;left:.875rem;transform:translateY(-50%)}.search-input{border:1px solid var(--color-border);border-radius:.5rem;width:100%;padding:.625rem .875rem .625rem 2.5rem;font-size:.875rem;transition:border-color .2s}.search-input:focus{border-color:var(--color-primary);outline:none}.drive-error{background:var(--color-background);border-bottom:1px solid var(--color-border);color:var(--color-primary);padding:1rem 1.5rem;font-size:.875rem}.drive-file-list{flex:1;padding:.5rem;overflow-y:auto}.drive-loading{color:var(--color-textPrimary);flex-direction:column;justify-content:center;align-items:center;padding:3rem 1rem;display:flex}.spinner{color:var(--color-primary);margin-bottom:1rem;font-size:2rem;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.drive-empty{text-align:center;color:var(--color-textPrimary);padding:3rem 1rem}.drive-file-item{cursor:pointer;border-radius:.5rem;align-items:center;gap:1rem;padding:1rem;transition:background .15s;display:flex}.drive-file-item:hover:not(.downloading){background:#00000059}@media (prefers-color-scheme:dark){.drive-file-item:hover:not(.downloading){background:#ffffff1a}}.drive-file-item.downloading{opacity:.6;cursor:wait}.file-icon{flex-shrink:0;font-size:2rem}.file-info{flex:1;min-width:0}.file-name{text-overflow:ellipsis;white-space:nowrap;margin-bottom:.25rem;font-weight:500;overflow:hidden}.file-meta{font-size:.75rem}.download-icon{flex-shrink:0;font-size:1.25rem}.upload-options{margin-top:1rem}.drive-button{background:0 0;border:none;font-weight:500;transition:color .2s}.dual-thumb{background:var(--color-primary);cursor:pointer;border-radius:50%;width:16px;height:16px;position:absolute;top:50%;transform:translate(-50%,-50%)}.login-container{background:linear-gradient(135deg,#d30000 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.login-box{background:var(--color-background);border-radius:1rem;width:100%;max-width:28rem;padding:3rem;box-shadow:0 20px 60px #0000004d}.login-header{text-align:center}.google-signin-button{color:#fff;background:#4285f4;border:none;justify-content:center;align-items:center;gap:.75rem;width:100%;padding:.875rem 1.5rem;font-size:1rem;transition:all .2s;display:flex}.google-signin-button:hover:not(:disabled){background:#357ae8;transform:translateY(-1px);box-shadow:0 4px 12px #4285f466}.google-signin-button:disabled{opacity:.6;cursor:not-allowed}.login-error{background:var(--color-background);color:#c33;border-radius:.5rem;padding:.75rem 1rem;font-size:.875rem}.login-footer{text-align:center;border-top:1px solid #eee;padding-top:1rem}.app-header{z-index:100;position:absolute;top:1rem;left:1rem}.user-profile{position:relative}.menu-toggle-button{border:1px solid var(--color-border);background:var(--color-background);cursor:pointer;border-radius:.5rem;justify-content:center;align-items:center;width:3rem;height:3rem;padding:0;transition:all .2s;display:flex}.menu-toggle-button:hover{border-color:var(--color-primary);background:#0000000d}@media (prefers-color-scheme:dark){.menu-toggle-button:hover{background:#ffffff0d}}.menu-icon{color:var(--color-textPrimary);font-size:1.25rem}.drive-actions{flex-direction:column;gap:1rem;padding:2rem;display:flex}.drive-action-button{border:2px solid var(--color-border);cursor:pointer;text-align:left;border-radius:.75rem;align-items:center;gap:1.5rem;padding:1.5rem;transition:all .2s;display:flex}.drive-action-button:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 4px 12px #667eea26}.drive-action-button svg{color:inherit;flex-shrink:0;font-size:2rem}.action-title{margin-bottom:.25rem;font-size:1.125rem;font-weight:600}.action-desc{font-size:.875rem}.drive-save-form{padding:2rem}.drive-save-form label{display:block}.drive-input{border:1px solid var(--color-border);border-radius:.5rem;width:100%;margin-top:.5rem;padding:.75rem;font-size:1rem;transition:border-color .2s}.drive-input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #667eea1a}.drive-save-actions{justify-content:flex-end;gap:1rem;margin-top:1.5rem;display:flex}.drive-footer{border-top:1px solid var(--color-border);justify-content:flex-start;padding:1rem 1.5rem;display:flex}.drive-empty{text-align:center;padding:3rem 2rem}.drive-empty p:first-child{font-size:1.125rem;font-weight:500}.rsvp-root{background:var(--color-background);color:var(--color-textPrimary);justify-content:center;align-items:center;min-height:100vh;margin:auto;display:flex;position:relative}.text-editor-container{flex-direction:column;align-items:center;width:100%;max-width:clamp(504px,10.3704vw + 466.667px,616px);margin:0 auto;padding:clamp(21.6px,.444444vw + 20px,26.4px);display:flex}@media (max-width:767px){.text-editor-container{padding:clamp(14.4px,.296296vw + 13.3333px,17.6px)}}.editor-hero{text-align:center;width:100%;margin-bottom:clamp(21.6px,.444444vw + 20px,26.4px)}.hero-badge{background:color-mix(in srgb,var(--color-primary)15%,transparent);color:var(--color-primary);border-radius:clamp(18px,.37037vw + 16.6667px,22px);align-items:center;gap:clamp(5.4px,.111111vw + 5px,6.6px);margin-bottom:clamp(14.4px,.296296vw + 13.3333px,17.6px);padding:clamp(5.4px,.111111vw + 5px,6.6px) clamp(12.6px,.259259vw + 11.6667px,15.4px);font-size:clamp(10.8px,.222222vw + 10px,13.2px);font-weight:600;display:inline-flex}.hero-badge svg{font-size:clamp(9px,.185185vw + 8.33333px,11px)}.hero-title{color:var(--color-textPrimary);margin:0 0 clamp(10.8px,.222222vw + 10px,13.2px);font-size:clamp(28.8px,.592593vw + 26.6667px,35.2px);font-weight:800;line-height:1.15}.hero-title .highlight{color:var(--color-primary)}@media (max-width:767px){.hero-title{font-size:clamp(23.4px,.481481vw + 21.6667px,28.6px)}}.hero-subtitle{color:var(--color-textPrimary);opacity:.7;margin:0;font-size:clamp(13.5px,.277778vw + 12.5px,16.5px);line-height:1.5}@media (max-width:767px){.hero-subtitle{font-size:clamp(12.6px,.259259vw + 11.6667px,15.4px)}}.editor-features{justify-content:center;align-items:flex-start;gap:clamp(21.6px,.444444vw + 20px,26.4px);width:100%;margin-bottom:clamp(21.6px,.444444vw + 20px,26.4px);display:flex}@media (max-width:767px){.editor-features{flex-wrap:wrap;justify-content:center;gap:clamp(14.4px,.296296vw + 13.3333px,17.6px)}}.feature-item{align-items:center;gap:clamp(7.2px,.148148vw + 6.66667px,8.8px);display:flex}@media (max-width:767px){.feature-item{flex:none}}.feature-icon{background:var(--color-border);width:clamp(28.8px,.592593vw + 26.6667px,35.2px);height:clamp(28.8px,.592593vw + 26.6667px,35.2px);color:var(--color-primary);border-radius:clamp(7.2px,.148148vw + 6.66667px,8.8px);flex-shrink:0;justify-content:center;align-items:center;font-size:clamp(12.6px,.259259vw + 11.6667px,15.4px);display:flex}.feature-text{flex-direction:column;display:flex}.feature-text strong{color:var(--color-textPrimary);font-size:clamp(10.8px,.222222vw + 10px,13.2px);font-weight:600}.feature-text span{color:var(--color-textPrimary);opacity:.6;font-size:clamp(9px,.185185vw + 8.33333px,11px)}.editor-card{background:var(--color-background);border:1px solid var(--color-border);border-radius:clamp(10.8px,.222222vw + 10px,13.2px);width:100%;margin-bottom:clamp(14.4px,.296296vw + 13.3333px,17.6px);padding:clamp(10.8px,.222222vw + 10px,13.2px);transition:all .2s;position:relative}.editor-card.drag-over{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary)5%,transparent);border-style:dashed}.editor-card-header{justify-content:space-between;align-items:center;margin-bottom:clamp(9px,.185185vw + 8.33333px,11px);display:flex}.editor-label{color:var(--color-textPrimary);opacity:.6;text-transform:uppercase;letter-spacing:.5px;font-size:clamp(9.9px,.203704vw + 9.16667px,12.1px);font-weight:600}.upload-btn{background:var(--color-border);color:var(--color-textPrimary);cursor:pointer;border-radius:clamp(5.4px,.111111vw + 5px,6.6px);align-items:center;gap:clamp(5.4px,.111111vw + 5px,6.6px);padding:clamp(5.4px,.111111vw + 5px,6.6px) clamp(9px,.185185vw + 8.33333px,11px);font-size:clamp(9.9px,.203704vw + 9.16667px,12.1px);font-weight:500;transition:all .2s;display:flex}.upload-btn:hover{background:var(--color-primary);color:#fff}.upload-btn svg{font-size:clamp(9px,.185185vw + 8.33333px,11px)}.editor-textarea{background:var(--color-border);width:100%;height:clamp(162px,3.33333vw + 150px,198px);color:var(--color-textPrimary);resize:vertical;border:none;border-radius:clamp(7.2px,.148148vw + 6.66667px,8.8px);padding:clamp(10.8px,.222222vw + 10px,13.2px);font-family:inherit;font-size:clamp(12.6px,.259259vw + 11.6667px,15.4px);line-height:1.6}@media (max-width:767px){.editor-textarea{height:clamp(135px,2.77778vw + 125px,165px);font-size:clamp(11.7px,.240741vw + 10.8333px,14.3px)}}.editor-textarea::placeholder{color:var(--color-textPrimary);opacity:.4}.editor-textarea:focus{box-shadow:0 0 0 2px var(--color-primary);outline:none}.drop-overlay{background:color-mix(in srgb,var(--color-primary)95%,transparent);color:#fff;border-radius:clamp(10.8px,.222222vw + 10px,13.2px);flex-direction:column;justify-content:center;align-items:center;gap:clamp(7.2px,.148148vw + 6.66667px,8.8px);font-size:clamp(14.4px,.296296vw + 13.3333px,17.6px);font-weight:600;display:flex;position:absolute;inset:0}.drop-overlay svg{font-size:clamp(28.8px,.592593vw + 26.6667px,35.2px)}.start-button{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:clamp(10.8px,.222222vw + 10px,13.2px);justify-content:center;align-items:center;gap:clamp(9px,.185185vw + 8.33333px,11px);width:100%;padding:clamp(12.6px,.259259vw + 11.6667px,15.4px) clamp(21.6px,.444444vw + 20px,26.4px);font-size:clamp(14.4px,.296296vw + 13.3333px,17.6px);font-weight:600;transition:all .2s;display:flex}.start-button:hover{filter:brightness(1.1);transform:translateY(-1px)}.start-button:active{transform:translateY(0)}.start-button svg{font-size:clamp(12.6px,.259259vw + 11.6667px,15.4px)}.try-prompt{text-align:center;color:var(--color-textPrimary);opacity:.5;width:100%;margin:clamp(10.8px,.222222vw + 10px,13.2px) 0 clamp(21.6px,.444444vw + 20px,26.4px);font-size:clamp(10.8px,.222222vw + 10px,13.2px)}.editor-footer{border-top:1px solid var(--color-border);flex-direction:column;align-items:center;gap:clamp(10.8px,.222222vw + 10px,13.2px);width:100%;padding-top:clamp(18px,.37037vw + 16.6667px,22px);display:flex}.social-links{justify-content:center;align-items:center;gap:clamp(9px,.185185vw + 8.33333px,11px);width:100%;display:flex}.social-links a{background:var(--color-border);width:clamp(32.4px,.666667vw + 30px,39.6px);height:clamp(32.4px,.666667vw + 30px,39.6px);color:var(--color-textPrimary);border-radius:clamp(7.2px,.148148vw + 6.66667px,8.8px);justify-content:center;align-items:center;font-size:clamp(14.4px,.296296vw + 13.3333px,17.6px);transition:all .2s;display:flex}.social-links a:hover{background:var(--color-primary);color:#fff}.legal-links{justify-content:center;align-items:center;gap:clamp(10.8px,.222222vw + 10px,13.2px);width:100%;font-size:clamp(9.9px,.203704vw + 9.16667px,12.1px);display:flex}.legal-links a{color:var(--color-textPrimary);opacity:.5;text-decoration:none}.legal-links a:hover{opacity:1}.legal-links .legal-separator{color:var(--color-textPrimary);opacity:.3}.chapter-menu-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;justify-content:center;align-items:center;padding:clamp(18px,.37037vw + 16.6667px,22px);display:flex;position:fixed;inset:0}.chapter-menu{background:var(--color-background);border-radius:clamp(14.4px,.296296vw + 13.3333px,17.6px);flex-direction:column;width:100%;max-width:clamp(432px,8.88889vw + 400px,528px);max-height:80vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #0000004d}.chapter-menu-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:clamp(18px,.37037vw + 16.6667px,22px) clamp(21.6px,.444444vw + 20px,26.4px);display:flex}.chapter-menu-title{align-items:center;gap:clamp(9px,.185185vw + 8.33333px,11px);display:flex}.chapter-menu-title .chapter-menu-icon{color:var(--color-primary);font-size:clamp(16.2px,.333333vw + 15px,19.8px)}.chapter-menu-title h2{color:var(--color-textPrimary);margin:0;font-size:clamp(16.2px,.333333vw + 15px,19.8px);font-weight:600}.chapter-menu-close{background:var(--color-border);width:clamp(28.8px,.592593vw + 26.6667px,35.2px);height:clamp(28.8px,.592593vw + 26.6667px,35.2px);color:var(--color-textPrimary);cursor:pointer;border:none;border-radius:clamp(7.2px,.148148vw + 6.66667px,8.8px);justify-content:center;align-items:center;font-size:clamp(12.6px,.259259vw + 11.6667px,15.4px);transition:all .2s;display:flex}.chapter-menu-close:hover{background:var(--color-primary);color:#fff}.chapter-menu-progress{background:var(--color-border);padding:clamp(14.4px,.296296vw + 13.3333px,17.6px) clamp(21.6px,.444444vw + 20px,26.4px)}.chapter-progress-text{color:var(--color-textPrimary);justify-content:space-between;margin-bottom:clamp(7.2px,.148148vw + 6.66667px,8.8px);font-size:clamp(10.8px,.222222vw + 10px,13.2px);display:flex}.chapter-progress-text span:first-child{font-weight:600}.chapter-progress-text span:last-child{opacity:.6}.chapter-progress-bar{background:var(--color-background);border-radius:clamp(2.7px,.0555556vw + 2.5px,3.3px);height:clamp(5.4px,.111111vw + 5px,6.6px);overflow:hidden}.chapter-progress-fill{background:var(--color-primary);border-radius:clamp(2.7px,.0555556vw + 2.5px,3.3px);height:100%;transition:width .3s}.chapter-menu-list{flex:1;padding:clamp(10.8px,.222222vw + 10px,13.2px);overflow-y:auto}.chapter-menu-item{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:clamp(9px,.185185vw + 8.33333px,11px);align-items:center;gap:clamp(10.8px,.222222vw + 10px,13.2px);width:100%;padding:clamp(10.8px,.222222vw + 10px,13.2px) clamp(12.6px,.259259vw + 11.6667px,15.4px);transition:all .2s;display:flex}.chapter-menu-item:hover{background:var(--color-border)}.chapter-menu-item.active{background:color-mix(in srgb,var(--color-primary)15%,transparent)}.chapter-menu-item.active .chapter-marker{background:var(--color-primary);color:#fff}.chapter-menu-item.active .chapter-title{color:var(--color-primary);font-weight:600}.chapter-menu-item.completed .chapter-marker{color:#fff;background:#22c55e}.chapter-marker{background:var(--color-border);border-radius:clamp(7.2px,.148148vw + 6.66667px,8.8px);flex-shrink:0;justify-content:center;align-items:center;width:clamp(28.8px,.592593vw + 26.6667px,35.2px);height:clamp(28.8px,.592593vw + 26.6667px,35.2px);display:flex}.chapter-marker .chapter-number{color:var(--color-textPrimary);font-size:clamp(11.7px,.240741vw + 10.8333px,14.3px);font-weight:600}.chapter-marker .chapter-check{font-size:clamp(10.8px,.222222vw + 10px,13.2px)}.chapter-info{flex:1;align-items:center;gap:clamp(7.2px,.148148vw + 6.66667px,8.8px);min-width:0;display:flex}.chapter-title{color:var(--color-textPrimary);white-space:nowrap;text-overflow:ellipsis;font-size:clamp(12.6px,.259259vw + 11.6667px,15.4px);overflow:hidden}.chapter-badge{background:var(--color-primary);color:#fff;border-radius:clamp(9px,.185185vw + 8.33333px,11px);flex-shrink:0;padding:clamp(1.8px,.037037vw + 1.66667px,2.2px) clamp(7.2px,.148148vw + 6.66667px,8.8px);font-size:clamp(9px,.185185vw + 8.33333px,11px);font-weight:600}.reader-progress{z-index:100;background:var(--color-border);width:100%;height:clamp(3.6px,.0740741vw + 3.33333px,4.4px);position:fixed;top:0;left:0}.reader-progress__bar{background:var(--color-primary);transform-origin:0;height:100%;transition:transform .12s linear;transform:scaleX(0)}.speed-select-content .speed-select-subtitle{color:var(--color-textPrimary);opacity:.6;margin:0 0 clamp(28.8px,.592593vw + 26.6667px,35.2px);font-size:clamp(14.4px,.296296vw + 13.3333px,17.6px)}.speed-unit{color:var(--color-textPrimary);opacity:.6;text-transform:uppercase;letter-spacing:2px;font-size:clamp(12.6px,.259259vw + 11.6667px,15.4px);font-weight:600}.countdown-content h2{margin:0 0 clamp(7.2px,.148148vw + 6.66667px,8.8px);font-size:clamp(21.6px,.444444vw + 20px,26.4px);font-weight:600}.countdown-content p{opacity:.7;margin:0 0 clamp(28.8px,.592593vw + 26.6667px,35.2px);font-size:clamp(14.4px,.296296vw + 13.3333px,17.6px)}@keyframes countdown-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.rsvp-display.campaign-reader{background:var(--color-background);z-index:1000;cursor:pointer;position:fixed;inset:0}.reader-progress{background:var(--color-border);z-index:10;height:clamp(3.6px,.0740741vw + 3.33333px,4.4px);position:absolute;top:0;left:0;right:0}.reader-progress__bar{background:var(--color-primary);transform-origin:0;height:100%;transition:transform .15s linear}@keyframes pulse-arrow{0%,to{opacity:1;transform:translateY(0)}50%{opacity:.5;transform:translateY(-2px)}}.chapter-indicator-btn{background:var(--color-background);border:1px solid var(--color-border);color:var(--color-textPrimary);cursor:pointer;z-index:10;border-radius:clamp(14.4px,.296296vw + 13.3333px,17.6px);align-items:center;gap:clamp(5.4px,.111111vw + 5px,6.6px);padding:clamp(5.4px,.111111vw + 5px,6.6px) clamp(10.8px,.222222vw + 10px,13.2px);font-size:clamp(10.8px,.222222vw + 10px,13.2px);font-weight:600;transition:all .2s;display:flex;position:absolute;top:clamp(14.4px,.296296vw + 13.3333px,17.6px);left:clamp(14.4px,.296296vw + 13.3333px,17.6px)}.chapter-indicator-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.chapter-indicator-btn svg{font-size:clamp(9px,.185185vw + 8.33333px,11px)}.rsvp-frame{height:clamp(162px,3.33333vw + 150px,198px);position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.rsvp-rail{background:var(--color-border);height:1px;position:absolute;left:0;right:0}.rsvp-rail.top{top:0}.rsvp-rail.bottom{bottom:0}.rsvp-guide{background:var(--color-primary);opacity:.3;width:2px;position:absolute;left:50%}.rsvp-guide.up{height:calc(50% - 40px);top:0}.rsvp-guide.down{top:calc(50% + 40px);bottom:0}.rsvp-orp{font-family:var(--font-reader,"Georgia",serif);color:var(--color-primary);z-index:2;font-size:clamp(57.6px,1.18519vw + 53.3333px,70.4px);font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (max-width:767px){.rsvp-orp{font-size:clamp(43.2px,.888889vw + 40px,52.8px)}}.rsvp-word{font-family:var(--font-reader,"Georgia",serif);color:var(--color-textPrimary);white-space:nowrap;font-size:clamp(57.6px,1.18519vw + 53.3333px,70.4px);font-weight:700;position:absolute;top:50%;left:50%;transform:translateY(-50%)}@media (max-width:767px){.rsvp-word{font-size:clamp(43.2px,.888889vw + 40px,52.8px)}}.rsvp-word .pre{text-align:right;position:absolute;right:1ch;transform:translateY(-.75em)}.rsvp-word .post{text-align:left;position:absolute;left:1ch;transform:translateY(-.75em)}.rsvp-bottom{background:var(--color-background);border:1px solid var(--color-border);z-index:10;border-radius:clamp(14.4px,.296296vw + 13.3333px,17.6px);justify-content:center;align-items:center;gap:clamp(18px,.37037vw + 16.6667px,22px);padding:clamp(10.8px,.222222vw + 10px,13.2px) clamp(18px,.37037vw + 16.6667px,22px);display:flex;position:absolute;bottom:clamp(21.6px,.444444vw + 20px,26.4px);left:50%;transform:translate(-50%);box-shadow:0 8px 32px #0000001a}@media (max-width:767px){.rsvp-bottom{gap:clamp(10.8px,.222222vw + 10px,13.2px);padding:clamp(9px,.185185vw + 8.33333px,11px) clamp(14.4px,.296296vw + 13.3333px,17.6px);bottom:clamp(21.6px,.444444vw + 20px,26.4px)}}.reading-stats{color:var(--color-textPrimary);align-items:center;gap:clamp(7.2px,.148148vw + 6.66667px,8.8px);font-size:clamp(11.7px,.240741vw + 10.8333px,14.3px);display:flex}@media (max-width:767px){.reading-stats{gap:clamp(5.4px,.111111vw + 5px,6.6px);font-size:clamp(9.9px,.203704vw + 9.16667px,12.1px)}}.stat-item{white-space:nowrap}.stat-separator{opacity:.3}.reader-controls{align-items:center;gap:clamp(7.2px,.148148vw + 6.66667px,8.8px);display:flex}@media (max-width:767px){.reader-controls{gap:clamp(5.4px,.111111vw + 5px,6.6px)}}.control-btn{background:var(--color-border);width:clamp(36px,.740741vw + 33.3333px,44px);height:clamp(36px,.740741vw + 33.3333px,44px);color:var(--color-textPrimary);cursor:pointer;border:none;border-radius:clamp(9px,.185185vw + 8.33333px,11px);justify-content:center;align-items:center;font-size:clamp(12.6px,.259259vw + 11.6667px,15.4px);transition:all .2s;display:flex}.control-btn:hover{background:color-mix(in srgb,var(--color-primary)20%,var(--color-background));color:var(--color-primary)}.control-btn-primary{background:var(--color-primary);color:#fff;width:clamp(43.2px,.888889vw + 40px,52.8px);height:clamp(43.2px,.888889vw + 40px,52.8px)}.control-btn-primary:hover{background:var(--color-primary);filter:brightness(1.1);color:#fff}.dual-slider{touch-action:none;height:clamp(28.8px,.592593vw + 26.6667px,35.2px);position:relative}.dual-track{background:var(--color-border);border-radius:clamp(1.8px,.037037vw + 1.66667px,2.2px);height:clamp(3.6px,.0740741vw + 3.33333px,4.4px);position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.dual-range{background:var(--color-primary);border-radius:clamp(1.8px,.037037vw + 1.66667px,2.2px);height:clamp(3.6px,.0740741vw + 3.33333px,4.4px);position:absolute;top:50%;transform:translateY(-50%)}.dual-thumb{background:var(--color-primary);cursor:pointer;border-radius:50%;width:clamp(16.2px,.333333vw + 15px,19.8px);height:clamp(16.2px,.333333vw + 15px,19.8px);transition:transform .15s;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 2px 6px #0003}.dual-thumb:hover{transform:translate(-50%,-50%)scale(1.15)}.auth-modal-logo{width:clamp(115.2px,2.37037vw + 106.667px,140.8px);height:auto;margin-bottom:clamp(10.8px,.222222vw + 10px,13.2px)}.auth-modal-header{text-align:center;flex-direction:column;align-items:center;display:flex}.theme-selector-overlay{z-index:500;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.theme-selector{background:var(--color-background);border-radius:clamp(14.4px,.296296vw + 13.3333px,17.6px);width:90%;max-width:clamp(540px,11.1111vw + 500px,660px);max-height:80vh;padding:clamp(21.6px,.444444vw + 20px,26.4px);overflow-y:auto;box-shadow:0 20px 25px #00000026}@media (max-width:767px){.theme-selector{width:95%;max-height:90vh;padding:clamp(14.4px,.296296vw + 13.3333px,17.6px)}}.theme-header{border-bottom:2px solid var(--color-border);justify-content:space-between;align-items:center;margin-bottom:clamp(18px,.37037vw + 16.6667px,22px);padding-bottom:clamp(14.4px,.296296vw + 13.3333px,17.6px);display:flex}.theme-header-title{align-items:center;gap:clamp(7.2px,.148148vw + 6.66667px,8.8px);display:flex}.theme-header-title h3{color:var(--color-textPrimary);margin:0;font-size:clamp(18px,.37037vw + 16.6667px,22px);font-weight:600}.theme-header-title svg{color:var(--color-primary);font-size:clamp(18px,.37037vw + 16.6667px,22px)}.theme-header .close-button{color:var(--color-textMuted,var(--color-textPrimary));cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:clamp(28.8px,.592593vw + 26.6667px,35.2px);height:clamp(28.8px,.592593vw + 26.6667px,35.2px);padding:0;font-size:clamp(25.2px,.518519vw + 23.3333px,30.8px);transition:color .2s;display:flex}.theme-header .close-button:hover{color:var(--color-textPrimary)}.theme-grid{grid-template-columns:repeat(auto-fill,minmax(clamp(216px,4.44444vw + 200px,264px),1fr));gap:clamp(14.4px,.296296vw + 13.3333px,17.6px);display:grid}@media (max-width:767px){.theme-grid{grid-template-columns:1fr}}.theme-card{background:var(--color-background);border:2px solid var(--color-border);cursor:pointer;text-align:left;border-radius:clamp(10.8px,.222222vw + 10px,13.2px);width:100%;padding:clamp(10.8px,.222222vw + 10px,13.2px);transition:all .2s}.theme-card:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 4px 6px #0000001a}.theme-card.selected{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary)}.theme-preview{border-radius:clamp(7.2px,.148148vw + 6.66667px,8.8px);justify-content:center;align-items:center;width:100%;height:clamp(90px,1.85185vw + 83.3333px,110px);margin-bottom:clamp(10.8px,.222222vw + 10px,13.2px);display:flex;position:relative;overflow:hidden}.theme-preview-lines,.theme-preview-grid,.theme-preview-stars{pointer-events:none;opacity:.5;position:absolute;inset:0}.theme-preview-stars{background-image:radial-gradient(2px 2px at 20% 30%,#fff,#0000),radial-gradient(2px 2px at 60% 70%,#fff,#0000),radial-gradient(2px 2px at 80% 20%,#fff,#0000),radial-gradient(1.5px 1.5px at 40%,#fff,#0000),radial-gradient(1.5px 1.5px at 90% 80%,#fff,#0000)}.theme-preview-text{letter-spacing:-.02em;z-index:1;font-size:clamp(28.8px,.592593vw + 26.6667px,35.2px);font-weight:700}.theme-preview-accent{height:clamp(3.6px,.0740741vw + 3.33333px,4.4px);position:absolute;bottom:0;left:0;right:0}.theme-info{flex-direction:column;gap:clamp(3.6px,.0740741vw + 3.33333px,4.4px);display:flex}.theme-name{color:var(--color-textPrimary);justify-content:space-between;align-items:center;font-size:clamp(12.6px,.259259vw + 11.6667px,15.4px);font-weight:600;display:flex}.theme-name .check-icon{color:var(--color-primary);font-size:clamp(12.6px,.259259vw + 11.6667px,15.4px)}.theme-description{color:var(--color-textMuted,var(--color-textPrimary));opacity:.8;font-size:clamp(10.8px,.222222vw + 10px,13.2px)}.theme-options{border-top:1px solid var(--color-border);margin-top:clamp(18px,.37037vw + 16.6667px,22px);padding-top:clamp(14.4px,.296296vw + 13.3333px,17.6px)}.theme-option-toggle{cursor:pointer;align-items:center;gap:clamp(10.8px,.222222vw + 10px,13.2px);display:flex}.theme-option-toggle input[type=checkbox]{width:clamp(16.2px,.333333vw + 15px,19.8px);height:clamp(16.2px,.333333vw + 15px,19.8px);accent-color:var(--color-primary);cursor:pointer}.theme-option-toggle .toggle-label{color:var(--color-textPrimary);font-size:clamp(12.6px,.259259vw + 11.6667px,15.4px)}.rsvp-root{background:var(--color-backgroundGradient,var(--color-background));transition:background .3s;position:relative}[data-theme-lines=true] .rsvp-display{position:relative}[data-theme-lines=true] .rsvp-display:before{content:"";pointer-events:none;z-index:1;background-image:repeating-linear-gradient(to bottom,transparent 0px,transparent calc(var(--line-spacing) - 1px),var(--line-color)calc(var(--line-spacing) - 1px),var(--line-color)var(--line-spacing));background-position:0 calc(-1*var(--calculated-line-offset,0px));position:absolute;inset:0}[data-theme-lines=true] .rsvp-display:after{content:"";pointer-events:none;z-index:1;background:#d30000;width:2px;position:absolute;top:0;bottom:0;left:clamp(72px,1.48148vw + 66.6667px,88px)}@media (max-width:767px){[data-theme-lines=true] .rsvp-display:after{left:clamp(36px,.740741vw + 33.3333px,44px)}}[data-theme-lines=true] .rsvp-frame{transform:translateY(calc(-50% + var(--text-baseline-offset,0px)))!important}[data-theme-lines=true] .rsvp-word .pre,[data-theme-lines=true] .rsvp-word .post{transform:translateY(0)!important}[data-theme-lines=true] .rsvp-orp{transform:translate(-50%)!important}[data-theme-lines=true] .rsvp-rail,[data-theme-lines=true] .rsvp-guide{display:none}[data-theme-grid=true] .rsvp-display{position:relative}[data-theme-grid=true] .rsvp-display:before{content:"";pointer-events:none;z-index:1;background-image:repeating-linear-gradient(to right,transparent 0px,transparent calc(var(--grid-spacing)*5 - 1px),var(--grid-accent-color)calc(var(--grid-spacing)*5 - 1px),var(--grid-accent-color)calc(var(--grid-spacing)*5)),repeating-linear-gradient(to bottom,transparent 0px,transparent calc(var(--grid-spacing)*5 - 1px),var(--grid-accent-color)calc(var(--grid-spacing)*5 - 1px),var(--grid-accent-color)calc(var(--grid-spacing)*5)),repeating-linear-gradient(to right,transparent 0px,transparent calc(var(--grid-spacing) - 1px),var(--grid-color)calc(var(--grid-spacing) - 1px),var(--grid-color)var(--grid-spacing)),repeating-linear-gradient(to bottom,transparent 0px,transparent calc(var(--grid-spacing) - 1px),var(--grid-color)calc(var(--grid-spacing) - 1px),var(--grid-color)var(--grid-spacing));position:absolute;inset:0}[data-theme-grid=true] .rsvp-display:after{content:"";pointer-events:none;z-index:1;opacity:0;width:clamp(54px,1.11111vw + 50px,66px);height:clamp(54px,1.11111vw + 50px,66px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}[data-theme-grid=true] .rsvp-frame:before{content:"";background:var(--grid-accent-color);pointer-events:none;z-index:-1;opacity:.5;width:clamp(72px,1.48148vw + 66.6667px,88px);height:1px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}[data-theme-grid=true] .rsvp-frame:after{content:"";background:var(--grid-accent-color);pointer-events:none;z-index:-1;opacity:.5;width:1px;height:clamp(72px,1.48148vw + 66.6667px,88px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}[data-theme-grid=true] .rsvp-rail,[data-theme-grid=true] .rsvp-guide{display:none}[data-theme-stars=true] .rsvp-display{position:relative;overflow:hidden}[data-theme-stars=true] .rsvp-display:before{content:"";pointer-events:none;z-index:1;background-image:radial-gradient(2px 2px at 20% 30%,#fff,#0000),radial-gradient(2px 2px at 60% 70%,#fff,#0000),radial-gradient(2px 2px,#fff,#0000),radial-gradient(2px 2px at 80% 10%,#fff,#0000),radial-gradient(2px 2px at 90% 60%,#fff,#0000),radial-gradient(2px 2px at 30% 80%,#fff,#0000),radial-gradient(2px 2px at 15% 90%,#fff,#0000),radial-gradient(2px 2px at 70% 20%,#fff,#0000),radial-gradient(2px 2px at 40% 40%,#fff,#0000),radial-gradient(2px 2px at 85% 85%,#fff,#0000),radial-gradient(1.5px 1.5px at 33% 12%,#fff,#0000),radial-gradient(1.5px 1.5px at 77% 48%,#fff,#0000),radial-gradient(1.5px 1.5px at 12% 65%,#fff,#0000),radial-gradient(1.5px 1.5px at 58% 92%,#fff,#0000);background-size:200% 200%;animation:3s ease-in-out infinite twinkleBright;position:absolute;inset:0}[data-theme-stars=true] .rsvp-display:after{content:"";pointer-events:none;z-index:1;background-image:radial-gradient(3px 3px at 35% 20%,#ffffffe6,#0000),radial-gradient(2.5px 2.5px at 75% 65%,#fffc,#0000),radial-gradient(3px 3px at 55% 85%,#ffffffe6,#0000),radial-gradient(3.5px 3.5px at 88% 35%,#fff,#0000),radial-gradient(2.5px 2.5px at 42% 60%,#fffc,#0000),radial-gradient(3px 3px at 68% 15%,#ffffffe6,#0000);background-size:200% 200%;animation:5s ease-in-out 1.5s infinite twinkleBright;position:absolute;inset:0}@keyframes twinkleBright{0%,to{opacity:.1}50%{opacity:1}}[data-theme-stars=true] .rsvp-rail,[data-theme-stars=true] .rsvp-guide{opacity:.3}.reader-progress{background:var(--color-border)}.reader-progress__bar{background:var(--color-progressBar)}.rsvp-rail{background:var(--color-rail)}.rsvp-orp{font-family:var(--font-reader);color:var(--color-primary)}.rsvp-word{font-family:var(--font-reader);color:var(--color-textPrimary)}.rsvp-guide{background:var(--color-guide)}.rsvp-bottom{color:var(--color-textPrimary)}input[type=range],input[type=checkbox]{accent-color:var(--color-primary)}.speed-settings{max-width:clamp(450px,9.25926vw + 416.667px,550px)}.speed-settings-content{padding:0}.setting-group{margin-bottom:clamp(21.6px,.444444vw + 20px,26.4px)}.setting-group label{color:var(--color-textPrimary)}.speed-preview{background:var(--color-backgroundSecondary,var(--color-background));border:2px solid var(--color-border);border-radius:clamp(7.2px,.148148vw + 6.66667px,8.8px);margin-top:clamp(18px,.37037vw + 16.6667px,22px);padding:clamp(14.4px,.296296vw + 13.3333px,17.6px)}.preview-box{flex-direction:column;gap:clamp(7.2px,.148148vw + 6.66667px,8.8px);display:flex}.preview-line{justify-content:space-between;align-items:center;display:flex}.preview-label{color:var(--color-textMuted,var(--color-textPrimary));font-size:clamp(12.6px,.259259vw + 11.6667px,15.4px)}.preview-value{color:var(--color-primary);font-weight:600}.social-links{z-index:50;flex-wrap:wrap;align-items:center;gap:clamp(7.2px,.148148vw + 6.66667px,8.8px);display:flex}.social-links a{color:var(--color-textPrimary,var(--color-textMuted));justify-content:center;align-items:center;transition:all .2s;display:flex}.social-links a:hover{color:var(--color-primary);transform:translateY(-2px)}.social-links svg{width:clamp(18px,.37037vw + 16.6667px,22px);height:clamp(18px,.37037vw + 16.6667px,22px)}.auth-modal-overlay{z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.auth-modal{background:var(--color-background);border-radius:1rem;width:90%;max-width:480px;max-height:90vh;padding:0;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.auth-modal-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.auth-modal-header h2{color:var(--color-textPrimary);margin:0;font-size:1.5rem;font-weight:600}.auth-modal-close{color:var(--color-textPrimary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:1.5rem;transition:opacity .2s;display:flex}.auth-modal-close:hover{opacity:.7}.auth-modal-content{padding:1.5rem}.social-auth{flex-direction:column;gap:.75rem;margin-bottom:1.5rem;display:flex}.auth-divider{text-align:center;color:var(--color-textPrimary);align-items:center;margin:1.5rem 0;display:flex}.auth-divider:before,.auth-divider:after{content:"";border-bottom:1px solid var(--color-border);flex:1}.auth-divider span{padding:0 1rem;font-size:.875rem}.email-auth-form{flex-direction:column;gap:1rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:var(--color-textPrimary);align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;display:flex}.form-group label svg{color:var(--color-textPrimary);font-size:1rem}.form-group input{border:1px solid var(--color-border);background:var(--color-background);width:100%;color:var(--color-textPrimary);border-radius:.5rem;padding:.75rem;font-size:1rem;transition:border-color .2s}.form-group input:focus{border-color:var(--color-primary);outline:none}.field-error{color:#dc2626;margin-top:-.25rem;font-size:.8125rem}.form-group input[aria-invalid=true]{border-color:#dc2626}.auth-error{color:#dc2626;background:#dc26261a;border:1px solid #dc26264d;border-radius:.5rem;padding:.75rem;font-size:.875rem}.auth-success{color:#22c55e;background:#22c55e1a;border:1px solid #22c55e4d;border-radius:.5rem;padding:.75rem;font-size:.875rem}.auth-footer{border-top:1px solid var(--color-border);text-align:center;margin-top:1.5rem;padding-top:1.5rem}.auth-footer p{color:var(--color-textPrimary);margin:.5rem 0;font-size:.875rem}.auth-footer button{color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:0;font-weight:500;text-decoration:underline}.auth-footer button:hover{opacity:.8}@media (max-width:640px){.auth-modal{width:95%}.auth-modal-header,.auth-modal-content{padding:1rem}}.campaign-page{background:var(--color-background);flex-direction:column;min-height:100vh;display:flex}.campaign-loading{color:var(--color-textPrimary);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:clamp(14.4px,.296296vw + 13.3333px,17.6px);display:flex}.loading-spinner{border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:clamp(43.2px,.888889vw + 40px,52.8px);height:clamp(43.2px,.888889vw + 40px,52.8px);animation:1s linear infinite spin}.campaign-header{background:var(--color-background);border-bottom:2px solid var(--color-border);z-index:100;justify-content:space-between;align-items:center;padding:clamp(14.4px,.296296vw + 13.3333px,17.6px) clamp(28.8px,.592593vw + 26.6667px,35.2px);display:flex;position:sticky;top:0}@media (max-width:767px){.campaign-header{padding:clamp(14.4px,.296296vw + 13.3333px,17.6px)}}.campaign-header-left{align-items:center;gap:clamp(14.4px,.296296vw + 13.3333px,17.6px);display:flex}.campaign-back-btn{border:2px solid var(--color-border);background:var(--color-background);width:clamp(36px,.740741vw + 33.3333px,44px);height:clamp(36px,.740741vw + 33.3333px,44px);color:var(--color-textPrimary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.campaign-back-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.campaign-logo{color:var(--color-textPrimary);align-items:center;gap:clamp(10.8px,.222222vw + 10px,13.2px);font-size:clamp(18px,.37037vw + 16.6667px,22px);font-weight:700;display:flex}.campaign-logo svg{color:var(--color-primary);font-size:clamp(21.6px,.444444vw + 20px,26.4px)}@media (max-width:767px){.campaign-logo span{display:none}}.campaign-home-btn{background:var(--color-background);border:2px solid var(--color-border);color:var(--color-textPrimary);cursor:pointer;border-radius:clamp(7.2px,.148148vw + 6.66667px,8.8px);padding:clamp(9px,.185185vw + 8.33333px,11px) clamp(18px,.37037vw + 16.6667px,22px);font-size:clamp(12.6px,.259259vw + 11.6667px,15.4px);font-weight:600;transition:all .2s}.campaign-home-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.campaign-main{flex:1;width:100%;max-width:100%;margin:0 auto;padding:clamp(28.8px,.592593vw + 26.6667px,35.2px)}@media (max-width:767px){.campaign-main{padding:clamp(14.4px,.296296vw + 13.3333px,17.6px)}}.campaign-empty-state{text-align:center;color:var(--color-textPrimary);flex-direction:column;justify-content:center;align-items:center;padding:clamp(57.6px,1.18519vw + 53.3333px,70.4px) clamp(28.8px,.592593vw + 26.6667px,35.2px);display:flex}.campaign-empty-state h2{margin-bottom:clamp(7.2px,.148148vw + 6.66667px,8.8px);font-size:clamp(21.6px,.444444vw + 20px,26.4px)}.campaign-empty-state p{opacity:.7}.empty-icon{opacity:.3;margin-bottom:clamp(21.6px,.444444vw + 20px,26.4px);font-size:clamp(57.6px,1.18519vw + 53.3333px,70.4px)}.book-list-section{max-width:clamp(810px,16.6667vw + 750px,990px);margin:0 auto;padding:clamp(28.8px,.592593vw + 26.6667px,35.2px)}@media (max-width:767px){.book-list-section{padding:clamp(14.4px,.296296vw + 13.3333px,17.6px)}}.section-header{text-align:center;flex-direction:column;align-items:center;margin-bottom:clamp(36px,.740741vw + 33.3333px,44px);display:flex}.section-header h1{color:var(--color-textPrimary);margin:0;font-size:clamp(25.2px,.518519vw + 23.3333px,30.8px);font-weight:700}.section-header p{color:var(--color-textPrimary);margin:clamp(7.2px,.148148vw + 6.66667px,8.8px) 0 0;font-size:clamp(14.4px,.296296vw + 13.3333px,17.6px)}.book-grid{grid-template-columns:repeat(auto-fill,minmax(clamp(144px,2.96296vw + 133.333px,176px),clamp(180px,3.7037vw + 166.667px,220px)));justify-content:center;gap:clamp(28.8px,.592593vw + 26.6667px,35.2px);display:grid}@media (max-width:767px){.book-grid{grid-template-columns:repeat(2,1fr);gap:clamp(14.4px,.296296vw + 13.3333px,17.6px)}}.book-card{cursor:pointer;background:0 0;border:none;padding:0;transition:all .3s;position:relative}.book-card:hover{transform:translateY(-6px)}.book-cover{aspect-ratio:2/3;border-radius:clamp(7.2px,.148148vw + 6.66667px,8.8px);width:100%;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 8px 25px #0000004d}.book-card:hover .book-cover{box-shadow:0 12px 35px #0006,0 0 0 2px var(--color-primary)}.book-cover img{object-fit:cover;width:100%;height:100%}.book-cover-fallback{text-align:center;justify-content:center;align-items:center;width:100%;height:100%;padding:clamp(28.8px,.592593vw + 26.6667px,35.2px);display:flex}.book-cover-fallback span{color:#fff;text-shadow:0 2px 4px #00000080;font-size:clamp(21.6px,.444444vw + 20px,26.4px);font-weight:700}.book-progress-badge{background:var(--color-primary);color:#fff;z-index:4;border-radius:clamp(14.4px,.296296vw + 13.3333px,17.6px);padding:clamp(3.6px,.0740741vw + 3.33333px,4.4px) clamp(9px,.185185vw + 8.33333px,11px);font-size:clamp(11.7px,.240741vw + 10.8333px,14.3px);font-weight:700;position:absolute;top:clamp(7.2px,.148148vw + 6.66667px,8.8px);right:clamp(7.2px,.148148vw + 6.66667px,8.8px)}.book-complete-badge{color:#1a1a1a;z-index:4;background:#f59e0b;border-radius:clamp(14.4px,.296296vw + 13.3333px,17.6px);align-items:center;gap:clamp(3.6px,.0740741vw + 3.33333px,4.4px);padding:clamp(3.6px,.0740741vw + 3.33333px,4.4px) clamp(9px,.185185vw + 8.33333px,11px);font-size:clamp(9.9px,.203704vw + 9.16667px,12.1px);font-weight:700;display:flex;position:absolute;top:clamp(7.2px,.148148vw + 6.66667px,8.8px);right:clamp(7.2px,.148148vw + 6.66667px,8.8px)}.book-complete-badge svg{font-size:clamp(9px,.185185vw + 8.33333px,11px)}.book-card-progress{background:var(--color-border);border-radius:clamp(1.8px,.037037vw + 1.66667px,2.2px);height:clamp(3.6px,.0740741vw + 3.33333px,4.4px);margin-top:clamp(7.2px,.148148vw + 6.66667px,8.8px);overflow:hidden}.book-card-progress-fill{background:var(--color-primary);border-radius:clamp(1.8px,.037037vw + 1.66667px,2.2px);height:100%;transition:width .5s}.book-overlay{opacity:0;z-index:2;background:#000000e6;border-radius:clamp(7.2px,.148148vw + 6.66667px,8.8px);flex-direction:column;justify-content:flex-end;padding:clamp(14.4px,.296296vw + 13.3333px,17.6px);transition:opacity .3s;display:flex;position:absolute;inset:0}.book-card:hover .book-overlay{opacity:1}.book-overlay-content{text-align:left;flex-direction:column;gap:clamp(7.2px,.148148vw + 6.66667px,8.8px);display:flex}.book-overlay-title{color:#fff;margin:0;font-size:clamp(14.4px,.296296vw + 13.3333px,17.6px);font-weight:700;line-height:1.3}.book-overlay-author{color:#fff9;margin:0;font-size:clamp(11.7px,.240741vw + 10.8333px,14.3px)}.book-overlay-meta{align-items:center;gap:clamp(7.2px,.148148vw + 6.66667px,8.8px);margin-top:clamp(3.6px,.0740741vw + 3.33333px,4.4px);display:flex}.book-chapters-count{color:#ffffffb3;font-size:clamp(9.9px,.203704vw + 9.16667px,12.1px)}.book-reading-time{color:#ffffffb3;align-items:center;gap:clamp(3.6px,.0740741vw + 3.33333px,4.4px);font-size:clamp(9.9px,.203704vw + 9.16667px,12.1px);display:flex}.book-reading-time svg{opacity:.8;font-size:clamp(9px,.185185vw + 8.33333px,11px)}.book-difficulty{text-transform:uppercase;color:#fff;border-radius:clamp(3.6px,.0740741vw + 3.33333px,4.4px);padding:clamp(3.6px,.0740741vw + 3.33333px,4.4px) clamp(7.2px,.148148vw + 6.66667px,8.8px);font-size:clamp(9px,.185185vw + 8.33333px,11px);font-weight:700}.book-difficulty.beginner{background:#22c55e}.book-difficulty.intermediate{color:#1a1a1a;background:#eab308}.book-difficulty.advanced{background:#ef4444}.book-progress-info{color:var(--color-primary);align-items:center;gap:clamp(3.6px,.0740741vw + 3.33333px,4.4px);margin-top:clamp(5.4px,.111111vw + 5px,6.6px);font-size:clamp(10.8px,.222222vw + 10px,13.2px);font-weight:600;display:flex}.book-progress-info svg{font-size:clamp(9.9px,.203704vw + 9.16667px,12.1px)}.book-description{color:#ffffffb3;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:clamp(3.6px,.0740741vw + 3.33333px,4.4px) 0 0;font-size:clamp(10.8px,.222222vw + 10px,13.2px);line-height:1.4;display:-webkit-box;overflow:hidden}.book-action{background:var(--color-primary);color:#fff;border-radius:clamp(5.4px,.111111vw + 5px,6.6px);justify-content:center;align-items:center;gap:clamp(7.2px,.148148vw + 6.66667px,8.8px);margin-top:clamp(10.8px,.222222vw + 10px,13.2px);padding:clamp(9px,.185185vw + 8.33333px,11px) clamp(14.4px,.296296vw + 13.3333px,17.6px);font-size:clamp(12.6px,.259259vw + 11.6667px,15.4px);font-weight:600;display:flex}.book-action svg{font-size:clamp(9px,.185185vw + 8.33333px,11px)}.game-board-layout{align-items:flex-start;gap:clamp(28.8px,.592593vw + 26.6667px,35.2px);width:100%;margin:0 auto;padding:0;display:flex}@media (max-width:767px){.game-board-layout{flex-direction:column;gap:clamp(21.6px,.444444vw + 20px,26.4px)}}.game-board-sidebar{scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;flex:0 0 clamp(252px,5.18519vw + 233.333px,308px);align-self:flex-start;gap:clamp(14.4px,.296296vw + 13.3333px,17.6px);min-width:clamp(198px,4.07407vw + 183.333px,242px);max-width:clamp(252px,5.18519vw + 233.333px,308px);height:auto;max-height:calc(100vh + -1*clamp(86.4px,1.77778vw + 80px,105.6px));padding-bottom:clamp(28.8px,.592593vw + 26.6667px,35.2px);padding-right:clamp(7.2px,.148148vw + 6.66667px,8.8px);display:flex;position:sticky;top:clamp(72px,1.48148vw + 66.6667px,88px);overflow:visible auto}.game-board-sidebar::-webkit-scrollbar{display:none}@media (max-width:767px){.game-board-sidebar{width:100%;max-width:100%;min-width:unset;flex:none;gap:clamp(10.8px,.222222vw + 10px,13.2px);max-height:none;padding-bottom:0;padding-right:0;position:static;overflow:visible}.game-board-sidebar .back-to-books{display:none}}.sidebar-widget{background:var(--color-background);border:1px solid var(--color-border);border-radius:clamp(10.8px,.222222vw + 10px,13.2px);padding:clamp(14.4px,.296296vw + 13.3333px,17.6px)}@media (max-width:767px){.sidebar-widget{padding:clamp(10.8px,.222222vw + 10px,13.2px)}}.book-widget{text-align:center}@media (max-width:767px){.book-widget{text-align:left;flex-direction:row;align-items:center;gap:clamp(10.8px,.222222vw + 10px,13.2px);padding:clamp(10.8px,.222222vw + 10px,13.2px);display:flex}}.widget-cover{border-radius:clamp(5.4px,.111111vw + 5px,6.6px);width:clamp(72px,1.48148vw + 66.6667px,88px);height:clamp(108px,2.22222vw + 100px,132px);margin:0 auto clamp(10.8px,.222222vw + 10px,13.2px);overflow:hidden;box-shadow:0 4px 12px #00000026}.widget-cover img{object-fit:cover;width:100%;height:100%}@media (max-width:767px){.widget-cover{border-radius:clamp(3.6px,.0740741vw + 3.33333px,4.4px);flex-shrink:0;width:clamp(43.2px,.888889vw + 40px,52.8px);height:clamp(64.8px,1.33333vw + 60px,79.2px);margin:0}.widget-book-info{flex:1;min-width:0}}.widget-cover-placeholder{background:var(--color-border);justify-content:center;align-items:center;width:100%;height:100%;font-size:clamp(28.8px,.592593vw + 26.6667px,35.2px);display:flex}@media (max-width:767px){.widget-cover-placeholder{font-size:clamp(18px,.37037vw + 16.6667px,22px)}}.widget-title{color:var(--color-textPrimary);margin:0 0 clamp(3.6px,.0740741vw + 3.33333px,4.4px);font-size:clamp(12.6px,.259259vw + 11.6667px,15.4px);font-weight:700;line-height:1.3}@media (max-width:767px){.widget-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:clamp(1.8px,.037037vw + 1.66667px,2.2px);font-size:clamp(11.7px,.240741vw + 10.8333px,14.3px);line-height:1.2;display:-webkit-box;overflow:hidden}}.widget-author{color:var(--color-textPrimary);opacity:.7;margin:0;font-size:clamp(10.8px,.222222vw + 10px,13.2px)}@media (max-width:767px){.widget-author{font-size:clamp(9.9px,.203704vw + 9.16667px,12.1px)}}.widget-book-meta{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(7.2px,.148148vw + 6.66667px,8.8px);margin-top:clamp(9px,.185185vw + 8.33333px,11px);display:flex}@media (max-width:767px){.widget-book-meta{justify-content:flex-start;gap:clamp(5.4px,.111111vw + 5px,6.6px);margin-top:clamp(3.6px,.0740741vw + 3.33333px,4.4px)}}.widget-difficulty{text-transform:uppercase;color:#fff;border-radius:clamp(3.6px,.0740741vw + 3.33333px,4.4px);padding:clamp(2.7px,.0555556vw + 2.5px,3.3px) clamp(7.2px,.148148vw + 6.66667px,8.8px);font-size:clamp(9px,.185185vw + 8.33333px,11px);font-weight:700}.widget-difficulty.beginner{background:#22c55e}.widget-difficulty.intermediate{color:#1a1a1a;background:#eab308}.widget-difficulty.advanced{background:#ef4444}@media (max-width:767px){.widget-difficulty{padding:clamp(1.8px,.037037vw + 1.66667px,2.2px) clamp(5.4px,.111111vw + 5px,6.6px);font-size:clamp(7.2px,.148148vw + 6.66667px,8.8px)}}.widget-time{color:var(--color-textPrimary);opacity:.7;font-size:clamp(9.9px,.203704vw + 9.16667px,12.1px);font-weight:500}@media (max-width:767px){.widget-time{font-size:clamp(9px,.185185vw + 8.33333px,11px)}}.back-to-books{border:1px solid var(--color-border);color:var(--color-textPrimary);cursor:pointer;background:0 0;border-radius:clamp(7.2px,.148148vw + 6.66667px,8.8px);justify-content:center;align-items:center;gap:clamp(7.2px,.148148vw + 6.66667px,8.8px);width:100%;padding:clamp(9px,.185185vw + 8.33333px,11px) clamp(12.6px,.259259vw + 11.6667px,15.4px);font-size:clamp(11.7px,.240741vw + 10.8333px,14.3px);font-weight:500;transition:all .2s;display:flex}.back-to-books:hover{background:var(--color-border)}.back-to-books svg{font-size:clamp(10.8px,.222222vw + 10px,13.2px)}@media (max-width:767px){.back-to-books{display:none}}.game-board-main{flex-direction:column;flex:1;justify-content:flex-start;align-items:center;width:100%;min-width:0;display:flex;overflow:visible}@media (max-width:767px){.game-board-sidebar{flex-direction:row;gap:clamp(7.2px,.148148vw + 6.66667px,8.8px);padding-bottom:clamp(7.2px,.148148vw + 6.66667px,8.8px)}.sidebar-widget{cursor:pointer;flex:1;transition:transform .2s,box-shadow .2s}.sidebar-widget:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.sidebar-widget:active{transform:translateY(0)}.book-widget-compact{justify-content:center;align-items:center;height:clamp(57.6px,1.18519vw + 53.3333px,70.4px);padding:clamp(7.2px,.148148vw + 6.66667px,8.8px);display:flex}.book-widget-compact .compact-book-info{text-align:center;flex-direction:column;align-items:center;gap:clamp(3.6px,.0740741vw + 3.33333px,4.4px);width:100%;display:flex;overflow:hidden}.book-widget-compact .compact-book-info .compact-book-title{color:var(--color-textPrimary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:clamp(9.9px,.203704vw + 9.16667px,12.1px);font-weight:600;line-height:1.2;display:-webkit-box;overflow:hidden}.book-widget-compact .compact-book-info .compact-book-time{color:var(--color-primary);font-size:clamp(9px,.185185vw + 8.33333px,11px);font-weight:500}.stats-widget-compact{justify-content:center;align-items:center;height:clamp(57.6px,1.18519vw + 53.3333px,70.4px);padding:clamp(7.2px,.148148vw + 6.66667px,8.8px);display:flex}.stats-widget-compact .compact-progress-circle{width:clamp(39.6px,.814815vw + 36.6667px,48.4px);height:clamp(39.6px,.814815vw + 36.6667px,48.4px);position:relative}.stats-widget-compact .compact-progress-circle svg{width:100%;height:100%;transform:rotate(-90deg)}.stats-widget-compact .compact-progress-circle .compact-progress-bg{fill:none;stroke:var(--color-border);stroke-width:3px}.stats-widget-compact .compact-progress-circle .compact-progress-fill{fill:none;stroke:var(--color-primary);stroke-width:3px;stroke-linecap:round}.stats-widget-compact .compact-progress-circle .compact-progress-text{color:var(--color-primary);font-size:clamp(9.9px,.203704vw + 9.16667px,12.1px);font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.streak-widget-compact{justify-content:center;align-items:center;height:clamp(57.6px,1.18519vw + 53.3333px,70.4px);padding:clamp(7.2px,.148148vw + 6.66667px,8.8px);display:flex;position:relative}.streak-widget-compact.at-risk{border-color:#f59e0b}.streak-widget-compact .compact-streak-content{flex-direction:column;align-items:center;gap:clamp(1.8px,.037037vw + 1.66667px,2.2px);display:flex}.streak-widget-compact .compact-streak-content .compact-streak-fire{font-size:clamp(19.8px,.407407vw + 18.3333px,24.2px)}.streak-widget-compact .compact-streak-content .compact-streak-fire.active{color:#f97316;filter:drop-shadow(0 0 4px #f9731680)}.streak-widget-compact .compact-streak-content .compact-streak-fire.inactive{color:var(--color-textPrimary);opacity:.3}.streak-widget-compact .compact-streak-content .compact-streak-count{color:var(--color-textPrimary);font-size:clamp(12.6px,.259259vw + 11.6667px,15.4px);font-weight:800;line-height:1}.streak-widget-compact .compact-streak-content .compact-streak-risk{color:#f59e0b;font-size:clamp(9px,.185185vw + 8.33333px,11px);position:absolute;top:clamp(3.6px,.0740741vw + 3.33333px,4.4px);right:clamp(3.6px,.0740741vw + 3.33333px,4.4px)}.badge-widget-compact{justify-content:center;align-items:center;height:clamp(57.6px,1.18519vw + 53.3333px,70.4px);padding:clamp(7.2px,.148148vw + 6.66667px,8.8px);display:flex}.badge-widget-compact .compact-badge-content{flex-direction:column;align-items:center;gap:clamp(3.6px,.0740741vw + 3.33333px,4.4px);width:100%;display:flex}.badge-widget-compact .compact-badge-content .compact-badge-icon{color:var(--color-primary);flex-shrink:0;font-size:clamp(18px,.37037vw + 16.6667px,22px)}.badge-widget-compact .compact-badge-content .compact-badge-icon svg{display:block}.badge-widget-compact .compact-badge-content .compact-badge-progress{background:var(--color-border);border-radius:clamp(1.8px,.037037vw + 1.66667px,2.2px);width:100%;max-width:clamp(43.2px,.888889vw + 40px,52.8px);height:clamp(3.6px,.0740741vw + 3.33333px,4.4px);overflow:hidden}.badge-widget-compact .compact-badge-content .compact-badge-progress .compact-badge-progress-fill{background:var(--color-primary);border-radius:clamp(1.8px,.037037vw + 1.66667px,2.2px);height:100%}.badge-widget-compact .compact-badge-content .compact-badge-percent{color:var(--color-textPrimary);font-size:clamp(9px,.185185vw + 8.33333px,11px);font-weight:600;line-height:1}.badge-widget-compact .compact-badge-content .compact-badge-count{color:var(--color-textPrimary);font-size:clamp(10.8px,.222222vw + 10px,13.2px);font-weight:600}}.widget-popup-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;padding:clamp(14.4px,.296296vw + 13.3333px,17.6px);animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.widget-popup{background:var(--color-background);border:1px solid var(--color-border);scrollbar-width:none;-ms-overflow-style:none;border-radius:clamp(14.4px,.296296vw + 13.3333px,17.6px);width:100%;max-width:clamp(324px,6.66667vw + 300px,396px);max-height:85vh;padding:clamp(43.2px,.888889vw + 40px,52.8px) clamp(18px,.37037vw + 16.6667px,22px) clamp(18px,.37037vw + 16.6667px,22px);animation:.25s slideUp;position:relative;overflow-y:auto;box-shadow:0 20px 40px #0000004d}.widget-popup::-webkit-scrollbar{display:none}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.widget-popup .widget-tabs{margin-bottom:clamp(14.4px,.296296vw + 13.3333px,17.6px)}.widget-popup .widget-content{min-height:clamp(180px,3.7037vw + 166.667px,220px)}.widget-popup .widget-cover{width:clamp(90px,1.85185vw + 83.3333px,110px);height:clamp(135px,2.77778vw + 125px,165px);margin:0 auto clamp(14.4px,.296296vw + 13.3333px,17.6px)}.widget-popup .widget-book-info{text-align:center}.widget-popup .widget-description{color:var(--color-textPrimary);opacity:.7;text-align:left;margin-top:clamp(10.8px,.222222vw + 10px,13.2px);font-size:clamp(10.8px,.222222vw + 10px,13.2px);line-height:1.5}.game-board-path{box-sizing:border-box;width:100%;max-width:clamp(378px,7.77778vw + 350px,462px);margin:0 auto;padding:clamp(14.4px,.296296vw + 13.3333px,17.6px) clamp(28.8px,.592593vw + 26.6667px,35.2px);position:relative;overflow:visible}@media (max-width:767px){.game-board-path{max-width:100%;padding:clamp(14.4px,.296296vw + 13.3333px,17.6px)}}.wavy-path-svg{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;top:0;left:0}.path-decoration{opacity:.5;pointer-events:none;z-index:1;font-size:clamp(21.6px,.444444vw + 20px,26.4px);animation:4s ease-in-out infinite float;position:absolute}.path-decoration.star-1{animation-delay:0s;top:8%;left:clamp(7.2px,.148148vw + 6.66667px,8.8px)}.path-decoration.star-2{font-size:clamp(18px,.37037vw + 16.6667px,22px);animation-delay:1s;top:35%;right:clamp(7.2px,.148148vw + 6.66667px,8.8px)}.path-decoration.star-3{animation-delay:2s;top:65%;left:clamp(3.6px,.0740741vw + 3.33333px,4.4px)}.path-decoration.book-1{opacity:.4;font-size:clamp(28.8px,.592593vw + 26.6667px,35.2px);animation-delay:.5s;top:20%;right:clamp(10.8px,.222222vw + 10px,13.2px)}.path-decoration.book-2{opacity:.35;font-size:clamp(25.2px,.518519vw + 23.3333px,30.8px);animation-delay:1.5s;top:50%;left:clamp(7.2px,.148148vw + 6.66667px,8.8px)}.path-decoration img{filter:drop-shadow(0 2px 4px #0000004d);display:block}.path-decoration .icon-large,.path-decoration .icon-medium{display:none}.path-decoration .icon-small{display:block}@media (min-width:1024px){.path-decoration .icon-large{display:none}.path-decoration .icon-medium{display:block}.path-decoration .icon-small{display:none}}@media (min-width:1400px){.path-decoration .icon-large{display:block}.path-decoration .icon-medium,.path-decoration .icon-small{display:none}}.path-decoration.icon-1{opacity:.85;animation-delay:0s;top:1%;right:clamp(-21.6px,-.444444vw - 20px,-26.4px)}@media (max-width:767px){.path-decoration.icon-1{opacity:.6;top:-1%;right:clamp(7.2px,.148148vw + 6.66667px,8.8px)}}.path-decoration.icon-2{opacity:.8;animation-delay:1.5s;top:28%;left:clamp(-21.6px,-.444444vw - 20px,-26.4px)}@media (max-width:767px){.path-decoration.icon-2{opacity:.5;top:20%;left:clamp(7.2px,.148148vw + 6.66667px,8.8px)}}.path-decoration.icon-3{opacity:.75;animation-delay:.8s;top:55%;right:clamp(-10.8px,-.222222vw - 10px,-13.2px)}@media (max-width:767px){.path-decoration.icon-3{opacity:.5;top:45%;right:clamp(7.2px,.148148vw + 6.66667px,8.8px)}}.path-decoration.icon-4{opacity:.8;animation-delay:2.2s;top:78%;left:clamp(-10.8px,-.222222vw - 10px,-13.2px)}@media (max-width:767px){.path-decoration.icon-4{opacity:.5;top:70%;left:clamp(7.2px,.148148vw + 6.66667px,8.8px)}}@keyframes float{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-10px)rotate(2deg)}}.path-track{z-index:2;flex-direction:column;align-items:center;gap:0;width:100%;display:flex;position:relative}.path-item{flex-direction:column;align-items:flex-start;width:100%;min-height:clamp(126px,2.59259vw + 116.667px,154px);display:flex;position:relative}.path-item.chapter-node{margin-top:clamp(7.2px,.148148vw + 6.66667px,8.8px)}.path-item.left{align-items:flex-start;padding-left:0}.path-item.right{align-items:flex-end;padding-right:0}.node-group{flex-direction:column;align-items:center;gap:clamp(7.2px,.148148vw + 6.66667px,8.8px);display:flex;position:relative}.game-node{cursor:pointer;background:0 0;border:none;border-radius:50%;width:clamp(63px,1.2963vw + 58.3333px,77px);height:clamp(63px,1.2963vw + 58.3333px,77px);padding:0;position:relative}.game-node:disabled{cursor:not-allowed}.node-face{border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;transition:all .2s;display:flex}.game-node.locked .node-face{background:linear-gradient(145deg,#e5e7eb,#d1d5db);box-shadow:0 4px #9ca3af,0 6px 15px #0000001a}.game-node.locked .node-icon{color:#9ca3af;font-size:clamp(18px,.37037vw + 16.6667px,22px)}.game-node.completed .node-face{background:linear-gradient(145deg,#22c55e,#16a34a);box-shadow:0 4px #15803d,0 6px 20px #22c55e59}.game-node.completed .node-icon{color:#fff;font-size:clamp(25.2px,.518519vw + 23.3333px,30.8px)}.game-node.completed:hover .node-face{transform:translateY(-3px);box-shadow:0 7px #15803d,0 10px 25px #22c55e66}.game-node.current .node-face{background:linear-gradient(145deg,var(--color-primary),color-mix(in srgb,var(--color-primary)75%,#000));box-shadow:0 4px 0 color-mix(in srgb,var(--color-primary)60%,#000),0 0 0 4px var(--color-background),0 0 0 8px color-mix(in srgb,var(--color-primary)25%,transparent),0 6px 25px color-mix(in srgb,var(--color-primary)40%,transparent);animation:2s ease-in-out infinite pulse-node}.game-node.current .node-number{color:#fff;font-size:clamp(25.2px,.518519vw + 23.3333px,30.8px);font-weight:800}.game-node.current:hover .node-face{transform:translateY(-3px)scale(1.02)}@keyframes pulse-node{0%,to{box-shadow:0 4px 0 color-mix(in srgb,var(--color-primary)60%,#000),0 0 0 4px var(--color-background),0 0 0 8px color-mix(in srgb,var(--color-primary)25%,transparent),0 6px 25px color-mix(in srgb,var(--color-primary)40%,transparent)}50%{box-shadow:0 4px 0 color-mix(in srgb,var(--color-primary)60%,#000),0 0 0 4px var(--color-background),0 0 0 14px color-mix(in srgb,var(--color-primary)12%,transparent),0 6px 35px color-mix(in srgb,var(--color-primary)50%,transparent)}}.start-badge{color:#78350f;letter-spacing:.5px;background:linear-gradient(145deg,#fbbf24,#f59e0b);border-radius:clamp(10.8px,.222222vw + 10px,13.2px);padding:clamp(2.7px,.0555556vw + 2.5px,3.3px) clamp(9px,.185185vw + 8.33333px,11px);font-size:clamp(8.1px,.166667vw + 7.5px,9.9px);font-weight:800;animation:1s ease-in-out infinite bounce-badge;position:absolute;top:clamp(-9px,-.185185vw - 8.33333px,-11px);left:50%;transform:translate(-50%);box-shadow:0 2px #d97706}@keyframes bounce-badge{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(-4px)}}.score-star{color:#78350f;background:linear-gradient(145deg,#fbbf24,#f59e0b);border-radius:clamp(10.8px,.222222vw + 10px,13.2px);align-items:center;gap:clamp(1.8px,.037037vw + 1.66667px,2.2px);padding:clamp(1.8px,.037037vw + 1.66667px,2.2px) clamp(5.4px,.111111vw + 5px,6.6px);font-size:clamp(7.2px,.148148vw + 6.66667px,8.8px);font-weight:700;display:flex;position:absolute;bottom:clamp(-7.2px,-.148148vw - 6.66667px,-8.8px);left:50%;transform:translate(-50%);box-shadow:0 2px #d97706}.score-star svg{font-size:clamp(6.3px,.12963vw + 5.83333px,7.7px)}.chapter-card{background:var(--color-background);text-align:center;border:1.5px solid var(--color-border);border-radius:clamp(9px,.185185vw + 8.33333px,11px);max-width:clamp(126px,2.59259vw + 116.667px,154px);padding:clamp(7.2px,.148148vw + 6.66667px,8.8px) clamp(10.8px,.222222vw + 10px,13.2px);box-shadow:0 2px 8px #0000000f}.chapter-card.current{border-color:var(--color-primary);box-shadow:0 3px 12px color-mix(in srgb,var(--color-primary)15%,transparent)}.chapter-card.completed{border-color:#22c55e}.chapter-num{text-transform:uppercase;letter-spacing:.5px;color:var(--color-primary);margin-bottom:clamp(1.8px,.037037vw + 1.66667px,2.2px);font-size:clamp(8.1px,.166667vw + 7.5px,9.9px);font-weight:700;display:block}.chapter-title{color:var(--color-textPrimary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:clamp(9.9px,.203704vw + 9.16667px,12.1px);font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.chapter-time{color:var(--color-primary);margin-top:clamp(3.6px,.0740741vw + 3.33333px,4.4px);font-size:clamp(8.1px,.166667vw + 7.5px,9.9px);font-weight:500;display:block}.finish-line-container{flex-direction:column;align-items:center;margin-top:clamp(21.6px,.444444vw + 20px,26.4px);padding:clamp(28.8px,.592593vw + 26.6667px,35.2px) clamp(14.4px,.296296vw + 13.3333px,17.6px);display:flex;position:relative}.finish-glow{filter:blur(20px);pointer-events:none;background:radial-gradient(#fbbf2466 0%,#fbbf2433 30%,#fbbf240d 60%,#0000 80%);width:clamp(252px,5.18519vw + 233.333px,308px);height:clamp(135px,2.77778vw + 125px,165px);animation:3s ease-in-out infinite glow-pulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes glow-pulse{0%,to{opacity:.7;transform:translate(-50%,-50%)scale(1)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.15)}}.finish-banner{text-align:center;z-index:2;background:linear-gradient(145deg,#fef3c7,#fde68a);border:3px solid #f59e0b;border-radius:clamp(14.4px,.296296vw + 13.3333px,17.6px);padding:clamp(18px,.37037vw + 16.6667px,22px) clamp(36px,.740741vw + 33.3333px,44px);position:relative;box-shadow:0 4px #d97706,0 0 30px #fbbf2480,0 0 60px #fbbf244d}.finish-text{letter-spacing:4px;background:linear-gradient(135deg,#d97706,#b45309,#d97706);-webkit-text-fill-color:#0000;-webkit-background-clip:text;background-clip:text;margin-bottom:clamp(3.6px,.0740741vw + 3.33333px,4.4px);font-size:clamp(21.6px,.444444vw + 20px,26.4px);font-weight:900}.finish-subtext{color:#92400e;font-size:clamp(10.8px,.222222vw + 10px,13.2px);font-weight:600}.streak-fire-icon{font-size:clamp(28.8px,.592593vw + 26.6667px,35.2px)}.streak-fire-icon.active{color:#f59e0b;filter:drop-shadow(0 0 8px #f59e0b80)}.streak-fire-icon.inactive{color:var(--color-border)}.risk-indicator{color:#ef4444;font-size:clamp(10.8px,.222222vw + 10px,13.2px);position:absolute;top:clamp(-3.6px,-.0740741vw - 3.33333px,-4.4px);right:clamp(-3.6px,-.0740741vw - 3.33333px,-4.4px)}.streak-info{flex:1}.streak-info .streak-label{color:var(--color-textPrimary);opacity:.6;font-size:clamp(10.8px,.222222vw + 10px,13.2px)}.best-streak{color:var(--color-textPrimary);opacity:.6;align-items:center;gap:clamp(3.6px,.0740741vw + 3.33333px,4.4px);font-size:clamp(9.9px,.203704vw + 9.16667px,12.1px);display:flex}.streak-message.warning{background:#ef44441a}.streak-message.warning .message-icon{color:#ef4444}.streak-message.success{background:#22c55e1a}.streak-message.success .message-icon{color:#22c55e}.message-icon{color:var(--color-primary);flex-shrink:0;font-size:clamp(18px,.37037vw + 16.6667px,22px)}.message-content{flex-direction:column;gap:clamp(1.8px,.037037vw + 1.66667px,2.2px);display:flex}.message-content strong{color:var(--color-textPrimary);font-size:clamp(11.7px,.240741vw + 10.8333px,14.3px);font-weight:600}.message-content span{color:var(--color-textPrimary);opacity:.7;font-size:clamp(9.9px,.203704vw + 9.16667px,12.1px)}.streak-calendar{margin-bottom:clamp(14.4px,.296296vw + 13.3333px,17.6px)}.calendar-days{justify-content:space-between;display:flex}.calendar-day{flex-direction:column;align-items:center;gap:clamp(3.6px,.0740741vw + 3.33333px,4.4px);display:flex}.calendar-day.today .day-label{color:var(--color-primary);font-weight:600}.day-label{color:var(--color-textPrimary);opacity:.6;text-transform:uppercase;font-size:clamp(9px,.185185vw + 8.33333px,11px)}.day-indicator{background:var(--color-border);border-radius:50%;justify-content:center;align-items:center;width:clamp(25.2px,.518519vw + 23.3333px,30.8px);height:clamp(25.2px,.518519vw + 23.3333px,30.8px);display:flex}.day-fire{color:#d97706;font-size:clamp(12.6px,.259259vw + 11.6667px,15.4px)}.day-fire.active{color:#f59e0b;filter:drop-shadow(0 0 4px #f59e0b80)}.empty-dot{background:var(--color-textPrimary);opacity:.2;border-radius:50%;width:clamp(5.4px,.111111vw + 5px,6.6px);height:clamp(5.4px,.111111vw + 5px,6.6px)}.streak-milestone{margin-bottom:clamp(10.8px,.222222vw + 10px,13.2px)}.milestone-header .milestone-icon{color:#f59e0b;font-size:clamp(10.8px,.222222vw + 10px,13.2px)}.milestone-header .milestone-name{color:var(--color-textPrimary);flex:1;font-size:clamp(10.8px,.222222vw + 10px,13.2px);font-weight:600}.milestone-header .milestone-days{color:var(--color-textPrimary);opacity:.6;font-size:clamp(9px,.185185vw + 8.33333px,11px)}.current-milestone .current-milestone-icon{color:#f59e0b;font-size:clamp(12.6px,.259259vw + 11.6667px,15.4px)}.current-milestone .current-milestone-name{color:#d97706;font-size:clamp(10.8px,.222222vw + 10px,13.2px);font-weight:600}.streak-stat{flex-direction:column;align-items:center;display:flex}.game-node.chapter-quiz-node.current .node-face{box-shadow:0 4px 0 #b45309,0 0 0 4px var(--color-background),0 0 0 8px #f59e0b40,0 6px 25px #f59e0b66;background:linear-gradient(145deg,#f59e0b,#d97706)}.game-node.chapter-quiz-node .node-icon.chapter-icon{color:#fff;font-size:clamp(21.6px,.444444vw + 20px,26.4px)}.start-badge.chapter-badge{background:linear-gradient(145deg,var(--color-primary),color-mix(in srgb,var(--color-primary)80%,#000));color:#fff;box-shadow:0 2px 0 color-mix(in srgb,var(--color-primary)60%,#000)}.chapter-card.is-chapter-card{border-left:3px solid #f59e0b}.chapter-card.is-chapter-card .chapter-num{color:#f59e0b}.boss-level-divider{align-items:center;gap:clamp(14.4px,.296296vw + 13.3333px,17.6px);width:100%;margin-bottom:clamp(14.4px,.296296vw + 13.3333px,17.6px);padding:0 clamp(14.4px,.296296vw + 13.3333px,17.6px);display:flex}.boss-divider-line{background:linear-gradient(90deg,#0000,#f59e0b,#0000);flex:1;height:2px}.boss-divider-badge{color:#92400e;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:clamp(28.8px,.592593vw + 26.6667px,35.2px);align-items:center;gap:clamp(7.2px,.148148vw + 6.66667px,8.8px);padding:clamp(7.2px,.148148vw + 6.66667px,8.8px) clamp(14.4px,.296296vw + 13.3333px,17.6px);font-size:clamp(10.8px,.222222vw + 10px,13.2px);font-weight:700;display:flex;box-shadow:0 2px 8px #f59e0b4d}.boss-divider-badge svg{color:#d97706;font-size:clamp(12.6px,.259259vw + 11.6667px,15.4px)}.game-node.boss-node{width:clamp(76.5px,1.57407vw + 70.8333px,93.5px);height:clamp(76.5px,1.57407vw + 70.8333px,93.5px)}.game-node.boss-node.current .node-face{box-shadow:0 5px 0 #b45309,0 0 0 5px var(--color-background),0 0 0 10px #fbbf244d,0 0 40px #fbbf2466;background:linear-gradient(145deg,#fbbf24,#d97706);animation:2s ease-in-out infinite pulse-boss}.game-node.boss-node.completed .node-face{background:linear-gradient(145deg,#fbbf24,#f59e0b);box-shadow:0 4px #d97706,0 6px 20px #fbbf2459}.game-node.boss-node .node-icon.boss-icon{color:#fff;filter:drop-shadow(0 2px 2px #0003);font-size:clamp(25.2px,.518519vw + 23.3333px,30.8px)}@keyframes pulse-boss{0%,to{box-shadow:0 5px 0 #b45309,0 0 0 5px var(--color-background),0 0 0 10px #fbbf244d,0 0 40px #fbbf2466}50%{box-shadow:0 5px 0 #b45309,0 0 0 5px var(--color-background),0 0 0 18px #fbbf2426,0 0 60px #fbbf2480}}.start-badge.boss-badge{color:#fff;background:linear-gradient(145deg,#dc2626,#b91c1c);padding:clamp(3.6px,.0740741vw + 3.33333px,4.4px) clamp(10.8px,.222222vw + 10px,13.2px);font-size:clamp(9px,.185185vw + 8.33333px,11px);box-shadow:0 2px #991b1b}.score-star.boss-score{background:linear-gradient(145deg,#fbbf24,#f59e0b)}.chapter-card.boss-card{background:linear-gradient(135deg,var(--color-background),color-mix(in srgb,#fef3c7 10%,var(--color-background)));border:2px solid #f59e0b;max-width:clamp(144px,2.96296vw + 133.333px,176px)}.chapter-card.boss-card .chapter-num{color:#d97706;font-size:clamp(9px,.185185vw + 8.33333px,11px)}.chapter-card.boss-card .chapter-title{font-weight:700}.quiz-section.boss-quiz{max-width:clamp(675px,13.8889vw + 625px,825px)}.boss-quiz-banner{color:#92400e;text-transform:uppercase;letter-spacing:1px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:clamp(14.4px,.296296vw + 13.3333px,17.6px);justify-content:center;align-items:center;gap:clamp(10.8px,.222222vw + 10px,13.2px);margin-bottom:clamp(21.6px,.444444vw + 20px,26.4px);padding:clamp(14.4px,.296296vw + 13.3333px,17.6px) clamp(28.8px,.592593vw + 26.6667px,35.2px);font-size:clamp(16.2px,.333333vw + 15px,19.8px);font-weight:700;display:flex}.boss-quiz-banner svg{color:#d97706;font-size:clamp(21.6px,.444444vw + 20px,26.4px)}.results-section.boss-results .results-header.passed{background:linear-gradient(135deg,color-mix(in srgb,#fbbf24 20%,var(--color-background)),color-mix(in srgb,#f59e0b 15%,var(--color-background)));border:2px solid #f59e0b}.results-section.boss-results .results-header.passed .results-icon{color:#f59e0b;font-size:clamp(57.6px,1.18519vw + 53.3333px,70.4px)}.path-item.chapter-node{min-height:clamp(162px,3.33333vw + 150px,198px);margin-top:clamp(14.4px,.296296vw + 13.3333px,17.6px)}.campaign-main.reading-mode{max-width:100%;padding:0}.rsvp-display.campaign-reader{z-index:1000;position:fixed;inset:0}.speed-select-screen{background:var(--color-background);z-index:100;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.speed-select-screen .exit-btn{border:2px solid var(--color-border);background:var(--color-background);width:clamp(39.6px,.814815vw + 36.6667px,48.4px);height:clamp(39.6px,.814815vw + 36.6667px,48.4px);color:var(--color-textPrimary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:clamp(18px,.37037vw + 16.6667px,22px);transition:all .2s;display:flex;position:absolute;top:clamp(14.4px,.296296vw + 13.3333px,17.6px);right:clamp(14.4px,.296296vw + 13.3333px,17.6px)}.speed-select-screen .exit-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.speed-select-content{text-align:center;flex-direction:column;align-items:center;width:100%;max-width:clamp(360px,7.40741vw + 333.333px,440px);padding:clamp(28.8px,.592593vw + 26.6667px,35.2px);display:flex}.speed-select-content h2{color:var(--color-textPrimary);margin:0 0 clamp(7.2px,.148148vw + 6.66667px,8.8px);font-size:clamp(25.2px,.518519vw + 23.3333px,30.8px);font-weight:700}.speed-select-content .chapter-title-preview{color:var(--color-textSecondary);opacity:.8;margin:0 0 clamp(28.8px,.592593vw + 26.6667px,35.2px);font-size:clamp(14.4px,.296296vw + 13.3333px,17.6px)}.speed-selector{align-items:center;gap:clamp(21.6px,.444444vw + 20px,26.4px);margin-bottom:clamp(21.6px,.444444vw + 20px,26.4px);display:flex}.speed-adjust-btn{border:2px solid var(--color-border);background:var(--color-background);width:clamp(50.4px,1.03704vw + 46.6667px,61.6px);height:clamp(50.4px,1.03704vw + 46.6667px,61.6px);color:var(--color-textPrimary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:clamp(25.2px,.518519vw + 23.3333px,30.8px);font-weight:300;transition:all .2s;display:flex}.speed-adjust-btn:hover{border-color:var(--color-primary);color:var(--color-primary);transform:scale(1.05)}.speed-adjust-btn:active{transform:scale(.95)}.speed-display{flex-direction:column;align-items:center;min-width:clamp(108px,2.22222vw + 100px,132px);display:flex}.speed-value{color:var(--color-primary);font-size:clamp(50.4px,1.03704vw + 46.6667px,61.6px);font-weight:800;line-height:1}.speed-unit{color:var(--color-textSecondary);text-transform:uppercase;letter-spacing:2px;font-size:clamp(12.6px,.259259vw + 11.6667px,15.4px);font-weight:600}.speed-presets{flex-wrap:wrap;justify-content:center;gap:clamp(7.2px,.148148vw + 6.66667px,8.8px);margin-bottom:clamp(21.6px,.444444vw + 20px,26.4px);display:flex}.preset-btn{border:2px solid var(--color-border);background:var(--color-background);color:var(--color-textPrimary);cursor:pointer;border-radius:clamp(28.8px,.592593vw + 26.6667px,35.2px);padding:clamp(7.2px,.148148vw + 6.66667px,8.8px) clamp(14.4px,.296296vw + 13.3333px,17.6px);font-size:clamp(12.6px,.259259vw + 11.6667px,15.4px);font-weight:600;transition:all .2s}.preset-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.preset-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.ramp-info{background:color-mix(in srgb,var(--color-primary)10%,var(--color-background));border-radius:clamp(7.2px,.148148vw + 6.66667px,8.8px);align-items:center;gap:clamp(7.2px,.148148vw + 6.66667px,8.8px);margin-bottom:clamp(28.8px,.592593vw + 26.6667px,35.2px);padding:clamp(10.8px,.222222vw + 10px,13.2px) clamp(14.4px,.296296vw + 13.3333px,17.6px);display:flex}.ramp-info svg{color:var(--color-primary);flex-shrink:0}.ramp-info span{color:var(--color-textPrimary);font-size:clamp(11.7px,.240741vw + 10.8333px,14.3px)}.start-reading-btn{background:linear-gradient(145deg,var(--color-primary),color-mix(in srgb,var(--color-primary)80%,#000));color:#fff;cursor:pointer;box-shadow:0 4px 0 color-mix(in srgb,var(--color-primary)60%,#000),0 6px 20px color-mix(in srgb,var(--color-primary)30%,transparent);border:none;border-radius:clamp(43.2px,.888889vw + 40px,52.8px);justify-content:center;align-items:center;gap:clamp(10.8px,.222222vw + 10px,13.2px);padding:clamp(14.4px,.296296vw + 13.3333px,17.6px) clamp(36px,.740741vw + 33.3333px,44px);font-size:clamp(16.2px,.333333vw + 15px,19.8px);font-weight:700;transition:all .2s;display:flex}.start-reading-btn:hover{box-shadow:0 6px 0 color-mix(in srgb,var(--color-primary)60%,#000),0 10px 30px color-mix(in srgb,var(--color-primary)40%,transparent);transform:translateY(-2px)}.start-reading-btn:active{box-shadow:0 2px 0 color-mix(in srgb,var(--color-primary)60%,#000),0 4px 15px color-mix(in srgb,var(--color-primary)30%,transparent);transform:translateY(2px)}.reading-countdown{background:var(--color-background);z-index:1000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.countdown-content{text-align:center;color:var(--color-textPrimary)}.countdown-content h2{margin-bottom:clamp(7.2px,.148148vw + 6.66667px,8.8px);font-size:clamp(21.6px,.444444vw + 20px,26.4px)}.countdown-content p{opacity:.7;margin-bottom:clamp(28.8px,.592593vw + 26.6667px,35.2px);font-size:clamp(14.4px,.296296vw + 13.3333px,17.6px)}.countdown-number{color:var(--color-primary);font-size:clamp(115.2px,2.37037vw + 106.667px,140.8px);font-weight:700;animation:1s ease-in-out infinite countdown-pulse}.wpm-indicator{background:color-mix(in srgb,var(--color-primary)15%,var(--color-background));border:1px solid color-mix(in srgb,var(--color-primary)30%,transparent);color:var(--color-primary);z-index:10;border-radius:clamp(14.4px,.296296vw + 13.3333px,17.6px);align-items:center;gap:clamp(3.6px,.0740741vw + 3.33333px,4.4px);padding:clamp(5.4px,.111111vw + 5px,6.6px) clamp(10.8px,.222222vw + 10px,13.2px);font-size:clamp(10.8px,.222222vw + 10px,13.2px);font-weight:600;display:flex;position:absolute;top:clamp(14.4px,.296296vw + 13.3333px,17.6px);right:clamp(14.4px,.296296vw + 13.3333px,17.6px)}.wpm-indicator .ramping{animation:.5s ease-in-out infinite pulse-arrow}.pause-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10;background:#000000b3;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.pause-content{text-align:center;color:#fff;flex-direction:column;justify-content:center;align-items:center;display:flex}.pause-content svg{margin-bottom:clamp(14.4px,.296296vw + 13.3333px,17.6px);font-size:clamp(57.6px,1.18519vw + 53.3333px,70.4px);display:block}.pause-content span{margin-bottom:clamp(7.2px,.148148vw + 6.66667px,8.8px);font-size:clamp(28.8px,.592593vw + 26.6667px,35.2px);font-weight:700;display:block}.pause-content p{opacity:.7;margin:0}.quiz-section{max-width:clamp(630px,12.963vw + 583.333px,770px);margin:0 auto}.quiz-header{margin-bottom:clamp(28.8px,.592593vw + 26.6667px,35.2px)}.quiz-header h2{color:var(--color-textPrimary);margin-bottom:clamp(14.4px,.296296vw + 13.3333px,17.6px);font-size:clamp(21.6px,.444444vw + 20px,26.4px);font-weight:700}.quiz-progress{flex-direction:column;gap:clamp(7.2px,.148148vw + 6.66667px,8.8px);display:flex}.quiz-progress span{color:var(--color-textPrimary);opacity:.7;font-size:clamp(12.6px,.259259vw + 11.6667px,15.4px)}.quiz-progress-bar{background:var(--color-border);border-radius:clamp(3.6px,.0740741vw + 3.33333px,4.4px);height:clamp(7.2px,.148148vw + 6.66667px,8.8px);overflow:hidden}.quiz-progress-fill{background:var(--color-primary);height:100%;transition:width .3s}.quiz-content{margin-bottom:clamp(28.8px,.592593vw + 26.6667px,35.2px)}.quiz-question h3{color:var(--color-textPrimary);margin-bottom:clamp(21.6px,.444444vw + 20px,26.4px);font-size:clamp(18px,.37037vw + 16.6667px,22px);font-weight:600;line-height:1.5}.quiz-options{flex-direction:column;gap:clamp(10.8px,.222222vw + 10px,13.2px);display:flex}.quiz-option{background:var(--color-background);border:2px solid var(--color-border);cursor:pointer;text-align:left;border-radius:clamp(10.8px,.222222vw + 10px,13.2px);align-items:flex-start;gap:clamp(14.4px,.296296vw + 13.3333px,17.6px);width:100%;padding:clamp(18px,.37037vw + 16.6667px,22px);transition:all .2s;display:flex}.quiz-option:hover{border-color:var(--color-primary)}.quiz-option.selected{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary)10%,var(--color-background))}.option-letter{background:var(--color-border);width:clamp(28.8px,.592593vw + 26.6667px,35.2px);height:clamp(28.8px,.592593vw + 26.6667px,35.2px);color:var(--color-textPrimary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:clamp(13.5px,.277778vw + 12.5px,16.5px);font-weight:700;display:flex}.quiz-option.selected .option-letter{background:var(--color-primary);color:#fff}.option-text{color:var(--color-textPrimary);flex:1;padding-top:clamp(3.6px,.0740741vw + 3.33333px,4.4px);font-size:clamp(14.4px,.296296vw + 13.3333px,17.6px);line-height:1.5}.quiz-nav{border-top:2px solid var(--color-border);justify-content:space-between;gap:clamp(14.4px,.296296vw + 13.3333px,17.6px);padding-top:clamp(21.6px,.444444vw + 20px,26.4px);display:flex}@media (max-width:767px){.quiz-nav{flex-direction:column}.quiz-nav button{width:100%}}.results-section{max-width:clamp(630px,12.963vw + 583.333px,770px);margin:0 auto}.results-header{text-align:center;border-radius:clamp(14.4px,.296296vw + 13.3333px,17.6px);margin-bottom:clamp(28.8px,.592593vw + 26.6667px,35.2px);padding:clamp(36px,.740741vw + 33.3333px,44px)}.results-header.passed{background:color-mix(in srgb,#22c55e 15%,var(--color-background));border:2px solid #22c55e}.results-header.passed .results-icon{color:#22c55e}.results-header.failed{background:color-mix(in srgb,#ef4444 15%,var(--color-background));border:2px solid #ef4444}.results-header.failed .results-icon{color:#ef4444}.results-icon{margin-bottom:clamp(14.4px,.296296vw + 13.3333px,17.6px);font-size:clamp(43.2px,.888889vw + 40px,52.8px)}.results-score{color:var(--color-textPrimary);font-size:clamp(57.6px,1.18519vw + 53.3333px,70.4px);font-weight:700;line-height:1}.results-status{color:var(--color-textPrimary);margin:clamp(7.2px,.148148vw + 6.66667px,8.8px) 0;font-size:clamp(21.6px,.444444vw + 20px,26.4px);font-weight:600}.results-message{color:var(--color-textPrimary);opacity:.8;font-size:clamp(14.4px,.296296vw + 13.3333px,17.6px)}.results-review{margin-bottom:clamp(28.8px,.592593vw + 26.6667px,35.2px)}.results-review h3{color:var(--color-textPrimary);margin-bottom:clamp(14.4px,.296296vw + 13.3333px,17.6px);font-size:clamp(18px,.37037vw + 16.6667px,22px);font-weight:600}.review-item{border:2px solid var(--color-border);border-radius:clamp(10.8px,.222222vw + 10px,13.2px);margin-bottom:clamp(14.4px,.296296vw + 13.3333px,17.6px);padding:clamp(18px,.37037vw + 16.6667px,22px)}.review-item.correct{background:color-mix(in srgb,#22c55e 5%,var(--color-background));border-color:#22c55e}.review-item.incorrect{background:color-mix(in srgb,#ef4444 5%,var(--color-background));border-color:#ef4444}.review-question{color:var(--color-textPrimary);margin-bottom:clamp(10.8px,.222222vw + 10px,13.2px);font-size:clamp(14.4px,.296296vw + 13.3333px,17.6px);font-weight:500}.review-number{margin-right:clamp(7.2px,.148148vw + 6.66667px,8.8px);font-weight:700}.review-answer{color:var(--color-textPrimary);font-size:clamp(13.5px,.277778vw + 12.5px,16.5px)}.review-status{margin-right:clamp(7.2px,.148148vw + 6.66667px,8.8px);font-weight:700}.review-status.correct{color:#22c55e}.review-status.incorrect{color:#ef4444}.review-correct{color:#22c55e;margin-top:clamp(5.4px,.111111vw + 5px,6.6px);font-weight:500}.review-explanation{border-top:1px solid var(--color-border);color:var(--color-textPrimary);opacity:.8;margin-top:clamp(10.8px,.222222vw + 10px,13.2px);padding-top:clamp(10.8px,.222222vw + 10px,13.2px);font-size:clamp(12.6px,.259259vw + 11.6667px,15.4px);font-style:italic}.results-actions{justify-content:center;gap:clamp(14.4px,.296296vw + 13.3333px,17.6px);display:flex}@media (max-width:767px){.results-actions{flex-direction:column}.results-actions button{width:100%}}.book-complete-section{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:70vh;display:flex;position:relative;overflow:hidden}.book-complete-section h1{color:var(--color-textPrimary);margin-bottom:clamp(7.2px,.148148vw + 6.66667px,8.8px);font-size:clamp(43.2px,.888889vw + 40px,52.8px);font-weight:700}.complete-content{z-index:1;position:relative}.complete-trophy{color:#fbbf24;margin-bottom:clamp(14.4px,.296296vw + 13.3333px,17.6px);font-size:clamp(72px,1.48148vw + 66.6667px,88px);animation:1s ease-in-out trophy-bounce}@keyframes trophy-bounce{0%{transform:scale(0)}50%{transform:scale(1.2)}70%{transform:scale(.9)}to{transform:scale(1)}}.complete-subtitle{color:var(--color-textPrimary);opacity:.7;margin-bottom:clamp(28.8px,.592593vw + 26.6667px,35.2px);font-size:clamp(18px,.37037vw + 16.6667px,22px)}.complete-book-info{margin-bottom:clamp(28.8px,.592593vw + 26.6667px,35.2px)}.complete-book-info h2{color:var(--color-textPrimary);margin-bottom:clamp(3.6px,.0740741vw + 3.33333px,4.4px);font-size:clamp(21.6px,.444444vw + 20px,26.4px);font-weight:700}.complete-book-info p{color:var(--color-textPrimary);opacity:.7}.complete-book-cover{object-fit:cover;border-radius:clamp(7.2px,.148148vw + 6.66667px,8.8px);width:clamp(108px,2.22222vw + 100px,132px);height:clamp(162px,3.33333vw + 150px,198px);margin-bottom:clamp(14.4px,.296296vw + 13.3333px,17.6px);box-shadow:0 8px 24px #0003}.complete-stats{flex-wrap:wrap;justify-content:center;gap:clamp(21.6px,.444444vw + 20px,26.4px);margin-bottom:clamp(28.8px,.592593vw + 26.6667px,35.2px);display:flex}.stat-card{background:color-mix(in srgb,var(--color-primary)10%,var(--color-background));border:2px solid color-mix(in srgb,var(--color-primary)30%,transparent);border-radius:clamp(14.4px,.296296vw + 13.3333px,17.6px);min-width:clamp(108px,2.22222vw + 100px,132px);padding:clamp(18px,.37037vw + 16.6667px,22px) clamp(28.8px,.592593vw + 26.6667px,35.2px)}.stat-value{color:var(--color-primary);justify-content:center;align-items:center;font-size:clamp(28.8px,.592593vw + 26.6667px,35.2px);font-weight:700;display:flex}.stat-label{color:var(--color-textPrimary);opacity:.7;margin-top:clamp(3.6px,.0740741vw + 3.33333px,4.4px);font-size:clamp(11.7px,.240741vw + 10.8333px,14.3px)}.btn-lg{padding:clamp(14.4px,.296296vw + 13.3333px,17.6px) clamp(36px,.740741vw + 33.3333px,44px);font-size:clamp(16.2px,.333333vw + 15px,19.8px)}.confetti-container{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.confetti-piece{border-radius:clamp(1.8px,.037037vw + 1.66667px,2.2px);width:clamp(9px,.185185vw + 8.33333px,11px);height:clamp(18px,.37037vw + 16.6667px,22px);animation:linear forwards confetti-fall;position:absolute;top:-20px}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}.book-complete-badge{color:#78350f;z-index:2;background:#fbbf24;border-radius:clamp(28.8px,.592593vw + 26.6667px,35.2px);align-items:center;gap:clamp(5.4px,.111111vw + 5px,6.6px);padding:clamp(7.2px,.148148vw + 6.66667px,8.8px) clamp(12.6px,.259259vw + 11.6667px,15.4px);font-size:clamp(10.8px,.222222vw + 10px,13.2px);font-weight:700;display:flex;position:absolute;top:clamp(14.4px,.296296vw + 13.3333px,17.6px);right:clamp(14.4px,.296296vw + 13.3333px,17.6px);box-shadow:0 2px 8px #0000004d}.label-action.completed{color:var(--color-textPrimary);opacity:.6}.badge-widget{position:relative}.badge-widget .widget-header{justify-content:space-between;align-items:center;margin-bottom:clamp(14.4px,.296296vw + 13.3333px,17.6px);display:flex}.badge-widget .widget-header-left{color:var(--color-primary);align-items:center;gap:clamp(7.2px,.148148vw + 6.66667px,8.8px);display:flex}.badge-widget .widget-header-left .widget-icon{color:var(--color-primary);font-size:clamp(16.2px,.333333vw + 15px,19.8px)}.badge-widget .widget-header-left h3{color:var(--color-textPrimary);margin:0;font-size:clamp(12.6px,.259259vw + 11.6667px,15.4px);font-weight:700}.badge-widget .badge-count{color:var(--color-textPrimary);opacity:.6;background:var(--color-border);border-radius:clamp(10.8px,.222222vw + 10px,13.2px);padding:clamp(3.6px,.0740741vw + 3.33333px,4.4px) clamp(9px,.185185vw + 8.33333px,11px);font-size:clamp(10.8px,.222222vw + 10px,13.2px);font-weight:600}.badge-grid{grid-template-columns:repeat(3,1fr);gap:clamp(7.2px,.148148vw + 6.66667px,8.8px);margin-bottom:clamp(14.4px,.296296vw + 13.3333px,17.6px);display:grid}.badge-item{aspect-ratio:1;background:var(--color-border);cursor:pointer;border-radius:clamp(10.8px,.222222vw + 10px,13.2px);justify-content:center;align-items:center;transition:all .2s;display:flex;position:relative}.badge-item .badge-icon{color:var(--color-textPrimary);opacity:.3;justify-content:center;align-items:center;font-size:clamp(21.6px,.444444vw + 20px,26.4px);display:flex}.badge-item.unlocked{background:linear-gradient(135deg,color-mix(in srgb,var(--tier-color)20%,var(--color-background)),color-mix(in srgb,var(--tier-color)10%,var(--color-background)));border:2px solid var(--tier-color);box-shadow:0 2px 8px color-mix(in srgb,var(--tier-color)30%,transparent)}.badge-item.unlocked .badge-icon{color:var(--tier-color);opacity:1}.badge-item.unlocked:hover{box-shadow:0 4px 12px color-mix(in srgb,var(--tier-color)40%,transparent);transform:scale(1.1)}.badge-item.recent{animation:2s ease-in-out infinite badgePulse}.badge-item .badge-new{color:#fff;background:var(--color-primary);border-radius:clamp(3.6px,.0740741vw + 3.33333px,4.4px);padding:clamp(1.8px,.037037vw + 1.66667px,2.2px) clamp(3.6px,.0740741vw + 3.33333px,4.4px);font-size:clamp(7.2px,.148148vw + 6.66667px,8.8px);font-weight:700;position:absolute;top:clamp(-3.6px,-.0740741vw - 3.33333px,-4.4px);right:clamp(-3.6px,-.0740741vw - 3.33333px,-4.4px)}@keyframes badgePulse{0%,to{box-shadow:0 2px 8px color-mix(in srgb,var(--tier-color)30%,transparent)}50%{box-shadow:0 4px 16px color-mix(in srgb,var(--tier-color)50%,transparent)}}.badge-tooltip-fixed{background:var(--color-background);color:var(--color-textPrimary);z-index:999999;border:1px solid var(--color-border);pointer-events:none;border-radius:clamp(9px,.185185vw + 8.33333px,11px);flex-direction:column;gap:clamp(5.4px,.111111vw + 5px,6.6px);max-width:clamp(180px,3.7037vw + 166.667px,220px);padding:clamp(10.8px,.222222vw + 10px,13.2px) clamp(12.6px,.259259vw + 11.6667px,15.4px);font-size:clamp(10.8px,.222222vw + 10px,13.2px);animation:.15s tooltipFadeIn;display:flex;position:fixed;box-shadow:0 8px 24px #0000004d}.badge-tooltip-fixed strong{font-size:clamp(12.6px,.259259vw + 11.6667px,15.4px);font-weight:700;line-height:1.3}.badge-tooltip-fixed span{opacity:.8;line-height:1.4}.badge-tooltip-fixed .badge-tier{text-transform:uppercase;opacity:1;letter-spacing:.5px;font-size:clamp(9px,.185185vw + 8.33333px,11px);font-weight:700}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.badge-tooltip-mobile{background:var(--color-background);color:var(--color-textPrimary);z-index:999999;border:1px solid var(--color-border);text-align:center;border-radius:clamp(10.8px,.222222vw + 10px,13.2px);flex-direction:column;gap:clamp(7.2px,.148148vw + 6.66667px,8.8px);min-width:clamp(180px,3.7037vw + 166.667px,220px);max-width:clamp(252px,5.18519vw + 233.333px,308px);padding:clamp(14.4px,.296296vw + 13.3333px,17.6px) clamp(18px,.37037vw + 16.6667px,22px);font-size:clamp(11.7px,.240741vw + 10.8333px,14.3px);animation:.2s tooltipPopIn;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 12px 40px #0006}.badge-tooltip-mobile strong{font-size:clamp(14.4px,.296296vw + 13.3333px,17.6px);font-weight:700}.badge-tooltip-mobile span{opacity:.8;line-height:1.4}.badge-tooltip-mobile .badge-tier{text-transform:uppercase;opacity:1;margin-top:clamp(3.6px,.0740741vw + 3.33333px,4.4px);font-size:clamp(9.9px,.203704vw + 9.16667px,12.1px);font-weight:700}@keyframes tooltipPopIn{0%{opacity:0;transform:translate(-50%,-50%)scale(.9)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.badge-tooltip-backdrop{z-index:999998;background:#0000004d;position:fixed;inset:0}.badge-empty{color:var(--color-textPrimary);flex-direction:column;grid-column:1/-1;align-items:center;gap:clamp(7.2px,.148148vw + 6.66667px,8.8px);padding:clamp(18px,.37037vw + 16.6667px,22px);display:flex}.badge-empty .empty-icon{opacity:.4;font-size:clamp(28.8px,.592593vw + 26.6667px,35.2px)}.badge-empty p{opacity:.6;text-align:center;margin:0;font-size:clamp(10.8px,.222222vw + 10px,13.2px);line-height:1.4}.next-badge{background:color-mix(in srgb,var(--color-primary)10%,transparent);border-radius:clamp(10.8px,.222222vw + 10px,13.2px);margin-bottom:clamp(10.8px,.222222vw + 10px,13.2px);padding:clamp(10.8px,.222222vw + 10px,13.2px)}.next-badge-header{justify-content:space-between;align-items:center;margin-bottom:clamp(7.2px,.148148vw + 6.66667px,8.8px);display:flex}.next-badge-label{color:var(--color-textPrimary);opacity:.6;font-size:clamp(9.9px,.203704vw + 9.16667px,12.1px)}.next-badge-name{color:var(--color-textPrimary);align-items:center;gap:clamp(5.4px,.111111vw + 5px,6.6px);font-size:clamp(10.8px,.222222vw + 10px,13.2px);font-weight:600;display:flex}.next-badge-name svg{color:var(--color-primary)}.next-badge-progress{background:var(--color-border);border-radius:clamp(2.7px,.0555556vw + 2.5px,3.3px);height:clamp(5.4px,.111111vw + 5px,6.6px);margin-bottom:clamp(5.4px,.111111vw + 5px,6.6px);overflow:hidden}.next-badge-progress-fill{background:var(--color-primary);border-radius:clamp(2.7px,.0555556vw + 2.5px,3.3px);height:100%;transition:width .3s}.next-badge-stats{color:var(--color-textPrimary);opacity:.6;text-align:right;font-size:clamp(9px,.185185vw + 8.33333px,11px);display:block}.view-all-badges{border:1px solid var(--color-border);width:100%;color:var(--color-textPrimary);opacity:.7;cursor:pointer;background:0 0;border-radius:clamp(7.2px,.148148vw + 6.66667px,8.8px);justify-content:center;align-items:center;gap:clamp(7.2px,.148148vw + 6.66667px,8.8px);padding:clamp(9px,.185185vw + 8.33333px,11px);font-size:clamp(10.8px,.222222vw + 10px,13.2px);font-weight:600;transition:all .2s;display:flex}.view-all-badges:hover{opacity:1;background:var(--color-border)}.view-all-badges svg{font-size:clamp(9px,.185185vw + 8.33333px,11px)}.badge-collection-overlay{z-index:99999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000c;justify-content:center;align-items:center;padding:clamp(18px,.37037vw + 16.6667px,22px);display:flex;position:fixed;inset:0}.widget-popup-overlay{z-index:99999;background:#0009;justify-content:center;align-items:center;padding:clamp(14.4px,.296296vw + 13.3333px,17.6px);display:flex;position:fixed;inset:0}.widget-popup{background:var(--color-background);border:1px solid var(--color-border);border-radius:clamp(14.4px,.296296vw + 13.3333px,17.6px);width:100%;max-width:clamp(324px,6.66667vw + 300px,396px);max-height:85vh;padding:clamp(43.2px,.888889vw + 40px,52.8px) clamp(18px,.37037vw + 16.6667px,22px) clamp(18px,.37037vw + 16.6667px,22px);position:relative;overflow:visible;box-shadow:0 20px 40px #0000004d}.widget-popup .widget-header{color:var(--color-textPrimary)}.widget-popup-close{background:var(--color-border);width:clamp(28.8px,.592593vw + 26.6667px,35.2px);height:clamp(28.8px,.592593vw + 26.6667px,35.2px);color:var(--color-textPrimary);cursor:pointer;z-index:1;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:clamp(12.6px,.259259vw + 11.6667px,15.4px);transition:all .2s;display:flex;position:absolute;top:clamp(10.8px,.222222vw + 10px,13.2px);right:clamp(10.8px,.222222vw + 10px,13.2px)}.widget-popup-close:hover{background:var(--color-primary);color:#fff}.badge-collection{background:var(--color-background);border-radius:clamp(14.4px,.296296vw + 13.3333px,17.6px);flex-direction:column;width:100%;max-width:clamp(720px,14.8148vw + 666.667px,880px);max-height:90vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #0006}.badge-collection-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:clamp(18px,.37037vw + 16.6667px,22px) clamp(21.6px,.444444vw + 20px,26.4px);display:flex}.badge-collection-header h2{color:var(--color-textPrimary);align-items:center;gap:clamp(9px,.185185vw + 8.33333px,11px);margin:0;font-size:clamp(18px,.37037vw + 16.6667px,22px);font-weight:700;display:flex}.badge-collection-header h2 svg{color:var(--color-primary)}.badge-collection-header .close-btn{background:var(--color-border);width:clamp(32.4px,.666667vw + 30px,39.6px);height:clamp(32.4px,.666667vw + 30px,39.6px);color:var(--color-textPrimary);cursor:pointer;border:none;border-radius:50%;font-size:clamp(18px,.37037vw + 16.6667px,22px);transition:all .2s}.badge-collection-header .close-btn:hover{background:var(--color-primary);color:#fff}.badge-collection-stats{background:color-mix(in srgb,var(--color-primary)5%,transparent);justify-content:center;gap:clamp(43.2px,.888889vw + 40px,52.8px);padding:clamp(18px,.37037vw + 16.6667px,22px);display:flex}.badge-collection-stats .stat{text-align:center}.badge-collection-stats .stat .stat-value{color:var(--color-primary);font-size:clamp(25.2px,.518519vw + 23.3333px,30.8px);font-weight:700;display:block}.badge-collection-stats .stat .stat-label{color:var(--color-textPrimary);opacity:.6;font-size:clamp(10.8px,.222222vw + 10px,13.2px)}.badge-collection-content{flex:1;padding:clamp(21.6px,.444444vw + 20px,26.4px);overflow-y:auto}.badge-category{margin-bottom:clamp(28.8px,.592593vw + 26.6667px,35.2px)}.badge-category:last-child{margin-bottom:0}.badge-category h3{color:var(--color-textPrimary);opacity:.7;text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid var(--color-border);margin:0 0 clamp(14.4px,.296296vw + 13.3333px,17.6px);padding-bottom:clamp(7.2px,.148148vw + 6.66667px,8.8px);font-size:clamp(12.6px,.259259vw + 11.6667px,15.4px);font-weight:700}.badge-category-grid{grid-template-columns:repeat(auto-fill,minmax(clamp(198px,4.07407vw + 183.333px,242px),1fr));gap:clamp(14.4px,.296296vw + 13.3333px,17.6px);display:grid}@media (max-width:767px){.badge-category-grid{grid-template-columns:1fr}}.badge-card{background:var(--color-background);border:1px solid var(--color-border);border-radius:clamp(10.8px,.222222vw + 10px,13.2px);gap:clamp(10.8px,.222222vw + 10px,13.2px);padding:clamp(14.4px,.296296vw + 13.3333px,17.6px);transition:all .2s;display:flex}.badge-card.unlocked{border-color:var(--tier-color);background:linear-gradient(135deg,color-mix(in srgb,var(--tier-color)10%,var(--color-background)),var(--color-background))}.badge-card.locked{opacity:.6}.badge-card.locked .badge-card-icon{filter:grayscale()}.badge-card-icon{background:var(--color-border);width:clamp(43.2px,.888889vw + 40px,52.8px);height:clamp(43.2px,.888889vw + 40px,52.8px);color:var(--color-textPrimary);border-radius:clamp(10.8px,.222222vw + 10px,13.2px);flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.badge-card-icon svg{font-size:clamp(21.6px,.444444vw + 20px,26.4px)}.badge-card-icon .badge-lock{color:var(--color-textPrimary);opacity:.5;background:var(--color-background);border-radius:50%;padding:clamp(1.8px,.037037vw + 1.66667px,2.2px);font-size:clamp(10.8px,.222222vw + 10px,13.2px);position:absolute;bottom:clamp(-3.6px,-.0740741vw - 3.33333px,-4.4px);right:clamp(-3.6px,-.0740741vw - 3.33333px,-4.4px)}.unlocked .badge-card-icon{background:color-mix(in srgb,var(--tier-color)20%,transparent);color:var(--tier-color)}.badge-card-info{flex:1;min-width:0}.badge-card-info h4{color:var(--color-textPrimary);margin:0 0 clamp(3.6px,.0740741vw + 3.33333px,4.4px);font-size:clamp(12.6px,.259259vw + 11.6667px,15.4px);font-weight:700}.badge-card-info p{color:var(--color-textPrimary);opacity:.7;margin:0 0 clamp(5.4px,.111111vw + 5px,6.6px);font-size:clamp(10.8px,.222222vw + 10px,13.2px);line-height:1.4}.badge-card-info .badge-tier-label{text-transform:uppercase;letter-spacing:.5px;font-size:clamp(9px,.185185vw + 8.33333px,11px);font-weight:700}.badge-card-progress{background:var(--color-border);border-radius:clamp(1.8px,.037037vw + 1.66667px,2.2px);height:clamp(3.6px,.0740741vw + 3.33333px,4.4px);margin-top:clamp(7.2px,.148148vw + 6.66667px,8.8px);position:relative;overflow:hidden}.badge-card-progress .badge-card-progress-fill{background:var(--color-primary);border-radius:clamp(1.8px,.037037vw + 1.66667px,2.2px);height:100%}.badge-card-progress span{color:var(--color-textPrimary);opacity:.6;font-size:clamp(9px,.185185vw + 8.33333px,11px);position:absolute;top:clamp(-14.4px,-.296296vw - 13.3333px,-17.6px);right:0}.badge-popup .badge-grid{margin-bottom:clamp(14.4px,.296296vw + 13.3333px,17.6px)}.badge-popup .badge-item{overflow:visible}.streak-widget{position:relative;overflow:visible}.streak-widget.at-risk{border-color:#f59e0b}.streak-widget.at-risk:before{content:"";background:linear-gradient(90deg,#f59e0b,#fbbf24);border-radius:clamp(14.4px,.296296vw + 13.3333px,17.6px) clamp(14.4px,.296296vw + 13.3333px,17.6px) 0 0;height:3px;position:absolute;top:0;left:0;right:0}.streak-header{align-items:center;gap:clamp(10.8px,.222222vw + 10px,13.2px);margin-bottom:clamp(14.4px,.296296vw + 13.3333px,17.6px);display:flex}.streak-icon-container{position:relative}.streak-icon-container .streak-icon{color:var(--color-border);font-size:clamp(25.2px,.518519vw + 23.3333px,30.8px);transition:all .3s}.streak-icon-container .streak-icon.active{color:#f97316;filter:drop-shadow(0 0 8px #f9731680);animation:1.5s ease-in-out infinite flicker}.streak-icon-container .risk-indicator{color:#f59e0b;font-size:clamp(10.8px,.222222vw + 10px,13.2px);animation:1s ease-in-out infinite pulse;position:absolute;top:clamp(-3.6px,-.0740741vw - 3.33333px,-4.4px);right:clamp(-7.2px,-.148148vw - 6.66667px,-8.8px)}@keyframes flicker{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.streak-info{flex-direction:column;display:flex}.streak-info .streak-count{color:var(--color-textPrimary);font-size:clamp(25.2px,.518519vw + 23.3333px,30.8px);font-weight:800;line-height:1}.streak-info .streak-label{color:var(--color-textPrimary);opacity:.6;text-transform:uppercase;letter-spacing:.5px;font-size:clamp(9.9px,.203704vw + 9.16667px,12.1px)}.best-streak{color:var(--color-textPrimary);opacity:.7;background:var(--color-border);border-radius:clamp(10.8px,.222222vw + 10px,13.2px);align-items:center;gap:clamp(3.6px,.0740741vw + 3.33333px,4.4px);margin-left:auto;padding:clamp(3.6px,.0740741vw + 3.33333px,4.4px) clamp(7.2px,.148148vw + 6.66667px,8.8px);font-size:clamp(9.9px,.203704vw + 9.16667px,12.1px);display:flex}.best-streak .best-icon{color:#fbbf24;font-size:clamp(9px,.185185vw + 8.33333px,11px)}.streak-message{background:var(--color-border);border-radius:clamp(9px,.185185vw + 8.33333px,11px);align-items:center;gap:clamp(9px,.185185vw + 8.33333px,11px);margin-bottom:clamp(14.4px,.296296vw + 13.3333px,17.6px);padding:clamp(10.8px,.222222vw + 10px,13.2px);display:flex}.streak-message.warning{background:#f59e0b26;border:1px solid #f59e0b4d}.streak-message.success{background:#22c55e26;border:1px solid #22c55e4d}.streak-message .message-icon{font-size:clamp(18px,.37037vw + 16.6667px,22px)}.streak-message .message-content{flex-direction:column;gap:clamp(1.8px,.037037vw + 1.66667px,2.2px);display:flex}.streak-message .message-content strong{color:var(--color-textPrimary);font-size:clamp(11.7px,.240741vw + 10.8333px,14.3px)}.streak-message .message-content span{color:var(--color-textPrimary);opacity:.7;font-size:clamp(9.9px,.203704vw + 9.16667px,12.1px)}.streak-calendar{margin-bottom:clamp(10.8px,.222222vw + 10px,13.2px);overflow:hidden}.calendar-header{color:var(--color-textPrimary);opacity:.6;align-items:center;gap:clamp(5.4px,.111111vw + 5px,6.6px);margin-bottom:clamp(7.2px,.148148vw + 6.66667px,8.8px);font-size:clamp(9px,.185185vw + 8.33333px,11px);display:flex}.calendar-header svg{font-size:clamp(9.9px,.203704vw + 9.16667px,12.1px)}.calendar-days{justify-content:space-between;gap:clamp(1.8px,.037037vw + 1.66667px,2.2px);display:flex}.calendar-day{background:var(--color-border);border-radius:clamp(5.4px,.111111vw + 5px,6.6px);flex-direction:column;flex:1;align-items:center;gap:clamp(3.6px,.0740741vw + 3.33333px,4.4px);min-width:0;padding:clamp(5.4px,.111111vw + 5px,6.6px) clamp(1.8px,.037037vw + 1.66667px,2.2px);transition:all .2s;display:flex}.calendar-day.today{background:color-mix(in srgb,var(--color-primary)20%,transparent);border:1px solid var(--color-primary)}.calendar-day.active{background:#f9731633}.calendar-day .day-label{color:var(--color-textPrimary);opacity:.6;font-size:clamp(8.1px,.166667vw + 7.5px,9.9px);font-weight:600}.calendar-day .day-indicator{justify-content:center;align-items:center;height:clamp(14.4px,.296296vw + 13.3333px,17.6px);font-size:clamp(10.8px,.222222vw + 10px,13.2px);display:flex}.calendar-day .day-indicator .empty-dot{background:var(--color-textPrimary);opacity:.2;border-radius:50%;width:clamp(5.4px,.111111vw + 5px,6.6px);height:clamp(5.4px,.111111vw + 5px,6.6px)}.streak-milestone{background:color-mix(in srgb,var(--color-primary)10%,transparent);border-radius:clamp(9px,.185185vw + 8.33333px,11px);margin-bottom:clamp(10.8px,.222222vw + 10px,13.2px);padding:clamp(10.8px,.222222vw + 10px,13.2px)}.milestone-header{align-items:center;gap:clamp(7.2px,.148148vw + 6.66667px,8.8px);margin-bottom:clamp(7.2px,.148148vw + 6.66667px,8.8px);display:flex}.milestone-header .milestone-icon{font-size:clamp(14.4px,.296296vw + 13.3333px,17.6px)}.milestone-header .milestone-name{color:var(--color-textPrimary);font-size:clamp(10.8px,.222222vw + 10px,13.2px);font-weight:600}.milestone-header .milestone-days{color:var(--color-textPrimary);opacity:.6;margin-left:auto;font-size:clamp(9.9px,.203704vw + 9.16667px,12.1px)}.milestone-progress{background:var(--color-border);border-radius:clamp(2.7px,.0555556vw + 2.5px,3.3px);height:clamp(5.4px,.111111vw + 5px,6.6px);overflow:hidden}.milestone-progress-fill{background:linear-gradient(90deg,#f97316,#fbbf24);border-radius:clamp(2.7px,.0555556vw + 2.5px,3.3px);height:100%;transition:width .5s}.current-milestone{background:linear-gradient(135deg,#fbbf24 0%,#f97316 100%);border-radius:clamp(7.2px,.148148vw + 6.66667px,8.8px);justify-content:center;align-items:center;gap:clamp(7.2px,.148148vw + 6.66667px,8.8px);margin-bottom:clamp(10.8px,.222222vw + 10px,13.2px);padding:clamp(7.2px,.148148vw + 6.66667px,8.8px);display:flex}.current-milestone .current-milestone-icon{font-size:clamp(14.4px,.296296vw + 13.3333px,17.6px)}.current-milestone .current-milestone-name{color:#fff;text-shadow:0 1px 2px #0003;font-size:clamp(10.8px,.222222vw + 10px,13.2px);font-weight:700}.streak-stats{border-top:1px solid var(--color-border);justify-content:center;gap:clamp(28.8px,.592593vw + 26.6667px,35.2px);padding-top:clamp(10.8px,.222222vw + 10px,13.2px);display:flex}.streak-stat{flex-direction:column;align-items:center;gap:clamp(1.8px,.037037vw + 1.66667px,2.2px);display:flex}.streak-stat .stat-value{color:var(--color-textPrimary);font-size:clamp(16.2px,.333333vw + 15px,19.8px);font-weight:700}.streak-stat .stat-label{color:var(--color-textPrimary);opacity:.6;font-size:clamp(9px,.185185vw + 8.33333px,11px)}.streak-details-overlay{z-index:1000;background:#000c;justify-content:center;align-items:center;padding:clamp(18px,.37037vw + 16.6667px,22px);display:flex;position:fixed;inset:0}.streak-details{background:var(--color-background);border-radius:clamp(14.4px,.296296vw + 13.3333px,17.6px);flex-direction:column;width:100%;max-width:clamp(450px,9.25926vw + 416.667px,550px);max-height:90vh;display:flex;overflow:hidden}.streak-details-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:clamp(18px,.37037vw + 16.6667px,22px) clamp(21.6px,.444444vw + 20px,26.4px);display:flex}.streak-details-header h2{color:var(--color-textPrimary);align-items:center;gap:clamp(9px,.185185vw + 8.33333px,11px);margin:0;font-size:clamp(18px,.37037vw + 16.6667px,22px);font-weight:700;display:flex}.streak-details-header h2 svg{color:#f97316}.streak-details-header .close-btn{background:var(--color-border);width:clamp(32.4px,.666667vw + 30px,39.6px);height:clamp(32.4px,.666667vw + 30px,39.6px);color:var(--color-textPrimary);cursor:pointer;border:none;border-radius:50%;font-size:clamp(18px,.37037vw + 16.6667px,22px);transition:all .2s}.streak-details-header .close-btn:hover{background:var(--color-primary);color:var(--color-textSecondary)}.streak-details-hero{text-align:center;background:linear-gradient(135deg,#f97316 0%,#fbbf24 100%);padding:clamp(28.8px,.592593vw + 26.6667px,35.2px)}.streak-details-hero .hero-streak{flex-direction:column;align-items:center;gap:clamp(7.2px,.148148vw + 6.66667px,8.8px);display:flex}.streak-details-hero .hero-streak .hero-icon{color:#fff;filter:drop-shadow(0 4px 8px #0003);font-size:clamp(43.2px,.888889vw + 40px,52.8px)}.streak-details-hero .hero-streak .hero-count{color:#fff;text-shadow:0 2px 4px #0003;font-size:clamp(57.6px,1.18519vw + 53.3333px,70.4px);font-weight:800;line-height:1}.streak-details-hero .hero-streak .hero-label{color:#ffffffe6;text-transform:uppercase;letter-spacing:2px;font-size:clamp(12.6px,.259259vw + 11.6667px,15.4px)}.streak-details-stats{border-bottom:1px solid var(--color-border);justify-content:center;gap:clamp(43.2px,.888889vw + 40px,52.8px);padding:clamp(21.6px,.444444vw + 20px,26.4px);display:flex}.streak-details-stats .detail-stat{flex-direction:column;align-items:center;gap:clamp(3.6px,.0740741vw + 3.33333px,4.4px);display:flex}.streak-details-stats .detail-stat svg{color:var(--color-primary);margin-bottom:clamp(3.6px,.0740741vw + 3.33333px,4.4px);font-size:clamp(18px,.37037vw + 16.6667px,22px)}.streak-details-stats .detail-stat .stat-value{color:var(--color-textPrimary);font-size:clamp(21.6px,.444444vw + 20px,26.4px);font-weight:700}.streak-details-stats .detail-stat .stat-label{color:var(--color-textPrimary);opacity:.6;font-size:clamp(9.9px,.203704vw + 9.16667px,12.1px)}.streak-details-calendar{border-bottom:1px solid var(--color-border);padding:clamp(21.6px,.444444vw + 20px,26.4px)}.streak-details-calendar h3{color:var(--color-textPrimary);margin:0 0 clamp(14.4px,.296296vw + 13.3333px,17.6px);font-size:clamp(12.6px,.259259vw + 11.6667px,15.4px);font-weight:600}.streak-details-calendar .month-grid{grid-template-columns:repeat(7,1fr);gap:clamp(5.4px,.111111vw + 5px,6.6px);display:grid}.streak-details-calendar .month-grid .month-day{aspect-ratio:1;background:var(--color-border);border-radius:clamp(5.4px,.111111vw + 5px,6.6px);justify-content:center;align-items:center;font-size:clamp(10.8px,.222222vw + 10px,13.2px);display:flex}.streak-details-calendar .month-grid .month-day.active{background:#f973164d}.streak-details-calendar .month-grid .month-day.today{border:2px solid var(--color-primary)}.streak-details-milestones{padding:clamp(21.6px,.444444vw + 20px,26.4px);overflow-y:auto}.streak-details-milestones h3{color:var(--color-textPrimary);margin:0 0 clamp(14.4px,.296296vw + 13.3333px,17.6px);font-size:clamp(12.6px,.259259vw + 11.6667px,15.4px);font-weight:600}.streak-details-milestones .milestones-list{flex-direction:column;gap:clamp(7.2px,.148148vw + 6.66667px,8.8px);display:flex}.streak-details-milestones .milestone-item{background:var(--color-border);opacity:.5;border-radius:clamp(7.2px,.148148vw + 6.66667px,8.8px);align-items:center;gap:clamp(10.8px,.222222vw + 10px,13.2px);padding:clamp(10.8px,.222222vw + 10px,13.2px);display:flex}.streak-details-milestones .milestone-item.achieved{opacity:1;background:#22c55e26;border:1px solid #22c55e4d}.streak-details-milestones .milestone-item .milestone-icon{font-size:clamp(18px,.37037vw + 16.6667px,22px)}.streak-details-milestones .milestone-item .milestone-title{color:var(--color-textPrimary);font-size:clamp(12.6px,.259259vw + 11.6667px,15.4px);font-weight:600}.streak-details-milestones .milestone-item .milestone-check{color:#22c55e;margin-left:auto;font-weight:700}.streak-details-milestones .milestone-item .milestone-remaining{color:var(--color-textPrimary);opacity:.6;margin-left:auto;font-size:clamp(10.8px,.222222vw + 10px,13.2px)}.stats-widget{text-align:center}.widget-tabs{background:var(--color-border);border-radius:clamp(14.4px,.296296vw + 13.3333px,17.6px);margin-bottom:clamp(14.4px,.296296vw + 13.3333px,17.6px);padding:clamp(2.7px,.0555556vw + 2.5px,3.3px);display:flex;position:relative}.widget-tab{color:var(--color-textPrimary);opacity:.6;cursor:pointer;z-index:1;background:0 0;border:none;border-radius:clamp(12.6px,.259259vw + 11.6667px,15.4px);flex:1;padding:clamp(5.4px,.111111vw + 5px,6.6px) clamp(9px,.185185vw + 8.33333px,11px);font-size:clamp(9.9px,.203704vw + 9.16667px,12.1px);font-weight:600;transition:opacity .2s;position:relative}.widget-tab.active{opacity:1}.widget-tab:hover:not(.active){opacity:.8}.tab-indicator{background:var(--color-background);border-radius:clamp(12.6px,.259259vw + 11.6667px,15.4px);width:calc(50% + -1*clamp(2.7px,.0555556vw + 2.5px,3.3px));transition:transform .25s;position:absolute;top:clamp(2.7px,.0555556vw + 2.5px,3.3px);bottom:clamp(2.7px,.0555556vw + 2.5px,3.3px);box-shadow:0 1px 3px #0000001a}.tab-indicator.left{left:clamp(2.7px,.0555556vw + 2.5px,3.3px);transform:translate(0)}.tab-indicator.right{left:clamp(2.7px,.0555556vw + 2.5px,3.3px);transform:translate(100%)}.widget-content{animation:.2s statsFadeIn}@keyframes statsFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.progress-content{flex-direction:column;gap:clamp(14.4px,.296296vw + 13.3333px,17.6px);display:flex}.progress-main{justify-content:center;align-items:center;gap:clamp(18px,.37037vw + 16.6667px,22px);display:flex}.progress-circle{flex-shrink:0;width:clamp(81px,1.66667vw + 75px,99px);height:clamp(81px,1.66667vw + 75px,99px);position:relative}.progress-circle svg{width:100%;height:100%;transform:rotate(-90deg)}.progress-bg{fill:none;stroke:var(--color-border);stroke-width:8px}.progress-ring{fill:none;stroke:var(--color-primary);stroke-width:8px;stroke-linecap:round;transition:stroke-dasharray .5s}.progress-percent{color:var(--color-primary);font-size:clamp(18px,.37037vw + 16.6667px,22px);font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.progress-stats{flex-direction:column;gap:clamp(7.2px,.148148vw + 6.66667px,8.8px);display:flex}.progress-stats.single-stat .progress-stat .stat-value{font-size:clamp(25.2px,.518519vw + 23.3333px,30.8px)}.progress-stats.single-stat .progress-stat .stat-label{font-size:clamp(11.7px,.240741vw + 10.8333px,14.3px)}.progress-stat{align-items:baseline;gap:clamp(5.4px,.111111vw + 5px,6.6px);display:flex}.progress-stat .stat-value{color:var(--color-textPrimary);font-size:clamp(18px,.37037vw + 16.6667px,22px);font-weight:700}.progress-stat .stat-label{color:var(--color-textPrimary);opacity:.6;font-size:clamp(10.8px,.222222vw + 10px,13.2px)}.time-estimate-section{border-top:1px solid var(--color-border);flex-direction:column;gap:clamp(7.2px,.148148vw + 6.66667px,8.8px);padding-top:clamp(10.8px,.222222vw + 10px,13.2px);display:flex}.time-estimate-row{justify-content:space-between;align-items:center;gap:clamp(10.8px,.222222vw + 10px,13.2px);display:flex}.time-estimate-value{align-items:baseline;gap:clamp(5.4px,.111111vw + 5px,6.6px);display:flex}.time-estimate-value .time-remaining{color:var(--color-primary);font-size:clamp(16.2px,.333333vw + 15px,19.8px);font-weight:700}.time-estimate-value .time-label{color:var(--color-textPrimary);opacity:.6;font-size:clamp(10.8px,.222222vw + 10px,13.2px)}.wpm-estimate{color:var(--color-textPrimary);opacity:.6;align-items:center;gap:clamp(5.4px,.111111vw + 5px,6.6px);font-size:clamp(9.9px,.203704vw + 9.16667px,12.1px);display:flex}.wpm-estimate .wpm-value{color:var(--color-textPrimary);opacity:.8;font-weight:600}.wpm-slider-container{align-items:center;gap:clamp(7.2px,.148148vw + 6.66667px,8.8px);width:100%;display:flex}.wpm-slider{appearance:none;background:var(--color-border);cursor:pointer;border-radius:clamp(2.7px,.0555556vw + 2.5px,3.3px);outline:none;flex:1;height:clamp(5.4px,.111111vw + 5px,6.6px)}.wpm-slider::-webkit-slider-thumb{appearance:none;background:var(--color-primary);cursor:pointer;border-radius:50%;width:clamp(14.4px,.296296vw + 13.3333px,17.6px);height:clamp(14.4px,.296296vw + 13.3333px,17.6px);transition:transform .15s}.wpm-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.wpm-slider::-moz-range-thumb{background:var(--color-primary);cursor:pointer;border:none;border-radius:50%;width:clamp(14.4px,.296296vw + 13.3333px,17.6px);height:clamp(14.4px,.296296vw + 13.3333px,17.6px);transition:transform .15s}.wpm-slider::-moz-range-thumb:hover{transform:scale(1.2)}.accuracy-content{flex-direction:column;gap:clamp(14.4px,.296296vw + 13.3333px,17.6px);display:flex}.accuracy-main{flex:1;justify-content:center;align-items:center;gap:clamp(21.6px,.444444vw + 20px,26.4px);display:flex}.accuracy-display{flex-direction:column;justify-content:center;align-items:center;display:flex}.accuracy-value{color:var(--color-primary);font-size:clamp(32.4px,.666667vw + 30px,39.6px);font-weight:700;line-height:1}.accuracy-trend{white-space:nowrap;border-radius:clamp(9px,.185185vw + 8.33333px,11px);margin-top:clamp(5.4px,.111111vw + 5px,6.6px);padding:clamp(3.6px,.0740741vw + 3.33333px,4.4px) clamp(9px,.185185vw + 8.33333px,11px);font-size:clamp(9px,.185185vw + 8.33333px,11px);font-weight:600}.accuracy-trend.up{color:#16a34a;background:#22c55e26}.accuracy-trend.down{color:#dc2626;background:#ef444426}.accuracy-trend.neutral{color:var(--color-textPrimary);opacity:.7;background:var(--color-border)}.accuracy-chart-section{flex-direction:column;align-items:center;gap:clamp(5.4px,.111111vw + 5px,6.6px);display:flex}.accuracy-chart{justify-content:center;align-items:flex-end;gap:clamp(7.2px,.148148vw + 6.66667px,8.8px);height:clamp(54px,1.11111vw + 50px,66px);padding-top:clamp(14.4px,.296296vw + 13.3333px,17.6px);display:flex}.accuracy-bar{background:var(--color-primary);opacity:.85;border-radius:clamp(3.6px,.0740741vw + 3.33333px,4.4px) clamp(3.6px,.0740741vw + 3.33333px,4.4px) clamp(1.8px,.037037vw + 1.66667px,2.2px) clamp(1.8px,.037037vw + 1.66667px,2.2px);width:clamp(18px,.37037vw + 16.6667px,22px);min-height:clamp(7.2px,.148148vw + 6.66667px,8.8px);transition:all .2s;position:relative}.accuracy-bar:hover{opacity:1;transform-origin:bottom;transform:scaleY(1.05)}.accuracy-bar[data-score="100"]{background:linear-gradient(#22c55e,#16a34a)}.accuracy-bar-value{color:var(--color-textPrimary);opacity:.7;font-size:clamp(8.1px,.166667vw + 7.5px,9.9px);font-weight:600;position:absolute;top:clamp(-14.4px,-.296296vw - 13.3333px,-17.6px);left:50%;transform:translate(-50%)}.accuracy-label{color:var(--color-textPrimary);opacity:.5;text-align:center;font-size:clamp(9px,.185185vw + 8.33333px,11px)}.accuracy-empty{color:var(--color-textPrimary);flex-direction:column;justify-content:center;align-items:center;gap:clamp(7.2px,.148148vw + 6.66667px,8.8px);padding:clamp(21.6px,.444444vw + 20px,26.4px) clamp(14.4px,.296296vw + 13.3333px,17.6px);display:flex}.accuracy-empty .empty-icon{opacity:.3;font-size:clamp(25.2px,.518519vw + 23.3333px,30.8px)}.accuracy-empty span{opacity:.6;text-align:center;font-size:clamp(11.7px,.240741vw + 10.8333px,14.3px)}.stats-widget-compact{cursor:pointer;justify-content:center;align-items:center;height:clamp(57.6px,1.18519vw + 53.3333px,70.4px);padding:clamp(7.2px,.148148vw + 6.66667px,8.8px);transition:transform .2s,box-shadow .2s;display:flex}.stats-widget-compact:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stats-widget-compact:active{transform:translateY(0)}.stats-widget-compact .compact-progress-circle{width:clamp(39.6px,.814815vw + 36.6667px,48.4px);height:clamp(39.6px,.814815vw + 36.6667px,48.4px);position:relative}.stats-widget-compact .compact-progress-circle svg{width:100%;height:100%;transform:rotate(-90deg)}.stats-widget-compact .compact-progress-circle .compact-progress-bg{fill:none;stroke:var(--color-border);stroke-width:3px}.stats-widget-compact .compact-progress-circle .compact-progress-fill{fill:none;stroke:var(--color-primary);stroke-width:3px;stroke-linecap:round}.stats-widget-compact .compact-progress-circle .compact-progress-text{color:var(--color-primary);font-size:clamp(9.9px,.203704vw + 9.16667px,12.1px);font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.stats-popup .widget-tabs{margin-bottom:clamp(14.4px,.296296vw + 13.3333px,17.6px)}.stats-popup .widget-content{min-height:clamp(144px,2.96296vw + 133.333px,176px)}.sidebar{background:var(--color-background);border-right:1px solid var(--color-border);z-index:300;flex-direction:column;height:100vh;display:flex;position:fixed;top:0;left:0;overflow:hidden}@media (max-width:767px){.sidebar{border-right:none;width:0;padding-top:clamp(54px,1.11111vw + 50px,66px)}}@media (min-width:768px){.sidebar.collapsed{width:clamp(64.8px,1.33333vw + 60px,79.2px)}.sidebar.expanded{width:clamp(234px,4.81481vw + 216.667px,286px)}}.sidebar,.sidebar-toggle,.sidebar-item,.sidebar-user,.app-container{transition:width .3s cubic-bezier(.4,0,.2,1)}.sidebar-item span,.sidebar-toggle span,.sidebar-user-details{transition:opacity .3s cubic-bezier(.4,0,.2,1)}.sidebar-toggle{color:var(--color-textPrimary);cursor:pointer;text-align:left;border:none;border-bottom:1px solid var(--color-border);background:0 0;align-items:center;gap:clamp(10.8px,.222222vw + 10px,13.2px);width:100%;padding:clamp(16.2px,.333333vw + 15px,19.8px) clamp(21.6px,.444444vw + 20px,26.4px);font-size:clamp(12.6px,.259259vw + 11.6667px,15.4px);font-weight:600;display:flex}.sidebar-toggle:hover{background:var(--color-border)}@media (max-width:767px){.sidebar-toggle{display:none}}.sidebar-toggle-icon{flex-shrink:0;width:clamp(21.6px,.444444vw + 20px,26.4px);font-size:clamp(18px,.37037vw + 16.6667px,22px)}.sidebar-toggle span{opacity:1;white-space:nowrap}@media (min-width:768px){.sidebar.collapsed .sidebar-toggle span{opacity:0}}.sidebar-user{border-bottom:1px solid var(--color-border);align-items:center;gap:clamp(10.8px,.222222vw + 10px,13.2px);padding:clamp(16.2px,.333333vw + 15px,19.8px) clamp(21.6px,.444444vw + 20px,26.4px);display:flex}@media (max-width:767px){.sidebar-user{padding:clamp(18px,.37037vw + 16.6667px,22px) clamp(14.4px,.296296vw + 13.3333px,17.6px)}}.sidebar-avatar{aspect-ratio:1;object-fit:cover;border-radius:9999px;flex-shrink:0;width:clamp(32.4px,.666667vw + 30px,39.6px);height:auto;transition:width .3s cubic-bezier(.4,0,.2,1)}.sidebar-avatar-placeholder{aspect-ratio:1;background:var(--color-border);width:clamp(32.4px,.666667vw + 30px,39.6px);height:auto;color:var(--color-textPrimary);border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;transition:width .3s cubic-bezier(.4,0,.2,1);display:flex}.sidebar-user-details{opacity:1;white-space:nowrap;overflow:hidden}@media (min-width:768px){.sidebar.collapsed .sidebar-user-details{opacity:0}}.sidebar-user-name{color:var(--color-textPrimary);text-overflow:ellipsis;font-size:clamp(12.6px,.259259vw + 11.6667px,15.4px);font-weight:600;overflow:hidden}.sidebar-user-email{color:var(--color-textPrimary);text-overflow:ellipsis;font-size:clamp(10.8px,.222222vw + 10px,13.2px);overflow:hidden}.sidebar-nav{flex-direction:column;flex:1;gap:clamp(3.6px,.0740741vw + 3.33333px,4.4px);padding:clamp(10.8px,.222222vw + 10px,13.2px);display:flex}@media (max-width:767px){.sidebar-nav{padding:clamp(14.4px,.296296vw + 13.3333px,17.6px)}}.sidebar-item{color:var(--color-textPrimary);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:8px;align-items:center;gap:clamp(10.8px,.222222vw + 10px,13.2px);width:100%;padding:clamp(12.6px,.259259vw + 11.6667px,15.4px) clamp(10.8px,.222222vw + 10px,13.2px);font-size:clamp(12.6px,.259259vw + 11.6667px,15.4px);display:flex;overflow:hidden}.sidebar-item:hover{background:var(--color-border)}@media (max-width:767px){.sidebar-item{padding:clamp(14.4px,.296296vw + 13.3333px,17.6px);font-size:clamp(14.4px,.296296vw + 13.3333px,17.6px)}}.sidebar-item-icon{flex-shrink:0;width:clamp(21.6px,.444444vw + 20px,26.4px);font-size:clamp(18px,.37037vw + 16.6667px,22px)}@media (max-width:767px){.sidebar-item-icon{font-size:clamp(19.8px,.407407vw + 18.3333px,24.2px)}}.sidebar-item span{opacity:1}@media (min-width:768px){.sidebar.collapsed .sidebar-item span{opacity:0}}.sidebar-item.sign-in{color:var(--color-primary)}.sidebar-item.sign-in:hover{background:var(--color-primary);color:var(--color-textSecondary)}.sidebar-item.admin-link,.sidebar-item.logout{color:var(--color-primary)}.sidebar-item.logout:hover{background:var(--color-border)}.sidebar-footer{border-top:1px solid var(--color-border);padding:clamp(10.8px,.222222vw + 10px,13.2px)}@media (min-width:768px){.app-container{margin-left:clamp(64.8px,1.33333vw + 60px,79.2px)}.app-container.sidebar-expanded{margin-left:clamp(234px,4.81481vw + 216.667px,286px)}}@media (max-width:767px){.app-container{margin-left:0}}@media (min-width:768px){.sidebar.collapsed .sidebar-item{position:relative}.sidebar.collapsed .sidebar-item:after{content:attr(title);background:var(--color-background);color:var(--color-textPrimary);border:1px solid var(--color-border);white-space:nowrap;opacity:0;pointer-events:none;z-index:700;border-radius:8px;margin-left:clamp(7.2px,.148148vw + 6.66667px,8.8px);padding:clamp(5.4px,.111111vw + 5px,6.6px) clamp(10.8px,.222222vw + 10px,13.2px);font-size:clamp(10.8px,.222222vw + 10px,13.2px);transition:opacity .15s;position:absolute;top:50%;left:100%;transform:translateY(-50%);box-shadow:0 4px 6px #0000001a}.sidebar.collapsed .sidebar-item:hover:after{opacity:1}}.sidebar-mobile-toggle{z-index:301;border:1px solid var(--color-border);background:var(--color-background);width:clamp(39.6px,.814815vw + 36.6667px,48.4px);height:clamp(39.6px,.814815vw + 36.6667px,48.4px);color:var(--color-textPrimary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;font-size:clamp(18px,.37037vw + 16.6667px,22px);display:none;position:fixed;top:clamp(14.4px,.296296vw + 13.3333px,17.6px);left:clamp(14.4px,.296296vw + 13.3333px,17.6px);box-shadow:0 4px 6px #0000001a}.sidebar-mobile-toggle:hover{background:var(--color-border)}@media (max-width:767px){.sidebar-mobile-toggle{display:flex}}.sidebar-backdrop{z-index:299;background:#00000080;display:none;position:fixed;inset:0}@media (max-width:767px){.sidebar-backdrop.visible{display:block}.sidebar.expanded{width:100%;max-width:100%}}html,body{color:#111;background:#fff;margin:0;padding:0;font-family:Inter,sans-serif}a{color:inherit;-webkit-text-decoration:underline #fc440f;text-decoration:underline #fc440f;text-decoration-thickness:1px}*{box-sizing:border-box}.body,.body--xs .body--s,.body--l,.body--xl{text-wrap:balance}
