/* Plataforma: formularios y piezas propias. El resto de estilos es el de la web (web/index.html). */
.plat .card h2.gh{display:flex;align-items:center;gap:8px}
.p-form{display:flex;flex-direction:column;gap:14px;text-align:left;margin-top:12px}
.p-form label,.p-label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:16px}
.p-in{font:inherit;font-size:18px;padding:12px 14px;border-radius:14px;border:2px solid #cbd5e1;background:#fff;color:var(--ink);outline:none;width:100%}
.p-in:focus{border-color:var(--c)}
textarea.p-in{resize:vertical}
.p-kodea{text-transform:uppercase;letter-spacing:4px}
.p-azal{color:var(--muted);margin:0 0 8px}
.p-tabs{display:flex;gap:6px;justify-content:center;margin:14px 0 4px}
.p-tabs button{padding:8px 16px;border-radius:999px;font-weight:600;background:#f1f5f9}
.p-tabs button.on{background:var(--c);color:#fff}
.p-h3{font-size:16px;margin:14px 0 6px}
.p-chips{display:flex;flex-wrap:wrap;gap:8px}
.p-chip{padding:8px 14px;border-radius:999px;border:2px solid #cbd5e1;background:#fff;font-size:16px}
.p-chip.on{background:var(--c);border-color:var(--c);color:#fff}
.p-gehitu{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.p-gehitu .p-in{flex:1 1 180px;min-width:0}
.p-nor{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin:18px 0}
.p-haurra{display:flex;flex-direction:column;align-items:center;gap:6px;width:140px;padding:18px 10px;border-radius:24px;background:var(--cl);box-shadow:0 5px 0 color-mix(in srgb,var(--c) 40%,transparent)}
.p-haurra span{font-size:64px;line-height:1}
.p-haurra b{font-size:20px}
.p-thumbs{display:flex;flex-wrap:wrap;gap:8px}
.p-thumbs img{width:86px;height:86px;object-fit:cover;border-radius:12px;border:2px solid #e2e8f0}
.p-file{align-self:flex-start}
.p-ia{display:block;background:#f8fafc;border-radius:12px;padding:8px 10px;margin-top:4px;color:var(--ink);font-size:15px}
.p-gbtn{width:100%;margin-top:14px;gap:12px}
.p-glogo{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:conic-gradient(#ea4335 0 25%,#fbbc05 0 50%,#34a853 0 75%,#4285f4 0);color:#fff;font-weight:700;font-size:18px}
.p-edo{color:var(--muted);margin:10px 0 0}
/* Consentimiento, listas y avisos */
.plat [hidden]{display:none!important}
.p-zerrenda{margin:8px 0;padding-left:22px;display:flex;flex-direction:column;gap:6px;text-align:left}
.p-check{flex-direction:row!important;align-items:flex-start;gap:10px!important;font-weight:500!important}
.p-check input{width:24px;height:24px;flex:none;margin-top:2px}
.p-opari{background:#fef9c3;border-radius:12px;padding:8px 12px;margin:10px 0 0}
.p-aldatu{margin-top:14px}
.btn.badb,.link.badb{background:#ef4444;color:#fff;border-color:transparent;border-radius:10px;padding:4px 10px;text-decoration:none}
/* Chat */
.p-txat{display:flex;flex-direction:column;gap:8px;max-height:52vh;overflow-y:auto;padding:4px 2px}
.p-mezua{align-self:flex-start;max-width:85%;background:#f1f5f9;border-radius:16px 16px 16px 4px;padding:8px 12px;overflow-wrap:anywhere;white-space:pre-wrap}
.p-mezua.nirea{align-self:flex-end;background:var(--cl);border-radius:16px 16px 4px 16px}
.p-mezua small{display:block;color:var(--muted);font-size:12px}
/* Tabla del profesor */
.p-taula-k{overflow-x:auto;margin:0 -6px}
.p-taula{border-collapse:collapse;width:100%;font-size:15px}
.p-taula th,.p-taula td{padding:8px 8px;border-bottom:1px solid #e2e8f0;text-align:left;white-space:nowrap}
.p-taula th{font-size:13px;color:var(--muted);max-width:140px;overflow:hidden;text-overflow:ellipsis}
.p-taula td.ok{background:#dcfce7}
.p-taula code{letter-spacing:2px;font-size:14px}
/* Hoja de códigos (se imprime) */
.p-kodeak{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin-top:16px}
.p-txartela{background:#fff;border:2px dashed #94a3b8;border-radius:16px;padding:12px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;break-inside:avoid}
.p-txartela b{font-size:20px}
.p-txartela .p-kodea{font-size:20px;font-weight:700;letter-spacing:3px}
.p-txartela small{color:var(--muted);font-size:11px;overflow-wrap:anywhere}
.p-qr{width:120px;height:120px}
.p-qr svg{width:100%;height:100%}
.p-kred{width:56px;height:56px;object-fit:cover;border-radius:10px}
/* Editor */
.p-editorea .card h2.gh{margin-bottom:8px}
.p-lerro{display:flex;align-items:center;gap:8px;margin-top:8px}
.p-lerro .p-in{flex:1;min-width:0}
.p-in.p-emoji{flex:0 0 58px;text-align:center;padding:12px 4px}
.p-marka{flex:none;width:26px;text-align:center}
.p-ariketa{border:2px solid #e2e8f0;border-radius:16px;padding:12px;margin-top:12px;display:flex;flex-direction:column;gap:6px}
.p-ariketa label{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:14px;margin-top:6px}
.p-ar-goi{display:flex;justify-content:space-between;align-items:center}
.p-irudia{position:relative;flex:none}
.p-irudia img{width:48px;height:48px;object-fit:cover;border-radius:10px;display:block}
.p-irudia button{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;background:#ef4444;color:#fff;font-size:11px;line-height:20px;padding:0}
@media print{ .plat .bar{display:none!important} .p-kodeak{gap:8px} }

/* Encargo en marcha: se tiene que ver que está trabajando */
.p-lanean{background:#eff6ff;border:2px solid #bfdbfe;border-radius:16px;padding:12px 14px;margin:8px 0}
.p-ln-goi{display:flex;align-items:center;gap:8px;font-size:17px}
.p-ln-e{font-size:24px}
.p-ln-d{margin-left:auto;font-variant-numeric:tabular-nums;color:#475569;font-weight:700}
.p-ln-barra{height:10px;border-radius:99px;background:#dbeafe;overflow:hidden;margin:10px 0 8px}
.p-ln-barra i{display:block;height:100%;width:38%;border-radius:99px;background:#0284c7;animation:p-ln 1.4s ease-in-out infinite}
@keyframes p-ln{0%{transform:translateX(-110%)}100%{transform:translateX(290%)}}
.p-ln-zer{margin:0;font-weight:800;font-size:17px;color:var(--ink)}
.p-ln-zer small{font-weight:600;color:#64748b}
.p-ln-urr{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 6px}
.p-ln-urr span{font-size:13px;padding:3px 10px;border-radius:99px;background:#fff;color:#94a3b8;border:1px solid #e2e8f0}
.p-ln-urr span.eginda{color:#15803d;border-color:#bbf7d0;background:#f0fdf4}
.p-ln-urr span.orain{color:#fff;background:#0284c7;border-color:#0284c7;font-weight:700}
.p-ln-oh{display:block;color:#64748b}
@media (prefers-reduced-motion:reduce){.p-ln-barra i{animation-duration:4s}}

/* Zona de adultos: lista única de temas, borradores destacados y cuenta plegada */
.p-gaia{align-items:flex-start;padding:10px 0;border-top:1px solid #e2e8f0}
.p-gaia .gr-b{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.p-zirr{background:#fffbeb;border:2px solid #fde68a;border-radius:14px;padding:10px;margin:8px 0}
.p-zirr-oh{color:#92400e;font-weight:700}
.p-xehe>summary{cursor:pointer;list-style:none;font-weight:800;color:#475569;padding:6px 0}
.p-xehe>summary::-webkit-details-marker{display:none}
.p-xehe>summary::after{content:" ▾"}
.p-xehe[open]>summary::after{content:" ▴"}
.p-xehe>summary small{font-weight:600;color:#64748b}
details.card.p-xehe>summary{margin:0}
@media (max-width:520px){.p-gaia{flex-wrap:wrap}.p-gaia .gr-b{width:100%;justify-content:flex-start}}
[hidden]{display:none!important}
.p-zirr{flex-wrap:wrap}
.p-zirr .gr-t{flex:1 1 220px}
.p-zirr .gr-b{width:100%;justify-content:flex-start;margin-top:8px}
.p-zirr-oh{font-size:14px}

.p-erdian{text-align:center;margin:6px 0}

/* ===== Portada: el mensaje (un juego hecho para tu hijo) ===== */
.p-pitch{color:#0c4a6e;text-align:center;margin:4px 0 14px}
.p-pitch .p-marka,.p-pitch ul{display:none}
.p-pitch h1{font-size:clamp(24px,5.6vw,30px);margin:0 0 4px;line-height:1.15}
.p-pitch-p{margin:0;font-size:16px}
.p-rail{display:none}

/* ===== Vista de ordenador ===== */
@media (min-width:1100px){
  /* Portada en dos columnas: el mensaje a la izquierda, entrar a la derecha */
  .p-sarrera{display:grid;grid-template-columns:1fr minmax(380px,440px);gap:56px;align-items:center;min-height:calc(100vh - 80px)}
  body[data-pantaila=sartu] #app{max-width:1080px}
  .p-pitch{text-align:left;margin:0}
  .p-pitch .p-marka{display:block;font-weight:700;font-size:24px;color:#0284c7;margin:0 0 26px}
  .p-pitch h1{font-size:54px;line-height:1.05;margin:0 0 16px}
  .p-pitch-p{font-size:21px;line-height:1.4;max-width:520px}
  .p-pitch ul{display:flex;flex-direction:column;gap:10px;list-style:none;padding:0;margin:26px 0 0}
  .p-pitch li{background:#fff;border-radius:16px;padding:12px 16px;font-size:18px;font-weight:500;box-shadow:0 4px 0 #0284c733;max-width:460px}
  .p-sarrera .card.intro .intro-emoji,.p-sarrera .card.intro>h2,.p-sarrera .card.intro>.eu{display:none}

  /* Barras: izquierda para moverse, derecha con el progreso del día */
  body.p-barrak .p-rail{display:flex;flex-direction:column;gap:6px;position:fixed;top:0;bottom:0;width:250px;padding:22px 16px;background:#fff;overflow-y:auto;z-index:5}
  body.p-barrak #p-alboa{left:0;border-right:2px solid #e2e8f0}
  body.p-barrak #p-eskuina{right:0;width:300px;background:transparent;gap:14px;padding:22px 20px}
  body.p-barrak #app{max-width:none;margin:0 300px 0 250px;padding:22px 32px 120px}
  body.p-barrak #app>*{max-width:760px;margin-left:auto;margin-right:auto}
  .p-rail .p-marka{font-weight:700;font-size:23px;color:#0284c7;margin:0 6px 18px}
  .p-rail-h{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;margin:16px 8px 4px}
  .p-nb{display:flex;align-items:center;gap:12px;width:100%;padding:11px 12px;border-radius:14px;font-size:17px;font-weight:600;text-align:left;color:#334155;border:2px solid transparent}
  .p-nb span{font-size:22px;width:28px;text-align:center;flex:none}
  .p-nb:hover{background:#f1f5f9}
  .p-nb.on{background:#e0f2fe;border-color:#7dd3fc;color:#0369a1}
  .p-rail-behea{margin-top:auto;display:flex;flex-direction:column;gap:6px;border-top:2px solid #e2e8f0;padding-top:10px}
  .p-rk{background:#fff;border-radius:20px;padding:14px 16px;box-shadow:0 5px 0 #0369a155}
  .p-rk h3{margin:0 0 6px;font-size:16px;color:#475569}
  .p-rk p{margin:0 0 6px;font-size:15px;color:#475569}
  .p-rk-dots span{font-size:26px;color:#e2e8f0;margin-right:4px}
  .p-rk-dots span.on{color:#facc15;text-shadow:0 2px 0 #a16207}
  .p-rk-n{font-size:34px!important;font-weight:700;color:#0f172a!important}
  .p-rk-n small{font-size:18px;color:#94a3b8}
  .p-rk .btn{width:100%;font-size:17px;padding:10px 14px}
  .p-rk-az{display:flex;justify-content:space-between;gap:8px;width:100%;padding:8px 0;border-top:1px solid #e2e8f0;text-align:left;font-size:15px}
  .p-rk-az small{color:#b45309;font-weight:600;white-space:nowrap}
  /* Con las barras, lo que ya está en ellas sobra arriba */
  body.p-barrak[data-pantaila=gaur] .top,body.p-barrak[data-pantaila=gaur] .misioa{display:none}
  body.p-barrak .ikasgaiak{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}
  body.p-barrak .nagusia,body.p-barrak .blokea{width:100%}

  /* Jugar: la tarjeta, más ancha y centrada; las opciones con foto, en fila */
  body[data-pantaila=jolasa] #app,body[data-pantaila=intro] #app{max-width:820px;padding-top:28px}
  body[data-pantaila=jolasa] .card.task{padding:30px 34px}
  body[data-pantaila=jolasa] .q{font-size:30px}
  body[data-pantaila=jolasa] .opts.grid{grid-template-columns:repeat(4,1fr)}
  .sheet-in{max-width:820px}

  /* Zona de adultos y editor: a lo ancho */
  body[data-pantaila=gurasoak] #app,body[data-pantaila=editatu] #app{max-width:1180px}
  .p-gz{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,1fr);gap:20px;align-items:start}
  .p-gz-n,.p-gz-a{display:flex;flex-direction:column;gap:16px;min-width:0}
  .p-gz .card{margin:0}
  .p-gz-a{position:sticky;top:16px}
  .p-gz-a .row{flex-wrap:wrap}
  body[data-pantaila=editatu] .p-editorea .p-ariketak{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  body[data-pantaila=editatu] .p-editorea .p-ariketak .p-ariketa{margin-top:0}
}
.p-sarrera .card.intro>.eu{display:none}

.p-ed-svg{display:flex;align-items:center;gap:10px}
.p-ed-svg svg{width:150px;height:auto;flex:none;border:1px solid #e2e8f0;border-radius:10px}
@media (min-width:1100px){body[data-pantaila=jokoa] #app{max-width:820px}}

.p-saldoa{text-align:center;margin:8px 0 0;font-weight:600}
.p-paketeak{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:14px 0}
.p-pakete{display:flex;flex-direction:column;align-items:center;gap:2px;padding:16px 10px;border-radius:20px;border:3px solid #fed7aa;background:#fff7ed}
.p-pakete b{font-size:20px}.p-prezioa{font-size:30px;font-weight:700;color:#c2410c}.p-pakete small{color:var(--muted);text-align:center}

.p-ed-svg.bi svg{width:120px}
.p-ed-irudia{flex-wrap:wrap}.p-ed-irudia select{flex:1 1 130px}.p-ed-irudia label{flex-direction:row!important;align-items:center;gap:6px!important;margin:0!important}.p-ed-irudia input{width:74px;flex:none}
.p-ed-gehi{margin:0;font-size:14px}
