:root{color-scheme:light dark}body{margin:0;background:light-dark(#ffffff,#000000);color:light-dark(#002244,#ffffff);font:16px/1.5 system-ui,sans-serif}*{box-sizing:border-box}#app{max-width:480px;margin:auto;padding:24px 20px}header{font-size:28px;font-weight:700;color:#0080c6;border-bottom:1px solid #545454;padding-bottom:16px}h1{font-size:28px;line-height:1.2}h2{font-size:21px}h3{font-size:22px}article{background:light-dark(#ffffff,#002244);border:1px solid #545454;border-radius:18px;padding:18px;margin:20px 0}button,input,select,textarea{font:inherit;color:inherit;background:light-dark(#ffffff,#002244);border:1px solid #737373;border-radius:10px;padding:10px;min-height:44px;max-width:100%}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}article>button,#view>button{width:100%;margin-top:10px}.primary{background:light-dark(#002244,#0080c6);color:white;width:100%;margin:14px 0}.back{border:0;background:transparent;text-align:left!important}label{display:block;margin:12px 0}input,select,textarea{width:100%;min-width:0}textarea{min-height:130px}.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.muted,small{color:light-dark(#545454,#a6a6a6);font-size:14px}.person{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #545454;padding:10px 0}.person>span{overflow-wrap:anywhere;min-width:0}small{display:block}.check{display:flex;align-items:center;gap:8px}.check input{width:22px;min-height:22px;height:22px;accent-color:#e6b8b7;flex-shrink:0}.facts{list-style:none;padding:0}.facts li{margin:12px 0}summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,auto) 22px;align-items:center;gap:8px;cursor:pointer;min-height:48px}summary>span:first-child{overflow-wrap:anywhere}details{border-bottom:1px solid #545454;padding:8px 0}.core{background:#e6b8b7;color:#3e3e3e;text-align:center;border-radius:3px;font-weight:bold}footer{border-top:1px solid #545454;margin-top:28px;padding-top:14px;font-size:12px;color:light-dark(#545454,#a6a6a6)}#error{color:light-dark(#ab0003,#e6b8b7)}#error:empty{display:none}#rally{padding:0!important;max-width:100%!important}#rally .brand,#rally .eyebrow{display:none}form button{margin:12px 0}
/* Sora ExtraBold (SIL Open Font License, see app/brand/Sora-OFL.txt), Basic Latin subset, built in so the logo renders the same everywhere. */
@font-face{font-family:Sora;font-style:normal;font-weight:800;font-display:block;src:url(data:font/woff;base64,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) format("woff")}
[hidden]{display:none!important}
.event-card h2{margin:0 0 6px}.event-card p{margin:6px 0}.event-card>button{display:block;margin:8px 0 0}.event-card>button:first-of-type{margin-top:14px}.event-card .primary{margin-bottom:0}
.core-help{margin-top:4px;line-height:1.5}
.facts li{display:flex;gap:10px;align-items:flex-start;line-height:1.45}.fact-symbol{display:inline-flex;align-items:center;justify-content:center;flex:0 0 26px;height:26px;border-radius:50%;font-weight:700}.fact-symbol.positive{background:#0080c6;color:#ffffff}.fact-symbol.pending{background:#737373;color:#ffffff}
#app #rally .primary{font-size:16px;font-weight:500;min-height:48px;padding:12px}
.invitation{background:light-dark(#ffffff,#002244);border:1px solid #545454;border-radius:16px;padding:18px;margin:20px 0}.invitation h3{font-size:16px;margin:0 0 12px;color:light-dark(#545454,#a6a6a6)}.invitation textarea{background:transparent;border:0;border-radius:0;padding:0;min-height:210px;line-height:1.6;resize:vertical}.invitation button{width:100%;margin-top:12px}.invitation p:empty{display:none}
#view>.back{margin:4px 0 12px;padding:8px 0;width:auto;font-size:14px}#view h1{margin:16px 0 20px}#view form>label:first-child{margin-top:0}.revision-summary{border-left:3px solid #0080c6;padding:2px 0 2px 16px;margin:20px 0}.revision-summary p{margin:6px 0}form textarea{min-height:90px}button{font-weight:500}input[readonly]{opacity:.7}

#daily summary{grid-template-columns:minmax(0,1fr) minmax(90px,auto);gap:16px}#daily .member-identity{display:flex;align-items:center;gap:8px;min-width:0}#daily .member-identity>span:first-child{min-width:0;overflow-wrap:anywhere}#daily .member-identity .core{flex:0 0 22px;width:22px;line-height:22px}#daily .member-status{text-align:right}

.response-identity{display:flex;align-items:center;gap:8px;min-width:0}.response-identity>span:first-child{min-width:0;overflow-wrap:anywhere}.response-identity .core{flex:0 0 22px;width:22px;line-height:22px}

.core-lead{margin-bottom:3px}.core-lead+.core-help{margin-top:0;margin-bottom:16px}#decline{width:auto;background:transparent;margin:4px 0 18px;min-height:44px}.fit-score{display:flex;align-items:center;gap:10px;font-size:14px;color:light-dark(#545454,#a6a6a6)}.fit-score strong{background:#0080c6;color:#ffffff;padding:4px 10px;border-radius:20px;font-size:16px}.fact-symbol.conflict{background:#e6b8b7;color:#ab0003}

.delete-section{border-top:1px solid #545454;margin-top:28px;padding-top:16px}.danger{color:light-dark(#ab0003,#e6b8b7);border-color:light-dark(#ab0003,#e6b8b7);background:transparent}.delete-section button{width:100%}

#decline{color:light-dark(#ab0003,#e6b8b7);border-color:light-dark(#ab0003,#e6b8b7);background:transparent}

.fact-symbol.conflict{position:relative;font-size:0;line-height:1}.fact-symbol.conflict::before,.fact-symbol.conflict::after{content:"";position:absolute;top:50%;left:50%;width:14px;height:3px;border-radius:1px;background:currentColor;transform:translate(-50%,-50%) rotate(45deg)}.fact-symbol.conflict::after{transform:translate(-50%,-50%) rotate(-45deg)}

.fit-display{display:flex;align-items:center;gap:14px;margin:14px 0 18px}.fit-ring{width:68px;height:68px;flex:0 0 68px;border-radius:50%;background:conic-gradient(#0080c6 var(--fit),light-dark(#a6a6a6,#3e3e3e) 0);display:grid;place-items:center}.fit-ring>span{width:56px;height:56px;border-radius:50%;background:light-dark(#ffffff,#002244);display:flex;flex-direction:column;align-items:center;justify-content:center}.fit-ring b{font-size:25px;line-height:1;font-weight:650;font-variant-numeric:tabular-nums}.fit-ring small{font-size:11px;line-height:1.2;margin-top:3px}.fit-caption{display:flex;flex-direction:column;align-items:flex-start;gap:6px;font-size:14px;color:light-dark(#545454,#a6a6a6)}.fit-rank{font-size:12px;line-height:1.4;font-weight:600;padding:3px 9px;border:1px solid light-dark(#a6a6a6,#545454);border-radius:20px;color:light-dark(#002244,#ffffff)}.fit-rank.fit-leader{border-color:#0080c6;background:#0080c6;color:#ffffff}article.top-option{border-color:#0080c6;border-width:2px;padding:17px}

#view>.deleted-rallies-link{display:block;width:100%;margin:18px 0 0;padding:12px 16px;min-height:48px;background:transparent;border:1px solid light-dark(#a6a6a6,#545454);border-radius:12px;color:light-dark(#002244,#a6a6a6);font-size:14px;font-weight:500;text-align:center}

#app #rally #tools button[data-tool=u][aria-pressed=true]{background:#e6b8b7;color:#ab0003;border-color:#ab0003}
#app #rally .calendar-tools #tools{gap:8px;margin:0 0 8px}#app #rally .calendar-tools .row[aria-label="Selection actions"]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}#app #rally .calendar-tools .row button{margin:0}
.login-link{display:block;text-align:center;padding:14px 18px;border-radius:12px;text-decoration:none;font-weight:600}

#signout{float:right;font-size:13px;background:transparent;border:0;color:light-dark(#545454,#a6a6a6);font-weight:400}

.home-intro{padding:22px;border:1px solid #0080c6;border-radius:18px;background:light-dark(#f4f8fc,#002244);margin:0 0 24px}.home-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.home-intro .home-tagline{font-size:14px;line-height:1.5;font-weight:500;color:light-dark(#545454,#a6a6a6);margin:0 0 10px}.home-intro h2{font-size:34px;line-height:1.12;margin:0;letter-spacing:-.03em}.home-mark{font-size:54px;line-height:1;color:#0080c6}.home-intro>p{margin:18px 0 0}.home-intro #create{width:100%;margin:22px 0 0}.create-actions{display:grid;gap:8px;margin-top:20px}.create-actions button{width:100%;margin:0}#save-later{display:block;width:100%;margin-top:8px}@media(max-width:420px){.home-intro{padding:18px}.home-intro h2{font-size:29px}.home-mark{font-size:44px}}

.home-intro .home-plan{color:light-dark(#ab0003,#e6b8b7)}

/* Alternate launch treatment; leading choice saved separately. */
.rally-wordmark{display:inline-flex;align-items:baseline;gap:3px;letter-spacing:-1.3px;font-size:32px;font-weight:750}.rally-wordmark>span{font-size:30px;letter-spacing:-2px}
.home-intro{padding:24px;border-color:#244461;border-radius:22px;background:#002244;color:#ffffff;position:relative;overflow:hidden}.home-heading{position:relative;align-items:center;gap:10px}.home-heading>div:first-child{position:relative;z-index:1}.home-intro h2{font-size:38px;line-height:1.08;letter-spacing:-1.5px;font-weight:750}.home-intro .home-plan{color:#e6b8b7}.home-intro>p{max-width:290px;font-size:15px;line-height:1.55;color:#ffffff;margin-top:22px}.home-intro #create{margin-top:24px;background:#0080c6;color:#ffffff;border-color:#0080c6;min-height:50px}.launch-art{display:grid;grid-template-columns:repeat(3,22px);gap:5px;transform:rotate(-9deg);flex:0 0 auto}.launch-art span{display:grid;place-items:center;width:22px;height:22px;border:1px solid #545454;border-radius:5px;background:#002244;font-size:15px;font-weight:700}.launch-art span:nth-child(5){background:#e6b8b7;color:#002244;border-color:#e6b8b7}.launch-art span:last-child{background:#0080c6;color:#ffffff;border-color:#0080c6}.launch-art span:nth-child(3){border-color:#0080c6}.launch-art span:nth-child(7){opacity:.4}
@media(max-width:390px){.home-intro{padding:20px 18px}.home-intro h2{font-size:32px}.launch-art{grid-template-columns:repeat(3,16px);gap:4px}.launch-art span{width:16px;height:16px;font-size:12px;border-radius:4px}}

.launch-arrow{width:44px;height:44px;flex:0 0 44px;color:#0080c6;align-self:flex-start;margin-top:3px}@media(max-width:390px){.launch-arrow{width:32px;height:32px;flex-basis:32px}}

/* Landing secondary action and supporting copy. */
#view>.deleted-rallies-link{background:light-dark(#ffffff,#002244);border-color:#737373;color:light-dark(#002244,#ffffff);font-size:16px;font-weight:500}
.home-intro>p{font-size:18px;font-weight:550;line-height:1.5;max-width:340px}

.home-intro>p{font-weight:400}
.launch-arrow{display:block;font-family:inherit;font-size:44px;font-weight:750;line-height:1;letter-spacing:-2px;text-align:center}@media(max-width:390px){.launch-arrow{font-size:32px}}

/* Shared back navigation across planner screens. */
#app #view .back{display:inline-flex;align-items:center;gap:10px;width:auto;max-width:100%;min-height:48px;padding:10px 12px;margin:4px 0 12px;font-size:15px;line-height:1.4;font-weight:500;border:0;border-radius:10px;background:transparent;color:light-dark(#002244,#ffffff);touch-action:manipulation}
.back-chevron{display:inline-block;flex:0 0 8px;width:8px;height:8px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-left:3px}
#app #view .back:focus-visible{outline:3px solid #0080c6;outline-offset:2px}
@media(hover:hover){#app #view .back:hover{background:light-dark(#f4f8fc,#002244)}}
#app #view .back:active{background:light-dark(#f4f8fc,#002244)}

#view .home-intro h1{font-size:38px;line-height:1.08;letter-spacing:-1.5px;font-weight:750;margin:0}@media(max-width:390px){#view .home-intro h1{font-size:32px}}
#view>.home-intro{margin-top:22px}

/* Sept 27 review: one button text size everywhere, clearer secondary buttons on cards, modern step indicator. */
#app button,#app #rally button,#app #rally #tools button,#app #rally .quick-fill .row button{font-size:16px;font-weight:500}
#app #rally #tools button,#app #rally .quick-fill .row button{white-space:normal;line-height:1.25;padding:8px 6px;min-height:48px}
article button:not(.primary),.invitation button:not(.primary){background:transparent;border-color:light-dark(#737373,#a6a6a6)}
.invitation .primary{background:#0080c6;border-color:#0080c6;color:#ffffff}
#app #rally .steps{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:14px 0 8px;max-width:180px}
#app #rally .steps span{height:6px;border-radius:3px;background:light-dark(#a6a6a6,#3e3e3e)}
#app #rally .steps span.on{background:#0080c6}
#app #rally .step-label{font-size:14px;margin:0 0 4px;color:light-dark(#545454,#a6a6a6)}
#app #rally .step-label b{color:light-dark(#002244,#ffffff);font-weight:600}

/* Sept 27 review 3: bolder plan cards, compact availability header, review step. */
.event-card .card-name{font-size:30px;line-height:1.1;letter-spacing:-1px;font-weight:750;margin:0 0 6px;text-wrap:balance}
.card-when{margin:0 0 14px;color:light-dark(#545454,#a6a6a6);font-size:15px}.card-when span{color:light-dark(#ab0003,#e6b8b7);font-weight:600}
.card-progress{margin:0 0 4px}.card-progress .bar{height:6px;border-radius:3px;background:light-dark(#e3e8ee,#3e3e3e);overflow:hidden}.card-progress .bar span{display:block;height:100%;background:#0080c6;border-radius:3px}.card-progress p{margin:6px 0 0;font-size:14px}
.event-card{scroll-margin:24px;transition:box-shadow .3s}.event-card.flash{box-shadow:0 0 0 3px #0080c6}
@media (prefers-reduced-motion:reduce){.event-card{transition:none}}
.avail-meta{margin:-8px 0 6px;font-size:15px;color:light-dark(#545454,#a6a6a6)}.avail-meta b{color:light-dark(#002244,#ffffff)}
.avail-who{margin:0 0 12px;font-size:14px}
#view>.steps{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:8px 0 6px;max-width:180px}#view>.steps span{height:6px;border-radius:3px;background:light-dark(#a6a6a6,#3e3e3e)}#view>.steps span.on{background:#0080c6}
#view>.step-label{font-size:14px;margin:0;color:light-dark(#545454,#a6a6a6)}#view>.step-label b{color:light-dark(#002244,#ffffff);font-weight:600}
#app #rally{padding-top:0!important}#app #rally .quick-fill{margin:12px 0 14px;padding-bottom:14px}#app #rally .quick-fill h3{margin:0 0 2px}#app #rally #quick-fill-action{font-weight:400;margin:0 0 8px}
#app #rally #reviewpanel h2{font-size:24px;margin:10px 0 12px}
#app #rally .fit-big{margin:0;font-size:18px}#app #rally .fit-big b{font-size:52px;line-height:1;color:#0080c6;font-variant-numeric:tabular-nums;margin-right:6px}#app #rally .fit-sub{margin:2px 0 14px;font-size:16px}
#app #rally .window-strip{display:flex;gap:2px;height:22px;margin:8px 0 4px}#app #rally .window-strip span{flex:1;border-radius:3px;background:light-dark(#e3e8ee,#3e3e3e)}#app #rally .window-strip span.on{background:#0080c6}
#app #rally .strip-ends{display:flex;justify-content:space-between;font-size:12px;margin:0 0 14px;color:light-dark(#545454,#a6a6a6)}
#app #rally .fit-list{list-style:none;padding:0;margin:4px 0 14px;display:grid;gap:4px;font-weight:600}#app #rally .fit-list .more{font-weight:400;color:light-dark(#545454,#a6a6a6)}
#view:has(#reviewpanel:not([hidden]))>:is(h1,.flow.s1,.avail-who){display:none}
#view:has(#reviewpanel:not([hidden]))>.avail-meta{margin-top:8px}

/* Decline: a clear, stable row that doesn't depend on name length. */
.decline-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 14px;margin:4px 0 16px;border:1px solid light-dark(#a6a6a6,#545454);border-radius:12px;font-size:15px}
.decline-row:has(#decline[hidden]){display:none}
#app .decline-row #decline{margin:0;min-height:44px;padding:8px 16px;width:auto;flex:0 0 auto}
#view:has(#reviewpanel:not([hidden]))>.decline-row{display:none}

/* Landing hero v2: tagline, animated example, how-it-works. */
.home-intro>p{max-width:none}
.hero-demo{margin:22px 0 4px;padding:14px 14px 12px;border-radius:14px;background:#001a33;border:1px solid #244461}
.hero-bars{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;align-items:end;height:84px}
.hero-bars span{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;height:100%}
.hero-bars i{display:block;width:100%;height:calc(var(--h)*60px);border-radius:4px 4px 2px 2px;background:#3e5670;transform-origin:bottom;animation:bar-rise .5s ease-out both;animation-delay:var(--d)}
.hero-bars span.hit i{background:#0080c6;animation:bar-rise .5s ease-out both,bar-hit .5s ease-out 1.1s both;animation-delay:var(--d),1.1s}
.hero-bars b{font-size:11px;font-weight:500;color:#a6a6a6;font-variant-numeric:tabular-nums}
.hero-bars span.hit b{color:#ffffff;font-weight:700}
.hero-demo figcaption{margin-top:10px;font-size:14px;color:#ffffff;animation:fade-in .4s ease-out 1.3s both}
.hero-pick{color:#e6b8b7;font-weight:700}
@keyframes bar-rise{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes bar-hit{from{background:#3e5670}to{background:#0080c6}}
@keyframes fade-in{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.hero-bars i,.hero-demo figcaption{animation:none!important}}
.how{margin:8px 0 28px}.how h2{font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:light-dark(#545454,#a6a6a6);margin:0 0 14px}
.how-steps{list-style:none;padding:0;margin:0;display:grid;gap:0}
.how-steps li{position:relative;display:grid;grid-template-columns:36px 1fr;gap:14px;padding-bottom:18px}
.how-steps li:not(:last-child)::before{content:"";position:absolute;left:17px;top:36px;bottom:2px;width:2px;background:light-dark(#e6b8b7,#244461)}
.how-steps b{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#0080c6;color:#ffffff;font-size:16px;font-weight:700}
.how-steps div{display:flex;flex-direction:column;gap:2px;padding-top:6px}
.how-steps strong{font-size:17px;line-height:1.3;color:light-dark(#002244,#ffffff)}
.how-steps span{font-size:15px;line-height:1.4;color:light-dark(#545454,#a6a6a6)}
.home-intro.compact{padding:18px 20px}.home-intro.compact h2{font-size:26px!important;letter-spacing:-.8px}.home-intro.compact .launch-arrow{font-size:30px}.home-intro.compact #create{margin-top:16px}
#view .home-intro h1{font-size:36px}@media(max-width:390px){#view .home-intro h1{font-size:31px}}
#view>.past-link{display:block;margin:20px auto 0;background:transparent;border:0;color:light-dark(#0080c6,#6fb6e6);font-size:16px;text-decoration:underline;text-underline-offset:4px;min-height:44px;width:auto}

/* Sept 27 evening: refined wordmark, abstract dot chart, even How it works. */
.rally-wordmark{display:inline-flex;align-items:center;gap:2px;font-size:34px;font-weight:800;letter-spacing:-1.6px;color:#0080c6;line-height:1}
.rally-wordmark .wm-arrow{width:26px;height:26px;margin-top:-10px}
.launch-arrow{display:block;width:40px;height:40px;flex:0 0 40px;color:#0080c6;align-self:flex-start}.launch-arrow .hero-arrow{width:100%;height:100%}
.home-intro.compact .launch-arrow{width:30px;height:30px;flex-basis:30px}
.hero-cal{position:relative;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:auto auto auto;gap:5px;margin:20px 0 4px;padding:14px 12px 12px;border-radius:16px;background:#001a33;border:1px solid #244461}
.hero-cal .wd{text-align:center;font-size:11px;font-weight:600;color:#a6a6a6;letter-spacing:.5px}
.hero-cal .day{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:space-between;aspect-ratio:1/1.05;padding:5px;border-radius:9px;background:#13304d;box-sizing:border-box}
.hero-cal .day b{font-size:11px;font-weight:600;color:#a6a6a6;line-height:1}
.hero-cal .day em{display:flex;flex-wrap:wrap;gap:2px;font-style:normal}
.hero-cal .day i{display:block;width:6px;height:6px;border-radius:50%;background:#6b8299;animation:dot-in .3s ease-out both;animation-delay:var(--d)}
.hero-cal .day.hit{background:#0080c6;animation:hit-in .4s ease-out 1.2s both}
.hero-cal .day.hit b{color:#ffffff}.hero-cal .day.hit i{background:#ffffff}
.hero-cal .pick{grid-column:5/8;grid-row:3;z-index:2;margin:-4px;border:2px solid #e6b8b7;border-radius:12px;pointer-events:none;position:relative;animation:fade-in .4s ease-out 1.4s both}
.hero-cal .pick small{position:absolute;top:-11px;right:8px;background:#e6b8b7;color:#002244;font-size:11px;font-weight:700;padding:2px 8px;border-radius:10px;line-height:1.4}
@keyframes dot-in{from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes hit-in{from{background:#13304d}to{background:#0080c6}}
@media (prefers-reduced-motion:reduce){.hero-cal *{animation:none!important}}
.how-steps{grid-auto-rows:1fr}
.how-steps li{padding-bottom:0;min-height:76px}
.how-steps li:not(:last-child)::before{bottom:-2px}

/* Modern back button: round icon button plus quiet destination label. */
#app #view .back{gap:10px;padding:4px 8px 4px 0;font-size:15px;font-weight:500;color:light-dark(#545454,#a6a6a6)}
#app #view .back .back-chevron{position:relative;flex:0 0 38px;width:38px;height:38px;margin:0;border:0;border-radius:50%;transform:none;background:light-dark(#eef2f6,#13304d);transition:background .15s}
#app #view .back .back-chevron::after{content:"";position:absolute;left:16px;top:14px;width:9px;height:9px;border-left:2.5px solid light-dark(#002244,#ffffff);border-bottom:2.5px solid light-dark(#002244,#ffffff);border-radius:1px;transform:rotate(45deg)}
@media(hover:hover){#app #view .back:hover{background:transparent;color:light-dark(#002244,#ffffff)}#app #view .back:hover .back-chevron{background:light-dark(#dde5ee,#1d4166)}}
#app #view .back:active{background:transparent}#app #view .back:active .back-chevron{background:#0080c6}

/* Review score and pick-dates button. */
#app #rally .score{display:flex;align-items:flex-end;gap:10px;margin:14px 0 2px;line-height:1}
#app #rally .score-n{font-size:72px;font-weight:800;letter-spacing:-3px;color:#0080c6;font-variant-numeric:tabular-nums}
#app #rally .score-of{display:flex;flex-direction:column;gap:2px;padding-bottom:8px;font-size:30px;font-weight:700;letter-spacing:-1px;color:light-dark(#002244,#ffffff);font-variant-numeric:tabular-nums}
#app #rally .score-of span{font-size:13px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:#e6b8b7}
#app #rally .fit-sub{margin:6px 0 16px;font-size:16px;color:light-dark(#545454,#a6a6a6)}
.btn-ico{width:20px;height:20px;vertical-align:-4px;margin-right:8px}

/* Oct 1: one type scale across screens. */
:where(#view) h1{font-size:30px;font-weight:800;letter-spacing:-1px;line-height:1.1;text-wrap:balance;margin:12px 0 16px}
:where(#view) h2{font-size:20px;font-weight:700;letter-spacing:-.3px;line-height:1.25}
:where(#view) h3{font-size:18px;font-weight:700;line-height:1.3}
.date-display{margin:4px 0 8px;font-size:24px;font-weight:750;letter-spacing:-.5px;line-height:1.2;color:light-dark(#ab0003,#e6b8b7)}
article>.date-display{margin-top:0}
/* Compact, consistent name rows. */
.person{padding:6px 0;min-height:52px}
.person small{margin-top:1px}
#app .person button{min-height:38px;padding:6px 14px;margin:0;width:auto}
#app .person .check{margin:0}
details{padding:0}
#daily summary,summary{min-height:44px;gap:8px}
#daily details p{margin:2px 0 6px 0;font-size:14px}

/* Steps on planner screens, reassurance, share tools. */
#view>.steps+.step-label{margin-bottom:10px}
.reassure{display:flex;gap:10px;align-items:flex-start;margin:4px 0 0;padding:12px 14px;border-radius:12px;background:light-dark(#eef2f6,#0d2236);font-size:15px;line-height:1.45}
.reassure svg{flex:0 0 22px;width:22px;height:22px;color:#0080c6;margin-top:1px}
.sel-name{margin:6px 0 0;font-size:20px;font-weight:700;letter-spacing:-.3px}
.invitation textarea{min-height:150px;field-sizing:content}
.share-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
#app .share-row button{width:100%;margin:0}
.qr-panel{margin-top:14px;padding:16px;border-radius:14px;background:#ffffff;color:#002244;text-align:center}
.qr-panel .qr{width:min(220px,70%);height:auto;display:block;margin:0 auto}
.qr-panel p{margin:8px 0 0;font-size:14px}.qr-panel .qr-link{font-size:12px;color:#545454;overflow-wrap:anywhere}
.reassure{margin:14px 0 4px}

/* Oct 2: flow header (back + progress in one row) for step-by-step screens. */
#app #view .flow{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:14px;row-gap:4px;align-items:center;margin:6px 0 14px}
#app #view .flow .flow-back{padding:0;margin:0;min-height:40px;width:40px;grid-row:1/3;align-self:center}
#app #view .flow .flow-back .back-chevron{width:40px;height:40px;flex-basis:40px}
.flow-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px}
.flow-track span{height:6px;border-radius:3px;background:light-dark(#d9e0e7,#2a3a4a);overflow:hidden;position:relative}
.flow-track span.on{background:#0080c6}
.flow-track span.now{animation:seg-fill .5s ease-out both}
@keyframes seg-fill{from{background:light-dark(#d9e0e7,#2a3a4a)}to{background:#0080c6}}
@media (prefers-reduced-motion:reduce){.flow-track span.now{animation:none}}
.flow-label{grid-column:2;margin:0;font-size:13px;color:light-dark(#545454,#a6a6a6)}
.flow-label b{color:light-dark(#002244,#ffffff);font-weight:600}
#app #view .flow.s2{display:none}
#view:has(#reviewpanel:not([hidden]))>.flow.s2{display:grid}
#view:has(#reviewpanel:not([hidden]))>:is(.decline-row){display:none}
/* Group link card. */
.group-link{border:2px solid #0080c6;border-radius:18px;padding:18px;margin:4px 0 18px;background:light-dark(#f4f8fc,#002244)}
.group-link.off{border-color:light-dark(#a6a6a6,#545454);opacity:.85}
.gl-head{display:flex;justify-content:space-between;align-items:center}
.gl-title{font-size:20px;font-weight:750;letter-spacing:-.3px}
.gl-state{font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:3px 10px;border-radius:12px;background:#0080c6;color:#ffffff}
.group-link.off .gl-state{background:#545454}
.gl-url{margin:10px 0 4px;font-size:15px;color:light-dark(#545454,#a6a6a6);overflow-wrap:anywhere}
#app .group-link .primary{margin:10px 0 0}
.gl-settings,.add-direct{margin:14px 0 0;border:0}
.gl-settings summary,.add-direct summary{display:flex;min-height:44px;color:light-dark(#0080c6,#6fb6e6);font-weight:600;list-style:none}
.gl-settings summary::-webkit-details-marker,.add-direct summary::-webkit-details-marker{display:none}
.gl-settings summary::after,.add-direct summary::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:0 0 4px 10px;align-self:center}
details[open]>summary::after{transform:rotate(-135deg);margin-top:6px}
.add-direct{padding:4px 0 10px;border-top:1px solid #545454;border-bottom:1px solid #545454}
.switch{display:flex!important;align-items:center;gap:12px;margin:8px 0 12px}
.switch input{appearance:none;-webkit-appearance:none;width:50px!important;min-width:50px;height:30px;min-height:30px;border-radius:15px;background:#545454;border:0;position:relative;cursor:pointer;padding:0;transition:background .2s}
.switch input::after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#ffffff;transition:transform .2s}
.switch input:checked{background:#0080c6}.switch input:checked::after{transform:translateX(20px)}
.test-btn{width:100%;margin-top:12px;border-style:dashed!important;background:transparent!important;font-size:15px!important}
.list-h{margin:22px 0 4px}
.card-count{margin:0 0 4px;font-size:15px}.card-count b{font-size:22px;color:#0080c6;margin-right:4px}
.match{margin:8px 0;padding:12px 14px;border-radius:12px;background:light-dark(#fdf1f1,#2a1416);border:1px solid #e6b8b7}
.match p{margin:0 0 8px}
.save-link{margin:16px 0;padding:14px;border-radius:14px;border:1px solid light-dark(#a6a6a6,#545454)}
.save-link p{margin:0 0 10px}

.join-intro{margin:14px 0 6px;font-size:16px;line-height:1.5}.join-intro b{display:block;margin-bottom:4px;font-size:17px}
.join-note{margin:0 0 14px;font-size:14px}

.gl-sub{margin:8px 0 0;font-size:15px;line-height:1.45}
.gl-url{margin-top:6px}

.add-help{margin:0 0 10px;font-size:14px}
.add-name{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
#app .add-name button{margin:0;min-height:44px;padding:8px 18px}
.row-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
#app .person .remove{min-height:36px;width:36px;padding:0;border-radius:50%;font-size:20px;line-height:1;background:transparent;color:light-dark(#545454,#a6a6a6)}

#app .person .send-link{display:inline-flex;align-items:center;min-height:36px;padding:6px 12px;border-radius:10px;background:#0080c6;color:#ffffff;font-size:14px;font-weight:600;text-decoration:none;white-space:nowrap}
.add-direct form{margin-top:4px}

/* Oct 2: GoGreg rename. */
.rally-wordmark .wm-greg{font-size:inherit;letter-spacing:inherit;color:light-dark(#002244,#ffffff)}
.crunch{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:600;margin:18px 0}
.crunch-dot{width:12px;height:12px;border-radius:50%;background:#0080c6;animation:crunch .8s ease-in-out infinite alternate}
@keyframes crunch{from{transform:scale(.6);opacity:.5}to{transform:scale(1.15);opacity:1}}
@media (prefers-reduced-motion:reduce){.crunch-dot{animation:none}}

/* Oct 2: GoGreg bullseye logo. */
.rally-wordmark{gap:0}.rally-wordmark .wm-icon{width:34px;height:34px;flex:0 0 34px;margin-right:9px;align-self:center}
.rally-wordmark>span:not(.wm-greg){font-size:inherit;letter-spacing:inherit;color:#0080c6}
.launch-arrow .hero-mark{width:100%;height:100%;display:block}

/* Oct 3: GoGreg "go button" wordmark (option C). */
.rally-wordmark{display:inline-flex;align-items:center;gap:0;font-size:31px;font-weight:800;letter-spacing:-1.3px;line-height:1;white-space:nowrap}
.rally-wordmark .wm-icon{display:none}
.rally-wordmark>span.wm-go{font-size:inherit;letter-spacing:-.6px;color:#ffffff;background:#0080c6;border-radius:.26em;padding:.02em .2em .12em .17em;margin-right:.08em;box-shadow:inset 0 -.08em 0 rgba(0,22,51,.32);line-height:1.02}
.rally-wordmark .wm-greg{font-size:inherit;letter-spacing:inherit;color:light-dark(#002244,#ffffff)}
@media(max-width:390px){.rally-wordmark{font-size:28px}}

/* Oct 3: blend, the go button with a target "o". */
.rally-wordmark>span.wm-go{padding:.02em .16em .12em .15em}
.rally-wordmark .wm-o{width:.56em;height:.56em;vertical-align:baseline;margin-left:.025em;display:inline-block}

/* Oct 3: match the canvas blend exactly (Sora 800, canvas proportions). */
.rally-wordmark{font-family:Sora,system-ui,sans-serif;font-size:28px;font-weight:800;letter-spacing:-.045em;line-height:1;gap:0}
.rally-wordmark>span.wm-go{font-size:inherit;letter-spacing:inherit;line-height:1;background:#0080c6;color:#ffffff;border-radius:.22em;padding:.02em .14em .1em;margin-right:.06em;box-shadow:none}
.rally-wordmark .wm-o{width:.56em;height:.56em;vertical-align:baseline;margin:0 0 0 .02em}
.rally-wordmark .wm-greg{font-size:inherit;letter-spacing:inherit}
@media(max-width:390px){.rally-wordmark{font-size:27px}}

/* Oct 3: keep the go box inline (like the canvas) so it gets the font's full height. */
.rally-wordmark{display:inline-block;white-space:nowrap;line-height:1;vertical-align:middle}
.rally-wordmark>span.wm-go{display:inline;line-height:inherit}
.rally-wordmark>span.wm-greg{display:inline}

/* Oct 3: give the logo presence in the app header. */
#app>header{border-bottom:1px solid light-dark(#e1e7ee,#1c2733);padding:4px 0 18px;margin-bottom:6px;display:flex;align-items:center;justify-content:space-between}
.rally-wordmark{font-size:36px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
@media(max-width:359px){.rally-wordmark{font-size:32px}}
.home-intro h2{font-family:Sora,system-ui,sans-serif;font-weight:800;letter-spacing:-.035em;-webkit-font-smoothing:antialiased}

/* Oct 3: home screen polish. Brand font on headings, pill buttons, one main action per plan. */
#app h1,#app h2{font-family:Sora,system-ui,sans-serif;font-weight:800;letter-spacing:-.03em;-webkit-font-smoothing:antialiased}
#app #rally h2,#app #rally h3{letter-spacing:-.02em}
.home-intro #create{border-radius:999px;min-height:48px;font-size:16px;font-weight:600;letter-spacing:-.1px}
.event-card .card-name{font-size:25px;line-height:1.15;margin:0 0 6px}
#app .event-card>button.primary{border-radius:999px;min-height:48px;font-size:16px;font-weight:600;margin-top:16px}
.event-card .card-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:8px;margin-top:8px}
#app .event-card .card-actions button{margin:0;min-height:48px;padding:0 4px;border-radius:999px;font-size:14.5px;letter-spacing:-.1px;font-weight:600;background:transparent;color:inherit;border:1.5px solid light-dark(#c3cfdc,#2f4d6d);white-space:nowrap}
#app .event-card .card-actions button:hover{border-color:#0080c6;color:light-dark(#0071b3,#ffffff)}

/* Oct 3: invite link card clarity. */
.group-link.off .gl-state{background:#e6b8b7;color:#002244}
.group-link .gl-paused{margin:8px 0 4px;padding:10px 12px;border-radius:12px;background:light-dark(#fbeeee,#2a1d26);color:light-dark(#7a1f1f,#f2d0cf);font-size:15px;line-height:1.4}
.gl-settings .setting-help{margin:-4px 0 12px;font-size:14px;line-height:1.4;color:light-dark(#545454,#a6a6a6)}
.gl-settings #gl-reset+.setting-help{margin:8px 0 4px}
#app h2.list-h,#app h3{letter-spacing:0}

/* Oct 3: type scale (ratio ~1.2): 14 small, 16 body, 20 section, 24 card/date titles, 28 page titles and hero, 34 logo. */
.rally-wordmark{font-size:34px}
#app h1{font-size:28px;line-height:1.15}
.home-intro h2{font-size:28px!important;line-height:1.12}
.home-intro.compact h2{font-size:24px!important}
.event-card .card-name{font-size:24px}
#app h2.date-display{font-size:24px;line-height:1.15}
#app h2.list-h{font-size:20px}
#app .flow-label{font-size:14px}
#app button{font-weight:600}
#app label{font-weight:600;font-size:15px}
#app label .muted{font-weight:400}
#app input,#app select,#app textarea{font-size:16px;font-weight:400}
@media(min-width:700px){#app{padding-top:48px}}
.gl-settings summary:focus{outline:none}.gl-settings summary:focus-visible{outline:2px solid #2b9be0;outline-offset:4px;border-radius:8px}

/* Oct 4: wordmark drawn as one shape; box spans the top of the G to the bottom of the g so it reads as one word. */
.rally-wordmark{display:inline-block;line-height:0;color:light-dark(#002244,#ffffff)}
.rally-wordmark .wm-svg{display:block;height:42px;width:auto}
@media(max-width:359px){.rally-wordmark .wm-svg{height:38px}}
.share-row.one{grid-template-columns:1fr}
.gl-url{user-select:all;-webkit-user-select:all;word-break:break-all}
#app .gl-settings #gl-reset{display:block;width:100%}

/* Oct 4: roster cleanup, tap-to-copy link, copy QR. */
.roster-head{display:flex;justify-content:space-between;align-items:center;padding:8px 0 6px;border-bottom:1px solid light-dark(#d5dde6,#2a3644);font-size:13px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:light-dark(#545454,#a6a6a6)}
.roster-head span:last-child{min-width:44px;text-align:center}
.core-cell{display:grid;place-items:center;width:44px;height:44px;margin:0;cursor:pointer}
input.core-box{appearance:none;-webkit-appearance:none;width:26px;height:26px;margin:0;border-radius:8px;border:2px solid light-dark(#9fb0c2,#4a6585);background:transparent;display:grid;place-items:center;cursor:pointer}
input.core-box:checked{background:#e6b8b7;border-color:#e6b8b7}
input.core-box:checked::after{content:"";width:11px;height:6px;border:solid #002244;border-width:0 0 3px 3px;transform:translateY(-2px) rotate(-45deg)}
input.core-box:focus-visible{outline:2px solid #2b9be0;outline-offset:3px}
#app .person .remove-pill{min-height:40px;padding:0 16px;border-radius:999px;font-size:14px;font-weight:600;background:transparent;color:light-dark(#ab0003,#f2a5a4);border:1.5px solid light-dark(#e3b3b3,#6b3a44)}
.person.confirm{display:block;padding:12px 0}
.person.confirm .confirm-q{margin:0 0 10px;font-size:15px}
#app .person.confirm .two button{width:100%;min-height:44px}
#app .manage-btn{display:block;width:100%;margin-top:10px}
#app .gl-url{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;margin:10px 0 6px;padding:10px 12px;min-height:0;border-radius:12px;border:1.5px dashed light-dark(#c3cfdc,#2f4d6d);background:transparent;color:light-dark(#002244,#ffffff);font-size:15px;font-weight:500;text-align:left;user-select:text;-webkit-user-select:text}
#app .gl-url span{word-break:break-all}
#app .gl-url small{font-size:13px;font-weight:600;color:light-dark(#0071b3,#6fb6e6)}
#app .qr-panel #gl-qr-copy{margin-top:12px;width:100%;background:#002244;color:#ffffff;border:0}
#app input.core-box{width:26px;height:26px;min-height:0;min-width:0;padding:0;flex:none}
#app .person.confirm .do-remove{background:#ab0003;border-color:#ab0003;color:#ffffff}
#app .person.confirm .cancel{background:transparent;color:inherit;border:1.5px solid light-dark(#c3cfdc,#2f4d6d)}

/* Oct 4: plain link text; small text-style toggle for removing people. */
#app p.gl-url{display:block;margin:10px 0 6px;padding:0;border:0;font-size:15px;font-weight:500;color:light-dark(#545454,#a6a6a6);user-select:all;-webkit-user-select:all;word-break:break-all}
#app .manage-link{display:block;width:auto;min-height:44px;margin:6px auto 0;padding:0 8px;background:transparent;border:0;color:light-dark(#0071b3,#6fb6e6);font-size:15px;font-weight:600;text-decoration:underline;text-underline-offset:4px}

/* Oct 4: removal uses the palette's rose, not a new red. */
#app .person .remove-pill{color:light-dark(#002244,#e6b8b7);border-color:#e6b8b7}
#app .person.confirm .do-remove{background:#e6b8b7;border-color:#e6b8b7;color:#002244}
#app .manage-btn{display:block;width:100%;margin-top:10px;text-decoration:none}

/* Oct 4: swipe left to remove (touch screens). */
.person.swipe{display:block;position:relative;overflow:hidden;padding:0}
.person.swipe .row-main{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:6px 0;background:light-dark(#ffffff,#000000);touch-action:pan-y}
#app .person.swipe .swipe-action{position:absolute;top:0;right:0;bottom:0;width:96px;margin:0;min-height:0;border:0;border-radius:0;background:#e6b8b7;color:#002244;font-weight:700}
.swipe-hint{margin:8px 0 0;font-size:14px;text-align:center}
.fact-symbol.tie{background:#e6b8b7;color:#002244;font-weight:800}
.facts li:has(.muted-tie) span:last-child{color:light-dark(#545454,#a6a6a6)}

/* Oct 4: snappier fit display. */
.fit-display{gap:16px}
.fit-ring>span b{font-family:Sora,system-ui,sans-serif;font-size:24px;letter-spacing:-.03em;line-height:1}
.fit-ring>span small{font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:light-dark(#545454,#a6a6a6);margin-top:2px}
.fit-caption{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.fit-verdict{font-family:Sora,system-ui,sans-serif;font-weight:800;font-size:20px;letter-spacing:-.02em;line-height:1.1;color:light-dark(#002244,#ffffff)}
.fit-rank{font-size:13px}
.invitation .msg-help{margin:-4px 0 10px;font-size:14px}
header .rally-wordmark{cursor:pointer}
#app .date-display{font-family:Sora,system-ui,sans-serif;font-weight:800;letter-spacing:-.02em}

/* Oct 4 (rev): quieter, modern fit caption. */
.fit-label{font-size:12px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:light-dark(#545454,#a6a6a6)}
.fit-ring>span small{font-size:12px;font-weight:600;letter-spacing:0;text-transform:none}
/* Decided screen: message as a chat bubble, clear finish. */
.invitation h3{margin:0 0 10px}
.bubble-wrap{position:relative;margin:0 0 14px}
#app textarea.bubble{display:block;width:100%;min-height:0;resize:none;overflow:hidden;padding:14px 16px 26px;border:0;border-radius:20px 20px 6px 20px;background:#0080c6;color:#ffffff;font-size:16px;line-height:1.45;box-shadow:0 1px 0 rgba(0,0,0,.15)}
#app textarea.bubble:focus{outline:2px solid #e6b8b7;outline-offset:2px}
.bubble-hint{position:absolute;right:14px;bottom:8px;font-size:12px;font-weight:600;color:rgba(255,255,255,.75);pointer-events:none}
.finish{margin:22px 0 4px;padding-top:18px;border-top:1px solid light-dark(#d5dde6,#2a3644);text-align:center}
.finish-note{margin:0 0 12px;font-size:15px;color:light-dark(#545454,#c9d6e3)}
.finish-note b{color:light-dark(#002244,#ffffff)}
#app .finish-btn{width:100%;background:#e6b8b7;color:#002244;border:0}
#app button.quiet{background:transparent;border:0;color:light-dark(#545454,#a6a6a6);font-weight:600;margin-top:4px}
#app #reopen{margin-top:10px}

/* Oct 4: light grey message bubble, label row in the app's small-caps style, rose Top choice. */
#app textarea.bubble{background:#e9edf2;color:#002244;border-radius:20px 20px 20px 6px}
#app textarea.bubble:focus{outline:2px solid #0080c6}
.bubble-hint{color:#5b6b7c}
.msg-head{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 10px;font-size:12px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:light-dark(#545454,#a6a6a6)}
.msg-head span:last-child{font-weight:600;letter-spacing:.4px;text-transform:none;font-size:13px}
#app .fit-rank.fit-leader{background:#e6b8b7;color:#002244;border-color:#e6b8b7}
#app .top-option{border-color:#e6b8b7}
#app textarea.bubble{padding-bottom:14px}
#app textarea.bubble{background:light-dark(#e8eef6,#163a63);color:light-dark(#002244,#ffffff)}

/* Oct 4: trip length what-if. */
.len-what-if{margin:4px 0 18px}
.len-head{display:flex;justify-content:space-between;margin:0 0 8px;font-size:12px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:light-dark(#545454,#a6a6a6)}
.len-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:6px}
#app .len-opt{display:flex;flex-direction:column;align-items:center;gap:2px;margin:0;min-height:56px;padding:8px 2px;border-radius:14px;background:transparent;color:inherit;border:1.5px solid light-dark(#c3cfdc,#2f4d6d)}
#app .len-opt b{font-size:14px;font-weight:600}
#app .len-opt small{font-family:Sora,system-ui,sans-serif;font-size:18px;font-weight:800;color:light-dark(#0071b3,#6fb6e6)}
#app .len-opt.cur{border-color:light-dark(#002244,#c9d6e3)}
#app .len-opt.on{background:#e6b8b7;border-color:#e6b8b7;color:#002244}
#app .len-opt.on small{color:#002244}
.len-preview{margin-top:12px;padding:14px;border-radius:16px;background:light-dark(#e8eef6,#163a63)}
.len-preview p{margin:0 0 12px;font-size:15px}
#app .len-preview .two button{width:100%;margin:0}
article.preview{opacity:.92}
#app #demo-reset{display:block;width:100%;margin-top:12px}
#app #demo-reset{color:light-dark(#002244,#ffffff);font-size:16px}
.score-explain{margin:-4px 0 16px;font-size:14px;line-height:1.45;color:light-dark(#545454,#a6a6a6)}.score-explain b{color:light-dark(#002244,#ffffff);font-weight:600}
.fit-label,.len-head .brandcase{text-transform:none;letter-spacing:.2px;font-size:13px}
.fit-label{text-transform:uppercase;letter-spacing:1.4px;font-size:12px}

/* Oct 4: tighter fact list; centered three-dot "waiting" icon. */
#app ul.facts{display:grid;gap:8px;margin:12px 0 16px;padding:0;list-style:none}
#app ul.facts li{margin:0;align-items:center;line-height:1.35}
.fact-symbol.waiting{position:relative;font-size:0}
.fact-symbol.waiting::before{content:"";width:4px;height:4px;border-radius:50%;background:#ffffff;box-shadow:-6px 0 0 #ffffff,6px 0 0 #ffffff}

/* Oct 4: varied fact icon colors from the palette; rose kept for small accents only. */
.fact-symbol.core-ok{background:light-dark(#002244,#ffffff);color:light-dark(#ffffff,#002244)}
.fact-symbol.positive{background:#0080c6;color:#ffffff}
.fact-symbol.conflict{background:#ab0003;color:#ffffff}
.fact-symbol.conflict::before,.fact-symbol.conflict::after{background:#ffffff!important;border-color:#ffffff!important}
.fact-symbol.best{background:#6fb6e6;color:#002244}
.fact-symbol.pending{background:#737373;color:#ffffff}
.fact-symbol.waiting{background:transparent;box-shadow:inset 0 0 0 2px #737373}
.fact-symbol.waiting::before{background:light-dark(#545454,#c9d6e3);box-shadow:-6px 0 0 light-dark(#545454,#c9d6e3),6px 0 0 light-dark(#545454,#c9d6e3)}
.fact-symbol.tie{background:light-dark(#e3e8ee,#2a4a6e);color:light-dark(#002244,#ffffff)}
/* Top choice and selections back to blue. */
#app .fit-rank.fit-leader{background:#0080c6;color:#ffffff;border-color:#0080c6}
#app .top-option{border-color:#0080c6}
#app .len-opt.on{background:#0080c6;border-color:#0080c6;color:#ffffff}
#app .len-opt.on small{color:#ffffff}
.card-status{margin:4px 0 0;font-size:15px}

/* ===== Oct 4 audit: one button system ===== */
/* Action buttons: pill shape, 48px tall, semibold. Primary = blue, secondary = outlined, accent = rose (Finish only). */
#app button.primary,#app #save-later,#app .card-actions button,#app .share-row button,#app #reopen,#app .finish-btn,#app .manage-btn,#app #more,#app .len-preview button,#app #gl-reset,#app #gl-qr-copy,#app #demo-reset,#app .past-link,#app .danger,#app #cancel-delete,#app #confirm-delete,#app .two button,#app form button,#app .test-btn,#app .person.confirm button,#app #share-native,#app #choose{border-radius:999px;min-height:48px;font-weight:600;font-size:16px}
#app button.primary,#app #share-native,#app #choose{background:#0080c6;border:1.5px solid #0080c6;color:#ffffff}
#app button.primary:disabled{opacity:.45}
#app #save-later:not(.primary),#app .card-actions button,#app .share-row button,#app #reopen,#app .manage-btn,#app #more,#app #gl-reset,#app #demo-reset,#app .past-link,#app #cancel-delete,#app .len-preview #len-cancel,#app .person.confirm .cancel,#app form button:not(.primary),#app .two button:not(.primary):not(.do-remove){background:transparent;border:1.5px solid light-dark(#c3cfdc,#2f4d6d);color:light-dark(#002244,#ffffff)}
#app .qr-panel #gl-qr-copy{background:#002244;border:0;color:#ffffff}
#app .danger,#app #confirm-delete{background:transparent;border:1.5px solid #e6b8b7;color:light-dark(#ab0003,#e6b8b7)}
#app .finish-btn{background:#e6b8b7;border:1.5px solid #e6b8b7;color:#002244}
#app .test-btn{border:1.5px dashed light-dark(#9fb0c2,#4a6585);background:transparent;color:inherit}
#app .past-link{display:block;width:100%;margin:18px 0 0;text-decoration:none}
/* Small row buttons in lists (Edit dates, Enter dates, Rejoin). */
#app .person>button,#app .person .row-main>button{border-radius:999px;min-height:40px;padding:0 16px;font-size:15px;font-weight:600;background:transparent;border:1.5px solid light-dark(#c3cfdc,#2f4d6d);color:light-dark(#002244,#ffffff)}
/* Calendar tools and quick fill: rounded tiles, outlined until chosen. */
#app #rally #tools button,#app #rally .quick-fill .row button{border-radius:12px;font-weight:600;background:transparent;border:1.5px solid light-dark(#c3cfdc,#2f4d6d);color:light-dark(#002244,#ffffff)}
#app #rally #tools button[data-tool=a][aria-pressed=true]{background:#002244;border-color:light-dark(#002244,#0080c6);color:#ffffff}
#app #rally #tools button[data-tool=p][aria-pressed=true]{background:#0080c6;border-color:#0080c6;color:#ffffff}
#app #rally #tools button[data-tool=u][aria-pressed=true]{background:#ab0003;border-color:#ab0003;color:#ffffff}
#app #rally #tools button[data-tool=n][aria-pressed=true]{background:#737373;border-color:#737373;color:#ffffff}
#app #rally #tools button:disabled{opacity:.4}
/* Unavailable days: quieter than solid rose. */
#app #rally .day[data-s=u]{background:light-dark(#f6e6e6,#2e1a22);color:light-dark(#ab0003,#f2a5a4);border-color:light-dark(#e9c9c9,#4a2a35)}
/* Core tag in lists (replaces the pink check square). */
.core-tag{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;border:1px solid light-dark(#002244,#c9d6e3);font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;line-height:1.5;vertical-align:1px}
/* Headings: Sora everywhere a heading appears. */
#app h3,#app .sel-name{font-family:Sora,system-ui,sans-serif;font-weight:800;letter-spacing:-.02em}
#app .sel-name{font-size:20px;margin:0 0 2px}
.msg-head span{text-transform:uppercase;letter-spacing:1.4px;font-size:12px}
footer{font-size:13px}

#app #rally .primary,#app #rally button.primary{font-weight:600;border-radius:999px}
#app #rally .calendar-tools .row button{border-radius:12px;font-weight:600;background:transparent;border:1.5px solid light-dark(#c3cfdc,#2f4d6d);color:light-dark(#002244,#ffffff)}
#app #rally .calendar-tools .row button:disabled{opacity:.4}
#app .msg-head span:first-child{text-transform:uppercase;letter-spacing:1.4px;font-size:12px;font-weight:700}
#app .field-help{margin:-6px 0 12px;font-size:14px}#app details.adv{margin:4px 0 8px}#app details.adv label{margin-top:4px}
/* Oct 4: soft shine across the home call to action. */
#app .home-intro #create{position:relative;overflow:hidden;isolation:isolate}
#app .home-intro #create::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:45%;background:linear-gradient(100deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.38) 50%,rgba(255,255,255,0) 100%);transform:skewX(-20deg);pointer-events:none;animation:cta-shine 1.1s ease-in-out 1.6s 1 both}
@media(hover:hover){#app .home-intro #create:hover::after{animation:cta-shine-hover .9s ease-in-out 0s 1 both}}
@keyframes cta-shine{from{left:-60%}to{left:130%}}@keyframes cta-shine-hover{from{left:-60%}to{left:130%}}
@media (prefers-reduced-motion:reduce){#app .home-intro #create::after{animation:none;display:none}}
#app label.ack{display:flex;align-items:center;gap:12px;margin:14px 0;font-weight:600;font-size:15px}
/* iOS date field fix: Safari gives native date inputs a fixed intrinsic width that ignores width:100% */
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.two>label{min-width:0;margin:12px 0}
input[type=date]{-webkit-appearance:none;appearance:none;display:block;width:100%;min-width:0;max-width:100%;font-size:16px;text-align:left}
input[type=date]::-webkit-date-and-time-value{text-align:left;margin:0}
input[type=date]::-webkit-calendar-picker-indicator{margin:0}
@media (max-width:360px){.two{grid-template-columns:minmax(0,1fr)}}

/* Oct 5: join page and response page buttons match the pill system. */
#app #not-me,#app .match button,#app .save-link button,#app button#edit,#app #retry,#app #latest,#app #decline{display:block;width:100%;min-height:48px;margin:10px 0 0;border-radius:999px;font-size:16px;font-weight:600;background:transparent;border:1.5px solid light-dark(#c3cfdc,#2f4d6d);color:light-dark(#002244,#ffffff)}
#app .match .share-row{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}#app .match .share-row button{margin:0}
#app #decline{color:light-dark(#ab0003,#e6b8b7);border-color:#e6b8b7;width:auto;padding:0 18px}
#app #welcome .join-intro b{display:block}

/* Oct 6: two-step calendar headings. */
#app #rally .step-tag{display:block;margin:0 0 2px;font-family:system-ui,sans-serif;font-size:12px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:light-dark(#0071b3,#6fb6e6)}
#app #rally .fine-title{font-size:18px;line-height:1.3;margin:4px 0 2px}
#app #rally .fine-title+.note{margin-top:2px}
#app #rally #tools button[aria-pressed=true]{border-width:2px}

/* Oct 6: a finished screen that feels finished. */
#done{text-align:center;padding-top:8px}
#done .done-mark{display:grid;place-items:center;width:72px;height:72px;margin:8px auto 14px;border-radius:50%;background:#0080c6;color:#ffffff}
#done .done-mark svg{width:38px;height:38px}
#done .done-mark.out{background:light-dark(#e3e8ee,#2a3a4a);color:light-dark(#545454,#c9d6e3)}
#done h2{margin:0 0 8px;font-size:28px}
#done #completion-note{margin:0 auto 14px;max-width:320px;font-size:17px;line-height:1.45}
#done .done-summary{display:inline-block;margin:0 0 18px;padding:6px 14px;border-radius:999px;background:light-dark(#e8eef6,#13304d);font-size:15px;font-weight:600}
#done .done-summary[hidden]{display:none}
#done .done-close{margin:0 auto 26px;max-width:300px;font-size:15px;color:light-dark(#545454,#a6a6a6)}
#done .done-later{text-align:left;border-top:1px solid light-dark(#d5dde6,#2a3644);padding-top:18px}
#done .done-later h3{margin:0 0 4px;font-size:17px}
#done .done-later p{margin:0 0 4px}
#app #done button.text-link{display:block;width:auto;min-height:44px;margin:12px 0 0;padding:0;background:transparent;border:0;border-radius:0;color:light-dark(#0071b3,#6fb6e6);font-size:15px;font-weight:600;text-decoration:underline;text-underline-offset:4px;text-align:left}
#done .save-help{font-size:13px;margin:0}
