/* 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; }

.recovery-code-list { padding-left: 20px; margin: 20px 0; }
.recovery-code-list li { padding: 8px 0; }
.recovery-code-list code { font: 12px/1.6 monospace; overflow-wrap: anywhere; }
#access-message { overflow-wrap: anywhere; }

/* ARIA — superfície neutra, fotografia em destaque e contraste legível. */
:root{--bg:#fafafa;--paper:#fff;--ink:#111111;--muted:#64615d;--line:#e7e5e2;--terracotta:#a94f2d;--terracotta-dark:#873b20;--olive:#65704f}
body{background:#f0efed}#app{background:var(--bg)}
.home-greeting p{color:var(--muted)}
.home-story{background:#f3eae0;min-height:210px;border:1px solid #eee2d5;border-radius:22px;padding:24px}
.home-story .hero-content{max-width:100%}.home-story h2{max-width:245px;font-size:28px;line-height:1.25;letter-spacing:-.035em}.home-story p{max-width:260px;color:#635a50}
.story-cta{border:0;border-radius:12px;min-height:46px;margin-top:20px}
.stats{padding:20px 0;margin-top:24px}.stats .number{font-size:36px;letter-spacing:-.04em}.stats>a>p:last-child{color:var(--muted)}
.section-heading{margin:28px 0 16px}.section-heading h2{font-size:21px;letter-spacing:-.03em}.section-heading>a{font-size:12px;font-weight:600}
.trip-list{gap:24px}.trip-row,.recent-card{display:block;width:100%;border:1px solid var(--line);border-radius:20px;background:var(--paper);overflow:hidden;padding:0;box-shadow:0 3px 14px #24201c06}
.trip-row .trip-thumb,.recent-card .trip-thumb{display:grid;place-items:center;position:relative;width:100%;height:auto;min-height:0;aspect-ratio:16/11;border-radius:0;align-self:auto;background:linear-gradient(145deg,#eae7df,#d9dfd2);color:#63704f;overflow:hidden}
.trip-row .trip-thumb>span:not(.thumb-rating):not(.status-label),.recent-card .trip-thumb>span:not(.thumb-rating):not(.status-label){font-size:60px;font-weight:500;opacity:.5}
.trip-card-copy,.recent-card-copy{padding:17px 18px 19px;min-width:0}.trip-row h2,.recent-card h3{font-size:20px;line-height:1.35;font-weight:700;letter-spacing:-.03em;white-space:normal;overflow-wrap:anywhere}
.trip-row p.trip-meta{font-size:12px;line-height:1.6;color:var(--muted);gap:8px;margin-top:7px;padding-right:0;text-transform:none}.trip-meta svg{width:15px;height:17px;stroke-width:1.6}.recent-card p{font:400 12px/1.6 Jakarta,Arial,sans-serif;white-space:normal;margin-top:7px}
.trip-thumb .status-label,.trip-thumb .thumb-rating,.trip-row .trip-thumb .thumb-rating{position:absolute;z-index:3;display:inline-flex;align-items:center;justify-content:center;gap:5px;margin:0;padding:7px 10px;min-height:31px;border:1px solid #ffffff9c;border-radius:999px;background:#fffffff0;color:#24201c;font:600 11px/1.4 Jakarta,Arial,sans-serif;letter-spacing:0;max-width:calc(100% - 80px);box-shadow:0 2px 8px #0000000a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.trip-thumb .status-label{top:12px;left:12px;bottom:auto;right:auto}.trip-thumb .status-label.is-complete{background:#f4f7f0ed;color:#35452b}.trip-thumb .status-label svg{width:13px;height:13px}.trip-thumb .thumb-rating,.trip-row .trip-thumb .thumb-rating{top:12px;right:12px;bottom:auto;max-width:76px}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.trip-thumb .status-label,.trip-thumb .thumb-rating,.trip-row .trip-thumb .thumb-rating{background:#ffffffc9}.trip-thumb .status-label.is-complete{background:#f4f7f0cc}}
.empty-state{text-align:center;padding:40px 14px 44px;max-width:330px;margin:0 auto;color:var(--muted)}.empty-illustration{display:grid;place-items:center;width:84px;height:84px;margin:0 auto 20px;color:#8c6c53;background:#f3eee7;border-radius:50%}.empty-illustration svg{height:42px;width:42px;stroke-width:1.1}.empty-state h3{font-size:18px;line-height:1.4;font-weight:600;color:var(--ink);letter-spacing:-.025em}.empty-state p{font-size:13px;line-height:1.7;margin:9px auto 0;max-width:265px}.empty-state .plain-link{display:inline-block;min-height:44px;padding:13px 4px 0;margin-top:8px;color:var(--terracotta-dark);font-size:13px;font-weight:600;text-underline-offset:4px}
.bottom-nav{background:#fffffff2;border-color:var(--line);height:calc(72px + env(safe-area-inset-bottom));padding-bottom:max(10px,env(safe-area-inset-bottom))}.bottom-nav a{color:#6a6661}.bottom-nav .active{color:var(--terracotta-dark)}
input:not([type=range]):not([type=checkbox]),textarea,select{background:#fff;border-color:#d5d2ce}input::placeholder,textarea::placeholder{color:#77726d}.auth{background:none}.auth-panel{background:#fff}.modal{border-color:var(--line)}
@media(min-width:600px){#app{border-color:#fff;box-shadow:0 12px 48px #24201c0c}.bottom-nav{height:74px;padding-bottom:10px}.home-story{height:auto}.trip-row .trip-thumb,.recent-card .trip-thumb{aspect-ratio:16/10}}
@media(max-width:360px){.trip-card-copy,.recent-card-copy{padding:15px}.home-story{padding:22px}.trip-thumb .status-label{left:10px;top:10px}.trip-thumb .thumb-rating,.trip-row .trip-thumb .thumb-rating{right:10px;top:10px}}
@media(prefers-reduced-motion:no-preference){.trip-row,.recent-card{transition:transform .18s ease,box-shadow .18s ease}.trip-thumb img{transition:transform .3s ease}.trip-row:active,.recent-card:active,.primary:active{transform:scale(.985)}@media(hover:hover){.trip-row:hover,.recent-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #24201c10}.trip-row:hover .trip-thumb img,.recent-card:hover .trip-thumb img{transform:scale(1.025)}}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.trip-row .trip-thumb>.status-label,.recent-card .trip-thumb>.status-label{display:inline-flex;flex-direction:row}

/* Próxima viagem: superfície limpa, com destaque apenas na ação. */
.home-story{background:var(--paper);border:1px solid var(--line);box-shadow:0 3px 14px #24201c06}
.home-story p{color:var(--muted)}

/* Mais espaço para as viagens; convite e contador compactos. */
.home-story{min-height:0;padding:18px 20px;border-radius:18px}
.home-story h2{font-size:22px;max-width:none}
.home-story p{margin-top:7px;font-size:12px;max-width:none}
.home-story .story-cta{margin-top:13px;min-height:42px;padding:9px 16px;font-size:13px}
.destination-stat{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:10px 0 12px;margin-bottom:18px;min-height:0}
.destination-stat .eyebrow{font-size:11px;letter-spacing:0;text-transform:none;color:var(--muted)}
.destination-stat .destination-count{font-size:15px;line-height:1.4;margin:0;text-align:right}
.trip-list .trip-row .trip-thumb,.recent-card .trip-thumb{aspect-ratio:4/3}
@media(max-width:360px){.home-story{min-height:0;padding:16px}.home-story h2{font-size:21px}}

/* Respiro entre a marca e o título da aba Viagens. */
.trips-page .brand-header{margin-bottom:25px}

/* Fonte reta em todas as métricas e formulários; fonte especial exclusiva da marca. */
#app,#modal-root{font-family:Jakarta,Arial,sans-serif}
#app h1,#app h2,#app h3,#app .serif,#modal-root h1,#modal-root h2,#modal-root h3,#modal-root .serif,
#app .number,#app .destination-count,#app .profile-stats strong,#app .score,#app .thumb-rating,
#app .trip-thumb,#app .trip-cover .trip-initial,#app .avatar,#modal-root .avatar,
#modal-root .rating output,#app input,#app select,#app textarea,#modal-root input,#modal-root select,#modal-root textarea{font-family:Jakarta,Arial,sans-serif;font-style:normal}
#app .wordmark,#modal-root .wordmark,.auth-brand .wordmark{font-family:'ARIA Display',Georgia,serif}
/* Mantém os desenhos padrão dos números da Jakarta, como no site atual. */
#app .number,#app .score,#app .thumb-rating,#app .profile-stats strong,#modal-root .rating output{font-variant-numeric:normal;font-feature-settings:normal}

/* Seleção nativa para toque no Safari/iPhone e navegação por teclado. */
.language-options{border:0;padding:0;min-width:0}
.language-option{display:flex;width:100%;align-items:center;gap:16px;cursor:pointer;touch-action:manipulation;text-align:left}
.language-option input[type=radio]{appearance:auto;-webkit-appearance:radio;display:block;flex:0 0 20px;width:20px;height:20px;min-height:20px;margin:0;padding:0;border:0;box-shadow:none;accent-color:var(--terracotta)}
.language-option.is-selected{font-weight:600;color:var(--terracotta-dark)}
.language-options:disabled{opacity:.65}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Respeita a área da câmera e do relógio ao abrir pela Tela de Início. */
@media(display-mode:standalone){
 .page{padding-top:calc(22px + env(safe-area-inset-top))}
 .home-page{padding-top:calc(24px + env(safe-area-inset-top))}
 .cover-actions{top:calc(20px + env(safe-area-inset-top))}
}

.accommodation{margin-bottom:20px;background:var(--paper)}
.accommodation h3{font-size:16px;font-weight:600}
.accommodation .plain-link{display:inline-flex;align-items:center;min-height:44px;margin-top:4px;color:var(--terracotta-dark);font-weight:600}

/* Story: fotografia em tela inteira na exportação, prévia sem cortes na edição. */
.story-entry{display:flex;justify-content:flex-end;margin:0 0 18px}.story-entry .pill{gap:8px;font-size:12px;min-height:44px}
.story-modal{max-width:460px}.story-modal h2{font-size:23px}.story-maker{display:grid;gap:18px}.story-preview{position:relative;width:min(100%,248px);aspect-ratio:9/16;margin:0 auto;display:grid;place-items:center;background:#e9e6e1;border:1px solid var(--line);border-radius:14px;overflow:hidden}.story-preview img{display:block;width:100%;height:100%;object-fit:contain}.story-preview img[hidden],.story-preview p[hidden]{display:none}.story-preview p{padding:16px;text-align:center}
.story-framing input{min-height:30px}.story-options{display:flex;flex-wrap:wrap;gap:12px 16px}.story-options label{display:flex;align-items:center;gap:6px;font-size:12px;cursor:pointer;min-height:32px}.story-options input{width:17px;height:17px}.story-actions{display:grid;gap:10px}.story-actions .pill{width:100%;min-height:46px}.story-actions .plain-link{min-height:40px;text-align:center;color:var(--terracotta-dark)}.story-maker select{font-size:16px;min-height:46px}

.story-link-panel{margin-top:22px;padding-top:20px;border-top:1px solid #e6e6e6}.story-link-panel h3{font-family:Jakarta,sans-serif;font-size:18px;margin:0 0 10px}.story-consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.5;margin:16px 0}.story-consent input{flex-shrink:0;margin-top:4px;width:18px;height:18px}.story-link-panel>button{width:100%;margin-bottom:10px}.story-link-panel input[readonly]{font-size:16px;width:100%;min-width:0}.story-link-panel [hidden]{display:none}

.trip-delete-section{margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}.trip-delete-section>button{min-height:44px;width:100%;color:#a22f28}.trip-delete-section p{margin-top:10px;line-height:1.5}

/* Community and small accommodation service icons. */
.bottom-nav{grid-template-columns:repeat(4,minmax(0,1fr))}
.bottom-nav a{flex:1;min-width:0;font-size:11px}
.community-person{width:100%;text-decoration:none;gap:12px}
.community-person>span:nth-child(2){flex:1;min-width:0;overflow-wrap:anywhere}
.community-person strong,.community-person small{display:block}
.community-person small,.username{color:var(--muted);font-size:13px}
.community-person>svg{width:18px;flex-shrink:0}
.accommodation .plain-link{gap:8px;flex-wrap:wrap}
.accommodation-mark{position:relative;display:inline-flex;width:20px;height:20px;flex-shrink:0}
.accommodation-mark>svg{width:20px;height:20px}
.accommodation-favicon{position:absolute;inset:0;width:20px;height:20px;object-fit:contain;background:var(--paper);border-radius:3px}
.accommodation-host{font-weight:400;font-size:11px;overflow-wrap:anywhere;color:var(--muted)}
