:root{
  color-scheme:light dark;
  --bg:#eef4fb;
  --panel:#ffffff;
  --panel-2:#f4f7fb;
  --text:#132238;
  --muted:#617086;
  --line:#d6e0ec;
  --accent:#0b63ce;
  --accent-2:#084c9e;
  --accent-text:#ffffff;
  --good:#087443;
  --good-bg:#e7f8ef;
  --bad:#a51d2b;
  --bad-bg:#fdecef;
  --warn:#7a5500;
  --warn-bg:#fff4d6;
  --focus:#ffb000;
  --shadow:0 9px 26px rgba(20,47,84,.09);
  --challenge-shadow:0 8px 20px rgba(16,38,70,.12);
}
@media (prefers-color-scheme:dark){
  :root{
    --bg:#0d1520;
    --panel:#151f2c;
    --panel-2:#1c2938;
    --text:#f3f7fc;
    --muted:#b9c5d4;
    --line:#33465d;
    --accent:#59a8ff;
    --accent-2:#2f86e4;
    --accent-text:#07111d;
    --good:#8be1af;
    --good-bg:#113827;
    --bad:#ffabb4;
    --bad-bg:#451b22;
    --warn:#ffd576;
    --warn-bg:#46370d;
    --focus:#ffd166;
    --shadow:none;
    --challenge-shadow:none;
  }
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{overscroll-behavior-y:none}
button,input{font:inherit}
button{touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--focus);outline-offset:2px}

/* Cabecera deliberadamente compacta: la pantalla importante es el contenido. */
.po-header{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;min-height:56px;padding:7px max(11px,env(safe-area-inset-right)) 7px max(11px,env(safe-area-inset-left));background:color-mix(in srgb,var(--panel) 94%,transparent);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.po-header h1{font-size:1rem;line-height:1.05;margin:0;font-weight:900}.po-header p{margin:2px 0 0;color:var(--muted);font-size:.72rem;line-height:1.1}.po-brand{display:flex;align-items:center;gap:8px;min-width:0}.po-brand-mark{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:linear-gradient(145deg,#0b63ce,#684ce8);color:#fff;font-size:1rem;box-shadow:0 5px 14px rgba(40,86,180,.22)}
.po-back{display:flex;align-items:center;gap:3px;color:var(--accent);font-weight:850;text-decoration:none;padding:7px 4px;border-radius:9px;font-size:.86rem}.po-back-arrow{font-size:1.35rem;line-height:.7}.po-network{font-size:.72rem;font-weight:800;padding:6px 8px;border-radius:999px;background:var(--bad-bg);color:var(--bad);white-space:nowrap}.po-network[hidden]{display:none!important}

.po-app{width:min(1160px,100%);margin:0 auto;padding:11px 10px calc(25px + env(safe-area-inset-bottom))}
.po-card,.po-section{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:var(--shadow);margin-bottom:11px}
.po-card h2,.po-card h3,.po-section h2,.po-section h3{margin:0}.po-card p{line-height:1.45}.po-muted{color:var(--muted)}
.po-kicker{font-size:.69rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:900}

/* Hero de una sola mirada. */
.po-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 13%,var(--panel)),var(--panel) 56%,color-mix(in srgb,#7b54e8 8%,var(--panel)));overflow:hidden;position:relative}
.po-hero:after{content:"";position:absolute;width:115px;height:115px;border-radius:50%;right:-42px;top:-48px;background:color-mix(in srgb,var(--accent) 10%,transparent);pointer-events:none}.po-hero-copy{min-width:0;position:relative;z-index:1}.po-hero h2{font-size:1.22rem;line-height:1.15;margin:3px 0 3px}.po-hero p{font-size:.82rem;margin:0;color:var(--muted)}
.po-hero-stats{display:flex;gap:7px;position:relative;z-index:1}.po-mini-stat{min-width:62px;text-align:center;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));border-radius:12px;padding:7px 8px;background:color-mix(in srgb,var(--panel) 84%,transparent)}.po-mini-stat strong{display:block;font-size:1.18rem;line-height:1;font-variant-numeric:tabular-nums}.po-mini-stat span{display:block;font-size:.63rem;margin-top:3px;color:var(--muted);font-weight:800}


/* Cadencia Telegram: elección única de tiempo por pregunta para retos y entrenamiento. */
.po-time-control{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:9px 11px;box-shadow:var(--shadow);margin-bottom:11px}.po-time-copy{min-width:0}.po-time-copy strong{display:block;font-size:.78rem}.po-time-copy span{display:block;color:var(--muted);font-size:.64rem;line-height:1.25;margin-top:2px}.po-time-choices{display:flex;gap:5px}.po-time-choice{appearance:none;border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:999px;min-width:48px;min-height:34px;padding:6px 9px;font-weight:900;font-size:.72rem;cursor:pointer}.po-time-choice.active{background:var(--accent);border-color:var(--accent);color:var(--accent-text);box-shadow:0 3px 8px color-mix(in srgb,var(--accent) 20%,transparent)}

.po-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:10px}.po-section-title{display:flex;align-items:center;gap:8px;min-width:0}.po-section-title-icon{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:var(--panel-2);border:1px solid var(--line);font-size:1rem}.po-section-head h2{font-size:1rem;line-height:1.1}.po-section-head p{font-size:.7rem;margin:2px 0 0;color:var(--muted)}.po-section-count{font-size:.7rem;font-weight:900;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--panel));border:1px solid color-mix(in srgb,var(--accent) 23%,var(--line));padding:5px 8px;border-radius:999px;white-space:nowrap}

/* Retos: dos por fila incluso en móvil; tres/cuatro en pantallas mayores. */
.po-challenge-grid{display:grid;grid-template-rows:1fr;grid-auto-flow:column;grid-auto-columns:minmax(152px,46%);gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:1px 2px 5px;scrollbar-width:thin}.po-challenge-card{scroll-snap-align:start}.po-challenge-card{position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:145px;border:1px solid color-mix(in srgb,var(--challenge-accent,#1677d2) 30%,var(--line));border-radius:14px;padding:10px;background:linear-gradient(145deg,color-mix(in srgb,var(--challenge-accent,#1677d2) 13%,var(--panel)),var(--panel) 64%);box-shadow:var(--challenge-shadow)}
.po-challenge-card:before{content:"";position:absolute;right:-20px;top:-28px;width:75px;height:75px;border-radius:50%;background:color-mix(in srgb,var(--challenge-accent,#1677d2) 12%,transparent)}.po-challenge-top{display:flex;align-items:center;justify-content:space-between;gap:5px;position:relative;z-index:1}.po-cat-icon{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:var(--challenge-accent,#1677d2);color:#fff;font-size:.88rem;font-weight:950;box-shadow:0 4px 10px color-mix(in srgb,var(--challenge-accent,#1677d2) 28%,transparent)}.po-status{font-size:.58rem;font-weight:950;letter-spacing:.04em;text-transform:uppercase;padding:4px 5px;border-radius:999px;background:color-mix(in srgb,var(--good) 12%,var(--panel));color:var(--good);border:1px solid color-mix(in srgb,var(--good) 24%,var(--line))}.po-status.closed{background:var(--panel-2);color:var(--muted);border-color:var(--line)}.po-status.active{background:color-mix(in srgb,var(--accent) 11%,var(--panel));color:var(--accent);border-color:color-mix(in srgb,var(--accent) 28%,var(--line))}
.po-challenge-title{position:relative;z-index:1;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:.79rem;line-height:1.18;margin:8px 0 3px;min-height:1.9em}.po-challenge-meta{font-size:.63rem;color:var(--muted);font-weight:750;margin-bottom:8px}.po-challenge-actions{display:grid;grid-template-columns:1fr auto;gap:6px;margin-top:auto;position:relative;z-index:1}.po-challenge-actions.single{grid-template-columns:1fr}.po-challenge-card .po-btn{min-height:34px;padding:7px 8px;border-radius:9px;font-size:.7rem}.po-rank-btn{min-width:34px;width:34px;padding:0!important;display:grid;place-items:center;font-size:.9rem!important}

/* Entrenamiento: selector compacto en rejilla. */
.po-training-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.po-training-tile{appearance:none;width:100%;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;text-align:left;border:1px solid var(--line);border-radius:12px;padding:8px;background:var(--panel-2);color:var(--text);cursor:pointer;min-height:54px}.po-training-tile:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent) 5%,var(--panel-2))}.po-training-tile:disabled{opacity:.48;cursor:not-allowed}.po-training-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:color-mix(in srgb,var(--tile-accent,var(--accent)) 13%,var(--panel));border:1px solid color-mix(in srgb,var(--tile-accent,var(--accent)) 28%,var(--line));color:var(--tile-accent,var(--accent));font-weight:950}.po-training-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:.72rem;line-height:1.15;font-weight:850}.po-training-meta{display:block;font-size:.59rem;color:var(--muted);margin-top:2px;font-weight:700}.po-resume{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 9px;padding:8px 9px;border-radius:11px;background:color-mix(in srgb,var(--accent) 8%,var(--panel));border:1px solid color-mix(in srgb,var(--accent) 20%,var(--line))}.po-resume span{font-size:.72rem;font-weight:800}.po-resume .po-btn{min-height:32px;padding:6px 9px;font-size:.68rem}

.po-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.po-grid.one{grid-template-columns:1fr}.po-stat{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:10px}.po-stat strong{display:block;font-size:1.12rem;margin-top:2px}
.po-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px}.po-btn{appearance:none;border:1px solid transparent;border-radius:11px;padding:10px 13px;font-weight:850;cursor:pointer;min-height:42px;background:linear-gradient(180deg,var(--accent),var(--accent-2));color:var(--accent-text);box-shadow:0 4px 10px color-mix(in srgb,var(--accent) 18%,transparent)}.po-btn.secondary{background:var(--panel-2);border-color:var(--line);color:var(--text);box-shadow:none}.po-btn.danger{background:#8b1d1d;color:#fff}.po-btn:disabled{opacity:.55;cursor:not-allowed}.po-btn.block{width:100%}
.po-input{width:100%;border:1px solid var(--line);border-radius:11px;background:var(--panel-2);color:var(--text);padding:11px 12px;font-size:1rem}.po-label{display:block;font-weight:850;margin-bottom:7px}.po-error{background:var(--bad-bg);border:1px solid color-mix(in srgb,var(--bad) 50%,var(--line));color:var(--bad);border-radius:11px;padding:10px;margin:10px 0}.po-warning{background:var(--warn-bg);border:1px solid color-mix(in srgb,var(--warn) 40%,var(--line));color:var(--warn);border-radius:11px;padding:10px;margin:10px 0}.po-good{background:var(--good-bg);border:1px solid color-mix(in srgb,var(--good) 40%,var(--line));color:var(--good);border-radius:11px;padding:10px;margin:10px 0}

/* Pantallas de preguntas: cómodas, pero sin inflar espacios. */
.po-question-card{max-width:920px;margin-left:auto;margin-right:auto}.po-question-head{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;margin-bottom:9px;font-size:.79rem;font-weight:850}.po-question-tools{display:flex;align-items:center;gap:6px}.po-pill{font-size:.67rem;font-weight:800;padding:5px 7px;border-radius:999px;background:var(--panel-2);color:var(--text);white-space:nowrap;border:1px solid var(--line)}.po-timer{font-variant-numeric:tabular-nums;font-weight:950;font-size:.95rem;min-width:57px;text-align:center;padding:6px 8px;border-radius:9px;background:var(--panel-2);border:1px solid var(--line)}.po-timer.urgent{background:var(--bad-bg);color:var(--bad);border-color:var(--bad)}.po-progress{height:6px;border-radius:999px;background:var(--panel-2);overflow:hidden;margin:8px 0 13px}.po-progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),#7458e8);width:0}.po-question{font-size:1.02rem;font-weight:780;line-height:1.4;margin:0 0 11px}.po-options{display:grid;gap:8px}.po-option{display:grid;grid-template-columns:30px 1fr;align-items:center;gap:9px;width:100%;text-align:left;border:1px solid var(--line);border-radius:11px;padding:10px;background:var(--panel);color:var(--text);cursor:pointer}.po-option .letter{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:var(--panel-2);font-weight:950}.po-option.selected{border:2px solid var(--accent);padding:9px;background:color-mix(in srgb,var(--accent) 8%,var(--panel))}.po-option.selected .letter{background:var(--accent);color:var(--accent-text)}.po-option:disabled{cursor:default}.po-pressure-note{font-size:.7rem;margin:10px 0 0;text-align:center}
.po-nav{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.po-dots{display:flex;flex-wrap:wrap;gap:4px;margin:11px 0}.po-dot{width:11px;height:11px;border-radius:50%;background:var(--line);border:0;padding:0}.po-dot.done{background:var(--accent)}.po-dot.current{outline:2px solid var(--focus);outline-offset:2px}
.po-result-big{text-align:center;padding:7px 0}.po-result-big strong{display:block;font-size:1.9rem;line-height:1.1}.po-ranking{width:100%;border-collapse:collapse}.po-ranking th,.po-ranking td{padding:8px 6px;border-bottom:1px solid var(--line);text-align:left;font-size:.83rem}.po-ranking th:last-child,.po-ranking td:last-child{text-align:right}.po-ranking tr.me{background:var(--panel-2);font-weight:850}.po-correction{display:grid;gap:7px;margin-top:10px}.po-correction-item{border:1px solid var(--line);border-radius:10px;padding:9px}.po-correction-item.bad{border-color:var(--bad)}.po-correction-item.good{border-color:var(--good)}.po-toast{position:fixed;left:50%;bottom:calc(15px + env(safe-area-inset-bottom));transform:translateX(-50%);max-width:min(92vw,520px);padding:10px 13px;border-radius:11px;background:var(--text);color:var(--bg);font-weight:750;z-index:50;box-shadow:var(--shadow);font-size:.82rem}
.po-question-image{display:block;width:min(100%,720px);max-height:52vh;object-fit:contain;margin:8px auto 12px;border-radius:12px;border:1px solid rgba(15,23,42,.12);background:#fff}.po-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent);outline:none}

@media (max-width:380px){.po-app{padding-left:8px;padding-right:8px}.po-section,.po-card{padding:11px}.po-time-control{grid-template-columns:1fr;padding:8px 9px}.po-time-choices{justify-content:space-between}.po-time-choice{flex:1}.po-hero-stats{gap:5px}.po-mini-stat{min-width:55px;padding:6px}.po-challenge-grid,.po-training-grid{gap:6px}.po-challenge-card{padding:8px;min-height:142px}.po-challenge-title{font-size:.73rem}.po-back-label{display:none}}
@media (min-width:600px){.po-app{padding:14px 16px calc(28px + env(safe-area-inset-bottom))}.po-challenge-grid{grid-template-rows:none;grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;padding:0;scroll-snap-type:none}.po-training-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.po-challenge-card{min-height:150px}.po-card,.po-section{padding:16px}}
@media (min-width:900px){.po-challenge-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.po-training-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.po-options{grid-template-columns:1fr 1fr}.po-question-card{padding:20px}.po-nav{grid-template-columns:repeat(2,180px);justify-content:space-between}}
@media (min-width:1100px){.po-challenge-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
