/* =========================================================
   SCREEN: Academy entrance
   Root: .p-home
   PHP: index.php; template: index.de.html
   Scope: Public home only. Animation slots are decorative.
   Build: copy this source verbatim to assets/home-entry.css.
   ========================================================= */
@layer screens {
.p-home { --home-ink:#141b51; --home-glow:#547bff; --home-glass:rgba(247,250,255,.88); background:var(--surface-page); color:var(--text-primary); }
.p-home .shell { width:100%; padding:0; }
.p-home .p-home__scene { position:relative; isolation:isolate; min-height:100svh; overflow:hidden; background:#a6cbe9 url('/assets/academy-city.webp') center center/cover no-repeat; }
.p-home .p-home__scene::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(12,28,81,.65),transparent 22%,transparent 86%,rgba(16,25,61,.27)); }
.p-home .p-home__ambient { position:absolute; inset:0; pointer-events:none; z-index:-1; background:radial-gradient(ellipse at 82% 49%,rgba(153,196,255,.22),transparent 18%); animation:home-light 7s ease-in-out infinite alternate; }
.p-home .p-home__ambient::before,.p-home .p-home__ambient::after { content:"✦"; position:absolute; color:#ddf6ff; text-shadow:0 0 16px #68bcff; font-size:2rem; animation:home-spark 8s ease-in-out infinite; }
.p-home .p-home__ambient::before { left:26%; top:24%; }
.p-home .p-home__ambient::after { left:82%; top:53%; animation-delay:-4s; font-size:1.3rem; }
.p-home .topbar { max-width:1240px; margin:0 auto; padding:22px 30px; gap:18px; border-bottom:1px solid rgba(235,245,255,.23); }
.p-home .brand,.p-home .brand-text span { color:white; }
.p-home .brand-mark { width:48px; height:48px; border-radius:50%; }
.p-home .top-actions { gap:8px; }
.p-home .top-actions .button-ghost { color:white; background:transparent; box-shadow:none; border-color:transparent; font-family:var(--font-heading); font-size:1.1rem; padding:0 12px; }
.p-home .top-actions .button-ghost[href='/register.php'] { border-color:rgba(255,255,255,.65); background:rgba(223,235,255,.12); }
.p-home .hero { position:relative; max-width:1280px; margin:auto; padding:clamp(48px,9vh,110px) 40px 86px; min-height:calc(100svh - 110px); grid-template-columns:minmax(0,690px) 1fr; align-items:center; gap:30px; }
.p-home .hero-copy { position:relative; z-index:1; padding:30px 0; border:0; border-radius:0; background:none; box-shadow:none; backdrop-filter:none; }
.p-home .hero-copy::before { content:""; position:absolute; z-index:-1; inset:-40px -65px; background:radial-gradient(ellipse,rgba(250,251,255,.96) 20%,rgba(246,249,255,.83) 46%,rgba(248,250,255,.30) 64%,transparent 75%); pointer-events:none; }
.p-home .hero-copy .eyebrow { background:none; padding:0; color:#3447e9; letter-spacing:.12em; font-size:.8rem; }
.p-home .hero-copy .eyebrow::before { content:"✦"; margin-right:12px; }
.p-home .hero h1 { font-family:var(--font-heading); font-size:clamp(3.5rem,6.2vw,6.9rem); line-height:.98; letter-spacing:-.045em; margin:22px 0; color:var(--home-ink); }
.p-home .hero-brand { color:#3045f4; display:block; overflow-wrap:anywhere; font-size:.91em; }
.p-home .hero .lead { color:#293366; font-size:1rem; line-height:1.65; max-width:570px; margin:0 0 20px; }
.p-home .hero-actions { display:flex; gap:12px; flex-wrap:wrap; }
.p-home .hero-copy .hero-actions .button:first-child { min-width:285px; min-height:66px; font-family:var(--font-heading); font-size:1.8rem; background:linear-gradient(110deg,#965dff,#3054ff 55%,#4edcff); box-shadow:0 0 0 5px rgba(255,255,255,.46),0 0 0 6px rgba(170,174,255,.65),0 9px 30px rgba(83,77,232,.38); border:1px solid rgba(255,255,255,.9); }
.p-home .hero-copy .hero-actions .button:first-child::after { content:"→"; margin-left:34px; }
.p-home .hero-copy .hero-actions .button-ghost { font-size:.8rem; padding:0 12px; background:rgba(255,255,255,.6); }
.p-home .hero-stats { display:grid; grid-template-columns:repeat(3,1fr); margin-top:30px; gap:16px; max-width:600px; text-shadow:0 1px 3px white; background:linear-gradient(90deg,rgba(255,255,255,.73),rgba(255,255,255,.55),transparent); }
.p-home .hero-stats .stat { background:none; border:0; border-radius:0; box-shadow:none; padding:0 14px 0 0; color:var(--home-ink); }
.p-home .hero-stats .stat + .stat { border-left:1px solid rgba(92,93,197,.24); padding-left:14px; }
.p-home .stat strong { font-family:var(--font-heading); font-size:1.2rem; }
.p-home .stat span { display:block; color:#38426d; font-size:.76rem; line-height:1.45; margin-top:5px; }
.p-home .p-home__welcome { width:156px; justify-self:end; align-self:center; color:white; text-align:center; padding:12px; border-radius:22px; border:1px solid rgba(255,255,255,.7); background:linear-gradient(145deg,rgba(74,81,124,.62),rgba(33,45,83,.72)); backdrop-filter:blur(12px); box-shadow:0 12px 40px rgba(16,24,63,.2); }
.p-home .p-home__guide { cursor:pointer; display:block; border:0; padding:0; width:100%; color:inherit; font:inherit; background:none; }
.p-home .p-home__guide img { display:block; width:100%; height:172px; object-fit:cover; object-position:50% 18%; border-radius:14px; border:1px solid rgba(255,255,255,.7); }
.p-home .p-home__guide-name { display:block; margin:12px 0 8px; font-family:var(--font-heading); font-size:1.2rem; line-height:1.15; }
.p-home .p-home__guide-invite { display:block; padding:9px 4px; border-radius:var(--radius-pill); font-size:.75rem; background:rgba(137,171,255,.36); }
.p-home .p-home__welcome-title { font-family:var(--font-heading); font-size:1.2rem; margin:14px 0 6px; }
.p-home .p-home__welcome-copy { font-size:.66rem; line-height:1.5; margin:0 0 5px; }
.p-home .p-home__scroll { position:absolute; bottom:20px; left:50%; transform:translateX(-50%); color:white; text-decoration:none; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; text-align:center; text-shadow:0 1px 8px #172b65; }
.p-home .p-home__scroll span { display:block; font-size:1.5rem; line-height:1.4; }
.p-home .p-home__boundary { height:13px; border-block:1px solid #c5bfdf; background:linear-gradient(90deg,#304873,#c9d4ef,#56678f); position:relative; text-align:center; }
.p-home .p-home__boundary span { position:relative; top:-13px; display:inline-block; color:#b9d9ff; font-size:26px; text-shadow:0 0 5px #343e7c; }
.p-home .p-home__intro { max-width:740px; margin:auto; text-align:center; padding:68px 24px 28px; }
.p-home .p-home__intro h2,.p-home .p-home__community h2 { font:600 clamp(2rem,3vw,3rem)/1.1 var(--font-heading); margin:14px 0; }
.p-home .p-home__intro p,.p-home .p-home__community p { line-height:1.7; color:var(--text-secondary); }
.p-home .grid { max-width:1180px; margin:0 auto; padding:18px 24px 35px; }
.p-home .p-home__community { max-width:1132px; margin:12px auto 55px; padding:32px; display:flex; align-items:center; justify-content:space-between; gap:30px; background:var(--surface-panel); border:1px solid var(--border-panel); border-radius:var(--radius-card); }
.p-home .p-home__community > div:first-child { max-width:620px; }
.p-home .footer { max-width:1180px; margin:0 auto; padding:20px 24px 36px; }
.p-home .p-home__chat { border:1px solid var(--border-panel); border-radius:22px; padding:0; width:min(440px,calc(100vw - 24px)); max-height:85svh; color:var(--text-primary); background:var(--surface-card); box-shadow:var(--shadow-card); }
.p-home .p-home__chat::backdrop { background:rgba(14,22,49,.55); backdrop-filter:blur(5px); }
.p-home .p-home__chat-head { display:flex; gap:12px; align-items:center; padding:18px; border-bottom:1px solid var(--border-panel); }
.p-home .p-home__chat-head img { border-radius:50%; object-fit:cover; object-position:50% 23%; }
.p-home .p-home__chat-head h2 { font:600 1.3rem var(--font-heading); margin:0; }
.p-home .p-home__chat-head span { display:block; font-size:.68rem; color:var(--text-secondary); margin-top:4px; }
.p-home .p-home__chat-head button { margin-left:auto; cursor:pointer; background:none; color:inherit; border:0; font-size:1.8rem; min-width:44px; min-height:44px; }
.p-home .p-home__messages { overflow:auto; max-height:36svh; min-height:140px; padding:16px; }
.p-home .p-home__reply,.p-home .p-home__question { border-radius:14px; padding:12px 14px; font-size:.88rem; line-height:1.6; overflow-wrap:anywhere; margin:0 20px 12px 0; background:var(--surface-subtle); white-space:pre-wrap; }
.p-home .p-home__question { margin-left:20px; margin-right:0; background:#e8e8ff; color:#20284d; }
.p-home .p-home__chat form { padding:0 18px 18px; }
.p-home .p-home__chat label { font-size:.8rem; }
.p-home .p-home__chat-input { display:flex; gap:8px; margin-top:8px; }
.p-home .p-home__chat-input input { min-width:0; width:100%; border:1px solid var(--border-panel); border-radius:12px; padding:12px; font:inherit; font-size:16px; color:var(--text-primary); background:var(--surface-control); }
.p-home .p-home__chat-input button { border:0; border-radius:12px; background:var(--accent-primary); color:var(--text-inverse); padding:12px; cursor:pointer; }
.p-home .p-home__chat small,.p-home [data-guide-status] { color:var(--text-secondary); font-size:.72rem; line-height:1.5; }
.p-home :is(a,button,input):focus-visible { outline:3px solid #8174ff; outline-offset:4px; }
@keyframes home-light { to { opacity:.35; } }
@keyframes home-spark { 0%,100% { opacity:.2; transform:translateY(0) scale(.8); } 50% { opacity:.9; transform:translateY(-15px) scale(1.15); } }
@media(min-width:1450px) { .p-home .hero { padding-top:13vh; } }
@media(max-width:1000px) { .p-home .brand-text span { display:none; } .p-home .topbar { padding:16px 22px; } .p-home .top-actions .button-ghost { font-size:.88rem; padding:0 8px; } .p-home .hero { padding:60px 30px 75px; grid-template-columns:minmax(0,1fr) 145px; gap:12px; } .p-home .p-home__welcome { width:145px; } .p-home .hero h1 { font-size:clamp(3.4rem,6.8vw,5rem); } .p-home .hero-stats { gap:8px; } }
@media(max-width:680px) {
 .p-home .p-home__scene { background-position:57% top; }
 .p-home .topbar { flex-wrap:wrap; gap:12px; padding:16px; }
 .p-home .brand-text strong { font-size:.78rem; letter-spacing:.10em; }
 .p-home .brand-mark { width:38px; height:38px; }
 .p-home .top-actions { width:100%; justify-content:space-between; gap:3px; }
 .p-home .top-actions :is(.button,.button-ghost) { min-height:42px; font-size:.78rem; padding:0 8px; }
 .p-home .hero { display:block; min-height:calc(100svh - 132px); padding:60px 22px 85px; }
 .p-home .hero-copy { padding:0; max-width:530px; }
 .p-home .hero-copy::before { inset:-30px -55px; background:radial-gradient(ellipse,rgba(250,251,255,.96) 30%,rgba(249,250,255,.87) 55%,transparent 77%); }
 .p-home .hero h1 { font-size:clamp(2.8rem,10.5vw,4.2rem); margin:18px 0; }
 .p-home .hero .lead { font-size:.88rem; }
 .p-home .hero-copy .hero-actions .button:first-child { min-width:0; width:100%; min-height:58px; font-size:1.65rem; }
 .p-home .hero-stats { margin-top:24px; }
 .p-home .stat strong { font-size:1.04rem; }
 .p-home .stat span { font-size:.66rem; }
 .p-home .p-home__welcome { width:auto; margin:28px 0 0 auto; max-width:270px; padding:8px; }
 .p-home .p-home__guide { display:grid; grid-template-columns:56px 1fr; column-gap:10px; text-align:left; }
 .p-home .p-home__guide img { width:56px; height:68px; grid-row:1/3; }
 .p-home .p-home__guide-name { font-size:1.05rem; margin:4px 0; }
 .p-home .p-home__guide-invite { background:none; padding:3px 0; }
 .p-home .p-home__welcome-title,.p-home .p-home__welcome-copy { display:none; }
 .p-home .p-home__intro { padding-top:45px; }
 .p-home .grid { grid-template-columns:1fr; }
 .p-home .p-home__community { margin:10px 16px 30px; padding:24px; flex-direction:column; align-items:start; gap:16px; }
}
@media(prefers-reduced-motion:reduce) { .p-home .p-home__ambient,.p-home .p-home__ambient::before,.p-home .p-home__ambient::after { animation:none; } }
}
