/* Astro Logics App Kit — Direction A (Saffron Editorial Premium). Scope: .alk */
.alk{ --s:#FF7A1A; --sd:#E8590C; --gold:#C9A227; --maroon:#7A1F1F; --ink:#2A1A0E; --ink2:#5B4636; --ink3:#8A7257; --line:#ECD9BE; --cream:#FFF8EE; --tint:#FFFBF4; --green:#1F9D55; --amber:#C98A1A; --red:#C0392B;
  font-family:"Mulish",system-ui,sans-serif; color:var(--ink); }
.alk h1,.alk h2,.alk h3,.alk h4{ font-family:"Fraunces",Georgia,serif; margin:0; color:var(--ink); }
.alk a{ color:inherit; }
/* hero */
.alk-hero{ background:linear-gradient(135deg,#FFF3DF,#FFF8EE); border:1px solid var(--line); border-radius:20px; padding:1.2rem 1.4rem; margin-bottom:1.1rem; }
.alk-herotop{ display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.alk-herolead{ min-width:0; }
.alk-eyebrow{ font-weight:800; font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color:var(--sd); display:flex; align-items:center; gap:.55rem; }
.alk-eyebrow:before{ content:""; width:24px; height:2px; background:var(--gold); display:inline-block; }
.alk-h1{ font-family:"Fraunces",Georgia,serif; font-style:italic; font-weight:500; font-size:1.9rem; color:var(--maroon); line-height:1.12; margin-top:.35rem; }
.alk-sub{ font-size:.84rem; color:var(--ink3); margin-top:.3rem; }
.alk-pick{ display:flex; align-items:center; gap:.5rem; margin-top:.15rem; flex-wrap:wrap; flex-shrink:0; }
.alk-pick label{ font-size:.78rem; color:var(--ink3); }
.alk-pick select{ padding:.5rem .95rem; border:1.5px solid var(--line); border-radius:999px; background:#fff; color:var(--ink); font:inherit; font-weight:700; font-size:.84rem; cursor:pointer; }
.alk-pick a{ font-size:.78rem; font-weight:800; color:var(--sd); text-decoration:none; white-space:nowrap; }
/* stat tiles (white + gold top accent) */
.alk-tiles{ display:grid; grid-template-columns:repeat(4,1fr); gap:.7rem; margin-top:1rem; }
@media(max-width:760px){ .alk-tiles{ grid-template-columns:repeat(2,1fr); } }
.alk-tile{ background:#fff; border:1px solid var(--line); border-top:3px solid var(--gold); border-radius:13px; padding:.7rem .85rem; box-shadow:0 4px 12px -6px rgba(122,31,31,.18); }
.alk-tile .l{ font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; font-weight:800; color:var(--ink3); }
.alk-tile .v{ font-family:"Fraunces",serif; font-weight:600; font-size:1.1rem; color:var(--ink); margin-top:.25rem; line-height:1.15; }
.alk-tile .x{ font-size:.66rem; color:var(--ink3); margin-top:.15rem; }
/* grid + cards */
.alk-grid{ display:grid; gap:1rem; grid-template-columns:1fr; }
@media(min-width:1000px){ .alk-grid.two{ grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); align-items:start; } }
.alk-col{ display:flex; flex-direction:column; gap:1rem; min-width:0; }
.alk-card{ position:relative; background:#fff; border:1px solid var(--line); border-radius:18px; padding:1.15rem 1.25rem; box-shadow:0 2px 10px rgba(122,31,31,.06); }
.alk-card.accent{ border-left:4px solid var(--gold); }
.alk-card.cream{ background:linear-gradient(180deg,#FFFDF8,#FFF6EA); }
.alk-sechead{ margin-bottom:.85rem; }
.alk-sechead .eb{ font-size:.62rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--sd); }
.alk-sechead h2{ font-family:"Fraunces",serif; font-weight:600; font-size:1.2rem; color:var(--maroon); margin:.05rem 0; }
.alk-sechead p{ margin:.1rem 0 0; font-size:.8rem; color:var(--ink3); }
.alk-ch{ display:flex; align-items:center; justify-content:space-between; gap:.6rem; margin-bottom:.8rem; }
.alk-ch h3{ font-size:1.05rem; } .alk-ch a{ font-size:.76rem; font-weight:800; color:var(--sd); text-decoration:none; }
/* rows / kv / items */
.alk-kv{ display:flex; justify-content:space-between; gap:.7rem; padding:.42rem 0; border-bottom:1px dashed var(--line); font-size:.88rem; }
.alk-kv:last-child{ border-bottom:none; } .alk-kv span{ color:var(--ink3); } .alk-kv b{ color:var(--ink); }
.alk-item{ display:flex; align-items:center; justify-content:space-between; gap:.6rem; padding:.5rem 0; border-bottom:1px dashed var(--line); }
.alk-item:last-child{ border-bottom:none; }
.alk-muted{ color:var(--ink3); font-size:.86rem; }
/* chips */
.alk-chip{ font-size:.7rem; font-weight:800; padding:.18em .6em; border-radius:999px; white-space:nowrap; }
.alk-chip.good{ background:#E7F6EC; color:var(--green); } .alk-chip.mix{ background:#FBF1DD; color:var(--amber); } .alk-chip.bad{ background:#FBE9E7; color:var(--red); } .alk-chip.neu{ background:var(--tint); color:var(--ink3); }
/* strength bars */
.alk-bar{ display:flex; align-items:center; gap:.6rem; padding:.32rem 0; font-size:.85rem; }
.alk-bar .pn{ width:78px; color:var(--ink2); } .alk-bar .tr{ flex:1; height:8px; border-radius:99px; background:var(--tint); box-shadow:inset 0 0 0 1px var(--line); overflow:hidden; }
.alk-bar .fl{ height:100%; border-radius:99px; background:linear-gradient(90deg,#FF8A2E,#C9A227); } .alk-bar .pc{ width:38px; text-align:right; font-weight:800; color:var(--ink); }
/* progress */
.alk-prog{ height:8px; border-radius:99px; background:var(--tint); box-shadow:inset 0 0 0 1px var(--line); overflow:hidden; margin:.5rem 0; }
.alk-prog>i{ display:block; height:100%; background:linear-gradient(90deg,#FF8A2E,#E8590C); }
.alk-stars{ color:var(--gold); letter-spacing:1px; font-size:.95rem; }
/* tables */
.alk-table{ width:100%; border-collapse:collapse; font-size:.86rem; }
.alk-table th{ text-align:left; color:var(--ink3); font-size:.64rem; text-transform:uppercase; letter-spacing:.06em; padding:.5rem; border-bottom:2px solid var(--line); }
.alk-table td{ padding:.5rem; border-bottom:1px solid var(--line); }
.alk-table tr.cur td{ background:linear-gradient(90deg,#FFF3E2,#fff); font-weight:800; color:var(--maroon); }
.alk-dot{ width:9px; height:9px; border-radius:50%; display:inline-block; margin-right:6px; flex-shrink:0; }
/* timeline */
.alk-tl .ev{ position:relative; padding:.45rem 0 .55rem .9rem; border-left:2px solid var(--line); margin-left:.2rem; }
.alk-tl .ev:before{ content:""; position:absolute; left:-6px; top:.7rem; width:10px; height:10px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 3px #fff; }
.alk-tl .d{ font-size:.7rem; color:var(--ink3); } .alk-tl .t{ font-weight:800; font-size:.9rem; color:var(--ink); }
/* north indian chart */
.alk-chartbox{ display:grid; place-items:center; }
.alk-nsvg{ width:100%; max-width:330px; height:auto; }
.alk-nsvg .ln{ stroke:var(--gold); stroke-width:1.1; fill:none; }
.alk-nsvg .rn{ fill:var(--ink3); font:600 9px Mulish,sans-serif; }
.alk-nsvg .pl{ fill:var(--maroon); font:800 12px Mulish,sans-serif; }
.alk-nsvg .pl.asc{ fill:var(--sd); }
/* buttons */
.alk-btn{ display:inline-flex; align-items:center; gap:.5rem; padding:.7rem 1.3rem; border-radius:999px; font-weight:800; font:inherit; cursor:pointer; border:none; color:#fff; background:linear-gradient(180deg,#FF8A2E,#E8590C); box-shadow:0 8px 18px -8px rgba(232,89,12,.5); text-decoration:none; }
.alk-btn.ghost{ background:#fff; color:var(--maroon); box-shadow:inset 0 0 0 1.5px var(--gold); }
.alk-input{ width:100%; padding:.7rem .85rem; border:1.5px solid var(--line); border-radius:12px; background:var(--tint); color:var(--ink); font:inherit; box-sizing:border-box; }
.alk-input:focus{ outline:none; border-color:var(--s); box-shadow:0 0 0 3px rgba(255,122,26,.14); }
.alk label.fl{ display:block; font-size:.72rem; font-weight:800; color:var(--ink2); text-transform:uppercase; letter-spacing:.04em; margin-bottom:.3rem; }
/* lock overlay */
.alk-card.locked .alk-lockbody{ filter:blur(5px); opacity:.55; pointer-events:none; user-select:none; }
.alk-lock{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.5rem; text-align:center; padding:1rem; border-radius:18px; background:rgba(255,248,238,.55); }
.alk-lock .ic{ font-size:1.4rem; } .alk-lock .tx{ font-size:.82rem; color:var(--maroon); font-weight:700; max-width:240px; }
.alk-lock a{ padding:.5rem 1.1rem; border-radius:999px; font-weight:800; font-size:.82rem; text-decoration:none; color:#fff; background:linear-gradient(180deg,#FF8A2E,#E8590C); box-shadow:0 8px 18px -8px rgba(232,89,12,.5); }
/* empty + utility */
.alk-empty{ text-align:center; padding:2.4rem 1rem; }
.alk-empty a{ display:inline-block; margin-top:.8rem; }
.alk-row2{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; } @media(max-width:680px){ .alk-row2{ grid-template-columns:1fr; } }
.alk-grid4{ display:grid; grid-template-columns:repeat(4,1fr); gap:.7rem; } @media(max-width:680px){ .alk-grid4{ grid-template-columns:repeat(2,1fr); } }
/* mobile containment */
.alk-grid>*,.alk-row2>*,.alk-grid4>*{ min-width:0; }
.alk-card,.alk-chartbox{ overflow-x:auto; }
