@font-face{font-family:Julius Sans One;src:url(/fonts/JuliusSansOne-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background-color:#0a0a0a;background-image:linear-gradient(#0a0a0af2,#0a0a0ae6),url(/images/textile.png);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;color:#f5f5f5;font-family:system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}.page{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3rem;width:100%;padding:max(2rem,env(safe-area-inset-top)) max(2rem,env(safe-area-inset-right)) max(2rem,env(safe-area-inset-bottom)) max(2rem,env(safe-area-inset-left));box-sizing:border-box;text-align:center}.banner{display:block;width:min(100%,42rem);height:auto;border-radius:.35rem;box-shadow:0 12px 40px #00000073}.intro{display:flex;flex-direction:column;align-items:center;gap:3rem;width:100%;margin-top:clamp(1rem,6vh,4rem)}.hero{display:flex;flex-direction:column;align-items:center;gap:.5rem}.tagline{margin:0;font-size:clamp(1rem,2.5vw,1.25rem);letter-spacing:.35em;text-transform:uppercase;color:#f5f5f5a6}.logo{display:block;width:clamp(14rem,42vw,24rem);height:auto}.copy{display:flex;flex-direction:column;align-items:center;gap:.35rem;width:100%;max-width:36rem;padding:.75rem 1.25rem;border:1px solid rgba(245,245,245,.2);border-radius:.5rem;background:#f5f5f50a;color:inherit;cursor:pointer;transition:border-color .2s,background .2s;box-sizing:border-box}.copy:hover{border-color:#f5f5f573;background:#f5f5f514}.copy-label{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:#f5f5f580}.copy-value{font-family:ui-monospace,Cascadia Code,Source Code Pro,monospace;font-size:clamp(.75rem,3.2vw,1.1rem);letter-spacing:.05em;line-height:1.45;max-width:100%;overflow-wrap:anywhere;word-break:break-all}.spiel{width:100%;max-width:36rem;text-align:left;border-top:1px solid rgba(245,245,245,.12);padding-top:2.5rem}.spiel-heading{margin:0 0 1.5rem;font-size:clamp(1.1rem,3vw,1.4rem);font-weight:400;letter-spacing:.04em;line-height:1.4;text-align:center;color:#f5f5f5d9}.spiel-greeting-wrap{display:flex;align-items:flex-start;gap:1.25rem;margin:0 0 1.25rem;padding:1rem 0}.spiel-author-link{flex-shrink:0;display:block;border-radius:50%;opacity:.85;transition:opacity .2s,transform .2s}.spiel-author-link:hover{opacity:1;transform:translateY(-1px)}.spiel-author{display:block;width:clamp(3.5rem,12vw,4.5rem);height:clamp(3.5rem,12vw,4.5rem);border-radius:50%;object-fit:cover;object-position:center 15%;border:2px solid rgba(245,245,245,.18);box-shadow:0 0 0 4px #f5f5f50a;filter:grayscale(.15) contrast(.95)}.spiel-greeting{flex:1;min-width:0;margin:0;padding-top:.35rem;font-size:clamp(.95rem,2.4vw,1.05rem);letter-spacing:.06em;text-align:left;color:#f5f5f5b8}.spiel-key{color:#f5f5f5e6;text-decoration:underline;text-decoration-color:#f5f5f559;text-underline-offset:.2em;transition:color .2s,text-decoration-color .2s}.spiel-key:hover{color:#fff;text-decoration-color:#f5f5f5b3}.spiel p{margin:0 0 1.15rem;font-size:clamp(.9rem,2.2vw,1rem);line-height:1.65;color:#f5f5f5b8}.spiel p:last-child{margin-bottom:0}.spiel em{font-style:italic;color:#f5f5f5d9}.spiel strong{font-weight:600;color:#f5f5f5e6}.spiel-lead{font-size:clamp(1rem,2.8vw,1.15rem)!important;letter-spacing:.08em;text-transform:uppercase;color:#f5f5f5e6!important}.spiel-close{margin-top:1.5rem!important;padding-top:1.25rem;border-top:1px solid rgba(245,245,245,.08);color:#f5f5f5cc!important}.links{display:flex;align-items:center;justify-content:center;gap:1.5rem;width:100%;max-width:36rem;padding-top:.5rem}.link{display:flex;align-items:center;justify-content:center;opacity:.65;transition:opacity .2s,transform .2s}.link:hover{opacity:1;transform:translateY(-1px)}.link img{display:block;width:2rem;height:2rem;object-fit:contain}@media(max-width:480px){.page{gap:2rem;padding:max(1.25rem,env(safe-area-inset-top)) max(1.25rem,env(safe-area-inset-right)) max(1.25rem,env(safe-area-inset-bottom)) max(1.25rem,env(safe-area-inset-left))}.intro{gap:2rem;margin-top:.5rem}.spiel{padding-top:2rem}.spiel-heading{margin-bottom:1.25rem}.spiel-greeting-wrap{flex-direction:column;align-items:center;gap:.85rem;padding:.75rem 0}.spiel-greeting{padding-top:0;text-align:center}.copy{padding:.75rem 1rem}.copy-label{font-size:.7rem;letter-spacing:.08em}.copy-value{letter-spacing:.02em}}
