body.home{--pip-navy:#16336f;--pip-deep:#2457a8;--pip-blue:#3a9be0;--pip-cyan:#5fd8f6;--pip-ice:#eaf8ff;--pip-beak:#f8a73a;--pip-beak-soft:rgba(248,167,58,0.28);--pip-purple:#a259f7;margin:0;min-height:100vh;background:var(--pip-navy);color:#13284f;color-scheme:light}.home-backdrop{position:fixed;inset:0;z-index:0;background-color:var(--pip-deep);background-image:url("../../img/cutiepiplup.jpg");background-image:image-set(url("../../img/cutiepiplup.webp") type("image/webp"),url("../../img/cutiepiplup.jpg") type("image/jpeg"));background-size:cover;background-position:center 28%}.home-backdrop::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,34,80,0.93) 0%,rgba(20,48,106,0.78) 30%,rgba(22,51,111,0.22) 46%,rgba(22,51,111,0.05) 70%,rgba(22,51,111,0.18) 100%),linear-gradient(0deg,rgba(14,34,80,0.55) 0%,transparent 35%)}.home-shell{position:relative;z-index:1;min-height:100vh;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,0.75fr)}.home-hero{position:relative;display:flex;flex-direction:column;gap:22px;padding:clamp(24px,4vw,52px);color:#fff}.home-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.home-brand{display:inline-flex;align-items:center;gap:10px;color:#fff;font-weight:900;font-size:1.15rem;letter-spacing:0.14em;text-decoration:none}.home-brand:hover{text-decoration:none}.home-brand-dot{width:26px;height:26px;border-radius:50%;background:radial-gradient(circle at 50% 50%,#fff 0 22%,transparent 23%),linear-gradient(180deg,var(--pip-cyan) 0 46%,#fff 46% 54%,var(--pip-deep) 54% 100%);box-shadow:0 0 0 2px rgba(255,255,255,0.85),0 6px 16px rgba(8,25,64,0.35)}.home-domain{padding:4px 10px;border-radius:999px;background:rgba(255,255,255,0.14);font-size:0.78rem;font-weight:600;letter-spacing:0.04em}.home-intro{max-width:620px;margin-top:auto}.home-intro h1,.home-lede{text-shadow:0 2px 18px rgba(6,20,54,0.55)}.home-eyebrow{margin:0 0 10px;color:var(--pip-cyan);font-size:0.78rem;font-weight:800;letter-spacing:0.16em;text-transform:uppercase}.home-intro h1{margin:0 0 12px;font-size:clamp(1.9rem,3.4vw,2.9rem);font-weight:850;line-height:1.08;letter-spacing:-0.03em}.home-lede{margin:0;max-width:56ch;color:rgba(234,248,255,0.86);font-size:1rem;line-height:1.6}.home-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:620px;margin:0;padding:0;list-style:none}.home-points li{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid rgba(255,255,255,0.16);border-radius:14px;background:rgba(14,34,80,0.45);backdrop-filter:blur(10px);font-size:0.84rem;color:rgba(234,248,255,0.82)}.home-points .icon{flex:none;width:18px;height:18px;margin-top:2px;color:var(--pip-beak)}.home-points strong{display:block;color:#fff;font-size:0.9rem}.home-note{display:flex;align-items:center;gap:6px;margin:0;color:rgba(234,248,255,0.78);font-size:0.8rem}.home-footer{display:flex;flex-direction:column;gap:2px;margin-top:4px;color:rgba(234,248,255,0.82);font-size:0.82rem}.home-footer a{color:#fff;font-weight:700;text-decoration:underline;text-decoration-color:rgba(248,167,58,0.8);text-underline-offset:3px}.home-footer a:hover{color:var(--pip-beak)}.home-footer>span>span{margin:0 6px;opacity:0.6}.home-disclaimer{color:rgba(234,248,255,0.6);font-size:0.74rem}.home-panel{--text:#13284f;--text-2:#4a6189;--text-3:#7d93b3;--surface:#ffffff;--surface-2:#f3f9ff;--surface-3:#e7f3fd;--surface-solid:#ffffff;--border:#d6e8f6;--border-strong:#bcd7ee;--accent:#2f86d6;--accent-strong:#1f5fae;--accent-soft:rgba(47,134,214,0.14);--accent-ink:#ffffff;display:grid;place-items:center;padding:32px 22px;color:var(--text);background:none}.home-card{width:min(400px,100%);padding:30px 28px;border:1px solid var(--border);border-radius:22px;background:rgba(255,255,255,0.9);backdrop-filter:blur(14px);box-shadow:0 30px 70px rgba(6,20,54,0.45)}.home-card h2{margin:0 0 4px;font-size:1.5rem;font-weight:850;letter-spacing:-0.02em;color:var(--pip-navy)}.home-card .sub{margin:0 0 22px;color:var(--text-2)}.home-card .input{background:var(--surface-2);color:var(--text)}.home-card .input:focus{border-color:var(--pip-beak);box-shadow:0 0 0 3px var(--pip-beak-soft)}.home-card .btn-primary{margin-top:6px;padding:11px 16px;border-radius:12px;background:linear-gradient(180deg,var(--pip-blue),var(--pip-deep));color:#fff;font-weight:700;box-shadow:0 10px 22px rgba(36,87,168,0.3)}.home-card .btn-primary:hover{filter:brightness(1.07)}.home-card .auth-switch{margin-top:18px;text-align:center;font-size:0.88rem;color:var(--text-2)}.home-card .auth-switch a,.home-card a{color:var(--pip-deep);font-weight:700}.home-help{margin:14px 0 0;padding-top:14px;border-top:1px solid var(--border);text-align:center;font-size:0.8rem;color:var(--text-3)}.home-help strong{color:var(--text-2)}@media (max-width:1020px){.home-shell{grid-template-columns:minmax(0,1fr)}.home-panel{order:-1;padding:28px 16px}.home-backdrop{background-position:40% center}.home-backdrop::after{background:linear-gradient(180deg,rgba(14,34,80,0.55) 0%,rgba(14,34,80,0.88) 55%,rgba(14,34,80,0.95) 100%)}.home-intro{margin-top:0}}@media (max-width:560px){.home-hero{padding:22px 16px;gap:18px}.home-points{grid-template-columns:minmax(0,1fr)}.home-card{padding:24px 18px}}.legal-page .home-backdrop::after{background:linear-gradient(180deg,rgba(14,34,80,0.72) 0%,rgba(14,34,80,0.86) 100%)}.legal-shell{position:relative;z-index:1;width:min(880px,100%);margin:0 auto;padding:clamp(20px,4vw,44px) 16px 40px}.legal-top{margin-bottom:22px}.legal-back{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,0.14);color:#fff;font-size:0.84rem;font-weight:600}.legal-back:hover{background:rgba(255,255,255,0.22);text-decoration:none}.legal-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.legal-lang{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 12px;border-radius:999px;background:rgba(255,255,255,0.14);color:#fff}.legal-lang select{border:0;background:transparent;color:#fff;font:inherit;font-size:0.84rem;font-weight:600;cursor:pointer}.legal-lang select:focus-visible{outline:2px solid #fff;border-radius:6px}.legal-lang option{color:#10324f}.legal-translation{margin:-6px 0 22px;font-size:0.85rem;font-style:italic;color:#4f6b85}.legal-card{padding:clamp(24px,4vw,48px);border:1px solid #d6e8f6;border-radius:24px;background:rgba(255,255,255,0.94);backdrop-filter:blur(14px);box-shadow:0 30px 70px rgba(6,20,54,0.45);color:#1f3357;font-size:0.95rem;line-height:1.7}.legal-card .home-eyebrow{color:var(--pip-deep)}.legal-card h1{margin:0 0 6px;color:var(--pip-navy);font-size:clamp(1.8rem,3.6vw,2.5rem);font-weight:850;letter-spacing:-0.03em;line-height:1.1}.legal-meta{margin:0 0 22px;color:#5a7196;font-size:0.85rem}.legal-notice{display:flex;gap:12px;align-items:flex-start;margin:0 0 24px;padding:14px 16px;border:1px solid rgba(248,167,58,0.45);border-left:4px solid var(--pip-beak);border-radius:14px;background:#fff7ea}.legal-notice .icon{flex:none;margin-top:3px;color:#c97a12}.legal-notice p{margin:0;color:#4a3a1c}.legal-toc{margin:0 0 28px;padding:16px 20px;border:1px solid #d6e8f6;border-radius:16px;background:#f3f9ff}.legal-toc strong{display:block;margin-bottom:6px;color:var(--pip-navy);font-size:0.85rem;letter-spacing:0.04em;text-transform:uppercase}.legal-toc ol{margin:0;padding-left:20px;columns:2;column-gap:28px;font-size:0.88rem}.legal-toc li{break-inside:avoid;padding:2px 0}.legal-toc a,.legal-card section a{color:var(--pip-deep);font-weight:600}.legal-card section{padding-top:6px;scroll-margin-top:20px}.legal-card section + section{margin-top:18px;padding-top:22px;border-top:1px solid #e3eef8}.legal-card h2{margin:0 0 10px;color:var(--pip-navy);font-size:1.15rem;font-weight:800;letter-spacing:-0.01em}.legal-card p{margin:0 0 10px}.legal-card ul{margin:0 0 10px;padding-left:20px}.legal-card li{margin:4px 0}.legal-card li::marker{color:var(--pip-blue)}.legal-card strong{color:var(--pip-navy)}.legal-footer{align-items:center;margin-top:22px;text-align:center}@media (max-width:640px){.legal-toc ol{columns:1}.legal-top{flex-wrap:wrap}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}