:root{--color-brand: #389084;--color-brand-deep: #2a6e65;--color-oxford: #0b132b;--color-danger: #e0554a;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--color-brand);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.page{min-height:100dvh;display:flex;flex-direction:column}.join-page{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(1.75rem,5vh,3.5rem);padding:1.5rem;text-align:center}.logo{width:clamp(180px,40vw,320px);height:auto}.manage-page{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.75rem;padding:1.5rem;text-align:center}.manage-page h1{color:#fff;font-size:1.75rem;letter-spacing:.1em;margin:0}.camera-form{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:26rem;text-align:left}.camera-form label{color:#ffffffd9;font-size:.9rem;font-weight:600}.camera-form input{font-size:1rem;padding:.9rem 1rem;border:none;border-radius:12px;background:#fff;color:var(--color-brand-deep);box-shadow:0 6px 20px #0b132b2e}.camera-form input:focus{outline:3px solid var(--color-oxford);outline-offset:2px}.camera-form-actions{display:flex;gap:.75rem}.camera-form-actions button{flex:1;font-size:1rem;font-weight:600;padding:.8rem 1.5rem;border:none;border-radius:999px;cursor:pointer}.camera-form-actions button[type=submit]{background:#fff;color:var(--color-brand-deep)}.camera-form-actions button[type=button]{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.6)}.camera-form-actions button:disabled{opacity:.5;cursor:not-allowed}.room-code-entry{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;width:100%;max-width:22rem}.room-code-entry input{flex:1 1 10rem;min-width:0;font-size:clamp(1.5rem,6vw,2rem);font-weight:600;letter-spacing:.35em;text-align:center;text-transform:uppercase;padding:.9rem .5rem;border:none;border-radius:16px;background:#fff;color:var(--color-brand-deep);box-shadow:0 6px 20px #0b132b2e}.room-code-entry input::placeholder{color:#b6d4ce;letter-spacing:.35em}.room-code-entry input:focus{outline:3px solid var(--color-oxford);outline-offset:2px}.room-code-entry button{flex:1 1 100%;font-size:1.15rem;font-weight:600;padding:.9rem 2rem;border:none;border-radius:999px;background:#fff;color:var(--color-brand-deep);cursor:pointer;box-shadow:0 6px 20px #0b132b2e}.room-code-entry button:disabled{opacity:.5;cursor:not-allowed}.room-panel{display:flex;flex-direction:column;align-items:center;gap:1.25rem}.room-panel h1{font-size:clamp(3rem,14vw,5.5rem);font-weight:700;letter-spacing:.2em;margin:0;color:#fff}.status-line{color:#ffffffd9;font-size:1.05rem;margin:0}.status-line--error{color:#ffe1de;font-weight:600}.share-stats{color:#fff9;font-size:.85rem;font-variant-numeric:tabular-nums;margin:-.75rem 0 0}.share-button{font-size:1.2rem;font-weight:600;padding:1rem 2.75rem;border-radius:999px;border:none;background:#fff;color:var(--color-brand-deep);cursor:pointer;box-shadow:0 6px 20px #0b132b2e}.share-button:disabled{opacity:.5;cursor:not-allowed}.share-button--stop{background:var(--color-oxford);color:#fff}.footer{padding:1.25rem 1rem calc(1.25rem + env(safe-area-inset-bottom));text-align:center;font-size:.8rem;color:#ffffffa6}@media(max-width:420px){.room-code-entry{flex-direction:column}}
