/* Witness / Witny — direction validée */
:root{--ink:#26362e;--paper:#f6f1e7;--champagne:#c4d1b7;--plum:#26362e;--coral:#f36b3f;--mist:#69736b;--white:#fffcf7;--line:#dddcd1;--soft:#e6ebdf;--shadow:0 12px 35px #26362e12;color:var(--ink);background:var(--paper)}
html,body{background:var(--paper);font-size:16px}.screen{padding-left:21px;padding-right:21px}.wordmark,.splash-mark{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-weight:850;letter-spacing:-1.5px}.wordmark{display:flex;align-items:center;gap:5px}.witny-mark{width:42px;height:42px;object-fit:contain;flex-shrink:0}.witny-wordmark{width:35px;height:35px}.avatar,.member-avatar,.mini-avatar{display:none}.bubble-wrap{max-width:90%;min-width:0}.ai .bubble-wrap{max-width:calc(100% - 48px)}.message-line.ai{align-items:flex-start}.ai .bubble{background:#e6ebdf;border-color:#dbe2d2}.bubble{font-size:15px;line-height:1.5}.bubble-name{font-size:13px}.message-time,.time{font-size:12px}.sub,.presence,.ai-card-meta{font-size:14px}.title{font-size:16px}.context-token,.quick-prompts button{font-size:13px}.tabbar{grid-template-columns:repeat(5,1fr);background:#f6f1e7f5}.tab{font-size:11px;color:#69736b}.tab.active{background:transparent;color:var(--ink)}.tab.active svg{stroke-width:2.5}.tab .badge{background:var(--ink)}.chat-header{background:#f6f1e7ed}.chat-title{font-size:17px}.btn{font-size:15px;border-radius:13px}.btn.gold{background:var(--ink);color:var(--paper)}.pill.gold,.pill.coral,.pill.plum{background:var(--soft);color:var(--ink)}.ai-nudge,.chat-vote{background:var(--ink)}.ai-nudge:after{display:none}.ai-nudge p{font-size:15px;max-width:100%;color:#e2e6d9}.section-head h2{font-family:inherit;font-size:21px;font-weight:700}.section-head button{color:var(--ink);font-size:14px}.hero:after{display:none}.ai-card-visual{background:#405045}.ai-card-visual:after{display:none}.field label{font-size:13px}.field input,.field textarea,.field select{font-size:16px}.tab:focus-visible,.btn:focus-visible,input:focus-visible,textarea:focus-visible,button:focus-visible{outline:3px solid var(--coral);outline-offset:2px}.top-actions{display:flex;gap:8px}.top-actions button{border:0}.witny-greeting{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:25px 0}.witny-greeting h1,.memories-title{font:400 36px/1.08 Georgia,serif;letter-spacing:-1.2px;margin:9px 0 0}.witny-greeting img{width:94px;height:105px;object-fit:contain}.trip-cover{position:relative;isolation:isolate;overflow:hidden;border-radius:24px;min-height:250px;display:flex;align-items:flex-end;padding:22px;color:var(--paper);background:var(--ink)}.trip-cover>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.trip-cover:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#15271ed9);z-index:-1}.trip-cover h2{font:400 33px/1.1 Georgia,serif;letter-spacing:-1px;margin:0 0 12px}.trip-cover p{font-size:14px;margin:0}.trip-cover button{background:var(--paper);color:var(--ink);border:0;width:43px;height:43px;border-radius:50%;margin-left:auto;flex-shrink:0}.trip-cover .cover-copy{padding-right:12px}.witny-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.witny-head small{display:block;color:#69736b;font-size:13px}.welcome-card p{font-size:16px;line-height:1.5}.summary-buttons{margin-top:14px}.summary-buttons button{text-align:left;border:0;background:var(--soft);color:var(--ink);border-radius:18px;padding:17px}.summary-buttons strong{display:block;font-size:22px}.summary-buttons span{font-size:14px}.memories-panel{padding:22px;background:var(--ink);color:var(--paper);border-radius:22px;margin-top:22px}.memory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:18px 0}.memory-grid img{width:100%;height:110px;object-fit:cover;border-radius:12px}.memory-empty{margin-top:22px;border:1px dashed #adb8a3;border-radius:20px;padding:24px;text-align:center}.memory-empty p{font-size:15px;color:#69736b}.memory-slide{width:100%;height:280px;object-fit:cover;border-radius:20px}.memory-caption{font-size:14px;color:#69736b}.memories-panel p{color:#e2e6d9;font-size:15px;line-height:1.5}.splash{background:var(--paper);color:var(--ink)}.splash-mark{display:flex;align-items:center;font-size:40px}.splash-mark img{width:75px;height:75px}.app-shell{border:0}.sheet h2{color:var(--ink)}
/* Le même format application sur tous les écrans ; aperçu iPhone sur ordinateur. */
@media(min-width:760px){
  body{display:grid;place-items:center;min-height:100dvh;background:#e5e6de}
  .app-shell{width:430px;height:min(900px,94dvh);min-height:0;margin:auto;border-radius:38px;box-shadow:0 24px 70px #26362e26;border:1px solid #26362e14}
  .app{height:100%;border-radius:inherit}
  .join-shell{height:100%;min-height:0}
  .sheet{max-height:85%;border-radius:28px 28px 0 0}
  .toast-root{bottom:calc((100dvh - min(900px,94dvh))/2 + 90px);width:max-content;max-width:390px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
/* Shared Memories album; the application frame and tabs remain unchanged. */
.memory-actions{display:flex;gap:10px}.memory-actions .btn{text-decoration:none;text-align:center;flex:1}.memory-delete{color:#99412e;background:#f3e2d7}.memory-grid button{border:2px solid transparent;padding:2px;border-radius:14px;background:none}.memory-grid button[aria-pressed=true]{border-color:var(--ink)}.memory-grid img{display:block}.memory-upload-label{display:block;text-align:center;cursor:pointer}.memory-upload-label.is-disabled{opacity:.55;cursor:default}.memory-notice{padding:14px;background:#f3e2d7;border-radius:14px;margin:16px 0;font-size:14px}.memory-notice .btn{margin-top:10px;display:block}.memory-progress{overflow-wrap:anywhere}.memory-confirm{position:absolute;inset:0;z-index:150;background:#14271d66;display:flex;align-items:flex-end}.memory-confirm-sheet{background:var(--paper);padding:24px 21px calc(24px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;width:100%;box-shadow:0 -8px 35px #0002}.memory-confirm-sheet h2{font-size:23px;margin:0 0 12px}.memory-confirm-sheet p{font-size:15px;line-height:1.5}.memory-confirm-sheet .btn{margin-top:10px}.memories-screen .section-head button:disabled{opacity:.4}
/* Witness product edition */
:root{--ink:#273D31;--paper:#F7F3EB;--soft:#E9EDDF;--line:#e4e2d7;--coral:#f46b38;--radius:22px;--white:#fffef9}
[hidden]{display:none!important}button,a,input,select,textarea{touch-action:manipulation}button{color:var(--ink)}a{color:var(--ink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:14px;letter-spacing:-.1px;min-height:48px;border-radius:15px;transition:background .2s,transform .15s}.btn svg{width:19px;height:19px}.btn:disabled{cursor:default;opacity:.45}.btn.primary{background:var(--ink);color:var(--paper)}.btn.primary:hover{background:#355340}.btn.soft{background:var(--soft)}.btn.ghost{background:transparent}.section-button{margin:18px 0 2px}.screen{min-height:0;padding:calc(var(--safe-top) + 13px) 22px calc(var(--tabbar-h) + var(--safe-bottom) + 30px)}.screen.chat-screen{padding-bottom:calc(var(--tabbar-h) + var(--safe-bottom) + 80px)}.app{height:var(--app-height,100dvh)}.app-shell{min-height:0;height:var(--app-height,100dvh)}.topbar{margin-bottom:15px}.brand-button{border:0;background:none;padding:0;color:var(--ink);font-size:26px}.brand-chevron{font-size:15px;font-weight:400;margin-left:4px;color:#858c7d}.top-actions{gap:6px}.top-actions .pill{min-height:40px;padding:8px 12px;font-size:12px;border:0}.icon-btn.mini{height:34px;width:34px;background:transparent;flex-shrink:0}.grow{min-width:0}.title,strong{overflow-wrap:anywhere}.sub{color:#70796c;line-height:1.55}.eyebrow{color:#75806f;font-size:9px;letter-spacing:.16em}.witny-mark{display:inline-block;width:45px;height:49px;flex-shrink:0;vertical-align:middle;color:var(--ink)}.witny-mark svg{width:100%;height:100%;overflow:visible;display:block}.witny-wordmark{width:30px;height:34px}.witny-sparks{opacity:0}.witny-body{transform-origin:60px 112px}.witny-face{transform-origin:65px 70px}.witny-eyes{transform-origin:67px 62px}.witny-hello .witny-body{animation:witny-sway 4.8s ease-in-out infinite}.witny-hello .witny-eyes{animation:witny-blink 6.4s infinite}.witny-thinking .witny-body{animation:witny-think 1.8s ease-in-out infinite}.witny-thinking .witny-face{animation:witny-look 3.6s ease-in-out infinite}.witny-thinking .witny-shadow{animation:witny-shadow 1.8s ease-in-out infinite;transform-origin:60px 116px}.celebrating .witny-body{animation:witny-jump .75s ease-in-out 2}.celebrating .witny-sparks{animation:witny-spark .75s ease-in-out 2}.mascot-button{background:none;border:0;padding:0;flex-shrink:0}.mascot-button .witny-mark{width:91px;height:107px}.witny-greeting{margin:24px 0 20px;gap:0}.witny-greeting h1{font:500 31px/1.12 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;letter-spacing:-1.35px;margin:10px 0}.witny-greeting h1 span{color:#74866b}.witny-greeting .sub{font-size:12px;margin:0}.trip-cover{min-height:226px;padding:21px;border-radius:25px}.trip-cover>img{object-position:center 45%}.trip-cover:after{background:linear-gradient(180deg,#1122170a 0%,#172e1a9e 50%,#112217ed 100%)}.trip-cover h2{font:600 27px/1.12 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;letter-spacing:-.9px;margin:8px 0 9px;overflow-wrap:anywhere}.cover-kicker{font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#e0e5d6}.trip-cover p{font-size:12px;line-height:1.6;color:#edf0e6}.trip-cover button{width:34px;height:34px;min-width:34px;background:#ffffff24;color:white}.trip-countdown{position:absolute;top:16px;right:16px;background:#faf5e9ed;color:var(--ink);padding:7px 11px;border-radius:30px;font-size:11px;font-weight:800;backdrop-filter:blur(8px)}.next-card{padding:22px;border:1px solid var(--line);background:var(--white);border-radius:24px;margin-top:18px;box-shadow:0 4px 18px #273d3104}.next-card h2{font-size:22px;line-height:1.17;letter-spacing:-.65px;margin:12px 0 8px;font-weight:650}.next-card p{font-size:13px;line-height:1.55;color:#717b6a;margin:0 0 17px}.readiness{display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:space-between;font-size:11px;margin:23px 2px;color:#718068}.readiness strong{color:var(--ink)}.readiness .progress{flex-basis:100%;height:5px;margin:0;background:#e1e5d8}.readiness .progress>span{background:#869b73}.readiness-labels{display:flex;justify-content:space-between;width:100%;gap:4px;font-size:9px}.readiness-labels .checked{color:#486842}.home-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.home-shortcuts button{background:#e9edde;border:0;border-radius:18px;padding:16px 8px;display:flex;align-items:center;flex-direction:column;gap:9px;min-width:0}.home-shortcuts svg{height:20px;width:20px;color:#738568}.home-shortcuts strong{font-size:19px;letter-spacing:-.8px}.home-shortcuts span{font-size:10px;text-align:center;line-height:1.4;color:#6f7d66}.section{margin-top:25px}.section-head h2{font-size:20px;letter-spacing:-.5px;font-weight:650}.section-head button{font-size:11px;white-space:nowrap;min-height:38px}.moment-row{border:0;border-bottom:1px solid var(--line);background:none;display:flex;align-items:center;width:100%;gap:14px;padding:15px 1px;text-align:left}.moment-time{font-size:12px;font-weight:700;color:#7a8b6b}.moment-row strong{display:block;font-size:14px}.moment-row small{display:block;font-size:11px;margin-top:5px;color:#79816f}.moment-row svg{width:16px;flex-shrink:0}.empty-inline{background:#ffffff66;border:1px dashed #c7d0bd;border-radius:17px;width:100%;padding:18px;display:flex;align-items:center;gap:12px;font-size:12px;text-align:left;line-height:1.5}.empty-inline svg{width:20px;flex-shrink:0}.memory-teaser{display:flex;align-items:center;gap:13px;margin-top:27px;padding:20px 16px;width:100%;background:#e9e5d8;border:0;border-radius:21px;text-align:left}.memory-teaser>span:nth-child(2){flex:1}.memory-teaser strong{font:italic 25px Georgia,serif;display:block;letter-spacing:-1px}.memory-teaser small{display:block;font-size:11px;margin-top:6px;color:#71806a}.memory-teaser svg{width:19px;flex-shrink:0}.memory-stamp{width:44px;height:48px;background:var(--paper);border-radius:10px;transform:rotate(-8deg);display:grid;place-items:center}.install-link{background:none;border:0;display:flex;align-items:center;justify-content:center;gap:7px;color:#78806f;font-size:11px;margin:23px auto 0;padding:10px;line-height:1.5}.install-link svg{height:14px;width:14px}.page-heading{margin:23px 0 16px}.page-heading h1{font-size:28px;letter-spacing:-1px;line-height:1.17;margin:12px 0;font-weight:550}.product-empty{text-align:center;border:1px dashed #d1d9c5;padding:25px 19px;border-radius:23px;background:#faf9f35c;margin-top:18px}.product-empty .witny-mark{width:76px;height:86px}.product-empty h2{font-size:21px;font-weight:600;letter-spacing:-.5px}.product-empty p{font-size:13px;color:#76816d;line-height:1.6}.product-empty .btn{font-size:12px}.tabbar{padding-left:12px;padding-right:12px;background:#f7f3ebed;border-color:#e3e5d8}.tab{font-size:10px;gap:5px}.tab.active{color:#283e31;position:relative}.tab.active:before{content:'';position:absolute;width:32px;height:3px;top:0;background:#869d73;border-radius:8px}.tab svg{width:21px;height:21px}.connection-banner{font-size:10px;background:#e3edda;text-align:center;padding:8px 12px;flex-shrink:0;z-index:40;color:#47633c}.connection-banner.offline{background:#f3e3c8;color:#775527}.connection-banner button{border:0;background:none;font-size:10px;font-weight:800;text-decoration:underline;margin-left:10px}.chat-header{background:#f7f3ebf2;border-color:#e0e4d7;padding:calc(var(--safe-top) + 12px) 16px 12px}.chat-title{font-size:15px;overflow-wrap:anywhere}.presence{font-size:10px;margin-top:4px}.context-token{font-size:10px!important;padding:7px 10px;background:#edf0e4;border:0}.chat-intro{text-align:center;padding:20px 20px 0;color:#75806f;font-size:11px}.chat-intro small{display:block;font-size:10px;line-height:1.5;margin-top:5px;color:#919888}.messages{padding-top:21px;gap:18px}.bubble{font-size:14px;line-height:1.55;padding:12px 14px;overflow-wrap:anywhere}.bubble-name{font-size:10px;margin-bottom:5px}.message-time{font-size:9px;color:#939887}.ai .bubble{background:#e9edde;border-color:#dfe5d2}.message-line.ai>.witny-mark{width:31px;height:38px;margin-top:9px}.ai .bubble-wrap{max-width:calc(100% - 40px)}.thinking-line{align-items:center!important;background:#e9edde;border-radius:20px;padding:14px;gap:15px}.thinking-line>.witny-mark{width:52px!important;height:60px!important;margin:0!important}.thinking-copy strong{font-size:12px}.thinking-copy small{font-size:10px;display:block;line-height:1.5;margin-top:4px;color:#7b876f}.thinking-dots{display:inline-flex;gap:3px;margin-left:5px}.thinking-dots i{width:3px;height:3px;background:currentColor;border-radius:50%;animation:thinking-dot 1.4s infinite}.thinking-dots i:nth-child(2){animation-delay:.16s}.thinking-dots i:nth-child(3){animation-delay:.32s}.quick-prompts{gap:8px;padding:8px 14px 16px}.quick-prompts button{display:inline-flex;align-items:center;gap:6px;font-size:11px;border:1px solid #dce2d1;min-height:38px;background:#fdfdf6}.quick-prompts svg{width:14px;height:14px}.composer{padding:9px 12px;background:var(--paper)}.composer-box{border:1px solid #dfe4d6;box-shadow:0 2px 12px #2c3c2810;border-radius:25px}.composer textarea{font-size:16px}.send-btn:disabled{opacity:.35}.composer .plus-btn{background:#e5ebda}.sheet{box-shadow:0 -10px 50px #1f321b12;padding-left:22px;padding-right:22px}.sheet h2{font:600 26px/1.12 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;letter-spacing:-.8px;padding-right:35px;margin:5px 0 14px}.sheet-close{position:absolute;right:17px;top:15px;background:#e9ecdf}.sheet .field{margin-top:17px}.field label{font-size:11px!important;letter-spacing:.02em;text-transform:none;color:#5d7053;font-weight:650}.field label span{font-weight:400;color:#8a9483}.field input,.field select,.field textarea{border-color:#dce3d0;border-radius:13px;background:#fffef9;min-width:0;width:100%;font-size:16px;padding:12px}.sheet .btn.full{margin-top:13px}.product-sheet>.sub{font-size:13px}.form-error{color:#a14a32;font-size:12px;line-height:1.5}.step-progress{display:flex;gap:6px;margin:5px 0 18px}.step-progress span{height:4px;background:#e0e5d7;flex:1;border-radius:5px}.step-progress .active{background:#8aa076}.kind-options{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.kind-options button{border:1px solid #dce3d1;background:transparent;padding:10px 13px}.kind-options button.selected{background:var(--ink);color:var(--paper);border-color:var(--ink)}.trip-list-item{display:flex;align-items:center;text-decoration:none;gap:13px;padding:17px 0;border-bottom:1px solid var(--line)}.trip-list-item strong{font-size:14px}.trip-list-item small{display:block;font-size:11px;color:#7a856f;margin-top:5px}.trip-symbol{width:39px;height:42px;border-radius:13px;background:#e7ecde;display:grid;place-items:center;flex-shrink:0}.trip-symbol svg{width:19px}.trip-list{margin-bottom:12px}.trip-list-item>svg{width:17px;flex-shrink:0}.invite-mascot{text-align:center}.invite-mascot .witny-mark{width:95px;height:110px}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0 8px}.action-grid button{display:flex;flex-direction:column;align-items:flex-start;gap:10px;background:#e9edde;border:0;border-radius:18px;padding:18px;text-align:left}.action-grid svg{width:22px;height:22px}.action-grid strong{font-size:13px}.action-grid small{font-size:10px;color:#7c896f;line-height:1.4}.person-avatar{height:38px;width:38px;border-radius:14px;background:#e7edde;display:grid;place-items:center;font-size:12px;font-weight:800;flex-shrink:0}.profile-card{background:var(--white);border:1px solid var(--line);border-radius:21px;padding:18px;display:flex;align-items:center;gap:13px;width:100%;text-align:left}.profile-card strong{display:block;font-size:15px}.profile-card small{display:block;font-size:11px;line-height:1.6;color:#7b856f;margin-top:4px}.profile-card strong small{display:inline}.profile-card>svg{width:17px;flex-shrink:0}.members-card{margin-top:18px}.member strong{font-size:14px}.member-vibes{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.member-vibes span{font-size:9px;padding:4px 7px;background:#e9efdf;border-radius:7px;color:#738565}.group-links{margin-top:20px}.group-links button{width:100%;display:flex;align-items:center;gap:12px;text-align:left;padding:16px 4px;background:none;border:0;border-bottom:1px solid var(--line);font-size:13px}.group-links svg{width:19px;height:19px}.group-links svg:last-child{margin-left:auto;width:15px}.budget-total{background:#2e4435;border-radius:23px;padding:23px}.budget-total .eyebrow,.budget-total .sub{color:#c1ceb3}.budget-total .amount{font:600 38px/1.2 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;letter-spacing:-1px;margin:16px 0}.budget-total .progress{background:#ffffff20}.budget-total .progress>span{background:#b2c798}.settlement-row{display:flex;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px;gap:12px}.settlement-row:last-of-type{border:0}.settlement-row small{display:block;font-size:11px;color:#7c876f;margin-top:5px}.balanced-state{display:flex;gap:13px;align-items:center;padding:8px 0;font-size:14px}.balanced-state>svg{width:28px}.balanced-state p{font-size:12px;color:#7a866e;margin:6px 0}.fineprint{font-size:10px;line-height:1.6;color:#8a9380}.expense{gap:9px;padding:15px 0}.expense .grow strong{font-size:13px}.expense>strong{font-size:13px;white-space:nowrap}.expense .sub{font-size:10px}.expense-icon{width:31px;height:35px;border-radius:10px}.expense-icon svg{width:17px;height:17px}.expense-participants{border:1px solid var(--line);border-radius:15px;padding:13px;margin:20px 0 10px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.expense-participants legend{font-size:11px;font-weight:700;color:#75846a}.expense-participants label{display:flex;align-items:center;gap:7px;font-size:12px;overflow-wrap:anywhere}.expense-participants input{accent-color:var(--ink);width:18px;height:18px}.danger{color:#a64732!important}.danger-fill{background:#a64d37!important;color:white!important}.timeline{margin-left:0}.timeline:before{left:10px;background:#d8e1ca}.timeline-item{grid-template-columns:22px 1fr;gap:10px}.timeline-dot{height:21px;width:21px;background:#edf1e5;border-color:#d8e1ca}.day-label{font:700 12px -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;letter-spacing:.02em;margin:25px 0 13px 32px;text-transform:capitalize;color:#7d8b70}.timeline-card{padding:15px 16px;border-color:#dfe5d5;border-radius:18px}.moment-top{display:flex;align-items:center;justify-content:space-between}.moment-top .time{color:#829473;font-size:10px}.timeline-card h3{font-size:16px;line-height:1.3;letter-spacing:-.3px;margin:6px 0 7px}.timeline-card .sub{font-size:12px;margin:0}.booking-detail{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.booking-detail summary{cursor:pointer;font-size:11px;font-weight:650}.vote-card{border-color:#dce4d2;border-radius:22px;padding:19px}.vote-title{font:600 21px/1.2 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;letter-spacing:-.6px}.vote-card .pill{font-size:10px}.vote-option{background:#f7f8ef;border-color:#dce4d2;padding:12px}.vote-option .title{font-size:13px}.vote-option.selected{background:#e4edd9;box-shadow:none;border-color:#8ea678}.vote-options .bar span{background:#8ea678}.vote-card .progress>span{background:#89a474}.vote-option:disabled{opacity:1;cursor:default}.task-row .title{font-size:13px}.task-check{width:27px;height:27px}.task-assignee{font-size:10px;line-height:1.5;margin-top:5px}.task-row.done .task-check{background:#839b6f;border-color:#839b6f}.task-row .mini{width:25px}.memories-title{font:550 32px/1.12 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;letter-spacing:-1.1px}.memories-screen .memory-slide{object-fit:contain;background:#ebeade}.memory-actions .btn{color:var(--ink);font-size:12px;background:#e8edde}.memory-actions .memory-delete{background:#f1e1d8;color:#964b37}.memory-caption{font-size:11px;line-height:1.65}.memory-grid img{height:92px}.memory-confirm-sheet h2{font-size:24px}.memory-empty .witny-mark{width:85px;height:92px}.toast-root{bottom:calc(var(--safe-bottom) + 90px);max-width:calc(100vw - 38px);width:max-content;z-index:180}.toast{font-size:12px;line-height:1.45;border-radius:16px;padding:12px 16px;text-align:center}.welcome-screen{padding-top:calc(var(--safe-top) + 24px);padding-bottom:calc(var(--safe-bottom) + 26px);display:flex;flex-direction:column}.welcome-hero{margin:auto 0;padding:25px 0 12px}.welcome-hero>.witny-mark{width:140px;height:155px;margin-bottom:12px}.welcome-hero h1{font-size:36px;line-height:1.12;letter-spacing:-1.5px;font-weight:550;margin:17px 0}.welcome-hero em{font:italic 35px Georgia,serif;color:#7b8f6d}.welcome-hero p{font-size:14px;color:#77866c;line-height:1.65;max-width:310px}.welcome-pills{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 22px}.welcome-pills span{font-size:10px;border:1px solid #dbe3cf;border-radius:20px;padding:8px 10px;color:#728167}.welcome-screen>.btn{margin-top:9px;flex-shrink:0}.welcome-note{text-align:center;font-size:10px;color:#87917c;margin:15px 0 0}.loading-app{display:grid;place-items:center}.loading-scene{text-align:center;padding:35px}.loading-scene>.witny-mark{width:140px;height:158px}.loading-scene .eyebrow{margin-top:15px}.loading-scene h1{font-size:27px;line-height:1.15;letter-spacing:-1px;margin:15px 0;font-weight:550}.loading-scene p{font-size:12px;color:#829073}.unavailable-screen{display:flex;flex-direction:column;justify-content:center}.unavailable-screen>.btn{margin-top:15px}.install-steps{padding-left:21px;margin-top:20px}.install-steps li{font-size:13px;margin:19px 0}.install-steps p{font-size:12px;line-height:1.6;color:#7f8c71;margin-top:7px}.join-shell{background:var(--paper)}.join-copy h1{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:33px;line-height:1.12;letter-spacing:-1px;font-weight:550}.join-copy h1 em{color:#81996e}.join-copy p{font-size:14px;line-height:1.6}.join-choice{border-color:#dbe3cf;background:#fffef8}.join-choice:has(input:checked){border-color:#8fa979;background:#e5efd9}.join-note{font-size:10px;line-height:1.6}.join-progress span.active{background:#8da875}.join-header .wordmark{gap:5px}.join-header .witny-mark{width:34px;height:38px}.join-shell input,.join-shell textarea{font-size:16px}
@keyframes witny-sway{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(4deg) translateY(-3px)}}@keyframes witny-blink{0%,42%,46%,100%{transform:scaleY(1)}44%{transform:scaleY(.08)}}@keyframes witny-think{0%,100%{transform:translateY(0) rotate(-4deg) scaleY(.97)}50%{transform:translateY(-9px) rotate(5deg) scaleY(1.02)}}@keyframes witny-look{0%,100%{transform:translateX(-3px)}50%{transform:translateX(3px) translateY(-2px)}}@keyframes witny-shadow{0%,100%{transform:scaleX(1);opacity:.09}50%{transform:scaleX(.75);opacity:.04}}@keyframes witny-jump{0%,100%{transform:translateY(0) scale(1)}30%{transform:translateY(3px) scale(1.09,.9)}60%{transform:translateY(-18px) rotate(-7deg)}80%{transform:translateY(-10px) rotate(5deg)}}@keyframes witny-spark{0%,100%{opacity:0}55%{opacity:1}}@keyframes thinking-dot{0%,80%,100%{transform:translateY(0);opacity:.3}40%{transform:translateY(-3px);opacity:1}}
@media(min-width:760px){.app-shell{height:min(900px,94dvh)}.app{height:100%}.screen{padding-top:21px}.welcome-screen{padding-top:30px}.chat-header{padding-top:19px}.toast-root{bottom:calc((100dvh - min(900px,94dvh))/2 + 90px);max-width:390px}.product-sheet{max-height:88%}}
@media(max-width:359px){.screen{padding-left:16px;padding-right:16px}.witny-greeting h1{font-size:27px}.mascot-button .witny-mark{width:64px;height:88px}.members-label{display:none}.home-shortcuts strong{font-size:16px}.home-shortcuts span{font-size:9px}.page-heading h1{font-size:25px}.welcome-hero h1{font-size:30px}.welcome-hero em{font-size:30px}.welcome-hero>.witny-mark{width:105px;height:115px}.readiness-labels{font-size:8px}.expense-icon{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.welcome-actions{position:absolute;z-index:5;bottom:0;left:0;right:0;padding:22px 22px calc(22px + var(--safe-bottom));background:linear-gradient(#f7f3eb00,#f7f3eb 13%);display:grid;gap:9px}.welcome-actions .welcome-note{margin:3px 0 0}.welcome-screen{padding-bottom:205px}.welcome-hero{padding-top:22px}.join-top .wordmark{display:flex;align-items:center;font-size:25px;gap:5px}.join-actions .btn+.btn{margin-top:8px}.join-top .icon-btn{width:36px;height:36px}.memory-upload-label .witny-mark{width:28px;height:32px;vertical-align:middle}
@media(max-height:740px){.welcome-hero>.witny-mark{width:92px;height:101px}.welcome-hero h1{font-size:28px}.welcome-hero em{font-size:28px}.welcome-hero{padding-top:8px}.welcome-pills{margin-bottom:0}.welcome-hero p{font-size:12px}.welcome-actions{padding-top:16px}.welcome-hero .eyebrow{font-size:8px}}
.chat-title{display:block;border:0;padding:0;background:none;text-align:left;color:var(--ink);font-weight:750;max-width:100%}
.toast{display:flex;align-items:center;gap:9px}.toast .witny-mark{width:29px;height:33px}.toast span:last-child{min-width:0}
/* Secondary text remains readable at small sizes. */
.sub,.eyebrow,.readiness,.home-shortcuts span,.moment-row small,.empty-inline,.install-link,.product-empty p,.presence,.chat-intro,.chat-intro small,.bubble-name,.message-time,.thinking-copy small,.field label span,.trip-list-item small,.action-grid small,.profile-card small,.settlement-row small,.balanced-state p,.fineprint,.expense-participants legend,.timeline-card .time,.task-assignee,.memory-caption,.welcome-hero p,.welcome-note,.loading-scene p,.install-steps p,.member-status,.member-vibes span{color:#5e6e54}.next-card p,.memory-teaser small,.welcome-pills span{color:#5e6e54}.readiness-labels .checked{color:#486842}.budget-total .eyebrow,.budget-total .sub{color:#d0ddc2}.trip-cover .cover-kicker,.trip-cover p{color:#edf0e6}.mine .message-time{color:#65715d}.tab{color:#637059}.tab.active{color:#273d31}

/* Chat chrome stays outside the scrolling conversation. */
.app>.chat-header{position:relative;top:auto;flex:none;z-index:10;background:var(--paper);border-bottom:1px solid var(--line)}
.screen.chat-screen{padding-top:0;overflow-anchor:none}
.chat-bottom{position:absolute;right:18px;z-index:24;display:flex;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid #d6decb;border-radius:50%;background:var(--white);color:var(--ink);box-shadow:0 4px 18px #273d3124;cursor:pointer}
.chat-bottom:focus-visible{outline:3px solid var(--coral);outline-offset:3px}
.chat-bottom-count{position:absolute;top:-6px;right:-5px;min-width:21px;height:21px;padding:0 5px;display:grid;place-items:center;border-radius:12px;background:var(--ink);color:var(--paper);font-size:10px;font-weight:750;border:2px solid var(--paper)}
.unread-divider{display:flex;align-items:center;gap:10px;margin:20px 0;color:#536747;font-size:11px;font-weight:700}
.unread-divider:before,.unread-divider:after{content:'';height:1px;flex:1;background:#ced8c3}
.unread-divider span{padding:6px 10px;border-radius:20px;background:var(--soft)}
/* The page itself does not scroll when iOS moves the visual viewport for the keyboard. */
@media(max-width:759px){html,body{height:100%;min-height:0;overflow:hidden}body{position:fixed;inset:0}.app-shell{position:absolute;top:var(--viewport-top,0px);left:0;right:0;width:100%;height:var(--app-height,100dvh);min-height:0}.app{height:100%;min-height:0}.keyboard-open{--safe-bottom:0px;--tabbar-h:0px}.keyboard-open .tabbar{display:none}.keyboard-open .composer{bottom:0}.keyboard-open .chat-intro{display:none}.keyboard-open .quick-prompts{display:none}}
.brand-slogan{font:italic 17px/1.5 Georgia,serif;text-align:center;color:#5e6e54;margin:26px 0}.choice-field{border:0;padding:0;margin:22px 0}.choice-field legend{font-size:14px;font-weight:700}.choice-field legend span{font-size:11px;font-weight:400;color:#5e6e54}.budget-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mood-choices{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.choice-card{display:flex;align-items:center;gap:8px;min-height:49px;background:#fffef9;border:1px solid #dce3d1;border-radius:14px;padding:12px;font-size:12px;font-weight:600;cursor:pointer}.choice-card input{width:16px;height:16px;accent-color:#273d31;flex-shrink:0}.choice-card:has(input:checked){background:#e3edd9;border-color:#799369}.choice-card:focus-within{outline:2px solid #f46b38;outline-offset:2px}.voter-names{font-size:11px;color:#5e6e54;line-height:1.5;margin-top:5px;white-space:normal;overflow-wrap:anywhere}.invite-code{text-align:center;border:1px dashed #95a487;border-radius:19px;padding:18px;margin:20px 0}.invite-code small{display:block;font-size:10px;letter-spacing:.14em}.invite-code strong{display:block;font-size:28px;letter-spacing:.15em;margin:12px 0;overflow-wrap:anywhere}.budget-notice{display:flex;align-items:center;gap:10px;padding:15px;background:#f4e3cf;border-radius:19px;margin:14px 0}.budget-notice .witny-mark{width:42px}.budget-notice p{margin:0;font-size:12px;line-height:1.5}.budget-notice span:not(.witny-mark){display:block;margin-top:4px}.cost-recorded{display:flex;align-items:center;gap:8px;font-size:12px;line-height:1.5;margin:15px 0}.recap-cover{background:#273d31;border-radius:24px;color:#fffef9;padding:27px 22px;margin-top:10px}.recap-cover .eyebrow{color:#c5d2b8}.recap-cover h1{font-size:35px;letter-spacing:-1px;line-height:1.1;overflow-wrap:anywhere}.recap-cover p{font-size:14px}.recap-cover>span{font-size:11px;line-height:1.5}.recap-stats{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:22px 2px}.recap-stats small{display:block;color:#5e6e54;font-size:10px}.recap-stats strong{display:block;font-size:17px;margin-top:5px}.recap-day{margin:25px 0}.recap-day h2{font-size:25px;margin:9px 0 18px}.recap-day article{border-left:2px solid #becdae;padding:0 0 25px 18px;margin-left:4px}.recap-time{font-size:12px;font-weight:700;color:#5e6e54}.recap-day h3{font-size:19px;margin:7px 0}.recap-day p{font-size:13px;line-height:1.6}.recap-status{display:block;color:#79532c;font-size:10px;line-height:1.5}.recap-status.confirmed{color:#416335}.recap-day article>small{display:block;margin-top:8px;font-size:11px}.recap-people h2{font-size:19px}.recap-people p{font-size:13px;line-height:1.6}
@media print{html,body{height:auto!important;overflow:visible!important;background:white!important;position:static!important}.app-shell,.app,.screen{position:static!important;width:100%!important;height:auto!important;max-height:none!important;overflow:visible!important;box-shadow:none!important;border:0!important;border-radius:0!important;transform:none!important}.tabbar,.topbar,.recap-screen>button,.recap-screen>.install-link,.toast-root{display:none!important}.screen{padding:0!important}.recap-cover{-webkit-print-color-adjust:exact;print-color-adjust:exact}.recap-day article{break-inside:avoid}.recap-day h2{break-after:avoid}}

.join-shell{height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain}.join-actions{flex-shrink:0}.join-form input,.join-form textarea{font-size:16px}

.memory-grid button{position:relative}.video-badge{position:absolute;bottom:5px;right:5px;background:#263e31;color:white;border-radius:8px;padding:3px 6px;font-size:11px}video.memory-slide{object-fit:contain;background:#263e31}

.composer textarea:focus-visible{outline:none}.composer-box:focus-within{border-color:#799369;box-shadow:0 0 0 2px #79936920}
@media(max-width:759px){.keyboard-open .toast-root{top:calc(var(--viewport-top,0px) + var(--app-height,100dvh) - 135px);bottom:auto}}
/* In an iOS home-screen app, dvh can exclude the status bar even with
   viewport-fit=cover. The large viewport includes the whole standalone screen.
   Grow the clipping ancestors too; the keyboard still uses --app-height. */
@media (max-width:759px) and (display-mode:standalone){
  html,body{height:100lvh}
  .app-shell{height:var(--app-height,100lvh)}
}
