:root { color-scheme:light; }
* { box-sizing:border-box; }
body { margin:0; color:#182027; background:#ece9e2; font-family:Inter,Arial,sans-serif; }
.lab-header { min-height:58px; padding:0 clamp(1rem,3vw,3rem); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #c8c3b8; background:#f8f5ee; }
.lab-brand { display:flex; align-items:center; gap:.55rem; color:inherit; text-decoration:none; }
.lab-brand span { width:38px; height:32px; display:block; overflow:hidden; color:transparent; background:url("../assets/logo-mark.svg?v=ck1") center/contain no-repeat; font-size:0; }
.lab-brand strong { font:700 1rem Newsreader,serif; }
.back-link { color:#5d6870; font-size:.72rem; font-weight:700; text-decoration:none; }
main { width:min(1500px,calc(100% - 2rem)); margin:auto; padding:1.5rem 0 3rem; }
.intro { max-width:760px; margin-bottom:1.25rem; }
.kicker { margin:0 0 .35rem; color:#a62f2f; font-size:.68rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.intro h1 { margin:0; font:700 clamp(1.7rem,4vw,3.2rem)/1 Newsreader,Georgia,serif; }
.intro > p:not(.kicker) { margin:.65rem 0; color:#59656d; line-height:1.55; }
.choice { display:inline-block; min-width:280px; margin-top:.35rem; padding:.55rem .75rem; border-left:4px solid #bb3e35; background:#fff; font-size:.78rem; font-weight:700; }
.apply-link { display:inline-block; margin:.45rem 0 0 .45rem; padding:.55rem .75rem; color:#fff; background:#182027; font-size:.72rem; font-weight:700; text-decoration:none; }
.apply-link:hover { background:#bb3e35; }
.apply-link[hidden] { display:none; }
.theme-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.theme-card { position:relative; min-width:0; padding:0; overflow:hidden; border:2px solid transparent; border-radius:7px; color:var(--ink); background:var(--paper); box-shadow:0 5px 20px rgba(20,30,38,.08); text-align:left; cursor:pointer; }
.theme-card:hover { transform:translateY(-2px); box-shadow:0 9px 25px rgba(20,30,38,.14); }
.theme-card.selected { border-color:#111; box-shadow:0 0 0 3px rgba(255,255,255,.9),0 0 0 6px var(--accent); }
.theme-label { min-height:55px; padding:.7rem .8rem; display:flex; align-items:center; justify-content:space-between; gap:.5rem; color:var(--ink); background:var(--surface); border-bottom:1px solid color-mix(in srgb,var(--ink) 16%,transparent); }
.theme-label strong { font:700 .93rem var(--heading); }
.theme-label small { display:block; margin-top:.15rem; color:var(--muted); font:600 .57rem var(--body); }
.favorite { flex:0 0 auto; padding:.2rem .36rem; color:#fff; background:var(--accent); border-radius:999px; font:700 .5rem var(--body); letter-spacing:.04em; text-transform:uppercase; }
.mini-site { display:block; padding:.62rem; font-family:var(--body); }
.mini-header { display:flex; align-items:center; justify-content:space-between; padding-bottom:.45rem; border-bottom:2px solid var(--ink); }
.mini-brand { font:700 .9rem var(--heading); }
.mini-brand b { display:inline-grid; width:23px; height:23px; margin-right:.32rem; place-items:center; color:var(--paper); background:var(--accent); }
.mini-lang { color:var(--muted); font-size:.48rem; font-weight:700; }
.mini-title { display:block; margin:.55rem 0 .32rem; color:var(--accent); font:700 .58rem var(--body); letter-spacing:.08em; text-transform:uppercase; }
.mini-ratings { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid color-mix(in srgb,var(--ink) 18%,transparent); background:var(--surface); }
.mini-ratings > span { min-width:0; padding:.4rem; border-right:1px solid color-mix(in srgb,var(--ink) 16%,transparent); }
.mini-ratings > span:last-child { border-right:0; }
.mini-ratings h3 { margin:0 0 .24rem; color:var(--ink); font:700 .56rem var(--heading); white-space:nowrap; }
.mini-ratings p { margin:.12rem 0; color:var(--muted); font-size:.47rem; }
.mini-ratings b { float:right; color:var(--ink); font-family:var(--mono,monospace); }
.mini-bottom { display:grid; grid-template-columns:1.15fr .85fr; gap:.42rem; margin-top:.42rem; }
.mini-news,.mini-table { min-height:62px; padding:.42rem; background:var(--surface); border-top:3px solid var(--secondary); }
.mini-news h4,.mini-table h4 { margin:0 0 .3rem; font:700 .62rem var(--heading); }
.mini-news p,.mini-table p { margin:.18rem 0; color:var(--muted); font-size:.46rem; }
.mini-news a,.mini-table a { color:var(--secondary); font-weight:700; }
@media (max-width:1050px) { .theme-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:650px) { .theme-grid { grid-template-columns:1fr; } main { width:min(100% - 1rem,520px); } }
