/* ARIA — diário de viagem. Paleta e composição inspiradas na referência. */
:root{--bg:#faf2e7;--ink:#302318;--line:#dfcbb7;--muted:#746553;--terracotta:#ab542d;--terracotta-dark:#8c3e1c;--olive:#68704a;--accent-outline:#bb7047;--paper:#fff9f0}
body{background:#ecddc9;color:var(--ink);font-weight:400;-webkit-font-smoothing:antialiased}
#app{max-width:480px;background:var(--bg);isolation:isolate}
h1,h2,h3,.serif{font-weight:500;letter-spacing:-.035em}
a,button{-webkit-tap-highlight-color:transparent}
.page{padding:22px 22px 40px}.with-nav{padding-bottom:108px}.muted{color:var(--muted)}
.primary,.pill.active{background:var(--terracotta);border-color:var(--terracotta);color:#fffaf3}
.primary{border-radius:12px;font-weight:600;min-height:46px;box-shadow:inset 0 1px 0 #ffffff25}
.primary:hover{background:var(--terracotta-dark)}
.pill{border-color:var(--line)}.pill:hover{border-color:var(--terracotta)}
.circle{background:#f1e3d2}.circle.plus{background:var(--terracotta);border:1px solid #fff7eb;color:#fff8ef;box-shadow:0 0 0 1px #ba724645;width:42px;height:42px}
.avatar{background:linear-gradient(140deg,#bd774b,#a14d28);color:#fff5e7;border:1px solid #fff8eb}
.home-greeting .avatar::after,.profile-top>.avatar::after,#avatar-preview>.avatar::after,.trip-thumb::after,.home-hero::after{display:none}
.brand-header{display:flex;align-items:center;justify-content:space-between;min-height:42px;margin-bottom:14px;position:relative;z-index:1}
.wordmark{font:500 24px/1 'ARIA Display',Georgia,serif;letter-spacing:.28em;padding-left:4px}
.brand-header .avatar{height:38px;width:38px;font-size:21px}
.brand-back{width:38px;min-height:42px;display:flex;align-items:center}.brand-back svg{width:23px;stroke-width:1.3}
.brand-header:has(.brand-back) .wordmark{position:absolute;left:50%;transform:translateX(-50%)}
.home-page{position:relative;overflow:hidden}.home-page::before{content:"";position:absolute;top:-104px;right:-124px;width:350px;height:225px;border-radius:48% 0 45% 55%;transform:rotate(24deg);background:linear-gradient(125deg,#f0ddc6aa,#e8c7a64d);pointer-events:none;z-index:-1}
.home-greeting{margin:12px 0 26px}.home-greeting h1{font-size:46px;line-height:1.08;font-weight:500;letter-spacing:-.045em}.home-greeting p{font-size:14px;color:var(--ink);margin-top:8px;font-weight:400}
.home-story{height:278px;padding:24px;border-radius:18px;background:#f0e2cd;color:var(--ink);display:block}
.home-story .hero-content{width:57%;padding-top:1px}.home-story h2{font-size:34px;line-height:1.03;font-weight:500}.home-story p{font-size:13px;line-height:1.65;margin-top:14px;color:var(--ink);font-weight:400}.story-cta{display:inline-flex;width:auto;min-width:142px;align-items:center;justify-content:center;margin-top:18px;padding:10px 18px;font-size:14px;border:1px solid #fff4e7}
.stats{margin-top:18px;padding:14px 0 18px;border-color:var(--line)}.stats>a{min-height:0;padding:0 8px;text-align:center}.stats>a+a{border-color:var(--line);text-align:center}.stats .number{font-size:43px;line-height:1.05;font-weight:500;margin:0 0 4px;color:var(--ink)}.stats>a>p:last-child{font-size:12px}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 14px}.section-heading h2{font-size:29px}.section-heading>a{font-size:11px;color:var(--terracotta)}
.recent-card{display:flex;align-items:center;gap:16px;width:100%;margin:0}.recent-card .trip-thumb{height:92px;width:124px;border-radius:13px;flex-shrink:0}.recent-card .grow{min-width:0}.recent-card h3{font-size:24px;line-height:1.1;overflow-wrap:anywhere}.recent-card p{font:400 11px/1.5 Jakarta,Arial,sans-serif;margin-top:5px;color:var(--muted)}.recent-card>svg{width:16px;height:16px;stroke-width:1.3}
.trip-thumb{background:#e7dfc9;color:var(--olive)}.trip-thumb>span:not(.thumb-rating){display:block}.trip-thumb .thumb-rating{background:#faf2e7eb;color:var(--ink);backdrop-filter:blur(4px)}
.empty-memory{text-align:center;padding:10px 16px 16px;color:var(--muted)}.memory-mark{display:grid;place-items:center;margin:0 auto 12px;width:42px;height:42px;color:var(--olive)}.memory-mark svg{width:38px;height:38px;stroke-width:1}.empty-memory p{font-size:13px;line-height:1.7}.empty-memory>a{display:inline-block;margin-top:12px;color:var(--terracotta)}
.best-memory{margin-top:24px;border-top:1px solid var(--line);padding:16px 0;display:flex;align-items:center;gap:12px;font-size:11px;color:var(--muted)}.best-memory>svg{color:var(--olive);width:23px;height:23px}.best-memory>span:first-of-type{flex:1}.best-memory strong{font-weight:500;color:var(--ink)}.best-memory .serif{font-size:27px;color:var(--terracotta)}
.bottom-nav{max-width:480px;height:74px;padding:10px 0 max(10px,env(safe-area-inset-bottom));background:#faf2e7f5;border-top:1px solid var(--line);backdrop-filter:blur(16px)}
.bottom-nav a{color:var(--ink);font-size:12px;gap:3px;text-transform:capitalize;justify-content:center}.bottom-nav .nav-icon{width:38px;height:29px;border-radius:0}.bottom-nav svg{width:23px;height:23px;stroke-width:1.25}.bottom-nav .active{color:var(--terracotta-dark);font-weight:600}.bottom-nav .active .nav-icon{background:transparent;color:var(--terracotta)}.bottom-nav .active svg{fill:#b45e3520;stroke-width:1.8}
.trips-page .brand-header{margin-bottom:13px}.trips-heading h1{font-size:43px}.trip-filters{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:24px 0 16px;overflow:visible;border-bottom:1px solid var(--line)}.trip-filters button{font-size:13px;min-height:42px;position:relative;padding:0 6px 14px;font-weight:400;text-transform:none;color:var(--ink)}.trip-filters button.active{color:var(--terracotta-dark);font-weight:700}.trip-filters button.active::after{content:"";position:absolute;bottom:-2px;left:8px;right:8px;height:3px;background:var(--terracotta);border-radius:3px}
.destination-stat{border:0;padding:19px 12px 44px;margin:0 0 17px;border-radius:0 0 14px 14px;min-height:122px;background:none}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.17em;text-transform:uppercase;color:#515e32}.destination-count{font:italic 500 26px/1.2 'ARIA Display',Georgia,serif;margin-top:5px;position:relative;text-shadow:0 1px 8px var(--bg)}
.trip-list{display:grid;gap:16px;margin:0}.trip-row{display:flex;gap:14px;position:relative;border:1px solid #e7d2bb;border-radius:16px;padding:0;overflow:hidden;box-shadow:0 2px 4px #61452c0d;background:#fcf5eb}.trip-row .trip-thumb{width:41%;height:auto;align-self:stretch;border-radius:0;min-height:126px}.trip-card-copy{padding:14px 10px 14px 0;min-width:0}.trip-row h2{font-size:24px;font-weight:500;line-height:1.1;white-space:normal;overflow-wrap:anywhere}.trip-row p.trip-meta{display:flex;align-items:flex-start;gap:7px;color:var(--ink);font-size:11px;text-transform:none;margin:7px 0 0;line-height:1.5}.trip-meta svg{width:14px;height:16px;stroke-width:1.25}.trip-meta span{overflow-wrap:anywhere}.trip-chevron{padding-right:12px}.trip-chevron svg{width:15px;height:15px}.status-label{font-size:10px;padding:2px 7px;margin:8px 0 0;display:inline-flex;align-items:center;gap:4px;border-radius:7px;letter-spacing:0;color:var(--muted);text-transform:none;background:#f0e4d4}.status-label.is-complete{background:#e2e2ca;color:#424d2e}.status-label svg{height:13px;width:13px}
.trip-featured{display:block}.trip-featured .trip-thumb{display:block;width:100%;height:184px;min-height:0;border-radius:0}.trip-featured .trip-card-copy{padding:10px 15px 14px;position:relative}.trip-featured h2{font-size:29px;padding-right:0}.trip-featured .status-label{position:absolute;right:13px;bottom:15px;max-width:104px}.trip-featured .trip-meta{padding-right:100px}.trip-featured .trip-chevron{display:none}
.empty-trips{text-align:center;padding:25px 14px}.empty-trips h2{font-size:29px}.empty-trips p{font-size:13px;color:var(--muted);line-height:1.7;margin:12px 0 20px}.empty-trips .primary{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:160px}
.milestones-page .brand-header{margin-bottom:17px}.milestones-heading h1{font-size:43px}.milestones-heading p{font-size:14px;margin-top:4px}.journal-art{display:block;width:100%;height:191px;object-fit:cover;object-position:center;margin:0 0 13px;mix-blend-mode:multiply}.milestones-progress{margin-bottom:14px}.milestones-progress h2{font-size:24px;letter-spacing:-.02em;margin-bottom:10px}.progress{height:6px;background:#e9d9c5;border-radius:99px;margin-top:10px}.progress span{background:var(--terracotta);border-radius:inherit}.milestones-progress>.progress{height:8px}
.reward{padding:16px 0;gap:14px;border-color:var(--line);align-items:center}.reward .seal,.reward.unlocked .seal{background:none;border:0;border-radius:0;width:48px;height:48px;color:#696d46;position:relative}.reward .seal::before{content:"";position:absolute;inset:12px 1px 1px;border-radius:46%;background:#e3d9bb7a;z-index:-1}.reward .seal svg{height:40px;width:40px;stroke-width:1.05}.reward .grow{min-width:0}.reward h2{font-size:22px;font-weight:500;line-height:1.05;letter-spacing:-.03em}.reward p{color:var(--ink);font-size:10px;line-height:1.5;margin:4px 0 0}.reward .progress{height:5px;max-width:210px}.milestone-count{font-size:10px;display:flex;align-items:center;gap:6px;white-space:nowrap;flex-shrink:0}.milestone-check{width:16px;height:16px;border-radius:50%;background:#78805c;color:#fff;display:grid;place-items:center}.milestone-check svg{width:12px;height:12px}.reward.unlocked .milestone-count{color:#4e5d36}
/* A mesma paleta nos formulários, perfil e detalhes. */
.panel,.auth-panel,.participant{border-color:var(--line);border-radius:16px}.panel.white{background:var(--paper)}.participant.selected{border-color:var(--terracotta);background:#f2e4d2}.heading{margin-bottom:25px}.heading h1{font-size:35px}.heading .circle{background:transparent;width:28px}.field>span{font-size:12px;font-weight:600;color:var(--ink)}input:not([type=range]):not([type=checkbox]),textarea,select{border-color:var(--line);background:#fffaf04d;border-radius:9px;min-height:43px;padding:10px 12px;box-shadow:none}input:focus,textarea:focus,select:focus{outline-color:var(--terracotta)}input[type=range],input[type=checkbox]{accent-color:var(--terracotta)}input::placeholder,textarea::placeholder{color:#8c7b69}.chips .chip{background:#eee2cc}.form-cover{background:#eee2cc;color:var(--olive);border:1px dashed #ccb496;border-radius:16px}.upload-box{border-color:#c4ac8c;color:var(--muted);border-radius:16px}.tabs button.active{color:var(--terracotta-dark);border-color:var(--terracotta)}.tabs button{color:var(--muted)}.photo-help,.photo-item p,.profile-top p,.profile-stats small,.year-list small{color:var(--muted)}.profile-stats>div+div,.year-list>div,.menu-row,.memory{border-color:var(--line)}.profile-section h2{font-size:27px}.profile-top h1{font-size:36px}.profile-top .pill{color:var(--terracotta-dark)}.menu-row{min-height:62px}.profile-grid{gap:8px}.profile-grid .trip-thumb{border-radius:12px}.year-list>div{border-radius:9px}.modal{background:var(--bg);border:1px solid #e6d2bb;border-radius:22px;box-shadow:0 24px 80px #36200d33}.modal-shade{background:#30231866;backdrop-filter:blur(4px)}.modal h2{font-size:32px}.auth{background:radial-gradient(ellipse at top right,#ecd6bc66,transparent 60%);padding-top:44px}.auth h1{font:500 39px/1.1 'ARIA Display',Georgia,serif;color:var(--ink)}.auth-icon{background:var(--terracotta);border-radius:50%;width:50px;height:50px}.auth .subtitle,.auth .auth-switch,.notice{color:var(--muted)}.auth .auth-switch a{color:var(--terracotta-dark)}.auth-panel{background:#fff9f066}.auth .primary{border-radius:10px}.error-box,.danger{color:#a33c2a}.delete-confirm{background:#a33c2a;color:#fff;border-color:#a33c2a}#toast{background:#423528;border:1px solid #e8d9c330;color:#fff8ef;border-radius:12px}:focus-visible{outline:2px solid var(--terracotta);outline-offset:4px}
@media(min-width:600px){body{padding:28px 0}#app{min-height:calc(100dvh - 56px);border-radius:28px;box-shadow:0 8px 32px #6e48221f,0 1px 2px #6e482226;border:1px solid #fff8ee;overflow:clip}.bottom-nav{bottom:20px;border:1px solid var(--line);border-radius:0 0 27px 27px;box-shadow:0 10px 20px #6e482210}.home-story{height:310px}.home-story h2{font-size:39px}.home-story p{font-size:14px}.page{padding-left:24px;padding-right:24px}.journal-art{height:210px}.trip-featured .trip-thumb{height:210px}}
@media(max-width:360px){.page{padding-left:16px;padding-right:16px}.home-greeting h1{font-size:41px}.home-story{padding:20px;height:256px}.home-story h2{font-size:30px}.home-story p{font-size:12px}.story-cta{min-width:125px;padding:10px 12px;font-size:12px}.recent-card{gap:12px}.recent-card .trip-thumb{width:103px;height:87px}.recent-card h3{font-size:22px}.reward{gap:10px}.reward .seal{width:39px}.reward .seal svg{width:34px;height:34px}.reward h2{font-size:20px}.milestone-count{font-size:9px;gap:4px}.milestones-progress h2{font-size:22px}.trip-featured .trip-meta{padding-right:80px}.trip-featured .status-label{font-size:9px;right:9px}.destination-count{font-size:24px}}
@media(prefers-reduced-motion:no-preference){a,button{transition:background-color .16s,color .16s,box-shadow .16s}.trip-row:hover{box-shadow:0 4px 14px #714c2b18}.home-story{animation:journal-reveal .4s ease-out}@keyframes journal-reveal{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}}

/* Revisão solicitada: sem artes decorativas nos blocos. */
.home-page::before{display:none}
.home-story{height:auto;min-height:228px;display:flex;justify-content:center}
.home-story .hero-content{width:100%}
.home-story h2{font-size:34px}
.destination-stat{min-height:0;padding:16px 0 20px;border-radius:0;border-bottom:1px solid var(--line)}
.milestones-heading{margin-bottom:28px}
@media(max-width:360px){.home-story{height:auto;min-height:218px}.home-story h2{font-size:30px}}

/* Campos legíveis no celular evitam ampliação automática ao receber foco no Safari. */
@media (hover: none) and (pointer: coarse) {
  input:not([type=range]):not([type=checkbox]):not([type=radio]),
  textarea,
  select { font-size: 16px; }
}

/* Tipografia da interface: Jakarta; ARIA Display permanece na marca. */
h1,h2,h3,.serif,
.stats .number,.profile-stats strong,.destination-stat strong,
.destination-count,.modal .rating output,.recent-card p,
.trip-thumb,.trip-card .trip-initial,.trip-cover .trip-initial {
  font-family: Jakarta, Arial, sans-serif;
  font-style: normal;
  letter-spacing: -.02em;
}
h1,h2,h3 { line-height: 1.25; }
h1,.home-greeting h1,.cover-title h1,.profile-top h1 {
  font-weight: 700;
}
h2,h3,.trip-row h2,.recent-card h3,.reward h2,
.home-story h2,.trip-card h2 { font-weight: 600; }
.home-greeting h1,.trips-heading h1,.milestones-heading h1,
.heading h1,.profile-top h1,.cover-title h1 { font-size: 30px; }
.section-heading h2,.profile-section h2,.empty-trips h2,
.modal h2 { font-size: 23px; }
.home-story h2,.home-hero h2,.trip-featured h2 { font-size: 26px; }
.trip-row h2,.recent-card h3,.reward h2 { font-size: 20px; }
.auth h1 { font: 700 30px/1.25 Jakarta, Arial, sans-serif; letter-spacing: -.02em; }
.stats .number { font-weight: 600; }
.profile-stats strong,.destination-count,.modal .rating output { font-weight: 600; }
.wordmark { font-family: 'ARIA Display', Georgia, serif; }

/* Alinhamento e entrelinha dos blocos com a nova fonte. */
.home-story { align-items: stretch; }
.home-story .hero-content { min-width: 0; padding-top: 0; text-align: left; }
.home-story h2 { line-height: 1.25; }
.home-story p { line-height: 1.6; }
.home-greeting h1,.cover-title h1,.trip-row h2,.recent-card h3,
.reward h2 { line-height: 1.25; }
.home-page .section-heading { align-items: baseline; }
.home-page .section-heading h2 { margin: 0; }

/* Entrada ARIA: marca central, campos amplos e ações claras. */
.auth-entry { padding: max(44px, env(safe-area-inset-top)) 24px 44px; }
.auth-entry .auth-inner { max-width: 390px; }
.auth-brand { display: flex; justify-content: center; margin: 0 0 36px; }
.auth-brand .wordmark { font-size: 44px; line-height: 1.2; padding-left: .28em; }
.auth-entry h1 { font-size: 28px; margin: 0 0 12px; text-align: center; }
.auth-entry .subtitle { margin-bottom: 32px; line-height: 1.6; }
.auth-entry .auth-panel { border: 0; padding: 0; background: transparent; }
.auth-entry .auth-panel .stack { gap: 20px; }
.auth-entry .field > span { font-size: 13px; margin-bottom: 8px; }
.auth-entry input:not([type=checkbox]) { min-height: 56px; font-size: 16px; border-radius: 12px; background: var(--paper); }
.auth-entry .primary { min-height: 52px; font-size: 16px; border-radius: 12px; }
.auth-entry .auth-recovery { text-align: right; margin-top: 16px; }
.auth-divider { display: flex; align-items: center; gap: 16px; margin: 28px 0; font-size: 14px; }
.auth-divider::before,.auth-divider::after { content: ''; flex: 1; height: 1px; background: var(--line); }
.auth-alternative { display: flex; justify-content: center; align-items: center; min-height: 52px; padding: 12px 16px; border: 1px solid var(--line); border-radius: 12px; font-weight: 600; text-align: center; }

/* Prévia dos provedores: sem ação até a integração de autenticação. */
.auth-social { display: grid; gap: 12px; margin-bottom: 20px; }
.auth-social-button { display: grid; grid-template-columns: 24px 1fr auto; align-items: center; gap: 12px; width: 100%; min-height: 56px; padding: 12px 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); text-align: left; font: 600 14px/1.4 Jakarta, Arial, sans-serif; }
.auth-social-button:disabled { opacity: 1; cursor: default; }
.auth-social-button svg { width: 22px; height: 22px; }
.auth-social-button small { font-size: 10px; font-weight: 400; color: var(--muted); }
@media (max-width: 360px) { .auth-social-button { padding: 12px; gap: 8px; font-size: 12px; } }

/* Provedores em botões compactos, como na referência. */
.auth-social { display: flex; justify-content: center; gap: 14px; margin-bottom: 10px; }
.auth-social-button { display: flex; align-items: center; justify-content: center; width: 60px; height: 60px; min-height: 60px; padding: 16px; border-radius: 14px; }
.auth-social-button svg { width: 26px; height: 26px; }
.auth-social-note { text-align: center; color: var(--muted); font-size: 11px; margin: 0 0 24px; }
