:root{--navy:#5064a0;--ice:#d5a2b0;--blue:#9cb1e5;--white:#fff;--light:#f3f5fc;--text:#19203c;--muted:#64709b;--gap:1.5rem;--radius:12px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--light);color:var(--text);font-family:Segoe UI,system-ui,sans-serif}.site-footer{text-align:center;background:var(--blue);color:var(--white);padding:1.25rem;font-size:.8rem}body{overflow-x:hidden}.basecamp-page{background:var(--light);min-height:100dvh;color:var(--text);padding:1.5rem;padding-bottom:max(1.5rem, env(safe-area-inset-bottom));justify-content:center;align-items:center;font-family:Segoe UI,system-ui,sans-serif;display:flex}.basecamp-card{background:var(--white);border-radius:var(--radius);text-align:center;width:100%;max-width:380px;padding:2rem;box-shadow:0 4px 24px #19203c14}@media (width<=400px){.basecamp-card{padding:1.5rem 1.25rem}}.basecamp-card h1{color:var(--navy);margin-bottom:.5rem}.basecamp-card p{color:var(--muted);margin-bottom:1.5rem;line-height:1.4}.basecamp-form{flex-direction:column;gap:.75rem;display:flex}.basecamp-input{border:1px solid var(--blue);border-radius:var(--radius);color:var(--text);background:var(--light);width:100%;min-height:44px;padding:.75rem 1rem;font-size:1rem}.basecamp-input:focus{outline:2px solid var(--navy);outline-offset:1px}.basecamp-btn{border-radius:var(--radius);background:var(--navy);color:var(--white);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.4rem;min-width:44px;min-height:44px;padding:.75rem 1rem;font-size:1rem;font-weight:600;transition:opacity .15s;display:inline-flex}.basecamp-btn:hover{opacity:.9}.basecamp-btn:disabled{opacity:.6;cursor:not-allowed}@media (prefers-reduced-motion:reduce){.basecamp-btn,.basecamp-trip-card{transition:none}}.basecamp-error{color:#b43c3c;margin-top:.5rem;font-size:.9rem}.basecamp-success{color:var(--navy)}.basecamp-muted{color:var(--muted)}.basecamp-page--list{align-items:flex-start}.basecamp-list-shell{width:100%;max-width:640px;margin:0 auto}.basecamp-list-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;margin-bottom:1.5rem;display:flex}.basecamp-list-header h1{color:var(--navy);overflow-wrap:anywhere;min-width:0;margin:0}.basecamp-btn--ghost{color:var(--navy);border:1px solid var(--blue);background:0 0;padding:.5rem 1rem;font-size:.9rem}.basecamp-trip-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.basecamp-trip-card{background:var(--white);border-radius:var(--radius);color:var(--text);justify-content:space-between;align-items:center;gap:1rem;min-height:44px;padding:1.25rem 1.5rem;text-decoration:none;transition:opacity .15s;display:flex;box-shadow:0 4px 24px #19203c14}@media (width<=400px){.basecamp-trip-card{padding:1rem 1.1rem}}.basecamp-trip-card:hover{opacity:.85}.basecamp-trip-card--archived{background:var(--light);color:var(--muted);box-shadow:none;border:1px solid #19203c14}.basecamp-trip-card__info{flex-direction:column;gap:.25rem;min-width:0;display:flex}.basecamp-trip-card__title{color:var(--navy);overflow-wrap:anywhere;font-size:1.05rem;font-weight:600}.basecamp-trip-card--archived .basecamp-trip-card__title{color:var(--muted)}.basecamp-trip-card__meta{color:var(--muted);font-size:.85rem}.basecamp-trip-card__status{text-transform:uppercase;letter-spacing:.03em;border-radius:var(--radius);background:var(--ice);color:var(--navy);flex-shrink:0;padding:.25rem .6rem;font-size:.75rem;font-weight:600}.basecamp-trip-card__status--archived{border:1px solid var(--muted);color:var(--muted);background:0 0}.basecamp-page--detail{align-items:flex-start}.basecamp-detail-shell{flex-direction:column;gap:1.5rem;width:100%;max-width:640px;margin:0 auto;display:flex}.basecamp-detail-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;display:flex}.basecamp-detail-header h1{color:var(--navy);overflow-wrap:anywhere;min-width:0;margin:0}.basecamp-card--feed{text-align:left;max-width:none}@media (width<=400px){.basecamp-card--feed{padding:1.25rem 1rem}}.basecamp-section-title{color:var(--navy);margin:0 0 1rem;font-size:1.1rem}.basecamp-composer{border-bottom:1px solid #19203c14;margin-bottom:1.5rem;padding-bottom:1.5rem}.basecamp-textarea{resize:vertical;font-family:inherit}.basecamp-composer__row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;display:flex}.basecamp-checkbox{color:var(--muted);cursor:pointer;align-items:center;gap:.4rem;min-height:44px;font-size:.9rem;display:flex}.basecamp-checkbox input{width:18px;height:18px}.basecamp-post-list{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.basecamp-post{background:var(--light);border-radius:var(--radius);padding:1rem 1.25rem}.basecamp-post--pinned{background:var(--ice);border:1px solid var(--blue)}.basecamp-post__header{flex-wrap:wrap;align-items:center;gap:.4rem .5rem;margin-bottom:.5rem;display:flex}.basecamp-post__pin-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:var(--radius);background:var(--navy);color:var(--white);padding:.2rem .5rem;font-size:.7rem;font-weight:600}.basecamp-post__meta{color:var(--muted);font-size:.8rem}.basecamp-post__body{color:var(--text);white-space:pre-wrap;word-break:break-word;margin:0;line-height:1.45}.basecamp-post__actions{gap:.5rem;margin-top:.75rem;display:flex}.basecamp-btn--small{padding:.35rem .75rem;font-size:.8rem}.basecamp-btn--danger{color:#b43c3c;border-color:#b43c3c}.basecamp-chat{flex-direction:column;gap:.75rem;display:flex}.basecamp-chat__scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:120px;max-height:min(420px,60dvh);padding-right:.25rem;overflow-y:auto}@media (width<=480px){.basecamp-chat__scroll{max-height:min(360px,55dvh)}}.basecamp-chat-list{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.basecamp-chat-message{background:var(--light);border-radius:var(--radius);padding:.6rem .9rem;position:relative}.basecamp-chat-message--own{background:var(--ice)}.basecamp-chat-message--pending{opacity:.6}.basecamp-chat-message--failed{background:#b43c3c1a;border:1px solid #b43c3c59}.basecamp-chat-message__status--failed{color:#b43c3c;font-weight:600}.basecamp-chat-message__retry{margin-top:.4rem}.basecamp-chat-message__header{flex-wrap:wrap;align-items:baseline;gap:.2rem .5rem;margin-bottom:.2rem;display:flex}.basecamp-chat-message__author{color:var(--navy);font-size:.8rem;font-weight:600}.basecamp-chat-message__time{color:var(--muted);font-size:.75rem}.basecamp-chat-message__body{color:var(--text);white-space:pre-wrap;word-break:break-word;margin:0;font-size:.95rem;line-height:1.4}.basecamp-chat-message__body--deleted{color:var(--muted);font-style:italic}.basecamp-chat-message__delete{margin-top:.4rem}.basecamp-chat-composer{padding-bottom:env(safe-area-inset-bottom);align-items:flex-end;gap:.5rem;display:flex}.basecamp-chat-composer__input{flex:1;min-width:0}.basecamp-chat-composer__send{flex-shrink:0;min-width:64px}.basecamp-chat-composer__attach{flex-shrink:0;padding:.75rem;font-size:1.1rem}.basecamp-media{border-radius:var(--radius);width:100%;max-width:320px;display:block}.basecamp-media--loading{aspect-ratio:4/3;background:var(--light);max-width:320px}.basecamp-chat-message__media,.basecamp-post__media{margin-top:.5rem}.basecamp-chat-attachment-preview{background:var(--light);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem;padding:.5rem .75rem;display:flex}.basecamp-chat-attachment-preview__name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.85rem;overflow:hidden}.basecamp-detail-header__actions{flex-wrap:wrap;gap:.5rem;display:flex}.basecamp-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.5rem;display:grid}.basecamp-gallery-item{border-radius:var(--radius);cursor:pointer;aspect-ratio:1;background:0 0;border:none;min-width:44px;min-height:44px;padding:0;overflow:hidden}.basecamp-gallery-item__media{object-fit:cover;border-radius:0;width:100%;max-width:none;height:100%}.basecamp-lightbox{z-index:1000;background:#0a0e1cd9;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.basecamp-lightbox__content{flex-direction:column;align-items:center;gap:.75rem;max-width:100%;max-height:100%;display:flex}.basecamp-lightbox__media{object-fit:contain;width:auto;max-width:min(90vw,640px);height:auto;max-height:70dvh}.basecamp-lightbox__caption{color:var(--white);text-align:center;margin:0}.basecamp-lightbox__close{background:var(--white);color:var(--navy)}.basecamp-poll-composer__options{flex-direction:column;gap:.5rem;display:flex}.basecamp-poll-composer__option-row{align-items:center;gap:.5rem;display:flex}.basecamp-poll-composer__option-row .basecamp-input{flex:1}.basecamp-poll__options{flex-direction:column;gap:.4rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.basecamp-poll-option{background:var(--white);border-radius:var(--radius);width:100%;color:var(--text);cursor:pointer;text-align:left;border:1px solid #19203c1a;justify-content:space-between;align-items:center;gap:.5rem;min-height:44px;padding:.5rem .75rem;font-family:inherit;font-size:.9rem;display:flex;position:relative;overflow:hidden}.basecamp-poll-option:disabled{cursor:not-allowed;opacity:.7}.basecamp-poll-option--mine{border-color:var(--navy);font-weight:600}.basecamp-poll-option__bar{background:var(--ice);z-index:0;transition:width .15s;position:absolute;inset:0 auto 0 0}.basecamp-poll-option__label,.basecamp-poll-option__count{z-index:1;position:relative}.basecamp-poll-option__label{overflow-wrap:anywhere;min-width:0}.basecamp-poll-option__count{color:var(--muted);flex-shrink:0;font-size:.8rem}.basecamp-poll__total{margin-top:.5rem;font-size:.8rem}.basecamp-member-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.basecamp-member-row{background:var(--light);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.6rem .9rem;display:flex}.basecamp-member-row__info{flex-direction:column;gap:.15rem;min-width:0;display:flex}.basecamp-member-row__name{color:var(--navy);overflow-wrap:anywhere;font-weight:600}.basecamp-member-row__meta{color:var(--muted);font-size:.8rem}.basecamp-member-row__actions{flex-wrap:wrap;gap:.5rem;display:flex}
