@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&display=swap";.app-root{background:var(--tp-bg-base);min-height:100vh;color:var(--tp-text-primary);flex-direction:column;display:flex}.app-header{z-index:50;background:var(--tp-header-bg);-webkit-backdrop-filter:blur(32px);border-bottom:1px solid var(--tp-border-subtle);box-shadow:0 4px 40px var(--tp-shadow-color), inset 0 -1px 0 0 var(--tp-border-subtle);transition:all .3s;position:sticky;top:0}.header-inner{align-items:center;gap:2rem;max-width:1200px;height:64px;margin:0 auto;padding:0 1.5rem;display:flex}.app-logo{cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;gap:.75rem;text-decoration:none;display:flex}.logo-mark{background:var(--tp-accent-gradient);width:36px;height:36px;color:var(--tp-on-accent);box-shadow:0 0 20px var(--tp-accent-glow), var(--glass-inner-shadow);border-radius:10px;justify-content:center;align-items:center;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex}.app-logo:hover .logo-mark{box-shadow:0 0 30px var(--tp-accent-glow), var(--glass-inner-shadow);transform:scale(1.05)rotate(5deg)}.logo-icon{animation:4s ease-in-out infinite logo-glow}@keyframes logo-glow{0%,to{opacity:.9}50%{opacity:1;filter:brightness(1.2)}}.logo-name{letter-spacing:-.04em;color:var(--tp-text-primary);font-size:1.25rem;font-weight:700}.desktop-nav{flex:1;justify-content:center;align-items:center;gap:.25rem;display:flex}.nav-link{color:var(--tp-text-secondary);font-family:var(--font-sans);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem .875rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.nav-link:hover{color:var(--tp-text-primary);background:var(--tp-bg-hover)}.nav-link.active{color:var(--tp-text-primary);font-weight:600}.nav-indicator{background:var(--tp-accent-gradient);width:24px;height:3px;box-shadow:0 0 10px var(--tp-accent-glow);border-radius:3px;animation:.3s cubic-bezier(.16,1,.3,1) pop-in;position:absolute;bottom:-4px;left:50%;transform:translate(-50%)}@keyframes pop-in{0%{opacity:0;width:0}to{opacity:1;width:24px}}.header-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.btn-signin{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:8px;align-items:center;gap:.35rem;padding:.4rem .85rem;font-size:.82rem;font-weight:600;text-decoration:none;transition:opacity .15s,transform .15s;display:flex}.btn-signin:hover{opacity:.9;transform:translateY(-1px)}.btn-signin:active{transform:translateY(0)}.streak-badge{background:var(--tp-warning-subtle);border:1px solid var(--tp-warning);color:var(--tp-warning);box-shadow:0 0 12px var(--tp-warning-subtle);border-radius:9999px;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.8125rem;font-weight:700;display:flex}.streak-icon{animation:2s ease-in-out infinite streak-flicker}@keyframes streak-flicker{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;filter:brightness(1.2);transform:scale(1.15)}}.streak-count{font-variant-numeric:tabular-nums}.mobile-toggle{display:none}.mobile-nav-drawer{background:var(--tp-mobile-nav-bg);-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);border-top:1px solid #ffffff0d;flex-direction:column;gap:.25rem;padding:1rem;display:flex}.mobile-nav-link{color:var(--tp-text-secondary);font-family:var(--font-sans);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:.75rem;width:100%;padding:.875rem 1rem;font-size:1rem;font-weight:500;text-decoration:none;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.mobile-nav-link:hover{background:var(--tp-bg-hover);color:var(--tp-text-primary)}.mobile-nav-link.active{color:var(--tp-on-accent);background:var(--tp-accent-subtle);border:1px solid var(--tp-border-glow);box-shadow:0 4px 20px var(--tp-accent-subtle)}.mobile-nav-arrow{opacity:0;margin-left:auto;transition:all .2s}.mobile-nav-link.active .mobile-nav-arrow{opacity:1;color:var(--tp-text-accent)}.app-main{flex-direction:column;flex:1;display:flex}.app-main:focus{outline:none}.content-container{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:2.5rem 1.5rem}.app-footer{text-align:center;border-top:1px solid var(--tp-border);color:var(--tp-text-tertiary);padding:2rem;font-size:.875rem;font-weight:500}.footer-links{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:.55rem;display:flex}.footer-links a{color:var(--tp-text-tertiary);font:inherit;cursor:pointer;background:0 0;border:0;text-decoration:none}.footer-links a:hover{color:var(--tp-text-primary)}.app-root :focus-visible{outline:2px solid var(--tp-text-accent);outline-offset:3px}.cmd-hint{background:var(--tp-bg-hover);border:1px solid var(--tp-border-hover);font-family:var(--font-mono);border-radius:4px;padding:.1rem .4rem;font-size:.75rem;display:inline-block}@media (width<=860px){.desktop-nav{display:none}.mobile-toggle{display:flex!important}.header-inner{justify-content:space-between}}@media (width<=480px){.header-inner{height:60px;padding:0 1rem}.logo-name{font-size:1.125rem}.content-container{padding:1.5rem 1rem}.app-footer{padding:1.5rem 1rem;font-size:.75rem}}.animation-delay-2000{animation-delay:2s}.animation-delay-4000{animation-delay:4s}@media (prefers-reduced-motion:reduce){.app-root *,.app-root :before,.app-root :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.accessible-typing-input{opacity:0;resize:none;border:0;width:1px;height:1px;margin:0;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:1000;background:var(--tp-bg-base);color:var(--tp-text-primary);box-shadow:0 0 0 2px var(--tp-text-accent);border-radius:.5rem;padding:.65rem .9rem;position:fixed;top:.5rem;left:.5rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:2px solid var(--tp-text-accent,#6366f1);outline-offset:2px;border-radius:2px}:focus:not(:focus-visible){outline:none}@media (forced-colors:active){:focus-visible{outline-offset:2px;outline:2px solid highlight}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.theme-studio-overlay{z-index:220;padding:1rem}.theme-studio{border:1px solid var(--tp-border);width:min(1040px,96vw);max-height:92vh;color:var(--tp-text-primary);box-shadow:var(--glass-shadow);border-radius:24px;flex-direction:column;gap:1rem;padding:1.25rem;display:flex;overflow:hidden}.theme-studio-header,.theme-studio-toolbar,.theme-studio-actions{justify-content:space-between;align-items:center;gap:1rem;display:flex}.theme-studio-header h2{letter-spacing:-.04em;margin:.25rem 0;font-size:1.4rem}.theme-studio-header p,.theme-studio-eyebrow,.theme-save-status,.theme-studio-notice{color:var(--tp-text-secondary);font-size:.85rem}.theme-studio-eyebrow,.theme-save-status{align-items:center;gap:.4rem;display:inline-flex}.theme-mode-switch,.theme-studio-tabs,.theme-file-actions{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.theme-mode-switch,.theme-studio-tabs{border:1px solid var(--tp-border);background:var(--tp-bg-hover);border-radius:999px;padding:.25rem}.theme-mode-switch button,.theme-studio-tabs button{color:var(--tp-text-secondary);font:inherit;text-transform:capitalize;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.45rem .75rem;font-size:.82rem}.theme-mode-switch button.active,.theme-studio-tabs button.active{background:var(--tp-accent);color:var(--tp-on-accent);box-shadow:0 8px 20px -12px var(--tp-accent-glow)}.theme-studio-content{grid-template-columns:.9fr 1.1fr;gap:1rem;min-height:0;display:grid;overflow:hidden}.theme-live-preview,.theme-studio-panel{border:1px solid var(--tp-border);border-radius:18px;min-height:0;overflow:hidden}.theme-live-preview{flex-direction:column;display:flex;box-shadow:inset 0 1px #ffffff14}.preview-topbar{border-bottom:1px solid;align-items:center;gap:.65rem;padding:.85rem;font-weight:700;display:flex}.preview-logo{border-radius:9px;place-items:center;width:30px;height:30px;display:grid}.preview-chip{border-radius:999px;margin-left:auto;padding:.25rem .55rem;font-size:.72rem}.preview-body{flex-direction:column;gap:.9rem;padding:1.25rem;display:flex}.preview-kicker{letter-spacing:.14em;font-size:.72rem;font-weight:800}.preview-body h3{letter-spacing:-.05em;margin:0;font-size:1.8rem;line-height:1.05}.preview-body p{margin:0;line-height:1.55}.preview-card-row{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}.preview-card-row div{border:1px solid;border-radius:14px;flex-direction:column;gap:.25rem;padding:1rem;display:flex}.preview-card-row strong{font-size:1.45rem}.preview-card-row span{font-size:.78rem}.preview-cta{border:0;border-radius:999px;align-self:flex-start;padding:.75rem 1rem;font-weight:800}.theme-studio button:focus-visible,.theme-studio input:focus-visible,.theme-studio-panel:focus-visible{outline:3px solid var(--tp-accent);outline-offset:3px}.theme-studio-panel{background:var(--tp-bg-surface);padding:1rem;overflow-y:auto}.theme-preset-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;display:grid}.theme-preset-card{border:1px solid var(--tp-border);background:var(--tp-bg-hover);min-height:82px;color:var(--tp-text-primary);text-align:left;cursor:pointer;border-radius:14px;align-items:center;gap:.75rem;padding:.8rem;transition:transform .16s,border-color .16s,background .16s;display:flex}.theme-preset-card:hover,.theme-preset-card.active{border-color:var(--tp-accent);background:var(--tp-accent-subtle);transform:translateY(-2px)}.theme-preset-card small{color:var(--tp-text-tertiary);text-transform:capitalize;margin-top:.2rem;display:block}.theme-preset-colors{grid-template-columns:repeat(2,18px);gap:3px;display:grid}.theme-preset-colors i{border:1px solid var(--tp-border);border-radius:6px;width:18px;height:18px}.theme-custom-fields{gap:1rem;display:grid}.theme-custom-fields fieldset{border:1px solid var(--tp-border);border-radius:14px;gap:.55rem;margin:0;padding:.85rem;display:grid}.theme-custom-fields legend{color:var(--tp-text-accent);letter-spacing:.05em;text-transform:uppercase;padding:0 .35rem;font-size:.78rem;font-weight:800}.theme-color-field,.theme-blur-field{color:var(--tp-text-secondary);justify-content:space-between;align-items:center;gap:1rem;font-size:.86rem;display:flex}.theme-color-control{align-items:center;gap:.45rem;display:flex}.theme-color-control input[type=color]{border:1px solid var(--tp-border-hover);background:var(--tp-bg-elevated);border-radius:10px;width:34px;height:34px;padding:2px}.theme-color-control input:not([type=color]){border:1px solid var(--tp-border);background:var(--tp-bg-base);width:92px;color:var(--tp-text-primary);font:.78rem var(--font-mono);border-radius:10px;padding:.48rem .55rem}.theme-blur-field{border:1px solid var(--tp-border);border-radius:14px;padding:.85rem}.theme-blur-field input{flex:1}.theme-contrast-panel{gap:.9rem;display:grid}.contrast-summary,.contrast-check{border:1px solid var(--tp-border);background:var(--tp-bg-hover);border-radius:14px;align-items:center;gap:.75rem;padding:.85rem;display:flex}.contrast-summary.pass{border-color:color-mix(in srgb, var(--tp-success) 40%, transparent);background:var(--tp-success-subtle)}.contrast-summary.warn{border-color:color-mix(in srgb, var(--tp-warning) 40%, transparent);background:var(--tp-warning-subtle)}.contrast-summary span,.contrast-check small{color:var(--tp-text-secondary);margin-top:.15rem;font-size:.78rem;display:block}.contrast-check-list{gap:.55rem;display:grid}.contrast-swatch{border:1px solid var(--tp-border);border-radius:10px;place-items:center;width:44px;height:34px;font-weight:800;display:grid}.contrast-check b{font-variant-numeric:tabular-nums;margin-left:auto}.contrast-check b.pass{color:var(--tp-success)}.contrast-check b.warn{color:var(--tp-warning)}.theme-studio-notice{border:1px solid var(--tp-border);background:var(--tp-bg-hover);border-radius:12px;padding:.65rem .8rem}.theme-studio-actions{border-top:1px solid var(--tp-border-subtle);padding-top:.75rem}@media (width<=860px){.theme-studio-content{grid-template-columns:1fr;overflow-y:auto}.theme-studio-toolbar,.theme-studio-actions{flex-direction:column;align-items:stretch}.theme-file-actions,.theme-studio-actions button{width:100%}}.onboarding-overlay{z-index:500;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:radial-gradient(circle at 20% 10%,#6366f140,#0000 36%),radial-gradient(circle at 85% 80%,#a855f733,#0000 38%),#050508f0;place-items:center;padding:1rem;display:grid;position:fixed;inset:0;overflow-y:auto}.onboarding-shell{border:1px solid var(--tp-border);background:color-mix(in srgb, var(--tp-bg-surface) 92%, transparent);border-radius:24px;width:min(100%,680px);max-height:calc(100vh - 2rem);padding:clamp(1.25rem,4vw,2.5rem);overflow-y:auto;box-shadow:0 30px 80px #00000073,inset 0 1px #ffffff0f}.onboarding-progress{justify-content:center;gap:.45rem;margin-bottom:1.5rem;display:flex}.progress-dot{background:var(--tp-border);border-radius:999px;width:.5rem;height:.5rem;transition:all .2s}.progress-dot.active{background:var(--tp-accent);width:2rem}.progress-dot.done{background:color-mix(in srgb, var(--tp-accent) 55%, transparent)}.onboarding-step{flex-direction:column;align-items:center;gap:.85rem;display:flex}.onboarding-icon-wrap{color:#fff;background:var(--tp-accent-gradient);width:4rem;height:4rem;box-shadow:0 14px 40px var(--tp-accent-glow);border-radius:18px;place-items:center;display:grid}.onboarding-kicker{color:var(--tp-accent-hover);letter-spacing:.11em;text-transform:uppercase;font-size:.72rem;font-weight:700}.onboarding-shell h1{color:var(--tp-text-primary);text-align:center;margin:0;font-size:clamp(1.55rem,5vw,2.25rem);line-height:1.15}.onboarding-desc{max-width:34rem;color:var(--tp-text-secondary);text-align:center;margin:0;line-height:1.65}.onboarding-value-grid,.plan-summary{grid-template-columns:repeat(3,1fr);gap:.65rem;width:100%;margin-top:.6rem;display:grid}.onboarding-value-grid>div,.plan-summary>div{border:1px solid var(--tp-border);background:var(--tp-bg-elevated);min-width:0;color:var(--tp-text-secondary);text-align:left;border-radius:14px;flex-direction:column;gap:.3rem;padding:1rem;display:flex}.onboarding-value-grid svg{color:var(--tp-accent-hover)}.onboarding-value-grid strong,.plan-summary strong{color:var(--tp-text-primary);font-size:.86rem}.onboarding-value-grid span,.plan-summary span{font-size:.72rem;line-height:1.35}.diagnostic-card{border:1px solid var(--tp-border);background:var(--tp-bg-elevated);border-radius:16px;width:100%;padding:1rem}.diagnostic-sample{color:var(--tp-text-primary);font-family:var(--font-mono);margin-bottom:.8rem;font-size:1rem;line-height:1.7}.diagnostic-input,.onboarding-input{border:1px solid var(--tp-border);background:var(--tp-bg-base);width:100%;color:var(--tp-text-primary);font:inherit;border-radius:10px;outline:none}.diagnostic-input{resize:none;min-height:5.5rem;font-family:var(--font-mono);padding:.8rem}.onboarding-input{padding:.75rem .9rem}.diagnostic-input:focus,.onboarding-input:focus{border-color:var(--tp-accent)}.onboarding-shell button:focus-visible,.diagnostic-input:focus-visible,.onboarding-input:focus-visible{outline:3px solid var(--tp-accent);outline-offset:3px}.diagnostic-stats{color:var(--tp-text-secondary);gap:.6rem;margin-top:.7rem;font-size:.75rem;display:flex}.diagnostic-stats span{align-items:center;gap:.3rem;display:inline-flex}.goal-grid{grid-template-columns:1fr 1fr;gap:.55rem;width:100%;display:grid}.goal-card{border:1px solid var(--tp-border);background:var(--tp-bg-elevated);color:var(--tp-text-secondary);text-align:left;cursor:pointer;border-radius:12px;grid-template-columns:auto 1fr;gap:.2rem .65rem;padding:.85rem;display:grid}.goal-card svg{color:var(--tp-accent-hover);grid-row:span 2;align-self:center}.goal-card.selected{border-color:var(--tp-accent);background:var(--tp-accent-subtle)}.goal-label{color:var(--tp-text-primary);font-size:.82rem;font-weight:700}.goal-desc{font-size:.68rem;line-height:1.3}.daily-target{width:100%;color:var(--tp-text-secondary);justify-content:space-between;align-items:center;gap:.75rem;font-size:.76rem;display:flex}.daily-target>span{align-items:center;gap:.35rem;display:inline-flex}.daily-target>div{gap:.35rem;display:flex}.daily-target button{border:1px solid var(--tp-border);background:var(--tp-bg-elevated);color:var(--tp-text-secondary);cursor:pointer;border-radius:999px;padding:.38rem .55rem}.daily-target button.selected{border-color:var(--tp-accent);color:var(--tp-text-primary);background:var(--tp-accent-subtle)}.onboarding-privacy{color:var(--tp-text-tertiary);text-align:center;font-size:.72rem}.onboarding-actions{justify-content:space-between;gap:.75rem;margin-top:1.5rem;display:flex}.onboarding-actions button{align-items:center;gap:.4rem;display:inline-flex}.btn-link{color:var(--tp-text-secondary);cursor:pointer;background:0 0;border:0;padding:.55rem}.onboarding-next{border:0;border-radius:10px;padding:.7rem 1rem}.onboarding-next:disabled{opacity:.4;cursor:not-allowed}@media (width<=620px){.onboarding-value-grid,.plan-summary,.goal-grid{grid-template-columns:1fr}.daily-target{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){.onboarding-overlay *,.onboarding-overlay :before,.onboarding-overlay :after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.consent-banner,.update-notice{z-index:450;border:1px solid var(--tp-border);background:color-mix(in srgb, var(--tp-bg-surface) 96%, transparent);border-radius:14px;justify-content:space-between;align-items:center;gap:1rem;width:min(100% - 2rem,520px);padding:1rem;display:flex;position:fixed;bottom:1rem;right:1rem;box-shadow:0 20px 50px #00000059}.consent-banner strong{color:var(--tp-text-primary)}.consent-banner p{color:var(--tp-text-secondary);margin:.25rem 0 0;font-size:.76rem;line-height:1.45}.consent-actions{flex:none;gap:.5rem;display:flex}.update-notice{width:auto}.update-notice span{color:var(--tp-text-secondary);font-size:.8rem}.pwa-notices{z-index:450;flex-direction:column;gap:.5rem;max-width:min(100% - 2rem,520px);display:flex;position:fixed;bottom:1rem;right:1rem}.pwa-notices .update-notice{width:100%;position:static}.offline-notice{border-color:var(--tp-warning,#f59e0b)!important;background:color-mix(in srgb, var(--tp-warning-bg,#fef3c7) 90%, transparent)!important}.offline-notice span{flex:1;color:var(--tp-warning-text,#92400e)!important}.sync-notice{border-color:var(--tp-success,#22c55e)!important;background:color-mix(in srgb, var(--tp-success-bg,#f0fdf4) 90%, transparent)!important}.sync-notice span{flex:1;color:var(--tp-success-text,#166534)!important}[data-theme=dark] .offline-notice{background:#78350f66!important}[data-theme=dark] .sync-notice{background:#14532d66!important}.ad-slot{border:1px dashed var(--tp-border);min-height:96px;color:var(--tp-text-tertiary);text-align:center;border-radius:12px;place-items:center;margin:1.5rem 0;display:grid}.ad-slot span{letter-spacing:.1em;text-transform:uppercase;font-size:.62rem}.ad-slot p{margin:.15rem 0 0;font-size:.72rem}@media (width<=600px){.consent-banner{flex-direction:column;align-items:stretch}.consent-actions{width:100%}.consent-actions button{flex:1}}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.top-\[-10\%\]{top:-10%}.top-\[-50\%\]{top:-50%}.top-\[20\%\]{top:20%}.right-\[-10\%\]{right:-10%}.bottom-\[-20\%\]{bottom:-20%}.left-\[-10\%\]{left:-10%}.left-\[-50\%\]{left:-50%}.left-\[20\%\]{left:20%}.isolate{isolation:isolate}.-z-10{z-index:calc(10 * -1)}.z-10{z-index:10}.container{width:100%}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.h-\[35\%\]{height:35%}.h-\[40\%\]{height:40%}.h-\[45\%\]{height:45%}.h-\[200\%\]{height:200%}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-\[35\%\]{width:35%}.w-\[40\%\]{width:40%}.w-\[45\%\]{width:45%}.w-\[200\%\]{width:200%}.w-full{width:100%}.shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.break-all{word-break:break-all}.opacity-30{opacity:.3}.mix-blend-overlay{mix-blend-mode:overlay}.mix-blend-screen{mix-blend-mode:screen}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur-\[100px\]{--tw-blur:blur(100px);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,)}.blur-\[120px\]{--tw-blur:blur(120px);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,)}.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,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}@media (hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}}:root{--tp-bg-base:#060608;--tp-bg-panel:#12121666;--tp-bg-surface:#18181c99;--tp-bg-elevated:#202026b3;--tp-bg-hover:#ffffff0f;--tp-bg-active:#ffffff1a;--tp-text-primary:#fff;--tp-text-secondary:#a1a1aa;--tp-text-tertiary:#71717a;--tp-text-accent:#c7d2fe;--tp-accent:#6366f1;--tp-accent-hover:#818cf8;--tp-accent-gradient:linear-gradient(135deg, #6366f1 0%, #a855f7 100%);--tp-accent-subtle:#6366f126;--tp-accent-glow:#6366f166;--tp-on-accent:#fff;--tp-focus-ring:#6366f147;--tp-header-bg:#060608c7;--tp-mobile-nav-bg:#060608f5;--tp-shadow-color:#0000007a;--tp-success:#10b981;--tp-error:#f43f5e;--tp-warning:#f59e0b;--tp-on-success:#09090b;--tp-on-warning:#09090b;--tp-on-error:#09090b;--tp-success-subtle:#10b98124;--tp-warning-subtle:#f59e0b24;--tp-error-subtle:#f43f5e24;--tp-success-gradient:linear-gradient(90deg, #10b981, #34d399);--tp-warning-gradient:linear-gradient(90deg, #f59e0b, #fbbf24);--tp-purple:#a855f7;--tp-purple-subtle:#a855f726;--tp-border:#ffffff14;--tp-border-subtle:#ffffff0a;--tp-border-hover:#ffffff26;--tp-border-glow:#6366f14d;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--spacing-page:2.5rem;--spacing-section:3rem;--spacing-card:1.5rem;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--glass-bg:#0f0f1473;--glass-border:#ffffff14;--glass-shadow:0 16px 40px -8px #00000080;--glass-inner-shadow:inset 0 1px 0 0 #ffffff1a;--glass-blur:24px;--heatmap-empty:#ffffff08;--heatmap-level1:#6366f133;--heatmap-level2:#6366f166;--heatmap-level3:#6366f199;--heatmap-level4:#6366f1cc;--badge-bg:#ffffff0f;--badge-text:#a1a1aa;--badge-accent-bg:#6366f126;--badge-accent-text:#c7d2fe}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);font-feature-settings:"cv01", "ss03";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--tp-bg-base);color:var(--tp-text-primary);min-height:100vh;line-height:1.6;position:relative;overflow-x:hidden}body:before{content:"";z-index:-1;pointer-events:none;background-image:radial-gradient(circle at 15%,#6366f114 0%,#0000 50%),radial-gradient(circle at 85% 30%,#a855f714 0%,#0000 50%),radial-gradient(circle at 50% 100%,#0ea5e90d 0%,#0000 60%);background-attachment:fixed;width:100vw;height:100vh;position:fixed;top:0;left:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#fff3}.surface{background:var(--tp-bg-panel);border:1px solid var(--tp-border);border-radius:var(--radius-lg);box-shadow:0 4px 24px -4px #0000004d}.surface-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.surface-hover:hover{background:var(--tp-bg-hover);border-color:var(--tp-border-hover);transform:translateY(-2px)}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);box-shadow:var(--glass-shadow), var(--glass-inner-shadow);border-radius:var(--radius-xl);transition:all .4s cubic-bezier(.16,1,.3,1)}.glass-panel{-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-lg);background:#ffffff04;border:1px solid #ffffff0f;box-shadow:0 8px 32px #0003,inset 0 1px #ffffff0d}.glass-pill{-webkit-backdrop-filter:blur(20px);background:#19191e80;border:1px solid #ffffff1a;border-radius:9999px;box-shadow:0 8px 32px #0006,inset 0 1px #ffffff1a}.text-secondary{color:var(--tp-text-secondary)}.text-tertiary{color:var(--tp-text-tertiary)}.text-accent{background:var(--tp-accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.btn{border-radius:var(--radius-md);font-family:var(--font-sans);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-size:.875rem;font-weight:600;line-height:1;text-decoration:none;transition:all .2s cubic-bezier(.2,.8,.2,1);display:inline-flex;position:relative;overflow:hidden}.btn-primary{background:var(--tp-accent-gradient);color:#fff;box-shadow:0 4px 14px 0 var(--tp-accent-glow), inset 0 1px 0 0 #fff3}.btn-primary:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 6px 20px #a855f766,inset 0 1px #ffffff4d}.btn-primary:active{transform:scale(.96)}.btn-ghost{color:var(--tp-text-primary);border:1px solid var(--tp-border);background:#ffffff08;box-shadow:inset 0 1px #ffffff05}.btn-ghost:hover{border-color:var(--tp-border-hover);background:#ffffff0f;transform:translateY(-1px)}.btn-ghost:active{transform:scale(.96)}.btn-icon{border-radius:var(--radius-md);width:38px;height:38px;color:var(--tp-text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:all .2s cubic-bezier(.2,.8,.2,1);display:inline-flex}.btn-icon:hover{color:var(--tp-text-primary);background:#ffffff14}.btn-icon:active{transform:scale(.92)}.btn-icon.active{color:#fff;background:var(--tp-accent-gradient);box-shadow:0 0 12px var(--tp-accent-glow)}.badge{letter-spacing:.02em;border-radius:9999px;align-items:center;gap:.35rem;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-accent{background:var(--tp-accent-subtle);color:#e0e7ff;border:1px solid #6366f14d;box-shadow:0 0 10px #6366f11a}.badge-success{color:#34d399;background:#10b9811a;border:1px solid #10b98133}.badge-neutral{color:var(--tp-text-secondary);border:1px solid var(--tp-border);background:#ffffff0a}.card{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:1px solid var(--tp-border);border-radius:var(--radius-lg);padding:var(--spacing-card);transition:all .4s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 20px -2px #0006,inset 0 1px #ffffff05}.card:hover{background:#ffffff08;border-color:#ffffff1f;transform:translateY(-4px);box-shadow:0 16px 40px -8px #00000080,inset 0 1px #ffffff0d}.card-highlight{background:linear-gradient(145deg,#6366f114 0%,#a855f70a 100%);border-color:#a855f766;box-shadow:0 0 30px #a855f726,inset 0 1px #ffffff0d}@keyframes fade-up{0%{opacity:0;filter:blur(4px);transform:translateY(12px)}to{opacity:1;filter:blur();transform:translateY(0)}}.page-enter{animation:.5s cubic-bezier(.16,1,.3,1) forwards fade-up}@keyframes stagger-in{0%{opacity:0;filter:blur(4px);transform:translateY(16px)}to{opacity:1;filter:blur();transform:translateY(0)}}.stagger-children>*{opacity:0;animation:.5s cubic-bezier(.16,1,.3,1) forwards stagger-in}.stagger-children>:first-child{animation-delay:50ms}.stagger-children>:nth-child(2){animation-delay:.1s}.stagger-children>:nth-child(3){animation-delay:.15s}.stagger-children>:nth-child(4){animation-delay:.2s}.stagger-children>:nth-child(5){animation-delay:.25s}.stagger-children>:nth-child(6){animation-delay:.3s}@keyframes cursor-pulse{0%,to{opacity:1;transform:scaleY(1)}50%{opacity:.3;transform:scaleY(.9)}}.cursor-blink{background-color:#a855f7;border-radius:2px;width:2px;margin-left:1px;animation:1s cubic-bezier(.4,0,.2,1) infinite cursor-pulse;display:inline-block;box-shadow:0 0 8px #a855f7}@keyframes confetti-burst{0%{opacity:1;transform:translate(0)scale(1)}to{transform:translate(var(--cx,40px), var(--cy,-60px)) scale(0);opacity:0}}.confetti-container{pointer-events:none;z-index:50;position:absolute;inset:0;overflow:hidden}.confetti-dot{border-radius:50%;width:8px;height:8px;animation:.8s cubic-bezier(.25,.46,.45,.94) forwards confetti-burst;position:absolute}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.shimmer{border-radius:var(--radius-md);background:linear-gradient(90deg,#ffffff08 25%,#ffffff14 50%,#ffffff08 75%) 0 0/200% 100%;animation:1.5s ease-in-out infinite shimmer}@keyframes glow-pulse{0%,to{box-shadow:0 0 8px #6366f133,0 0 24px #6366f10d}50%{box-shadow:0 0 16px #6366f166,0 0 40px #6366f11a}}.glow-active{animation:2s ease-in-out infinite glow-pulse;border-color:#6366f166!important}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.float-idle{animation:3s ease-in-out infinite float}@keyframes number-pop{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.number-pop{animation:.3s cubic-bezier(.34,1.56,.64,1) number-pop}.card-hover{transition:all .4s cubic-bezier(.16,1,.3,1)}.card-hover:hover{border-color:#6366f140;transform:translateY(-4px)scale(1.01);box-shadow:0 16px 48px -8px #00000080,0 0 24px -4px #6366f126,inset 0 1px #ffffff0f}@keyframes correct-flash{0%{color:#4ade80;text-shadow:0 0 8px #4ade8099}to{color:var(--tp-success);text-shadow:none}}.char-correct-flash{animation:.3s ease-out correct-flash}@keyframes error-shake{0%,to{transform:translate(0)}20%{transform:translate(-3px)}40%{transform:translate(3px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}.char-error-shake{color:var(--tp-error);animation:.3s ease-out error-shake}@keyframes celebration-ring{0%{opacity:.8;transform:scale(.5)}to{opacity:0;transform:scale(2.5)}}.celebration-ring{pointer-events:none;border:3px solid #a855f780;border-radius:50%;width:80px;height:80px;margin:-40px 0 0 -40px;animation:.8s ease-out forwards celebration-ring;position:absolute;top:50%;left:50%}.progress-animated{transition:width .8s cubic-bezier(.16,1,.3,1)}@keyframes border-glow-shift{0%,to{border-color:#6366f133}33%{border-color:#a855f740}66%{border-color:#0ea5e933}}.border-glow-cycle{animation:6s ease-in-out infinite border-glow-shift}.heading-xl{letter-spacing:-.04em;color:var(--tp-text-primary);font-size:3.5rem;font-weight:700;line-height:1.1}.heading-lg{letter-spacing:-.03em;color:var(--tp-text-primary);font-size:2.25rem;font-weight:600;line-height:1.2}.heading-md{letter-spacing:-.02em;color:var(--tp-text-primary);font-size:1.5rem;font-weight:600;line-height:1.3}.typing-area-font{font-family:var(--font-mono);letter-spacing:.02em;font-size:1.25rem}@media (width<=640px){:root{--spacing-page:1rem;--spacing-section:2rem;--spacing-card:1.25rem}.heading-xl{font-size:2.5rem}}.light{--tp-bg-base:#f8fafc;--tp-bg-panel:#fff9;--tp-bg-surface:#fffc;--tp-bg-elevated:#fff;--tp-bg-hover:#00000008;--tp-bg-active:#0000000f;--tp-text-primary:#0f172a;--tp-text-secondary:#475569;--tp-text-tertiary:#94a3b8;--tp-text-accent:#4f46e5;--tp-accent:#6366f1;--tp-accent-hover:#4f46e5;--tp-accent-gradient:linear-gradient(135deg, #4f46e5 0%, #9333ea 100%);--tp-accent-subtle:#6366f11a;--tp-accent-glow:#6366f133;--tp-on-accent:#fff;--tp-focus-ring:#6366f13d;--tp-header-bg:#f8fafcd1;--tp-mobile-nav-bg:#f8fafcf5;--tp-shadow-color:#33415529;--tp-success:#059669;--tp-error:#e11d48;--tp-warning:#d97706;--tp-on-success:#fff;--tp-on-warning:#09090b;--tp-on-error:#fff;--tp-success-subtle:#0596691f;--tp-warning-subtle:#d977061f;--tp-error-subtle:#e11d481f;--tp-success-gradient:linear-gradient(90deg, #059669, #16a34a);--tp-warning-gradient:linear-gradient(90deg, #d97706, #f59e0b);--tp-purple:#9333ea;--tp-purple-subtle:#9333ea1f;--tp-border:#00000014;--tp-border-subtle:#0000000a;--tp-border-hover:#00000026;--glass-bg:#ffffffb3;--glass-border:#fffc;--glass-shadow:0 12px 32px #0000000d;--glass-inner-shadow:inset 0 1px 0 0 #fff;--badge-bg:#0000000a;--badge-text:#475569;--badge-accent-bg:#6366f11a;--badge-accent-text:#4f46e5}.light body:before{background-image:radial-gradient(circle at 15%,#6366f10d 0%,#0000 50%),radial-gradient(circle at 85% 30%,#a855f70d 0%,#0000 50%),radial-gradient(circle at 50% 100%,#0ea5e90a 0%,#0000 60%)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}
