:root{font-family:Arial,Helvetica,sans-serif;color:#151515;background:#f7f5f0}*{box-sizing:border-box}body{margin:0}.exercise-banner{background:#c40000;color:white;text-align:center;padding:8px;font-size:12px;font-weight:800;letter-spacing:.14em}.top{max-width:1100px;margin:auto;padding:24px 20px 14px;border-bottom:4px solid #111;display:flex;justify-content:space-between;gap:20px;align-items:end}.top h1{font-family:Georgia,serif;margin:0;font-size:34px}.top p{margin:4px 0;color:#666;font-size:12px;text-transform:uppercase;letter-spacing:.12em}nav{display:flex;gap:7px;flex-wrap:wrap}button,.btn{border:1px solid #bbb;background:white;border-radius:7px;padding:9px 13px;cursor:pointer;font-weight:700}button:hover{background:#eee}main{max-width:1100px;margin:auto;padding:22px 20px 50px}.breaking{border-bottom:1px solid #bbb;padding:0 0 14px;margin-bottom:22px}.breaking b{background:#111;color:white;padding:5px 8px;margin-right:10px}.grid{display:grid;grid-template-columns:1.6fr .8fr;gap:28px}.hero{border-right:1px solid #bbb;padding-right:28px}.meta{font-size:12px;color:#666;text-transform:uppercase;font-weight:bold;letter-spacing:.08em}.headline{font-family:Georgia,serif;font-size:34px;line-height:1.05;margin:8px 0 14px}.lead{font-size:18px;line-height:1.5}.image{height:250px;background:#dedbd4;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#777;overflow:hidden}.image img{width:100%;height:100%;object-fit:cover}.side article,.archive-item,.queue-item{padding:15px 0;border-bottom:1px solid #ccc}.side h3,.archive-item h3{font-family:Georgia,serif;margin:5px 0;font-size:20px}.link{border:0;background:none;padding:0;text-align:left;font:inherit;cursor:pointer}.article{max-width:780px;margin:auto}.article h2{font-family:Georgia,serif;font-size:40px;line-height:1.08}.article-body{font-family:Georgia,serif;font-size:18px;line-height:1.7}.article-body p{white-space:pre-wrap}.excon{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px}.panel{background:white;border:1px solid #ccc;border-radius:10px;padding:18px}.field{margin-bottom:14px}.field label{display:block;font-weight:700;margin-bottom:5px}.field input,.field textarea,.field select{width:100%;font:inherit;padding:10px;border:1px solid #bbb;border-radius:6px;background:white}.actions{display:flex;gap:8px;flex-wrap:wrap}.primary{background:#111;color:white}.status{margin-top:10px;font-weight:bold}.queue-item{background:#fafafa;padding:12px;margin-bottom:8px;border:1px solid #ddd;border-radius:8px}.state{font-size:11px;font-weight:bold;color:#666}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}.stat{text-align:center;background:#eee;padding:12px;border-radius:8px}.stat strong{font-size:25px;display:block}.archive-head{display:flex;justify-content:space-between;align-items:end;gap:10px;border-bottom:3px solid #111;padding-bottom:10px}.note{font-size:13px;color:#666}.import-box{margin-top:20px;padding-top:16px;border-top:1px solid #ccc}.import-box input{margin:8px 0}.hidden{display:none}@media(max-width:720px){.top{align-items:start;flex-direction:column}.grid,.excon{grid-template-columns:1fr}.hero{border-right:0;padding-right:0}.headline{font-size:29px}.article h2{font-size:31px}}

/* V1.2.1 thumbnails */
.thumb{width:112px;height:76px;flex:0 0 112px;border-radius:4px;overflow:hidden;background:#e8e8e8;display:flex;align-items:center;justify-content:center;color:#777;font-size:10px;text-align:center}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.side article{display:flex;gap:12px;align-items:flex-start}
.side .story-copy{min-width:0;flex:1}
.archive-item{display:flex;gap:16px;align-items:flex-start}
.archive-item .thumb{width:150px;height:96px;flex-basis:150px;cursor:pointer}
.archive-copy{min-width:0;flex:1}
@media(max-width:650px){.thumb{width:92px;height:66px;flex-basis:92px}.archive-item .thumb{width:105px;height:74px;flex-basis:105px}}

/* Authentication gate: before login show only the login form. */
body.logged-out > .exercise-banner,
body.logged-out > .top { display:none !important; }
body.logged-out main#app { min-height:100vh; display:flex; align-items:flex-start; justify-content:center; }
body.logged-out main#app > .panel { width:min(460px, calc(100% - 32px)); }

/* V2.1 — portada editorial dinámica */
.front-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr);gap:28px}
.front-grid .hero{border-right:1px solid #bbb;padding-right:28px}
.top-stories article{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-bottom:1px solid #ccc}
.top-stories h3{font-family:Georgia,serif;margin:4px 0 6px;font-size:19px;line-height:1.15}
.sections-head{margin:38px 0 4px;border-top:4px solid #111;padding-top:9px;font-size:12px;font-weight:800;letter-spacing:.14em}
.category-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 34px}
.category-section{border-top:2px solid #111;padding-top:8px}
.category-title{font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.11em;margin-bottom:12px}
.category-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:18px}
.category-feature .thumb{width:100%;height:170px;display:flex;margin-bottom:10px}
.category-feature h3{font-family:Georgia,serif;font-size:23px;line-height:1.12;margin:5px 0 7px}
.category-small{display:flex;gap:10px;padding:0 0 11px;margin-bottom:11px;border-bottom:1px solid #d2d2d2}
.category-small .thumb{width:86px;height:60px;flex-basis:86px}
.category-small h4{font-family:Georgia,serif;font-size:16px;line-height:1.15;margin:3px 0}
@media(max-width:850px){.front-grid{grid-template-columns:1fr}.front-grid .hero{border-right:0;padding-right:0}.category-sections{grid-template-columns:1fr}}
@media(max-width:560px){.category-grid{grid-template-columns:1fr}.category-feature .thumb{height:190px}}
