:root{color-scheme:dark}
body{--bg:#121316;--fg:#e8e6e1;--mut:#a3a09a;--card:#1b1c20;--line:#2e2f35;--acc:#f0a35e;--b1:#6ee7a0;--b2:#7cb8ff;--b3:#b4b0a8;--b4:#c9b3ff}
.t-lunar{--bg:#0b0e14;--fg:#e4e8ef;--mut:#9aa3b2;--card:#151a23;--line:#2a313d;--acc:#9cc4ec;--b1:#a8e6c8;--b2:#a9c9f0;--b3:#aab1bd;background:radial-gradient(ellipse at 80% -10%,#1d2533 0,#0b0e14 60%) fixed}
.t-gait{--bg:#15181c;--fg:#ebe6e0;--mut:#aaa198;--card:#1f2328;--line:#353a40;--acc:#e08a63;--b1:#9fd8a8;--b2:#e9a27f;--b3:#b8afa6}
.t-gait .card{border-radius:14px}.t-gait h1{color:#e9a27f}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.6 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.w{max-width:960px;margin:0 auto;padding:2rem 1.25rem 4rem}header{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:1rem;margin-bottom:2rem}
header a{color:var(--mut);text-decoration:none;font-size:.9rem}header a:hover{color:var(--acc)}.brand{font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;color:var(--fg)}
h1{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.15;margin:.2rem 0 .5rem;letter-spacing:-.02em}.lede{color:var(--mut);margin:0 0 2rem;max-width:60ch}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}
.card{display:flex;flex-direction:column;gap:.5rem;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1.2rem;color:inherit;text-decoration:none;transition:border-color .15s,transform .15s}
.card:hover{border-color:var(--acc);transform:translateY(-2px)}.card h2{margin:0;font-size:1.15rem}.card p{margin:0;color:var(--mut);font-size:.95rem;flex:1}
.meta{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;font-size:.8rem}.lang{font-family:ui-monospace,Menlo,monospace;color:var(--mut)}
.badge{display:inline-block;padding:.1rem .55rem;border-radius:99px;font-size:.75rem;font-weight:600;border:1px solid currentColor}
.live{color:var(--b1)}.early{color:var(--b2)}.hold{color:var(--b3)}
article h3{margin:2rem 0 .5rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--mut)}article ul{padding-left:1.2rem}
.links a{color:var(--acc)}table{border-collapse:collapse;width:100%;font-size:.95rem}td,th{border-bottom:1px solid var(--line);padding:.45rem .3rem;text-align:left}
footer{margin-top:3rem;padding-top:1rem;border-top:1px solid var(--line);color:var(--mut);font-size:.85rem}footer a{color:inherit}
.current{color:var(--b4)}

/* Plug — sawn pine fascia (colours from plug.css) */
.t-plug,.c-plug{--pl:#EBCB92;--pd:#D4AA6C;--gr:#93612F;--ink:#4A2A12;--red:#C0301A;--lamp:#21A83D;--brass:#EDCC80;--paper:#FFF8EC;--txt:#2B1A0C;--rule:#E2C99A}
.t-plug{--bg:#2a170a;--fg:var(--txt);--mut:#5a3a1c;--card:var(--paper);--line:var(--rule);--acc:#8f2312;font-family:"Zilla Slab",Rockwell,"Roboto Slab",Georgia,serif;
 background:repeating-linear-gradient(90deg,#2a170a 0 3px,#341d0d 3px 7px,#2d190b 7px 12px)}
.t-plug .w{max-width:820px;margin:1.5rem auto;padding:1.5rem 2rem 2rem;border:12px solid #4A2A12;border-image:linear-gradient(180deg,#5c3518,#3a200c) 1;box-shadow:0 10px 30px rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,248,236,.25);background:
 repeating-linear-gradient(91deg,transparent 0 11px,rgba(147,97,47,.16) 11px 12px,transparent 12px 27px,rgba(147,97,47,.09) 27px 30px,transparent 30px 44px),
 repeating-linear-gradient(89.3deg,transparent 0 5px,rgba(120,76,34,.07) 5px 6px),
 linear-gradient(180deg,#EBCB92,#D4AA6C)}
.t-plug header{border-color:var(--gr)}.t-plug header a,.t-plug .brand{color:var(--ink)}.t-plug .brand{font-family:inherit}
.t-plug h1{color:var(--ink);font-weight:700}.t-plug .lede{color:#4f3218;font-family:"Libre Franklin","Helvetica Neue",Arial,sans-serif}
.t-plug .brandlogo{display:block;width:min(360px,100%);height:auto;margin:.2rem 0 .6rem}
.t-plug article h3{color:var(--ink);border-bottom:2px solid var(--gr);padding-bottom:.2rem}
.t-plug article ul{background:rgba(255,248,236,.72);border-left:5px solid var(--gr);padding:.8rem 1rem .8rem 2rem;font-family:"Libre Franklin","Helvetica Neue",Arial,sans-serif}
.t-plug .links a{color:#8f2312;font-weight:600}
.t-plug footer{border-color:var(--gr);color:#4f3218}
.t-plug .lang{color:#4f3218}
.t-plug .live,.c-plug .live{color:#1a6e2c;background:rgba(255,248,236,.7)}
.t-plug .early,.c-plug .early{color:#8f2312;background:rgba(255,248,236,.7)}
.t-index .c-plug{border:6px solid #4A2A12;border-image:linear-gradient(180deg,#5c3518,#3a200c) 1;color:#2B1A0C;background:
 repeating-linear-gradient(91deg,transparent 0 11px,rgba(147,97,47,.16) 11px 12px,transparent 12px 27px,rgba(147,97,47,.09) 27px 30px,transparent 30px 44px),
 linear-gradient(180deg,#EBCB92,#D4AA6C)}
.t-index .c-plug h2{color:#4A2A12;font-family:"Zilla Slab",Rockwell,"Roboto Slab",Georgia,serif}.t-index .c-plug p,.t-index .c-plug .lang{color:#4f3218}
.card h2 img{vertical-align:-6px;margin-right:.5rem}

/* MoreMe — chocolate + pink pinstripes (values from Theme.swift) */
.t-moreme,.c-moreme{--choc:#3D2417;--choc-deep:#2E1A0F;--choc-light:#4F3021;--pink:#FF61A8}
.t-moreme{--bg:var(--choc);--fg:#fff;--mut:rgba(255,255,255,.72);--card:var(--choc-light);--line:rgba(255,97,168,.45);--acc:var(--pink);--b4:var(--pink);
 font-family:"Avenir Next",Avenir,"Segoe UI",system-ui,sans-serif;
 background:repeating-linear-gradient(90deg,transparent 0 31px,rgba(255,97,168,.13) 31px 32px),var(--choc)}
.t-moreme .brand,.t-moreme article h3{color:var(--pink)}
.t-moreme article h3{border-top:1px solid rgba(255,97,168,.45);padding-top:.7rem;font-weight:600}
.t-moreme .mm-head{display:flex;align-items:center;gap:1rem;margin:.6rem 0}
.t-moreme .mm-head h1{margin:0}.t-moreme .mm-head h1 img{display:block;width:min(300px,60vw);height:auto}
.t-moreme article li::marker{color:var(--pink)}
.t-moreme .mm-foot{vertical-align:middle;margin-right:.6rem;opacity:.85}
.t-moreme .lang{color:rgba(255,255,255,.72)}
.c-moreme .current{color:var(--pink)}
.t-index .c-moreme{color:#fff;border-color:rgba(255,97,168,.55);background:repeating-linear-gradient(90deg,transparent 0 23px,rgba(255,97,168,.14) 23px 24px),#3D2417;font-family:"Avenir Next",Avenir,"Segoe UI",system-ui,sans-serif}
.t-index .c-moreme p,.t-index .c-moreme .lang{color:rgba(255,255,255,.75)}.t-index .c-moreme:hover{border-color:#FF61A8}
.t-plug h1{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.t-index .c-plug h2 img{width:32px;height:32px}
/* download section */
.dl{margin-top:1.4rem}
.dl-btn{display:inline-block;padding:.55rem 1.1rem;border-radius:8px;border:1px solid currentColor;text-decoration:none;font-weight:600}
.t-gait .dl-btn{color:#15181c;background:#e08a63;border-color:#e08a63;border-radius:14px}
.t-plug .dl h3{color:var(--ink);border-bottom:2px solid var(--gr);padding-bottom:.2rem}
.t-plug .dl-btn{color:var(--paper);background:var(--red);border-color:var(--ink);box-shadow:0 2px 0 var(--ink)}
.t-moreme .dl-btn{color:var(--choc-deep);background:var(--pink);border-color:var(--pink);border-radius:999px}
/* index: single column of buttons */
.grid{display:flex;flex-direction:column;gap:.7rem;max-width:560px}
.grid .card{border-radius:999px;padding:.8rem 1.4rem;flex-direction:row;align-items:center;gap:1rem}
.grid .card p{display:none}.grid .card .meta{margin-left:auto}
.grid .card:hover{transform:none}
@media(max-width:560px){.grid .card .meta{display:none}}
