/* Lucky Old Souls — theme "Aurora App" (mockup 5) */
:root{--bg:#070914;--bg2:#0d1029;--panel:rgba(255,255,255,.055);--panel2:rgba(255,255,255,.08);--border:rgba(255,255,255,.11);--text:#eef0fb;--body:#c9cde6;--muted:#9ba2c7;--mint:#7cf0d0;--violet:#9b7bff;--pink:#ff7ac3;--rose:#ff7a9a;--grad:linear-gradient(120deg,#7cf0d0,#9b7bff 55%,#ff7ac3)}
*{box-sizing:border-box;margin:0;padding:0}
html{overflow-x:hidden;scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:Urbanist,system-ui,sans-serif;line-height:1.7;font-size:17px;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
h1,h2,h3{font-weight:800;letter-spacing:-.6px;line-height:1.12}
.glyph{font-family:"Segoe UI Symbol","Noto Sans Symbols","DejaVu Sans",sans-serif}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.aur{position:absolute;left:0;right:0;top:-120px;height:820px;overflow:hidden;pointer-events:none;z-index:0;background:radial-gradient(40% 35% at 22% 30%,rgba(124,240,208,.22),transparent 70%),radial-gradient(35% 30% at 72% 18%,rgba(155,123,255,.28),transparent 70%),radial-gradient(30% 30% at 55% 55%,rgba(255,122,195,.14),transparent 70%);filter:blur(30px)}
header.site,main,footer.site{position:relative;z-index:1}
.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:#fff;color:#000;padding:8px;z-index:99}
.muted{color:var(--muted)}.small{font-size:13.5px}

/* header */
header.site{padding:14px 20px 0;position:sticky;top:0;z-index:40}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1160px;margin:0 auto;padding:9px 10px 9px 20px;border:1px solid var(--border);background:rgba(7,9,20,.72);backdrop-filter:blur(14px);border-radius:999px}
.logo{font-weight:800;font-size:19px;white-space:nowrap}
.logo span{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.menu{display:flex;gap:20px;color:var(--muted);font-weight:600;font-size:15px}
.menu a:hover,.menu a.on{color:#fff}
.burger{display:none;background:none;border:1px solid var(--border);border-radius:999px;width:42px;height:42px;color:#fff;font-size:18px;cursor:pointer}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--grad);color:#0b0d1c;font-weight:800;padding:12px 22px;border-radius:999px;font-size:15px;border:none;cursor:pointer;font-family:inherit;transition:.2s;white-space:nowrap}
.btn:hover{filter:brightness(1.08);box-shadow:0 0 30px rgba(155,123,255,.45)}
.btn-gl{background:var(--panel);color:#fff;border:1px solid var(--border)}
.btn-gl:hover{background:var(--panel2);box-shadow:none}
.btn-sm{padding:8px 16px;font-size:14px}
.btn-block{width:100%}
.glass{border:1px solid var(--border);background:var(--panel);backdrop-filter:blur(14px);border-radius:24px}

/* hero / calculator */
.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:40px;align-items:center;padding:60px 0 40px}
.chip{display:inline-flex;gap:8px;align-items:center;border:1px solid var(--border);background:var(--panel);border-radius:999px;padding:6px 14px;font-size:13px;color:var(--muted);margin-bottom:18px;font-weight:600}
.hero h1{font-size:clamp(38px,5.6vw,70px);margin-bottom:16px}
.gr{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .lead{font-size:18.5px;color:var(--muted);max-width:560px;margin-bottom:24px}
.crumbs{font-size:13.5px;color:var(--muted);margin-bottom:12px}
.crumbs a:hover{color:#fff}.crumbs span{margin:0 6px}
form.calc{padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:560px}
form.calc label{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:1px;text-transform:uppercase;display:flex;flex-direction:column;gap:6px}
form.calc .full{grid-column:1/-1}
form.calc input,form.calc select{background:rgba(0,0,0,.35);border:1px solid var(--border);border-radius:14px;padding:12px 14px;color:#fff;font:inherit;font-size:16px;color-scheme:dark;width:100%}
form.calc input:disabled{opacity:.4}
form.calc .chk{flex-direction:row;align-items:center;gap:8px;text-transform:none;letter-spacing:0;font-size:14px;font-weight:600}
form.calc .chk input{width:auto}
form.calc .btn{grid-column:1/-1}
form.calc .err{grid-column:1/-1;color:var(--rose);font-weight:700;font-size:14.5px;min-height:1px}
.place-wrap{position:relative}
.suggest{position:absolute;top:100%;left:0;right:0;z-index:30;background:#12152f;border:1px solid var(--border);border-radius:14px;margin-top:4px;overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,.4)}
.suggest button,.suggest span{display:block;width:100%;text-align:left;padding:10px 14px;background:none;border:none;color:#fff;font:inherit;font-size:15px;cursor:pointer;border-bottom:1px solid var(--border);text-transform:none;letter-spacing:0;font-weight:500}
.suggest button:hover{background:rgba(124,240,208,.12)}
.manual{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.preview{padding:22px}
.preview img{max-width:360px;margin:0 auto 14px;width:100%}
.preview ol{margin:0 0 0 20px;color:var(--muted);font-size:15px}
.preview li{margin:4px 0}

/* report */
#report{padding:10px 0 30px}
.rep-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 26px;margin-bottom:18px;flex-wrap:wrap}
.rep-head h2{font-size:30px}
.rep-actions{display:flex;gap:8px;flex-wrap:wrap}
.rep-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
.wheel-box{padding:16px}
.wheel-svg{width:100%;height:auto}
.big3{display:grid;gap:14px}
.rep-grid .big3{grid-template-columns:1fr}
.b3card{padding:20px 22px}
.b3card .b3g{font-size:28px;color:var(--mint)}
.b3card h3{font-size:21px;margin:2px 0 6px}
.b3card p{color:var(--body);font-size:15.5px;margin-bottom:6px}
.b3card a,.interp a,#report p a,article a.inl,article p a,article li a,article td a{color:var(--mint);font-weight:700}
.rep-h{font-size:28px;margin:34px 0 14px}
.tbl{overflow-x:auto;margin:10px 0 18px}
table{width:100%;border-collapse:collapse;font-size:15.5px}
th{text-align:left;padding:12px 16px;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border)}
td{padding:11px 16px;border-bottom:1px solid var(--border);color:var(--body);vertical-align:top}
tr:last-child td{border-bottom:none}
.rx{color:var(--rose);font-weight:800}
.cusps{padding:14px 20px;margin-bottom:10px}
.cusps summary{cursor:pointer;font-weight:700}
.cusp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px 14px;margin-top:10px;font-size:14.5px;color:var(--body)}
.cusp-grid b{color:var(--mint);margin-right:4px}
.balance{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:18px 20px;margin-bottom:12px}
.balance div{font-size:14px;color:var(--body)}
.balance b{display:block;color:#fff}
.bar{display:block;height:8px;background:rgba(255,255,255,.08);border-radius:8px;margin:6px 0;overflow:hidden}
.bar i{display:block;height:100%;background:var(--grad);border-radius:8px}
.interp{padding:18px 22px;margin-bottom:12px}
.interp h3{font-size:20px;margin-bottom:6px}
.interp p{color:var(--body);font-size:16px;margin-bottom:6px}
.aspects{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.asp{display:flex;gap:14px;padding:14px 18px;align-items:flex-start}
.asp.more{display:none}
.asp p{color:var(--body);font-size:15px}
.ag{font-family:"Segoe UI Symbol","DejaVu Sans",sans-serif;font-size:22px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:rgba(124,240,208,.12);color:var(--mint)}
.ag.hard{background:rgba(255,122,154,.14);color:var(--rose)}
.ag.blend{background:rgba(155,123,255,.16);color:var(--violet)}
.focus{padding:24px 26px;margin-bottom:18px;border-color:rgba(124,240,208,.5)}
.focus h2{font-size:clamp(28px,4vw,40px);margin:4px 0 8px}
.focus p{color:var(--body);margin-bottom:12px}
.kick{font-size:12px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--mint)}
.score{text-align:center}.score b{display:block;font-size:40px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.cta{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 28px;margin:24px 0;flex-wrap:wrap;background:linear-gradient(120deg,rgba(124,240,208,.12),rgba(155,123,255,.14))}
.cta h3{font-size:22px;margin-bottom:4px}.cta p{color:var(--body);margin:0}

/* content layout */
.layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:36px;padding:40px 0 60px}
.layout.full{grid-template-columns:1fr;max-width:900px;margin:0 auto}
.page-head{padding:50px 0 6px}
.page-head h1{font-size:clamp(34px,4.8vw,56px);margin-bottom:14px;max-width:900px}
.page-head .lead{font-size:18.5px;color:var(--muted);max-width:780px;margin-bottom:14px}
.byline{font-size:14px;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.byline b{color:#fff}
.badge{background:rgba(124,240,208,.14);color:var(--mint);font-weight:700;font-size:12.5px;padding:3px 10px;border-radius:999px}
article{min-width:0}
article h2{font-size:clamp(25px,3vw,32px);margin:34px 0 12px;scroll-margin-top:110px}
article h2:first-child{margin-top:0}
article h3{font-size:21px;margin:20px 0 8px}
article p{color:var(--body);margin-bottom:15px}
article ul.list,article ol.list{margin:0 0 18px 22px;color:var(--body)}
article .list li{margin:6px 0}
.hero-art{margin:0 0 26px;border-radius:24px;overflow:hidden;max-width:620px}
.kt{padding:20px 24px;margin:0 0 24px}
.kt h3{margin:0 0 6px;font-size:18px}
.kt li{margin:5px 0 5px 20px;color:var(--body)}
.toc{padding:16px 20px;margin:0 0 26px}
.toc b{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}
.toc ol{margin:6px 0 0 20px;columns:2;column-gap:26px}
.toc li{font-size:15px;margin:3px 0;break-inside:avoid;color:var(--body)}
.toc a{color:var(--mint)}
.callout{border-left:3px solid var(--mint);background:rgba(124,240,208,.07);padding:14px 18px;border-radius:0 14px 14px 0;margin:18px 0;color:var(--body)}
.grid{display:grid;gap:14px;margin:16px 0 26px}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.g6{grid-template-columns:repeat(6,1fr)}
.tile{padding:18px;transition:.2s;display:block}
a.tile:hover{border-color:rgba(124,240,208,.55);transform:translateY(-2px)}
.tile .ic{font-size:26px;color:var(--mint);margin-bottom:6px;display:block}
.tile h4{font-size:17px;margin-bottom:4px;font-weight:800}
.tile p{font-size:14px;color:var(--muted);margin:0;line-height:1.5}
.tile.center{text-align:center}
.facts td:first-child{color:var(--muted);width:40%}
.pc2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0 26px}
.pc2>div{padding:18px 20px}
.pc2 h3{margin:0 0 6px;font-size:17px}
.pc2 ul{list-style:none}
.pc2 li{margin:5px 0;color:var(--body);font-size:15.5px}
.pros li:before{content:"✓  ";color:var(--mint);font-weight:800}
.cons li:before{content:"–  ";color:var(--rose);font-weight:800}
details.faq{padding:14px 20px;margin-bottom:10px}
details.faq summary{cursor:pointer;font-weight:800;list-style:none;display:flex;justify-content:space-between;gap:12px}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary:after{content:"+";color:var(--mint)}
details.faq[open] summary:after{content:"–"}
details.faq p{color:var(--muted);margin:8px 0 0}

/* rail */
aside.rail .box{padding:20px;margin-bottom:18px}
aside.rail h2{font-size:21px;margin-bottom:10px}
.rail-rank{list-style:none}
.rail-rank li{display:grid;grid-template-columns:22px 40px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}
.rail-rank li:last-child{border:none}
.rail-rank .n{font-weight:800;color:var(--mint)}
.rail-rank b{display:block;font-size:14.5px}
.rail-rank small{color:var(--muted);font-size:12px;display:block;line-height:1.3}
.rail-rank .go{font-size:12.5px;font-weight:800;border:1px solid var(--border);padding:5px 10px;border-radius:999px}
.rail-rank li.first .go{background:var(--grad);color:#0b0d1c;border:none}
.rail .sticky{position:sticky;top:100px}
.rail .mini p{color:var(--muted);font-size:14.5px;margin-bottom:12px}
.rail .links a{display:block;padding:7px 0;border-bottom:1px solid var(--border);font-size:15px;color:var(--body)}
.rail .links a:hover{color:var(--mint)}
.lg{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-weight:800;color:#fff;flex-shrink:0}
.lg.big{width:56px;height:56px;border-radius:16px;font-size:22px}
.lg.xl{width:76px;height:76px;border-radius:20px;font-size:30px}
.lg.has-img{background:#fff;overflow:hidden;padding:0}
.lg.has-img img{width:100%;height:100%;object-fit:cover}
.lg.has-img.contain img{object-fit:contain;padding:12%}

/* ranking */
.row{display:grid;grid-template-columns:40px minmax(0,1.6fr) minmax(0,1.2fr) auto auto;gap:18px;align-items:center;padding:20px 22px;margin-bottom:14px;position:relative}
.row.first{border-color:rgba(124,240,208,.6);box-shadow:0 0 0 1px rgba(124,240,208,.4),0 20px 50px rgba(124,240,208,.08)}
.row .rib{position:absolute;top:-11px;left:20px;background:var(--mint);color:#0b0d1c;font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;padding:3px 12px;border-radius:999px}
.row .num{font-size:26px;font-weight:800;color:var(--mint);text-align:center}
.row .brand{display:flex;gap:12px;align-items:center;min-width:0}
.row h3{font-size:20px;letter-spacing:-.3px}
.row small{color:var(--muted);font-size:13.5px;display:block;line-height:1.35}
.row ul{list-style:none;font-size:14px;color:var(--muted)}
.row li:before{content:"✦ ";color:var(--mint)}
.row .sc{text-align:center}.row .sc b{font-size:28px;display:block;line-height:1}.row .sc small{font-size:11.5px}
.row .act{display:flex;flex-direction:column;gap:6px;text-align:center}
.row .act .more{font-size:12.5px;color:var(--muted);text-decoration:underline}
.offer{display:inline-block;margin-top:4px;background:rgba(124,240,208,.12);color:var(--mint);font-size:12px;font-weight:800;padding:3px 9px;border-radius:999px}

/* footer */
footer.site{border-top:1px solid var(--border);padding:46px 0 28px;color:var(--muted);font-size:14px;margin-top:20px}
.fg{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr;gap:26px;margin-bottom:24px}
footer.site h4{color:#fff;margin-bottom:10px;font-size:13px;letter-spacing:1px;text-transform:uppercase}
footer.site li{list-style:none;margin-bottom:6px}
footer.site a:hover{color:#fff}
.disc{border-top:1px solid var(--border);padding-top:18px;font-size:12.5px;line-height:1.6}

@media print{header.site,footer.site,.aur,form.calc,.hero .preview,aside.rail,.rep-actions,.cta,.page-head,.hero{display:none!important}body{background:#fff;color:#000}.glass{border:1px solid #ccc;background:#fff;backdrop-filter:none}.interp p,.b3card p,td{color:#222}}
@media(max-width:1060px){.menu{display:none;position:absolute;top:64px;left:20px;right:20px;flex-direction:column;gap:0;background:#0d1029;border:1px solid var(--border);border-radius:20px;padding:8px 18px}.menu.open{display:flex}.menu a{padding:11px 0;border-bottom:1px solid var(--border)}.burger{display:block}.nav>.btn{display:none}
  .layout{grid-template-columns:minmax(0,1fr)}.rail .sticky{position:static}.g6{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(2,1fr)}.fg{grid-template-columns:1fr 1fr}
  .row{grid-template-columns:36px minmax(0,1fr) auto}.row ul{display:none}.row .act{grid-column:1/-1;flex-direction:row}.row .act .btn{flex:1}}
@media(max-width:900px){.hero{grid-template-columns:1fr;padding-top:40px}.rep-grid{grid-template-columns:1fr}.aspects{grid-template-columns:1fr}}
@media(max-width:600px){body{font-size:16px}form.calc{grid-template-columns:1fr;padding:18px}.manual{grid-template-columns:1fr}.g3,.g2,.pc2{grid-template-columns:1fr}.g6{grid-template-columns:repeat(2,1fr)}.balance{grid-template-columns:1fr 1fr}.cusp-grid{grid-template-columns:1fr 1fr}.toc ol{columns:1}.fg{grid-template-columns:1fr}.row{padding:20px 16px}.rep-head h2{font-size:24px}th,td{padding:9px 10px}}
