@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&family=Outfit:wght@300;400;500;600;700;800&display=swap');

:root, [data-theme="dark"] {
  --bg-primary:#050a12;--bg-secondary:#0b1120;--bg-card:#0f1729;--bg-card-hover:#131d33;
  --bg-input:#080e1a;--text-primary:#e4eaf4;--text-secondary:#7b8faa;--text-muted:#4a5d78;
  --accent:#00d4ff;--accent-dim:rgba(0,212,255,0.08);--accent-glow:rgba(0,212,255,0.3);
  --accent-mid:rgba(0,212,255,0.15);--accent2:#6366f1;--accent2-dim:rgba(99,102,241,0.1);
  --border:#141e30;--border-light:#1c2a42;--border-accent:rgba(0,212,255,0.15);
  --success:#22c55e;--warning:#f59e0b;--error:#ef4444;
  --grid-color:rgba(0,212,255,0.015);--glow-color:rgba(0,212,255,0.04);
  --radius:14px;--radius-sm:10px;
  --shadow:0 8px 32px rgba(0,0,0,0.3);--shadow-glow:0 0 40px rgba(0,212,255,0.08);
  --transition:0.2s ease;
}
[data-theme="light"] {
  --bg-primary:#eef2f8;--bg-secondary:#ffffff;--bg-card:#ffffff;--bg-card-hover:#f8fafd;
  --bg-input:#f1f5fa;--text-primary:#0d1729;--text-secondary:#4a5d78;--text-muted:#8896aa;
  --accent:#0091c2;--accent-dim:rgba(0,145,194,0.08);--accent-glow:rgba(0,145,194,0.25);
  --accent-mid:rgba(0,145,194,0.15);--accent2:#5457e6;--accent2-dim:rgba(84,87,230,0.1);
  --border:#dde5ef;--border-light:#c8d4e3;--border-accent:rgba(0,145,194,0.2);
  --grid-color:rgba(0,145,194,0.04);--glow-color:rgba(0,145,194,0.06);
  --shadow:0 8px 32px rgba(13,23,41,0.08);--shadow-glow:0 0 40px rgba(0,145,194,0.1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Outfit',sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.65;min-height:100vh;-webkit-font-smoothing:antialiased;transition:background .4s,color .4s}
body::before{content:'';position:fixed;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 0%,var(--glow-color),transparent),linear-gradient(var(--grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--grid-color) 1px,transparent 1px);background-size:100% 100%,50px 50px,50px 50px;pointer-events:none;z-index:0}
.container{max-width:1180px;margin:0 auto;padding:0 20px;position:relative;z-index:1}

/* HEADER */
.site-header{padding:16px 0;border-bottom:1px solid var(--border);background:rgba(5,10,18,0.9);backdrop-filter:blur(20px);position:sticky;top:0;z-index:100}
.site-header .container{display:flex;align-items:center;justify-content:space-between}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text-primary)}
.logo img{height:36px;width:auto;animation:tamFloat 4s ease-in-out infinite}
.logo-text{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:1.05rem;letter-spacing:1.5px;text-transform:uppercase}
.logo-text .accent{color:var(--accent)}
nav{display:flex;gap:4px;align-items:center}
nav a{color:var(--text-secondary);text-decoration:none;padding:7px 14px;border-radius:8px;font-size:.85rem;font-weight:500;transition:var(--transition)}
nav a:hover{color:var(--text-primary);background:rgba(255,255,255,.04)}
nav a.active{color:var(--accent);background:var(--accent-dim)}
.mobile-menu-btn{display:none;background:none;border:1px solid var(--border-light);color:var(--text-primary);font-size:1.2rem;cursor:pointer;padding:6px 10px;border-radius:8px}

/* HERO */
.hero{text-align:center;padding:70px 0 50px}
.hero h1{font-size:clamp(1.8rem,4.5vw,3rem);font-weight:800;line-height:1.15;margin-bottom:14px;letter-spacing:-.5px}
.hero h1 .highlight{background:linear-gradient(135deg,var(--accent),var(--accent2),var(--accent));background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:tamGradientShift 6s ease infinite}
.hero p{color:var(--text-secondary);font-size:1.05rem;max-width:550px;margin:0 auto;font-weight:400}

/* AD SLOTS */
.ad-slot{background:var(--bg-card);border:1px dashed var(--border-light);border-radius:var(--radius);padding:16px;text-align:center;color:var(--text-muted);font-size:.75rem;margin:24px 0;min-height:90px;display:flex;align-items:center;justify-content:center}
.ad-slot-sidebar{min-height:250px}

/* TOOLS GRID */
.tools-section{padding:30px 0 70px}
.section-label{font-family:'JetBrains Mono',monospace;font-size:.7rem;text-transform:uppercase;letter-spacing:3px;color:var(--accent);margin-bottom:10px}
.section-title{font-size:1.5rem;font-weight:700;margin-bottom:32px;position:relative;display:inline-block}
.section-title::after{content:'';position:absolute;left:0;bottom:-8px;height:3px;width:0;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:2px;animation:tamGrowLine 1s ease .3s forwards}
.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.tool-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;text-decoration:none;color:inherit;transition:all .25s ease;position:relative;overflow:hidden}
.tool-card::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),var(--accent2));opacity:0;transition:var(--transition)}
.tool-card:hover{background:var(--bg-card-hover);border-color:var(--border-accent);transform:translateY(-2px);box-shadow:var(--shadow-glow)}
.tool-card:hover::after{opacity:1}
.tool-card-icon{width:44px;height:44px;background:var(--accent-dim);border:1px solid rgba(0,212,255,.08);border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;margin-bottom:14px}
.tool-card:hover .tool-card-icon{animation:tamFloat 1.2s ease infinite}
.tool-card h3{font-size:.98rem;font-weight:600;margin-bottom:6px}
.tool-card p{color:var(--text-secondary);font-size:.84rem;line-height:1.5}
.tool-card-arrow{position:absolute;top:24px;right:24px;color:var(--text-muted);transition:var(--transition);font-size:1rem}
.tool-card:hover .tool-card-arrow{color:var(--accent);transform:translateX(2px)}

/* TOOL PAGE LAYOUT */
.tool-page-layout{display:grid;grid-template-columns:1fr 280px;gap:24px;padding:30px 0 70px}
.tool-main{min-width:0}.tool-sidebar{display:flex;flex-direction:column;gap:20px}
.tool-header{margin-bottom:24px}
.tool-header .breadcrumb{display:flex;gap:8px;align-items:center;font-size:.8rem;color:var(--text-muted);margin-bottom:14px}
.tool-header .breadcrumb a{color:var(--text-secondary);text-decoration:none;transition:var(--transition)}
.tool-header .breadcrumb a:hover{color:var(--accent)}
.tool-header h1{font-size:clamp(1.4rem,3vw,2rem);font-weight:700;margin-bottom:8px;letter-spacing:-.3px}
.tool-header p{color:var(--text-secondary);font-size:.95rem}

/* TOOL BOX */
.tool-box{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:28px;margin-bottom:24px}

/* RESULT DISPLAY */
.result-display{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:18px 22px;font-family:'JetBrains Mono',monospace;margin:14px 0;position:relative}
.result-display .label{font-size:.65rem;text-transform:uppercase;letter-spacing:2px;color:var(--text-muted);margin-bottom:6px}
.result-display .value{font-size:1.6rem;font-weight:700;color:var(--accent);word-break:break-all}
.result-display .value.small{font-size:.95rem;font-weight:500;color:var(--text-primary)}
.copy-btn{position:absolute;top:14px;right:14px;background:var(--accent-dim);border:1px solid var(--border-light);color:var(--accent);padding:5px 12px;border-radius:6px;font-size:.75rem;cursor:pointer;transition:var(--transition)}
.copy-btn:hover{background:var(--accent);color:var(--bg-primary)}

/* DATA TABLE */
.data-table{width:100%;border-collapse:collapse;margin:14px 0}
.data-table tr{border-bottom:1px solid var(--border)}
.data-table td{padding:11px 0;font-size:.88rem}
.data-table td:first-child{color:var(--text-secondary);width:38%;font-weight:500}
.data-table td:last-child{font-family:'JetBrains Mono',monospace;font-size:.82rem}

/* INPUTS */
.input-group{display:flex;gap:10px;margin:14px 0}
.input-group input,.tool-input,.calc-input{flex:1;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:13px 16px;color:var(--text-primary);font-family:'JetBrains Mono',monospace;font-size:.9rem;outline:none;transition:var(--transition)}
.input-group input:focus,.tool-input:focus,.calc-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}
.input-group input::placeholder,.tool-input::placeholder,.calc-input::placeholder{color:var(--text-muted)}
select.calc-input{font-family:'Outfit',sans-serif;cursor:pointer}
label.calc-label{display:block;font-size:.82rem;font-weight:600;color:var(--text-secondary);margin-bottom:6px;letter-spacing:.5px}
.calc-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.calc-field{display:flex;flex-direction:column}

.btn-primary{background:linear-gradient(110deg,var(--accent) 30%,rgba(255,255,255,.4) 50%,var(--accent) 70%);background-size:200% 100%;color:var(--bg-primary);border:none;padding:13px 24px;border-radius:var(--radius-sm);font-family:'Outfit',sans-serif;font-weight:600;font-size:.9rem;cursor:pointer;transition:var(--transition);white-space:nowrap;animation:tamShimmer 3s linear infinite}
.btn-primary:hover{box-shadow:0 4px 20px var(--accent-glow);transform:translateY(-1px)}
.btn-primary:disabled{opacity:.4;cursor:not-allowed;transform:none}
.btn-secondary{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border);padding:13px 24px;border-radius:var(--radius-sm);font-family:'Outfit',sans-serif;font-weight:500;font-size:.9rem;cursor:pointer;transition:var(--transition)}
.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}

/* RESULT CARD (big animated) */
.result-card{background:linear-gradient(135deg,var(--accent-dim),var(--accent2-dim));border:1px solid var(--border-accent);border-radius:var(--radius);padding:24px;text-align:center;margin:20px 0;animation:tamFadeUp .5s ease}
.result-card .result-number{font-family:'JetBrains Mono',monospace;font-size:2.4rem;font-weight:800;color:var(--accent);animation:tamCountPop .4s ease}
.result-card .result-label{font-size:.85rem;color:var(--text-secondary);margin-top:6px}
.result-card .result-sub{font-size:.78rem;color:var(--text-muted);margin-top:4px}
@keyframes tamCountPop{0%{transform:scale(0.7);opacity:0}60%{transform:scale(1.1)}100%{transform:scale(1);opacity:1}}

/* INFO CONTENT */
.info-content{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:28px}
.info-content h2{font-size:1.15rem;font-weight:700;margin-bottom:12px;margin-top:24px}
.info-content h2:first-child{margin-top:0}
.info-content p{color:var(--text-secondary);font-size:.9rem;line-height:1.7;margin-bottom:10px}
.info-content ul{color:var(--text-secondary);font-size:.9rem;line-height:1.8;padding-left:20px;margin-bottom:10px}

/* RELATED */
.related-tools{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px}
.related-tools h3{font-size:.9rem;font-weight:600;margin-bottom:12px}
.related-tool-link{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;color:var(--text-secondary);text-decoration:none;font-size:.84rem;transition:var(--transition)}
.related-tool-link:hover{background:var(--accent-dim);color:var(--accent)}
.related-tool-link .dot{width:5px;height:5px;border-radius:50%;background:var(--accent);flex-shrink:0}

/* LINKS */
.links-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.link-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;text-decoration:none;color:inherit;transition:all .25s ease;display:flex;align-items:flex-start;gap:16px}
.link-card:hover{border-color:var(--border-accent);transform:translateY(-2px);box-shadow:var(--shadow-glow)}
.link-card-icon{width:48px;height:48px;flex-shrink:0;background:var(--accent-dim);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.3rem}
.link-card h3{font-size:.95rem;font-weight:600;margin-bottom:4px}
.link-card p{color:var(--text-muted);font-size:.82rem}

/* FOOTER */
.site-footer{border-top:1px solid var(--border);padding:32px 0;margin-top:50px}
.footer-inner{display:flex;justify-content:space-between;align-items:center}
.footer-inner p{color:var(--text-muted);font-size:.8rem}
.footer-links{display:flex;gap:20px}
.footer-links a{color:var(--text-secondary);text-decoration:none;font-size:.8rem;transition:var(--transition)}
.footer-links a:hover{color:var(--accent)}

/* ANIMATIONS */
@keyframes tamFadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes tamGlowPulse{0%,100%{box-shadow:0 0 0 0 var(--accent-glow)}50%{box-shadow:0 0 0 8px transparent}}
@keyframes tamFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes tamShimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
@keyframes tamPing{0%{transform:scale(1);opacity:.6}75%,100%{transform:scale(2.2);opacity:0}}
@keyframes tamGradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes tamGrowLine{to{width:60px}}
.tam-anim-in{opacity:0;animation:tamFadeUp .6s ease forwards}
.tam-scroll-reveal{opacity:0;transform:translateY(24px);transition:opacity .6s,transform .6s}
.tam-scroll-reveal.tam-visible{opacity:1;transform:translateY(0)}
.loader{display:inline-block;width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:.75rem;font-weight:600}
.badge-success{background:rgba(34,197,94,.1);color:var(--success)}

/* FAB + PANEL (injected by tamtech.js — styles must be here) */
.tam-fab{position:fixed;right:20px;bottom:20px;z-index:1000;display:flex;flex-direction:column;gap:12px}
.tam-fab-btn{width:52px;height:52px;border-radius:50%;background:var(--bg-card);border:1px solid var(--border-light);color:var(--text-primary);font-size:1.3rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);transition:var(--transition);position:relative}
.tam-fab-btn:hover{transform:scale(1.08);border-color:var(--accent)}
.tam-fab-contact{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border:none}
.tam-fab-pulse{position:absolute;inset:0;border-radius:50%;background:var(--accent);animation:tamPing 2s ease-out infinite;z-index:-1}
.tam-contact-panel{position:fixed;inset:0;z-index:1100;display:none}
.tam-contact-panel.open{display:block}
.tam-panel-overlay{position:absolute;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);animation:tamFadeUp .3s ease}
.tam-panel-box{position:absolute;right:20px;bottom:88px;width:340px;max-width:calc(100vw - 40px);background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius);box-shadow:var(--shadow);animation:tamFadeUp .35s ease;overflow:hidden}
.tam-panel-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,var(--accent-dim),transparent)}
.tam-panel-head h3{font-size:1rem;font-weight:700}
.tam-panel-close{background:none;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;line-height:1;transition:var(--transition)}
.tam-panel-close:hover{color:var(--accent)}
.tam-panel-body{padding:12px;display:flex;flex-direction:column;gap:8px}
.tam-contact-item{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:var(--radius-sm);text-decoration:none;color:var(--text-primary);border:1px solid var(--border);transition:var(--transition)}
.tam-contact-item:hover{background:var(--bg-card-hover);border-color:var(--border-accent);transform:translateX(2px)}
.tam-ci-icon{width:40px;height:40px;border-radius:10px;flex-shrink:0;background:var(--accent-dim);display:flex;align-items:center;justify-content:center;font-size:1.1rem}
.tam-ci-text{display:flex;flex-direction:column;gap:1px;min-width:0}
.tam-ci-label{font-size:.7rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted)}
.tam-ci-text span:last-child,.tam-ci-text a{font-size:.88rem;color:var(--text-primary);text-decoration:none;word-break:break-all}
.tam-private.unlocked{border-color:var(--success);background:rgba(34,197,94,.05);animation:tamGlowPulse 2s ease 3}
.tam-private.unlocked .tam-ci-icon{background:rgba(34,197,94,.12)}
.tam-private.unlocked .tam-ci-text a{color:var(--success);font-weight:700;font-family:'JetBrains Mono',monospace}
.tam-private.locked{border-style:dashed;opacity:.85}
.tam-locked-note{font-size:.78rem;color:var(--text-secondary);line-height:1.4}
.tam-progress{height:5px;background:var(--border);border-radius:3px;margin-top:8px;overflow:hidden}
.tam-progress-bar{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:3px;transition:width .5s}

@media(max-width:900px){.tool-page-layout{grid-template-columns:1fr}.hero{padding:50px 0 35px}}
@media(max-width:640px){nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-direction:column;padding:12px}nav.open{display:flex}.mobile-menu-btn{display:block}.tools-grid,.links-grid{grid-template-columns:1fr}.tool-box{padding:20px}.calc-row{grid-template-columns:1fr}.result-card .result-number{font-size:1.8rem}.input-group{flex-direction:column}.footer-inner{flex-direction:column;gap:12px;text-align:center}.tam-fab{right:14px;bottom:14px}.tam-fab-btn{width:46px;height:46px;font-size:1.15rem}.tam-panel-box{right:14px;bottom:74px}}

.ip-hero{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}
.ip-card{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:18px 20px;position:relative;overflow:hidden;transition:var(--transition)}
.ip-card::before{content:'';position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,var(--accent),var(--accent2))}
.ip-card:hover{border-color:var(--border-accent);transform:translateY(-2px)}
.ip-card .tag{font-size:.68rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent);margin-bottom:6px}
.ip-card .addr{font-family:'JetBrains Mono',monospace;font-size:1.15rem;font-weight:700;color:var(--text-primary);word-break:break-all;line-height:1.4}
.ip-card .mini-copy{position:absolute;top:14px;right:14px;background:var(--accent-dim);border:1px solid var(--border-light);color:var(--accent);padding:3px 9px;border-radius:5px;font-size:.68rem;cursor:pointer;transition:var(--transition)}
.ip-card .mini-copy:hover{background:var(--accent);color:var(--bg-primary)}
.exposed-banner{display:flex;align-items:center;gap:10px;padding:12px 16px;background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-sm);margin-bottom:18px;font-size:.88rem;color:var(--error);animation:tamGlowPulse 2.5s ease infinite}
.ip-map{width:100%;height:300px;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border);margin-top:6px}
.ip-map iframe{width:100%;height:100%;border:0}
.map-label{font-size:.7rem;text-transform:uppercase;letter-spacing:2px;color:var(--text-muted);margin:18px 0 8px}
[data-theme="dark"] .ip-map iframe,[data-theme="dark"] .map-container iframe{filter:invert(.9) hue-rotate(180deg) brightness(.95) contrast(.95)}
.map-container{width:100%;height:280px;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border);margin-top:14px}
.map-container iframe,.ip-map iframe{transition:filter .4s ease}
@media(max-width:520px){.ip-hero{grid-template-columns:1fr}}
