:root{--navy:#111b50;--gold:#ffb82e;--cream:#faf8f2;--muted:#777b90;--ease:cubic-bezier(.22,1,.36,1)}*{box-sizing:border-box}body{margin:0;background:var(--cream);font:14px/1.6 Arial,Helvetica,sans-serif;color:var(--navy);-webkit-font-smoothing:antialiased}a{color:inherit}button{font:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #9c6907;outline-offset:5px}h1,h2,p{margin:0}.ceremony-nav{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:23px 4%;font-size:10px;border-bottom:1px solid #deded7}.ceremony-nav a{text-decoration:none}.ceremony-nav>span{font-size:8px;letter-spacing:.12em;color:var(--muted)}main{width:min(1050px,calc(100% - 64px));margin:0 auto}.ceremony-intro{text-align:center;padding:40px 0 30px}.eyebrow{font-size:8px;font-weight:600;letter-spacing:.18em}.ceremony-intro h1{font-size:50px;line-height:1.04;letter-spacing:-.055em;font-weight:500;margin:16px 0}.ceremony-intro em{font-family:Georgia,'Times New Roman',serif;font-weight:400}.ceremony-intro>p:last-child{font-size:10px;color:var(--muted)}.stage{height:400px;position:relative;overflow:hidden;background:#f3e8cf;border-radius:12px;box-shadow:0 20px 60px #111b5010;border:1px solid #d9ceb7}.unveiled{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;overflow:hidden}.unveiled img{width:230px;height:auto;position:relative;z-index:1}.unveiled .eyebrow{color:#91651a;margin:1px 0 16px}.unveiled h2{font-size:37px;font-weight:500;letter-spacing:-.05em;line-height:1.1}.unveiled>p:last-of-type{font-size:10px;color:#7f765f;margin-top:18px}.unveiled>p span{font-size:9px}.unveiled a{display:inline-block;margin-top:20px;text-decoration:none;border-bottom:1px solid #b49f74;padding-bottom:2px;font-size:10px;position:relative;z-index:2}.reveal-smile{position:absolute;width:320px;height:120px;bottom:-64px;left:calc(50% - 160px);transform:rotate(-4deg)}.reveal-smile path{fill:none;stroke:var(--gold);stroke-width:15;stroke-linecap:round;stroke-dasharray:400;stroke-dashoffset:400}.curtain{position:absolute;top:0;bottom:0;width:50.2%;background:repeating-linear-gradient(90deg,#0d153f 0,#182354 4%,#202d62 8%,#111b50 12%,#0c143d 15%);z-index:3;transition:transform 1.9s var(--ease);box-shadow:inset 0 20px 30px #0002}.curtain-left{left:0;transform:translateX(0);border-right:1px solid #d2a956}.curtain-right{right:0;transform:translateX(0);border-left:1px solid #d2a956}.curtain-edge{position:absolute;bottom:15px;left:0;right:0;height:1px;background:#bba47688;box-shadow:0 -4px 0 #bba47655}.stage-title{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:4;color:#fff8e5;pointer-events:none;transition:opacity .6s}.seal{width:88px;height:88px;border:1px solid #bfa36677;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;font-size:30px;letter-spacing:-.1em;padding-bottom:14px;color:#fff8e5}.seal>span{position:absolute;font-size:50px;bottom:-1px;left:22px;line-height:1;color:var(--gold);letter-spacing:0}.stage-title>p{font-size:10px;letter-spacing:.23em;margin-top:24px}.stage-title>span:last-child{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:15px;margin-top:12px;color:#d2c9b7}.countdown{position:absolute;inset:0;z-index:5;display:grid;place-items:center;color:var(--gold);font-size:100px;pointer-events:none;letter-spacing:-.06em}.stage.counting .stage-title{opacity:.1}.stage.pulling .stage-title{opacity:0}.stage.left-pulled:not(.is-open) .curtain-left{transform:translateX(-10%)}.stage.right-pulled:not(.is-open) .curtain-right{transform:translateX(10%)}.stage.is-open .curtain-left{transform:translateX(-103%)}.stage.is-open .curtain-right{transform:translateX(103%)}.stage.is-open .stage-title{opacity:0}.stage.is-open .reveal-smile path{animation:draw 1.5s 1s var(--ease) forwards}.gold-particles{position:absolute;inset:0;z-index:6;pointer-events:none;overflow:hidden}.particle{position:absolute;width:5px;height:10px;background:#d9a039;top:-20px;left:var(--left);opacity:0}.is-open .particle{animation:confetti 3s var(--delay) ease-out both}.ceremony-status{min-height:57px;display:flex;align-items:center;justify-content:center;font-size:11px;text-align:center;padding:14px 10px;color:#7a725e}.founder-controls{display:flex;align-items:center;gap:24px}.founder{display:flex;align-items:center;gap:14px;padding:18px 20px;border:1px solid #d7d7cd;border-radius:10px;background:#fffdfa;flex:1}.founder-initial{width:38px;height:38px;display:grid;place-items:center;border:1px solid #d9d9cf;border-radius:50%;font-size:13px;flex:none}.founder-info h2{font-size:16px;line-height:1.3;font-weight:500;letter-spacing:-.02em}.founder-info p{font-size:9px;color:var(--muted);margin-top:4px}.founder button{background:var(--navy);color:white;border:1px solid var(--navy);padding:11px 14px;border-radius:30px;font-size:10px;margin-left:auto;white-space:nowrap;min-width:110px;display:flex;justify-content:space-between;gap:13px;align-items:center}.founder button:disabled{background:#f2e9d2;border-color:#dfd2b6;color:#8b743f}.founder.is-ready .founder-initial{background:#f7e7bd;border-color:#f7e7bd}.founder-link{font-size:20px;color:#b49d68}.rehearsal-notes{display:flex;gap:30px;justify-content:space-between;align-items:center;padding:21px 0 24px}.rehearsal-notes p{font-size:10px;color:var(--muted);max-width:660px;line-height:1.8}.rehearsal-notes button{font-size:10px;white-space:nowrap;border:0;background:none;color:var(--navy);text-decoration:underline;text-underline-offset:4px;padding:10px 0}footer{font-size:8px;letter-spacing:.18em;color:#959588;text-align:center;padding:0 20px 20px}.noscript{padding:20px;background:#f7e7bd}@keyframes draw{to{stroke-dashoffset:0}}@keyframes confetti{0%{transform:translateY(0) rotate(0);opacity:0}10%{opacity:1}100%{transform:translateY(450px) rotate(360deg);opacity:0}}
@media(max-width:760px){main{width:calc(100% - 36px)}.ceremony-intro{padding-top:28px}.ceremony-intro h1{font-size:43px}.stage{height:370px}.unveiled img{width:200px}.unveiled h2{font-size:30px}.founder-controls{gap:10px}.founder-link{display:none}.founder{flex-wrap:wrap;gap:9px;padding:14px}.founder-info h2{font-size:14px}.founder-info p{font-size:8px}.founder-initial{width:31px;height:31px;font-size:11px}.founder button{width:100%;margin:4px 0 0;min-width:0;padding:10px 13px;font-size:10px}.rehearsal-notes{gap:15px;align-items:start}.rehearsal-notes p{font-size:9px}.rehearsal-notes button{font-size:9px;padding-top:0}.ceremony-status{font-size:10px;min-height:63px}.ceremony-nav>span{font-size:6px;letter-spacing:.08em}.ceremony-nav>a{font-size:9px}.stage-title>p{font-size:8px;letter-spacing:.17em}.stage-title>span:last-child{font-size:13px}}
@media(max-width:380px){.founder{padding:11px 9px}.founder-initial{display:none}.ceremony-nav{padding-inline:18px}.unveiled{padding:20px}.unveiled h2{font-size:27px}.rehearsal-notes{flex-direction:column;gap:8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.stage.is-open .reveal-smile path{stroke-dashoffset:0}.particle{display:none}}
/* Shared ceremony: roles, live progress and accessible rope controls. */
[hidden]{display:none!important}.ceremony-nav>div{display:flex;align-items:center;gap:9px;font-size:9px;color:var(--muted)}.connection-light{width:6px;height:6px;border-radius:50%;background:#c5c4bd;display:block}.connection-light.is-connected{background:#7d9a66;box-shadow:0 0 0 4px #7d9a6614}.mode-badge{border-left:1px solid #d8d6cd;padding-left:12px;margin-left:4px;font-size:7px;letter-spacing:.12em}.identity-pill{display:inline-block;font-size:9px;border:1px solid #d7cfbc;border-radius:20px;padding:5px 12px;margin-top:15px;color:#8b722e}.ceremony-intro{padding-top:30px}.stage{height:clamp(400px,53vh,580px);--left-progress:0;--right-progress:0}.unveiled{padding:0;display:block;background:#faf8f2}.unveiled iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}.reveal-caption{position:absolute;left:15px;right:15px;bottom:15px;border:1px solid #d1bd85;border-radius:8px;background:#fffaf0ef;box-shadow:0 6px 30px #111b5015;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:20px;z-index:2;font-size:10px;backdrop-filter:blur(10px)}.reveal-caption a{margin:0;white-space:nowrap;font-size:10px}.reveal-smile{z-index:2;pointer-events:none;bottom:15px;opacity:.6}.curtain-left{transform:translateX(calc(-1 * var(--left-progress) * 40%));transition:transform .2s ease-out}.curtain-right{transform:translateX(calc(var(--right-progress) * 40%));transition:transform .2s ease-out}.stage.is-open .curtain{transition:transform 1.9s var(--ease)}.stage-founder{position:absolute;bottom:31px;font-size:7px;letter-spacing:.15em;color:#decba0;z-index:4;pointer-events:none;transition:opacity .4s}.stage-founder-left{left:28px}.stage-founder-right{right:28px}.stage.is-open .stage-founder{opacity:0}.stage.is-paused .stage-title{opacity:0}.founder{display:block;padding:18px 20px}.founder-heading{display:flex;align-items:center;gap:12px}.founder-badge{margin-left:auto;font-size:9px;color:#8e8a7e;white-space:nowrap}.founder.is-connected .founder-initial{background:#f6e9c7;border-color:#f0d894}.founder.is-you{border-color:#c4a65f;box-shadow:0 0 0 2px #c4a65f0a}.founder .ready-button{margin:15px 0 0;width:100%;justify-content:center}.progress-track{height:3px;margin-top:16px;background:#eeece4;border-radius:5px;overflow:hidden}.progress-track span{display:block;background:var(--gold);height:100%;width:0;transition:width .2s}.founder-controls{align-items:stretch}.founder-link{align-self:center}.pull-area{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:7;display:flex;align-items:center;justify-content:center;gap:28px;width:min(430px,90%);padding:22px;border:1px solid #d0b46b66;background:#101a4fec;border-radius:15px;color:#fff8e5;box-shadow:0 15px 40px #0002}.pull-copy{flex:1}.pull-copy .eyebrow{font-size:6px;color:#d7bd80}.pull-copy h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:27px;letter-spacing:-.04em;line-height:1.1;margin:12px 0}.pull-copy>p:not(.eyebrow){font-size:10px;color:#cbc9d6;line-height:1.75;max-width:220px}.complete-pull{background:transparent;border:1px solid #a88e50;color:#fff1c9;font-size:9px;padding:9px 12px;border-radius:20px;margin:16px 0 8px}.complete-pull:disabled{opacity:.4}.pull-copy>span{display:block;font-size:8px;color:#cfb985}.rope-track{width:65px;height:196px;position:relative;flex:none;display:flex;justify-content:center}.rope-line{width:5px;height:165px;background:repeating-linear-gradient(160deg,#b5852a 0 4px,#ffcf65 4px 8px);border-radius:5px;box-shadow:1px 0 0 #c5953f}.rope-handle{position:absolute;width:46px;height:46px;top:5px;left:calc(50% - 23px);background:linear-gradient(135deg,#ffd67a,#e5a62c);border:1px solid #ffe39c;border-radius:50%;color:#3c321b;display:grid;place-items:center;font-size:24px;box-shadow:0 4px 14px #0003;transform:translateY(var(--pull-distance,0px));touch-action:none;cursor:grab;user-select:none}.rope-handle:active{cursor:grabbing}.rope-handle:disabled{filter:saturate(.3);opacity:.65}.rope-bottom{position:absolute;bottom:0;left:-13px;right:-13px;white-space:nowrap;text-align:center;font-size:6px;letter-spacing:.12em;color:#c7b68b}.host-panel{margin-top:22px;border:1px solid #d9d1be;border-radius:10px;background:#f5eedc;padding:21px 24px;display:flex;justify-content:space-between;align-items:center;gap:30px}.host-panel .eyebrow{font-size:7px;color:#967231}.host-panel h2{font-size:22px;letter-spacing:-.03em;font-weight:500;line-height:1.2;margin:8px 0}.host-panel p:not(.eyebrow){font-size:10px;color:#8e7c57;max-width:370px}.host-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.host-actions button{font-size:10px;border:1px solid #cbbd9b;border-radius:30px;background:#fffaf0;color:var(--navy);padding:10px 14px;white-space:nowrap}.host-actions button:disabled{opacity:.4}.host-actions #arm-live{background:var(--navy);color:white;border-color:var(--navy)}.ceremony-notes{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:20px 0 25px}.ceremony-notes p{font-size:10px;line-height:1.8;color:var(--muted);max-width:720px}.ceremony-notes button{font-size:9px;color:var(--navy);background:none;border:0;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}.error-message{padding:12px 17px;font-size:11px;color:#775419;background:#f8edcc;border:1px solid #e6d9b1;border-radius:8px;margin-top:17px}.setup-message{border:1px solid #dbc58e;background:#fff5d7;border-radius:10px;padding:20px;margin-bottom:25px}.setup-message h2{font-size:20px;line-height:1.2;font-weight:500;letter-spacing:-.03em}.setup-message p{font-size:12px;margin-top:12px;line-height:1.8}.setup-message code{font-size:11px;background:#efdfb9;padding:3px 5px;border-radius:3px}footer a{display:inline-block;margin-left:20px;font-size:8px;letter-spacing:0;color:#777b90}dialog{border:1px solid #d7c393;border-radius:15px;background:#faf8f2;color:var(--navy);padding:28px;width:min(420px,90%);box-shadow:0 15px 100px #111b5030}dialog::backdrop{background:#101a4f80;backdrop-filter:blur(4px)}dialog h2{font-size:28px;letter-spacing:-.04em;font-weight:500;line-height:1.1;margin:13px 0}dialog p:not(.eyebrow){font-size:12px;color:var(--muted);margin:12px 0 20px}dialog label{font-size:11px;display:block;margin-bottom:8px}dialog input{display:block;width:100%;background:white;border:1px solid #c9c6b9;border-radius:6px;padding:12px;font-size:14px;color:var(--navy)}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.dialog-actions button{padding:10px 15px;border:1px solid #c9c6b9;border-radius:25px;background:transparent;color:var(--navy);font-size:11px}.dialog-actions #confirm-reset{background:var(--navy);border-color:var(--navy);color:white}
@media(max-width:760px){.stage{height:400px}.founder{padding:15px}.founder-heading{gap:9px;flex-wrap:wrap}.founder-badge{font-size:8px;margin-left:0;flex-basis:100%;margin-top:4px}.founder-initial{width:29px;height:29px}.founder .ready-button{margin-top:12px;font-size:9px}.ceremony-intro h1{font-size:43px}.mode-badge{font-size:6px;padding-left:8px;margin-left:0;letter-spacing:.05em}.ceremony-nav>div{font-size:8px;gap:6px}.pull-area{gap:15px;padding:20px;max-width:360px}.pull-copy h2{font-size:25px}.pull-copy>p:not(.eyebrow){font-size:9px}.complete-pull{font-size:8px;padding:8px 10px}.rope-track{height:185px;width:58px}.stage-founder{font-size:6px;bottom:24px;letter-spacing:.1em}.stage-founder-left{left:18px}.stage-founder-right{right:18px}.host-panel{display:block;padding:20px}.host-actions{margin-top:20px;justify-content:flex-start}.ceremony-notes{align-items:start;gap:15px}.ceremony-notes p{font-size:9px}.ceremony-notes button{font-size:8px;padding-top:3px}.reveal-caption{left:10px;right:10px;bottom:10px;padding:11px 12px;gap:12px;font-size:8px}.reveal-caption a{font-size:9px}.identity-pill{font-size:8px}.ceremony-nav{padding-inline:18px}.ceremony-status{padding-inline:0;min-height:65px}.setup-message h2{font-size:18px}.setup-message p{font-size:11px}}
@media(prefers-reduced-motion:reduce){.curtain{transition:none!important}.particle{display:none}.reveal-smile path{animation:none!important}.stage.is-open .reveal-smile path{stroke-dashoffset:0}}
.stage.already-open .curtain{transition:none!important}.stage.already-open .particle{animation:none!important}.stage.already-open .reveal-smile path{animation:none!important;stroke-dashoffset:0}
