@import"https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&display=swap";*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.flex{display:flex}.hidden{display:none}.border{border-width:1px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--primary: #FF4B4B;--primary-dark: #CC3333;--primary-light: #FF7070;--primary-shadow: #990000;--success: #58CC02;--success-dark: #46A302;--success-shadow: #2E6E00;--info: #1CB0F6;--info-dark: #0090D4;--warning: #FFC800;--warning-dark: #CC9F00;--surface: #F7F7F7;--surface-dark: #EBEBEB;--border: #E5E5E5;--text: #3C3C3C;--text-muted: #8A8A8A;--white: #FFFFFF;--gold: #FFD700}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{height:100%}body{font-family:Nunito,Segoe UI,system-ui,-apple-system,sans-serif;background:#f0f0f0;color:var(--text);min-height:100%;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{text-decoration:none;color:inherit}button{font-family:inherit}.app-root{max-width:480px;margin:0 auto;min-height:100vh;background:#fff;position:relative;box-shadow:0 0 40px #00000014}@keyframes pulse-ring{0%{box-shadow:0 6px 0 var(--primary-shadow),0 0 #ff4b4b80}60%{box-shadow:0 6px 0 var(--primary-shadow),0 0 0 14px #ff4b4b00}to{box-shadow:0 6px 0 var(--primary-shadow),0 0 #ff4b4b00}}@keyframes bounce-in{0%{transform:scale(0) rotate(-10deg);opacity:0}60%{transform:scale(1.15) rotate(3deg);opacity:1}80%{transform:scale(.95) rotate(-1deg)}to{transform:scale(1) rotate(0)}}@keyframes slide-up{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-10px)}40%{transform:translate(10px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}@keyframes confetti-fall{0%{transform:translateY(-20px) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@keyframes xp-pop{0%{transform:translateY(0) scale(0);opacity:0}30%{transform:translateY(-10px) scale(1.3);opacity:1}70%{transform:translateY(-30px) scale(1);opacity:1}to{transform:translateY(-60px) scale(.8);opacity:0}}@keyframes fire{0%,to{transform:scaleY(1) rotate(-2deg)}50%{transform:scaleY(1.1) rotate(2deg)}}@keyframes shimmer-bg{0%{background-position:-200% center}to{background-position:200% center}}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.top-bar{position:sticky;top:0;z-index:50;background:#fff;border-bottom:2px solid var(--border);padding:10px 16px;display:flex;align-items:center;gap:4px}.logo-mark{width:36px;height:36px;border-radius:10px;-o-object-fit:contain;object-fit:contain;margin-right:4px}.stat-pill{display:flex;align-items:center;gap:4px;font-size:15px;font-weight:800;padding:5px 10px;border-radius:20px;transition:transform .15s}.stat-pill:active{transform:scale(.9)}.stat-pill.streak{color:#f60}.stat-pill.hearts{color:#ff4b4b}.stat-pill.xp{color:#1cb0f6}.stat-pill.coins{color:#c80}.stat-icon{font-size:18px;line-height:1;display:inline-block}.stat-icon.fire{animation:fire .7s ease-in-out infinite}.top-bar-spacer{flex:1}.top-bar-login{font-size:13px;font-weight:800;color:var(--info);background:none;border:none;cursor:pointer;padding:6px 12px;border-radius:20px;transition:background .15s}.top-bar-login:hover{background:#e5f7fe}.top-bar-avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--primary),#FF9090);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:900;color:#fff;overflow:hidden;cursor:pointer;border:2px solid var(--border);flex-shrink:0}.top-bar-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;background:#fff;border-top:2px solid var(--border);display:flex;padding:6px 0 max(8px,env(safe-area-inset-bottom));z-index:50}.nav-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0;background:none;border:none;cursor:pointer;color:var(--text-muted);transition:color .15s;-webkit-tap-highlight-color:transparent}.nav-btn.active{color:var(--primary)}.nav-icon{font-size:24px;line-height:1;transition:transform .15s}.nav-btn.active .nav-icon{transform:scale(1.1)}.nav-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.path-page{padding:8px 16px calc(80px + env(safe-area-inset-bottom,0px));animation:fade-in .3s ease}.module-section{margin-bottom:4px}.module-banner{border-radius:20px;padding:18px 20px;margin-bottom:0;position:relative;overflow:hidden}.module-banner:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.15) 0%,transparent 60%);pointer-events:none}.module-banner-section{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:#fffc;margin-bottom:4px}.module-banner-title{font-size:20px;font-weight:900;color:#fff;line-height:1.2}.module-banner-desc{font-size:13px;font-weight:600;color:#ffffffd9;margin-top:4px}.module-banner-progress{margin-top:12px;height:6px;background:#ffffff4d;border-radius:3px;overflow:hidden}.module-banner-progress-fill{height:100%;background:#fff;border-radius:3px;transition:width .6s ease}.lesson-nodes-row{display:flex;justify-content:space-around;padding:20px 8px 12px;gap:8px}.lesson-node-item{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1;max-width:100px;cursor:pointer;-webkit-tap-highlight-color:transparent}.lesson-node-item.locked{cursor:default}.lesson-node-circle{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;transition:transform .15s;position:relative;border:3px solid transparent}.lesson-node-item:not(.locked):active .lesson-node-circle{transform:scale(.93)}.lesson-node-circle.completed{background:var(--success);box-shadow:0 6px 0 var(--success-shadow);border-color:#ffffff4d}.lesson-node-circle.active{background:var(--primary);box-shadow:0 6px 0 var(--primary-shadow);border-color:#ffffff4d;animation:pulse-ring 2s infinite}.lesson-node-circle.locked{background:var(--surface-dark);box-shadow:0 6px #c8c8c8;filter:grayscale(1);opacity:.7}.node-checkmark{position:absolute;bottom:-2px;right:-2px;width:22px;height:22px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;box-shadow:0 2px 6px #00000026}.lesson-node-title{font-size:12px;font-weight:800;color:var(--text);text-align:center;line-height:1.25}.lesson-node-item.locked .lesson-node-title{color:var(--text-muted)}.lesson-node-xp{font-size:11px;font-weight:700;color:var(--info);text-align:center}.lesson-node-item.locked .lesson-node-xp{color:var(--text-muted)}.module-connector{display:flex;justify-content:center;padding:4px 0}.module-connector-line{width:3px;height:20px;background:var(--border);border-radius:2px}.lesson-page{display:flex;flex-direction:column;min-height:100vh;background:#fff}.lesson-topbar{padding:14px 16px;display:flex;align-items:center;gap:12px;border-bottom:2px solid var(--border);flex-shrink:0}.lesson-exit-btn{width:40px;height:40px;border-radius:50%;border:2px solid var(--border);background:var(--surface);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-muted);flex-shrink:0;transition:all .15s;-webkit-tap-highlight-color:transparent}.lesson-exit-btn:hover{border-color:var(--text-muted)}.lesson-exit-btn:active{transform:scale(.9)}.lesson-progress-track{flex:1;height:16px;background:var(--surface);border-radius:8px;overflow:hidden}.lesson-progress-fill{height:100%;background:linear-gradient(90deg,var(--success) 0%,#76E217 100%);border-radius:8px;transition:width .5s cubic-bezier(.34,1.56,.64,1)}.hearts-row{display:flex;gap:3px;flex-shrink:0}.heart-icon{font-size:22px;line-height:1}.heart-icon.empty{filter:grayscale(1);opacity:.25}.lesson-body{flex:1;padding:24px 16px;display:flex;flex-direction:column;overflow-y:auto}.slide-intro{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:20px;animation:slide-up .4s ease}.intro-emoji{font-size:88px;line-height:1;animation:bounce-in .6s cubic-bezier(.34,1.56,.64,1);display:block}.intro-title{font-size:30px;font-weight:900;color:var(--text);line-height:1.2}.intro-subtitle{font-size:17px;font-weight:600;color:var(--text-muted);line-height:1.5;max-width:300px}.slide-text{flex:1;display:flex;flex-direction:column;gap:16px;animation:slide-up .4s ease}.text-slide-emoji{font-size:48px;text-align:center;line-height:1}.text-slide-title{font-size:22px;font-weight:900;color:var(--text);text-align:center;line-height:1.3}.text-slide-content{background:var(--surface);border-radius:20px;padding:20px;font-size:16px;font-weight:600;color:var(--text);line-height:1.65}.text-slide-content.info-box{background:#e5f7fe;border:2px solid var(--info)}.text-slide-content.warning-box{background:#fff8d9;border:2px solid var(--warning)}.question-type-label{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:8px}.question-text{font-size:22px;font-weight:800;color:var(--text);line-height:1.35;margin-bottom:24px}.options-list{display:flex;flex-direction:column;gap:12px}.option-btn{width:100%;padding:16px 18px;border-radius:16px;border:3px solid var(--border);background:var(--white);text-align:left;font-size:16px;font-weight:700;color:var(--text);cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:12px;box-shadow:0 4px 0 var(--border);-webkit-tap-highlight-color:transparent;font-family:inherit}.option-btn:hover:not(:disabled):not(.correct):not(.wrong){border-color:#aaa;box-shadow:0 4px #aaa;transform:translateY(-1px)}.option-btn:active:not(:disabled):not(.correct):not(.wrong){transform:translateY(2px);box-shadow:none}.option-btn.selected{border-color:var(--info);background:#e5f7fe;box-shadow:0 4px 0 var(--info-dark)}.option-btn.correct{border-color:var(--success);background:#eaffc4;box-shadow:0 4px 0 var(--success-dark);color:var(--success-dark)}.option-btn.wrong{border-color:var(--primary);background:#ffe5e5;box-shadow:0 4px 0 var(--primary-dark);color:var(--primary-dark);animation:shake .4s ease}.option-btn:disabled{cursor:default}.option-letter{width:32px;height:32px;border-radius:8px;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:14px;flex-shrink:0;background:var(--surface);color:var(--text-muted)}.option-btn.selected .option-letter{border-color:var(--info);background:var(--info);color:#fff}.option-btn.correct .option-letter{border-color:var(--success);background:var(--success);color:#fff}.option-btn.wrong .option-letter{border-color:var(--primary);background:var(--primary);color:#fff}.tf-statement{font-size:20px;font-weight:700;color:var(--text);line-height:1.5;text-align:center;padding:28px 20px;background:var(--surface);border-radius:20px;margin-bottom:24px;animation:slide-up .4s ease}.tf-row{display:flex;gap:12px}.tf-btn{flex:1;padding:20px 12px;border-radius:16px;border:3px solid var(--border);font-size:18px;font-weight:900;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;background:#fff;box-shadow:0 5px 0 var(--border);transition:all .15s;font-family:inherit;-webkit-tap-highlight-color:transparent}.tf-btn:hover:not(:disabled){transform:translateY(-2px)}.tf-btn:active:not(:disabled){transform:translateY(3px);box-shadow:none}.tf-btn:disabled{cursor:default}.tf-btn.true-btn{border-color:var(--success);color:var(--success-dark)}.tf-btn.false-btn{border-color:var(--primary);color:var(--primary-dark)}.tf-btn.correct{background:#eaffc4;box-shadow:0 5px 0 var(--success-dark)}.tf-btn.wrong{background:#ffe5e5;box-shadow:0 5px 0 var(--primary-dark);animation:shake .4s ease}.tf-btn-icon{font-size:32px}.tf-btn-text{font-size:14px;letter-spacing:.05em}.ordering-list{display:flex;flex-direction:column;gap:10px}.ordering-item{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;border:3px solid var(--border);background:#fff;box-shadow:0 4px 0 var(--border);transition:all .2s;cursor:grab;animation:slide-up .3s ease}.ordering-item.correct{border-color:var(--success);background:#eaffc4;box-shadow:0 4px 0 var(--success-dark)}.ordering-item.wrong{border-color:var(--primary);background:#ffe5e5;box-shadow:0 4px 0 var(--primary-dark)}.ordering-num{width:32px;height:32px;border-radius:50%;background:var(--info);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:14px;flex-shrink:0}.ordering-item.correct .ordering-num{background:var(--success)}.ordering-item.wrong .ordering-num{background:var(--primary)}.ordering-text{flex:1;font-size:15px;font-weight:700}.ordering-arrows{display:flex;flex-direction:column;gap:4px;flex-shrink:0}.arrow-btn{width:28px;height:24px;border-radius:6px;background:var(--surface);border:none;cursor:pointer;font-size:11px;font-weight:900;color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:all .15s}.arrow-btn:hover:not(:disabled){background:var(--info);color:#fff}.arrow-btn:disabled{opacity:.3;cursor:default}.feedback-bar{position:sticky;bottom:0;left:0;right:0;padding:16px;animation:slide-up .35s cubic-bezier(.34,1.56,.64,1);z-index:10}.feedback-bar.correct{background:#eaffc4;border-top:3px solid var(--success)}.feedback-bar.wrong{background:#ffe5e5;border-top:3px solid var(--primary)}.feedback-emoji{font-size:28px;margin-bottom:6px}.feedback-title{font-size:20px;font-weight:900;margin-bottom:4px}.feedback-bar.correct .feedback-title{color:var(--success-dark)}.feedback-bar.wrong .feedback-title{color:var(--primary-dark)}.feedback-expl{font-size:14px;font-weight:600;color:var(--text-muted);line-height:1.5;margin-bottom:14px}.main-btn{width:100%;padding:16px;border-radius:16px;border:none;font-size:17px;font-weight:900;letter-spacing:.04em;cursor:pointer;transition:all .15s;font-family:inherit;text-transform:uppercase;-webkit-tap-highlight-color:transparent}.main-btn.red{background:var(--primary);color:#fff;box-shadow:0 5px 0 var(--primary-dark)}.main-btn.red:active{transform:translateY(3px);box-shadow:0 2px 0 var(--primary-dark)}.main-btn.red:hover{filter:brightness(1.05)}.main-btn.green{background:var(--success);color:#fff;box-shadow:0 5px 0 var(--success-dark)}.main-btn.green:active{transform:translateY(3px);box-shadow:0 2px 0 var(--success-dark)}.main-btn.blue{background:var(--info);color:#fff;box-shadow:0 5px 0 var(--info-dark)}.main-btn.blue:active{transform:translateY(3px);box-shadow:0 2px 0 var(--info-dark)}.main-btn.gray{background:var(--surface);color:var(--text);box-shadow:0 5px 0 var(--surface-dark);border:2px solid var(--border)}.main-btn.gray:active{transform:translateY(3px);box-shadow:0 2px 0 var(--surface-dark)}.main-btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:none!important}.complete-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;text-align:center;padding:24px;animation:fade-in .4s ease}.complete-trophy{font-size:90px;animation:bounce-in .7s cubic-bezier(.34,1.56,.64,1)}.complete-title{font-size:32px;font-weight:900;color:var(--text)}.complete-subtitle{font-size:17px;font-weight:600;color:var(--text-muted);line-height:1.5}.complete-stats{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.complete-stat{background:var(--surface);border-radius:20px;padding:16px 22px;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:90px}.complete-stat-icon{font-size:28px}.complete-stat-val{font-size:28px;font-weight:900;color:var(--text)}.complete-stat-lbl{font-size:12px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.confetti-piece{position:fixed;border-radius:3px;animation:confetti-fall linear forwards;pointer-events:none;z-index:999}.profile-page{padding:0 0 calc(80px + env(safe-area-inset-bottom,0px));animation:fade-in .3s ease}.profile-hero{background:linear-gradient(160deg,var(--primary) 0%,#FF8080 100%);padding:40px 20px 50px;text-align:center;position:relative}.profile-hero:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:28px;background:#fff;border-radius:28px 28px 0 0}.profile-avatar-wrap{position:relative;width:100px;height:100px;margin:0 auto 14px}.profile-avatar-circle{width:100px;height:100px;border-radius:50%;background:#ffffff40;border:4px solid rgba(255,255,255,.6);display:flex;align-items:center;justify-content:center;font-size:44px;font-weight:900;color:#fff;overflow:hidden}.profile-avatar-circle img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.profile-avatar-edit{position:absolute;bottom:0;right:0;width:30px;height:30px;border-radius:50%;background:#fff;border:2px solid var(--border);color:var(--text-muted);font-size:14px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s}.profile-username{font-size:26px;font-weight:900;color:#fff;margin-bottom:4px}.profile-useremail{font-size:14px;font-weight:600;color:#ffffffbf;margin-bottom:12px}.profile-league-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;border-radius:20px;font-size:14px;font-weight:800;color:var(--primary-dark);background:#ffffffe6;box-shadow:0 3px 12px #00000026}.profile-content{padding:16px}.stats-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px}.stat-card{background:var(--surface);border-radius:18px;padding:16px;display:flex;align-items:center;gap:12px}.stat-card-icon{font-size:30px}.stat-card-val{font-size:22px;font-weight:900;color:var(--text)}.stat-card-lbl{font-size:12px;font-weight:700;color:var(--text-muted);text-transform:uppercase}.section-hdr{font-size:14px;font-weight:900;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin:20px 0 10px}.achievements-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px}.ach-card{display:flex;align-items:center;gap:10px;padding:12px;border-radius:16px;background:var(--surface)}.ach-card.earned{background:linear-gradient(135deg,#fff8d0,#ffe870);border:2px solid var(--warning)}.ach-card.locked{opacity:.45;filter:grayscale(1)}.ach-emoji{font-size:26px}.ach-name{font-size:13px;font-weight:800;color:var(--text)}.ach-desc{font-size:11px;font-weight:600;color:var(--text-muted)}.menu-list{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.menu-item{display:flex;align-items:center;gap:12px;padding:16px;border-radius:16px;background:var(--surface);border:none;width:100%;cursor:pointer;font-family:inherit;transition:background .15s;-webkit-tap-highlight-color:transparent}.menu-item:active{background:var(--surface-dark)}.menu-icon{font-size:22px}.menu-text{flex:1;font-size:16px;font-weight:700;color:var(--text);text-align:left}.menu-arrow{font-size:13px;color:var(--text-muted)}.menu-item.danger .menu-text{color:var(--primary)}.leaderboard-page{padding:0 16px calc(80px + env(safe-area-inset-bottom,0px));animation:fade-in .3s ease}.lb-hero{text-align:center;padding:28px 0 20px}.lb-title{font-size:28px;font-weight:900;color:var(--text)}.lb-subtitle{font-size:15px;font-weight:600;color:var(--text-muted);margin-top:4px}.league-card{border-radius:20px;padding:18px;display:flex;align-items:center;gap:14px;margin-bottom:16px;color:#fff}.league-icon-xl{font-size:48px;flex-shrink:0}.league-card-name{font-size:22px;font-weight:900}.league-card-desc{font-size:13px;font-weight:600;opacity:.85;margin-top:2px}.lb-list{display:flex;flex-direction:column;gap:8px}.lb-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;background:var(--surface);transition:all .2s}.lb-item.me{background:linear-gradient(135deg,#eaffc4,#d0f890);border:2px solid var(--success)}.lb-rank{width:30px;text-align:center;font-size:18px;font-weight:900;color:var(--text-muted);flex-shrink:0}.lb-rank.r1{font-size:24px}.lb-rank.r2{font-size:22px}.lb-rank.r3{font-size:20px}.lb-avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--primary),#FF9090);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:900;color:#fff;flex-shrink:0;overflow:hidden}.lb-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.lb-name{flex:1;font-size:16px;font-weight:800;color:var(--text)}.lb-xp{font-size:15px;font-weight:900;color:var(--info)}.modal-overlay{position:fixed;inset:0;background:#0000008c;display:flex;align-items:flex-end;justify-content:center;z-index:200;animation:fade-in .2s ease}.modal-sheet{width:100%;max-width:480px;background:#fff;border-radius:28px 28px 0 0;padding:10px 24px max(24px,env(safe-area-inset-bottom,16px));animation:slide-up .4s cubic-bezier(.34,1.56,.64,1);max-height:92vh;overflow-y:auto}.modal-handle{width:40px;height:4px;background:var(--border);border-radius:2px;margin:0 auto 20px}.modal-title{font-size:28px;font-weight:900;color:var(--text);margin-bottom:6px}.modal-subtitle{font-size:15px;font-weight:600;color:var(--text-muted);margin-bottom:24px}.form-field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.form-label{font-size:13px;font-weight:900;color:var(--text);text-transform:uppercase;letter-spacing:.06em}.form-input{padding:14px 16px;border-radius:14px;border:2px solid var(--border);font-size:16px;font-family:inherit;font-weight:600;color:var(--text);outline:none;transition:border-color .2s;background:var(--surface)}.form-input:focus{border-color:var(--info);background:#fff}.form-alert{border-radius:12px;padding:12px 14px;font-size:14px;font-weight:700;margin-bottom:12px}.form-alert.error{background:#ffe5e5;color:var(--primary-dark)}.form-alert.success{background:#eaffc4;color:var(--success-dark)}.modal-actions{display:flex;flex-direction:column;gap:10px;margin-top:4px}.modal-switch{text-align:center;margin-top:14px;font-size:15px;font-weight:600;color:var(--text-muted)}.modal-switch-btn{background:none;border:none;color:var(--info);font-weight:900;cursor:pointer;font-size:15px;font-family:inherit;padding:0}.google-btn{width:100%;padding:14px;border-radius:16px;border:2px solid var(--border);background:#fff;font-size:16px;font-weight:800;color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;font-family:inherit;transition:background .15s}.google-btn:hover{background:var(--surface)}.google-btn:active{background:var(--surface-dark)}.divider{display:flex;align-items:center;gap:12px;color:var(--text-muted);font-size:13px;font-weight:700;margin:4px 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border)}.inline-edit{display:flex;gap:8px;align-items:center}.inline-input{flex:1;padding:10px 14px;border-radius:12px;border:2px solid var(--info);font-size:16px;font-family:inherit;font-weight:700;outline:none;background:var(--surface)}.inline-btn{padding:10px 16px;border-radius:12px;border:none;font-size:14px;font-weight:900;cursor:pointer;font-family:inherit}.inline-btn.save{background:var(--success);color:#fff}.inline-btn.cancel{background:var(--surface);color:var(--text-muted)}.page-pad{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
