:root{--font-heading: "Playfair Display", serif;--font-body: "Montserrat", sans-serif;--color-text: #3a2e2e;--color-bg: #faf6f1;--color-primary: #6b4f4f;--bg-image: none;--radius: 14px;--shadow: 0 4px 20px rgba(0, 0, 0, .08);--card-bg: rgba(255, 255, 255, .85)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-body);color:var(--color-text);background-color:var(--color-bg);background-image:var(--bg-image);background-size:cover;background-attachment:fixed;background-position:center;min-height:100vh;-webkit-font-smoothing:antialiased}h1,h2,h3,.heading{font-family:var(--font-heading);color:var(--color-primary);font-weight:700;line-height:1.15}a{color:var(--color-primary)}.app-shell{max-width:760px;margin:0 auto;padding:16px 16px 96px}.hero{text-align:center;padding:32px 16px 8px}.hero h1{font-size:clamp(2rem,7vw,3.2rem);margin:0 0 8px}.hero .date{font-size:1.1rem;letter-spacing:2px;text-transform:uppercase;opacity:.8}.hero .venue{margin-top:4px;opacity:.7}.card{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;margin:14px 0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.card h2{margin-top:0;font-size:1.4rem;display:flex;align-items:center;gap:8px}.btn{display:inline-flex;align-items:center;gap:6px;background:var(--color-primary);color:#fff;border:none;border-radius:999px;padding:10px 18px;font-size:.95rem;font-family:var(--font-body);cursor:pointer;transition:filter .15s}.btn:hover{filter:brightness(1.08)}.btn.secondary{background:transparent;color:var(--color-primary);border:1.5px solid var(--color-primary)}.btn.small{padding:5px 12px;font-size:.85rem}.btn.danger{background:#b23b3b}input,select,textarea{width:100%;padding:10px 12px;border:1px solid rgba(0,0,0,.15);border-radius:10px;font-family:var(--font-body);font-size:.95rem;background:#fff;color:var(--color-text);margin:4px 0 10px}label{font-size:.85rem;font-weight:600;opacity:.8}.row{display:flex;gap:10px;flex-wrap:wrap}.row>*{flex:1;min-width:0}.grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.tag{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.75rem;background:#6b4f4f1f;color:var(--color-primary)}.muted{opacity:.65;font-size:.9rem}.center{text-align:center}.error{color:#b23b3b;font-size:.9rem}.list-item{padding:10px 0;border-bottom:1px solid rgba(0,0,0,.07);display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.list-item:last-child{border-bottom:none}.tabbar{position:fixed;bottom:0;left:0;right:0;background:#fffffff5;border-top:1px solid rgba(0,0,0,.08);display:flex;overflow-x:auto;z-index:20;padding:6px 4px;gap:2px}.tabbar button{flex:0 0 auto;background:none;border:none;padding:8px 12px;font-size:.72rem;color:var(--color-text);opacity:.6;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;font-family:var(--font-body)}.tabbar button.active{opacity:1;color:var(--color-primary);font-weight:600}.tabbar .ic{font-size:1.2rem}.access-screen{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:24px}.access-card{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px;max-width:420px;width:100%}
