@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600&display=swap);@font-face{font-family:Noto Color Emoji;src:url(/assets/media/NotoColorEmoji-Regular.80b7fb28811752046403.ttf) format("truetype")}:root{--spacing-xs:0.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2rem;--spacing-xl:3rem;--spacing-2xl:4rem;--spacing-3xl:6rem;--radius-sm:0.5rem;--radius-md:0.75rem;--radius-lg:1.25rem;--radius-xl:1.75rem;--radius-full:9999px;--shadow-sm:0 1px 3px #0000000f,0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000014,0 2px 4px #0000000a;--shadow-lg:0 12px 32px #0000001a,0 4px 8px #0000000a;--shadow-xl:0 20px 48px #0000001f,0 8px 16px #0000000f;--shadow-glow:0 0 24px rgba(var(--app-accent-rgb),0.15);--transition-fast:200ms cubic-bezier(0.4,0,0.2,1);--transition-base:350ms cubic-bezier(0.4,0,0.2,1);--transition-slow:600ms cubic-bezier(0.4,0,0.2,1);--font-sans:"Inter","Noto Color Emoji",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono","Courier New",monospace;--app-accent:#6366f1;--app-accent-rgb:99,102,241;--app-text:#1a1a2e;--app-color:#6366f1;--app-dark-color:#312e81}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{background-attachment:fixed;font-family:Inter,Noto Color Emoji,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-weight:400;line-height:1.7;margin:0 auto;min-height:100vh;overflow-x:hidden;text-align:center;transition:background-color 1s cubic-bezier(.4,0,.2,1),color 1s cubic-bezier(.4,0,.2,1);width:100%}::selection{background:#6366f140;background:rgba(var(--app-accent-rgb),.25)}::-moz-selection{background:#6366f140;background:rgba(var(--app-accent-rgb),.25)}:focus-visible{border-radius:4px;outline:2px solid #6366f1;outline:2px solid var(--app-accent);outline-offset:3px}:focus{border-radius:4px;outline:2px solid #6366f1;outline:2px solid var(--app-accent);outline-offset:3px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.dark-mode-overlay{background:linear-gradient(180deg,#050816eb,#050816e0 50%,#050816eb);inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .8s cubic-bezier(.4,0,.2,1);z-index:-1}.app-container.dark-mode .dark-mode-overlay{opacity:1}.app-container.dark-mode ::-moz-selection,.app-container.dark-mode::selection{background:#ffffff26}.skip-link{background:var(--app-accent);border-radius:0 0 6px 0;color:#fff;font-size:.875rem;font-weight:700;left:0;padding:8px 16px;position:absolute;text-decoration:none;top:-40px;z-index:10000}.skip-link:focus{outline:3px solid var(--app-accent);outline-offset:2px;top:0}.app-container:before{background-blend-mode:soft-light;background-image:radial-gradient(circle at 25% 25%,var(--app-accent) 0,#0000 50%),radial-gradient(circle at 75% 75%,var(--app-color) 0,#0000 50%),radial-gradient(circle at 50% 50%,#ffffff05 0,#0000 70%);content:"";inset:0;opacity:.06;pointer-events:none;position:fixed;transition:background-image 1s cubic-bezier(.4,0,.2,1);z-index:-2}.app-container.dark-mode:before{opacity:.08}.app-container{background:linear-gradient(180deg,#fff0,#00000003 50%,#00000008);display:flex;flex-direction:column;min-height:100vh;overflow-x:hidden;position:relative}.app-header{padding:clamp(2.5rem,6vw,5rem) var(--spacing-lg) clamp(1.5rem,3vw,2.5rem);position:relative;text-align:center;z-index:2}.app-header h1{-webkit-text-fill-color:#0000;animation:titleReveal 1.2s cubic-bezier(.4,0,.2,1) both;background:linear-gradient(135deg,var(--app-text) 0,var(--app-accent) 100%);-webkit-background-clip:text;background-clip:text;font-size:clamp(2rem,6vw,4.5rem);font-weight:900;letter-spacing:-.04em;line-height:1.05;margin:0 auto;max-width:900px;width:90%}@keyframes knightRider{0%{left:-40%}50%{left:100%}to{left:-40%}}@keyframes titleReveal{0%{filter:blur(4px);opacity:0;transform:translateY(-20px) scale(.96)}to{filter:blur(0);opacity:1;transform:translateY(0) scale(1)}}.app-header hr{background:#0000000f;border:none;border-radius:var(--radius-full);height:4px;margin:2rem auto;max-width:600px;overflow:hidden;position:relative;width:48px}.app-container.dark-mode .app-header hr{background:#ffffff0f}.app-header hr:after{animation:knightRider 2.5s ease-in-out infinite;background:linear-gradient(90deg,#0000,var(--app-accent),#0000);border-radius:var(--radius-full);content:"";height:100%;left:-40%;position:absolute;top:0;width:40%}.app-header hr.animate{width:90%}.app-main{flex:1 1;max-width:100%;padding:0;position:relative;width:100%;z-index:1}.section-divider{background:linear-gradient(90deg,#0000 0,var(--app-accent) 30%,var(--app-accent) 70%,#0000 100%);border:none;height:1px;margin:4rem auto;max-width:300px;opacity:.15;transition:opacity 1s cubic-bezier(.4,0,.2,1);width:30%}.section-divider:hover{opacity:.3}.app-footer{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:linear-gradient(180deg,#0000 0,rgba(var(--app-accent-rgb),.03) 50%,rgba(var(--app-accent-rgb),.06) 100%);border-top:1px solid rgba(var(--app-accent-rgb),.08);margin-top:var(--spacing-3xl);padding:var(--spacing-2xl) var(--spacing-lg) var(--spacing-xl);position:relative;text-align:center;z-index:1}.footer-content{margin:0 auto;max-width:1200px;padding:0 var(--spacing-md)}.footer-credits{display:block;font-size:.8125rem;font-weight:400;line-height:2;margin-top:var(--spacing-lg);opacity:.6}.footer-credits a:hover,.footer-credits button:hover{opacity:.8;text-decoration:underline}.section-title{font-size:clamp(1.75rem,4vw,2.75rem);font-weight:800;letter-spacing:-.03em;line-height:1.2;margin-bottom:var(--spacing-2xl);text-align:center}a{color:inherit;text-decoration:none;transition:opacity var(--transition-fast)}a:hover{opacity:.8}a:focus{border-radius:2px;outline:2px solid var(--app-accent);outline-offset:2px}button{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit}button:focus-visible{outline:2px solid var(--app-accent);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.5}ul{list-style:none;margin:0;padding:0}@media (max-width:768px){.app-header{padding:1.5rem var(--spacing-md) 1rem}.app-footer{margin-top:var(--spacing-2xl);padding:var(--spacing-xl) var(--spacing-md) var(--spacing-lg)}.section-divider{margin:2.5rem auto;width:50%}}@media (max-width:480px){.app-header{padding:1rem var(--spacing-sm) .75rem}.app-header hr{height:2px;width:60%}.app-footer{margin-top:var(--spacing-xl);padding:var(--spacing-lg) var(--spacing-sm) var(--spacing-md)}.section-divider{margin:2rem auto;width:60%}}.cookie-monster-overlay{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000d9;display:flex;inset:0;justify-content:center;position:fixed;z-index:99999}.cookie-monster-modal{animation:modalPop .4s cubic-bezier(.175,.885,.32,1.275);background:#1a1a2e;border:3px solid #e94560;border-radius:16px;box-shadow:0 0 40px #e945604d,0 0 80px #e945601a;max-width:400px;padding:2rem;text-align:center;width:90%}.cookie-monster-modal.success{border-color:#4ecca3;box-shadow:0 0 40px #4ecca34d}.cookie-monster-gif{margin-bottom:1rem}.cookie-monster-gif img{border:3px solid #e94560;border-radius:50%;height:150px;image-rendering:pixelated;object-fit:cover;width:150px}.cookie-monster-modal.success .cookie-monster-gif img{animation:spin 1s ease;border-color:#4ecca3}.cookie-monster-demand{animation:glitch 2s infinite;color:#e94560;font-size:1.8rem;font-weight:900;letter-spacing:4px;margin-bottom:.5rem;text-shadow:2px 2px 0 #000,-2px -2px 0 #e94560;text-transform:uppercase}.cookie-monster-question{color:#e0e0e0;font-family:Courier New,monospace;font-size:1.1rem;margin-bottom:1.2rem}.cookie-monster-form{display:flex;gap:.5rem;justify-content:center;margin-bottom:1rem}.cookie-monster-input{background:#16213e;border:2px solid #e94560;border-radius:8px;color:#fff;font-family:Courier New,monospace;font-size:1.5rem;outline:none;padding:.6rem;text-align:center;transition:border-color .2s;width:80px}.cookie-monster-input:focus{border-color:#e94560;box-shadow:0 0 12px #e9456066}.cookie-monster-input.error{animation:shake .5s ease;border-color:#f44}.cookie-monster-btn{background:#16213e;border:2px solid #e94560;border-radius:8px;color:#e0e0e0;cursor:pointer;font-size:1.5rem;transition:all .2s;width:56px}.cookie-monster-btn:hover:not(:disabled){background:#e94560;transform:scale(1.1)}.cookie-monster-btn:disabled{opacity:.4}.cookie-monster-error{color:#f44;font-family:Courier New,monospace;font-size:.85rem;margin-bottom:.8rem}.cookie-monster-dedication{border-top:1px solid #333;color:#888;font-size:.7rem;font-style:italic;margin-top:1rem;padding-top:.8rem}@keyframes glitch{0%,90%,to{transform:translate(0)}92%{transform:translate(-2px,1px)}94%{transform:translate(2px,-1px)}96%{transform:translate(-1px,2px)}98%{transform:translate(1px,-2px)}}@keyframes shake{0%,to{transform:translateX(0)}20%{transform:translateX(-8px)}40%{transform:translateX(8px)}60%{transform:translateX(-6px)}80%{transform:translateX(6px)}}@keyframes modalPop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.shake{animation:shake .5s ease}@media print{.app-container:before,.app-footer,.app-header hr,.dark-mode-overlay,.footer-credits{display:none}body{background:#fff!important;color:#000!important}}.hero-section{margin:0 auto;max-width:1400px;padding:clamp(2rem,6vw,4rem) 0;position:relative}.hero-container{padding:0 var(--spacing-lg)}.hero-content{margin-bottom:var(--spacing-2xl);margin-left:auto;margin-right:auto;max-width:800px;text-align:center}.hero-title{font-size:clamp(2rem,5vw,3.25rem);font-weight:800;letter-spacing:-.04em;line-height:1.15}.hero-subtitle,.hero-title{margin-bottom:var(--spacing-md)}.hero-subtitle{font-size:clamp(1.1rem,2.5vw,1.5rem);font-weight:500;letter-spacing:-.02em;opacity:.8}.hero-description{font-size:clamp(.95rem,1.8vw,1.1rem);font-weight:400;line-height:1.75;margin-bottom:var(--spacing-xl);margin-left:auto;margin-right:auto;max-width:600px;opacity:.65}.hero-buttons{display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:center}.hero-btn{align-items:center;border:2px solid #0000;border-radius:var(--radius-md);box-shadow:var(--shadow-md);cursor:pointer;display:inline-flex;font-size:.9375rem;font-weight:600;gap:.5rem;justify-content:center;letter-spacing:-.01em;overflow:hidden;padding:.9rem 2rem;position:relative;transition:all var(--transition-base)}.hero-btn .btn-icon{font-size:1.05rem}.hero-btn.primary{background:var(--app-accent);color:#fff}.hero-btn.primary:hover{box-shadow:0 8px 24px rgba(var(--app-accent-rgb),.35);transform:translateY(-2px)}.hero-btn.secondary{background:#0000;border-color:var(--app-text);color:var(--app-text);opacity:.8}.hero-btn.secondary:hover{background:var(--app-text);box-shadow:var(--shadow-lg);color:var(--app-accent);opacity:1;transform:translateY(-2px)}.hero-stats{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-left:auto;margin-right:auto;margin-top:var(--spacing-2xl);max-width:900px}.stat-item{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#fff9;border:1px solid #0000000a;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:default;overflow:hidden;padding:var(--spacing-xl) var(--spacing-lg);position:relative;text-align:center;transition:all var(--transition-base)}.stat-item:before{background:linear-gradient(90deg,#0000,var(--app-accent),#0000);content:"";height:3px;left:0;opacity:0;position:absolute;top:0;transition:opacity var(--transition-base);width:100%}.stat-item:hover:before{opacity:.5}.stat-item:hover{border-color:rgba(var(--app-accent-rgb),.15);box-shadow:var(--shadow-lg);transform:translateY(-6px)}.app-container.dark-mode .stat-item{background:#ffffff0a;border-color:#ffffff0f}.app-container.dark-mode .stat-item:hover{border-color:#ffffff1f}.stat-icon{align-items:center;color:var(--app-accent);display:flex;font-size:2.25rem;justify-content:center;margin-bottom:var(--spacing-md)}.stat-number{color:var(--app-accent);font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:800;letter-spacing:-.03em;margin-bottom:var(--spacing-xs)}.stat-label{font-size:.8125rem;font-weight:500;letter-spacing:.06em;opacity:.6;text-transform:uppercase}@media (max-width:1024px){.hero-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media (max-width:768px){.hero-container{padding:0 var(--spacing-md)}.hero-buttons{align-items:stretch;flex-direction:column}.hero-btn{width:100%}.hero-stats{gap:var(--spacing-md);grid-template-columns:1fr}}@media (max-width:480px){.hero-container{padding:0 var(--spacing-sm)}.stat-item{padding:var(--spacing-lg) var(--spacing-md)}}.qr-container{align-items:center;border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--spacing-md);height:100%;justify-content:center;text-decoration:none;transition:all var(--transition-base);width:100%}.qr-container:hover{transform:scale(1.05)}.qr-container svg{background:#fff;border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:var(--spacing-sm)}@media (prefers-reduced-motion:reduce){.hero-btn,.qr-container,.stat-item{transition:none!important}.hero-btn:hover,.qr-container:hover,.stat-item:hover{transform:none!important}}.content-section{margin:0 auto;max-width:1400px;padding:clamp(3rem,6vw,5rem) 0}.content-container{padding:0 var(--spacing-lg)}.content-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.content-item{align-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffff8c;border:1px solid #0000000a;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;display:flex;overflow:hidden;padding:var(--spacing-lg);position:relative;transition:all var(--transition-base)}.content-item:before{background:linear-gradient(135deg,#0000 60%,rgba(var(--app-accent-rgb),.06));border-radius:inherit;content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity var(--transition-base)}.content-item:hover:before{opacity:1}.content-item:after{background:linear-gradient(90deg,#0000,var(--app-accent),#0000);bottom:0;content:"";height:2px;left:20%;opacity:0;position:absolute;transition:opacity var(--transition-base);width:60%}.content-item:hover:after{opacity:.4}.content-item:hover{border-color:rgba(var(--app-accent-rgb),.12);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.content-item--inverted{background:var(--app-accent)!important;border-color:var(--app-accent)!important}.content-item--inverted .content-icon{background:#ffffff26;color:#fff}.content-item--inverted .content-link{color:#fff}.content-item--inverted .content-description{color:#ffffffbf}.content-item--inverted:after,.content-item--inverted:before{display:none}.content-icon{align-items:center;background:rgba(var(--app-accent-rgb),.08);border-radius:var(--radius-sm);color:var(--app-accent);display:flex;flex-shrink:0;font-size:1.5rem;height:44px;justify-content:center;margin-right:var(--spacing-md);transition:transform var(--transition-base);width:44px}.content-item:hover .content-icon{transform:scale(1.1)}.content-info{display:flex;flex-direction:column;flex-grow:1;min-width:0}.content-link{font-size:.9375rem;font-weight:600;letter-spacing:-.01em;margin-bottom:var(--spacing-xs);position:relative;text-decoration:none;transition:color var(--transition-fast);word-break:break-word}.content-link:after{content:" →";display:inline-block;opacity:0;transform:translateX(-8px);transition:all var(--transition-fast)}.content-item:hover .content-link:after{opacity:.6;transform:translateX(0)}.content-description{font-size:.8125rem;font-weight:400;line-height:1.5;opacity:.65}.app-container.dark-mode .content-item{background:#ffffff0a;border-color:#ffffff0f}.app-container.dark-mode .content-item:hover{border-color:#ffffff1f}.app-container.dark-mode .content-icon{background:#ffffff0f}@media (max-width:1024px){.content-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}@media (max-width:768px){.content-container{padding:0 var(--spacing-md)}.content-grid{gap:var(--spacing-sm);grid-template-columns:1fr}.content-item{padding:var(--spacing-md)}.content-icon{font-size:1.25rem;height:40px;width:40px}}@media (max-width:480px){.content-container{padding:0 var(--spacing-sm)}.content-item{padding:var(--spacing-sm)}}@media (prefers-reduced-motion:reduce){.content-icon,.content-item,.content-item:after,.content-item:before,.content-link:after{animation:none!important;transition:none!important}.content-item:hover,.content-item:hover .content-icon{transform:none!important}}.service-confirm-overlay{align-items:center;animation:scfade .2s ease;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:500}@keyframes scfade{0%{opacity:0}to{opacity:1}}.service-confirm-modal{animation:scpop .25s cubic-bezier(.34,1.56,.64,1);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#ffffffeb;border:1px solid #ffffff4d;border-radius:var(--radius-lg);box-shadow:0 24px 64px #0003;max-width:360px;padding:2rem 2.25rem;text-align:center;width:calc(100% - 2rem)}@keyframes scpop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.service-confirm-text{color:#111;font-size:.9375rem;font-weight:600;line-height:1.5;margin:0 0 1.5rem;word-break:break-word}.service-confirm-actions{display:flex;gap:.75rem;justify-content:center}.service-confirm-btn{border:none;border-radius:var(--radius-sm);cursor:pointer;flex:1 1;font-size:.9rem;font-weight:600;padding:.65rem 1rem;transition:transform .12s,box-shadow .12s}.service-confirm-btn:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.service-confirm-btn--yes{background:var(--app-accent);color:#fff}.service-confirm-btn--no{background:#0000000f;color:#333}.app-container.dark-mode .service-confirm-modal{background:#181c28f2;border-color:#ffffff14}.app-container.dark-mode .service-confirm-text{color:#e8e8e8}.app-container.dark-mode .service-confirm-btn--no{background:#ffffff14;color:#e0e0e0}.service-links-list{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0 0 1.25rem;padding:0}.service-links-item{align-items:center;background:#0000000a;border-radius:var(--radius-sm);color:#111;display:flex;font-size:.9rem;font-weight:600;gap:.75rem;padding:.7rem 1rem;text-decoration:none;transition:all .15s}.service-links-item:hover{background:var(--app-accent);color:#fff;transform:translateX(4px)}.service-links-icon{align-items:center;display:flex;flex-shrink:0;font-size:1.1rem}.app-container.dark-mode .service-links-item{background:#ffffff0f;color:#e8e8e8}.app-container.dark-mode .service-links-item:hover{background:#ffffff26;color:#fff}.projects-section{margin:0 auto;max-width:1400px;padding:clamp(3rem,6vw,5rem) 0}.projects-container{padding:0 var(--spacing-lg)}.projects-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.project-item{align-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffff8c;border:1px solid #0000000a;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;display:flex;overflow:hidden;padding:var(--spacing-lg);position:relative;transition:all var(--transition-base)}.project-item:before{background:linear-gradient(135deg,#0000 60%,rgba(var(--app-accent-rgb),.06));border-radius:inherit;content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity var(--transition-base)}.project-item:hover:before{opacity:1}.project-item:after{background:linear-gradient(90deg,#0000,var(--app-accent),#0000);bottom:0;content:"";height:2px;left:20%;opacity:0;position:absolute;transition:opacity var(--transition-base);width:60%}.project-item:hover:after{opacity:.4}.project-item:hover{border-color:rgba(var(--app-accent-rgb),.12);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.project-item--inverted{background:var(--app-accent)!important;border-color:var(--app-accent)!important}.project-item--inverted .project-description,.project-item--inverted .project-link{color:#ffffffe6!important}.project-item--inverted:after,.project-item--inverted:before{display:none}.project-icon-wrapper{flex-shrink:0;margin-right:var(--spacing-md)}.project-icon{border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);height:44px;object-fit:cover;transition:transform var(--transition-base);width:44px}.project-item:hover .project-icon{transform:scale(1.08)}.project-info{display:flex;flex-direction:column;flex-grow:1;min-width:0}.project-link{align-items:center;display:inline-flex;font-size:.9375rem;font-weight:600;gap:.5rem;letter-spacing:-.01em;margin-bottom:var(--spacing-xs);position:relative;text-decoration:none;transition:color var(--transition-fast);word-break:break-word}.project-link .external-icon{font-size:.7rem;opacity:0;transform:translateX(-5px);transition:all var(--transition-fast)}.project-item:hover .project-link .external-icon{opacity:.5;transform:translateX(0)}.project-description{font-size:.8125rem;font-weight:400;line-height:1.5;opacity:.65}.app-container.dark-mode .project-item{background:#ffffff0a;border-color:#ffffff0f}.app-container.dark-mode .project-item:hover{border-color:#ffffff1f}@media (max-width:1024px){.projects-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}@media (max-width:768px){.projects-container{padding:0 var(--spacing-md)}.projects-grid{gap:var(--spacing-sm);grid-template-columns:1fr}.project-item{padding:var(--spacing-md)}.project-icon{height:40px;width:40px}}@media (max-width:480px){.projects-container{padding:0 var(--spacing-sm)}.project-item{padding:var(--spacing-sm)}.project-icon{height:36px;width:36px}}@media (prefers-reduced-motion:reduce){.project-icon,.project-item,.project-item:after,.project-item:before,.project-link .external-icon{animation:none!important;transition:none!important}.project-item:hover,.project-item:hover .project-icon{transform:none!important}}.calculator-section{margin:0 auto;max-width:1400px;padding:clamp(3rem,6vw,5rem) 0}.calculator-container{padding:0 var(--spacing-lg)}.calculator-subtitle{font-size:clamp(.9375rem,2vw,1.1rem);font-weight:400;margin-bottom:var(--spacing-2xl);margin-left:auto;margin-right:auto;max-width:600px;opacity:.65;text-align:center}.services-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin-bottom:var(--spacing-xl)}.service-card{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffff8c;border:1px solid #0000000f;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;overflow:hidden;padding:var(--spacing-xl) var(--spacing-lg);position:relative;text-align:center;transition:all var(--transition-base)}.service-card:before{background:linear-gradient(135deg,#0000 60%,rgba(var(--app-accent-rgb),.05));border-radius:inherit;content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity var(--transition-base)}.service-card:hover:before{opacity:1}.service-card:after{background:linear-gradient(90deg,#0000,var(--app-accent),#0000);content:"";height:2px;left:20%;opacity:0;position:absolute;top:0;transition:opacity var(--transition-base);width:60%}.service-card:hover:after{opacity:.3}.service-card:hover{border-color:rgba(var(--app-accent-rgb),.12);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.service-card.selected{background:#ffffffb3;border-color:var(--app-accent);box-shadow:0 0 0 2px rgba(var(--app-accent-rgb),.15),var(--shadow-md)}.service-card--inverted{background:var(--app-accent)!important;border-color:var(--app-accent)!important}.service-card--inverted .service-description,.service-card--inverted .service-icon,.service-card--inverted .service-name,.service-card--inverted .service-price{color:#fff!important}.service-card--inverted:after,.service-card--inverted:before{display:none}.app-container.dark-mode .service-card{background:#ffffff0a;border-color:#ffffff0f}.app-container.dark-mode .service-card:hover{border-color:#ffffff1f}.app-container.dark-mode .service-card.selected{background:#ffffff14;border-color:#ffffff40}.service-icon{align-items:center;color:var(--app-accent);display:flex;font-size:2.25rem;justify-content:center;margin-bottom:var(--spacing-md)}.service-name{font-size:1.05rem;font-weight:700;letter-spacing:-.01em;margin-bottom:var(--spacing-sm)}.service-description{font-size:.8125rem;font-weight:400;line-height:1.5;margin-bottom:var(--spacing-md);opacity:.65}.service-price{align-items:center;display:flex;flex-direction:column;font-size:1.375rem;font-weight:800;gap:var(--spacing-xs);justify-content:center;letter-spacing:-.02em;margin-top:var(--spacing-md);min-height:4rem}.price-label{font-size:.8125rem;font-weight:600;opacity:1;transition:opacity var(--transition-base)}.price-value{font-size:1.375rem;font-weight:800;opacity:0;transition:opacity var(--transition-base),visibility var(--transition-base);visibility:hidden}.service-card:hover .price-value{opacity:1;visibility:visible}.service-card:hover .price-label{opacity:0}.price-suffix{font-size:.7rem;font-weight:500;margin-left:.25rem;opacity:.6}.service-checkbox{align-items:center;border-radius:50%;color:var(--app-accent);display:flex;font-size:1.125rem;height:28px;justify-content:center;position:absolute;right:var(--spacing-md);top:var(--spacing-md);transition:all var(--transition-base);width:28px}.checkbox-empty{border:2px solid;border-radius:50%;height:20px;opacity:.3;width:20px}.service-card.selected .service-checkbox{transform:scale(1.1)}.calculator-summary{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#ffffffa6;border:1px solid #0000000f;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-top:var(--spacing-xl);padding:var(--spacing-xl)}.app-container.dark-mode .calculator-summary{background:#ffffff0a;border-color:#ffffff14}.app-container.dark-mode .custom-details{background:#ffffff0a;color:inherit}.calculator-summary h3{font-size:1.375rem;font-weight:700;letter-spacing:-.02em;margin-bottom:var(--spacing-lg);text-align:center}.calculator-summary ul{list-style:none;margin-bottom:var(--spacing-lg);padding:0}.calculator-summary li{align-items:center;background:#00000008;border-radius:var(--radius-sm);display:flex;justify-content:space-between;margin-bottom:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md)}.summary-service-name{align-items:center;display:flex;font-size:.9375rem;font-weight:600;gap:var(--spacing-sm)}.summary-icon{color:var(--app-accent);font-size:1rem}.service-price-item{font-weight:700}.calculator-total{align-items:center;border-bottom:2px solid var(--app-accent);border-top:2px solid var(--app-accent);display:flex;justify-content:space-between;margin:var(--spacing-lg) 0;padding:var(--spacing-lg)}.total-label{font-size:1.05rem;font-weight:600;letter-spacing:-.01em}.total-amount{color:var(--app-accent);font-size:1.75rem;font-weight:800;letter-spacing:-.03em}.custom-details{background:#ffffffb3;border:1.5px solid #0000001f;border-radius:var(--radius-md);font-size:.9rem;margin-bottom:var(--spacing-lg);min-height:110px;padding:var(--spacing-md);resize:vertical;transition:all var(--transition-fast);width:100%}.custom-details:focus{border-color:var(--app-accent);box-shadow:0 0 0 3px rgba(var(--app-accent-rgb),.1);outline:none}.contact-button{align-items:center;background:var(--app-accent);border:none;border-radius:var(--radius-md);box-shadow:0 4px 16px rgba(var(--app-accent-rgb),.25);color:#fff;cursor:pointer;display:inline-flex;font-size:.9375rem;font-weight:600;gap:var(--spacing-sm);justify-content:center;letter-spacing:-.01em;padding:var(--spacing-md) var(--spacing-xl);transition:all var(--transition-base);width:100%}.button-icon{font-size:1.05rem}.contact-button:hover{box-shadow:0 6px 24px rgba(var(--app-accent-rgb),.35);transform:translateY(-2px)}.contact-button:active{transform:scale(.98)}.calculator-empty{font-size:1.05rem;font-weight:500;opacity:.5;padding:var(--spacing-2xl);text-align:center}@media (max-width:1024px){.services-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}}@media (max-width:768px){.calculator-container{padding:0 var(--spacing-md)}.services-grid{gap:var(--spacing-sm);grid-template-columns:1fr}.service-card{padding:var(--spacing-lg) var(--spacing-md)}.calculator-total{flex-direction:column;gap:var(--spacing-sm);text-align:center}.calculator-summary{padding:var(--spacing-lg)}}@media (max-width:480px){.calculator-container{padding:0 var(--spacing-sm)}.calculator-summary,.service-card{padding:var(--spacing-md)}}@media (prefers-reduced-motion:reduce){.contact-button,.service-card,.service-checkbox,.service-icon{animation:none!important;transition:none!important}.service-card:hover{transform:none!important}}#color{color:#000!important;cursor:pointer;padding:.5rem}.app-container.dark-mode #color{color:#fff!important}.top-attackers{font-size:.85rem;text-align:center}.top-attackers h3{font-size:.9rem;margin:0 0 .75rem}.top-attackers__empty,.top-attackers__error,.top-attackers__loading{font-style:italic;opacity:.7}.top-attackers__table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.top-attackers__table{border-collapse:collapse;width:100%}.top-attackers__table td,.top-attackers__table th{border-bottom:1px solid;padding:.35rem .8rem;text-align:center;word-break:break-word}.top-attackers__table thead tr{border-bottom:2px solid}.top-attackers__table code{font-family:Courier New,monospace;font-size:.8rem}.top-attackers__table td:first-child{font-weight:700;text-align:center;width:2rem}.top-attackers__table td:first-child:before{content:"";display:none}@media (max-width:600px){.top-attackers__table thead{display:none}.top-attackers__table,.top-attackers__table tbody,.top-attackers__table td,.top-attackers__table tr{display:block;width:100%}.top-attackers__table tr{border-bottom:2px solid;margin-bottom:.5rem;padding-bottom:.25rem}.top-attackers__table td{border-bottom:none;padding:.2rem .4rem;text-align:left}.top-attackers__table td:first-child{font-weight:400;text-align:left;width:auto}.top-attackers__table td:before{content:attr(data-label) ": ";display:inline;font-weight:700;margin-right:.3rem}}.globe-visitas{font-size:.85rem;text-align:center;width:100%}.globe-visitas h3{font-size:.9rem;margin:0 0 .75rem}.globe-visitas__msg{font-style:italic;margin:.5rem 0;opacity:.7}.globe-visitas__msg--error{color:#f56}.globe-visitas__globe-glow{border-radius:50%;inset:10%;pointer-events:none;position:absolute;z-index:0}.globe-visitas__canvas-wrap{margin:0 auto;overflow:hidden}.globe-visitas__canvas,.globe-visitas__canvas-wrap{background:#0000;border-radius:12px;display:block;width:100%}.globe-visitas__canvas{cursor:grab;height:auto;position:relative;z-index:1}.globe-visitas__canvas:active{cursor:grabbing}.globe-visitas__tooltip{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#080e28e0;border:1px solid #508cff73;border-radius:6px;box-shadow:0 2px 12px #00287880;color:#d0e8ff;font-size:.78rem;line-height:1.4;padding:6px 10px;pointer-events:none;position:absolute;white-space:nowrap;z-index:10}.globe-visitas__tooltip-row{align-items:center;display:flex;gap:6px;margin-bottom:2px}.globe-visitas__tooltip-country{color:#80c0ff;font-size:.82rem;font-weight:700}.globe-visitas__tooltip-city{color:#a0c8e8;font-size:.74rem}.globe-visitas__tooltip-count{color:#e0f0ff;font-size:.75rem}.globe-visitas__overlay{align-items:center;color:#b4d2ff8c;display:flex;font-size:.8rem;font-style:italic;inset:0;justify-content:center;pointer-events:none;position:absolute}.globe-visitas__overlay--error{color:#ff6478a6}.globe-visitas__source{font-size:.7rem;font-style:italic;margin:.4rem 0 0;opacity:.45}@media (max-width:480px){.globe-visitas__tooltip{font-size:.72rem;padding:4px 8px}}#modal{animation:modalBackdrop .3s ease;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background-color:#00000080;display:none;height:100%;left:0;overflow:auto;position:fixed;scrollbar-width:thin;top:0;width:100%;z-index:1000}@keyframes modalBackdrop{0%{background-color:#0000}to{background-color:#00000080}}.modal-content{animation:modalSlideIn .4s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffffeb;border:1px solid #fff3;border-radius:var(--radius-xl);box-shadow:0 24px 64px #0003;color:#1a1a1a;margin:50px auto;max-height:80vh;overflow-y:auto;position:relative;width:35%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes modalSlideOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(20px) scale(.97)}}.modal-content::-webkit-scrollbar{width:6px}.modal-content::-webkit-scrollbar-track{background:#0000}.modal-content::-webkit-scrollbar-thumb{background:#00000026;border-radius:4px}.app-container.dark-mode .modal-content{background:#141824eb;border-color:#ffffff0f;color:#e8e8e8}@media only screen and (max-width:1024px){.modal-content{width:50%}}@media only screen and (max-width:768px){.modal-content{margin:30px auto;width:80%}}@media only screen and (max-width:600px){.modal-content{margin:20px auto;width:90%}}.modal-header{align-items:center;background:inherit;border-bottom:1px solid #0000000f;border-radius:var(--radius-xl) var(--radius-xl) 0 0;display:flex;justify-content:space-between;padding:1.5rem;position:sticky;top:0;z-index:10}.app-container.dark-mode .modal-header{border-bottom-color:#ffffff0f}.modal-header h2{flex:1 1;font-size:1.375rem;font-weight:700;letter-spacing:-.02em;margin:0;text-align:center}#closemodal{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:inherit;cursor:pointer;display:flex;font-size:1.5rem;font-weight:300;height:40px;justify-content:center;opacity:.4;padding:.25rem .5rem;transition:all var(--transition-fast);width:40px}#closemodal:hover{background:#0000000d;opacity:.8;transform:scale(1.1)}#closemodal:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}.modal-body{line-height:1.6;padding:2rem}.app-container.dark-mode .modal-body fieldset{background:#ffffff05;border-color:#ffffff14}fieldset{background:#00000005;border:1px solid #0000000f;border-radius:var(--radius-md);padding:1.5rem}fieldset legend{font-size:.9375rem;font-weight:700;padding:0 .5rem}.form-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.form-group:last-of-type{margin-bottom:0}.form-group label{display:block;font-size:.9rem;font-weight:600;opacity:.8}.form-group input[type=text],.form-group textarea{background:#0000;border:1.5px solid #0000001a;border-radius:var(--radius-sm);color:inherit;font-family:var(--font-sans);font-size:.9rem;line-height:1.5;padding:.75rem;transition:all var(--transition-fast);width:100%}.app-container.dark-mode .form-group input[type=text],.app-container.dark-mode .form-group textarea{border-color:#ffffff1a}.form-group textarea{min-height:120px;resize:vertical}.form-group input[type=text]:focus,.form-group textarea:focus{border-color:var(--app-accent);box-shadow:0 0 0 3px rgba(var(--app-accent-rgb),.1);outline:none}.form-group input[type=file]{color:inherit;cursor:pointer;font-size:.85rem;padding:.5rem}.form-group input[type=file]::file-selector-button{background:#0000000f;border:1px solid #0000001a;border-radius:var(--radius-sm);color:inherit;cursor:pointer;font-family:var(--font-sans);font-weight:500;margin-right:1rem;padding:.45rem 1rem;transition:all var(--transition-fast)}.form-group input[type=file]::file-selector-button:hover{background:#0000001a}.app-container.dark-mode .form-group input[type=file]::file-selector-button{background:#ffffff14;border-color:#ffffff1a}.app-container.dark-mode .form-group input[type=file]::file-selector-button:hover{background:#ffffff26}#file-help{display:block;font-size:.8125rem;font-style:italic;margin-top:.25rem;opacity:.5}.form-actions{align-items:center;border-top:1px solid #0000000f;display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem;padding-top:1.5rem}.app-container.dark-mode .form-actions{border-top-color:#ffffff0f}.btn-send{background:var(--app-accent);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;flex-shrink:0;font-size:.9rem;font-weight:600;padding:.75rem 1.5rem;transition:all var(--transition-fast);white-space:nowrap}.btn-send:hover{box-shadow:0 4px 12px rgba(var(--app-accent-rgb),.3);transform:translateY(-2px)}.btn-send:active{transform:translateY(0)}.status-label{font-size:.85rem;font-weight:600;opacity:.6}.status-message{align-items:center;display:flex;font-size:.8125rem;min-height:1.2em;opacity:.6}@media only screen and (max-width:768px){.modal-body{padding:1.5rem}fieldset{padding:1rem}.form-group{margin-bottom:1rem}.form-actions{flex-direction:column;gap:.5rem}.btn-send{width:100%}.status-label,.status-message{text-align:center;width:100%}}@media only screen and (max-width:480px){.modal-header{padding:1rem}.modal-header h2{font-size:1.125rem}.modal-body{padding:1rem}fieldset{padding:.75rem}.form-group textarea{font-size:14px;min-height:100px}}@media (prefers-reduced-motion:reduce){#closemodal,.btn-send,.modal-content{animation:none!important;transition:none!important}.btn-send:hover{transform:none!important}}.cookie-consent{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-top:1px dotted;bottom:0;box-shadow:0 -2px 10px #00000026;left:0;padding:1rem;position:fixed;right:0;transition:all .3s ease;z-index:1000}.cookie-content{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin:0 auto;max-width:1200px}.cookie-content p{flex:1 1;font-size:.9rem;margin:0;min-width:250px}.cookie-buttons{align-items:center;display:flex;gap:.5rem}.accept-btn{border-radius:5px;cursor:pointer;font-size:.9rem;font-weight:700;padding:.5rem 1rem;transition:all .3s ease}.accept-btn:hover{opacity:.8;transform:translateY(-1px)}.close-btn{align-items:center;background:#0000;border-radius:50%;cursor:pointer;display:flex;font-size:1.2rem;font-weight:700;height:30px;justify-content:center;min-width:30px;padding:.3rem .7rem;transition:all .3s ease}.close-btn:hover{opacity:.7;transform:scale(1.1)}@media (max-width:768px){.cookie-content{flex-direction:column;text-align:center}.cookie-content p{min-width:auto}.cookie-buttons{justify-content:center;width:100%}}.gameboy-overlay{align-items:center;animation:fadeIn .3s ease-in-out;background:#000000e6;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:10000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.gameboy-overlay.fullscreen{background:#000000f2}.close-button{background:#c83c3c40;border:1px solid #c83c3c4d;border-radius:4px;color:#0f380f;cursor:pointer;font-size:14px;line-height:1.2;padding:2px 8px;transition:background .15s}.close-button:hover{background:#c83c3c73}.screen-area-full .close-button{background:#c83c3c4d;border-color:#c83c3c66;color:#ffffffe6}.screen-area-full .close-button:hover{background:#c83c3c80}.gameboy-container-fullscreen{background:#111!important;border-radius:0!important;box-shadow:none!important;display:flex;flex-direction:column;height:100vh!important;max-width:none!important;padding:0!important;width:100vw!important}.emulator-canvas{aspect-ratio:160/144!important;background:#9bbc0f!important;border:none!important;border-radius:0!important;display:block!important;height:100%!important;image-rendering:pixelated!important;image-rendering:-moz-crisp-edges!important;image-rendering:crisp-edges!important;max-height:100%!important;max-width:100%!important;object-fit:contain!important;visibility:visible!important;width:100%!important}.emulator-wrapper{align-items:center;display:flex;height:100%;justify-content:center;overflow:hidden;position:relative;width:100%}.emulator-loading{background:#000c;border-radius:4px;color:#fff;font-size:12px;left:50%;padding:10px;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:1}.gameboy-container{align-items:center;background:linear-gradient(145deg,#8b956d,#9fa58a);border-radius:20px 20px 40px 40px;box-shadow:0 20px 40px #0000004d,inset 0 2px 4px #ffffff1a;display:flex;flex-direction:column;height:600px;padding:20px;position:relative;width:400px}.screen-area-box{flex-shrink:0}.screen-area-full{width:100%}.canvas-wrapper-full,.screen-area-full{display:flex;flex:1 1;flex-direction:column;min-height:0}.canvas-wrapper-full>div{flex:1 1}.canvas-wrapper-full .emulator-wrapper{height:100%}.game-player-content,.screen-area{display:flex;flex-direction:column}.game-player-content{height:100%;width:100%}.gameboy-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px;width:100%}.gameboy-logo{color:#2d3d2d;font-family:Courier New,monospace;font-size:18px;font-weight:700;text-shadow:1px 1px 2px #ffffff4d}.gameboy-close{background:#d32f2f;border:none;border-radius:50%;box-shadow:0 2px 4px #0000004d;color:#fff;cursor:pointer;font-size:20px;height:30px;transition:all .2s ease;width:30px}.gameboy-close:hover{background:#b71c1c;transform:scale(1.1)}.screen-area{background:#2d3d2d;border-radius:10px;box-shadow:inset 0 4px 8px #00000080,0 2px 4px #ffffff1a;margin-bottom:30px;padding:15px}.screen-area-box{height:240px;width:320px}.screen-area-full{background:#0000;border-radius:0;box-shadow:none;margin-bottom:0;padding:0}.game-menu,.game-player{background:#9bbc0f;border-radius:5px;color:#0f380f;display:flex;flex-direction:column;font-family:Courier New,monospace;height:100%;overflow:hidden;width:100%}.screen-area-full .game-menu,.screen-area-full .game-player{background:#0f380f;border-radius:0;color:#9bbc0f}.game-menu{align-items:center;display:flex;flex:1 1;flex-direction:column;padding:10px}.game-menu h3{font-size:14px;margin:0 0 15px;text-align:center}.loading,.no-games{font-size:12px;margin-top:50px;text-align:center}.games-list{display:flex;flex-direction:column;gap:8px;height:100%;overflow-y:auto;width:100%}.game-item{align-items:center;background:#0f380f1a;border-radius:3px;cursor:pointer;display:flex;gap:10px;padding:8px;transition:background .2s ease}.game-item:hover{background:#0f380f33}.game-icon{font-size:16px;min-width:20px}.game-info{display:flex;flex:1 1;flex-direction:column;gap:2px}.game-name{font-size:11px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-type{font-size:9px;font-style:italic;opacity:.7}.game-player{display:flex;flex:1 1;flex-direction:column}.game-header{align-items:center;background:#dceba0eb;border-bottom:1px solid #0f380f33;display:flex;flex-shrink:0;gap:8px;height:28px;padding:5px 8px}.screen-area-full .game-header{background:#0f0f19d9;border-bottom:1px solid #ffffff14}.game-header-right{align-items:center;display:flex;gap:6px;margin-left:auto}.back-button{background:#0f380f33;border:1px solid #0f380f40;border-radius:4px;color:#0f380f;cursor:pointer;font-family:Courier New,monospace;font-size:10px;font-weight:600;padding:4px 10px;transition:background .15s}.back-button:hover{background:#0f380f59}.screen-area-full .back-button{background:#ffffff1f;border-color:#ffffff2e;color:#ffffffe6}.screen-area-full .back-button:hover{background:#ffffff38}.fullscreen-button{background:#0f380f33;border:1px solid #0f380f40;border-radius:4px;color:#0f380f;cursor:pointer;font-size:12px;line-height:1;padding:4px 8px;transition:background .15s}.fullscreen-button:hover{background:#0f380f59}.screen-area-full .fullscreen-button{background:#ffffff1f;border-color:#ffffff2e;color:#ffffffe6}.screen-area-full .fullscreen-button:hover{background:#ffffff38}.game-title{color:#0f380f;flex:1 1;font-size:11px;font-weight:600;text-align:center}.screen-area-full .game-title{color:#ffffffd9;text-shadow:0 1px 3px #0006}.game-switcher{background:#0f380f33;border:1px solid #0f380f59;border-radius:4px;color:#0f380f;cursor:pointer;font-family:Courier New,monospace;font-size:10px;font-weight:600;max-width:110px;padding:3px 6px}.game-switcher:focus{border-color:#0f380f;outline:none}.screen-area-full .game-switcher{background:#ffffff1f;border-color:#fff3;color:#ffffffe6}.screen-area-full .game-switcher option{background:#222;color:#fff}.canvas-wrapper{align-items:center;display:flex;flex:1 1;justify-content:center;min-height:50px;min-width:50px;overflow:hidden;position:relative}.canvas-wrapper-fit{max-height:calc(100% - 28px)}.canvas-wrapper-fit,.canvas-wrapper-full,.game-canvas{height:100%;width:100%}.game-canvas{background:#0f380f;border-radius:3px;image-rendering:pixelated}.emulator-error{align-items:center;color:#0f380f;display:flex;flex-direction:column;font-size:12px;height:100%;justify-content:center;text-align:center;width:100%}.emulator-error small{font-size:10px;margin-top:5px;opacity:.8}.gameboy-overlay.fullscreen .emulator-error{color:#ff6b6b}.gameboy-controls{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:20px;padding:0 20px;width:100%}.dpad-container{align-items:center;display:flex;justify-content:center}.dpad{grid-gap:2px;display:grid;gap:2px;grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr 1fr 1fr;height:80px;position:relative;width:80px}.dpad button{background:#2d3d2d;border:none;box-shadow:0 3px 6px #0000004d,inset 0 1px 2px #ffffff1a;color:#8b956d;cursor:pointer;font-size:16px;transition:all .1s ease}.dpad button:active{box-shadow:0 1px 3px #0000004d,inset 0 2px 4px #0003;transform:translateY(1px)}.dpad-up{border-radius:8px 8px 0 0;grid-column:2;grid-row:1}.dpad-left{border-radius:8px 0 0 8px;grid-column:1;grid-row:2}.dpad-center{background:#1a2a1a;cursor:default;grid-column:2;grid-row:2}.dpad-right{border-radius:0 8px 8px 0;grid-column:3;grid-row:2}.dpad-down{border-radius:0 0 8px 8px;grid-column:2;grid-row:3}.action-buttons{align-items:center;display:flex;gap:15px}.btn-a,.btn-b{background:#2d3d2d;border:none;border-radius:50%;box-shadow:0 4px 8px #0000004d,inset 0 1px 2px #ffffff1a;color:#8b956d;cursor:pointer;font-size:16px;font-weight:700;height:50px;transition:all .1s ease;width:50px}.btn-a:active,.btn-b:active{box-shadow:0 2px 4px #0000004d,inset 0 2px 4px #0003;transform:translateY(1px)}.gameboy-bottom{align-items:center;display:flex;flex-shrink:0;gap:40px}.select-btn,.start-btn{background:#2d3d2d;border:none;border-radius:20px;box-shadow:0 2px 4px #0000004d,inset 0 1px 2px #ffffff1a;color:#8b956d;cursor:pointer;font-size:10px;font-weight:700;padding:8px 16px;transition:all .1s ease}.select-btn:active,.start-btn:active{box-shadow:0 1px 2px #0000004d,inset 0 2px 4px #0003;transform:translateY(1px)}.controls-info{flex-shrink:0;margin-top:15px;padding:0 10px;text-align:center}.controls-info small{color:#5a6b5a;display:block;font-size:9px;line-height:1.2}.gameboy-overlay.fullscreen .controls-info small{color:#999;font-size:12px}.volume-control{align-items:center;display:flex;flex-shrink:0;gap:8px;justify-content:center;margin:8px 0}.volume-control label{font-size:14px}.volume-control input[type=range]{appearance:none;background:#5a6b5a;border-radius:2px;cursor:pointer;height:4px;outline:none;width:100px}.volume-control input[type=range]::-webkit-slider-thumb{appearance:none;background:#2d3d2d;border:2px solid #8b956d;border-radius:50%;cursor:pointer;height:14px;width:14px}.volume-control input[type=range]::-moz-range-thumb{background:#2d3d2d;border:2px solid #8b956d;border-radius:50%;cursor:pointer;height:14px;width:14px}.volume-value{color:#0f380f;font-family:Courier New,monospace;font-size:11px;font-weight:700;min-width:32px;text-align:right}.gameboy-overlay.fullscreen .volume-value{color:#ccc}.gameboy-overlay.fullscreen .volume-control input[type=range]{background:#555}.gameboy-overlay.fullscreen .volume-control input[type=range]::-webkit-slider-thumb{background:#888;border-color:#ccc}@media (max-width:480px){.gameboy-container{height:80vh;max-width:350px;width:90vw}.screen-area-box{height:180px;width:90%}.dpad{height:60px;width:60px}.btn-a,.btn-b{font-size:14px;height:40px;width:40px}}.background-animations{height:100%;left:0;opacity:.15;overflow:hidden;pointer-events:none;position:fixed;top:0;width:100%;z-index:-1}.shape{opacity:.4;position:absolute;transition:border-color 1s ease}.circle{border:2px solid;border-radius:50%}.circle-1{animation:floatSlow 40s ease-in-out infinite;border-color:var(--app-accent);height:200px;left:82%;top:8%;width:200px}.circle-2{animation:floatSlow 45s ease-in-out infinite reverse;border-color:var(--app-color);height:140px;left:5%;top:55%;width:140px}.square{border:2px solid}.square-1{animation:rotateSlow 60s linear infinite;border-color:var(--app-accent);height:100px;right:12%;top:35%;width:100px}.dots-pattern{height:100%;position:absolute;width:100%}.dot{animation:pulseDot 6s ease-in-out infinite;background:var(--app-accent);border-radius:50%;height:3px;opacity:.4;position:absolute;width:3px}@keyframes floatSlow{0%,to{transform:translateZ(0)}50%{transform:translate3d(-25px,-35px,0)}}@keyframes rotateSlow{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes pulseDot{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.15;transform:scale(1.3)}}@media (max-width:768px){.background-animations{opacity:.1}.circle-1{height:120px;width:120px}.circle-2{height:90px;width:90px}.square-1{height:70px;width:70px}}@media (prefers-reduced-motion:reduce){.background-animations{opacity:.06}.dot,.shape{animation:none!important}}.language-switcher{align-items:center;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#ffffffb3;border:1px solid #00000014;border-radius:var(--radius-md);box-shadow:var(--shadow-md);display:flex;gap:8px;padding:8px 14px;position:fixed;right:20px;top:20px;transition:all var(--transition-base);z-index:1000}.language-switcher:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.language-switcher label{cursor:pointer;font-size:1.1rem;line-height:1;-webkit-user-select:none;user-select:none}.language-switcher select{background:#0000;border:1px solid #0000001f;border-radius:var(--radius-sm);color:inherit;cursor:pointer;font-family:inherit;font-size:.8125rem;outline:none;padding:4px 8px;transition:all var(--transition-fast)}.language-switcher select:hover{border-color:#00000040}.language-switcher select:focus{border-color:var(--app-accent);box-shadow:0 0 0 2px rgba(var(--app-accent-rgb),.15)}.dark-mode-toggle{background:#0000;border:none;cursor:pointer;font-size:1.1rem;line-height:1;padding:0;transition:transform var(--transition-fast)}.dark-mode-toggle:hover{transform:scale(1.2)}.app-container.dark-mode .language-switcher{background:#141824d9;border-color:#ffffff14}.app-container.dark-mode .language-switcher select{border-color:#ffffff26}.app-container.dark-mode .language-switcher select:hover{border-color:#ffffff40}@media (max-width:768px){.language-switcher{bottom:20px;gap:6px;padding:6px 10px;right:10px;top:auto}.language-switcher label{font-size:.9rem}.language-switcher select{font-size:.7rem;padding:2px 4px}}@media (min-width:769px) and (max-width:1024px){.language-switcher{padding:6px 12px;right:15px;top:15px}}:root{--ambrosio-accent:#7c3aed;--ambrosio-dark:#4c1d95;--ambrosio-bg:#fffffff5;--ambrosio-shadow:0 20px 60px #0000002e,0 4px 20px #0000001a;--ambrosio-radius:20px;--ambrosio-bot-bg:linear-gradient(135deg,#7c3aed22,#a855f722);--ambrosio-user-bg:linear-gradient(135deg,var(--ambrosio-accent),#a855f7);--ambrosio-z:9998}.ambrosio-root{align-items:flex-end;bottom:2rem;gap:.75rem;pointer-events:none;position:fixed;right:2rem;z-index:9998;z-index:var(--ambrosio-z)}.ambrosio-root,.ambrosio-toggle{display:flex;flex-direction:column}.ambrosio-toggle{align-items:center;animation:ambrosioGradientShift 4s ease infinite,ambrosioFloat 3s ease-in-out infinite;background:linear-gradient(135deg,#7c3aed,#4c1d95);background:linear-gradient(135deg,var(--ambrosio-accent),var(--ambrosio-dark));background-size:200% 200%;border:none;border-radius:50%;box-shadow:0 8px 32px color-mix(in srgb,#7c3aed 45%,#0000),0 2px 8px #0003;box-shadow:0 8px 32px color-mix(in srgb,var(--ambrosio-accent) 45%,#0000),0 2px 8px #0003;color:#fff;cursor:pointer;gap:0;height:68px;justify-content:center;overflow:visible;pointer-events:all;position:relative;transition:box-shadow .3s ease;width:68px}.ambrosio-toggle:hover{animation-play-state:paused;box-shadow:0 12px 40px color-mix(in srgb,#7c3aed 65%,#0000),0 4px 12px #00000040;box-shadow:0 12px 40px color-mix(in srgb,var(--ambrosio-accent) 65%,#0000),0 4px 12px #00000040}.ambrosio-toggle.is-open{animation:none;background:linear-gradient(135deg,#4c1d95,#7c3aed);background:linear-gradient(135deg,var(--ambrosio-dark),var(--ambrosio-accent))}.ambrosio-toggle__emoji{display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));font-size:2rem;line-height:1}.ambrosio-toggle__label{bottom:-1.6rem;color:#7c3aed;color:var(--ambrosio-accent);font-size:.65rem;font-weight:700;left:50%;letter-spacing:.05em;pointer-events:none;position:absolute;text-shadow:0 1px 4px #ffffffe6,0 0 8px color-mix(in srgb,#7c3aed 80%,#0000);text-shadow:0 1px 4px #ffffffe6,0 0 8px color-mix(in srgb,var(--ambrosio-accent) 80%,#0000);text-transform:uppercase;transform:translateX(-50%);white-space:nowrap}.ambrosio-toggle__badge{align-items:center;animation:ambrosioPulse 2s ease-in-out infinite;background:#22c55e;border:2px solid #fff;border-radius:50%;color:#fff;display:flex;font-size:.6rem;height:20px;justify-content:center;position:absolute;right:-4px;top:-4px;width:20px}.ambrosio-window{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#fffffff5;background:var(--ambrosio-bg);border:1px solid #7c3aed26;border-radius:20px;border-radius:var(--ambrosio-radius);box-shadow:0 20px 60px #0000002e,0 4px 20px #0000001a;box-shadow:var(--ambrosio-shadow);display:flex;flex-direction:column;max-height:620px;max-width:calc(100vw - 2.5rem);overflow:hidden;pointer-events:all;width:360px}.ambrosio-header{align-items:center;background:linear-gradient(135deg,#7c3aed,#4c1d95);background:linear-gradient(135deg,var(--ambrosio-accent),var(--ambrosio-dark));color:#fff;display:flex;flex-shrink:0;gap:.75rem;padding:1rem 1.25rem;position:relative}.ambrosio-header:after{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);bottom:0;content:"";height:1px;left:0;position:absolute;right:0}.ambrosio-header__info{flex:1 1;min-width:0}.ambrosio-header__info strong{display:block;font-size:1rem;font-weight:700;letter-spacing:-.01em}.ambrosio-header__status{align-items:center;display:flex;font-size:.72rem;gap:.35rem;opacity:.9}.ambrosio-online-dot{animation:ambrosioPulse 2s ease-in-out infinite;background:#4ade80;border-radius:50%;flex-shrink:0;height:8px;width:8px}.ambrosio-header__close{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:.85rem;height:32px;justify-content:center;transition:background .2s;width:32px}.ambrosio-header__close:hover{background:#ffffff59}.ambrosio-avatar{align-items:center;display:flex;flex-shrink:0;justify-content:center;position:relative}.ambrosio-avatar--large{height:52px;width:52px}.ambrosio-avatar--small{background:#fff3;border:2px solid #fff6;border-radius:50%;height:38px;width:38px}.ambrosio-avatar__hat{font-size:.9rem;left:50%;position:absolute;top:-8px;transform:translateX(-50%);z-index:1}.ambrosio-avatar--small .ambrosio-avatar__hat{font-size:.75rem;top:-6px}.ambrosio-avatar__face{font-size:1.5rem;line-height:1}.ambrosio-avatar--small .ambrosio-avatar__face{font-size:1.2rem}.ambrosio-messages{display:flex;flex:1 1;flex-direction:column;gap:.6rem;max-height:300px;min-height:180px;overflow-y:auto;padding:1rem;scroll-behavior:smooth}.ambrosio-messages::-webkit-scrollbar{width:4px}.ambrosio-messages::-webkit-scrollbar-track{background:#0000}.ambrosio-messages::-webkit-scrollbar-thumb{background:#7c3aed4d;border-radius:2px}.ambrosio-msg{align-items:flex-end;display:flex;gap:.5rem;max-width:88%}.ambrosio-msg--bot{align-self:flex-start}.ambrosio-msg--user{align-self:flex-end;flex-direction:row-reverse}.ambrosio-msg__avatar{filter:drop-shadow(0 1px 3px rgba(0,0,0,.2));flex-shrink:0;font-size:1.1rem}.ambrosio-msg__bubble{display:flex;flex-direction:column;gap:.2rem}.ambrosio-msg--bot .ambrosio-msg__bubble{background:linear-gradient(135deg,#7c3aed22,#a855f722);background:var(--ambrosio-bot-bg);border:1px solid #7c3aed1f;border-radius:16px 16px 16px 4px;padding:.6rem .85rem}.ambrosio-msg--user .ambrosio-msg__bubble{background:linear-gradient(135deg,#7c3aed,#a855f7);background:var(--ambrosio-user-bg);border-radius:16px 16px 4px 16px;padding:.6rem .85rem}.ambrosio-msg__text{font-size:.875rem;line-height:1.55;margin:0;word-break:break-word}.ambrosio-msg--bot .ambrosio-msg__text{color:#1e1b4b}.ambrosio-msg--user .ambrosio-msg__text{color:#fff}.ambrosio-msg__time{display:block;font-size:.62rem;opacity:.5;text-align:right}.ambrosio-msg--bot .ambrosio-msg__time{color:#5b21b6}.ambrosio-msg--user .ambrosio-msg__time{color:#fffc}.ambrosio-typing{align-items:center;display:flex;gap:4px;padding:4px 2px}.ambrosio-typing span{animation:ambrosioTypingDot 1.2s ease-in-out infinite;background:#a855f7;border-radius:50%;height:7px;width:7px}.ambrosio-typing span:nth-child(2){animation-delay:.2s}.ambrosio-typing span:nth-child(3){animation-delay:.4s}.ambrosio-quickactions{background:#7c3aed08;border-top:1px solid #7c3aed1a;display:flex;flex-shrink:0;flex-wrap:wrap;gap:.4rem;padding:.5rem 1rem}.ambrosio-quickaction{background:#7c3aed1a;border:1px solid #7c3aed40;border-radius:999px;color:#5b21b6;cursor:pointer;font-size:.72rem;font-weight:600;padding:.3rem .75rem;transition:all .2s ease;white-space:nowrap}.ambrosio-quickaction:hover{background:#7c3aed33;border-color:#7c3aed80;transform:translateY(-1px)}.ambrosio-quickaction:active{transform:translateY(0)}.ambrosio-call-bar{border-top:1px solid #7c3aed1a;flex-shrink:0;padding:.5rem 1rem}.ambrosio-callbar-btn{align-items:center;background:linear-gradient(135deg,#16a34a,#22c55e);border:none;border-radius:12px;box-shadow:0 3px 12px #22c55e59;color:#fff;cursor:pointer;display:flex;font-size:.85rem;font-weight:700;gap:.5rem;justify-content:center;letter-spacing:.01em;padding:.6rem 1rem;transition:all .2s ease;width:100%}.ambrosio-callbar-btn:hover{background:linear-gradient(135deg,#15803d,#16a34a);box-shadow:0 5px 18px #22c55e80;transform:translateY(-1px)}.ambrosio-callbar-btn:active{transform:translateY(0)}.ambrosio-name-prompt{background:#7c3aed0a;border-top:1px solid #7c3aed1a;flex-shrink:0;overflow:hidden;padding:.75rem 1rem}.ambrosio-name-prompt__label{color:#5b21b6;display:block;font-size:.78rem;font-weight:600;margin-bottom:.4rem}.ambrosio-name-prompt__row{display:flex;gap:.4rem}.ambrosio-name-prompt__input{background:#fff;border:1.5px solid #7c3aed4d;border-radius:10px;color:#1e1b4b;flex:1 1;font-size:.85rem;outline:none;padding:.45rem .75rem;transition:border-color .2s}.ambrosio-name-prompt__input:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed26}.ambrosio-name-prompt__cancel,.ambrosio-name-prompt__submit{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;flex-shrink:0;font-size:.9rem;height:36px;justify-content:center;transition:all .2s;width:36px}.ambrosio-name-prompt__submit{background:linear-gradient(135deg,#16a34a,#22c55e);color:#fff}.ambrosio-name-prompt__submit:hover{filter:brightness(1.1)}.ambrosio-name-prompt__cancel{background:#7c3aed1a;color:#5b21b6}.ambrosio-name-prompt__cancel:hover{background:#7c3aed33}.ambrosio-input-row{align-items:center;background:#fffc;border-top:1px solid #7c3aed1a;display:flex;flex-shrink:0;gap:.5rem;padding:.75rem 1rem}.ambrosio-input{background:#fff;border:1.5px solid #7c3aed40;border-radius:12px;color:#1e1b4b;flex:1 1;font-family:inherit;font-size:.875rem;outline:none;padding:.55rem 1rem;transition:border-color .2s,box-shadow .2s}.ambrosio-input::placeholder{color:#a78bfa}.ambrosio-input:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed26}.ambrosio-send{align-items:center;background:linear-gradient(135deg,#7c3aed,#a855f7);border:none;border-radius:12px;box-shadow:0 3px 10px #7c3aed59;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:.9rem;height:40px;justify-content:center;transition:all .2s ease;width:40px}.ambrosio-send:hover:not(:disabled){box-shadow:0 5px 16px #7c3aed80;transform:translateY(-1px)}.ambrosio-send:disabled{cursor:not-allowed;opacity:.4}.ambrosio-call-overlay{background:linear-gradient(160deg,#1e1b4b,#2e1065,#4c1d95);border-radius:20px;border-radius:var(--ambrosio-radius);color:#fff;gap:1.25rem;inset:0;justify-content:center;padding:2rem 1.5rem;position:absolute;z-index:10}.ambrosio-call-avatar,.ambrosio-call-overlay{align-items:center;display:flex;flex-direction:column}.ambrosio-call-avatar{gap:.5rem}.ambrosio-call-pulse{align-items:center;background:#ffffff1f;border:2px solid #ffffff26;border-radius:50%;display:flex;font-size:2.5rem;height:80px;justify-content:center;transition:all .5s ease;width:80px}.ambrosio-call-pulse.is-ringing{animation:ambrosioCallPulse 1s ease-in-out infinite;border-color:#facc1599;box-shadow:0 0 0 0 #facc1566}.ambrosio-call-pulse.is-connected{border-color:#4ade80b3;box-shadow:0 0 20px #4ade804d}.ambrosio-call-name{font-size:1.3rem;font-weight:700;letter-spacing:-.02em}.ambrosio-call-addr{font-size:.75rem;opacity:.65}.ambrosio-call-status{background:#ffffff14;border-radius:999px;font-size:.875rem;min-height:2rem;opacity:.9;padding:.4rem 1rem;text-align:center}.ambrosio-call-status--ringing{color:#fde047}.ambrosio-call-status--connected{color:#4ade80}.ambrosio-call-status--ended{color:#94a3b8}.ambrosio-call-status--failed{color:#f87171}.ambrosio-call-error{display:block;font-size:.7rem;margin-top:.25rem;opacity:.7}.ambrosio-call-audio{display:none}.ambrosio-call-controls{align-items:center;display:flex;gap:1rem}.ambrosio-call-btn{align-items:center;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:1.1rem;height:54px;justify-content:center;transition:all .2s ease;width:54px}.ambrosio-call-btn--mute{background:#ffffff26;color:#fff}.ambrosio-call-btn--mute.is-active{background:#ef4444;color:#fff}.ambrosio-call-btn--speaker{background:#ffffff26;color:#fff}.ambrosio-call-btn--speaker.is-active{background:#3b82f6}.ambrosio-call-btn--hangup{background:#ef4444;box-shadow:0 4px 16px #ef444480;color:#fff;font-size:1.3rem;height:62px;width:62px}.ambrosio-call-btn:hover{filter:brightness(1.1);transform:scale(1.08)}.ambrosio-call-btn:active{transform:scale(.96)}@keyframes ambrosioFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes ambrosioGradientShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes ambrosioPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.15)}}@keyframes ambrosioTypingDot{0%,to{opacity:.4;transform:translateY(0)}50%{opacity:1;transform:translateY(-5px)}}@keyframes ambrosioCallPulse{0%{box-shadow:0 0 0 0 #facc1580}70%{box-shadow:0 0 0 20px #facc1500}to{box-shadow:0 0 0 0 #facc1500}}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}@media (max-width:480px){.ambrosio-root{bottom:1.25rem;right:1.25rem}.ambrosio-window{max-height:75vh;width:calc(100vw - 2.5rem)}.ambrosio-toggle{height:60px;width:60px}.ambrosio-toggle__emoji{font-size:1.7rem}}@media (max-width:360px){.ambrosio-window{max-width:none;width:calc(100vw - 1.5rem)}.ambrosio-root{bottom:1rem;right:.75rem}}@media (prefers-color-scheme:dark){.ambrosio-window{background:#0f0a28f7;border-color:#7c3aed4d}.ambrosio-msg--bot .ambrosio-msg__bubble{background:linear-gradient(135deg,#7c3aed33,#a855f726);border-color:#7c3aed40}.ambrosio-msg--bot .ambrosio-msg__text{color:#e9d5ff}.ambrosio-msg--bot .ambrosio-msg__time{color:#a78bfa}.ambrosio-quickaction{background:#7c3aed33;border-color:#7c3aed66;color:#c4b5fd}.ambrosio-input-row{background:#0f0a28cc}.ambrosio-input{background:#ffffff12;border-color:#7c3aed59;color:#e9d5ff}.ambrosio-input::placeholder{color:#7c3aed}.ambrosio-name-prompt{background:#7c3aed1a}.ambrosio-name-prompt__label{color:#c4b5fd}.ambrosio-name-prompt__input{background:#ffffff14;color:#e9d5ff}.ambrosio-toggle__label{color:#7c3aed;color:var(--ambrosio-accent);text-shadow:0 1px 4px #0009,0 0 8px color-mix(in srgb,#7c3aed 40%,#0000);text-shadow:0 1px 4px #0009,0 0 8px color-mix(in srgb,var(--ambrosio-accent) 40%,#0000)}.ambrosio-quickactions{background:#7c3aed0d}}.aleai-section{margin:0 auto;max-width:720px;padding:2.5rem 1.5rem;transition:color 1s cubic-bezier(.4,0,.2,1)}.aleai-header{margin-bottom:1.75rem;text-align:center}.aleai-badge{align-items:center;border:1.5px solid;border-radius:999px;display:inline-flex;font-size:.72rem;font-weight:700;gap:.45rem;letter-spacing:.12em;margin-bottom:.85rem;opacity:.65;padding:.3rem .85rem;text-transform:uppercase}.aleai-title{font-size:clamp(1.4rem,3.5vw,2rem);font-weight:800;letter-spacing:-.02em;line-height:1.2;margin:0 0 .5rem}.aleai-subtitle{font-size:.95rem;line-height:1.5;opacity:.72}.aleai-box{backdrop-filter:blur(12px) saturate(1.4);-webkit-backdrop-filter:blur(12px) saturate(1.4);border:1.5px solid;border:1.5px solid var(--aleai-accent,currentColor);border-radius:18px;box-shadow:0 4px 24px -4px #0000002e,0 1px 2px #00000014;overflow:hidden;transition:border-color 1s cubic-bezier(.4,0,.2,1),box-shadow 1s cubic-bezier(.4,0,.2,1)}.app-container.dark-mode .aleai-box{box-shadow:0 4px 32px -4px #0000008c,0 0 0 1px #ffffff0a}.aleai-messages{display:flex;flex-direction:column;gap:.75rem;max-height:320px;min-height:90px;overflow-y:auto;padding:1.2rem 1.25rem .75rem;scrollbar-color:currentColor #0000;scrollbar-width:thin}.aleai-messages::-webkit-scrollbar{width:4px}.aleai-messages::-webkit-scrollbar-thumb{background:currentColor;border-radius:4px;opacity:.3}.aleai-message{align-items:flex-start;animation:aleai-fadeup .3s ease both;display:flex;gap:.55rem}@keyframes aleai-fadeup{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.aleai-message.user{flex-direction:row-reverse}.aleai-avatar{align-items:center;background:currentColor;background:var(--aleai-accent,currentColor);border-radius:50%;color:#000000bf;display:flex;flex-shrink:0;font-size:.7rem;font-weight:700;height:30px;justify-content:center;width:30px}.aleai-bubble{border-radius:14px;font-size:.9rem;line-height:1.55;max-width:80%;padding:.6rem .9rem;text-align:left;word-break:break-word}.aleai-message.ai .aleai-bubble{background:#ffffff0f;border:1.5px solid #00000059}.app-container.dark-mode .aleai-message.ai .aleai-bubble{background:#ffffff0a;border-color:#ffffff40}.aleai-message.user .aleai-bubble{background:currentColor;background:var(--aleai-accent,currentColor);border:1.5px solid #00000059;color:#000000d9}.aleai-typing{align-items:center;display:flex;font-size:.82rem;gap:.3rem;opacity:.65;padding:.55rem .9rem}.aleai-typing-dot{animation:aleai-blink 1.2s ease-in-out infinite;background:currentColor;background:var(--aleai-accent,currentColor);border-radius:50%;height:6px;width:6px}.aleai-typing-dot:nth-child(2){animation-delay:.2s}.aleai-typing-dot:nth-child(3){animation-delay:.4s}@keyframes aleai-blink{0%,80%,to{opacity:.2;transform:scale(.8)}40%{opacity:1;transform:scale(1.1)}}.aleai-error{border:1px dashed;border-radius:8px;font-size:.82rem;opacity:.75;padding:.5rem .9rem;text-align:center}.aleai-input-row{align-items:flex-end;border-top:1.5px solid;border-top:1.5px solid var(--aleai-accent,currentColor);display:flex;gap:0;transition:border-color 1s cubic-bezier(.4,0,.2,1)}.aleai-textarea{background:#0000;border:none;color:inherit;flex:1 1;font:inherit;font-size:.9rem;line-height:1.55;max-height:140px;min-height:54px;outline:none;overflow-y:auto;padding:.85rem 1rem;resize:none;scrollbar-width:thin}.aleai-textarea::placeholder{opacity:.45}.aleai-send-btn{align-items:center;background:currentColor;background:var(--aleai-accent,currentColor);border:none;border-radius:50%;cursor:pointer;display:flex;flex-shrink:0;height:44px;justify-content:center;margin:5px 6px;opacity:.85;transition:opacity .2s,transform .15s;width:44px}.aleai-send-btn:hover:not(:disabled){opacity:1;transform:scale(1.08)}.aleai-send-btn:disabled{cursor:not-allowed;opacity:.3}.aleai-send-btn svg{fill:none;stroke:#000000bf;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;height:18px;width:18px}.app-container.dark-mode .aleai-send-btn svg{stroke:#000000bf}.aleai-powered{font-size:.7rem;letter-spacing:.04em;margin-top:.7rem;opacity:.4;text-align:center}.aleai-tools-row{display:flex;justify-content:center;margin-top:.6rem}.aleai-tools-select{appearance:auto;background:#0000;border:1.5px solid;border:1.5px solid var(--aleai-accent,currentColor);border-radius:10px;color:inherit;cursor:pointer;font-size:.82rem;max-width:480px;opacity:.75;outline:none;padding:.45rem .85rem;transition:opacity .2s,border-color .2s;width:100%}.aleai-tools-select:focus,.aleai-tools-select:hover{opacity:1}@media (max-width:480px){.aleai-section{padding:1.75rem 1rem}.aleai-messages{max-height:260px}.aleai-bubble{max-width:90%}}.holiday-banner{align-items:center;animation:hb-slide-down .45s cubic-bezier(.4,0,.2,1);background:linear-gradient(135deg,#7c3aed,color-mix(in srgb,#7c3aed 70%,#000));background:linear-gradient(135deg,var(--hb-color,#7c3aed),color-mix(in srgb,var(--hb-color,#7c3aed) 70%,#000));color:#fff;display:flex;font-family:Inter,sans-serif;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;letter-spacing:.01em;padding:.65rem 3rem;position:relative;text-align:center;z-index:100}@keyframes hb-slide-down{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.holiday-banner__icon{flex-shrink:0;font-size:1.35em;line-height:1}.holiday-banner__message{line-height:1.4}.holiday-banner__dismiss{background:none;border:none;border-radius:4px;color:#ffffffd9;cursor:pointer;font-size:1.5rem;line-height:1;padding:.25rem .4rem;position:absolute;right:.75rem;top:50%;transform:translateY(-50%);transition:color .15s,background .15s}.holiday-banner__dismiss:focus-visible,.holiday-banner__dismiss:hover{background:#ffffff26;color:#fff;outline:none}@media (max-width:480px){.holiday-banner{font-size:.875rem;padding:.55rem 2.5rem}}.donate-section{margin:0 auto;max-width:1400px;padding:clamp(3rem,6vw,5rem) 0}.donate-container{padding:0 var(--spacing-lg)}.donate-subtitle{font-size:clamp(.9375rem,2vw,1.1rem);font-weight:400;margin-bottom:var(--spacing-2xl);margin-left:auto;margin-right:auto;max-width:600px;opacity:.65;text-align:center}.donate-title-icon{color:#e0245e;font-size:.85em;margin-right:.3em;vertical-align:middle}.donate-card{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#fff9;border:1px solid #0000000f;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);margin:0 auto;max-width:640px;overflow:hidden;padding:var(--spacing-2xl) var(--spacing-xl);position:relative;text-align:center;transition:box-shadow var(--transition-base),transform var(--transition-base)}.donate-card:before{background:linear-gradient(90deg,#0000,var(--app-accent),#0000);content:"";height:3px;left:0;opacity:.3;position:absolute;top:0;width:100%}.donate-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-2px)}.app-container.dark-mode .donate-card{background:#ffffff0a;border-color:#ffffff14}.donate-perks{display:flex;flex-wrap:wrap;gap:var(--spacing-xl);justify-content:center;margin-bottom:var(--spacing-xl)}.donate-perk{align-items:center;display:flex;flex-direction:column;font-size:.875rem;gap:.4rem;max-width:120px;opacity:.7}.donate-perk-icon{color:var(--app-accent);font-size:1.5rem}.donate-perk-text{font-weight:500;line-height:1.3;text-align:center}.donate-message{font-size:clamp(.9375rem,2vw,1.05rem);line-height:1.75;margin-bottom:var(--spacing-xl);opacity:.8}.donate-button-wrapper{display:flex;justify-content:center}.donate-form{align-items:center;display:flex;flex-direction:column}.donate-btn{align-items:center;background:#0070ba;border:none;border-radius:var(--radius-md);box-shadow:0 4px 16px #0070ba4d;color:#fff;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:700;gap:.6rem;letter-spacing:.01em;overflow:hidden;padding:.9rem 2.25rem;position:relative;text-decoration:none;transition:all var(--transition-base)}.donate-btn:before{background:linear-gradient(90deg,#0000,#ffffff26,#0000);content:"";height:100%;left:-100%;pointer-events:none;position:absolute;top:0;transition:left .5s ease;width:100%}.donate-btn:hover:before{left:100%}.donate-btn:hover{background:#005ea6;box-shadow:0 6px 24px #0070ba73;transform:translateY(-2px)}.donate-btn:active{box-shadow:0 2px 8px #0070ba4d;transform:translateY(0)}.donate-btn-icon{font-size:1.2rem}@media (max-width:480px){.donate-perks{gap:var(--spacing-md)}.donate-card{padding:var(--spacing-xl) var(--spacing-md)}.donate-btn{font-size:.95rem;padding:.85rem 1.75rem}}.mg-section{margin:0 auto;max-width:1400px;padding:clamp(3rem,6vw,5rem) 0}.mg-container{padding:0 var(--spacing-lg)}.mg-loading{font-size:.875rem;opacity:.5;text-align:center}.mg-summary{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffff80;border:1px solid #0000000d;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-wrap:wrap;font-size:.8125rem;font-weight:600;gap:var(--spacing-md);justify-content:center;letter-spacing:-.01em;margin-bottom:var(--spacing-2xl);padding:var(--spacing-md) var(--spacing-lg)}.mg-summary,.mg-summary span{align-items:center;display:flex}.mg-summary span{gap:6px}.app-container.dark-mode .mg-summary{background:#ffffff08;border-color:#ffffff0f}.mg-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}.mg-card{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffff8c;border:1px solid #0000000a;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:default;display:flex;flex-direction:column;overflow:hidden;padding:var(--spacing-lg);position:relative;transition:all var(--transition-base)}.mg-card:before{background:linear-gradient(135deg,#0000 60%,rgba(var(--app-accent-rgb),.04));border-radius:inherit;content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity var(--transition-base)}.mg-card:hover:before{opacity:1}.mg-card:after{background:var(--app-accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;content:"";height:100%;left:0;opacity:.4;position:absolute;top:0;transition:opacity var(--transition-base),width var(--transition-base);width:3px}.mg-card:hover:after{opacity:.8;width:4px}.app-container.dark-mode .mg-card{background:#ffffff0a;border-color:#ffffff0f}.mg-card-header{align-items:center;display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.mg-machine-icon{align-items:center;background:rgba(var(--app-accent-rgb),.08);border-radius:var(--radius-sm);display:flex;flex-shrink:0;height:36px;justify-content:center;transition:background var(--transition-base);width:36px}.app-container.dark-mode .mg-machine-icon{background:#ffffff0f}.mg-card:hover .mg-machine-icon{background:rgba(var(--app-accent-rgb),.15)}.mg-machine-name{flex:1 1;font-size:.9375rem;font-weight:700;letter-spacing:-.02em}.mg-temp-badge{align-items:center;border-radius:var(--radius-full);box-shadow:0 1px 3px #00000026;color:#0d0d0d;display:flex;font-size:.68rem;font-weight:800;gap:4px;padding:3px 8px;white-space:nowrap}.mg-metrics{display:flex;flex:1 1;flex-direction:column;gap:10px}.mg-metric-label{align-items:center;display:flex;font-size:.68rem;font-weight:700;gap:5px;letter-spacing:.05em;margin-bottom:4px;opacity:.75;text-transform:uppercase}.mg-metric-values{font-feature-settings:"tnum";font-size:.65rem;font-variant-numeric:tabular-nums;font-weight:500;letter-spacing:0;margin-left:auto;opacity:.55;text-transform:none}.mg-bar-track{background:#0000000f;border-radius:var(--radius-full);height:6px;overflow:hidden;position:relative}.app-container.dark-mode .mg-bar-track{background:#ffffff14}.mg-bar-fill{border-radius:var(--radius-full);height:100%;transition:width .7s cubic-bezier(.4,0,.2,1),background .7s ease}.mg-bar-pct{color:#00000059;font-size:.55rem;font-weight:800;line-height:1;pointer-events:none;position:absolute;right:5px;top:50%;transform:translateY(-50%)}.app-container.dark-mode .mg-bar-pct{color:#ffffff59}.mg-card-footer{align-items:center;border-top:1px solid #0000000d;display:flex;font-size:.68rem;font-weight:600;gap:var(--spacing-sm);justify-content:space-between;margin-top:var(--spacing-md);opacity:.65;padding-top:var(--spacing-sm)}.app-container.dark-mode .mg-card-footer{border-top-color:#ffffff0f}.mg-card-footer span{align-items:center;display:flex;gap:4px}@media (max-width:600px){.mg-grid{grid-template-columns:1fr}.mg-summary{flex-direction:column;gap:var(--spacing-sm);text-align:center}}.fg-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:0 auto;max-width:900px;width:100%}.fg-card{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffff80;border:1px solid #0000000a;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;padding:var(--spacing-lg);position:relative;text-align:left;transition:all var(--transition-base)}.fg-card:before{background:var(--app-accent);background:var(--fg-accent,var(--app-accent));border-radius:0 var(--radius-sm) var(--radius-sm) 0;content:"";height:100%;left:0;opacity:.4;position:absolute;top:0;transition:opacity var(--transition-base);width:3px}.fg-card:hover{border-color:rgba(var(--app-accent-rgb),.08);box-shadow:var(--shadow-md);transform:translateY(-3px)}.fg-card:hover:before{opacity:.75}.fg-card small{font-size:.875rem;line-height:1.8}.app-container.dark-mode .fg-card{background:#ffffff08;border-color:#ffffff0d}.app-container.dark-mode .fg-card:hover{border-color:#ffffff1a}.fg-card-icon{align-items:center;display:flex;font-size:.68rem;font-weight:800;gap:8px;letter-spacing:.07em;margin-bottom:var(--spacing-sm);opacity:.5;text-transform:uppercase}.fg-card-icon svg{flex-shrink:0}.precio-luz{align-items:center;display:flex;flex-direction:column;gap:6px;margin:8px 0}.precio-luz-current{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.precio-luz-label{font-size:.75rem;opacity:.8}.precio-luz-value{border-radius:4px;font-size:.95rem;font-weight:700;padding:2px 10px}.precio-luz-iva-toggle{background:#0000;border:1px solid;border-radius:3px;cursor:pointer;font-size:.6rem;opacity:.6;padding:1px 6px;transition:opacity .2s}.precio-luz-iva-toggle:hover{opacity:1}.precio-luz-hours{display:flex;flex-wrap:wrap;gap:2px;justify-content:center;max-width:360px}.precio-luz-hour{align-items:center;border-radius:3px;cursor:default;display:flex;flex-direction:column;font-size:.55rem;line-height:1.2;min-width:22px;padding:2px 4px;transition:opacity .15s}.precio-luz-hour.precio-current-hour{font-weight:700;outline:2px solid currentColor;outline-offset:1px}.precio-luz-hour-time{font-size:.5rem;opacity:.7}.precio-luz-hour-price{font-size:.55rem}.precio-low{background:#1b5e20;color:#c8e6c9}.precio-average{background:#f57f17;color:#fff8e1}.precio-high{background:#b71c1c;color:#ffcdd2}.precio-luz-hour.precio-current-hour.precio-low{background:#2e7d32;color:#e8f5e9;outline-color:#81c784}.precio-luz-hour.precio-current-hour.precio-average{background:#e65100;color:#fff3e0;outline-color:#ffb74d}.precio-luz-hour.precio-current-hour.precio-high{background:#c62828;color:#ffebee;outline-color:#ef9a9a}.consumo-actual{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:2px 0 6px}.consumo-label{font-size:.75rem;opacity:.8}.consumo-value{border-radius:4px;font-size:1.1rem;font-weight:700;padding:2px 10px}.consumo-unit{font-size:.65rem;font-weight:400;opacity:.7}.consumo-detail{font-size:.6rem;opacity:.5}.farewell-wrapper{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:2rem;position:relative;text-align:center;z-index:1}.farewell-content{line-height:1.9;max-width:640px}.farewell-title{font-size:1.4rem;font-weight:700;letter-spacing:.02em;margin-bottom:1.8rem;transition:color .8s ease}.farewell-message{font-size:1rem;margin-bottom:1.5rem;opacity:.9}.farewell-signature{font-size:.9rem;font-style:italic;margin-bottom:2.5rem;opacity:.75}.farewell-color{margin-top:1rem}.loader-overlay{align-items:center;background:#0a0a0f;display:flex;flex-direction:column;inset:0;justify-content:center;position:fixed;transition:transform .8s cubic-bezier(.65,0,.35,1);z-index:100000}.loader-overlay.exit{transform:translateY(-100%)}.loader-logo{-webkit-text-fill-color:#0000;animation:loaderPulse 2s ease-in-out infinite;background:linear-gradient(135deg,#fff,#88f);-webkit-background-clip:text;background-clip:text;font-size:clamp(2.5rem,7vw,5rem);font-weight:900;letter-spacing:-.04em;line-height:1}.loader-sub{color:#fff;font-size:clamp(1rem,2.5vw,1.5rem);font-weight:400;letter-spacing:.06em;margin-top:.75rem;opacity:.5}@keyframes loaderPulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}.loader-bar-track{background:#ffffff14;border-radius:3px;height:3px;max-width:70vw;overflow:hidden;width:200px}.loader-bar-fill{animation:loaderFill 2.5s cubic-bezier(.4,0,.2,1) forwards;background:linear-gradient(90deg,#66f,#aaf);border-radius:3px;height:100%;width:0}@keyframes loaderFill{0%{width:0}30%{width:35%}60%{width:70%}85%{width:88%}to{width:100%}}