/* Witness identity. Layout/safe-area/keyboard ownership stays in mobile-layout.css. */
:root{--brand:#c74728;--brand-bright:#f46b38;--brand-soft:#fff0e7;--ink:#342b40;--paper:#fffaf4;--white:#fff;--line:#e9e2dc;--soft:#f1eaf6;--muted:#726777;--plum:#493453;--champagne:#e9edac;--coral:#c74728;--shadow:0 12px 32px #43304912}
html,body{color:var(--ink);background:var(--paper)}
.btn{border-radius:17px;transition:background-color .15s,box-shadow .15s,transform .15s}
.btn.primary,.btn.gold{background:var(--brand);color:#fff;box-shadow:0 5px 0 #96331b,0 10px 18px #c7472815}
.btn.primary:active,.btn.gold:active{transform:translateY(2px);box-shadow:0 2px 0 #96331b}
.btn.soft{background:#f0e9f6;color:var(--ink)}
.btn:disabled{box-shadow:none;opacity:.55;cursor:default}
.btn.ghost{color:var(--ink);border-color:var(--line)}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--brand);outline-offset:3px}
.eyebrow,.sub,.fineprint,.field label,.field label span,.member-status,.presence,.bubble-name,.message-time,.memory-caption{color:var(--muted)}
h1,h2,h3,.title{color:var(--ink)}
.topbar .wordmark{color:var(--ink)}
.top-actions{gap:7px}.top-actions .pill{background:#eee8f4;color:#574264}
.top-actions .budget-access{background:#f7edcc;border-color:#eedca7;color:#57472b}
.top-actions .budget-access.active{background:#534060;color:white;border-color:#534060}
.icon-btn,.members-pill{background:#f2eaf4;color:var(--ink)}
.page-heading{margin-top:20px}.page-heading h1,.favorites-screen h1{font-size:32px;font-weight:750;letter-spacing:-1.2px}
.card,.vote-card,.timeline-card{background:#fff;border-color:var(--line);box-shadow:0 4px 14px #49345304}
.section-head h2{font-family:inherit;font-size:22px;font-weight:750;letter-spacing:-.7px}
.section-head button{color:#9e3921;min-height:40px}
.home-screen .witny-greeting{margin:18px 0;gap:8px}
.home-screen .witny-greeting h1{font-size:34px;line-height:1.06;letter-spacing:-1.4px;margin:10px 0 0}
.home-screen .witny-greeting h1 span{font-family:Georgia,serif;font-style:italic;color:var(--brand);font-weight:500}
.home-screen .witny-greeting .eyebrow{font-size:9px;letter-spacing:.08em;line-height:1.5}
.home-screen .mascot-button:before{background:#f0e6fa}
.home-screen .trip-cover{margin-bottom:16px;padding:62px 13px 13px;border-radius:25px;background:#463253;box-shadow:none}
.home-screen .trip-cover>img{filter:saturate(.72);object-position:50% 28%;opacity:.8}
.home-screen .trip-cover:after{background:linear-gradient(180deg,#35293e10,#35293e50)}
.home-screen .trip-cover .cover-copy{background:#fffaf4f5;border:1px solid #ffffffc0;border-radius:16px;padding:14px 15px;box-shadow:0 5px 18px #392c4120}
.home-screen .trip-cover .cover-copy h2{color:var(--ink);font-size:24px;letter-spacing:-.8px;line-height:1.1;margin:6px 0 8px;overflow-wrap:anywhere}
.home-screen .trip-cover .cover-copy p{color:#706574;font-size:11px;line-height:1.5;margin:0}
.home-screen .trip-cover .cover-kicker{color:#815136;font-size:9px}
.home-screen .trip-countdown{background:#edf1ab;color:#414927;padding:7px 11px;font-size:10px;top:13px;left:14px;transform:rotate(-3deg)}
.home-screen .next-card{background:#ffede3;border:1px solid #f5d7c6;border-radius:24px;padding:18px 19px 22px;margin:0 0 17px;box-shadow:none}
.next-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}
.next-heading .eyebrow{color:#9d4227}.next-spark{font-size:21px;line-height:1;color:var(--brand)}
.home-screen .next-card h2{font-size:23px;line-height:1.13;letter-spacing:-.7px;font-weight:750;margin:9px 0}
.home-screen .next-card p{font-size:12px;line-height:1.55;color:#776055;margin:0 0 16px}
.home-essentials{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 18px}
.home-essentials>button{display:flex;flex-direction:column;align-items:flex-start;min-width:0;border:0;border-radius:22px;padding:17px;text-align:left;color:var(--ink);transition:transform .15s}
.home-essentials>button:active{transform:scale(.975)}
.essential-budget{background:#f4edc4}.essential-favorites{background:#eae1f5}
.essential-icon{display:grid;place-items:center;background:#ffffff96;width:35px;height:35px;border-radius:12px;margin-bottom:12px;font-size:27px;line-height:1}
.essential-icon svg{width:19px;height:19px}.home-essentials strong{font-size:15px}.home-essentials b{font-size:20px;font-weight:750;letter-spacing:-.5px;margin:8px 0 5px;overflow-wrap:anywhere}
.home-essentials small{font-size:10px;line-height:1.5;color:#6e6174}
.home-screen .home-studio{background:#45324f;border:1px solid #594263;border-radius:26px;padding:23px 20px;margin:0 0 22px;gap:15px;box-shadow:0 7px 0 #e8dfd7}
.home-studio:after{content:'';width:130px;height:130px;border:1px solid #e5d5f035;border-radius:50%;right:-22px;top:-23px;box-shadow:0 0 0 25px #e5d5f012,0 0 0 50px #e5d5f00b}
.home-studio>img{width:86px;height:100px;object-fit:contain;flex-shrink:0;transform:rotate(-6deg);filter:drop-shadow(0 5px 0 #24182940)}
.home-studio .studio-label{color:#efd4ba;font-size:9px;letter-spacing:.13em;margin-bottom:9px}
.home-studio strong{font-family:inherit;font-size:24px;font-weight:720;letter-spacing:-.6px;line-height:1.08;color:#fff8ef}
.home-studio small{color:#e2d4e6;font-size:11px;line-height:1.5;margin-top:9px}
.studio-link{display:inline-flex;align-items:center;gap:12px;margin-top:14px;color:#f3edb5;font-size:11px;font-weight:750}
.readiness{background:white;border:1px solid var(--line);border-radius:20px;padding:17px;margin-top:0;color:#716576;font-size:12px}
.readiness>strong{color:#5e426d}.readiness .progress{background:#f0e8f4}.readiness .progress>span{background:#897096}
.readiness-labels{gap:4px;flex-wrap:wrap}.readiness-labels button{background:none;border:0;padding:8px 1px;min-height:34px;font-size:10px;color:#706675;font-weight:600}.readiness-labels .checked{color:#573c64}
.home-screen .home-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:15px 0 0}
.home-screen .home-shortcuts button{background:#e8f0f8;border:0;border-radius:20px;min-width:0}
.home-screen .home-shortcuts button+button{background:#f6e3ea;border:0}.home-shortcuts strong{color:var(--ink)}.home-shortcuts span{color:#736678}
.moment-row,.empty-inline{border-color:var(--line);background:#fff;color:var(--ink)}.moment-time{color:#976242;background:#fff0e4}.moment-row small{color:var(--muted)}
.home-signature{text-align:center;color:var(--muted);font:italic 13px/1.6 Georgia,serif;margin:5px 0 0}
.install-link{color:#725f7a;min-height:44px}
.tabbar:before{border-color:#e7dce4;box-shadow:0 5px 24px #4b304d12;background:#fffffffa}
.tab{color:#7b6e80}.tab.active{color:var(--brand)}.tab.active svg{background:var(--brand);color:#fff}.nav-badge{background:#b53c23;border-color:#fff}
.send-btn{background:var(--brand);color:white}.send-btn:disabled{background:#b7a2ab}.plus-btn{background:#efe2f5;color:#634571}
.context-token{background:#f2eaf6;border-color:#e7dceb;color:#5f4a6d}.context-budget{background:#f5edcb;color:#64502d;border-color:#e7d8a8}
.composer-box{border-color:#e8dfe5;box-shadow:0 3px 18px #49345308}.composer-box:focus-within{border-color:var(--brand);box-shadow:0 0 0 2px #c7472815}
.mine .bubble{background:#493453;border-color:#493453;color:white}.ai .bubble{background:#fff0e5;border-color:#f1ddcb;color:#4b3c41}
.quick-prompts button{background:#fff;border-color:#e9dfe6;color:#624d69}
.chat-bottom{background:var(--brand);color:#fff;border-color:var(--brand)}
.choice-card,.field input,.field textarea,.field select{border-color:#e5dde4}.choice-card:has(input:checked),.join-choice:has(input:checked){border-color:var(--brand);background:#ffede2}.choice-card input{accent-color:var(--brand)}
.kind-options .pill.selected{background:var(--brand);border-color:var(--brand);color:#fff}
.step-progress span.active,.join-progress span.active{background:var(--brand)}
.planning-details{border:1px solid var(--line);border-radius:17px;padding:13px 15px;margin:15px 0;background:#fff}
.planning-details summary{font-size:13px;font-weight:700;min-height:24px;cursor:pointer}.planning-details summary span{font-size:11px;color:var(--muted);font-weight:400;margin-left:6px}
.create-summary{padding:16px;border-radius:16px;background:#f1e6f7;font-size:16px;font-weight:750;overflow-wrap:anywhere}.create-summary small{font-size:11px;font-weight:500;display:block;margin-top:5px;color:var(--muted)}
.join-steps{display:flex;flex-wrap:wrap;justify-content:space-between;gap:9px;font-size:11px;color:#786379;margin:0 0 24px}.join-steps b{color:var(--brand)}.join-steps>div{height:4px;flex-basis:100%;background:#eee3e6;border-radius:5px;overflow:hidden}.join-steps i{display:block;height:100%;background:var(--brand)}
.join-copy h1 em{color:var(--brand)}.join-photo{border-radius:26px}.invite-card{background:#f0e7f6;border:0}.invite-card h2{color:#493453}.invite-meta span{background:#fff8;color:#6b5279}
.vote-card{border-radius:24px}.vote-option{background:#faf7fc;border-color:#e9e1ed}.vote-option.selected{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand);background:#fff0e6}.selected .vote-radio:after{background:var(--brand)}.bar span{background:#a080b0}
.budget-total,.recap-cover{background:#46344f;color:#fff}.budget-total .eyebrow,.budget-total .sub{color:#e6d4eb}.budget-total .amount{color:#fff}.budget-split{color:#e6d4eb}.recap-cover h1{color:#fff}
.memories-heading .eyebrow{color:#8b5e84}.memories-title{font-size:35px;font-weight:750}.memories-title span{color:var(--brand);font:italic 37px/1.1 Georgia,serif}.memory-filters button{background:#f0e7f6;color:#664b72}.memory-filters button[aria-pressed=true]{background:#493453;border-color:#493453}.memory-summary strong{color:var(--ink)}.memory-keep{border-color:var(--line);color:var(--ink)}
.film-card{background:#fff4e9;border-color:#efd9c6;box-shadow:0 10px 28px #6f452811}.film-overline{color:#875745}.film-pilot{background:#ede3f7;color:#624371;border-color:#decee8}.film-card h2{color:var(--ink)}.film-card h2 em{color:var(--brand)}.film-card>p{color:#806758}.film-card>.btn{background:var(--brand);color:#fff;box-shadow:0 5px 0 #96331b}.film-editor fieldset{border-color:#ead7c9}.film-advanced{background:#f0e5f6}.film-styles button[aria-pressed=true]{background:#493453;border-color:#493453;box-shadow:0 4px 0 #d7c4e0}.film-result{background:#493453}
.welcome-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.welcome-top .wordmark{display:flex;align-items:center;font-size:27px}.welcome-return{border:1px solid #e5dce7;border-radius:30px;background:#fff;color:#67536e;min-height:39px;padding:8px 13px;font-size:11px;font-weight:700}
.welcome-collage{margin:22px 0 15px;height:clamp(205px,29vh,270px);min-height:205px}
.collage-orbit{position:absolute;inset:7% 3%;background:#f0e4fa;border-radius:50%;transform:rotate(-15deg)}
.photo-paper-back{transform:rotate(-13deg);height:85%;width:50%;left:1%}.photo-paper-front{transform:rotate(9deg);width:65%;right:1%;height:86%}
.photo-paper span{font:italic 15px Georgia,serif;color:#67516e}.photo-paper-back span{font-size:12px}
.collage-sticker{position:absolute;right:4%;bottom:1%;border-radius:50%;background:#edf0aa;color:#48492b;font-size:13px;font-weight:800;text-align:center;line-height:1.15;padding:19px 14px;transform:rotate(12deg);z-index:3;box-shadow:0 3px 0 #c4ca7a}
.collage-witny{left:2%;bottom:-4px}.collage-witny .witny-mark{width:72px;height:80px}
.welcome-hero h1{font-size:29px;line-height:1.13;font-weight:750;letter-spacing:-1.1px;margin:14px 0}
.welcome-hero em{font:italic 30px/1.15 Georgia,serif;color:var(--brand)}
.welcome-hero p{font-size:12px;color:#806c79;line-height:1.65}
.welcome-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:23px 0 0}
.welcome-benefits span{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:9px;font-weight:650;color:#715977;line-height:1.4;text-align:center}
.welcome-benefits svg{width:31px;height:31px;padding:7px;background:#f0e6f7;border-radius:10px;box-sizing:content-box}
.welcome-benefits span:nth-child(2) svg{background:#f3edc2}.welcome-benefits span:nth-child(3) svg{background:#ffe7d7}
.welcome-actions{padding-top:17px}.welcome-actions .btn{font-size:14px;min-height:50px}.welcome-note{color:var(--muted);font-size:10px}
@media(min-width:760px){body{background:radial-gradient(ellipse at 20% 15%,#fbe6d8,transparent 55%),radial-gradient(ellipse at 90% 75%,#e1d4f1,transparent 60%),#f6eee8}.app-shell{box-shadow:0 25px 75px #6b426526;border-color:#fff}.welcome-collage{height:230px}}
@media(max-width:359px){.home-screen .witny-greeting h1{font-size:29px}.home-screen .witny-greeting .eyebrow{font-size:8px}.home-screen .trip-cover .cover-copy h2{font-size:22px}.home-screen .next-card h2{font-size:21px}.home-essentials>button{padding:14px}.home-essentials b{font-size:17px}.home-studio>img{width:66px;height:83px}.home-studio strong{font-size:21px}.home-studio small{font-size:10px}.welcome-hero h1{font-size:24px}.welcome-hero em{font-size:26px}.welcome-collage{min-height:165px;height:165px}.welcome-benefits{margin-top:18px}.welcome-benefits span{font-size:8px}.welcome-top .wordmark{font-size:24px}.welcome-return{font-size:10px;padding:8px 10px}.readiness-labels button{font-size:9px}}
@media(max-height:740px){.welcome-collage{height:180px;min-height:180px;margin-top:14px}.welcome-benefits{margin-top:16px}.welcome-benefits svg{width:25px;height:25px;padding:6px}.welcome-hero h1{font-size:26px}.welcome-hero em{font-size:28px}}
@media(prefers-reduced-motion:reduce){.btn,.home-essentials>button{transition:none}}
@media print{body{background:white}.home-studio{box-shadow:none}}

@media(hover:hover){.btn.primary:hover,.btn.gold:hover{background:#b53d21}}
