.olive-word{color:var(--olive)}.card-action{padding:3px 0;margin-top:7px;background:transparent;border:0;color:#6f7657;font-size:10px;font-weight:700;cursor:pointer}.card-action:hover,.text-button:hover,.banner-action:hover{text-decoration:underline}.photo-card:focus-visible{outline:3px solid #aaa986;outline-offset:3px}.pending-art{position:absolute;inset:0;display:grid;place-items:center;color:#a5a18f;font-size:30px;background:linear-gradient(145deg,#eeece5,#e6e4da)}.quality-reason{margin:-13px 0 0;color:#979187;font-size:9px;line-height:1.5}.quality-heading{margin-top:33px}.memory-footnote{text-align:center;color:#9a978c;font-size:10px;margin:21px 0 0}.working{background:#d7a453;animation:pulse 1.4s infinite}.mini-spinner{width:13px;height:13px;border:2px solid #ffffff69;border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.access-form{display:block}.access-form form{display:grid;gap:8px;max-width:600px}.access-form form>span{color:#896f5b;line-height:1.6}.access-controls{display:flex;gap:8px}.access-controls input{flex:1;min-width:0;padding:0 11px;min-height:39px;border:1px solid #e8dfd6;border-radius:7px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.dragging:after{content:"Drop a few favourite photos to add them to your family library";position:fixed;inset:17px;display:grid;place-items:center;text-align:center;padding:28px;border:3px dashed #848d68;border-radius:22px;background:#faf9f5f2;z-index:40;color:#626a4e;font:500 24px "Playfair Display",Georgia,serif;pointer-events:none}.player-overlay{position:fixed;inset:0;z-index:50;background:#201f1b;display:grid;grid-template-columns:90px minmax(0,1fr) 90px;grid-template-rows:66px minmax(0,1fr) 78px;color:#f8f7f3}.player-top{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:0 25px}.player-brand{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:700;letter-spacing:-.6px}.player-brand .brand-mark{width:26px;height:26px;font-size:20px}.player-close{border:0;background:transparent;color:#f8f7f3;font-size:30px;cursor:pointer}.player-figure{grid-column:2;grid-row:2;margin:0;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px}.player-stage{position:relative;width:100%;height:calc(100% - 39px);display:grid;place-items:center}.player-image{position:relative;z-index:1;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;opacity:0;transition:opacity .25s}.player-image.loaded{opacity:1}.player-skeleton{position:absolute;inset:20%;background:linear-gradient(100deg,#302f2a 35%,#393831 50%,#302f2a 65%);background-size:220% 100%;animation:shimmer 1.5s infinite;border-radius:8px}.player-caption{display:grid;gap:4px;text-align:center}.player-caption strong{font-family:"Playfair Display",Georgia,serif;font-size:17px;font-weight:500}.player-caption span{font-size:10px;color:#a9a69b}.player-arrow{align-self:center;justify-self:center;border:1px solid #ffffff26;background:#ffffff10;color:white;width:46px;height:46px;border-radius:50%;font-size:28px;cursor:pointer;transition:background .15s}.player-arrow:hover{background:#ffffff27}.player-bottom{grid-column:1/-1;grid-row:3;display:flex;align-items:center;gap:15px;padding:0 27px;color:#d5d1c6;font-size:10px}.player-counter{min-width:62px}.player-progress{flex:1;accent-color:#bdc39b;cursor:pointer}.player-play{min-width:120px;padding:9px 12px;border:1px solid #ffffff31;background:transparent;border-radius:6px;color:white;font-size:10px;cursor:pointer}.player-play:hover{background:#ffffff12}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.47}}@media(max-width:600px){.player-overlay{grid-template-columns:48px minmax(0,1fr) 48px;grid-template-rows:54px minmax(0,1fr) 67px}.player-top{padding:0 15px}.player-arrow{width:35px;height:35px;font-size:23px}.player-bottom{padding:0 12px;gap:9px}.player-play{min-width:104px}.player-caption strong{font-size:15px}.connection-panel.access-form{align-items:stretch}.access-controls{flex-direction:column}.dragging:after{font-size:19px;inset:8px}}

/* Chat-first photo library home */
.sidebar{width:220px;padding:26px 18px}.main-panel{margin-left:220px}.side-heading,.navigation,.side-note,.sidebar-bottom{display:none}.family-picker{margin-top:38px}.family-picker select{font-size:12px}.new-family-button{font-size:11px}
.chat-page{max-width:960px;margin:0 auto;padding:48px 0 30px}.chat-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:25px}.chat-heading .eyebrow{color:var(--olive)}.chat-heading h1{font-size:34px;margin:8px 0}.chat-heading p{margin:0;color:#89877c;font-size:13px}.chat-panel{border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 10px 32px #35331d0a;padding:18px 20px 14px}.chat-thread{min-height:145px;max-height:340px;overflow:auto;display:flex;flex-direction:column;gap:13px;padding:4px 2px 16px}.chat-message{display:flex;align-items:flex-start;gap:10px;max-width:84%}.user-message{align-self:flex-end;flex-direction:row-reverse}.chat-avatar{width:28px;height:28px;display:grid;place-items:center;flex:none;border-radius:50%;background:#eef0e8;color:#656d4e;font-size:10px;font-weight:700}.user-message .chat-avatar{background:#eee8e2;color:#826651}.chat-bubble{padding:11px 14px;border-radius:4px 13px 13px 13px;background:#f5f5f0;color:#535249;font-size:12px;line-height:1.6}.user-message .chat-bubble{background:#697252;color:white;border-radius:13px 4px 13px 13px}.chat-composer{display:flex;align-items:flex-end;gap:10px;border:1px solid #e7e5dc;border-radius:12px;padding:8px 9px 8px 14px;background:#fff}.chat-composer:focus-within{border-color:#a7aa8d;box-shadow:0 0 0 3px #858c6417}.chat-composer textarea{flex:1;resize:vertical;min-height:40px;max-height:120px;border:0;outline:0;padding:10px 0;color:var(--ink);font:12px "DM Sans",sans-serif}.chat-composer textarea::placeholder{color:#aaa89e}.chat-composer button{width:37px;height:37px;border:0;border-radius:9px;background:var(--olive);color:white;font-size:22px;cursor:pointer}.chat-shortcuts{display:flex;gap:8px;flex-wrap:wrap;padding:12px 2px 1px}.chat-shortcuts button{border:1px solid #e9e7e0;border-radius:20px;background:#fff;padding:7px 11px;color:#77766c;font:10px "DM Sans",sans-serif;cursor:pointer}.chat-shortcuts button:hover{background:#f4f4ee;border-color:#d9dacb;color:#60694b}.chat-results{margin-top:34px}.chat-results .section-heading{margin-bottom:14px}.chat-results .photo-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.chat-results .empty-state{min-height:160px}.chat-results .empty-state .button{display:none}
@media(max-width:1100px){.main-panel{margin-left:220px}.chat-results .photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.sidebar{width:260px;padding:18px 15px}.main-panel{margin:0}.family-picker{margin-top:20px}.chat-page{padding:30px 0 22px}.chat-heading h1{font-size:28px}.chat-heading p{font-size:11px}.chat-heading>.button{padding:10px 11px;font-size:10px}.chat-panel{padding:14px 12px 11px}.chat-thread{min-height:130px}.chat-message{max-width:94%}.chat-results .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Stronger contrast and a quieter, more structured chat layout */
:root{--paper:#f0f1eb;--line:#d6d9cc;--olive:#586442;--olive-dark:#465237;--olive-pale:#e4e8dc;--shadow:0 8px 24px rgba(38,43,29,.09)}
.sidebar{background:#e6e9df;border-right:1px solid #cbd0c1}.brand{font-size:21px}.family-picker select{background:#f8f9f5;border:1px solid #bdc4b2;border-radius:6px}.new-family-button{font-weight:700}
.topbar{border-color:#d3d6ca}.sync-status{color:#596247}.status-dot{background:#64784b}
.chat-page{max-width:900px;padding-top:30px}.chat-heading{margin-bottom:17px}.chat-heading h1{font-size:30px;letter-spacing:-.7px}.chat-heading p{color:#62665a}.chat-panel{border:2px solid #7c8668;border-radius:10px;background:#fff;box-shadow:0 8px 22px rgba(48,53,37,.08);padding:15px 16px 12px}.chat-thread{min-height:125px;max-height:290px;border-bottom:1px solid #e0e3d8;margin-bottom:12px}.chat-avatar{background:#dfe5d5;color:#465237}.user-message .chat-avatar{background:#d8ddd0;color:#3f4c33}.chat-bubble{background:#ecefe7;color:#30352a;border:1px solid #d9ded0;border-radius:4px 10px 10px 10px}.user-message .chat-bubble{background:#586442;color:#fff;border:1px solid #465237;border-radius:10px 4px 10px 10px}.chat-composer{border:2px solid #aab19a;border-radius:8px;padding:6px 7px 6px 12px}.chat-composer:focus-within{border-color:#586442;box-shadow:0 0 0 3px #58644220}.chat-composer textarea{font-size:13px}.chat-composer button{border-radius:6px;background:#586442}.chat-shortcuts{padding-top:10px}.chat-shortcuts button{background:#f2f4ee;border:1px solid #cbd1c0;border-radius:6px;color:#465237;font-weight:600}.chat-shortcuts button:hover{background:#e4e8dc;border-color:#879171}.chat-results{margin-top:25px;padding-top:17px;border-top:2px solid #cbd0c1}.chat-results .section-heading h2{font-size:19px;color:#30352a}.chat-results .section-heading p{color:#62665a}.chat-results .photo-card{border:1px solid #cbd0c1;border-radius:7px;box-shadow:0 2px 7px rgba(45,49,37,.05)}.chat-results .empty-state{border:1px solid #cbd0c1;border-radius:8px;background:#e8ebe3;min-height:130px}.chat-page .eyebrow{color:#596247}.chat-page .button-primary{background:#586442}.chat-page .button-primary:hover{background:#465237}.footer-note{display:none}
@media(max-width:760px){.chat-page{padding-top:20px}.chat-heading h1{font-size:25px}.chat-panel{padding:12px 10px 10px}.chat-results{margin-top:21px;padding-top:13px}}

/* Keep feature navigation and account actions reachable */
.side-heading{display:block;margin:7px 8px 10px;color:#697252}.navigation{display:grid;gap:4px}.nav-link{display:flex;align-items:center;gap:10px;min-height:39px;padding:8px 10px;border:1px solid transparent;border-radius:6px;background:transparent;color:#4d5145;text-align:left;font-size:11px;cursor:pointer}.nav-link:hover{background:#f4f6f0;border-color:#cbd1c0}.nav-link.active{background:#dce2d3;border-color:#bcc5ad;color:#3f4b32;font-weight:700}.nav-icon{width:17px;text-align:center;color:#586442}.nav-count{margin-left:auto;color:#737966;font-size:10px}.warm-count{color:#a66c46}.sidebar-bottom{display:grid;margin-top:auto;padding-top:14px;border-top:1px solid #cbd0c1}.member-button{min-height:34px;padding:4px 6px;color:#465237}.profile-row{padding-top:8px}.brand{cursor:pointer}
@media(max-width:760px){.side-heading,.navigation,.sidebar-bottom{display:block}.navigation{display:grid}.sidebar-bottom{display:grid}}
.tool-message .chat-avatar{width:auto;min-width:44px;padding:0 7px;border-radius:5px;background:#e4e8dc;color:#465237;font-size:9px}.tool-message .chat-bubble{padding:7px 10px;border:1px dashed #899373;background:#f1f3ed;color:#465237;font:600 10px ui-monospace,Consolas,monospace}.persistent-chat{padding-top:18px;padding-bottom:16px}.persistent-chat .chat-heading{margin-bottom:10px}.persistent-chat .chat-heading h1{font-size:22px}.persistent-chat .chat-panel{padding:12px}.persistent-chat .chat-thread{min-height:55px;max-height:150px}.persistent-chat .chat-composer button{width:auto;min-width:56px;padding:0 10px;font-size:11px}.chat-composer button{width:auto;min-width:52px;padding:0 10px;font-size:12px;font-weight:700}

/* Chat attachment control */
.chat-composer .chat-attach{width:37px;height:37px;flex:none;border:1px solid #cbd0c1;border-radius:10px;background:#edf0e8;color:#465237;font-size:25px;font-weight:400;line-height:1;transition:background .15s,border-color .15s}.chat-composer .chat-attach:hover{background:#e1e6d9;border-color:#aeb79f}.chat-composer .chat-send{flex:none;display:grid;place-items:center;font-size:22px}.chat-attach:focus-visible,.chat-send:focus-visible{outline:3px solid #aaa986;outline-offset:2px}

/* Upload progress and local preview while background processing runs */
.pending-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.tool-message .chat-bubble{font:500 11px sans-serif;line-height:1.55}.chat-composer .chat-attach{width:37px;min-width:37px;height:37px;flex:none;padding:0;border:1px solid #cbd0c1;border-radius:10px;background:#edf0e8;color:#465237;font-size:25px;font-weight:400;line-height:1;transition:background .15s,border-color .15s}.chat-composer .chat-attach:hover{background:#e1e6d9;border-color:#aeb79f}.chat-composer .chat-send{width:37px;min-width:37px;height:37px;flex:none;display:grid;place-items:center;padding:0;font-size:22px}.chat-attach:focus-visible,.chat-send:focus-visible{outline:3px solid #aaa986;outline-offset:2px}

/* Direct, confirmed delete action on each photo thumbnail */
.photo-trash{position:absolute;z-index:4;top:8px;right:8px;width:34px;height:34px;display:grid;place-items:center;padding:0;border:1px solid #ffffffa8;border-radius:9px;background:#25271ed9;color:#fff;cursor:pointer;opacity:.94;transition:background .15s,transform .15s}.photo-trash:hover{background:#8a4137;transform:scale(1.04)}.photo-trash svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.photo-trash:focus-visible{outline:3px solid #fff;outline-offset:2px}

/* Branded, reversible photo-removal confirmation */
.dialog-icon-danger{background:#f5e7e3;color:#934b3e;font-weight:700}.confirm-dialog .dialog-copy strong{display:block;margin-bottom:5px;color:#48463d;overflow-wrap:anywhere}.confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.confirm-actions .button{min-height:40px;padding:0 15px;font-size:11px}.button-keep{border:1px solid #d5d9cc;background:#f1f3ed;color:#4e5a3c}.button-keep:hover{background:#e7ebdf}.button-danger{border:1px solid #8d4c41;background:#8d4c41;color:#fff}.button-danger:hover{background:#733b33;border-color:#733b33}@media(max-width:480px){.confirm-actions{flex-direction:column-reverse}.confirm-actions .button{width:100%;justify-content:center}}

.confirm-dialog form{padding:29px 30px 26px}.confirm-dialog h2{max-width:330px;font-family:inherit;font-size:20px;font-weight:700;letter-spacing:-.35px;line-height:1.35}.confirm-dialog .confirm-copy{margin:0;color:#79776f}.confirm-dialog .confirm-copy strong{margin-bottom:2px}


/* Make photo recovery easy to recognise in Recently deleted */
.restore-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;margin-top:10px;padding:0 12px;border:1px solid #596442;border-radius:6px;background:#596442;color:#fff;font-size:11px;font-weight:700;text-decoration:none;transition:background .15s,border-color .15s,transform .15s}.restore-action:hover{background:#465237;border-color:#465237;text-decoration:none;transform:translateY(-1px)}.restore-action svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.restore-action:focus-visible{outline:3px solid #aeb79f;outline-offset:2px}
