:root{--bg-primary:#fff;--bg-secondary:#f5f5f7;--bg-tertiary:#e8e8ed;--text-primary:#1d1d1f;--text-secondary:#86868b;--accent-color:#06c;--accent-hover:#049;--border-color:#d2d2d7;--glass-bg:#ffffffb8;--glass-border:#0000001a;--font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue",sans-serif;--font-size-xs:12px;--font-size-sm:14px;--font-size-base:17px;--font-size-lg:21px;--font-size-xl:48px;--font-size-xxl:80px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:48px;--spacing-xxl:96px;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-full:9999px;--transition-fast:0.2s ease;--transition-normal:0.3s cubic-bezier(0.25,0.1,0.25,1);--transition-slow:0.6s cubic-bezier(0.16,1,0.3,1)}[data-theme=dark]{--bg-primary:#000;--bg-secondary:#1d1d1f;--bg-tertiary:#2d2d2f;--text-primary:#f5f5f7;--text-secondary:#a1a1a6;--accent-color:#2997ff;--accent-hover:#0077ed;--border-color:#424245;--glass-bg:#1d1d1fb8;--glass-border:#ffffff1a}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:var(--font-family);scroll-behavior:smooth}body{background-color:var(--bg-primary);color:var(--text-primary);font-size:var(--font-size-base);font-weight:400;line-height:1.47059;overflow-x:hidden;transition:background-color var(--transition-normal),color var(--transition-normal)}a{color:var(--accent-color);text-decoration:none;transition:color var(--transition-fast)}a:hover{text-decoration:underline}ul{list-style:none}button{background:none;border:none;cursor:pointer;font-family:inherit}.container{margin:0 auto;max-width:1200px;padding:0 var(--spacing-lg);width:100%}.text-center{text-align:center}.flex,.flex-col{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.h-full{height:100%}.w-full{width:100%}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.header{align-items:center;display:flex;height:60px;position:fixed;z-index:1000}.header,.header:before{left:0;right:0;top:0;transition:all .3s ease}.header:before{background-color:initial;bottom:0;content:"";position:absolute;z-index:-1}.header-scrolled:before{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background-color:#ffffffe6;border-bottom:1px solid #0000001a}[data-theme=dark] .header-scrolled:before{background-color:#000c;border-bottom:1px solid #ffffff1a}.header-container{align-items:center;display:flex;height:100%;justify-content:space-between;position:relative;width:100%}.logo{color:var(--text-primary);font-size:1.5rem;font-weight:700;text-decoration:none;z-index:1002}.nav-list{gap:2rem;list-style:none;margin:0;padding:0}.nav-list,.nav-list a{align-items:center;display:flex}.nav-list a{color:var(--text-secondary);font-size:.95rem;font-weight:500;text-decoration:none;transition:color .2s ease}.nav-list a.active,.nav-list a:hover,.theme-toggle{color:var(--text-primary)}.theme-toggle{align-items:center;background:#0000;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:1rem;justify-content:center;line-height:1;padding:8px;transition:background-color .2s ease}.theme-toggle:hover{background-color:var(--bg-tertiary)}.mobile-menu-btn{background:#0000;border:none;cursor:pointer;display:none;flex-direction:column;height:20px;justify-content:space-between;padding:0;width:30px;z-index:1002}.mobile-menu-btn .bar{background-color:var(--text-primary);border-radius:10px;height:2.5px;transition:all .3s ease;width:100%}.mobile-menu-btn.active .bar:first-child{transform:translateY(9px) rotate(45deg)}.mobile-menu-btn.active .bar:nth-child(2){opacity:0}.mobile-menu-btn.active .bar:nth-child(3){transform:translateY(-9px) rotate(-45deg)}@media (max-width:768px){.mobile-menu-btn{display:flex;margin-left:1rem}.nav{align-items:flex-start;background-color:var(--bg-primary);bottom:0;display:flex;flex-direction:column;height:100vh;justify-content:flex-start;left:0;opacity:0;padding-left:40px;padding-top:80px;pointer-events:none;position:fixed;right:0;top:0;transform:translateY(-100%);transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .3s ease;width:100vw;z-index:1001}.nav.nav-open{opacity:1;pointer-events:auto;transform:translateY(0)}.nav-list{align-items:flex-start;flex-direction:column;gap:2rem;margin-top:20px;width:100%}.nav-list a{color:var(--text-primary);display:block;font-size:2rem;font-weight:600;opacity:0;transform:translateY(-20px);transition:opacity .4s ease,transform .4s ease}.nav.nav-open .nav-list a{opacity:1;transform:translateY(0)}.nav.nav-open .nav-list li:first-child a{transition-delay:.1s}.nav.nav-open .nav-list li:nth-child(2) a{transition-delay:.15s}.nav.nav-open .nav-list li:nth-child(3) a{transition-delay:.2s}.nav-list .theme-toggle{font-size:2rem;justify-content:flex-start;margin-top:10px;padding:0}}.auth-btn{align-items:center;border:none;border-radius:20px;cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:8px;padding:8px 16px;text-decoration:none;transition:all .2s ease}.login-btn{background-color:#006a4e;background-color:var(--primary-color,#006a4e);color:#fff!important}.login-btn:hover{background-color:#004d38;background-color:var(--primary-dark,#004d38);transform:translateY(-2px)}.profile-btn{background-color:#f0f0f0;background-color:var(--bg-tertiary,#f0f0f0);color:var(--text-primary)!important}.profile-btn:hover{background-color:#e0e0e0;background-color:var(--bg-secondary,#e0e0e0)}.profile-img-small{border-radius:50%;height:24px;object-fit:cover;width:24px}[data-theme=dark] .profile-btn{background-color:#ffffff1a}@media (max-width:768px){.nav-list .auth-btn{font-size:1.5rem;justify-content:flex-start;margin-top:10px;padding:12px 20px;width:100%}.nav-list .profile-img-small{height:32px;width:32px}}.footer{background-color:var(--bg-secondary);border-top:1px solid var(--border-color);margin-top:var(--spacing-xxl);padding:var(--spacing-xl) 0}.footer-container{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;font-size:var(--font-size-cf);gap:var(--spacing-sm)}.footer-version{font-family:monospace;font-size:.75rem;opacity:.6}.github-link{align-items:center;color:var(--text-secondary);display:flex;justify-content:center;margin-bottom:.5rem;transition:color .2s ease}.github-link:hover{color:var(--text-primary)}.section{align-items:center;display:flex;min-height:80vh;opacity:0;padding:var(--spacing-xxl) 0;transform:translateY(30px);transition:opacity 1s ease,transform 1s ease}.section.fade-in{opacity:1;transform:translateY(0)}.section-title{font-size:var(--font-size-xl);font-weight:700;letter-spacing:-.015em;margin-bottom:var(--spacing-xl);text-align:center}@media (max-width:768px){.section-title{font-size:var(--font-size-lg)}}.section-compact{min-height:auto;padding:var(--spacing-xl) 0}.hero-section{align-items:center;display:flex;justify-content:center;min-height:100vh}.hero-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--text-primary) 0,var(--text-secondary) 100%);background-clip:text;-webkit-background-clip:text;font-size:var(--font-size-xxl);font-weight:700;letter-spacing:-.02em;margin-bottom:var(--spacing-sm)}.hero-subtitle{color:var(--text-secondary);font-size:var(--font-size-lg);margin-bottom:var(--spacing-xl)}.btn{border-radius:var(--radius-full);cursor:pointer;display:inline-block;font-size:var(--font-size-base);font-weight:500;padding:12px 24px;text-decoration:none;transition:all var(--transition-fast)}.btn-primary{background-color:var(--accent-color)}.btn-primary:hover{background-color:var(--accent-hover);text-decoration:none}@media (max-width:768px){.hero-title{font-size:var(--font-size-xl)}}@media (max-width:480px){.hero-title{font-size:32px}}.hero-description-anim{animation:fadeAndVanish 12s forwards;margin-top:2rem}.hero-description-anim p{color:var(--text-secondary);font-size:1rem;line-height:1.5;margin-bottom:.5rem}.hero-description-anim a{color:var(--accent-color);font-weight:500;text-decoration:none}.hero-description-anim a:hover{text-decoration:underline}.vibecoding-text{font-size:.9rem!important;opacity:.8}@keyframes fadeAndVanish{0%{opacity:0;transform:translateY(10px)}10%{opacity:1;transform:translateY(0)}70%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px);visibility:hidden}}.chart-container{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:0 4px 20px #0000000d;margin-top:var(--spacing-xl);padding:var(--spacing-lg)}.chart-title{font-size:var(--font-size-lg);margin-bottom:var(--spacing-xs);text-align:center}.chart-subtitle{color:var(--text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-lg);text-align:center}.chart-note{color:var(--text-secondary);font-size:var(--font-size-xs);font-style:italic;margin-top:var(--spacing-md);text-align:right}.stats-grid{grid-gap:var(--spacing-xl);display:grid;gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));text-align:center}.stat-card{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--spacing-xl);transition:transform var(--transition-normal)}.stat-card:hover{transform:translateY(-5px)}.stat-value{color:var(--accent-color);font-size:var(--font-size-xxl);font-weight:700;margin-bottom:var(--spacing-sm)}.stat-label{color:var(--text-secondary);font-size:var(--font-size-lg)}.detailed-chart-card{align-items:center;background:#0000;border-bottom:1px solid var(--border-color);display:flex;flex-direction:row;gap:var(--spacing-xl);padding:var(--spacing-xl) 0}.detailed-chart-card:last-child{border-bottom:none}.detailed-chart-card:nth-child(2n){flex-direction:row-reverse}.chart-visual{flex:1.5 1;min-width:300px;width:100%}.chart-description{display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:left}.chart-description h3{color:var(--text-primary);font-size:1.5rem;margin-bottom:var(--spacing-md)}.chart-description p{color:var(--text-secondary);font-size:1rem;line-height:1.6;margin-bottom:var(--spacing-lg)}.source-citation{border-top:1px solid var(--border-color);color:var(--text-tertiary);display:inline-block;font-size:.85rem;font-style:italic;padding-top:var(--spacing-sm);width:100%}@media (max-width:900px){.detailed-chart-card,.detailed-chart-card:nth-child(2n){flex-direction:column}.chart-visual{width:100%}}.modal-overlay{align-items:center;animation:fadeIn .3s ease-out forwards;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background-color:#0006;display:flex;height:100vh;justify-content:center;left:0;padding:20px;position:fixed;top:0;width:100vw;z-index:9999}.modal-content{animation:slideUpFade .4s cubic-bezier(.16,1,.3,1) forwards;background-color:var(--bg-primary);border-radius:24px;box-shadow:0 24px 48px #00000026;max-width:420px;padding:40px 30px;position:relative;text-align:center;transform:translateY(20px) scale(.95);width:100%}.modal-icon-container{align-items:center;background-color:#e2f5ee;border-radius:24px;color:#006a4e;display:flex;height:80px;justify-content:center;margin:0 auto 24px;width:80px}.modal-title{color:var(--text-primary);font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin:0 0 12px}.modal-description{color:var(--text-secondary);font-size:1rem;line-height:1.5;margin:0 0 32px}.modal-actions{display:flex;flex-direction:column;gap:12px}.btn-primary{align-items:center;background-color:#006a4e;border:none;border-radius:14px;color:#fff;cursor:pointer;display:flex;font-family:inherit;font-size:1.1rem;font-weight:600;gap:10px;justify-content:center;padding:16px;transition:transform .2s,background-color .2s}.btn-primary:hover{background-color:#00563f;transform:scale(1.02)}.btn-primary:active{transform:scale(.98)}.btn-secondary{background-color:initial;border:none;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:1rem;font-weight:500;padding:14px;transition:color .2s}.btn-secondary:hover{color:var(--text-primary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUpFade{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.tools-dashboard{margin:0 auto;max-width:1200px;padding:60px 20px}.tools-header{margin-bottom:60px;text-align:center}.tools-header h1{color:var(--text-primary);font-size:3rem;font-weight:700;letter-spacing:-.02em;margin:0 0 16px}.tools-header p{color:var(--text-secondary);font-size:1.25rem;line-height:1.5;margin:0 auto;max-width:600px}.tools-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.tool-card{align-items:flex-start;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:24px;box-shadow:0 10px 30px #0000000a;color:inherit;display:flex;flex-direction:column;overflow:hidden;padding:40px;position:relative;text-decoration:none;transition:all .3s cubic-bezier(.25,.8,.25,1)}.tool-card:hover{box-shadow:0 20px 40px #00000014;transform:translateY(-8px)}.tool-icon-wrapper{align-items:center;background-color:var(--bg-secondary);border-radius:16px;color:var(--text-primary);display:flex;height:64px;justify-content:center;margin-bottom:24px;transition:transform .3s ease;width:64px}.tool-card:hover .tool-icon-wrapper{transform:scale(1.1)}.tool-card.premium .tool-icon-wrapper{background-color:#006a4e;color:#fff}.tool-card.premium{border:2px solid #006a4e}.tool-card h2{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin:0 0 12px}.tool-card p{color:var(--text-secondary);flex-grow:1;font-size:1rem;line-height:1.5;margin:0}.tool-badge{background-color:#e2f5ee;border-radius:20px;color:#006a4e;font-size:.75rem;font-weight:700;letter-spacing:.05em;padding:6px 12px;position:absolute;right:24px;text-transform:uppercase;top:24px}@media (max-width:768px){.tools-header h1{font-size:2.25rem}.tools-header p{font-size:1.1rem}.tools-grid{grid-template-columns:1fr}.tool-card{padding:30px}}.room-rental-calculator{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin:0 auto;max-width:900px;padding:var(--spacing-xl)}.calculator-subtitle{color:var(--text-secondary);line-height:1.5;margin-bottom:24px;text-align:center}.input-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px}.input-group label{color:var(--text-secondary);display:block;font-size:.9rem;font-weight:500;margin-bottom:8px}.input-group input{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:1rem;padding:12px;transition:all .2s ease;width:100%}.input-group input:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px #007aff1a;outline:none}.calculate-btn{background:var(--accent-color);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-bottom:24px;padding:14px;transition:transform .1s ease,background-color .2s ease;width:100%}.calculate-btn:active{transform:scale(.98)}.calculate-btn:hover{background-color:var(--accent-hover)}.results-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:32px}.result-card{background:var(--bg-primary);border-left-style:solid;border-left-width:4px;border-radius:8px;padding:20px}.result-label{color:var(--text-secondary);font-size:.85rem;margin-bottom:8px}.result-value{font-size:1.8rem;font-weight:700}.result-sub{color:var(--text-tertiary);font-size:.75rem;margin-top:4px}.charts-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:24px}.chart-box{background:var(--bg-primary);border-radius:8px;padding:20px}.chart-title{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin-bottom:16px}.breakdown-box{background:var(--bg-primary);border-radius:8px;padding:20px}.breakdown-row{border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:8px;padding-bottom:8px}.breakdown-row:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.calculator-note{color:var(--text-tertiary);font-size:.8rem;font-style:italic;line-height:1.4;margin-top:16px;text-align:center}@media (max-width:480px){.room-rental-calculator{background:#0000;border:none;padding:var(--spacing-md)}.charts-grid{grid-template-columns:1fr}.breakdown-box,.chart-box,.result-card{padding:16px}}
/*# sourceMappingURL=main.0a78d5c4.css.map*/