:root{
  --bg:#080f24; --bg2:#0b1430; --card:#111d3f; --card2:#0e1836;
  --line:#27365f; --line-soft:#1b274a;
  --ink:#eef2ff; --ink-soft:#9fb0d9; --ink-dim:#6f80ab;
  --pink:#ff2e7e; --pink-soft:rgba(255,46,126,.14);
  --blue:#3ec8f5; --blue-soft:rgba(62,200,245,.14);
  --grad:linear-gradient(120deg,#ff2e7e 0%,#ff66c4 20%,#c06bff 42%,#6f7bff 60%,#3ec8f5 80%,#ff2e7e 100%);
  --ok:#34d399; --radius:16px;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 10px 30px rgba(0,0,0,.35);
  --glow:0 0 0 1px rgba(255,46,126,.35),0 8px 24px rgba(255,46,126,.25);
  --safe-b:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
[hidden]{display:none!important}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink); background:var(--bg);
  background-image:radial-gradient(1200px 500px at 100% -10%,rgba(255,46,126,.10),transparent 60%),
                   radial-gradient(1000px 500px at -10% 10%,rgba(62,200,245,.10),transparent 55%);
  background-attachment:fixed; line-height:1.5; -webkit-font-smoothing:antialiased;
}
h1,h2,h3{line-height:1.22;margin:0 0 .4em}
p{margin:0 0 .8em}
a{color:var(--blue)}
strong{font-weight:650;color:#fff}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;font:inherit;font-weight:650;
  border:1px solid transparent;border-radius:12px;padding:.72em 1.1em;cursor:pointer;text-decoration:none;transition:.15s}
.btn-primary{background:var(--grad);color:#fff;box-shadow:var(--glow)}
.btn-primary:active{filter:brightness(.95)}
.btn-ghost{background:rgba(255,255,255,.04);color:var(--ink);border-color:var(--line)}
.btn-ghost:active{background:rgba(255,255,255,.09)}
.btn-block{display:flex;width:100%;margin-top:.5em}
.btn-sm{padding:.45em .7em;font-size:.85rem}

/* Gate */
.gate{position:fixed;inset:0;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:24px;z-index:50;
  background-image:radial-gradient(800px 400px at 50% -10%,rgba(255,46,126,.18),transparent 60%),
                   radial-gradient(700px 400px at 50% 110%,rgba(62,200,245,.16),transparent 60%)}
.gate-card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:30px 22px;max-width:380px;width:100%;box-shadow:var(--shadow)}
.gate-logo{font-size:1.55rem;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.gate-sub{color:var(--blue);font-weight:600;margin-bottom:1em}
.gate-body{color:var(--ink-soft);font-size:.95rem}
.gate-fine{color:var(--ink-dim);font-size:.78rem;margin:.8em 0 0;text-align:center}
#gate-email{width:100%;padding:.85em;border:1px solid var(--line);border-radius:12px;font:inherit;margin-bottom:.6em;background:var(--bg2);color:var(--ink)}
#gate-email::placeholder{color:var(--ink-dim)}

/* Shell */
.appbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;
  padding:14px 16px;background:rgba(8,15,36,.85);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line-soft)}
.appbar-title{font-weight:800;font-size:1.05rem;letter-spacing:.01em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
#main{padding:18px 16px calc(96px + var(--safe-b))}
.view-intro h2{font-size:1.55rem;color:#fff}
.view-intro p{color:var(--ink-soft);max-width:42ch}

/* Segmented */
.seg{display:flex;gap:6px;background:var(--card2);border:1px solid var(--line-soft);padding:4px;border-radius:12px;margin:14px 0}
.seg-btn{flex:1;border:0;background:transparent;font:inherit;font-weight:600;color:var(--ink-soft);padding:.5em;border-radius:9px;cursor:pointer}
.seg-btn.is-active{background:var(--grad);color:#fff}

/* Day + talk cards */
.day-head{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--blue);margin:22px 0 10px}
.talk{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px;margin-bottom:12px;box-shadow:var(--shadow)}
.talk-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}
.badge{font-size:.68rem;font-weight:700;padding:.22em .6em;border-radius:99px;text-transform:uppercase;letter-spacing:.04em}
.badge-live{background:var(--pink-soft);color:#ff79ab;border:1px solid rgba(255,46,126,.4)}
.badge-rec{background:var(--blue-soft);color:#8fdcfb;border:1px solid rgba(62,200,245,.35)}
.badge-now{background:var(--pink);color:#fff;box-shadow:0 0 12px rgba(255,46,126,.6);animation:pulse 1.6s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.55}}
/* Iridescent shimmer on pink/gradient elements */
.btn-primary,.toast,.seg-btn.is-active,.gate-logo,.appbar-title{background-size:260% 260%;animation:irid 7s ease-in-out infinite}
@keyframes irid{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@media(prefers-reduced-motion:reduce){.btn-primary,.toast,.seg-btn.is-active,.gate-logo,.appbar-title,.badge-now{animation:none}}
.talk-time{font-size:.82rem;color:var(--ink-soft)}
.talk-title{font-weight:650;font-size:1.05rem;margin:.1em 0;color:#fff}
.talk-speaker{color:var(--ink-soft);font-size:.9rem;margin-bottom:.5em}
.talk-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.takeaway{width:100%;border:1px solid var(--line);border-radius:12px;padding:.7em;font:inherit;resize:vertical;margin-top:8px;background:var(--bg2);color:var(--ink)}
.takeaway::placeholder{color:var(--ink-dim)}
.takeaway:focus{outline:none;border-color:var(--pink);box-shadow:0 0 0 3px var(--pink-soft)}
.watched-row{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--ink-soft);margin-top:4px}
.watched-row input,.check input{accent-color:var(--pink)}
.chip-link{font-size:.82rem;font-weight:600;color:var(--blue);text-decoration:none;border:1px solid rgba(62,200,245,.4);padding:.4em .7em;border-radius:99px;background:var(--blue-soft)}

/* Skool community driver */
.community-card{display:block;text-decoration:none;background:linear-gradient(135deg,rgba(255,46,126,.16),rgba(62,200,245,.14)),var(--card);
  border:1px solid rgba(62,200,245,.35);border-radius:var(--radius);padding:14px;margin:14px 0 0;box-shadow:var(--shadow)}
.community-card .cc-title{display:block;font-weight:700;color:#fff;margin-bottom:3px}
.community-card .cc-sub{display:block;font-size:.88rem;color:var(--ink-soft)}

/* Cards / inbox / plan */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin:14px 0;box-shadow:var(--shadow)}
.inbox{margin:12px 0}
.inbox .idea{background:var(--pink-soft);border:1px solid rgba(255,46,126,.3);border-radius:12px;padding:10px 12px;margin-bottom:8px;font-size:.92rem;color:var(--ink)}
.inbox .idea small{display:block;color:#ff79ab;font-weight:600;margin-bottom:2px}
.field{margin-bottom:16px}
.field label{display:block;font-weight:650;color:#fff;margin-bottom:.3em}
.field .hint{font-size:.82rem;color:var(--ink-soft);margin:0 0 .4em}
.field textarea,.field input{width:100%;border:1px solid var(--line);border-radius:12px;padding:.7em;font:inherit;resize:vertical;background:var(--bg2);color:var(--ink)}
.field textarea::placeholder,.field input::placeholder{color:var(--ink-dim)}
.field textarea:focus,.field input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}
.example{margin-top:6px}
.example summary{cursor:pointer;font-size:.8rem;color:var(--blue);list-style:none}
.example summary::-webkit-details-marker{display:none}
.example summary::before{content:"💡 "}
.example p{font-size:.85rem;color:var(--ink-soft);background:var(--card2);border:1px solid var(--line-soft);border-radius:10px;padding:9px 11px;margin:6px 0 0}

/* Move */
.bucket{margin-bottom:18px}
.bucket h3{color:#fff;font-size:1.05rem}
.bucket .cap{font-size:.8rem;color:var(--ink-soft);margin-bottom:.5em}
.rock{display:flex;gap:8px;margin-bottom:8px}
.rock input{flex:1;border:1px solid var(--line);border-radius:12px;padding:.7em;font:inherit;background:var(--bg2);color:var(--ink)}
.rock input::placeholder{color:var(--ink-dim)}

/* Eisenhower sorter */
.eisen-add{display:flex;gap:8px;margin-bottom:12px}
.eisen-add input{flex:1;border:1px solid var(--line);border-radius:12px;padding:.6em;font:inherit;background:var(--bg2);color:var(--ink)}
.eisen-add input::placeholder{color:var(--ink-dim)}
.eisen-tray{margin-bottom:14px}
.eisen-item{background:var(--card2);border:1px solid var(--line-soft);border-radius:12px;padding:9px 11px;margin-bottom:8px}
.eisen-item>span{display:block;margin-bottom:7px;font-size:.92rem}
.eisen-btns{display:flex;gap:6px;flex-wrap:wrap}
.eisen-btns button{font:inherit;font-size:.72rem;font-weight:600;border:1px solid var(--line);background:rgba(255,255,255,.05);color:var(--ink-soft);border-radius:8px;padding:.32em .6em;cursor:pointer}
.eisen-btns button:active{background:var(--pink-soft);color:#fff}
.eisen-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.eisen-quad{border:1px solid var(--line);border-radius:12px;padding:10px;min-height:86px;background:var(--card2)}
.q-head{font-weight:700;font-size:.78rem;color:#fff;margin-bottom:7px;line-height:1.2}
.q-head small{display:block;font-weight:400;font-size:.68rem;color:var(--ink-dim)}
.eisen-quad.q-do{border-color:rgba(255,46,126,.5)}
.eisen-quad.q-schedule{border-color:rgba(62,200,245,.45)}
.eisen-quad.q-delegate{border-color:rgba(122,75,255,.45)}
.q-item{display:flex;justify-content:space-between;align-items:center;gap:6px;background:rgba(255,255,255,.05);border-radius:8px;padding:.35em .5em;margin-bottom:5px;font-size:.82rem}
.q-x{border:0;background:transparent;color:var(--ink-dim);cursor:pointer;font-size:.78rem;padding:0 2px}
.q-empty{color:var(--ink-dim);font-size:.8rem}

/* Offer audit */
.offer{background:var(--card2);border:1px solid var(--line-soft);border-radius:12px;padding:12px;margin-bottom:10px}
.offer-head{display:flex;gap:8px;align-items:center;margin-bottom:8px}
.of-name{flex:1;border:1px solid var(--line);border-radius:10px;padding:.5em;font:inherit;font-weight:600;background:var(--bg2);color:var(--ink)}
.offer-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.offer-grid label{display:flex;flex-direction:column;gap:3px;font-size:.74rem;color:var(--ink-soft)}
.offer-grid input{border:1px solid var(--line);border-radius:8px;padding:.45em;font:inherit;background:var(--bg2);color:var(--ink)}
.verdict-slot:empty{display:none}
.verdict{display:inline-block;margin-top:10px;font-size:.8rem;font-weight:700;padding:.4em .75em;border-radius:99px}
.v-grow{background:rgba(52,211,153,.16);color:#34d399;border:1px solid rgba(52,211,153,.4)}
.v-fix{background:var(--blue-soft);color:#8fdcfb;border:1px solid rgba(62,200,245,.4)}
.v-cut{background:var(--pink-soft);color:#ff79ab;border:1px solid rgba(255,46,126,.4)}
.v-hold{background:rgba(255,255,255,.06);color:var(--ink-soft);border:1px solid var(--line)}

/* Boundary Shield */
.boundary-card .rings{position:relative;height:190px;display:flex;align-items:center;justify-content:center;margin:8px 0 14px}
.rings .ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%}
.rings .r-out{width:186px;height:186px;border:1px solid rgba(255,255,255,.09)}
.rings .r-4{width:142px;height:142px;border:1px solid rgba(122,75,255,.4)}
.rings .r-3{width:100px;height:100px;border:1px solid rgba(62,200,245,.45)}
.rings .r-2{width:58px;height:58px;border:1px solid rgba(255,46,126,.55)}
.rings .ring-you{position:relative;z-index:1;width:44px;height:44px;border-radius:50%;background:var(--grad);color:#fff;font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 0 16px rgba(255,46,126,.5)}
#b-name{width:100%;border:1px solid var(--line);border-radius:10px;padding:.55em;font:inherit;background:var(--bg2);color:var(--ink);margin-bottom:8px}
#b-name::placeholder{color:var(--ink-dim)}
.ring-pick{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.ring-pick button{font:inherit;font-size:.76rem;font-weight:700;border:1px solid var(--line);background:rgba(255,255,255,.05);color:var(--ink-soft);border-radius:8px;padding:.4em .65em;cursor:pointer}
.ring-pick button:active{background:var(--pink-soft);color:#fff}
.ring-group{margin-bottom:10px}
.rg-head{font-weight:700;font-size:.8rem;color:#fff;margin-bottom:5px}
.rg-head small{display:block;font-weight:400;font-size:.7rem;color:var(--ink-dim)}

/* Skills */
.skill{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;box-shadow:var(--shadow);overflow:hidden}
.skill summary{list-style:none;cursor:pointer;padding:16px;font-weight:650;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:10px}
.skill summary::-webkit-details-marker{display:none}
.skill summary>span{color:var(--blue)}
.skill[open] summary{border-bottom:1px solid var(--line)}
.skill .body{padding:16px}
.skill .body p{font-size:.95rem;color:var(--ink-soft)}
.skill .prompt{background:var(--blue-soft);border:1px solid rgba(62,200,245,.3);border-radius:12px;padding:12px;font-size:.92rem;margin:10px 0;color:var(--ink)}
.skill-locked{padding:16px;opacity:.75}
.locked-row{display:flex;justify-content:space-between;align-items:center;gap:10px;font-weight:600;color:var(--ink-soft)}
.locked-row .unlock{font-size:.78rem;color:var(--blue);white-space:nowrap;background:var(--blue-soft);border:1px solid rgba(62,200,245,.3);padding:.25em .6em;border-radius:99px}

.upgrade{background:linear-gradient(135deg,rgba(255,46,126,.18),rgba(62,200,245,.14)),var(--card);border-color:rgba(255,46,126,.35)}
.upgrade h3{color:#fff}
.upgrade p{color:#cdd7f0}
.feedback-card h3{color:#fff}

/* Tabbar */
.tabbar{position:fixed;bottom:0;left:0;right:0;z-index:20;display:flex;background:rgba(8,15,36,.94);
  backdrop-filter:blur(10px);border-top:1px solid var(--line);padding-bottom:var(--safe-b)}
.tab{flex:1;border:0;background:transparent;font:inherit;font-size:.72rem;font-weight:600;color:var(--ink-dim);
  padding:9px 0 10px;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer}
.tab span{font-size:1.25rem;line-height:1}
.tab.is-active{color:#fff}
.tab.is-active span{filter:drop-shadow(0 0 6px rgba(255,46,126,.7))}

/* Modal */
.modal{position:fixed;inset:0;background:rgba(4,8,20,.65);display:flex;align-items:flex-end;justify-content:center;z-index:60}
.modal-card{background:var(--card);border:1px solid var(--line);border-radius:20px 20px 0 0;padding:22px 18px calc(22px + var(--safe-b));width:100%;max-width:480px}
.modal-card h3{color:#fff}
.modal-card textarea,.modal-card input{width:100%;border:1px solid var(--line);border-radius:12px;padding:.7em;font:inherit;margin-bottom:10px;background:var(--bg2);color:var(--ink)}
.tip-list{margin:0 0 14px;padding-left:1.2em;color:var(--ink-soft)}
.tip-list li{margin-bottom:.4em}
.tip-list strong{color:#fff}
.check{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--ink-soft);margin-bottom:14px}
.modal-actions{display:flex;gap:10px;justify-content:flex-end}
.toast{position:fixed;left:50%;bottom:calc(90px + var(--safe-b));transform:translateX(-50%);background:var(--grad);color:#fff;
  padding:.7em 1.1em;border-radius:99px;font-size:.9rem;z-index:70;box-shadow:var(--shadow)}

@media(min-width:560px){
  #main{max-width:560px;margin:0 auto}
  .appbar,.tabbar>*{max-width:560px;margin-inline:auto}
}
