/*
Theme Name: Infinite Universe
Theme URI: https://storytimeandconfessions.com
Author: StoryTimeAndConfessions
Author URI: https://storytimeandconfessions.com
Description: Professional dark-space WordPress theme with WebGL starfield background, optimized for software distribution platforms.
Version: 9.1
Requires at least: 5.0
Tags: blog, custom-logo, featured-images, dark, professional
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: infiniteuniverse
*/

/* ═══ RESET ═══ */
*,*::before,*::after{box-sizing:border-box;}
body,html{margin:0;padding:0;font-size:16px;}
h1,h2,h3,h4,h5,h6,p,ol,ul{padding:0;margin:0 0 1rem 0;word-wrap:break-word;}
ol,ul{list-style-type:none;list-style-position:inside;}
img{height:auto;max-width:100%;}
a{transition:color .25s ease,opacity .25s ease;}

/* ═══ DESIGN TOKENS ═══ */
:root{
  --accent:#6ec8ff;
  --accent-dim:rgba(110,200,255,0.15);
  --accent-glow:rgba(110,200,255,0.25);
  --white:#f0f2f5;
  --text:#cdd2da;
  --text-dim:#8891a0;
  --dark:#000000;
  --surface:rgba(8,12,24,0.85);
  --surface-solid:#060a14;
  --surface-hover:rgba(15,22,42,0.9);
  --border:rgba(110,200,255,0.08);
  --border-hover:rgba(110,200,255,0.2);
  --radius:12px;
  --font:'Montserrat',system-ui,-apple-system,sans-serif;
}

/* ═══ BASE ═══ */
body{
  font-family:var(--font);
  background:var(--dark)!important;
  color:var(--text);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
p{font-weight:400;color:var(--text);font-size:1rem;line-height:1.8;}
h1{font-size:2.4rem;font-weight:700;color:var(--white)!important;letter-spacing:-0.02em;line-height:1.2;}
h2{font-size:1.7rem;font-weight:700;color:var(--white)!important;letter-spacing:-0.01em;line-height:1.3;}
h3{font-size:1.3rem;font-weight:600;color:var(--accent)!important;line-height:1.4;}
h4,h5,h6{font-weight:600;color:var(--accent)!important;}
a{color:var(--accent)!important;text-decoration:none;text-underline-offset:3px;}
a:hover{color:var(--white)!important;text-decoration:underline;}
::selection{background:rgba(110,200,255,0.25);color:#fff;}

/* Scrollbar */
::-webkit-scrollbar{width:6px;}
::-webkit-scrollbar-track{background:#060a14;}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--accent),#1a3a5c);border-radius:3px;}

/* ═══ THREE.JS CANVAS ═══ */
#st-universe{position:fixed!important;top:0;left:0;width:100%!important;height:100%!important;z-index:-2;pointer-events:none;}
#st-universe canvas{display:block!important;width:100%!important;height:100%!important;}
body::after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 40%,rgba(0,0,0,0.6) 100%);}

/* ═══════════════════════════════════════════
   HEADER — Professional, works on all devices
   ═══════════════════════════════════════════ */
.st-header{
  position:fixed;top:0;left:0;width:100%;z-index:999;
  background:rgba(4,8,18,0.94);
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  border-bottom:1px solid var(--border);
  padding:0 4%;
}
.logged-in .st-header{top:32px;}
@media(max-width:782px){.logged-in .st-header{top:46px;}}

.st-header-inner{
  display:flex;justify-content:space-between;align-items:center;
  max-width:1400px;margin:0 auto;min-height:62px;
}

/* Logo */
.st-logo a{
  color:var(--white)!important;text-decoration:none!important;
  font-weight:700;font-size:1.15rem;letter-spacing:0.3px;
  display:flex;align-items:center;gap:10px;
}
.st-logo img{height:36px;display:block;}

/* Desktop nav */
.st-nav ul{display:flex;gap:0;margin:0;padding:0;list-style:none;flex-wrap:wrap;}
.st-nav ul li{position:relative;}
.st-nav ul li a{
  display:block;padding:20px 16px;
  color:var(--text)!important;text-decoration:none!important;
  font-weight:500;font-size:.875rem;letter-spacing:.3px;
  white-space:nowrap;transition:color .2s;
}
.st-nav ul li a:hover,
.st-nav ul li.current-menu-item>a,
.st-nav ul li.current_page_item>a{color:var(--white)!important;}

/* Desktop dropdown */
.st-nav ul li ul{
  position:absolute;top:100%;left:0;min-width:220px;
  background:rgba(6,10,20,0.98);backdrop-filter:blur(24px);
  border:1px solid var(--border);border-radius:var(--radius);
  padding:8px 0;opacity:0;visibility:hidden;
  transform:translateY(8px);transition:all .25s ease;
  box-shadow:0 16px 48px rgba(0,0,0,0.6);z-index:1000;
}
.st-nav ul li:hover>ul,.st-nav ul li:focus-within>ul{opacity:1;visibility:visible;transform:translateY(0);}
.st-nav ul li ul li{width:100%;}
.st-nav ul li ul li a{padding:11px 20px;font-size:.84rem;border-bottom:1px solid rgba(255,255,255,0.04);}
.st-nav ul li ul li:last-child a{border-bottom:none;}

/* Hamburger */
.st-hamburger{display:none;cursor:pointer;padding:12px;-webkit-tap-highlight-color:transparent;position:relative;z-index:1001;}
.st-hamburger span{display:block;width:22px;height:2px;background:var(--white);margin:5px 0;transition:all .3s;border-radius:2px;}

/* ═══════════════════════════════════════════
   MOBILE MENU — Fully opaque, readable text
   ═══════════════════════════════════════════ */
@media(max-width:998px){
  .st-hamburger{display:block;}

  .st-nav{
    position:fixed;
    top:0;right:-100%;
    width:80%;max-width:320px;
    height:100vh;height:100dvh;
    background:var(--surface-solid);  /* SOLID opaque — no starfield bleed */
    z-index:1000;
    overflow-y:auto;
    transition:right .35s ease;
    padding:80px 0 30px;
    box-shadow:-8px 0 40px rgba(0,0,0,0.6);
    border-left:1px solid var(--border);
  }
  .st-nav.open{right:0;}

  .st-nav ul{flex-direction:column;margin:0;padding:0;}

  .st-nav ul li a{
    padding:16px 28px;
    font-size:1rem;          /* bigger for readability */
    font-weight:500;
    color:var(--white)!important;  /* WHITE text — always visible */
    border-bottom:1px solid rgba(255,255,255,0.05);
    min-height:52px;
    display:flex;align-items:center;
    text-decoration:none!important;
  }
  .st-nav ul li a:hover,
  .st-nav ul li a:active{
    background:rgba(110,200,255,0.08);
    color:var(--accent)!important;
  }
  .st-nav ul li.current-menu-item>a,
  .st-nav ul li.current_page_item>a{
    color:var(--accent)!important;
    background:rgba(110,200,255,0.06);
    border-left:3px solid var(--accent);
  }

  /* Mobile submenu — always expanded, indented */
  .st-nav ul li ul{
    position:static;opacity:1;visibility:visible;transform:none;
    max-height:none;overflow:visible;
    border:none;border-radius:0;box-shadow:none;
    background:rgba(0,0,0,0.3);
    padding:0;margin:0;
    backdrop-filter:none;-webkit-backdrop-filter:none;
  }
  .st-nav ul li ul li a{
    padding-left:44px;
    font-size:.92rem;
    color:var(--text)!important;
    border-bottom:1px solid rgba(255,255,255,0.03);
    min-height:48px;
  }
  .st-nav ul li ul li a:hover{color:var(--accent)!important;}

  /* Hamburger X animation */
  .menu-open .st-hamburger span:nth-child(1){transform:translateY(7px) rotate(45deg);background:var(--accent);}
  .menu-open .st-hamburger span:nth-child(2){opacity:0;}
  .menu-open .st-hamburger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);background:var(--accent);}
}

/* Mobile menu overlay (click outside to close) */
.st-menu-overlay{
  display:none;position:fixed;top:0;left:0;width:100%;height:100%;
  background:rgba(0,0,0,0.5);z-index:998;
}
.menu-open .st-menu-overlay{display:block;}

/* Layout */
.st-spacer{height:80px;}
.st-wrap{position:relative;z-index:2;min-height:100vh;}
.st-main{max-width:1200px;margin:0 auto;padding:0 4%;}

/* ═══ HERO ═══ */
.st-hero{text-align:center;padding:50px 20px 20px;position:relative;z-index:10;}
.st-hero h1{font-size:2.8rem;margin-bottom:8px;color:var(--white)!important;}
.st-hero .st-desc{color:var(--text-dim);font-size:1.05rem;font-weight:300;max-width:600px;margin:0 auto;}
@media(max-width:768px){.st-hero h1{font-size:2rem;}.st-hero{padding:30px 16px 16px;}}

/* Search */
.st-search{
  display:flex;align-items:center;max-width:480px;margin:20px auto;
  padding:6px;background:var(--surface);
  border:1px solid var(--border);border-radius:24px;
  transition:border-color .3s;
}
.st-search:focus-within{border-color:var(--border-hover);}
.st-search input[type="text"]{flex:1;padding:10px 16px;background:transparent;border:none;color:var(--white);font-size:.95rem;outline:none;font-family:var(--font);}
.st-search input::placeholder{color:var(--text-dim);}
.st-search button{padding:0 12px;background:transparent;border:none;cursor:pointer;}
.st-search img{width:20px;height:20px;filter:brightness(0) invert(0.7);}

/* ═══ POST CARDS ═══ */
.st-grid{display:flex;flex-wrap:wrap;gap:24px;padding:24px 0;}
.st-post-card{
  flex:1 1 300px;max-width:calc(33.333% - 16px);
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);padding:0;
  transition:all .3s ease;overflow:hidden;
}
.st-post-card:hover{border-color:var(--border-hover);transform:translateY(-3px);box-shadow:0 12px 40px rgba(0,0,0,0.3);}
.st-post-card img{width:100%;height:200px;object-fit:cover;display:block;}
.st-post-card .st-card-content{padding:20px;}
.st-post-card h3{font-size:1.1rem;margin-bottom:8px;line-height:1.4;}
.st-post-card h3 a{color:var(--white)!important;text-decoration:none!important;}
.st-post-card h3 a:hover{color:var(--accent)!important;}
.st-post-card p{font-size:.9rem;color:var(--text-dim)!important;line-height:1.6;margin-bottom:8px;}
.st-post-card .st-meta{font-size:.78rem;color:var(--text-dim)!important;opacity:0.7;}
@media(max-width:768px){.st-post-card{max-width:100%;}.st-post-card img{height:180px;}}

/* Pagination */
.st-pagination{text-align:center;padding:40px 0;}
.st-pagination a,.st-pagination span{
  display:inline-block;padding:10px 16px;margin:0 3px;
  border-radius:8px;background:var(--surface);
  border:1px solid var(--border);
  color:var(--text)!important;text-decoration:none!important;
  font-size:.9rem;transition:all .2s;
}
.st-pagination a:hover{border-color:var(--border-hover);color:var(--white)!important;}
.st-pagination span.current{background:var(--accent);color:#000!important;font-weight:700;border-color:var(--accent);}

/* ═══ SINGLE POST ═══ */
.st-article,article.post,article.page,.type-post,.type-page,.entry-content,.post-content{
  background:transparent!important;border:none!important;box-shadow:none!important;
}

/* ═══ COMMENTS ═══ */
#comments{width:100%;}
.comment-form-author input,.comment-form-email input,.comment-form-url input{
  width:100%;padding:10px 14px;background:var(--surface);
  border:1px solid var(--border);border-radius:8px;
  color:var(--white);font-size:.95rem;outline:none;margin-top:8px;
  transition:border-color .3s;font-family:var(--font);
}
.comment-form-author input:focus,.comment-form-email input:focus{border-color:var(--accent);}
textarea{
  padding:14px;width:100%;background:var(--surface);
  color:var(--white);border:1px solid var(--border);
  border-radius:8px;resize:vertical;font-size:.95rem;outline:none;
  transition:border-color .3s;font-family:var(--font);
}
textarea:focus{border-color:var(--accent);}
.form-submit input[type=submit]{
  font-size:.95rem;background:var(--accent)!important;
  border:none;color:#000!important;padding:12px 28px;
  border-radius:8px;font-weight:700;cursor:pointer;
  transition:all .3s;font-family:var(--font);
}
.form-submit input[type=submit]:hover{opacity:0.85;transform:translateY(-1px);}
ol.commentlist{padding:0;list-style:none;}
ol.commentlist li.comment{
  padding:16px;background:var(--surface);
  border:1px solid var(--border);border-radius:var(--radius);
  margin-bottom:12px;
}

/* ═══ CAROUSEL ═══ */
#st-carousel-section{position:relative;z-index:50;padding:40px 20px;overflow:hidden;}
.st-carousel-title{text-align:center;color:var(--white)!important;font-size:1.5rem!important;font-weight:700;letter-spacing:0;margin-bottom:20px;}
.st-carousel-wrap{overflow:hidden;width:100%;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);}
.st-carousel-track{display:flex;gap:20px;animation:st-scroll 60s linear infinite;width:max-content;}
.st-carousel-track:hover{animation-play-state:paused;}
@keyframes st-scroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
.st-carousel-card{flex-shrink:0;width:260px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;text-decoration:none!important;transition:all .3s;}
.st-carousel-card:hover{transform:translateY(-4px);border-color:var(--border-hover);box-shadow:0 8px 32px rgba(0,0,0,0.3);}
.st-card-img{width:100%;height:150px;background-size:cover;background-position:center;background-color:rgba(10,15,30,0.5);}
.st-card-body{padding:14px 16px;}
.st-card-title{color:var(--white)!important;font-size:.85rem!important;font-weight:600;line-height:1.4;margin:0 0 6px!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.st-card-desc{color:var(--text-dim)!important;font-size:.78rem!important;line-height:1.5;margin:0!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
@media(max-width:768px){.st-carousel-card{width:220px;}.st-card-img{height:120px;}}

/* ═══════════════════════════════════════════
   FOOTER — Professional, solid bg on mobile
   ═══════════════════════════════════════════ */
.st-footer{
  background:rgba(4,8,18,0.96);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-top:1px solid var(--border);
  position:relative;z-index:50;padding:28px 0 0;
}
.st-footer-inner{max-width:1400px;margin:0 auto;padding:0 4%;}
.st-footer-nav ul{display:flex;justify-content:center;flex-wrap:wrap;gap:0;margin:0;padding:0;list-style:none;}
.st-footer-nav ul li{position:relative;}
.st-footer-nav ul li a{
  display:block;padding:12px 18px;
  color:var(--text)!important;text-decoration:none!important;
  font-weight:500;font-size:.85rem;transition:color .2s;
}
.st-footer-nav ul li a:hover{color:var(--white)!important;}
/* Footer dropdown — desktop */
.st-footer-nav ul li ul{
  position:absolute;bottom:100%;left:50%;transform:translateX(-50%) translateY(8px);
  min-width:200px;background:rgba(6,10,20,0.98);backdrop-filter:blur(24px);
  border:1px solid var(--border);border-radius:var(--radius);padding:6px 0;
  opacity:0;visibility:hidden;transition:all .25s;
  box-shadow:0 -12px 40px rgba(0,0,0,0.5);z-index:100;
}
.st-footer-nav ul li:hover>ul,.st-footer-nav ul li:focus-within>ul{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.st-footer-nav ul li ul li{width:100%;display:block;}
.st-footer-nav ul li ul li a{padding:8px 20px;font-size:.8rem;border-bottom:1px solid rgba(255,255,255,0.04);}
.st-footer-nav ul li ul li:last-child a{border-bottom:none;}

@media(max-width:768px){
  .st-footer{background:var(--surface-solid)!important;backdrop-filter:none;-webkit-backdrop-filter:none;} /* SOLID on mobile */
  .st-footer-nav ul{flex-direction:column;align-items:stretch;}
  .st-footer-nav ul li a{
    padding:14px 24px;font-size:.95rem;
    color:var(--white)!important;    /* white text on mobile */
    border-bottom:1px solid rgba(255,255,255,0.04);
    min-height:48px;display:flex;align-items:center;justify-content:center;
  }
  .st-footer-nav ul li ul{
    position:static;transform:none;opacity:1;visibility:visible;
    max-height:none;overflow:visible;
    box-shadow:none;border:none;border-radius:0;
    background:rgba(0,0,0,0.2);backdrop-filter:none;
    padding:0;
  }
  .st-footer-nav ul li ul li a{
    padding:12px 24px;font-size:.88rem;
    color:var(--text)!important;
    justify-content:center;
  }
}

.st-footer-bottom{text-align:center;padding:18px 20px;border-top:1px solid var(--border);}
.st-footer-bottom p{margin:0;font-size:.83rem;color:var(--text-dim);}
.st-footer-bottom a{color:var(--accent)!important;text-decoration:none!important;}
.st-copyright-bar{background:rgba(0,0,0,0.97);border-top:1px solid var(--border);padding:12px 0;text-align:center;position:relative;z-index:9999;}
.st-copyright-bar p{margin:0;font-size:.78rem;color:var(--text-dim);opacity:0.5;}
.st-copyright-bar a{color:var(--accent)!important;text-decoration:none!important;}

/* ═══ WORDPRESS DEFAULTS ═══ */
.alignleft{float:left;max-width:97%;}.alignright{float:right;max-width:97%;}
.aligncenter{display:block;margin:0 auto;max-width:97%;}.alignnone{max-width:97%;}
.screen-reader-text{position:absolute;left:-9999px;}
.wp-caption{margin-bottom:20px;padding:12px;max-width:97%;border:1px solid var(--border);border-radius:8px;text-align:center;}
.gallery{display:flex;flex-wrap:wrap;}
.sticky{border-left:3px solid var(--accent);}
.text-content a,.comment-content a{text-decoration:underline;text-underline-offset:3px;}

/* ═══ CROSS-PLATFORM ═══ */
@media (hover: none) and (pointer: coarse) {
  body{cursor:auto!important;}
  body::after{opacity:.85!important;}
}
@supports (padding-top: env(safe-area-inset-top)) {
  .st-header{padding-top:env(safe-area-inset-top);}
  .st-footer{padding-bottom:env(safe-area-inset-bottom);}
  .st-copyright-bar{padding-bottom:env(safe-area-inset-bottom);}
}
@media (prefers-reduced-motion: reduce) {
  *{animation-duration:0.01s!important;transition-duration:0.01s!important;}
  .st-carousel-track{animation:none!important;}
}
html{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;}
.st-hamburger,.st-carousel-card{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;}

/* ═══ AUTH POPUP ═══ */
#iu-auth-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:100000;background:rgba(0,0,0,0);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;transition:all .4s ease;pointer-events:none;}
#iu-auth-overlay.visible{opacity:1;background:rgba(0,0,0,0.8);pointer-events:auto;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
#iu-auth-popup{position:relative;width:100%;max-width:400px;background:rgba(8,14,28,0.98);border:1px solid var(--border);border-radius:16px;padding:36px 28px 28px;text-align:center;box-shadow:0 24px 64px rgba(0,0,0,0.6);transform:translateY(20px) scale(0.97);transition:transform .4s ease;overflow:hidden;}
#iu-auth-overlay.visible #iu-auth-popup{transform:translateY(0) scale(1);}
#iu-auth-close{position:absolute;top:12px;right:16px;background:none!important;border:none!important;color:var(--text-dim)!important;font-size:24px;cursor:pointer;opacity:0.6;transition:opacity .2s;z-index:2;padding:4px;}
#iu-auth-close:hover{opacity:1;}
.iu-auth-icon{margin:0 auto 12px;}
#iu-auth-title{font-size:1.4rem!important;color:var(--white)!important;margin-bottom:6px!important;font-weight:700;letter-spacing:-0.01em;}
.iu-auth-desc{color:var(--text-dim)!important;font-size:.88rem!important;margin-bottom:20px!important;line-height:1.5;}
.iu-auth-tabs{display:flex;gap:0;margin-bottom:18px;border:1px solid var(--border);border-radius:8px;overflow:hidden;}
.iu-tab{flex:1;padding:10px;background:transparent!important;border:none!important;color:var(--text-dim)!important;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:var(--font);}
.iu-tab.active{background:var(--accent-dim)!important;color:var(--accent)!important;}
.iu-tab:hover{color:var(--white)!important;}
.iu-tab-content{display:none;}.iu-tab-content.active{display:block;}
#iu-auth-popup input[type="email"],#iu-auth-popup input[type="text"]{width:100%;padding:12px 16px;background:rgba(255,255,255,0.04)!important;border:1px solid var(--border)!important;border-radius:8px;color:var(--white)!important;font-size:.95rem;outline:none;margin-bottom:12px;transition:border-color .3s;font-family:var(--font);-webkit-appearance:none;}
#iu-auth-popup input:focus{border-color:var(--accent)!important;}
#iu-auth-popup input::placeholder{color:var(--text-dim);}
.iu-auth-submit{width:100%;padding:12px;background:var(--accent)!important;border:none!important;border-radius:8px;color:#000!important;font-size:.95rem;font-weight:700;cursor:pointer;transition:opacity .3s;font-family:var(--font);min-height:46px;display:flex;align-items:center;justify-content:center;}
.iu-auth-submit:hover{opacity:0.85;}
.iu-auth-submit:disabled{opacity:0.5;cursor:not-allowed;}
.iu-btn-loader{width:18px;height:18px;border:2px solid rgba(0,0,0,0.2);border-top-color:#000;border-radius:50%;animation:iu-spin .6s linear infinite;}
@keyframes iu-spin{to{transform:rotate(360deg);}}
#iu-auth-msg{margin-top:12px;font-size:.85rem;min-height:20px;}
.iu-msg-error{color:#ff6b6b!important;}.iu-msg-success{color:#51cf66!important;}
.iu-auth-skip{margin-top:12px;}
#iu-auth-skip-btn{background:none!important;border:none!important;color:var(--text-dim)!important;font-size:.8rem;cursor:pointer;text-decoration:underline;font-family:var(--font);padding:8px;}
#iu-auth-skip-btn:hover{color:var(--text)!important;}
@media(max-width:480px){#iu-auth-popup{padding:28px 20px 22px;max-width:calc(100% - 24px);}}
