@import "https://fonts.googleapis.com/css2?family=Michroma&family=Montserrat:wght@300;400;500&display=swap";@keyframes floatIcon{0%{transform:translateY(0)rotate(0)}33%{transform:translateY(-18px)rotate(6deg)}66%{transform:translateY(-8px)rotate(-4deg)}to{transform:translateY(0)rotate(0)}}:root{--bg-color:#fff;--text-color:#000;--text-muted:#666}*{box-sizing:border-box;margin:0;padding:0}@keyframes elegantFadeIn{0%{opacity:0;filter:blur(8px);transform:translateY(20px)}to{opacity:1;filter:blur();transform:translateY(0)}}.animate-entry{animation:1.2s cubic-bezier(.22,1,.36,1) forwards elegantFadeIn}html{scroll-behavior:smooth}body{background-color:var(--bg-color);color:var(--text-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;font-family:Michroma,sans-serif,system-ui;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-weight:500}.editorial-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:.1rem;font-size:.75rem}.editorial-value{font-size:2rem;font-weight:400;line-height:1.2}@media (width<=1024px){.editorial-value{font-size:1.5rem}}.editorial-button{color:var(--text-color);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;pointer-events:auto;background:0 0;border:none;border-bottom:1px solid #0000;align-items:center;gap:.5rem;padding:.5rem 0;font-family:inherit;font-size:1rem;text-decoration:none;transition:all .3s;display:inline-flex}.editorial-button:hover{border-bottom:1px solid var(--text-color)}.editorial-links{pointer-events:auto;gap:1rem;margin-top:.5rem;display:flex}@keyframes mobileFadeUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.mobile-section{flex-direction:column;align-items:center;min-height:100vh;padding:8vh 6% 6vh;display:flex;position:relative;overflow:hidden}.mobile-section .mobile-section-label{text-transform:uppercase;letter-spacing:.25em;color:#999;align-self:flex-start;margin-bottom:1.5rem;font-size:.65rem}.mobile-section .mobile-cutout{object-fit:contain;filter:grayscale(20%);width:65vw;max-width:320px;height:auto;margin-bottom:2rem}.mobile-section .mobile-content{flex-direction:column;gap:1rem;width:100%;display:flex}.mobile-reveal{opacity:0;transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transform:translateY(40px)}.mobile-reveal.visible{opacity:1;transform:translateY(0)}@media (width<=1023px){.editorial-value{font-size:1.6rem}.editorial-button{padding:.6rem 0;font-size:.85rem}.editorial-label{font-size:.65rem}.mobile-divider{opacity:.1;background:#000;width:60px;height:1px;margin:.8rem 0}.mobile-skills-grid{flex-wrap:wrap;gap:1rem;margin-top:.5rem;display:flex}.mobile-skills-grid .skill-chip{color:#000;align-items:center;gap:.4rem;font-size:1rem;display:flex}.mobile-skills-grid .skill-chip svg{opacity:.6}.mobile-links-row{flex-wrap:wrap;align-items:center;gap:.8rem;margin-top:.3rem;display:flex}.mobile-contact-bg-text{letter-spacing:.1em;opacity:.03;white-space:nowrap;pointer-events:none;z-index:0;font-size:4rem;font-weight:900;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.mobile-projects-detail{padding:8vh 6% 4vh!important}.mobile-projects-detail h2{font-size:1.6rem!important}.mobile-projects-detail h3{font-size:1.3rem!important}.mobile-projects-detail .project-platforms{white-space:normal!important;flex-wrap:wrap!important}.mobile-projects-detail .project-platforms span:last-child{display:none}.mobile-contact-form form{grid-template-columns:1fr!important}.mobile-contact-form h2{margin-bottom:2rem!important;font-size:2rem!important}}@keyframes toastFadeInOut{0%{opacity:0;transform:translate(-50%,-20px)}15%{opacity:1;transform:translate(-50%)}85%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-20px)}}.analytics-gate{background:#0a0a0a;justify-content:center;align-items:center;min-height:100vh;font-family:Montserrat,sans-serif;display:flex}.analytics-gate-box{text-align:center;background:#141414;border:1px solid #222;border-radius:16px;width:380px;max-width:90vw;padding:3rem}.analytics-gate-box h2{color:#fff;letter-spacing:.2em;margin:0 0 .5rem;font-family:Michroma,sans-serif;font-size:1rem}.analytics-gate-box p{color:#666;margin:0 0 2rem;font-size:.8rem}.analytics-gate-box input{color:#fff;box-sizing:border-box;background:#0a0a0a;border:1px solid #2a2a2a;border-radius:10px;outline:none;width:100%;margin-bottom:1rem;padding:.9rem 1.2rem;font-family:Montserrat,sans-serif;font-size:.9rem;transition:border-color .3s}.analytics-gate-box input:focus{border-color:#c9a84c}.analytics-gate-box button{color:#111;letter-spacing:.1em;cursor:pointer;background:linear-gradient(135deg,#c9a84c,#f0d878);border:none;border-radius:10px;width:100%;padding:.9rem;font-family:Montserrat,sans-serif;font-size:.85rem;font-weight:700;transition:transform .2s,box-shadow .3s}.analytics-gate-box button:hover{transform:translateY(-1px);box-shadow:0 4px 20px #c9a84c4d}.analytics-gate-error{color:#ff6b6b;margin-top:.8rem;font-size:.75rem}.analytics-dashboard{color:#fff;background:#0a0a0a;min-height:100vh;padding:2rem;font-family:Montserrat,sans-serif}.analytics-header{border-bottom:1px solid #1a1a1a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;padding-bottom:1.5rem;display:flex}.analytics-header h1{letter-spacing:.15em;color:#fff;margin:0;font-family:Michroma,sans-serif;font-size:1.1rem}.analytics-header-actions{align-items:center;gap:.8rem;display:flex}.analytics-header-actions button{cursor:pointer;letter-spacing:.05em;border-radius:8px;padding:.5rem 1.2rem;font-family:Montserrat,sans-serif;font-size:.75rem;transition:all .2s}.btn-refresh{color:#aaa;background:#1a1a1a;border:1px solid #2a2a2a}.btn-refresh:hover{color:#c9a84c;border-color:#c9a84c}.btn-back{color:#888;background:0 0;border:1px solid #333;border-radius:8px;align-items:center;gap:.4rem;padding:.5rem 1.2rem;font-family:Montserrat,sans-serif;font-size:.75rem;text-decoration:none;transition:all .2s;display:inline-flex}.btn-back:hover{color:#fff;border-color:#fff}.live-dot{background:#4ade80;border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite pulse-dot;display:inline-block}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.analytics-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.analytics-card{background:#141414;border:1px solid #1e1e1e;border-radius:14px;padding:1.5rem;transition:border-color .3s,transform .2s}.analytics-card:hover{border-color:#2a2a2a;transform:translateY(-2px)}.analytics-card-label{letter-spacing:.15em;text-transform:uppercase;color:#666;margin-bottom:.8rem;font-size:.65rem}.analytics-card-value{color:#fff;font-size:2rem;font-weight:700;line-height:1}.analytics-card-value.gold{background:linear-gradient(135deg,#c9a84c,#f0d878);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.analytics-card-sub{color:#555;margin-top:.5rem;font-size:.7rem}.analytics-grid{grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem;display:grid}.analytics-section{background:#141414;border:1px solid #1e1e1e;border-radius:14px;padding:1.5rem}.analytics-section.full-width{grid-column:1/-1}.analytics-section-title{letter-spacing:.15em;text-transform:uppercase;color:#888;border-bottom:1px solid #1e1e1e;margin:0 0 1.2rem;padding-bottom:.8rem;font-size:.7rem}.stat-row{border-bottom:1px solid #1a1a1a;justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}.stat-row:last-child{border-bottom:none}.stat-label{color:#ccc;align-items:center;gap:.5rem;font-size:.8rem;display:flex}.stat-value{color:#888;font-size:.8rem;font-weight:600}.stat-bar-wrap{background:#1a1a1a;border-radius:4px;flex:1;height:4px;margin:0 1rem;overflow:hidden}.stat-bar{background:linear-gradient(90deg,#c9a84c,#f0d878);border-radius:4px;height:100%;transition:width .6s}.visitors-table-wrap{margin-top:.5rem;overflow-x:auto}.visitors-table{border-collapse:collapse;width:100%;min-width:900px;font-size:.78rem}.visitors-table th{text-align:left;letter-spacing:.12em;text-transform:uppercase;color:#666;white-space:nowrap;border-bottom:1px solid #222;padding:.7rem .8rem;font-size:.65rem;font-weight:600}.visitors-table td{color:#bbb;white-space:nowrap;text-overflow:ellipsis;border-bottom:1px solid #151515;max-width:180px;padding:.7rem .8rem;overflow:hidden}.visitors-table td:nth-child(2){max-width:none;overflow:visible}.visitors-table tr:hover td{color:#fff;background:#181818}.visitors-table tr{cursor:pointer;transition:background .15s}.badge{letter-spacing:.05em;border-radius:50px;padding:.2rem .6rem;font-size:.65rem;font-weight:600;display:inline-block}.badge-new{color:#4ade80;background:#4ade8026}.badge-returning{color:#60a5fa;background:#60a5fa26}.badge-device{color:#f0d878;background:#c9a84c1f}.visitor-detail{background:#0e0e0e;border:1px solid #1e1e1e;border-radius:12px;margin:.5rem .8rem 1rem;padding:1.5rem;animation:.2s slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.visitor-detail-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.detail-item{flex-direction:column;gap:.3rem;display:flex}.detail-label{letter-spacing:.12em;text-transform:uppercase;color:#555;font-size:.6rem}.detail-value{color:#ddd;word-break:break-all;font-size:.82rem}.analytics-loading{flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;min-height:60vh;display:flex}.analytics-spinner{border:2px solid #222;border-top-color:#c9a84c;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.analytics-loading p{color:#555;letter-spacing:.1em;font-size:.8rem}.pagination{justify-content:center;align-items:center;gap:.5rem;margin-top:1.5rem;display:flex}.pagination button{color:#aaa;cursor:pointer;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:8px;padding:.5rem 1rem;font-family:Montserrat,sans-serif;font-size:.75rem;transition:all .2s}.pagination button:hover:not(:disabled){color:#c9a84c;border-color:#c9a84c}.pagination button:disabled{opacity:.3;cursor:not-allowed}.pagination span{color:#666;font-size:.75rem}.analytics-controls-bar{background:#141414;border:1px solid #1e1e1e;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:1.5rem;padding:1rem 1.5rem;display:flex}.controls-left,.controls-right{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.control-label{text-transform:uppercase;color:#666;letter-spacing:.1em;font-size:.65rem;font-weight:700}.filter-btn-group{background:#0a0a0a;border:1px solid #222;border-radius:8px;padding:3px;display:flex}.filter-btn{color:#888;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.4rem .8rem;font-family:Montserrat,sans-serif;font-size:.72rem;font-weight:600;transition:all .2s}.filter-btn:hover{color:#fff}.filter-btn.active{color:#f0d878;background:#1c1c1c;box-shadow:0 2px 8px #00000080}.custom-date-inputs{background:#0a0a0a;border:1px solid #222;border-radius:8px;align-items:center;gap:.5rem;padding:2px 6px;display:flex}.custom-date-inputs input[type=date]{color:#fff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:0 0;border:none;outline:none;padding:.3rem;font-family:Montserrat,sans-serif;font-size:.72rem}.date-sep{color:#444;font-size:.7rem}.view-mode-toggle{color:#aaa;cursor:pointer;background:#0a0a0a;border:1px solid #222;border-radius:8px;padding:.5rem 1rem;font-family:Montserrat,sans-serif;font-size:.75rem;font-weight:600;transition:all .2s}.view-mode-toggle:hover{color:#fff;border-color:#c9a84c}.view-mode-toggle.active{color:#f0d878;background:#c9a84c1a;border-color:#c9a84c}.visitor-tag-cell{align-items:center;gap:.5rem;display:inline-flex}.visitor-color-dot{background-color:var(--tag-color,#8e8e8e);width:8px;height:8px;box-shadow:0 0 6px var(--tag-color,#8e8e8e);border-radius:50%}.visitor-id-txt{color:#fff;font-family:monospace;font-size:.8rem;font-weight:700}.badge-visits-count{color:#fff;background:#222;border:1px solid #333}.grouped-detail{border-left:2px solid #c9a84c!important}.history-timeline-section{border-top:1px solid #222;margin-top:1.5rem;padding-top:1.5rem}.history-timeline-section h4{text-transform:uppercase;color:#888;letter-spacing:.05em;margin:0 0 1rem;font-size:.75rem}.timeline-list{flex-direction:column;gap:.6rem;display:flex}.timeline-item{background:#080808;border:1px solid #1a1a1a;border-radius:8px;transition:border-color .2s;overflow:hidden}.timeline-item:hover{border-color:#333}.timeline-item-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:.8rem 1rem;display:flex}.timeline-time{color:#eee;align-items:center;gap:.6rem;font-size:.75rem;display:flex}.timeline-index{color:#c9a84c;font-size:.7rem;font-weight:700}.timeline-summary{color:#666;align-items:center;gap:1.2rem;font-size:.72rem;display:flex}.timeline-summary strong{color:#aaa}.timeline-exp-indicator{color:#c9a84c;text-transform:uppercase;margin-left:.5rem;font-size:.65rem}.timeline-item-details{background:#050505;border-top:1px solid #141414;padding:1rem}.timeline-details-grid{color:#aaa;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.8rem;margin-bottom:.8rem;font-size:.72rem;display:grid}.timeline-details-grid div strong{color:#666;text-transform:uppercase;letter-spacing:.05em;margin-right:.4rem;font-size:.6rem}.timeline-clicks{border-top:1px solid #141414;padding-top:.8rem;font-size:.72rem}.timeline-clicks>strong{color:#666;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.4rem;font-size:.6rem;display:block}.timeline-clicks-list{background:#020202;border:1px solid #111;border-radius:6px;max-height:120px;padding:.6rem;overflow-y:auto}.timeline-click-row{color:#888;flex-wrap:wrap;gap:.4rem;margin-bottom:.25rem;font-family:monospace;font-size:.7rem;display:flex}.timeline-click-row:last-child{margin-bottom:0}.click-tag{color:#f0d878;font-weight:700}.click-id{color:#60a5fa}.click-text{color:#bbb}.click-href{color:#4ade80}@media (width<=768px){.analytics-dashboard{padding:1rem}.analytics-grid{grid-template-columns:1fr}.analytics-cards{grid-template-columns:repeat(2,1fr)}.analytics-header h1{font-size:.85rem}.analytics-card-value{font-size:1.5rem}}@media (width<=480px){.analytics-cards{grid-template-columns:1fr}}
