:root{color-scheme:dark;--gold:#efcf80;--ink:#101512;--muted:#b5beb6}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 80% 15%,#293021 0,transparent 45%),var(--ink);color:#f5eedc;font:17px/1.6 system-ui,sans-serif}header,main,footer{max-width:1180px;margin:auto;padding:24px max(20px,env(safe-area-inset-left))}header{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #51482e}.brand{display:flex;align-items:center;gap:8px;font-size:26px;font-weight:700;text-decoration:none}.brand span{font-size:18px;color:#becbbb}nav{display:flex;gap:20px;align-items:center;flex-wrap:wrap}a{color:var(--gold);text-underline-offset:4px}h1{font-size:clamp(42px,6vw,76px);line-height:1.06;letter-spacing:-.04em;margin:18px 0}h2{font-size:clamp(28px,4vw,38px);line-height:1.2}h3{font-size:21px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;border:0;padding:40px 0}.hero-art{width:100%;height:auto;max-height:520px;object-fit:cover;border-radius:24px;border:1px solid #746339;box-shadow:0 20px 70px #0008}.eyebrow{color:var(--gold);font-size:12px;font-weight:700;letter-spacing:.18em}.lead{font-size:21px;max-width:520px}.muted{color:var(--muted);font-size:14px}.button,button{display:inline-block;border:1px solid #c7a75b;border-radius:9px;background:linear-gradient(#f6dc93,#cc9f41);color:#181b13;font:700 16px/1.4 system-ui;padding:14px 22px;cursor:pointer;text-decoration:none;min-height:44px}button:disabled{opacity:.6;cursor:wait}.small{padding:10px 15px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}article{background:#17201acc;border:1px solid #414c3d;border-radius:14px;padding:24px;overflow-wrap:anywhere}section{border-top:1px solid #414c3d;margin:32px 0;padding:24px 0}.notice{padding:16px;border-left:3px solid #c7a75b;background:#302a1c;color:#ead9ae}details{padding:16px 0;border-bottom:1px solid #414c3d}summary{cursor:pointer;min-height:32px;font-weight:600}footer{color:var(--muted);border-top:1px solid #414c3d;display:flex;justify-content:space-between;gap:20px;padding-bottom:max(24px,env(safe-area-inset-bottom))}input{font:inherit;padding:12px;border:1px solid #7a8579;border-radius:8px;background:#0b130e;color:#fff;max-width:100%;width:100%}label{display:block;margin:16px 0 6px}button{margin:8px 8px 8px 0}input[aria-invalid=true]{border:2px solid #f39b9b}.field-error{color:#ffb4b4;min-height:1.5em;font-size:14px}[hidden]{display:none!important}:focus-visible{outline:3px solid #fff;outline-offset:4px}.account{max-width:760px}@media(max-width:720px){header{align-items:flex-start;flex-direction:column;gap:16px}nav{gap:16px}.hero{grid-template-columns:1fr;gap:24px;padding-top:20px}.hero-art{max-height:330px}.grid{grid-template-columns:1fr}.lead{font-size:19px}footer{flex-direction:column}h1{font-size:48px}}
/* Installation is a first-screen action, independent of authentication. */
header{padding-top:12px;padding-bottom:12px;flex-wrap:wrap;gap:12px}#install-language{background:#142018;color:#f5eedc;border:1px solid #9f8448;border-radius:8px;min-height:44px;max-width:160px;padding:8px;font:inherit}
.hero{margin-top:12px;padding-top:20px;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.hero-actions{display:flex;gap:12px;align-items:stretch}.hero-actions .button,.hero-actions button{margin:0;flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:8px;min-height:56px;text-align:center;padding:12px}.enter-button{background:#132019;color:#f7dfa0}.install-button{background:linear-gradient(#ffe8a7,#e2af45);border:2px solid #ffe3a0;box-shadow:0 0 22px #e0b65044;font-weight:800}.install-button svg{flex-shrink:0}.install-guidance{padding:14px;border:1px solid #c7a75b;border-radius:9px;background:#1a261d;overflow-wrap:anywhere}
@media(max-width:720px){header{display:grid;grid-template-columns:1fr auto;gap:8px}header nav{grid-column:1/-1;grid-row:2;gap:14px}.brand{font-size:22px}.brand img{width:32px;height:32px}.brand span{font-size:15px}#install-language{max-width:115px;font-size:14px}main{padding-top:0}.hero{grid-template-columns:1fr;margin-top:8px;padding-top:8px}.hero h1{font-size:38px;margin:12px 0}.hero .lead{font-size:17px;line-height:1.45;margin:12px 0}.hero .eyebrow{margin:8px 0}.hero-actions{flex-direction:column;gap:8px}.hero-actions .button,.hero-actions button{min-height:48px;padding:10px}.hero .muted{margin:10px 0}.hero-art{max-height:300px}}
@media(max-height:500px) and (min-width:600px){header{padding-top:6px;padding-bottom:6px}.hero{margin-top:0;padding-top:8px;align-items:start}.hero h1{font-size:32px;margin:8px 0}.hero .lead{font-size:15px;line-height:1.3;margin:8px 0}.hero .eyebrow{margin:0}.hero-actions{flex-direction:row}.hero-actions .button,.hero-actions button{font-size:14px;min-height:48px}.hero-art{max-height:260px}}
/* All locales wrap naturally; no fixed text heights or truncated translations. */
header>* ,.hero>*, .hero-actions>*, .account-heading>*{min-width:0}
nav a,button,.button,h1,h2,h3,summary{overflow-wrap:anywhere}
.account-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}
.account button{max-width:100%;white-space:normal}
.hero h1{text-wrap:balance}
@media(max-width:720px){header nav{gap:8px 14px;font-size:14px}header nav .small{padding:8px;font-size:14px}.hero h1{font-size:clamp(28px,8vw,38px)}.hero-actions .button,.hero-actions button{font-size:15px}}
@media(max-width:380px){header,main,footer{padding-left:14px;padding-right:14px}.hero h1{font-size:28px}.hero .lead{font-size:16px}.hero-actions .button,.hero-actions button{padding:8px}.hero .eyebrow{letter-spacing:.08em}}
@media(min-width:721px) and (max-width:1000px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
