:root{--together-sage:#e7eee5;--together-green:#42644c;--together-warm:#f2e9db;--together-lilac:#eee6f4}
.companion-avatar>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 36%;border-radius:50%}
.demo-badge{display:inline-flex;align-items:center;white-space:nowrap;border:1px solid #c9bcda;border-radius:20px;padding:5px 9px;font-size:10px;color:#6d597f;font-weight:500;line-height:1.4}
.demo-notice{display:flex;align-items:center;gap:15px;padding:14px 18px;border:1px dashed var(--line);border-radius:14px;margin:0 0 22px}.demo-notice p{font-size:12px;color:var(--muted);margin:0;max-width:760px}
.together-view-tabs{margin-bottom:25px}.together-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:28px;align-items:start}.together-layout>div{min-width:0}.together-layout .stack{gap:27px}
.companion-card{background:var(--together-sage);border:0;padding:30px}.companion-top{display:flex;gap:15px;align-items:center}.companion-top>div{flex:1;min-width:0}.companion-top h2{font-size:31px;margin:0}.companion-top p{font-size:12px;color:#5f7162;margin:4px 0 0}.companion-top .text-button{color:#42644c}
.companion-avatar{width:57px;height:57px;border-radius:50%;background:#d6c4e5;color:#554465;font-family:Outfit,sans-serif;font-size:28px;display:grid;place-items:center;position:relative;flex:none}.companion-avatar>span{position:absolute;bottom:-3px;right:-4px;width:23px;height:23px;background:var(--panel);color:#658266;font-size:22px;border-radius:50%;display:grid;place-items:center;line-height:1}
.companion-weather{display:flex;gap:17px;align-items:center;background:#fffefa99;border-radius:18px;padding:20px 15px;margin-top:25px}.weather-medallion{width:85px;height:85px;border-radius:50%;display:grid;place-items:center;background:#eee5f5;flex:none}.weather-medallion svg{width:75px;height:70px}.companion-weather h3{font-size:23px;font-weight:500;letter-spacing:-.4px;margin:5px 0 4px}.companion-weather p{font-size:13px;color:#5f7162;margin:0 0 7px}.companion-weather small{font-size:11px;color:var(--muted)}
.soft-label{font-size:11px;color:var(--muted);line-height:1.6}.gentle-caption{font-size:13px;color:#5f7162;margin:17px 0 22px}.companion-card>.button{display:flex;width:100%;margin-top:10px;background:#42644c;color:#fffefa}.companion-card>.button.ghost{background:transparent;color:#36563e;border-color:#9db49f}.demo-fineprint{font-size:11px;line-height:1.7;color:#647267;margin:19px 0 0}
.companion-mini{display:flex;gap:15px;align-items:center;margin:0 0 27px;padding:18px 22px;background:var(--together-sage);border-radius:20px}.companion-mini .companion-avatar{width:43px;height:43px;font-size:23px}.companion-mini .companion-avatar>span{width:18px;height:18px;font-size:17px}.companion-mini-copy{flex:1;min-width:0}.companion-label{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.companion-label strong{font-size:14px;font-weight:600}.companion-mini p{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:12px;margin:4px 0 0;color:#56705d;line-height:1.6}.companion-mini p>span:last-child{font-size:11px}.mini-weather{display:inline-flex;align-items:center}.mini-weather svg{width:27px;height:27px}.companion-mini .button.secondary{background:#fffefa;color:#42644c;font-size:12px;min-height:43px;padding:10px 17px}.companion-mini h2{font-size:18px}.companion-flower{font-size:40px;color:#7b6a92}.mini-together-link{font-size:22px}.disconnected>div{flex:1}
.privacy-option{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:17px 0;border-bottom:1px solid var(--line);margin:0;color:var(--ink)}.privacy-option>span{min-width:0}.privacy-option strong{display:block;font-size:14px;font-weight:500}.privacy-option small{display:block;font-size:11px;line-height:1.7;color:var(--muted);margin-top:4px}.privacy-option input{flex:none;width:23px;height:23px;min-height:23px;accent-color:var(--together-green)}
input.privacy-switch{appearance:none;-webkit-appearance:none;width:43px;height:26px;min-height:26px;border:1px solid #b5b3bd;border-radius:30px;padding:0;position:relative;background:#e2dfe6;cursor:pointer;flex:none;transition:background .15s}
input.privacy-switch:before{content:'';width:18px;height:18px;border-radius:50%;background:#fff;position:absolute;left:3px;top:3px;box-shadow:0 1px 3px #0002;transition:transform .15s}
input.privacy-switch:checked{background:var(--together-green);border-color:var(--together-green)}input.privacy-switch:checked:before{transform:translateX(17px)}
.privacy-switch:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.privacy-lock{font-size:27px;color:#8a779c}.privacy-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:21px}.privacy-actions .button{font-size:12px;padding:11px 15px}.privacy-note{font-size:11px;line-height:1.8;color:var(--muted);margin:18px 0 0}.paused-banner{padding:12px 15px;background:var(--together-warm);border-radius:10px;font-size:12px;line-height:1.7;color:#705b3c}
.sharing-entries h2{font-size:22px}.soft-empty p{font-size:14px;color:var(--muted);line-height:1.8}.soft-empty .button{margin-top:10px}.preview-entry{padding:17px 0;border-bottom:1px solid var(--line)}.preview-weather{display:flex;align-items:center;gap:10px;margin-top:10px}.preview-weather svg{width:50px;height:45px}.preview-entry p{font-size:13px;margin:7px 0}.preview-card h3{font-size:18px;font-weight:500}.preview-plan{padding:17px 0;border-bottom:1px solid var(--line)}.preview-plan strong{font-size:14px;display:block}.preview-plan small{display:block;font-size:12px;color:var(--muted);margin-top:6px}.preview-plan p{font-size:13px;color:var(--muted);margin:7px 0 0}
.notes-card h2{font-size:23px;max-width:270px}.notes-card .sub{margin-bottom:10px}.notes-feed{max-height:730px;overflow:auto;scrollbar-width:thin}.kind-note{padding:21px 0;border-bottom:1px solid var(--line)}.kind-note:last-child{border-bottom:0;padding-bottom:0}.note-meta{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:10px;line-height:1.7}.note-quote{font-family:Outfit,sans-serif;font-size:21px;line-height:1.6;font-weight:400;margin:15px 0 18px;overflow-wrap:anywhere}.kind-note>p:not(.note-quote){font-size:14px;line-height:1.8;overflow-wrap:anywhere}.reaction-row{display:flex;flex-wrap:wrap;gap:7px}.reaction{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:24px;min-height:40px;padding:8px 13px;font-size:11px;background:var(--bg);color:var(--muted);line-height:1.6}.reaction.selected{border-color:var(--accent);background:var(--soft);color:var(--ink)}.outgoing-status{font-size:10px;line-height:1.8;color:var(--muted);display:block;margin-top:12px}.nudge-heading{display:flex;align-items:center;gap:12px;margin-top:15px}.nudge-heading>span{font-size:32px}.nudge-heading h3{font-size:21px;font-weight:500}.nudge-heading+.note-quote{font-size:17px;margin-top:8px}.today-note{margin-top:25px}.today-note .notes-card{background:var(--together-warm);border:0}.today-note .notes-card .card-head{margin:0}.today-note .notes-card h2{max-width:none}.today-note .notes-feed{max-height:none}.today-note .kind-note{padding-top:5px}.today-note .note-quote{max-width:800px}.today-note .notes-card>.sub{display:none}
.shared-plans>.section-heading{margin-bottom:17px}.shared-plans>.section-heading h2{max-width:250px;font-size:23px}.shared-plans>.section-heading .text-button{font-size:12px}.plan-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-bottom:12px}.plan-tabs button{padding:10px 7px;font-size:12px;min-width:0}.plan-tabs button span{font-size:10px;opacity:.75;margin-left:4px}.plan-sharing-status{font-size:11px;line-height:1.7;color:var(--muted);margin:0 0 17px}.shared-plan-list{display:grid;gap:14px}.shared-plan{padding:23px}.shared-plan-top{display:flex;gap:14px;align-items:center}.shared-plan-top>div{min-width:0}.plan-illustration{width:58px;height:60px;border-radius:15px;background:var(--together-sage);color:#657b5e;display:grid;place-items:center;font-size:34px;flex:none}.plan-tags{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:6px}.plan-tags .demo-badge{font-size:9px;padding:3px 7px}.shared-plan h3{font-size:22px;line-height:1.25;font-weight:500;overflow-wrap:anywhere;margin:0}.shared-plan>p{font-size:13px;color:var(--muted);line-height:1.8;margin:15px 0}.plan-interest{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.plan-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;border-top:1px solid var(--line);padding-top:17px;margin-top:17px}.plan-actions label{display:grid;gap:5px;margin:0;font-size:11px;flex:1;min-width:100px}.plan-actions select{font-size:13px;padding:9px 11px;min-height:42px}.plan-actions>.text-button{font-size:11px;min-height:42px}.together-footer{color:var(--muted);font-size:13px;text-align:center;max-width:480px;margin:35px auto 10px;line-height:1.8}
.dialog-demo{font-size:12px;color:var(--muted);line-height:1.8;margin:0 0 20px}.nudge-options{border:0;padding:0;margin:0 0 22px;display:grid;gap:9px}.nudge-options legend{font-size:13px;margin-bottom:13px;color:var(--muted)}.nudge-option{position:relative;display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:13px;padding:13px 12px;margin:0;background:var(--bg);cursor:pointer;color:var(--ink)}.nudge-option input{width:18px;height:18px;min-height:18px;accent-color:var(--accent);margin:0;flex:none}.nudge-symbol{font-size:29px;flex:none}.nudge-option strong{display:block;font-size:14px;font-weight:500}.nudge-option small{display:block;margin-top:4px;font-size:11px;color:var(--muted);line-height:1.5}.nudge-option:has(input:checked){border-color:var(--accent);background:var(--soft)}#demo-nudge .button,#demo-note .button,#demo-connection .button,#together-idea .button,#together-schedule .button{margin-top:20px;width:100%}.checkin-share{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:14px 0;padding:15px 0;border-top:1px solid #d5c8e3}.checkin-share>label{display:flex;align-items:center;gap:11px;margin:0;color:#594667;font-size:13px;cursor:pointer}.checkin-share input{width:21px;height:21px;min-height:21px;flex:none;accent-color:var(--together-green)}.checkin-share small{display:block;font-size:10px;margin-top:5px;line-height:1.6}.checkin-share .text-button{font-size:11px;white-space:nowrap}.checkin-share input:disabled{opacity:.4;cursor:default}button:disabled{opacity:.45;cursor:default}
.dark{--together-sage:#293b35;--together-green:#a8ceba;--together-warm:#34303a;--together-lilac:#3b354a}.dark .demo-badge{border-color:#695c7d;color:#d5c3e7}.dark .companion-card{background:#293b35}.dark .companion-top p,.dark .companion-top .text-button,.dark .gentle-caption,.dark .demo-fineprint,.dark .companion-mini p,.dark .companion-weather p{color:#bdcfc3}.dark .companion-avatar{background:#584865;color:#eee5f5}.dark .companion-avatar>span{background:#293b35;color:#d3e7cf}.dark .companion-weather{background:#1c2b2699}.dark .weather-medallion{background:#3b354a}.dark .companion-card>.button{background:#a8ceba;color:#21342a}.dark .companion-card>.button.ghost{background:transparent;color:#d0e5d8;border-color:#6f9480}.dark .companion-mini .button.secondary{background:#415a4b;color:#e2f1e8}.dark .paused-banner{background:#433c30;color:#ead2a7}.dark input.privacy-switch{background:#454b57;border-color:#727887}.dark input.privacy-switch:checked{background:#a8ceba;border-color:#a8ceba}.dark input.privacy-switch:checked:before{background:#254535}.dark .plan-illustration{background:#364b3f;color:#bdd5bb}.dark .reaction.selected{color:#eadff5;background:#4b405e}.dark .checkin-share{border-color:#494355}.dark .checkin-share>label{color:#c0bdce}.dark .nudge-option:has(input:checked){background:#40384e}.dark .nudge-options input{accent-color:#c5b0e7}
.large .soft-label,.large .demo-fineprint,.large .privacy-note,.large .demo-notice p,.large .privacy-option small,.large .note-meta,.large .outgoing-status,.large .checkin-share small,.large .dialog-demo{font-size:14px}.large .reaction,.large .plan-tabs button,.large .nudge-option small,.large .plan-actions>.text-button,.large .checkin-share .text-button{font-size:15px}.large .companion-mini{flex-wrap:wrap}.large .privacy-option strong{font-size:18px}.large .checkin-share{flex-wrap:wrap}
@media(max-width:1000px){.together-layout{gap:20px}.companion-card,.privacy-card{padding:24px}.companion-weather{gap:12px;padding:16px 12px}.weather-medallion{width:65px;height:65px}.weather-medallion svg{width:58px;height:55px}.companion-weather h3{font-size:21px}.companion-weather small{font-size:10px}.notes-card .card-head{flex-wrap:wrap}.privacy-actions{display:grid}.shared-plans>.section-heading{align-items:start}.shared-plans>.section-heading h2{font-size:21px}.shared-plans>.section-heading .text-button{max-width:100px}.plan-tabs button{font-size:11px}.companion-mini-copy .demo-badge{font-size:9px}.companion-mini{gap:12px}.companion-mini p>span:last-child{display:none}}
@media(max-width:800px){.together-layout{grid-template-columns:1fr}.together-layout>.stack{gap:22px}.together-layout>div:nth-child(2){margin-top:0}.privacy-actions{display:flex}.companion-mini{padding:16px 18px}.companion-mini .button.secondary{padding:10px 14px}.notes-card .card-head{flex-wrap:nowrap}.plan-tabs button{font-size:13px}.shared-plans>.section-heading h2{font-size:23px}.shared-plans>.section-heading .text-button{max-width:none}}
@media(max-width:620px){.demo-notice{display:block;padding:15px 16px;margin-bottom:18px}.demo-notice p{margin-top:9px;font-size:11px}.demo-badge{font-size:9px}.together-view-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px}.together-view-tabs button{font-size:12px;padding:11px 8px}.together-layout{gap:22px}.companion-top h2{font-size:28px}.companion-card .card-head{flex-wrap:nowrap}.companion-weather{padding:17px 14px}.weather-medallion{width:72px;height:72px}.weather-medallion svg{width:65px;height:60px}.companion-weather h3{font-size:22px}.companion-weather small{font-size:10px}.companion-card>.button{min-height:48px;font-size:13px}.companion-mini{position:relative;display:grid;grid-template-columns:38px 1fr;gap:12px;margin:0 0 23px;padding:18px;border-radius:20px}.companion-mini .companion-avatar{width:38px;height:38px;font-size:20px}.companion-label{gap:5px 8px;padding-right:15px}.companion-label strong{font-size:13px}.companion-mini p{font-size:11px;gap:5px;margin-top:6px}.companion-mini .button.secondary{grid-column:1/-1;min-height:42px;font-size:12px;width:100%}.mini-together-link{position:absolute;right:8px;top:10px;padding:5px;font-size:18px;min-width:32px;min-height:35px}.companion-mini .demo-badge{font-size:8px;padding:3px 6px}.companion-mini h2{font-size:19px}.companion-mini.disconnected{grid-template-columns:35px 1fr}.companion-mini.disconnected>.button{grid-column:1/-1}.privacy-card h2{font-size:24px}.privacy-option{gap:15px}.privacy-option strong{font-size:14px}.privacy-option small{font-size:11px}.privacy-note{font-size:11px}.privacy-actions{display:grid;justify-items:start}.privacy-actions .button{width:100%;font-size:12px}.notes-card h2{font-size:23px}.notes-card .card-head{display:flex;flex-wrap:wrap;gap:0}.notes-card .card-head>.text-button{font-size:12px}.notes-card .sub{font-size:13px}.note-quote{font-size:20px}.note-meta{font-size:9px}.reaction{font-size:10px;min-height:40px;padding:8px 10px}.shared-plans>.section-heading{gap:10px;align-items:center}.shared-plans>.section-heading h2{font-size:23px;max-width:200px}.shared-plans>.section-heading .text-button{font-size:11px;max-width:90px;text-align:right}.plan-tabs{gap:4px}.plan-tabs button{font-size:11px;padding:10px 5px;min-height:44px}.plan-tabs button span{margin-left:2px}.shared-plan h3{font-size:21px}.plan-illustration{width:48px;height:53px;font-size:29px}.shared-plan-top{gap:12px}.plan-actions{gap:10px}.plan-actions select{font-size:13px}.today-note{margin-top:22px}.today-note .notes-card{padding:23px}.checkin-share{flex-wrap:wrap;gap:3px}.checkin-share>label{font-size:12px;align-items:flex-start;line-height:1.6}.checkin-share input{margin-top:3px}.checkin-share small{font-size:10px;max-width:230px}.checkin-share .text-button{padding-left:31px;font-size:11px;min-height:40px}.together-footer{font-size:12px;margin-top:27px}.nudge-option{gap:9px;padding:12px 10px}.nudge-option strong{font-size:13px}.nudge-option small{font-size:11px}.nudge-symbol{font-size:26px}.large .companion-mini{display:flex}.large .companion-mini-copy{flex-basis:70%}.large .together-view-tabs{grid-template-columns:1fr}.large .plan-tabs{grid-template-columns:1fr}.large .privacy-option{align-items:flex-start}.large .nudge-option small{font-size:14px}.large .note-meta{font-size:13px}.large .checkin-share>label{font-size:17px}}
