@font-face{font-family:"Roca One";src:url("/roca-one.woff2") format("woff2");font-display:swap}
:root{color-scheme:light;--navy:#081537;--ink:#101a33;--cream:#fffaf0;--paper:#f5f1e8;--accent:#ecc17a;--muted:#575e71;--line:#d9d8d3;font:16px/1.5 system-ui,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:.2em}button,input,textarea,select{font:inherit}button,.cta{background:var(--navy);color:white;border:1px solid transparent;border-radius:.55rem;padding:.75rem 1rem;font-weight:700;cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:hover,.cta:hover{filter:brightness(1.18)}:focus-visible{outline:3px solid #ad691e;outline-offset:3px}.brand{font-weight:750;text-decoration:none;letter-spacing:.02em}.brand b{color:var(--accent)}
h1,h2,h3{font-family:"Roca One",Georgia,serif;line-height:1.08;margin:0 0 .7em}p{margin:0 0 1em}.public{min-height:100svh;display:flex;flex-direction:column;color:var(--cream);background:radial-gradient(ellipse at 75% 75%,#233963,transparent 63%),var(--navy)}.public header,.public footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.4rem clamp(1.25rem,6vw,6.5rem);border-bottom:1px solid #ffffff30}.public nav{display:flex;gap:clamp(.8rem,3vw,2rem);font-size:.92rem}.public nav a{text-decoration:none}.public nav a[aria-current]{color:var(--accent)}.public footer{margin-top:auto;border:0;border-top:1px solid #ffffff30;color:#dedce4;font-size:.85rem}.hero{flex:1;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:clamp(2rem,6vw,7rem);width:min(100%,1340px);margin:auto;padding:clamp(3rem,10vw,9rem) clamp(1.25rem,6vw,6.5rem)}.hero-copy{position:relative}.hero-copy:before{content:"";display:block;width:4rem;height:2px;background:var(--accent);margin-bottom:2rem}.eyebrow{color:var(--accent);letter-spacing:.2em;font-size:.74rem;font-weight:750}.hero h1{font-size:clamp(3.7rem,9vw,10rem);letter-spacing:-.075em;margin:0 0 .15em}.hero h1 span{color:var(--accent)}.intro{font-family:"Roca One",Georgia,serif;font-size:clamp(1.3rem,2.5vw,2.25rem);line-height:1.2}.hero-copy p:last-child{max-width:42ch;color:#e3e1eb}.signup{color:var(--ink);background:var(--cream);padding:clamp(1.3rem,4vw,3rem);border-radius:1rem;box-shadow:0 1.4rem 4rem #0004;border-top:4px solid var(--accent)}.signup h2{font-size:clamp(1.65rem,3vw,2.6rem)}form{display:grid;gap:1rem;max-width:42rem}label{display:grid;gap:.3rem;font-weight:650}input:not([type=checkbox]),textarea,select{width:100%;border:1px solid #aeb2be;border-radius:.45rem;background:white;padding:.65rem;color:var(--ink)}textarea{min-height:5rem}.check{display:flex;align-items:flex-start;gap:.6rem;font-weight:400;font-size:.9rem}.check input{flex:none;margin:.26em 0 0;width:1.05rem;height:1.05rem;accent-color:var(--navy)}.feedback,#notice{font-weight:650;color:#654218;margin:0}.feedback:empty,#notice:empty{display:none}.signup small{display:block;margin-top:1rem;color:var(--muted);overflow-wrap:anywhere}.info{padding:clamp(3rem,12vw,10rem) clamp(1.25rem,10vw,10rem);max-width:65rem}.info h1{font-size:clamp(2.8rem,8vw,6rem)}.cta{display:inline-block;background:var(--accent);color:var(--navy);text-decoration:none}
.login{max-width:30rem;margin:10vh auto;padding:1rem}.login article{margin-top:1.5rem}.admin{min-height:100svh;display:grid;grid-template-columns:15rem minmax(0,1fr)}aside{background:var(--navy);color:white;padding:1.4rem}aside nav{display:grid;gap:.35rem;margin:1.5rem 0}.tab{text-align:left;font-weight:550}.tab[aria-current]{background:#fff;color:var(--navy)}.admin main{padding:clamp(1rem,4vw,3rem);min-width:0}.admin h1{font-size:clamp(2rem,5vw,3.8rem)}.admin article,.login article{padding:1.3rem;background:white;border:1px solid var(--line);border-radius:.75rem;margin-bottom:1rem}.cards,.charts,.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:1rem}.cards strong{display:block;font-size:2rem}.charts svg{display:block;width:100%;color:#34578c}.charts svg text{font:11px system-ui}.table{overflow:auto;margin:1rem 0;background:white;border:1px solid var(--line);border-radius:.65rem}table{width:100%;border-collapse:collapse;text-align:left}td,th{padding:.7rem .8rem;border-bottom:1px solid var(--line);min-width:5rem}tr:last-child td{border-bottom:0}th{background:#f9f8f4}.secondary{padding:.3rem .55rem;background:#f5f1e8;color:var(--navy);border-color:#ceced3}.empty{color:var(--muted)}fieldset{border:1px solid var(--line);border-radius:.5rem}fieldset .check{margin:.4rem}summary{cursor:pointer}
@media(max-width:850px){.hero{grid-template-columns:1fr;max-width:650px}.hero h1{font-size:clamp(4rem,14vw,7rem)}.admin{grid-template-columns:1fr}aside nav{display:flex;flex-wrap:wrap;margin:.5rem 0}.tab{padding:.45rem .65rem}}@media(max-width:430px){.public header{align-items:flex-start;flex-direction:column}.hero{padding-top:2rem}}

.contact-intro{background:var(--navy);padding:clamp(2.5rem,6vw,5rem) 0}
.contact-wrap{width:min(100% - 2.5rem,72rem);margin-inline:auto}
.contact-intro h1{font-size:clamp(2.5rem,6vw,5rem);margin-bottom:.35em}
.contact-intro p:last-child{max-width:62ch;color:#dedce4;font-size:1.08rem;margin-bottom:0}
.contact-page{background:var(--paper);flex:1}
.contact-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,3vw,2rem);padding-block:clamp(2rem,6vw,5rem)}
.contact-card{color:var(--ink);background:var(--cream);border:1px solid #ded1b8;border-radius:1.35rem;padding:clamp(1.2rem,3.5vw,2.5rem)}
.contact-card h2{font-size:clamp(1.6rem,3vw,2.25rem)}
.contact-button{display:inline-block;border-radius:2rem;padding:.75rem 1.2rem;background:var(--navy);color:var(--cream);font-weight:700;text-decoration:none;overflow-wrap:anywhere}
.contact-button:hover{text-decoration:underline}
.contact-privacy{color:var(--cream);background:var(--navy);border-color:var(--navy)}
.contact-privacy p{color:#dedce4}
.contact-privacy .contact-button{border:1px solid #ffffff60}
@media(max-width:700px){.contact-cards{grid-template-columns:1fr}}
.contact-response{display:flex;align-items:center;gap:.5rem;margin:1rem 0 0;color:var(--muted);font-size:.88rem}.contact-response span{font-size:1.1rem;line-height:1}
.public .brand{display:inline-flex;align-items:center;gap:.65rem}.public .brand img{width:3rem;height:3rem;clip-path:circle(37%);object-fit:contain;flex:none}

.about-page{flex:1;background:radial-gradient(ellipse at 75% 75%,#233963,transparent 63%),var(--navy);color:var(--cream)}
.about-story,.about-game{padding:clamp(2.75rem,7vw,6rem) max(1.25rem,calc((100% - 62rem)/2))}
.about-story{padding-bottom:clamp(2rem,5vw,4rem)}
.about-story h1{font-size:clamp(3rem,8vw,6.5rem);margin-bottom:.35em}
.about-story h2{font-size:clamp(1.5rem,3vw,2rem);margin-top:1.5rem}
.about-page p{max-width:61ch;color:#e3e1eb}
.about-story h1::before,.contact-intro h1::before{content:'';display:block;width:4rem;height:2px;background:var(--accent);margin-bottom:1.5rem}
.about-game .contact-button{background:var(--accent);color:var(--navy)}
.about-game{background:#08153755;border-top:1px solid #ffffff30}
.about-game h2{font-size:clamp(2.5rem,6vw,4rem);margin-bottom:.35em}

.contact-page{background:radial-gradient(ellipse at 75% 75%,#233963,transparent 63%),var(--navy);color:var(--cream)}
.contact-intro{background:transparent}
.contact-page .contact-card{background:#08153755;color:var(--cream);border-color:#ffffff30}
.contact-page .contact-card p{color:#e3e1eb}
.contact-page .contact-button{background:var(--accent);color:var(--navy)}

.about-company{display:grid;grid-template-columns:minmax(0,12rem) minmax(0,1fr);align-items:center;gap:clamp(1.5rem,5vw,4rem);margin-top:2rem}
.about-company img{display:block;width:100%;max-width:12rem;height:auto;clip-path:circle(37%)}
.about-company h2{margin-top:0}
.about-company h2,.about-game h2{font-size:clamp(2rem,5vw,3.5rem)}
@media(max-width:600px){.about-company{grid-template-columns:1fr;gap:1rem}.about-company img{max-width:8rem}}
