:root{--indigo:#4f46e5;--indigo-bg:#ede9fe;--indigo-text:#3730a3;--indigo-dark:#4338ca;--emerald:#10b981;--emerald-bg:#d1fae5;--emerald-text:#065f46;--red:#ef4444;--red-bg:#fee2e2;--red-text:#991b1b;--text-primary:#111827;--text-dark:#374151;--muted-text:#6b7280;--subtle-text:#9ca3af;--card-white:#fff;--off-white:#f7f8fa;--border:#e5e7eb;--radius-card:16px;--radius-control:10px;--radius-badge:999px}*{box-sizing:border-box}html,body{height:100%}body{color:var(--text-primary);background:var(--off-white);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--indigo);outline-offset:2px;border-radius:4px}h1{margin:0;font-size:1.125rem;font-weight:700}p{line-height:1.5}.muted{color:var(--muted-text);font-size:.9rem}.wordmark{align-items:baseline;gap:.4rem;display:flex}.wordmark-brand{color:var(--indigo);letter-spacing:.02em;font-size:1.25rem;font-weight:900}.wordmark-context{color:var(--muted-text);font-size:.8rem;font-weight:600}.centered-shell{justify-content:center;align-items:center;min-height:100vh;padding:1.5rem 1rem;display:flex}.card{background:var(--card-white);border:1px solid var(--border);border-radius:var(--radius-card);width:100%;max-width:380px;padding:2rem 1.75rem;box-shadow:0 1px 2px #1118270a}.card-header{text-align:center;flex-direction:column;align-items:center;gap:1rem;margin-bottom:1.75rem;display:flex}.mascot-circle{background:var(--indigo-bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:76px;height:76px;display:flex;overflow:hidden}.mascot-circle img{width:46px;height:auto;display:block}.mascot-circle-small{background:var(--indigo-bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex;overflow:hidden}.mascot-circle-small img{width:30px;height:auto;display:block}.page-shell{max-width:720px;margin:0 auto;padding:0 1rem 3rem}.section-card{background:var(--card-white);border:1px solid var(--border);border-radius:var(--radius-card);margin-bottom:1.5rem;padding:1.5rem}.app-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1.25rem 0;display:flex}.field{text-align:left;flex-direction:column;gap:.375rem;display:flex}.field label{color:var(--text-dark);font-size:.85rem;font-weight:600}.field input{font:inherit;border:1px solid var(--border);border-radius:var(--radius-control);color:var(--text-primary);background:var(--card-white);padding:.6rem .75rem}.field input:focus-visible{border-color:var(--indigo)}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}.btn{border-radius:var(--radius-control);border:1px solid #0000;justify-content:center;align-items:center;gap:.4rem;padding:.65rem 1.1rem;font-size:.95rem;font-weight:600;line-height:1.2;transition:background-color .1s,border-color .1s;display:inline-flex}.btn-primary{background:var(--indigo);color:#fff}.btn-primary:hover:not(:disabled){background:var(--indigo-dark)}.btn-block{width:100%}.btn-secondary{background:var(--card-white);border-color:var(--indigo);color:var(--indigo)}.btn-secondary:hover:not(:disabled){background:var(--indigo-bg)}.btn-secondary.is-copied{background:var(--emerald-bg);border-color:var(--emerald);color:var(--emerald-text)}.btn-text{color:var(--muted-text);background:0 0;border:none;padding:.4rem .25rem;font-size:.9rem;font-weight:600}.btn-text:hover{color:var(--text-dark);text-decoration:underline}.mode-toggle{background:var(--off-white);border:1px solid var(--border);border-radius:var(--radius-control);gap:.25rem;margin-bottom:1.25rem;padding:.25rem;display:flex}.mode-toggle button{border-radius:calc(var(--radius-control) - 4px);color:var(--muted-text);background:0 0;border:none;flex:1;padding:.5rem .75rem;font-size:.88rem;font-weight:600;transition:background-color .1s,color .1s}.mode-toggle button.is-active{background:var(--card-white);color:var(--indigo-text);box-shadow:0 1px 2px #11182714}.badge{border-radius:var(--radius-badge);white-space:nowrap;align-items:center;padding:.2rem .65rem;font-size:.8rem;font-weight:600;display:inline-flex}.badge-unredeemed{background:var(--indigo-bg);color:var(--indigo-text)}.badge-redeemed{background:var(--emerald-bg);color:var(--emerald-text)}.seats-table{border-collapse:collapse;background:var(--card-white);border:1px solid var(--border);border-radius:var(--radius-card);width:100%;overflow:hidden}.seats-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-text);background:var(--off-white);border-bottom:1px solid var(--border);padding:.7rem 1rem;font-size:.78rem;font-weight:600}.seats-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:.85rem 1rem;font-size:.9rem}.seats-table tr:last-child td{border-bottom:none}.seats-table td.actions-cell{text-align:right}.empty-state{text-align:center;background:var(--card-white);border:1px dashed var(--border);border-radius:var(--radius-card);flex-direction:column;align-items:center;gap:.75rem;padding:2.5rem 1.5rem;display:flex}.error-banner{background:var(--red-bg);border-left:3px solid var(--red);color:var(--red-text);border-radius:6px;align-items:flex-start;gap:.6rem;margin:.75rem 0;padding:.7rem .9rem;font-size:.88rem;display:flex}.success-banner{background:var(--emerald-bg);border-left:3px solid var(--emerald);color:var(--emerald-text);border-radius:6px;align-items:flex-start;gap:.6rem;margin:0 0 .75rem;padding:.7rem .9rem;font-size:.88rem;display:flex}.invite-link-box{word-break:break-all;background:var(--off-white);border:1px solid var(--border);border-radius:var(--radius-control);color:var(--text-dark);margin:.75rem 0 1rem;padding:.85rem 1rem;font-size:.88rem}.info-box{background:var(--off-white);border:1px solid var(--border);border-radius:var(--radius-control);color:var(--text-dark);padding:.85rem 1rem;font-size:.88rem;line-height:1.5}@media (max-width:480px){.card{padding:1.5rem 1.25rem}.page-shell{padding:0 .75rem 2rem}.app-header{padding:1rem 0}.seats-table th,.seats-table td{padding:.6rem;font-size:.82rem}.seats-table th:first-child,.seats-table td:first-child{display:none}}
