:root{--color-bg:#fff;--color-surface:#f8f8fb;--color-text:#1a1a1a;--color-muted:#6b7280;--color-border:#e2e2e2;--color-accent:#4f46e5;--color-accent-contrast:#fff;--color-danger:#b91c1c;--space-1:.25rem;--space-2:.5rem;--space-3:1rem;--space-4:1.5rem;--radius:.375rem;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;font-size:80%}@media (prefers-color-scheme:dark){:root{--color-bg:#14151a;--color-surface:#1c1d24;--color-text:#e7e7ea;--color-muted:#9a9aa3;--color-border:#2c2d33;--color-accent:#818cf8;--color-accent-contrast:#14151a;--color-danger:#f87171}}*{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);margin:0;line-height:1.5}main{max-width:60rem;padding:var(--space-4);margin:0 auto}h1,h2,h3{line-height:1.2}a{color:var(--color-accent)}form{max-width:30rem}label{margin-top:var(--space-3);margin-bottom:var(--space-1);font-weight:600;display:block}input,textarea,select{width:100%;padding:var(--space-2);border:.0625rem solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);font:inherit}textarea{resize:vertical;min-height:6rem}button{margin-top:var(--space-3);padding:var(--space-2) var(--space-4);border-radius:var(--radius);background:var(--color-accent);color:var(--color-accent-contrast);font:inherit;cursor:pointer;border:none;font-weight:600}button:disabled{opacity:.6;cursor:not-allowed}table{border-collapse:collapse;width:100%;margin-top:var(--space-3)}th,td{text-align:left;padding:var(--space-2);border-bottom:.0625rem solid var(--color-border)}[role=alert]{color:var(--color-danger);margin:var(--space-1) 0;font-size:.9rem}[role=status]{color:var(--color-muted)}.siteHeader{padding:var(--space-2) var(--space-4);border-bottom:.0625rem solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.siteNav{align-items:center;gap:var(--space-3);display:flex}.siteBrand{align-items:center;gap:var(--space-4);display:flex}.logoMark{background-color:var(--color-text);width:1.75rem;height:1.75rem;display:inline-block;-webkit-mask-image:url(/logo.png);mask-image:url(/logo.png);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.loginLogo{width:3.5rem;height:3.5rem;margin-bottom:var(--space-3)}.loginButton{padding:var(--space-1) var(--space-3);border-radius:var(--radius);background:var(--color-accent);color:var(--color-accent-contrast);font:inherit;cursor:pointer;border:none;margin:0;font-size:.9rem;font-weight:600;text-decoration:none}.siteHeader[data-home]{z-index:1;-webkit-backdrop-filter:blur(.375rem);backdrop-filter:blur(.375rem);background:#05050ad9;border-bottom-color:#fff3;position:fixed;inset-block-start:0;inset-inline:0}.siteHeader[data-home] .logoMark{background-color:#fff}.siteHeader[data-home] .siteNav a{color:#fff}.siteFooter{max-width:60rem;margin:var(--space-4) auto 0;padding:var(--space-3) var(--space-4) var(--space-4);color:var(--color-muted);font-size:.8rem}.accountArea{align-items:center;gap:var(--space-3);display:flex}.accountArea button{margin-top:0}.repeatableRow{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.repeatableRow button{flex:none;margin-top:0}.joinConfirmEmail{word-break:break-all;margin:var(--space-3) 0;padding:var(--space-3);border:.0625rem solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);font-size:1.5rem;font-weight:600}.joinConfirmHint{color:var(--color-muted);font-size:.9rem}.projectStage{text-align:center;justify-content:center;align-items:center;gap:var(--space-2);flex-direction:column;min-height:100vh;display:flex}.projectHeading{margin:0;font-size:clamp(1.5rem,5vh,3rem)}.projectQr{border-radius:var(--radius);background:#fff;width:min(70vw,55vh);height:min(70vw,55vh)}.projectUrl{word-break:break-all;margin:0;font-size:clamp(1.25rem,4.5vh,2.75rem);font-weight:600}.projectHint{color:var(--color-muted);margin:0;font-size:clamp(.9rem,2vh,1.25rem)}.projectBack{color:var(--color-muted);margin-top:var(--space-4);font-size:.85rem}
