:root {
  --bg: #fbf8ff;
  --card: rgba(255,255,255,.9);
  --ink: #2c2240;
  --muted: #756c82;
  --purple: #7b4edb;
  --purple-2: #a783ec;
  --pink: #ff7fa8;
  --coral: #ff8b78;
  --blue: #6d9eff;
  --mint: #79d7bf;
  --yellow: #ffd66d;
  --border: #e9ddfa;
  --shadow: 0 12px 28px rgba(71,45,113,.10);
  --radius: 22px;
}

* { box-sizing: border-box; }
html { background: var(--bg); }
body { margin:0; font-family: ui-rounded, -apple-system, BlinkMacSystemFont, "SF Pro Rounded", "SF Pro Display", system-ui, sans-serif; color:var(--ink); background:
 radial-gradient(circle at 10% 0%, #ffe5ef 0, transparent 26%),
 radial-gradient(circle at 92% 3%, #e8e1ff 0, transparent 26%),
 linear-gradient(180deg,#fffdfd 0%, var(--bg) 70%); min-height:100vh; }
button, input, textarea, select { font: inherit; }
button { -webkit-tap-highlight-color: transparent; }
#appShell { max-width: 760px; margin:0 auto; min-height:100vh; padding-bottom:92px; }
.topbar { position:sticky; top:0; z-index:20; padding: max(14px, env(safe-area-inset-top)) 18px 12px; display:flex; justify-content:space-between; align-items:center; backdrop-filter: blur(18px); background:rgba(251,248,255,.84); border-bottom:1px solid rgba(233,221,250,.7); }
.brand { display:flex; gap:11px; align-items:center; }
.brand-mark { width:46px; height:46px; display:grid; place-items:center; border-radius:16px; background:linear-gradient(135deg,#ffb0c4,#b29cff); font-size:25px; box-shadow:var(--shadow); }
.brand h1 { font-size:24px; margin:0; line-height:1; }
.brand p { margin:5px 0 0; font-size:12px; color:var(--muted); }
.icon-btn { width:42px; height:42px; border:none; border-radius:14px; background:white; color:var(--purple); font-size:22px; box-shadow:var(--shadow); }
main { padding:18px; }
.screen { display:none; animation: fade .2s ease; }
.screen.active { display:block; }
@keyframes fade { from { opacity:.4; transform:translateY(4px);} to {opacity:1; transform:none;} }
.hero-card, .card { background:var(--card); border:1px solid rgba(233,221,250,.95); box-shadow:var(--shadow); border-radius:var(--radius); }
.hero-card { padding:22px; display:flex; justify-content:space-between; gap:16px; align-items:center; overflow:hidden; position:relative; }
.hero-card::after { content:""; position:absolute; inset:auto -40px -55px auto; width:160px; height:160px; border-radius:50%; background:linear-gradient(135deg,rgba(255,127,168,.14),rgba(109,158,255,.14)); }
.hero-card h2, .screen-head h2 { margin:4px 0 8px; font-size:28px; letter-spacing:-.6px; }
.hero-card p { margin:0; color:var(--muted); line-height:1.45; font-size:14px; max-width:430px; }
.eyebrow { font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--purple); }
.octopus-duo { display:flex; font-size:42px; filter:saturate(.9); z-index:1; }
.octopus-duo .cool { transform:scaleX(-1); margin-left:-9px; filter:hue-rotate(40deg) saturate(.7); }
.form-card { margin-top:16px; padding:18px; }
.section-label { display:block; font-weight:800; margin:2px 0 10px; }
.mood-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; }
.mood-option { border:1px solid var(--border); border-radius:16px; padding:10px 4px; background:#fff; color:var(--ink); min-height:74px; }
.mood-option span { display:block; font-size:25px; margin-bottom:5px; }
.mood-option b { font-size:11px; display:block; }
.mood-option.selected { border-color:var(--purple); background:#f2ebff; box-shadow:0 0 0 2px rgba(123,78,219,.08); }
.toggle-row { margin:16px 0; padding:13px 14px; border-radius:16px; background:#fff4f7; display:flex; justify-content:space-between; gap:14px; align-items:center; }
.toggle-row span { display:flex; flex-direction:column; gap:4px; }
.toggle-row small { color:var(--muted); font-size:11px; }
.toggle-row input { width:24px; height:24px; accent-color:var(--pink); }
.range-group { margin:14px 0; }
.range-group label { display:flex; justify-content:space-between; font-size:13px; font-weight:700; }
.range-group output { color:var(--purple); }
.range-group input { width:100%; accent-color:var(--purple); }
.chips { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:14px; }
.chips button { border:1px solid var(--border); background:#fff; border-radius:999px; padding:9px 12px; font-size:12px; color:var(--ink); }
.chips button.selected { background:#eee7ff; border-color:#b99cf0; }
.notes-label { font-size:13px; font-weight:800; display:block; }
textarea { width:100%; margin-top:7px; border:1px solid var(--border); border-radius:15px; padding:12px; resize:vertical; color:var(--ink); background:#fff; outline:none; }
textarea:focus { border-color:#b99cf0; box-shadow:0 0 0 3px #eee7ff; }
.primary-btn, .secondary-btn, .danger-btn { border:none; border-radius:15px; padding:13px 16px; font-weight:800; }
.primary-btn { width:100%; margin-top:14px; color:white; background:linear-gradient(135deg,var(--purple),#9f63e9); box-shadow:0 9px 18px rgba(123,78,219,.22); }
.secondary-btn { background:#eee7ff; color:var(--purple); }
.danger-btn { background:#fff0f3; color:#b84663; }
.save-status { min-height:20px; margin:9px 0 0; text-align:center; color:var(--purple); font-size:12px; }
.screen-head { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-bottom:14px; }
.screen-head select { border:1px solid var(--border); background:white; padding:9px 12px; border-radius:12px; }
.month-nav { display:flex; gap:8px; align-items:center; }
.month-nav button { width:34px; height:34px; border:none; border-radius:11px; background:#eee7ff; color:var(--purple); font-size:22px; }
.month-nav strong { min-width:120px; text-align:center; font-size:13px; }
.calendar-card { padding:14px; }
.weekdays, .calendar-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:6px; }
.weekdays { color:var(--muted); font-size:10px; font-weight:800; text-align:center; margin-bottom:8px; }
.day { aspect-ratio:1; border-radius:13px; display:flex; flex-direction:column; justify-content:center; align-items:center; background:#f9f7fc; position:relative; font-size:12px; border:1px solid transparent; }
.day.has-entry { background:white; border-color:var(--border); box-shadow:0 5px 12px rgba(71,45,113,.06); cursor:pointer; }
.day.today { outline:2px solid #cbb8ef; }
.day .mood-dot { width:9px; height:9px; border-radius:50%; margin-top:4px; }
.day .bolt { position:absolute; top:3px; right:4px; font-size:9px; }
.day.empty { background:transparent; }
.dot, .mood-dot { display:inline-block; width:9px; height:9px; border-radius:50%; }
.leve { background:#ffb08f; } .estavel { background:#b796ef; } .variavel { background:#7fbce9; } .desgaste { background:#73c9c0; } .baixa { background:#6685cc; }
.legend { display:flex; flex-wrap:wrap; gap:10px 14px; align-items:center; margin-top:12px; font-size:10px; color:var(--muted); }
.legend span { display:flex; gap:5px; align-items:center; }
.compact { padding:12px; }
#dayDetail { margin-top:12px; padding:16px; font-size:13px; color:var(--muted); }
#dayDetail h3 { color:var(--ink); margin:0 0 9px; }
.metric-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin-bottom:12px; }
.metric { padding:15px; background:linear-gradient(180deg,#fff,#fbf9ff); border:1px solid var(--border); border-radius:18px; box-shadow:var(--shadow); }
.metric span { display:block; color:var(--muted); font-size:11px; }
.metric strong { display:block; margin-top:5px; font-size:26px; }
.bars { display:grid; gap:12px; margin-top:14px; }
.bar-row { display:grid; grid-template-columns:85px 1fr 35px; gap:8px; align-items:center; font-size:11px; }
.track { height:10px; background:#f1edf6; border-radius:999px; overflow:hidden; }
.fill { height:100%; border-radius:999px; }
.card { padding:16px; margin-bottom:12px; }
.card h3 { margin:0 0 8px; }
.insight-card ul { margin:10px 0 0; padding-left:18px; line-height:1.55; }
.disclaimer { font-size:11px; color:var(--muted); line-height:1.45; }
.hypothesis-badge { font-size:10px; font-weight:900; color:#6a48b5; background:#eee7ff; border-radius:999px; padding:8px 10px; }
.poster-card { padding:8px; overflow:hidden; }
.poster-card img { display:block; width:100%; border-radius:16px; }
.annual-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.month-card { border-radius:18px; padding:14px; border:1px solid var(--border); background:white; box-shadow:var(--shadow); }
.month-card h3 { margin:0 0 8px; font-size:15px; }
.month-card p { margin:5px 0; font-size:11px; line-height:1.4; color:var(--muted); }
.month-card .tip { color:var(--ink); font-weight:650; }
.page-disclaimer { text-align:center; margin:16px 20px; }
.reminder-stack { display:grid; gap:10px; }
.reminder { display:flex; gap:12px; align-items:flex-start; padding:15px; background:white; border:1px solid var(--border); border-radius:18px; box-shadow:var(--shadow); line-height:1.4; }
.privacy-card { margin-top:14px; }
.privacy-card p { color:var(--muted); line-height:1.5; font-size:13px; }
.settings-actions { display:flex; flex-wrap:wrap; gap:9px; }
.bottom-nav { position:fixed; left:50%; bottom:0; transform:translateX(-50%); z-index:30; width:min(760px,100%); display:grid; grid-template-columns:repeat(5,1fr); padding:8px 10px calc(8px + env(safe-area-inset-bottom)); background:rgba(255,255,255,.93); backdrop-filter:blur(18px); border-top:1px solid var(--border); }
.bottom-nav button { border:none; background:transparent; color:#8c8197; padding:5px 2px; border-radius:13px; }
.bottom-nav button.active { color:var(--purple); background:#f3edff; }
.bottom-nav span { display:block; font-size:20px; }
.bottom-nav small { font-size:9px; font-weight:800; }
@media (max-width:480px){
  main{padding:14px}.topbar{padding-left:14px;padding-right:14px}.brand p{display:none}.hero-card{padding:18px}.hero-card h2,.screen-head h2{font-size:24px}.mood-grid{grid-template-columns:repeat(5,1fr);gap:5px}.mood-option{min-height:70px;padding:8px 2px}.mood-option b{font-size:9px}.annual-grid{grid-template-columns:1fr}.month-nav strong{min-width:95px}.octopus-duo{font-size:34px}.metric strong{font-size:23px}
}

/* Vinha 1.5 */
.top-actions{display:flex;gap:8px}
.profile-pill{width:100%;margin:0 0 12px;border:1px solid var(--border);background:rgba(255,255,255,.86);border-radius:18px;padding:10px 12px;display:flex;align-items:center;gap:10px;text-align:left;color:var(--ink);box-shadow:0 6px 16px rgba(71,45,113,.06)}
.profile-pill .profile-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:12px;background:#f1e9ff}
.profile-pill span:nth-child(2){display:flex;flex-direction:column;gap:2px;flex:1}
.profile-pill b{font-size:13px}.profile-pill small{font-size:10px;color:var(--muted)}.profile-pill .chevron{font-size:24px;color:#9d8fac}
.range-group small{display:block;margin-top:5px;color:var(--muted);font-size:10px;line-height:1.35}
.irritability-range{padding:13px 14px;border-radius:16px;background:#fff4f7;margin-top:16px}
.field-label{display:block;font-size:12px;font-weight:800;margin:13px 0;color:var(--ink)}
.field-label>span{font-weight:500;color:var(--muted)}
.text-input,.field-label select,.privacy-row select{width:100%;margin-top:7px;border:1px solid var(--border);border-radius:13px;padding:11px 12px;background:#fff;color:var(--ink);outline:none}
.text-input:focus,.field-label select:focus,.privacy-row select:focus{border-color:#b99cf0;box-shadow:0 0 0 3px #eee7ff}
.small-input{max-width:160px}
.privacy-row{margin-top:14px;padding:13px;border:1px dashed #d8c6f5;border-radius:16px;background:#fbf9ff;display:grid;grid-template-columns:1fr 180px;gap:12px;align-items:center}
.privacy-row div{display:flex;flex-direction:column;gap:4px}.privacy-row small{color:var(--muted);font-size:10px;line-height:1.35}.privacy-row select{margin:0}
.baseline-card p{margin:6px 0;color:var(--muted);font-size:13px;line-height:1.5}.baseline-card b{color:var(--ink)}
.map-origin-card{background:linear-gradient(135deg,#fff,#f6f0ff)}.origin-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.origin-row h3{margin:5px 0 2px}.origin-row+p{color:var(--muted);font-size:12px;line-height:1.45}.status-chip{font-size:10px;font-weight:900;background:#eee7ff;color:#6a48b5;border-radius:999px;padding:7px 9px;white-space:nowrap}
.month-card-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.mini-edit{border:none;background:#f3edff;color:var(--purple);border-radius:999px;padding:5px 8px;font-size:9px;font-weight:800}.empty-month{border-style:dashed;background:#fcfbfe}.source-line{font-size:9px!important;color:#9b8daa!important;border-top:1px dashed #eee7f7;padding-top:7px;margin-top:9px!important}
.map-lab-card{margin-top:14px;background:linear-gradient(150deg,#fff9fc,#f6f3ff)}.map-lab-card h3{margin:5px 0 7px}.map-lab-card>p{color:var(--muted);font-size:12px;line-height:1.5}.map-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.primary-inline-btn{border:none;border-radius:15px;padding:12px 14px;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--purple),#9f63e9);box-shadow:0 7px 14px rgba(123,78,219,.18)}.primary-inline-btn:disabled{background:#ccc4d6;color:#f7f4fa;box-shadow:none}
.progress-block{padding:12px;border-radius:15px;background:#fff;border:1px solid var(--border);margin-top:12px}.progress-block p{margin:7px 0 0;color:var(--muted);font-size:11px;line-height:1.45}.progress-head{display:flex;justify-content:space-between;font-size:11px}.progress-track{height:9px;border-radius:999px;background:#eeeaf2;overflow:hidden;margin-top:8px}.progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#ff94ae,#8b6de4)}
.map-builder{scroll-margin-top:85px}.builder-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.builder-head h3,.builder-head h2{margin:4px 0 0}.close-btn{width:34px;height:34px;border:none;border-radius:12px;background:#f3edff;color:var(--purple);font-size:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.builder-actions{display:flex;justify-content:space-between;gap:9px;flex-wrap:wrap;margin-top:12px}
.modal-backdrop{position:fixed;inset:0;z-index:100;background:rgba(42,28,57,.45);backdrop-filter:blur(6px);display:grid;place-items:end center;padding:16px}.modal-card{width:min(720px,100%);max-height:88vh;overflow:auto;background:#fff;border-radius:26px;padding:20px;box-shadow:0 20px 60px rgba(26,16,41,.25)}.modal-card hr{border:0;border-top:1px solid var(--border);margin:18px 0}.modal-card h3{margin-bottom:6px}.modal-actions{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:16px}.founder-note{margin:10px 0;padding:11px 12px;border-radius:14px;background:#fff4f8;color:#6f4b78;font-size:11px;line-height:1.4}.consent-row{display:flex;gap:10px;align-items:flex-start;padding:11px;border:1px solid #f0d8e0;background:#fff7fa;border-radius:14px;font-size:11px;line-height:1.45}.consent-row input{width:20px;height:20px;accent-color:var(--purple);flex:none}.mode-hint{font-size:11px;color:var(--muted);line-height:1.45}.hidden{display:none!important}
@media(max-width:480px){.privacy-row{grid-template-columns:1fr}.privacy-row select{width:100%}.form-grid{grid-template-columns:1fr}.map-actions>*{width:100%}.modal-backdrop{padding:0;place-items:end center}.modal-card{border-radius:26px 26px 0 0;max-height:92vh;padding-bottom:calc(22px + env(safe-area-inset-bottom))}.origin-row{align-items:flex-start}.status-chip{font-size:9px}}
.history-vault{scroll-margin-top:85px;background:linear-gradient(150deg,#fff,#f8fbff)}
.external-ready{margin-top:9px!important;padding:8px 10px;border-radius:11px;background:#f0f9f6;color:#52746c!important;font-weight:700}

/* Vinha 2.0 Accounts */
.auth-shell{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 10% 10%,#fff0f8 0,transparent 35%),radial-gradient(circle at 90% 20%,#e9e7ff 0,transparent 35%),linear-gradient(160deg,#fff,#f7f3ff)}
.auth-card{width:min(100%,460px);background:#fff;border:1px solid #eadff8;border-radius:28px;padding:24px;box-shadow:0 20px 70px rgba(85,55,135,.13)}
.auth-logo{text-align:center;font-size:64px;line-height:1;margin:4px 0 8px}.auth-card h1{text-align:center;margin:0;color:#6942bd;font-size:34px}.auth-sub{text-align:center;color:#75698a;margin:6px 0 22px}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:#f4effb;border-radius:14px;padding:4px;margin-bottom:16px}.auth-tabs button{border:0;background:transparent;padding:11px;border-radius:11px;font-weight:800;color:#75698a}.auth-tabs button.active{background:#fff;color:#6942bd;box-shadow:0 2px 10px rgba(70,40,100,.08)}
.auth-pane{display:none}.auth-pane.active{display:block}.auth-card .field-label{margin:12px 0}.auth-msg{min-height:22px;margin:10px 0;color:#7359a6;font-size:14px}.link-btn{border:0;background:transparent;color:#6942bd;text-decoration:underline;font-weight:700;padding:8px 0}.full{width:100%}
.config-warning{background:#fff7db;border:1px solid #f2d575;border-radius:16px;padding:14px;margin:0 0 16px;color:#735d14}.config-warning code{word-break:break-all}.hidden{display:none!important}
.user-chip{display:flex;align-items:center;gap:9px;border:1px solid #eadff8;background:#fff;border-radius:999px;padding:7px 10px 7px 7px;max-width:230px}.user-chip .avatar{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#f1eaff}.user-chip small{display:block;color:#8b7a9f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}
.context-switcher{display:flex;gap:8px;overflow:auto;padding:0 2px 12px;scrollbar-width:none}.context-switcher::-webkit-scrollbar{display:none}.context-chip{flex:0 0 auto;border:1px solid #e6d9f4;background:#fff;border-radius:16px;padding:9px 12px;text-align:left}.context-chip.active{border-color:#8b5bd6;background:#f3ecff}.context-chip small{display:block;color:#8a789f;margin-top:2px}
.role-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:900;letter-spacing:.03em;padding:6px 9px;border-radius:999px;background:#f2eafd;color:#6d45b7}.role-badge.support{background:#eaf5ff;color:#386b9e}
.notice{padding:13px 14px;border-radius:16px;background:#f5f1fb;color:#665b75;margin:12px 0}.notice strong{color:#5a3f91}.notice.blue{background:#edf7ff;color:#47657d}.notice.green{background:#effbf5;color:#426f59}
.invite-list,.network-list,.suggestion-list{display:grid;gap:10px}.invite-item,.network-item,.suggestion-item{border:1px solid #eadff8;border-radius:16px;padding:13px;background:#fff}.item-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.item-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.tiny-btn{border:1px solid #ddcff0;background:#fff;color:#6844ae;border-radius:11px;padding:8px 10px;font-weight:800}.tiny-btn.primary{background:#7550c8;color:#fff;border-color:#7550c8}.tiny-btn.danger{color:#a3425a;border-color:#f1ccd6;background:#fff7f9}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.support-signal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.support-signal-grid button{border:1px solid #e3d9f1;background:#fff;border-radius:14px;padding:10px;text-align:left}.support-signal-grid button.selected{background:#f0e8ff;border-color:#8b5bd6}
.entry-list{display:grid;gap:10px}.entry-card{border:1px solid #e7ddf2;border-radius:17px;padding:13px;background:#fff}.entry-card.self{border-left:5px solid #a66fe3}.entry-card.support{border-left:5px solid #6ba7d9}.entry-meta{display:flex;justify-content:space-between;gap:10px;color:#857493;font-size:12px;margin-bottom:6px}.entry-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.entry-tags span{background:#f4eff9;border-radius:999px;padding:5px 8px;font-size:12px}.private-lock{color:#7550c8;font-weight:800}.shared-heart{color:#a4488b;font-weight:800}
.readonly-note{font-size:13px;color:#746981;background:#faf7fd;border-radius:12px;padding:10px}.privacy-explain{font-size:12px;color:#857493;margin-top:6px}
.map-card-v2{border:1px solid #eadff8;border-radius:18px;padding:14px;background:#fff}.map-card-v2 h4{margin:0 0 5px;color:#5d3fa0}.map-card-v2 .source{font-size:11px;color:#8b7a9f;margin-top:8px}.map-card-v2.suggested{border-style:dashed;background:#fffafe}
.empty-state{text-align:center;padding:28px 14px;color:#7a6e89}.empty-state .big{font-size:46px;display:block;margin-bottom:8px}.danger-zone{border-color:#f0cbd6!important;background:#fffafb!important}.small-muted{font-size:12px;color:#887b95}
.setup-steps{counter-reset:step;display:grid;gap:10px}.setup-step{position:relative;padding:12px 12px 12px 48px;border:1px solid #eadff8;border-radius:15px;background:#fff}.setup-step:before{counter-increment:step;content:counter(step);position:absolute;left:12px;top:11px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#7650c7;color:#fff;font-weight:900}
.modal-card.wide{width:min(92vw,720px)}.modal-card textarea{width:100%}.inline-form{display:grid;gap:10px}.inline-form .row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:620px){.two-col,.inline-form .row{grid-template-columns:1fr}.topbar{gap:8px}.top-actions{gap:5px}.user-chip{max-width:170px}.auth-shell{padding:14px}.auth-card{padding:20px}.support-signal-grid{grid-template-columns:1fr}}
.permission-box{margin:12px 0;padding:12px;border:1px solid rgba(123,78,219,.16);border-radius:14px;background:rgba(123,78,219,.04);display:grid;gap:8px}.permission-box label{display:flex;align-items:flex-start;gap:8px;font-size:.88rem;line-height:1.25}.permission-summary{display:grid;gap:6px;margin:10px 0 16px;font-size:.9rem;color:#65577e}

/* Vinha 2.1 · Polvinho virtual */
.pet-card{margin-top:16px;padding:18px;overflow:hidden;position:relative;background:
  radial-gradient(circle at 15% 8%,rgba(255,152,177,.12),transparent 30%),
  radial-gradient(circle at 88% 12%,rgba(109,158,255,.13),transparent 31%),#fff}
.pet-topline,.pet-care-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.pet-topline h2{margin:4px 0 0;font-size:25px}.pet-level-badge{font-size:10px;font-weight:900;color:#65449f;background:#f1eaff;border:1px solid #e2d4f6;border-radius:999px;padding:7px 10px;white-space:nowrap}
.pet-stage{--warm-alpha:.08;--cool-alpha:.08;--pet-scale:.92;width:min(72vw,300px);height:286px;margin:2px auto 0;position:relative;display:grid;place-items:center;isolation:isolate}
.pet-stage img{height:270px;width:auto;max-width:100%;object-fit:contain;position:relative;z-index:3;filter:drop-shadow(0 18px 20px rgba(69,45,100,.14));animation:petFloat 4s ease-in-out infinite;user-select:none;-webkit-user-drag:none}
.pet-stage::before,.pet-stage::after{content:"";position:absolute;inset:7px;z-index:4;pointer-events:none;-webkit-mask:url('assets/polvo-vinha.png') center/contain no-repeat;mask:url('assets/polvo-vinha.png') center/contain no-repeat;mix-blend-mode:multiply}
.pet-stage::before{background:linear-gradient(90deg,rgba(255,88,124,var(--warm-alpha)),rgba(255,116,145,var(--warm-alpha)) 55%,transparent 80%)}
.pet-stage::after{background:linear-gradient(270deg,rgba(83,125,255,var(--cool-alpha)),rgba(105,112,230,var(--cool-alpha)) 55%,transparent 80%)}
.pet-aura{position:absolute;z-index:1;width:220px;height:112px;bottom:26px;border-radius:50%;background:radial-gradient(ellipse,rgba(127,91,205,.16),transparent 70%);filter:blur(7px)}
@keyframes petFloat{0%,100%{transform:translateY(0) rotate(-.8deg) scale(var(--pet-scale))}50%{transform:translateY(-7px) rotate(.8deg) scale(var(--pet-scale))}}
.pet-stage.fed img{animation:petFed .55s cubic-bezier(.2,.9,.2,1)}
@keyframes petFed{0%{transform:scale(var(--pet-scale))}35%{transform:scale(calc(var(--pet-scale) + .09)) rotate(-3deg)}70%{transform:scale(calc(var(--pet-scale) - .02)) rotate(2deg)}100%{transform:scale(var(--pet-scale))}}
.pet-food-pop{position:absolute;z-index:8;left:50%;top:40%;font-size:34px;opacity:0;pointer-events:none}.pet-food-pop.go{animation:foodPop .9s ease-out}
@keyframes foodPop{0%{opacity:0;transform:translate(-50%,30px) scale(.5)}30%{opacity:1;transform:translate(-50%,-2px) scale(1.2)}100%{opacity:0;transform:translate(-50%,-72px) scale(.8)}}
.pet-message{text-align:center;max-width:560px;margin:-2px auto 12px}.pet-message h3{margin:0 0 6px;font-size:18px}.pet-message p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}
.pet-thermometer{display:grid;grid-template-columns:auto minmax(90px,1fr) auto;gap:9px;align-items:center;margin:14px 0 2px;font-size:9px;font-weight:800;color:#7b7089}.pet-thermo-track{height:11px;border-radius:999px;position:relative;background:linear-gradient(90deg,#7ca5ef 0%,#b69bdd 42%,#d6b6e6 50%,#f3a0bc 73%,#ff947f 100%);box-shadow:inset 0 1px 3px rgba(50,30,80,.12)}.pet-thermo-track i{position:absolute;left:50%;top:50%;width:18px;height:18px;border:3px solid #fff;border-radius:50%;background:#7451bd;box-shadow:0 2px 7px rgba(60,35,90,.27);transform:translate(-50%,-50%);transition:left .65s ease,background .65s ease}
.pet-why-btn{display:block;margin:0 auto 8px;font-size:11px}.pet-why-panel{background:#faf7ff;border:1px solid #e9def8;border-radius:15px;padding:11px 12px;margin:8px 0 15px;font-size:11px;color:#6f647b;line-height:1.5}.pet-why-panel p{margin:5px 0}.pet-why-panel strong{color:#514263}
.pet-care-head{margin-top:13px;padding-top:14px;border-top:1px dashed #eadff6}.pet-care-head h3{margin:4px 0 0;font-size:16px}.pet-care-head>strong{font-size:12px;background:#f4effc;color:#6846ad;border-radius:999px;padding:7px 10px}
.pet-care-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:11px}.pet-care-grid button{min-height:82px;border:1px solid #e7ddf4;border-radius:16px;background:#fff;color:var(--ink);padding:10px;text-align:left;position:relative;transition:.18s ease}.pet-care-grid button>span{font-size:22px;display:block;margin-bottom:4px}.pet-care-grid button b{display:block;font-size:11px}.pet-care-grid button small{display:block;font-size:9px;color:#8c8098;margin-top:2px}.pet-care-grid button.done{border-color:#a987df;background:linear-gradient(145deg,#f4edff,#fff);box-shadow:0 5px 14px rgba(100,65,160,.09)}.pet-care-grid button.done::after{content:"✓";position:absolute;right:9px;top:8px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#7a54c8;color:#fff;font-size:11px;font-weight:900}.pet-care-grid button.auto-care:disabled{opacity:1;color:var(--ink)}.pet-care-grid button.auto-care:not(.done){background:#fbfafc;color:#91889b}
.pet-fullness{margin-top:12px}.pet-fullness>div{height:10px;border-radius:999px;background:#eeeaf3;overflow:hidden}.pet-fullness i{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,#8f72df,#ff94b4);transition:width .45s ease}.pet-fullness p{font-size:10px;line-height:1.45;color:#84778f;margin:7px 0 0}.pet-disclaimer{font-size:9px;color:#95899f;text-align:center;margin:12px 8px 0;line-height:1.45}
.range-group small{display:block;color:var(--muted);font-size:10px;line-height:1.35;margin-top:3px}
@media(max-width:480px){.pet-card{padding:15px}.pet-stage{height:252px;width:100%}.pet-stage img{height:240px}.pet-thermometer{grid-template-columns:1fr;gap:5px;text-align:center}.pet-thermo-track{grid-row:2}.pet-care-grid{grid-template-columns:1fr 1fr}.pet-care-grid button{min-height:78px;padding:9px}.pet-care-head h3{font-size:15px}}


/* Vinha 2.2 · Polvinho interativo */
.pet-room-bg{position:absolute;inset:22px 10px 10px;z-index:0;border-radius:42% 42% 34% 34%;background:linear-gradient(180deg,rgba(255,255,255,.7),rgba(243,234,255,.7));transition:.45s ease}
.pet-stage{cursor:pointer;touch-action:none;overflow:hidden;border-radius:28px}
.pet-stage.petted img{animation:petPetted .4s cubic-bezier(.2,.9,.25,1)}
@keyframes petPetted{0%{transform:scale(var(--pet-scale))}45%{transform:scale(calc(var(--pet-scale) + .055)) rotate(2deg)}100%{transform:scale(var(--pet-scale))}}
.pet-touch-layer{position:absolute;inset:0;z-index:9;pointer-events:none}.pet-touch-heart{position:absolute;font-size:22px;animation:petHeart 1.05s ease-out forwards;filter:drop-shadow(0 4px 5px rgba(90,50,130,.18))}
@keyframes petHeart{0%{opacity:0;transform:translate(-50%,-20%) scale(.55)}20%{opacity:1}100%{opacity:0;transform:translate(-50%,-110px) scale(1.22) rotate(12deg)}}
.pet-reaction{position:absolute;z-index:11;top:20px;left:50%;transform:translate(-50%,-8px) scale(.92);background:#fff;border:1px solid #e7daf8;box-shadow:0 8px 24px rgba(73,44,111,.12);border-radius:999px;padding:7px 11px;font-size:10px;font-weight:850;color:#67469f;opacity:0;transition:.2s ease;pointer-events:none;white-space:nowrap}.pet-reaction.show{opacity:1;transform:translate(-50%,0) scale(1)}
.pet-quick-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:-2px auto 10px;max-width:390px}.pet-quick-stats>div{text-align:center;border:1px solid #eadff6;background:rgba(255,255,255,.82);border-radius:15px;padding:7px 5px}.pet-quick-stats span{font-size:15px}.pet-quick-stats b{font-size:12px;margin-left:3px;color:#5c4770}.pet-quick-stats small{display:block;font-size:8px;color:#95899f;margin-top:2px;text-transform:uppercase;letter-spacing:.04em}
.pet-action-bar{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;max-width:520px;margin:8px auto 13px}.pet-action-bar button{border:1px solid #e8ddf4;background:#fff;border-radius:15px;padding:8px 3px;color:#5a4869;min-width:0;transition:.16s ease}.pet-action-bar button:active{transform:scale(.94);background:#f5effd}.pet-action-bar span{display:block;font-size:19px}.pet-action-bar b{display:block;font-size:8px;margin-top:2px;white-space:nowrap}
.pet-stage.sleeping .pet-room-bg{background:linear-gradient(180deg,#302656,#514078)}.pet-stage.sleeping::after{background:linear-gradient(270deg,rgba(80,107,210,.34),rgba(83,69,175,.26) 55%,rgba(30,25,66,.16) 80%)}.pet-stage.sleeping::before{opacity:.25}.pet-stage.sleeping img{animation:petSleep 3s ease-in-out infinite;filter:brightness(.82) saturate(.85) drop-shadow(0 18px 20px rgba(30,20,70,.25))}.pet-sleep-fx{display:none;position:absolute;z-index:10;right:19%;top:18%;color:#fff;font-weight:900;text-shadow:0 2px 8px rgba(30,20,70,.5)}.pet-stage.sleeping .pet-sleep-fx{display:block}.pet-sleep-fx span{position:absolute;animation:petZ 2.2s ease-in-out infinite}.pet-sleep-fx span:nth-child(2){margin:18px 0 0 17px;animation-delay:.55s;font-size:13px}.pet-sleep-fx span:nth-child(3){margin:33px 0 0 31px;animation-delay:1.05s;font-size:10px}@keyframes petZ{0%,100%{opacity:.25;transform:translateY(5px)}50%{opacity:1;transform:translateY(-6px)}}@keyframes petSleep{0%,100%{transform:translateY(1px) scale(var(--pet-scale))}50%{transform:translateY(3px) scale(calc(var(--pet-scale) * .985))}}
.pet-bath-fx{position:absolute;inset:0;z-index:10;pointer-events:none}.pet-bath-fx i{position:absolute;bottom:-15px;width:var(--size);height:var(--size);border-radius:50%;background:rgba(255,255,255,.62);border:1px solid rgba(178,214,255,.8);box-shadow:inset 2px 2px 5px rgba(255,255,255,.8);animation:petBubble 1.7s ease-out forwards}.pet-stage.bathing img{animation:petBathWiggle .55s ease-in-out infinite alternate}.pet-stage.bathing .pet-room-bg{background:linear-gradient(180deg,#e5f9ff,#e5e5ff)}@keyframes petBubble{0%{opacity:0;transform:translateY(0) scale(.5)}20%{opacity:1}100%{opacity:0;transform:translateY(-260px) scale(1.15)}}@keyframes petBathWiggle{from{transform:rotate(-2deg) scale(var(--pet-scale))}to{transform:rotate(2deg) scale(var(--pet-scale))}}
.pet-care-grid.pet-highlight{animation:petCareHighlight 1.1s ease}@keyframes petCareHighlight{0%,100%{box-shadow:none}45%{box-shadow:0 0 0 5px rgba(157,115,222,.15);border-radius:18px}}
.pet-game-panel{border:1px solid #e6d9f6;background:linear-gradient(150deg,#fbf7ff,#f7fbff);border-radius:18px;padding:13px;margin:12px 0 16px}.pet-game-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.pet-game-head h3{margin:3px 0 0}.pet-game-head p,.pet-game-panel>p{font-size:10px;color:#82758e;line-height:1.45}.pet-game-close{border:0;background:#eee7f8;color:#71549e;border-radius:50%;width:30px;height:30px;font-size:20px}.pet-game-score{display:flex;justify-content:space-between;font-size:12px;margin:8px 2px}.pet-game-arena{position:relative;height:210px;overflow:hidden;border-radius:17px;background:radial-gradient(circle at 25% 30%,rgba(255,183,211,.5),transparent 30%),radial-gradient(circle at 78% 26%,rgba(162,196,255,.55),transparent 35%),linear-gradient(180deg,#fcfbff,#eee8fb);border:1px solid #e8def3;margin-bottom:9px}.pet-game-bubble{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.95);background:radial-gradient(circle at 30% 28%,#fff 0 8%,rgba(255,255,255,.55) 9% 17%,rgba(182,148,236,.28) 18% 100%);box-shadow:inset -4px -6px 12px rgba(107,79,184,.12),0 4px 10px rgba(77,45,115,.1);font-size:12px;animation:petGameFloat 1.6s ease-in-out infinite alternate}.pet-game-bubble.pop{animation:petGamePop .16s ease-out forwards}@keyframes petGameFloat{to{transform:translateY(-8px) translateX(4px)}}@keyframes petGamePop{to{transform:scale(1.7);opacity:0}}.pet-game-result{position:absolute;inset:0;display:grid;place-content:center;text-align:center;color:#62459a}.pet-game-result b{font-size:22px}.pet-game-result span{font-size:16px;margin-top:5px}
@media(max-width:480px){.pet-action-bar{gap:4px}.pet-action-bar button{padding:7px 1px}.pet-action-bar span{font-size:18px}.pet-action-bar b{font-size:7px}.pet-game-arena{height:190px}.pet-reaction{top:12px}}

/* Vinha 3.0 · Polvinho 3D em tempo real */
.pet-3d-label{display:block;margin-top:4px;font-size:9px;color:#8d7d9a;font-weight:750;letter-spacing:.015em}
.pet-stage.has-3d{height:330px;background:linear-gradient(180deg,rgba(255,255,255,.35),rgba(242,232,255,.12));perspective:900px}
.pet-stage.has-3d::before,.pet-stage.has-3d::after{display:none}
.pet-stage.has-3d #petImage{display:none!important}
.pet-3d-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:5;display:block;touch-action:none;filter:drop-shadow(0 18px 18px rgba(65,40,94,.16));cursor:grab}
.pet-3d-canvas:active{cursor:grabbing}
.pet-room-bg{overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.78),inset 0 -35px 60px rgba(113,83,155,.06)}
.pet-room-bg::after{content:"";position:absolute;left:-12%;right:-12%;bottom:-8%;height:37%;background:linear-gradient(180deg,rgba(223,204,244,.14),rgba(169,135,207,.20));transform:perspective(260px) rotateX(58deg);border-radius:50%;box-shadow:0 -1px 0 rgba(255,255,255,.7)}
.pet-window{position:absolute;right:12%;top:16%;width:66px;height:82px;border:5px solid rgba(255,255,255,.76);border-radius:30px 30px 18px 18px;background:linear-gradient(180deg,#b9d6ff,#d8c9ff 65%,#ffd1df);box-shadow:0 9px 18px rgba(97,76,141,.10),inset 0 0 24px rgba(255,255,255,.55)}
.pet-window::before,.pet-window::after{content:"";position:absolute;background:rgba(255,255,255,.7)}.pet-window::before{left:50%;top:0;bottom:0;width:2px}.pet-window::after{left:0;right:0;top:48%;height:2px}
.pet-moon{position:absolute;right:22%;top:20%;width:17px;height:17px;border-radius:50%;background:#fff2a7;box-shadow:0 0 15px rgba(255,225,121,.65)}
.pet-plant{position:absolute;left:12%;bottom:23%;width:36px;height:27px;background:#d5b4ef;border-radius:7px 7px 12px 12px;box-shadow:0 7px 12px rgba(60,50,80,.09)}
.pet-plant::before{content:"";position:absolute;left:7px;bottom:17px;width:22px;height:30px;background:radial-gradient(ellipse at 40% 70%,#8aca9e 0 40%,transparent 44%),radial-gradient(ellipse at 72% 60%,#72b88c 0 38%,transparent 42%),radial-gradient(ellipse at 54% 22%,#9bd6aa 0 34%,transparent 38%)}
.pet-rug{position:absolute;left:50%;bottom:10%;width:190px;height:55px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse,rgba(186,151,225,.26),rgba(235,215,247,.12) 70%,transparent 72%)}
.pet-stage.sleeping .pet-window{background:linear-gradient(180deg,#2d3569,#5b4e88);border-color:rgba(235,230,255,.52)}
.pet-stage.sleeping .pet-moon{box-shadow:0 0 24px rgba(255,231,137,.95)}
.pet-stage.sleeping .pet-room-bg::after{background:linear-gradient(180deg,rgba(50,41,88,.18),rgba(34,28,65,.28))}
.pet-stage.bathing .pet-3d-canvas{filter:drop-shadow(0 18px 18px rgba(65,80,150,.18)) saturate(1.08)}
.pet-stage.fed .pet-3d-canvas,.pet-stage.petted .pet-3d-canvas{filter:drop-shadow(0 20px 22px rgba(105,56,151,.22)) saturate(1.08)}
.pet-food-pop{z-index:12}
.pet-touch-layer,.pet-sleep-fx,.pet-bath-fx,.pet-reaction{z-index:13}
.pet-3d-fallback .pet-3d-canvas{display:none}.pet-3d-fallback #petImage{display:block!important}
@media(max-width:480px){.pet-stage.has-3d{height:300px}.pet-window{right:10%;top:14%;transform:scale(.88)}.pet-plant{left:9%;transform:scale(.9)}}
@media(prefers-reduced-motion:reduce){.pet-stage.has-3d{scroll-behavior:auto}.pet-touch-heart,.pet-bath-fx i{animation-duration:.25s}}

.bottom-nav.six{grid-template-columns:repeat(6,1fr)}
.bottom-nav.six small{font-size:8px}
@media(max-width:420px){.bottom-nav.six{padding-left:6px;padding-right:6px}.bottom-nav.six span{font-size:18px}.bottom-nav.six small{font-size:7px}}


/* Vinha 3.3 · Polvinho 2D Premium */
.pet-card{background:radial-gradient(circle at 15% 10%,rgba(255,180,214,.18),transparent 28%),radial-gradient(circle at 86% 12%,rgba(123,181,255,.18),transparent 30%),linear-gradient(180deg,#fff,#fbf8ff)}
.pet-topline h2{font-size:28px}
.pet-stage{width:min(100%,560px);height:clamp(360px,72vw,560px);margin:10px auto 8px;border-radius:30px;background:linear-gradient(180deg,#f8f2ff,#efe7fb);box-shadow:inset 0 0 0 1px rgba(255,255,255,.8),0 16px 42px rgba(90,64,132,.10)}
.pet-room-bg,.pet-aura{display:none!important}
.pet-stage img.pet-2d-scene{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center center;border-radius:30px;position:relative;z-index:2;transform:scale(var(--pet-scale));animation:sceneBreath 4.8s ease-in-out infinite;filter:drop-shadow(0 12px 18px rgba(84,54,122,.08)) saturate(1.03)}
.pet-stage::before,.pet-stage::after{content:"";position:absolute;inset:0;border-radius:30px;z-index:4;pointer-events:none;mix-blend-mode:screen;-webkit-mask:none;mask:none}
.pet-stage::before{background:radial-gradient(circle at 28% 68%,rgba(255,122,161,var(--warm-alpha)),transparent 26%),radial-gradient(circle at 62% 72%,rgba(255,108,148,calc(var(--warm-alpha) * .7)),transparent 24%)}
.pet-stage::after{background:radial-gradient(circle at 72% 30%,rgba(86,131,255,var(--cool-alpha)),transparent 28%),radial-gradient(circle at 46% 78%,rgba(109,129,230,calc(var(--cool-alpha) * .75)),transparent 24%)}
@keyframes sceneBreath{0%,100%{transform:translateY(0) scale(var(--pet-scale))}50%{transform:translateY(-5px) scale(calc(var(--pet-scale) + .012))}}
.pet-stage.petted img.pet-2d-scene{animation:sceneNuzzle .42s cubic-bezier(.2,.9,.25,1)}
@keyframes sceneNuzzle{0%{transform:scale(var(--pet-scale))}35%{transform:scale(calc(var(--pet-scale) + .035)) rotate(1.4deg)}100%{transform:scale(var(--pet-scale))}}
.pet-stage.fed img.pet-2d-scene{animation:sceneYum .65s cubic-bezier(.2,.9,.2,1)}
@keyframes sceneYum{0%{transform:scale(var(--pet-scale))}30%{transform:translateY(-3px) scale(calc(var(--pet-scale) + .025))}65%{transform:translateY(0) scale(calc(var(--pet-scale) + .01))}100%{transform:scale(var(--pet-scale))}}
.pet-stage.bathing img.pet-2d-scene{animation:sceneShimmer .8s ease-in-out infinite alternate;filter:saturate(1.1) brightness(1.02)}
@keyframes sceneShimmer{from{transform:translateY(0) scale(var(--pet-scale))}to{transform:translateY(-2px) scale(calc(var(--pet-scale) + .01))}}
.pet-stage.sleeping img.pet-2d-scene{filter:brightness(.72) saturate(.88) hue-rotate(-6deg);animation:sceneSleep 4.5s ease-in-out infinite}
@keyframes sceneSleep{0%,100%{transform:translateY(0) scale(var(--pet-scale))}50%{transform:translateY(2px) scale(calc(var(--pet-scale) * .995))}}
.pet-stage.sleeping::before{background:linear-gradient(180deg,rgba(63,60,119,.26),rgba(26,20,48,.16))}
.pet-stage.sleeping::after{background:radial-gradient(circle at 75% 20%,rgba(113,141,246,.22),transparent 22%),linear-gradient(180deg,rgba(28,26,59,.10),rgba(20,18,48,.18))}
.pet-food-pop{z-index:12;font-size:38px;text-shadow:0 6px 16px rgba(255,255,255,.45)}
.pet-reaction{z-index:14}
.pet-sleep-fx{right:14%;top:10%;z-index:12}
.pet-bath-fx{z-index:11}
.pet-bath-fx i{background:rgba(255,255,255,.55);border-color:rgba(255,255,255,.88);backdrop-filter:blur(2px)}
.pet-touch-heart{font-size:24px}
.pet-quick-stats{max-width:430px;margin:6px auto 12px}
.pet-quick-stats>div{background:linear-gradient(180deg,#fff,#fcf9ff);box-shadow:0 6px 18px rgba(85,58,128,.06)}
.pet-message{max-width:640px;margin:2px auto 12px}
.pet-message h3{font-size:19px}
.pet-action-bar{max-width:560px;margin:10px auto 14px}
.pet-action-bar button{background:linear-gradient(180deg,#fff,#fcf8ff);box-shadow:0 5px 14px rgba(88,62,130,.05)}
.pet-action-bar button:hover{background:#fff4fb}
@media(max-width:480px){.pet-topline h2{font-size:24px}.pet-stage{height:clamp(320px,90vw,480px);border-radius:24px}.pet-stage img.pet-2d-scene,.pet-stage::before,.pet-stage::after{border-radius:24px}.pet-quick-stats{gap:6px}.pet-quick-stats b{font-size:11px}.pet-action-bar b{font-size:7px}}

/* Vinha 3.4 · Polvinho Vivo 2D articulado */
.pet-stage{width:min(100%,620px);height:clamp(390px,72vw,610px);border-radius:30px;overflow:hidden;background:#39255f;isolation:isolate}
.pet-rig{position:absolute;inset:0;width:100%;height:100%;z-index:3;display:block;touch-action:none;user-select:none}
.polvinho-root{--idle-x:0px;--idle-y:0px;--look-x:0px;transform-origin:300px 405px;transform:translate(var(--idle-x),var(--idle-y));animation:polvinhoBreath 4.6s ease-in-out infinite;transition:transform .5s ease}
@keyframes polvinhoBreath{0%,100%{transform:translate(var(--idle-x),var(--idle-y)) scale(1)}50%{transform:translate(var(--idle-x),calc(var(--idle-y) - 3px)) scale(1.006)}}
.tentacle{transform-box:fill-box;transform-origin:50% 15%;will-change:transform}
.t1{animation:tent1 3.8s ease-in-out infinite}.t2{animation:tent2 4.4s ease-in-out infinite .2s}.t3{animation:tent3 3.6s ease-in-out infinite .35s}.t4{animation:tent4 4.1s ease-in-out infinite .15s}.t5{animation:tent5 4.2s ease-in-out infinite .45s}.t6{animation:tent6 3.7s ease-in-out infinite .28s}.t7{animation:tent7 4.5s ease-in-out infinite .5s}.t8{animation:tent8 4s ease-in-out infinite .1s}
@keyframes tent1{0%,100%{transform:rotate(0)}50%{transform:rotate(-3deg) translate(-1px,1px)}}
@keyframes tent2{0%,100%{transform:rotate(0)}50%{transform:rotate(-2.5deg) translate(-1px,2px)}}
@keyframes tent3{0%,100%{transform:rotate(0)}50%{transform:rotate(-2deg) translate(0,2px)}}
@keyframes tent4{0%,100%{transform:rotate(0)}50%{transform:rotate(-1deg) translate(0,2px)}}
@keyframes tent5{0%,100%{transform:rotate(0)}50%{transform:rotate(1deg) translate(0,2px)}}
@keyframes tent6{0%,100%{transform:rotate(0)}50%{transform:rotate(2deg) translate(0,2px)}}
@keyframes tent7{0%,100%{transform:rotate(0)}50%{transform:rotate(3deg) translate(1px,1px)}}
@keyframes tent8{0%,100%{transform:rotate(0)}50%{transform:rotate(2.5deg) translate(1px,2px)}}
.pupil{transition:transform .12s ease-out,opacity .06s ease;transform-box:fill-box;transform-origin:center}
.eyelid{transition:transform .075s ease;transform-box:fill-box;transform-origin:center top}
.closed-eye{opacity:0;transition:opacity .055s ease;pointer-events:none}
.pet-rig.is-blinking .eyelid,.pet-rig.is-sleeping .eyelid{transform:scale(1,1)!important}
.pet-rig.is-blinking .closed-eye,.pet-rig.is-sleeping .closed-eye{opacity:1}
.pet-rig.is-blinking .pupil,.pet-rig.is-sleeping .pupil{opacity:0}
.tuft{transform-box:fill-box;transform-origin:50% 100%;animation:tuftWiggle 3.6s ease-in-out infinite}
@keyframes tuftWiggle{0%,100%{transform:rotate(-1deg)}50%{transform:rotate(1.5deg)}}
.sparkles{animation:sparklePulse 2.5s ease-in-out infinite}@keyframes sparklePulse{0%,100%{opacity:.55}50%{opacity:.95}}
.fish-a{animation:fishA 8s linear infinite}.fish-b{animation:fishB 10s linear infinite}.fish-c{animation:fishC 7s linear infinite}
@keyframes fishA{0%{transform:translate(405px,140px)}50%{transform:translate(515px,150px)}100%{transform:translate(405px,140px)}}
@keyframes fishB{0%{transform:translate(520px,230px) scale(.8)}50%{transform:translate(425px,215px) scale(.8)}100%{transform:translate(520px,230px) scale(.8)}}
@keyframes fishC{0%{transform:translate(450px,92px) scale(.55)}50%{transform:translate(505px,102px) scale(.55)}100%{transform:translate(450px,92px) scale(.55)}}
.pet-rig.tap-pop .polvinho-root{animation:tapPop .48s cubic-bezier(.2,.9,.25,1)}
@keyframes tapPop{0%{transform:scale(1)}35%{transform:translateY(-8px) scale(1.035)}70%{transform:scale(.995)}100%{transform:scale(1)}}
.pet-rig.is-petted .polvinho-root{animation:petCuddle .42s ease-out}@keyframes petCuddle{0%{transform:scale(1)}45%{transform:rotate(1.5deg) scale(1.025)}100%{transform:scale(1)}}
.pet-rig.is-fed #mouth{animation:yumMouth .65s ease}.pet-rig.is-fed .polvinho-root{animation:yumBounce .65s ease}
@keyframes yumMouth{0%,100%{transform:translate(300px,418px) scale(1)}35%{transform:translate(300px,418px) scale(1.18,1.28)}}
@keyframes yumBounce{0%,100%{transform:scale(1)}35%{transform:translateY(-8px) scale(1.02)}65%{transform:translateY(2px) scale(.995)}}
.pet-rig.is-bathing .polvinho-root{animation:bathWiggle .55s ease-in-out infinite alternate}@keyframes bathWiggle{from{transform:rotate(-1.5deg)}to{transform:rotate(1.5deg)}}
.pet-rig.is-sleeping .polvinho-root{animation:sleepBreath 4.8s ease-in-out infinite;filter:saturate(.82) brightness(.82)}
@keyframes sleepBreath{0%,100%{transform:translateY(1px) scale(1)}50%{transform:translateY(4px) scale(.994)}}
.pet-rig.is-sleeping>rect:first-of-type{filter:brightness(.65)}
.pet-stage::before,.pet-stage::after{z-index:5;pointer-events:none}
.pet-stage::before{background:radial-gradient(circle at 32% 64%,rgba(255,94,135,var(--warm-alpha)),transparent 25%),radial-gradient(circle at 58% 72%,rgba(255,121,153,calc(var(--warm-alpha) * .75)),transparent 28%);mix-blend-mode:screen}
.pet-stage::after{background:radial-gradient(circle at 72% 30%,rgba(78,125,255,var(--cool-alpha)),transparent 28%),radial-gradient(circle at 52% 75%,rgba(91,112,230,calc(var(--cool-alpha) * .72)),transparent 28%);mix-blend-mode:screen}
.pet-food-pop,.pet-touch-layer,.pet-sleep-fx,.pet-bath-fx,.pet-reaction{z-index:8}
@media(max-width:480px){.pet-stage{height:clamp(365px,100vw,520px);border-radius:24px}.pet-rig{border-radius:24px}}
@media(prefers-reduced-motion:reduce){.polvinho-root,.tentacle,.tuft,.sparkles,.fish-a,.fish-b,.fish-c{animation:none!important}.pupil{transition:none}}
.polvinho-root{scale:var(--pet-scale,1)}

/* Vinha 3.6 — Polvinho Premium: visual simétrico + interações tipo bichinho virtual */
.pet-rig{display:none!important}
.pet-stage{background:linear-gradient(180deg,#2f2936,#5f465f 58%,#a56b91);overflow:hidden}
.pet-premium{position:absolute;inset:0;z-index:3;overflow:hidden;border-radius:inherit;transform-origin:50% 66%;animation:premiumBreath 4.8s ease-in-out infinite;will-change:transform,filter}
.pet-premium img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;user-select:none;-webkit-user-drag:none;pointer-events:none;filter:saturate(1.02) contrast(1.01)}
@keyframes premiumBreath{0%,100%{transform:translateY(0) scale(var(--pet-scale,1))}50%{transform:translateY(-3px) scale(calc(var(--pet-scale,1) + .006))}}
.pet-stage.petted .pet-premium{animation:premiumCuddle .48s cubic-bezier(.2,.9,.25,1)}
@keyframes premiumCuddle{0%{transform:scale(var(--pet-scale,1))}38%{transform:translateY(-4px) scale(calc(var(--pet-scale,1) + .018)) rotate(-.6deg)}68%{transform:translateY(-2px) scale(calc(var(--pet-scale,1) + .012)) rotate(.5deg)}100%{transform:scale(var(--pet-scale,1))}}
.pet-stage.fed .pet-premium{animation:premiumYum .82s cubic-bezier(.2,.8,.25,1)}
@keyframes premiumYum{0%,100%{transform:scale(var(--pet-scale,1))}20%{transform:translateY(-6px) scale(calc(var(--pet-scale,1) + .018))}42%{transform:translateY(1px) scale(calc(var(--pet-scale,1) - .005))}62%{transform:translateY(-4px) scale(calc(var(--pet-scale,1) + .012))}82%{transform:translateY(0) scale(var(--pet-scale,1))}}
.pet-stage.bathing .pet-premium{animation:premiumBath .62s ease-in-out infinite alternate;filter:saturate(1.08) brightness(1.05)}
@keyframes premiumBath{from{transform:rotate(-.45deg) scale(var(--pet-scale,1))}to{transform:rotate(.45deg) scale(calc(var(--pet-scale,1) + .006))}}
.pet-stage.sleeping .pet-premium{animation:premiumSleep 5.2s ease-in-out infinite;filter:brightness(.70) saturate(.82)}
@keyframes premiumSleep{0%,100%{transform:translateY(0) scale(var(--pet-scale,1))}50%{transform:translateY(3px) scale(calc(var(--pet-scale,1) - .004))}}

/* Olhos fechados: cobrem os olhos abertos sem fazê-los simplesmente desaparecer */
.premium-closed-eye{position:absolute;top:37.3%;width:17.5%;height:12.5%;border-radius:50%;opacity:0;z-index:6;background:radial-gradient(ellipse at 50% 44%,rgba(224,178,255,.98),rgba(190,127,235,.98) 72%,rgba(159,101,213,.98));box-shadow:inset 0 0 16px rgba(255,255,255,.22);transition:opacity .055s linear;pointer-events:none}
.premium-closed-eye-left{left:28.9%}.premium-closed-eye-right{right:28.9%}
.premium-closed-eye::after{content:"";position:absolute;left:18%;right:18%;top:51%;height:22%;border-bottom:5px solid #2b1748;border-radius:0 0 50% 50%;filter:drop-shadow(0 1px 0 rgba(255,255,255,.16))}
.pet-rig.is-blinking~.pet-premium .premium-closed-eye,.pet-rig.is-sleeping~.pet-premium .premium-closed-eye{opacity:1}
.pet-stage.sleeping .premium-closed-eye{opacity:1}

.premium-yum{position:absolute;left:50%;top:52.3%;transform:translate(-50%,-50%) scale(.2);opacity:0;z-index:7;font-size:42px;color:#ffeff8;text-shadow:0 2px 10px rgba(113,36,91,.48);pointer-events:none}
.pet-stage.fed .premium-yum{animation:yumHeart .8s ease-out}
@keyframes yumHeart{0%{opacity:0;transform:translate(-50%,-20%) scale(.2)}40%{opacity:1;transform:translate(-50%,-70%) scale(1)}100%{opacity:0;transform:translate(-50%,-160%) scale(.7)}}
.premium-glow{position:absolute;inset:0;z-index:5;pointer-events:none;background:radial-gradient(circle at 50% 54%,rgba(255,255,255,.10),transparent 28%);opacity:.35}
.pet-stage.fed .premium-glow,.pet-stage.petted .premium-glow{animation:premiumGlow .8s ease-out}
@keyframes premiumGlow{0%{opacity:.15}38%{opacity:.8}100%{opacity:.35}}

.pet-snack-tray{max-width:560px;margin:2px auto 14px;padding:14px;border:1px solid #eadcf7;border-radius:22px;background:linear-gradient(180deg,#fff,#fdf9ff);box-shadow:0 8px 22px rgba(87,57,130,.08)}
.pet-snack-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.pet-snack-head h3{margin:2px 0 0;font-size:16px}
.pet-sound-btn{width:40px;height:40px;border:1px solid #e6d7f5;border-radius:14px;background:#fff;cursor:pointer;font-size:18px}
.pet-snack-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.pet-snack-grid button{border:1px solid #eadcf7;border-radius:16px;background:linear-gradient(180deg,#fff,#fbf5ff);padding:10px 4px;cursor:grab;display:flex;flex-direction:column;align-items:center;gap:4px;touch-action:none;user-select:none}.pet-snack-grid button:active{cursor:grabbing;transform:scale(.97)}.pet-snack-grid span{font-size:29px}.pet-snack-grid b{font-size:10px;color:#5b496b}
.pet-snack-note{margin:10px 2px 0;font-size:10px;line-height:1.35;color:#83748e;text-align:center}
.pet-snack-drag{position:fixed;z-index:99999;pointer-events:none;font-size:44px;transform:translate(-50%,-50%) scale(1.05);filter:drop-shadow(0 8px 12px rgba(65,33,90,.24));transition:filter .12s,transform .12s}
.pet-snack-drag.over-pet{transform:translate(-50%,-50%) scale(1.25);filter:drop-shadow(0 0 16px rgba(255,133,190,.65))}
.pet-snack-fly{position:fixed;z-index:99999;pointer-events:none;font-size:40px;transform:translate(-50%,-50%);filter:drop-shadow(0 7px 10px rgba(59,29,74,.25))}
.pet-stage.snack-ready{box-shadow:inset 0 0 0 3px rgba(255,160,205,.6),0 16px 42px rgba(90,64,132,.14)}

@media(max-width:480px){.pet-snack-grid{grid-template-columns:repeat(4,1fr)}.pet-snack-grid span{font-size:25px}.pet-snack-grid b{font-size:9px}.premium-closed-eye::after{border-bottom-width:4px}}

/* Vinha 3.7 · Polvinha no quarto: alimentos arrastáveis + brincadeira dentro da cena */
#accountEmail{display:none!important}
.polvinha-topline{justify-content:flex-start;margin-bottom:6px}
.polvinha-topline h2{margin:0;font-size:clamp(24px,5vw,34px);letter-spacing:-.035em;color:#2e2340}
#petLevelBadge{display:none!important}
.pet-card{padding-top:18px}
.pet-rig{display:none!important}
.pet-stage{width:min(100%,650px);height:auto;aspect-ratio:974/855;margin:8px auto 10px;border-radius:30px;overflow:hidden;background:#2e1749;box-shadow:0 18px 48px rgba(62,38,96,.16);touch-action:none}
.pet-premium{inset:0;border-radius:inherit;animation:premiumBreath 5s ease-in-out infinite}
.pet-stage .pet-premium>img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center center;position:absolute;inset:0;z-index:0;animation:none!important;filter:saturate(1.035) contrast(1.015);transform:none}
.pet-stage::before,.pet-stage::after{border-radius:inherit}
.pet-stage::before{background:radial-gradient(circle at 42% 65%,rgba(255,117,176,var(--warm-alpha)),transparent 27%)}
.pet-stage::after{background:radial-gradient(circle at 72% 27%,rgba(89,130,255,var(--cool-alpha)),transparent 31%)}
.pet-reaction{top:11px;z-index:42;background:rgba(255,255,255,.94);backdrop-filter:blur(8px)}
.pet-sound-float{position:absolute;right:12px;top:12px;z-index:43;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.9);box-shadow:0 6px 18px rgba(33,18,53,.2)}

/* olhos fechados alinhados à nova imagem da Polvinha */
.premium-closed-eye{top:54.2%;width:13.2%;height:10.5%;z-index:8;background:radial-gradient(ellipse at 50% 44%,rgba(221,169,255,.99),rgba(192,127,237,.99) 72%,rgba(157,97,210,.99));box-shadow:inset 0 0 12px rgba(255,255,255,.22)}
.premium-closed-eye-left{left:33.1%}.premium-closed-eye-right{right:33.1%}
.premium-closed-eye::after{left:14%;right:14%;top:46%;height:27%;border-bottom:5px solid #2d1748}
.premium-yum{top:69%;font-size:38px;z-index:12}
.pet-food-pop{top:66%;z-index:45}
.pet-sleep-fx{z-index:44;right:18%;top:18%}
.pet-bath-fx{z-index:44}

/* Comidinhas ficam dentro do quarto, como objetos do pet */
.pet-food-dock{position:absolute;left:2.5%;right:2.5%;bottom:1.2%;z-index:22;display:grid;grid-template-columns:repeat(6,1fr);gap:2px;align-items:end;padding:0 2px;transition:opacity .2s,transform .2s;pointer-events:none}
.pet-food-dock button{pointer-events:auto;min-width:0;height:clamp(48px,11vw,78px);padding:0;border:0;background:transparent;cursor:grab;touch-action:none;display:grid;place-items:center;filter:drop-shadow(0 7px 7px rgba(20,8,38,.30));transition:transform .16s,filter .16s}
.pet-food-dock button:hover,.pet-stage.feeding-mode .pet-food-dock button{transform:translateY(-5px) scale(1.07);filter:drop-shadow(0 9px 10px rgba(255,164,218,.28))}
.pet-food-dock button:active{cursor:grabbing;transform:scale(.94)}
.pet-stage .pet-food-dock img{position:static!important;width:min(100%,78px)!important;height:auto!important;max-height:78px!important;object-fit:contain!important;animation:none!important;filter:none!important;transform:none!important;pointer-events:none;border-radius:22px}
.pet-stage.snack-ready{box-shadow:inset 0 0 0 4px rgba(255,174,218,.75),0 18px 48px rgba(62,38,96,.20)}
.pet-stage.playing .pet-food-dock{opacity:0;transform:translateY(18px);pointer-events:none}

/* Três ações principais, como um pet virtual */
.pet-main-actions{grid-template-columns:repeat(3,1fr);gap:10px;max-width:650px;margin:10px auto 15px}
.pet-main-actions button{min-height:62px;border-radius:22px;background:#fff;border:1px solid #eadff6;box-shadow:0 8px 22px rgba(84,55,124,.08);display:flex;align-items:center;justify-content:center;gap:9px;padding:10px 14px}
.pet-main-actions button:first-child{background:linear-gradient(135deg,#a86aff,#8751e8);color:#fff;border-color:transparent}
.pet-main-actions span{font-size:24px;display:inline;margin:0}.pet-main-actions b{font-size:14px;margin:0;white-space:nowrap}
.pet-main-actions button:active{transform:translateY(1px) scale(.98)}

/* Brincadeira acontece no próprio quarto */
.pet-game-overlay{position:absolute!important;inset:0!important;z-index:50!important;margin:0!important;padding:0!important;border:0!important;border-radius:inherit!important;background:linear-gradient(180deg,rgba(36,17,68,.03),rgba(36,17,68,.12))!important;box-shadow:none!important;overflow:hidden}
.pet-game-overlay.hidden{display:none!important}
.pet-game-hud{position:absolute;left:12px;right:12px;top:10px;z-index:55;display:flex;align-items:center;gap:8px;pointer-events:none}
.pet-game-hud b{background:rgba(255,255,255,.92);color:#5f3f93;border-radius:999px;padding:7px 10px;font-size:12px;box-shadow:0 5px 14px rgba(40,18,68,.14)}
.pet-game-hud .pet-game-close{margin-left:auto;pointer-events:auto;width:34px;height:34px;background:rgba(255,255,255,.94)}
.pet-game-overlay .pet-game-arena{position:absolute;inset:0;height:auto!important;border:0!important;border-radius:inherit!important;margin:0!important;background:transparent!important;overflow:hidden}
.pet-game-overlay .pet-game-bubble{z-index:4;backdrop-filter:blur(1px);box-shadow:inset -5px -7px 12px rgba(85,57,166,.12),0 5px 12px rgba(62,33,103,.12)}
.pet-toy{position:absolute;z-index:7;border:0;background:transparent;cursor:grab;touch-action:none;transform:translate(0,0);filter:drop-shadow(0 10px 10px rgba(30,12,55,.28))}
.pet-toy.dragging{cursor:grabbing;transform:scale(1.12);z-index:9}
.pet-toy-ball{width:64px;height:64px;border-radius:50%;background:conic-gradient(#ff7f9e 0 16%,#ffd66d 16% 33%,#7fd6ff 33% 50%,#a879f4 50% 67%,#ff8dc2 67% 84%,#ffe47d 84%);border:4px solid rgba(255,255,255,.72)}
.pet-toy-ball span{position:absolute;inset:20px;border-radius:50%;background:#ead9ff;border:2px solid rgba(255,255,255,.7)}
.pet-toy-star{font-size:56px;line-height:1;text-shadow:0 5px 12px rgba(97,53,103,.2)}
.pet-game-result{z-index:12;background:rgba(255,255,255,.92);border-radius:22px;padding:18px 22px;box-shadow:0 12px 30px rgba(42,19,69,.18)}
.pet-game-result button{margin-top:12px}

/* A cena da dona fica limpa: sem card explicando que a Polvinha está na primeira página */
#homeHero.hidden{display:none!important}

@media(max-width:480px){
  .pet-card{padding:12px}.polvinha-topline h2{font-size:24px}
  .pet-stage{border-radius:24px}
  .pet-food-dock{left:1%;right:1%;bottom:.3%;gap:0}
  .pet-food-dock button{height:56px}.pet-stage .pet-food-dock img{max-height:58px!important;border-radius:17px}
  .pet-main-actions{gap:6px}.pet-main-actions button{min-height:56px;padding:8px 7px;border-radius:18px}.pet-main-actions span{font-size:20px}.pet-main-actions b{font-size:12px}
  .premium-closed-eye::after{border-bottom-width:4px}
  .pet-toy-ball{width:54px;height:54px}.pet-toy-star{font-size:48px}
}

/* Vinha 3.8 · ajuste fino do sono + textos finais */
.auth-card .auth-sub:empty{display:none}
.topbar .brand p:empty{display:none}
#petTitle{letter-spacing:-.03em}
/* olhos fechados mais largos e opacos para cobrir totalmente os olhos abertos na cena premium */
.pet-stage.sleeping .premium-closed-eye,
.pet-rig.is-sleeping~.pet-premium .premium-closed-eye,
.pet-rig.is-blinking~.pet-premium .premium-closed-eye{
  opacity:1!important;
  top:54.8%;
  width:14.8%;
  height:11.8%;
  background:
    radial-gradient(ellipse at 50% 35%, rgba(246,228,255,.95) 0%, rgba(219,181,251,.97) 26%, rgba(191,133,236,.99) 72%, rgba(157,97,210,.99) 100%);
  box-shadow:
    inset 0 10px 18px rgba(255,255,255,.18),
    inset 0 -6px 12px rgba(140,84,197,.22);
}
.pet-stage.sleeping .premium-closed-eye-left,
.pet-rig.is-sleeping~.pet-premium .premium-closed-eye-left,
.pet-rig.is-blinking~.pet-premium .premium-closed-eye-left{left:32.2%;transform:rotate(-4deg)}
.pet-stage.sleeping .premium-closed-eye-right,
.pet-rig.is-sleeping~.pet-premium .premium-closed-eye-right,
.pet-rig.is-blinking~.pet-premium .premium-closed-eye-right{right:32.2%;transform:rotate(4deg)}
.pet-stage.sleeping .premium-closed-eye::before,
.pet-rig.is-sleeping~.pet-premium .premium-closed-eye::before,
.pet-rig.is-blinking~.pet-premium .premium-closed-eye::before{
  content:"";
  position:absolute;
  inset:12% 10% 28% 10%;
  border-radius:50%;
  background:rgba(204,154,244,.96);
  filter:blur(.2px);
}
.pet-stage.sleeping .premium-closed-eye::after,
.pet-rig.is-sleeping~.pet-premium .premium-closed-eye::after,
.pet-rig.is-blinking~.pet-premium .premium-closed-eye::after{
  left:12%;
  right:12%;
  top:42%;
  height:31%;
  border-bottom:5px solid #2d1748;
  border-radius:0 0 52% 52%;
}

/* Vinha 3.9 · correção definitiva do rosto dormindo */
/* A máscara agora cobre o olho aberto inteiro, inclusive a parte inferior que antes ficava aparecendo. */
.pet-stage.sleeping .premium-closed-eye{
  display:block!important;
  opacity:1!important;
  top:52.7%!important;
  width:18.2%!important;
  height:17.8%!important;
  border-radius:48% 48% 52% 52%!important;
  background:
    radial-gradient(ellipse at 48% 26%, rgba(239,211,255,.99) 0 10%, rgba(217,170,251,.995) 34%, rgba(190,128,237,1) 72%, rgba(164,103,218,1) 100%)!important;
  box-shadow:
    inset 0 8px 18px rgba(255,255,255,.15),
    inset 0 -8px 13px rgba(125,72,181,.16),
    0 0 10px 5px rgba(189,127,235,.20)!important;
  overflow:hidden;
}
.pet-stage.sleeping .premium-closed-eye-left{
  left:30.6%!important;
  right:auto!important;
  transform:rotate(-2.5deg)!important;
}
.pet-stage.sleeping .premium-closed-eye-right{
  right:30.6%!important;
  left:auto!important;
  transform:rotate(2.5deg)!important;
}
.pet-stage.sleeping .premium-closed-eye::before{
  content:none!important;
}
.pet-stage.sleeping .premium-closed-eye::after{
  content:""!important;
  position:absolute!important;
  left:17%!important;
  right:17%!important;
  top:41%!important;
  height:25%!important;
  border:0!important;
  border-bottom:5px solid #2b1748!important;
  border-radius:0 0 55% 55%!important;
  background:transparent!important;
  filter:drop-shadow(0 1px 0 rgba(255,255,255,.12))!important;
}
/* Durante o sono a cena escurece um pouco, mas sem deixar o rosto acinzentado. */
.pet-stage.sleeping .pet-premium{
  filter:brightness(.78) saturate(.90)!important;
}
/* Zzz um pouco mais próximo da personagem. */
.pet-stage.sleeping .pet-sleep-fx{right:14%!important;top:15%!important}

/* Vinha 3.10 · mapa anterior + cor sazonal da Polvinha */
.season-map-card{border:1px solid #eadff7;background:linear-gradient(180deg,#fff,#fcf8ff);overflow:hidden}
.season-map-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:6px}.season-map-head h3{margin:4px 0 0}.season-map-card>p{line-height:1.5}
.season-file-label input[type="file"]{padding:10px;background:#fff}
.season-map-preview{margin:12px 0;border:1px solid #eadff6;border-radius:18px;background:#f8f3ff;padding:10px;overflow:hidden}.season-map-preview img{display:block;width:100%;max-height:340px;object-fit:contain;border-radius:12px;background:#26163e}.season-map-preview object{display:block;width:100%;height:340px;border:0;border-radius:12px;background:#fff}.season-map-preview p{font-size:10px;color:#7d6f89;margin:8px 2px 0}.season-file-saved{display:flex;gap:7px;align-items:flex-start;flex-wrap:wrap;font-size:12px;color:#5d4a72}.season-file-saved small{display:block;width:100%;color:#8b7d97;line-height:1.4}
.season-toggle{margin:12px 0}
.season-month-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.season-month-item{display:flex;flex-direction:column;gap:5px;padding:9px;border:1px solid #eadff6;border-radius:14px;background:#fff}.season-month-item.current{box-shadow:0 0 0 2px rgba(151,101,225,.14);background:#fbf7ff}.season-month-item span{font-size:10px;font-weight:800;color:#756486;text-transform:uppercase;letter-spacing:.04em}.season-month-item select{width:100%;border:1px solid #e4d8f0;border-radius:10px;background:#fff;padding:7px 6px;font-size:11px;color:#524160}
.season-actions{align-items:center}.season-actions .tiny-btn{border:0;background:transparent;color:#816d92;text-decoration:underline}
.pet-season-tint{position:absolute;left:18%;right:18%;top:27%;bottom:4%;z-index:4;pointer-events:none;opacity:0;clip-path:ellipse(52% 50% at 50% 55%);mix-blend-mode:color;filter:saturate(1.18);transition:opacity .35s ease,background .35s ease}
.pet-stage.sleeping .pet-season-tint{filter:saturate(.9) brightness(.78)}
@media(max-width:560px){.season-month-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.season-map-preview object{height:280px}}

/* =========================================================
   Vinha 4.0 · identidade adulta, panda-vermelha + espiral
   ========================================================= */
:root{
  --bg:#FFF9F2;--card:#FFFEFB;--ink:#2B1D1A;--muted:#6F625E;
  --purple:#7C3AED;--purple-deep:#4C1D6F;--orange:#D9572B;--lavender:#F1E9FF;
  --green:#5E8C73;--coral:#D96C5F;--border:#E9DED2;--shadow:0 8px 24px rgba(62,39,28,.07);
  --radius:22px;--tail-start:#7C3AED;--tail-end:#D9572B;
}
html{background:var(--bg);font-size:16px;color-scheme:light}
body{font-family:Inter,Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink);letter-spacing:-.01em}
body::before{content:none!important}
button,input,textarea,select{font:inherit}button{min-height:44px;cursor:pointer}
#appShell{max-width:760px;background:var(--bg)}
.topbar{background:rgba(255,249,242,.96);border-bottom:1px solid var(--border);backdrop-filter:blur(14px)}
.brand{gap:10px}.brand-mark{width:42px;height:42px;border-radius:13px;background:transparent;box-shadow:none}.brand-mark img{width:38px;height:38px;display:block}.brand h1{font-size:25px;color:var(--purple-deep);font-weight:750}.brand p{font-size:11px;color:var(--muted);margin-top:3px}
.user-chip{border-color:var(--border);background:#fffdf9;box-shadow:none}.user-chip .avatar{background:var(--lavender);color:var(--purple-deep)}
main{padding:18px}.card,.hero-card{background:var(--card);border-color:var(--border);box-shadow:var(--shadow)}
.eyebrow{color:var(--purple);font-size:11px;letter-spacing:.095em}.primary-btn{background:var(--purple);box-shadow:none;border-radius:14px}.primary-btn:hover{background:#6D28D9}.secondary-btn{background:var(--lavender);color:var(--purple-deep);border:1px solid #DED0F4}.tiny-btn{border-color:#DCCFE8;color:var(--purple-deep);background:#fffdf9}
.auth-shell{background:var(--bg)}.auth-card{border-color:var(--border);box-shadow:var(--shadow);border-radius:24px}.auth-logo{height:70px;margin:0 auto 8px;display:grid;place-items:center}.auth-logo img{width:66px;height:66px}.auth-card h1{color:var(--purple-deep);font-size:38px}.brand-tagline{text-align:center;color:var(--muted);font-size:13px;line-height:1.55;margin:8px 0 22px}.auth-tabs{background:#F3ECE5}.auth-tabs button.active{color:var(--purple-deep)}
.context-chip{border-color:var(--border);background:#fffdf9}.context-chip.active{background:var(--lavender);border-color:#CDBAE9}.role-badge{background:var(--lavender);color:var(--purple-deep)}
/* nova tela Hoje */
.today-dashboard{display:grid;gap:12px}.dashboard-hero{display:grid;grid-template-columns:minmax(0,1fr) 150px;align-items:center;padding:22px;min-height:220px;overflow:hidden}.dashboard-copy h2{font-size:clamp(28px,6vw,38px);line-height:1.05;margin:7px 0 12px;color:var(--ink);letter-spacing:-.045em}.dashboard-copy p{font-size:13px;line-height:1.5;color:var(--muted);max-width:430px}.dashboard-cta{width:auto;min-width:190px;margin-top:18px;padding-inline:24px}.dashboard-character{height:170px;display:grid;place-items:end center;overflow:hidden}.dashboard-character img{width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 10px 14px rgba(63,35,25,.10))}.daily-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.summary-card{background:#FFFEFB;border:1px solid var(--border);border-radius:18px;padding:14px;min-height:104px}.summary-card span{display:block;color:var(--muted);font-size:11px}.summary-card strong{display:block;font-size:17px;margin-top:10px;line-height:1.15}.summary-card small{display:block;color:#877A75;font-size:10px;margin-top:5px}.observation-card{display:grid;grid-template-columns:1fr 128px;align-items:center;gap:16px;padding:18px}.observation-card h3{font-size:18px;margin:5px 0 7px}.observation-card p{color:var(--muted);font-size:12px;line-height:1.5}.tail-visual{text-align:center}.tail-visual svg{width:96px;height:96px}.tail-shell-bg,.tail-shell-active{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:13}.tail-shell-bg{stroke:#ECE3DC}.tail-shell-active{filter:drop-shadow(0 2px 5px rgba(76,29,111,.14))}.tail-visual span{display:block;font-size:10px;color:var(--muted)}.compact-info{padding:14px 16px}.compact-info p{margin:6px 0 0;font-size:13px;color:var(--ink);line-height:1.45}.save-complete{display:grid;grid-template-columns:88px 1fr;align-items:center;gap:12px;background:var(--lavender)}.save-complete img{width:88px;height:88px;object-fit:contain}.save-complete strong{font-size:18px}.save-complete p{margin:4px 0 0;color:var(--muted)}
/* mascote legado permanece no DOM/banco para compatibilidade, mas não integra a interface pública */
#petCard{display:none!important}.octopus-duo{display:none!important}
/* registro adulto */
.hero-card:not(#homeHero){background:#FFFEFB}.adult-checkin{padding:0;background:transparent;border:0;box-shadow:none}.checkin-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:18px;border:1px solid var(--border);background:#FFFEFB;border-radius:20px}.checkin-header h3{margin:4px 0 0;font-size:24px}.checkin-section{background:#FFFEFB;border:1px solid var(--border);border-radius:20px;padding:17px;margin-bottom:10px;box-shadow:0 4px 14px rgba(62,39,28,.04)}.step-kicker{display:block;color:var(--purple);font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}.mood-grid{grid-template-columns:repeat(5,1fr)}.mood-option{min-height:96px;border-color:var(--border);border-radius:16px;text-align:left;padding:12px;background:#fffdf9}.mood-option b{font-size:12px;color:var(--ink)}.mood-option small{font-size:9px;color:var(--muted);line-height:1.25;display:block;margin-top:5px}.mood-option.selected{background:var(--lavender);border-color:#AE8CE4;box-shadow:none}.range-group input{accent-color:var(--purple)}.text-input,select,textarea{border-color:var(--border)!important;background:#fffdf9!important}.chips button{border-color:var(--border);background:#fffdf9;color:var(--ink);min-height:44px}.chips button.selected{background:var(--lavender);border-color:#BDA5E7}.privacy-row{background:#FAF4EE!important;border-color:var(--border)!important}.readonly-note{background:#F5F0EA;color:var(--muted)}
/* calendário e tendências */
.day{background:#F8F1EA}.day.has-entry{border-color:var(--border)}.leve{background:#E59B72}.estavel{background:#8B66C8}.variavel{background:#9D7ACB}.desgaste{background:#C27767}.baixa{background:#667F77}.metric{background:#FFFEFB;border-color:var(--border);box-shadow:none}.metric strong{font-size:24px}.baseline-card,.season-map-card,.insight-card{box-shadow:none}.season-map-card{background:#FFFEFB}.hypothesis-badge{background:var(--lavender);color:var(--purple-deep)}
/* relatórios */
.report-intro p,.report-preview p{color:var(--muted);line-height:1.5}.report-checks{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.report-checks label{display:flex;align-items:center;gap:8px;font-size:13px;min-height:38px}.report-checks input{accent-color:var(--purple)}.report-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:12px 0}.report-stat-grid>div{padding:12px;border-radius:14px;background:#F8F2EC}.report-stat-grid span{display:block;font-size:10px;color:var(--muted)}.report-stat-grid b{display:block;margin-top:5px}.report-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.report-actions .primary-btn{margin:0}.report-actions .secondary-btn{margin:0}
/* Mais */
.more-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:12px}.settings-tile{min-height:92px;border:1px solid var(--border);border-radius:19px;background:#FFFEFB;padding:16px;text-align:left;color:var(--ink);box-shadow:none}.settings-tile span{display:block;font-size:14px;font-weight:750}.settings-tile small{display:block;margin-top:6px;color:var(--muted);font-size:11px;line-height:1.35}.settings-tile.static{cursor:default}.symbol-explain{display:grid;grid-template-columns:82px 1fr;align-items:center;gap:14px}.symbol-explain img{width:76px;height:76px}.symbol-explain p,.privacy-copy p{font-size:12px;line-height:1.5;color:var(--muted)}
/* bottom nav cinco áreas */
.bottom-nav{grid-template-columns:repeat(5,1fr);background:rgba(255,253,249,.97);border-top-color:var(--border)}.bottom-nav button{min-height:54px;color:#746963}.bottom-nav button.active{background:transparent;color:var(--purple)}.bottom-nav span{font-size:18px;font-weight:700}.bottom-nav small{font-size:9px}
/* dark mode */
html.dark{color-scheme:dark;--bg:#181311;--card:#211A17;--ink:#F7EFE9;--muted:#B8AAA2;--border:#3B302B;--lavender:#332648;--shadow:none}html.dark body,html.dark #appShell{background:var(--bg)}html.dark .topbar,html.dark .bottom-nav{background:rgba(24,19,17,.96)}html.dark .card,html.dark .hero-card,html.dark .summary-card,html.dark .checkin-section,html.dark .checkin-header,html.dark .settings-tile,html.dark .metric,html.dark .season-map-card{background:var(--card)}html.dark .text-input,html.dark select,html.dark textarea,html.dark .chips button,html.dark .mood-option,html.dark .user-chip,html.dark .context-chip{background:#261F1B!important;color:var(--ink)}html.dark .report-stat-grid>div,html.dark .day{background:#2B221E}html.dark .tail-shell-bg{stroke:#463A34}
html.reduce-motion *,html.reduce-motion *::before,html.reduce-motion *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
@media(max-width:620px){.dashboard-hero{grid-template-columns:1fr 116px;padding:18px;min-height:200px}.dashboard-character{height:135px}.daily-summary-grid{grid-template-columns:repeat(2,1fr)}.observation-card{grid-template-columns:1fr 104px}.mood-grid{grid-template-columns:repeat(2,1fr)}.mood-option:last-child{grid-column:span 2}.report-stat-grid{grid-template-columns:repeat(2,1fr)}.report-actions{grid-template-columns:1fr}.more-grid{grid-template-columns:1fr 1fr}.brand p{display:none}}
@media(max-width:390px){main{padding:12px}.dashboard-hero{grid-template-columns:1fr 96px}.dashboard-copy h2{font-size:27px}.dashboard-character{height:118px}.more-grid{grid-template-columns:1fr}.observation-card{grid-template-columns:1fr}.tail-visual{display:flex;align-items:center;gap:10px}.tail-visual svg{width:72px;height:72px}.report-checks{grid-template-columns:1fr}}
@media print{.topbar,.bottom-nav,.context-switcher,.report-actions,.screen:not([data-screen="relatorios"]){display:none!important}#appShell{max-width:none;padding:0}.screen[data-screen="relatorios"]{display:block!important}.card{box-shadow:none}.notice{border:1px solid var(--border)}}

/* Vinha 4.2 · companheira virtual, registros editáveis, amonita e lembretes */
#petCard.hidden{display:none!important}
#petCard:not(.hidden){display:block!important}
#petCard{margin-top:2px;background:#FFFEFB;border-color:var(--border);box-shadow:0 10px 28px rgba(76,29,111,.07);padding:18px}
#petCard .pet-topline{align-items:flex-start;margin-bottom:6px}
#petCard .pet-topline h2{font-size:25px;color:var(--ink);margin:2px 0 2px}
.pet-subtitle{font-size:12px;color:var(--muted);margin:0}
.beta-pill{font-size:8px;letter-spacing:.08em;color:var(--violet);background:var(--lavender);border-radius:999px;padding:3px 6px;margin-left:5px;vertical-align:middle}
#petRig{display:none!important}
#petCard .pet-stage{width:min(100%,520px);height:310px;aspect-ratio:auto;margin:4px auto 8px;border-radius:24px;background:linear-gradient(180deg,#FFF9F2,#F7F0FF);box-shadow:inset 0 0 0 1px rgba(124,58,237,.08);overflow:hidden;position:relative}
#petCard .pet-premium{position:absolute;inset:0;display:grid;place-items:center;overflow:visible;background:transparent;animation:companionBreath 5s ease-in-out infinite}
#petCard .pet-premium>img{position:relative!important;inset:auto!important;width:auto!important;height:265px!important;max-width:86%!important;object-fit:contain!important;object-position:center!important;filter:drop-shadow(0 14px 18px rgba(69,35,24,.12))!important;transform:none!important;border-radius:0!important}
@keyframes companionBreath{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
#petCard .pet-stage::before,#petCard .pet-stage::after{display:none!important}
#petCard .premium-closed-eye{display:none!important}
#petCard .premium-glow{background:radial-gradient(circle at 50% 58%,rgba(124,58,237,.08),transparent 34%);opacity:.8}
#petCard .pet-reaction{top:10px;left:50%;transform:translateX(-50%);width:max-content;max-width:84%;font-size:12px;border:1px solid var(--border);color:var(--ink);background:rgba(255,254,251,.94)}
#petCard .pet-sound-float{right:10px;top:10px;background:#fff;border-color:var(--border)}
#petCard .pet-food-dock{left:5%;right:5%;bottom:5px;gap:5px;background:rgba(255,254,251,.78);border:1px solid rgba(124,58,237,.08);border-radius:18px;padding:5px 7px;backdrop-filter:blur(8px)}
#petCard .pet-food-dock button{height:46px;filter:none}
#petCard .pet-food-dock button:hover,#petCard .pet-stage.feeding-mode .pet-food-dock button{transform:translateY(-2px) scale(1.04)}
#petCard .pet-stage .pet-food-dock img{max-height:42px!important;width:42px!important;border-radius:10px!important}
#petCard .pet-main-actions{grid-template-columns:repeat(4,1fr);max-width:520px;margin:10px auto 12px;gap:7px}
#petCard .pet-main-actions button{min-height:54px;border-radius:17px;padding:8px;background:#fff;color:var(--ink);border:1px solid var(--border);box-shadow:none}
#petCard .pet-main-actions button:first-child{background:var(--violet);color:#fff;border-color:var(--violet)}
#petCard .pet-main-actions span{font-size:19px}#petCard .pet-main-actions b{font-size:11px}
#petCard .pet-quick-stats{max-width:520px;margin:0 auto;grid-template-columns:repeat(3,1fr)}
#petCard .pet-quick-stats>div{background:#FFF9F2;border-color:var(--border)}
#petCard .pet-message,#petCard .pet-thermometer,#petCard .pet-care-head,#petCard .pet-care-grid,#petCard .pet-fullness,#petCard .pet-disclaimer,#petCard .pet-why-btn,#petCard .pet-why-panel{max-width:520px;margin-left:auto;margin-right:auto}
#petCard .pet-message{padding-top:6px}
#petCard .pet-message h3{font-size:16px;margin-bottom:4px}#petCard .pet-message p{font-size:12px;color:var(--muted)}
#petCard .pet-care-grid{grid-template-columns:repeat(2,1fr)}
#petCard .pet-care-grid button{background:#fff;border:1px solid var(--border);border-radius:16px;min-height:72px}
#petCard .pet-care-grid button.done{background:#F0F7F3;border-color:#B9D7C7}
#petCard .pet-fullness p{font-size:11px;color:var(--muted)}
.pet-stage.sleeping #petPremiumImage{filter:brightness(.86) saturate(.85) drop-shadow(0 14px 18px rgba(69,35,24,.12))!important;transform:translateY(4px) scale(.985)!important}
.pet-stage.fed #petPremiumImage{animation:companionYum .7s ease}.pet-stage.petted #petPremiumImage{animation:companionNuzzle .5s ease}
@keyframes companionYum{0%,100%{transform:scale(1)}35%{transform:translateY(-5px) scale(1.025)}65%{transform:translateY(1px) scale(.99)}}
@keyframes companionNuzzle{0%,100%{transform:rotate(0)}40%{transform:rotate(-1.5deg) scale(1.015)}70%{transform:rotate(1deg)}}

.entry-when-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 0 4px;border-top:1px solid var(--border);margin-top:8px}.entry-when-grid .field-label{margin:0}.retrospective-note{margin:4px 0 14px}.checkin-head-actions{display:flex;gap:7px}.calendar-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.small-action{width:auto!important;padding:9px 12px!important;font-size:11px!important}.entry-card-actions{display:flex;gap:7px;margin-top:10px;flex-wrap:wrap}.entry-card-actions button{min-height:38px}.entry-time-label{color:var(--muted);font-size:10px}.retrospective-badge{display:inline-flex;padding:3px 7px;border-radius:999px;background:var(--lavender);color:var(--violet);font-size:9px;font-weight:700;margin-left:5px}.day.has-multiple::after{content:attr(data-count);position:absolute;right:4px;bottom:3px;min-width:16px;height:16px;border-radius:999px;background:var(--violet);color:white;font-size:8px;display:grid;place-items:center;padding:0 3px}.day{position:relative}

.ammonite-card{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:22px;align-items:center;padding:20px}.ammonite-copy h3{font-size:22px;margin:4px 0 9px}.ammonite-copy p{font-size:12px;line-height:1.55;color:var(--ink)}.ammonite-copy .small-muted{color:var(--muted)}.ammonite-meter{text-align:center;background:#FFF9F2;border:1px solid var(--border);border-radius:20px;padding:12px}.ammonite-meter img{width:125px;height:125px;object-fit:contain}.ammonite-scale{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;font-size:9px;color:var(--muted)}.ammonite-scale i{height:8px;border-radius:999px;background:linear-gradient(90deg,#E9DDF8,#B58AED,#7C3AED,#D9572B)}

.reminders-modal-card{max-width:650px}.reminder-settings-grid{display:grid;gap:8px;margin:14px 0}.reminder-settings-grid .consent-row{border:1px solid var(--border);border-radius:16px;padding:12px;background:#FFFEFB}.reminder-settings-grid .consent-row span{display:grid;gap:2px}.reminder-settings-grid .consent-row small{font-weight:400;color:var(--muted)}.reminder-preview{margin-top:12px;background:var(--lavender)}.reminder-preview-row{display:grid;grid-template-columns:74px 1fr;gap:12px;align-items:center}.reminder-preview-row img{width:74px;height:74px;object-fit:contain}.reminder-preview-row p{margin:4px 0 0;color:var(--muted)}

@media(max-width:620px){#petCard .pet-stage{height:280px}#petCard .pet-premium>img{height:235px!important}#petCard .pet-main-actions{grid-template-columns:repeat(2,1fr)}.entry-when-grid{grid-template-columns:1fr}.ammonite-card{grid-template-columns:1fr}.ammonite-meter{display:grid;grid-template-columns:110px 1fr;align-items:center;text-align:left}.ammonite-meter img{width:100px;height:100px}.calendar-screen-head{align-items:flex-start}.calendar-head-actions{justify-content:flex-start}}
.reminder-times{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.reminder-times .field-label{margin:0}@media(max-width:620px){.reminder-times{grid-template-columns:1fr}}

/* =========================================================
   Vinha 4.3 · interface móvel, apoio simplificado e histórico
   ========================================================= */
#appShell{max-width:460px;box-shadow:0 0 40px rgba(76,29,111,.08)}
.bottom-nav{width:min(460px,100%)}
.topbar{padding-top:max(12px,env(safe-area-inset-top));align-items:flex-start}
.brand{align-items:flex-start}.brand-mark{margin-top:2px}.brand-second{display:block;color:var(--muted);font-size:8px;line-height:1.35;margin-top:2px;max-width:225px}
.user-chip{max-width:128px}.user-chip small:empty{display:none}.user-chip b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:78px;display:block}
.dashboard-hero{grid-template-columns:minmax(0,1fr) 122px;min-height:215px;padding:18px}.dashboard-character{height:148px}.dashboard-copy h2{font-size:30px}.dashboard-copy p{font-size:11px}.dashboard-cta{width:100%;min-width:0;padding-inline:14px}
.daily-summary-grid{grid-template-columns:repeat(2,1fr)}.summary-card{min-height:112px;padding:13px}.summary-card>span{display:flex;align-items:center;gap:6px;color:var(--ink);font-weight:700}.summary-card>span i{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;font-style:normal;background:var(--lavender);color:var(--purple)}.summary-card strong{font-size:15px;margin-top:8px}.summary-progress{height:4px;border-radius:999px;background:#eee6f5;margin-top:9px;overflow:hidden}.summary-progress b{display:block;height:100%;width:0;border-radius:inherit;background:var(--purple);transition:width .3s}.energy-summary>span i,.energy-summary .summary-progress b{color:var(--orange);background:#FFE9DE}.energy-summary .summary-progress b{background:var(--orange)}.sleep-summary>span i{color:#6542c7}.function-summary>span i{color:#287f70;background:#e4f4ef}.function-summary .summary-progress b{background:#287f70}
.home-reminder-card{width:100%;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;text-align:left;border:1px solid var(--border);border-radius:17px;background:var(--card);color:var(--ink);padding:12px 13px}.home-reminder-icon{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#fff0f1;color:#e04452;font-size:18px}.home-reminder-card small,.home-reminder-card b{display:block}.home-reminder-card small{color:var(--muted);font-size:9px}.home-reminder-card b{font-size:12px;margin-top:2px}.home-reminder-card em{font-style:normal;color:var(--purple);font-size:10px;font-weight:800}
.observation-card{grid-template-columns:1fr 92px}.tail-visual svg{width:80px;height:80px}
.support-home{display:grid;gap:12px}.support-welcome{display:grid;grid-template-columns:1fr 112px;align-items:center;min-height:176px;padding:18px;overflow:hidden}.support-welcome h2{font-size:25px;margin:9px 0 6px}.support-welcome p{font-size:12px;color:var(--muted);line-height:1.45}.support-welcome img{width:118px;height:132px;object-fit:contain;align-self:end}.support-action-grid{display:grid;gap:9px}.support-action-card{display:grid;grid-template-columns:36px 1fr;align-items:center;text-align:left;border:1px solid var(--border);border-radius:18px;background:var(--card);color:var(--ink);padding:14px;min-height:78px}.support-action-card>span{grid-row:1/3;width:32px;height:32px;border-radius:11px;background:var(--lavender);color:var(--purple);display:grid;place-items:center;font-size:18px}.support-action-card b{font-size:13px}.support-action-card small{color:var(--muted);font-size:10px;margin-top:3px}.support-action-card.tips{border-color:#d8c8ed;background:linear-gradient(135deg,#fff,#faf6ff)}
.bottom-nav.support-nav{grid-template-columns:repeat(4,1fr)}

.trend-chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.trend-chart-card{border:1px solid var(--border);background:var(--card);border-radius:18px;padding:13px;min-height:132px}.trend-chart-card.sleep{grid-column:1/-1}.trend-chart-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.trend-chart-head b{font-size:12px}.trend-chart-head small{font-size:9px;color:var(--muted)}.trend-chart-card svg{display:block;width:100%;height:62px;margin-top:8px;overflow:visible}.trend-chart-card .empty-chart{height:62px;display:grid;place-items:center;color:var(--muted);font-size:10px}.trend-chart-foot{text-align:center;color:var(--muted);font-size:9px;margin-top:3px}
.ammonite-card{display:block;padding:17px}.ammonite-copy h3{font-size:19px}.ammonite-intensity-scale{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;align-items:center;margin:16px 0 8px}.ammonite-intensity-scale img{width:100%;aspect-ratio:1;object-fit:contain;filter:saturate(.9);transition:opacity .2s,transform .2s}.ammonite-intensity-scale img.active{transform:scale(1.08);filter:saturate(1.12) drop-shadow(0 4px 8px rgba(76,29,111,.15))}.ammonite-scale-label{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;font-size:8px;color:var(--muted)}.ammonite-scale-label i{height:4px;border-radius:999px;background:linear-gradient(90deg,#eee2fa,#7c3aed,#d9572b)}
.historical-map-card{scroll-margin-top:92px}.historical-year-label{max-width:180px}.season-month-grid{grid-template-columns:repeat(2,1fr)}.season-month-item{display:grid;grid-template-columns:46px 1fr;align-items:center;gap:5px}.season-month-item span{text-transform:none}.season-month-item select{min-width:0;width:100%;font-size:10px;padding:8px 5px}.historical-saved-years{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.historical-year-chip{border:1px solid #d9cbea;background:#faf6ff;color:var(--purple-deep);border-radius:999px;padding:6px 10px;min-height:34px;font-size:10px;font-weight:750}.historical-year-chip.active{background:var(--purple);color:white;border-color:var(--purple)}
.map-year-controls select,#mapViewYear{max-width:135px}.annual-grid{grid-template-columns:1fr 1fr}.map-card-v2{min-height:128px}.map-card-v2.current-month{border-color:#9f78d6;background:#fbf7ff}.map-card-v2.future{opacity:.7}.map-card-v2 .month-origin{display:block;margin-top:8px;color:var(--muted);font-size:9px}.map-card-v2 .state-pill{display:inline-flex;border-radius:999px;padding:5px 8px;background:var(--lavender);color:var(--purple-deep);font-size:10px;font-weight:750;margin:4px 0 5px}

.records-action-list{display:grid;border:1px solid var(--border);border-radius:18px;overflow:hidden;background:var(--card);margin-bottom:10px}.records-action-list button{display:grid;grid-template-columns:32px 1fr auto;gap:9px;align-items:center;text-align:left;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--ink);padding:12px}.records-action-list button:last-child{border-bottom:0}.records-action-list .records-action-icon{color:var(--purple);font-size:20px}.records-action-list .records-action-copy{min-width:0}.records-action-list b,.records-action-list small{display:block}.records-action-list b{font-size:12px}.records-action-list small{font-size:9px;color:var(--muted);margin-top:2px}.records-action-list em{font-style:normal;color:var(--muted);font-size:20px}.quick-record-card{padding:14px}.quick-record-head{display:flex;align-items:flex-start;justify-content:space-between}.quick-record-head h3{font-size:16px;margin:3px 0 9px}.quick-record-head small{color:var(--muted)}.quick-irritated{width:100%;display:grid;grid-template-columns:34px 1fr auto;align-items:center;text-align:left;border:1px solid #ef8c7c;border-radius:14px;background:#fffaf8;color:var(--ink);padding:11px}.quick-irritated span{color:#e54832;font-size:23px}.quick-irritated b{font-size:14px}.quick-irritated em{font-style:normal;font-size:20px}

.compact-support-link .permission-summary{grid-template-columns:1fr}.support-person-name{font-size:14px;color:var(--purple-deep)}
.support-guide-intro{display:grid;grid-template-columns:82px 1fr;gap:12px;align-items:center;background:linear-gradient(135deg,#fff,#f7f0ff)}.support-guide-intro img{width:82px;height:92px;object-fit:contain}.support-guide-intro h3{font-size:17px;margin:0 0 5px}.support-guide-intro p,.guide-card p{font-size:11px;color:var(--muted);line-height:1.5}.guide-card{position:relative;padding-left:52px}.guide-number{position:absolute;left:15px;top:16px;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:var(--purple);color:#fff;font-size:11px;font-weight:900}.guide-card h3{font-size:15px;margin:0 0 8px}.guide-card ul{margin:0;padding-left:17px}.guide-card li{font-size:11px;line-height:1.48;margin:5px 0}.guide-card.alert{border-color:#efb0a8;background:#fff8f6}.guide-card.alert .guide-number{background:#d9572b}.crisis-actions{display:flex;gap:8px;margin:10px 0}.crisis-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border-radius:12px;padding:0 14px;background:#d9572b;color:white;text-decoration:none;font-weight:800;font-size:12px}.crisis-actions a:last-child{background:var(--purple)}.guide-sources{display:grid;gap:7px}.guide-sources p{font-size:10px;color:var(--muted)}.guide-sources a{font-size:10px;color:var(--purple)}

.reminder-callout{display:grid;grid-template-columns:48px 1fr;align-items:center;gap:12px;background:linear-gradient(135deg,#fbf7ff,#fff)}.reminder-callout>span{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--lavender);color:var(--purple);font-size:27px}.reminder-callout b{font-size:13px}.reminder-callout p{font-size:10px;color:var(--muted);margin:4px 0 0}.screen[data-screen="lembretes"]>.item-actions{margin:10px 0}
html.dark .home-reminder-card,html.dark .support-welcome,html.dark .support-action-card,html.dark .trend-chart-card,html.dark .records-action-list,html.dark .quick-irritated{background:var(--card)}html.dark .summary-progress{background:#3a2d44}
@media(max-width:390px){.brand-second{display:none}.dashboard-hero{grid-template-columns:1fr 92px}.dashboard-character{height:116px}.daily-summary-grid{grid-template-columns:1fr 1fr}.support-welcome{grid-template-columns:1fr 90px}.support-welcome img{width:94px}.annual-grid{grid-template-columns:1fr}.season-month-grid{grid-template-columns:1fr}}

/* =========================================================
   Vinha 4.4 · reconstrução fiel das quatro telas de referência
   ========================================================= */
body{background:#f5efe7}
#appShell{width:100%;max-width:390px;min-height:100dvh;background:#fffcf7;box-shadow:0 18px 65px rgba(72,44,26,.14);position:relative;overflow-x:hidden}
#appShell[data-screen]:not([data-screen="casa"]) .topbar{display:none}
.topbar{position:relative;top:auto;padding:20px 18px 8px;min-height:106px;background:#fffcf7;border:0;backdrop-filter:none;align-items:flex-start}
.brand{gap:9px;align-items:flex-start}.brand-mark{width:45px;height:45px;margin:0;border-radius:50%;overflow:hidden}.brand-mark img{width:45px;height:45px;border-radius:50%;clip-path:circle(50%)}.brand h1{font-family:Georgia,"Times New Roman",serif;font-size:34px;line-height:.96;color:#35136e;font-weight:600;letter-spacing:-.035em}.brand p{display:block!important;margin:7px 0 0;font-size:9px;line-height:1.25;color:#32116c;white-space:nowrap}.brand-second{display:block!important;color:#32116c;font-size:8px;line-height:1.3;margin-top:3px;max-width:240px;white-space:nowrap}
.top-actions{padding-top:3px}.user-chip{width:auto;max-width:132px;min-height:40px;border:0;background:transparent;padding:3px;box-shadow:none}.user-chip .avatar{width:34px;height:34px;border-radius:50%;background:transparent;color:#29232b;font-size:21px}.user-chip .avatar svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.owner-mode .user-chip>span:last-child{display:none}.support-mode .user-chip{border:1px solid #e6dbd0;background:#fff}.support-mode .user-chip .avatar{background:#f0e7ff;color:#6d28d9}.support-mode .user-chip b{max-width:74px;font-size:10px}
main{padding:8px 14px 20px}.context-switcher{padding:0 0 8px}.context-switcher.single-context{display:none}.context-chip{padding:6px 9px;border-radius:12px}.context-chip b{font-size:10px}.context-chip small{font-size:8px}
.today-dashboard{gap:9px}.dashboard-hero{display:grid;grid-template-columns:minmax(0,1fr) 118px;grid-template-rows:auto 44px;gap:0 4px;min-height:160px;padding:2px 1px 0;background:transparent;border:0;box-shadow:none;border-radius:0;overflow:visible}.dashboard-copy{align-self:end;padding-bottom:9px}.dashboard-copy h2{font-size:27px;line-height:1.15;margin:0;color:#171821;letter-spacing:-.035em}.dashboard-copy h2 span{color:#6820c4}.dashboard-copy p{display:none}.dashboard-character{height:126px;align-self:end;overflow:visible}.dashboard-character img{width:122px;height:126px;object-fit:contain;filter:drop-shadow(0 8px 10px rgba(72,40,26,.11))}.dashboard-cta{grid-column:1/-1;width:100%;height:42px;min-height:42px;margin:0;padding:0 15px;border-radius:12px;display:flex;align-items:center;justify-content:center;position:relative;font-size:12px;background:linear-gradient(180deg,#7b24d8,#5f12b7);box-shadow:0 5px 10px rgba(96,18,183,.17)}.dashboard-cta em{position:absolute;right:14px;font-size:20px;font-style:normal;font-weight:300}.dashboard-cta span{display:block}
.daily-summary-grid{grid-template-columns:1fr 1fr;gap:8px}.summary-card{min-height:78px;padding:9px 10px;border-radius:13px;background:#fffefa;box-shadow:0 3px 10px rgba(74,53,34,.035)}.summary-card>span{gap:5px;font-size:9px}.summary-card>span i{width:20px;height:20px;font-size:12px}.summary-card strong{font-size:11px;margin-top:6px}.summary-card small{font-size:8px;margin-top:2px}.summary-progress{height:3px;margin-top:6px}
.home-reminder-card{min-height:48px;border-radius:13px;padding:8px 10px;grid-template-columns:25px 1fr auto}.home-reminder-icon{width:24px;height:24px;font-size:14px}.home-reminder-card small{font-size:8px}.home-reminder-card b{font-size:10px}.home-reminder-card em{font-size:8px;color:#d84a39}.home-thermometer-card{display:none!important}.support-observation-card{display:grid!important;grid-template-columns:30px 1fr auto;align-items:center;gap:8px;padding:10px;border-radius:13px;background:linear-gradient(135deg,#fff,#fbf7ff);min-height:69px}.support-observation-card>.support-observation-icon{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:#5f23c5;background:#f0e9ff}.support-observation-card .eyebrow{font-size:7.5px;letter-spacing:.04em}.support-observation-card p{font-size:9px;margin:4px 0 0;line-height:1.32}.support-observation-card>small{width:14px;height:14px;border:1px solid #8f8580;border-radius:50%;display:grid;place-items:center;font-size:8px;font-weight:800;color:#777}
.card,.hero-card{border-color:#eadfd5;box-shadow:0 4px 14px rgba(64,43,27,.04);border-radius:14px}.eyebrow{font-size:9px;letter-spacing:.06em}
.reference-screen-head{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;margin:4px 0 12px;min-height:45px;text-align:center}.reference-screen-head h2{font-size:16px;margin:0;letter-spacing:-.02em}.reference-screen-head>span{display:block}.reference-screen-head select{width:44px;padding:6px 2px;border-radius:10px;font-size:8px}.screen-back{width:36px;height:36px;min-height:36px;border:0;background:transparent;color:#1c1820;font-size:26px;line-height:1}
.trend-chart-grid{gap:8px}.trend-chart-card{min-height:104px;padding:10px;border-radius:13px}.trend-chart-card svg{height:46px;margin-top:5px}.trend-chart-card .empty-chart{height:46px}.trend-chart-head b{font-size:10px}.trend-chart-head small,.trend-chart-foot{font-size:7px}.trend-chart-card.sleep{min-height:98px}.screen[data-screen="tendencias"] #trendPerspectiveNote{padding:8px 10px;margin-bottom:8px;font-size:8px}.ammonite-card{padding:12px;border-radius:13px}.ammonite-copy{text-align:center}.ammonite-copy .eyebrow{display:none}.ammonite-copy h3{font-size:16px;margin:0 0 4px}.ammonite-copy p{font-size:9px;line-height:1.35;margin:0}.ammonite-intensity-scale{margin:10px 0 6px;gap:5px}.ammonite-scale-label{font-size:7px}.ammonite-story-card{display:grid;grid-template-columns:82px 1fr;gap:12px;align-items:center;padding:13px}.ammonite-story-card img{width:78px;height:78px;object-fit:contain}.ammonite-story-card h3{font-size:13px;margin:0 0 5px}.ammonite-story-card p{font-size:8.5px;line-height:1.45;color:#4d4440;margin:0}
.screen[data-screen="tendencias"]>#metricGrid,
.screen[data-screen="tendencias"]>#baselineCard,
.screen[data-screen="tendencias"]>.mood-distribution-card,
.screen[data-screen="tendencias"]>.insight-card{display:none}
.records-action-list{border-radius:13px;margin-bottom:9px}.records-action-list button{padding:10px 11px;min-height:58px}.records-action-list .records-action-icon{font-size:22px}.records-action-list b{font-size:10px}.records-action-list small{font-size:8px}.quick-record-card{padding:10px;margin-bottom:9px}.quick-record-head h3{font-size:12px;margin:2px 0 7px}.quick-record-head small{font-size:8px}.quick-irritated{min-height:51px;border-radius:11px;padding:8px}.quick-irritated b{font-size:14px}.records-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:4px 2px 8px}.records-section-head b,.records-section-head small{display:block}.records-section-head b{font-size:10px}.records-section-head small{font-size:7px;color:#746a65;max-width:175px;text-align:right}.records-section-head .tiny-btn{min-height:30px;padding:4px 8px;font-size:8px}.calendar-card{padding:10px;border-radius:13px}.calendar-card .month-nav{justify-content:space-between;margin-bottom:9px}.calendar-card .month-nav button{background:transparent;color:#242027}.calendar-card .month-nav strong{font-size:10px}.weekdays{font-size:7px;gap:2px}.calendar-grid{gap:2px}.calendar-grid .day{height:31px;aspect-ratio:auto;border-radius:8px;font-size:8px;background:transparent!important;color:#5d5551}.calendar-grid .day:hover{background:#f8f2ed!important}.calendar-grid .day small{font-size:6px;line-height:1;color:#6d28d9}.calendar-grid .day.has-multiple::after{transform:scale(.75);transform-origin:right bottom}.legend{font-size:8px;padding:8px}.screen[data-screen="calendario"] #dayDetail{font-size:9px;padding:10px}
.reminder-callout{padding:11px;border-color:#d9c9ea;background:linear-gradient(135deg,#fff,#fbf6ff);grid-template-columns:42px 1fr}.reminder-callout>span{width:39px;height:39px;font-size:23px}.reminder-callout b{font-size:10px}.reminder-callout p{font-size:8px}.reminder-settings-grid{padding:8px;gap:0}.reminder-settings-grid .consent-row{padding:9px 4px;border:0;border-bottom:1px solid #eee4da;border-radius:0;background:transparent}.reminder-settings-grid .consent-row:last-child{border-bottom:0}.reminder-settings-grid .consent-row b{font-size:9px}.reminder-settings-grid .consent-row small{font-size:7.5px}.consent-row input[type="checkbox"]{appearance:none;width:34px;height:20px;min-width:34px;border-radius:999px;background:#d7d3d2;position:relative;border:0;transition:.2s}.consent-row input[type="checkbox"]::after{content:"";position:absolute;width:16px;height:16px;left:2px;top:2px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.18);transition:.2s}.consent-row input[type="checkbox"]:checked{background:#681bc1}.consent-row input[type="checkbox"]:checked::after{transform:translateX(14px)}.reminder-times{grid-template-columns:1fr 1fr 1fr;padding:8px 4px;gap:5px}.reminder-times .field-label{font-size:7px}.reminder-times .text-input{padding:6px;font-size:8px}.reminder-examples{padding:10px}.notification-example{display:grid;grid-template-columns:30px 1fr auto;gap:7px;align-items:start;padding:9px 0;border-bottom:1px solid #eee4da}.notification-example:last-child{border-bottom:0}.notification-example img{width:28px;height:28px}.notification-example b{font-size:8px}.notification-example p{font-size:9px;line-height:1.3;margin:2px 0 0}.notification-example small{font-size:7px;color:#80756f}.reminder-mascot-note{display:grid;grid-template-columns:1fr 105px;align-items:end;padding:12px 12px 0;background:linear-gradient(135deg,#fbf7ff,#fff);min-height:100px;overflow:hidden}.reminder-mascot-note div{font-size:10px;line-height:1.5;color:#32156f;padding-bottom:14px}.reminder-mascot-note img{width:105px;height:96px;object-fit:contain;object-position:center bottom}
.screen[data-screen="lembretes"]{color:#211c22}.screen[data-screen="lembretes"] #enableNotificationsBtn{background:linear-gradient(180deg,#7b24d8,#5f12b7);color:#fff;border-color:transparent}
.bottom-nav{width:min(390px,100%);height:61px;padding:6px 8px calc(5px + env(safe-area-inset-bottom));background:rgba(255,253,249,.98);border-top:1px solid #e7ddd3}.bottom-nav button{min-height:48px;padding:3px 1px}.bottom-nav span{font-size:17px}.bottom-nav small{font-size:7.5px}.bottom-nav button.active{color:#6420c2}
.screen[data-screen="companheira"] #petCard{margin:0!important}.screen[data-screen="companheira"] #petCard:not(.hidden){display:block!important}
.weekly-rhythm-card{width:100%;display:block;text-align:left;border:1px solid #e6d9cf;border-radius:13px;background:linear-gradient(135deg,#fffefa,#fbf7ff);color:#282126;padding:10px;box-shadow:0 4px 14px rgba(64,43,27,.04)}
.weekly-rhythm-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.weekly-rhythm-head>span{display:grid;gap:1px}.weekly-rhythm-head small{font-size:7px;letter-spacing:.07em;color:#7627d2;font-weight:850}.weekly-rhythm-head b{font-size:10px}.weekly-rhythm-head em{font-size:7.5px;font-style:normal;color:#6420c2;font-weight:800}
.weekly-rhythm-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:8px 0 6px}.weekly-rhythm-day{display:grid;place-items:center;gap:2px;min-width:0}.weekly-rhythm-day small{font-size:6px;text-transform:uppercase;color:#817671}.weekly-rhythm-day i{display:block;width:18px;height:18px;border-radius:50%;border:1px dashed #cfc5bf;background:#f4efeb;box-shadow:inset 0 0 0 3px #fff}.weekly-rhythm-day b{font-size:6.5px;color:#766c67}.weekly-rhythm-day.today small,.weekly-rhythm-day.today b{color:#6420c2;font-weight:900}.weekly-rhythm-day.today i{outline:2px solid #d9c2f4;outline-offset:1px}
.weekly-rhythm-day[data-state="leve"] i{background:#e59b72;border-color:#e59b72}.weekly-rhythm-day[data-state="estavel"] i{background:#8b66c8;border-color:#8b66c8}.weekly-rhythm-day[data-state="variavel"] i{background:linear-gradient(135deg,#8b66c8 45%,#e59b72 55%);border-color:#9d7acb}.weekly-rhythm-day[data-state="desgaste"] i{background:#c27767;border-color:#c27767}.weekly-rhythm-day[data-state="baixa"] i{background:#667f77;border-color:#667f77}
.weekly-rhythm-summary{display:block;font-size:7.5px;line-height:1.35;color:#746a65}.dark .weekly-rhythm-card{background:#2a222b;color:#f7efe9;border-color:#463841}.dark .weekly-rhythm-day i{box-shadow:inset 0 0 0 3px #2a222b}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
html.dark body{background:#171118}html.dark #appShell,html.dark .topbar{background:#211a20}html.dark .dashboard-hero{background:transparent}.dark .support-observation-card{background:#2a222b}
@media(min-width:540px){body{padding:22px 0}#appShell{min-height:820px;border:1px solid #e5d9cf;border-radius:30px;overflow:hidden}.bottom-nav{border-radius:0 0 30px 30px}}
@media(max-width:390px){main{padding:8px 12px 20px}.brand-second{display:block!important}.dashboard-hero{grid-template-columns:minmax(0,1fr) 116px}.dashboard-character,.dashboard-character img{height:126px}.dashboard-character img{width:122px}.annual-grid{grid-template-columns:1fr}.season-month-grid{grid-template-columns:1fr}}

/* =========================================================
   Vinha 4.5 · relatório para consulta psiquiátrica
   ========================================================= */
.report-clinical-hero{display:grid;grid-template-columns:58px 1fr;gap:11px;align-items:center;padding:12px;background:linear-gradient(135deg,#fff,#faf5ff)}
.report-clinical-hero img{width:55px;height:55px;object-fit:contain}
.report-clinical-hero h3{font-size:13px;margin:3px 0 4px;color:#2b2027}
.report-clinical-hero p{font-size:8px;line-height:1.4;color:#756a66;margin:0}
.report-settings-card,.report-share-card{padding:12px}
.report-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:9px}
.report-card-head h3{font-size:12px;margin:3px 0 0}.report-card-head>small{font-size:7px;color:#6420c2;background:#f0e8ff;border-radius:999px;padding:4px 7px;font-weight:800}
.report-settings-card .field-label{font-size:8px;margin:8px 0}.report-settings-card textarea{min-height:54px;padding:8px;font-size:9px;line-height:1.4;resize:vertical}
.report-settings-card .item-actions{margin-top:9px}.report-settings-card .secondary-btn{min-height:36px;padding:7px 10px;font-size:9px}.report-settings-card .save-status{font-size:8px;margin:6px 0 0}
.report-share-card .consent-row{padding:8px 1px;border-bottom:1px solid #eee4da;background:transparent;border-radius:0}.report-share-card .consent-row:last-child{border-bottom:0}.report-share-card .consent-row span{display:grid;gap:2px;min-width:0}.report-share-card .consent-row b{font-size:9px}.report-share-card .consent-row small{font-size:7px;color:#756b66}
.report-document{margin:12px 0;background:#fff;color:#282226;border:1px solid #e9ded5;border-radius:15px;box-shadow:0 6px 18px rgba(58,37,26,.055);overflow:hidden}
.clinical-report{background:#fff;color:#282226;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
.clinical-report-header{padding:16px;background:linear-gradient(135deg,#35136e,#6a1fc6);color:#fff;display:grid;gap:13px}
.clinical-report-brand{display:grid;grid-template-columns:40px 1fr;gap:9px;align-items:center}.clinical-report-brand img{width:40px;height:40px;object-fit:contain;background:#fff;border-radius:50%;padding:3px}.clinical-report-brand b{display:block;font-family:Georgia,"Times New Roman",serif;font-size:24px;font-weight:600}.clinical-report-brand span{display:block;font-size:8px;opacity:.88;margin-top:1px}
.clinical-report-meta{display:grid;gap:2px;padding-top:9px;border-top:1px solid rgba(255,255,255,.22)}.clinical-report-meta b{font-size:12px}.clinical-report-meta span{font-size:8px}.clinical-report-meta small{font-size:7px;opacity:.75}
.report-purpose{margin:12px;padding:10px 11px;border-left:4px solid #7b28d4;background:#f7f1ff;border-radius:8px}.report-purpose b{font-size:9px;color:#4a176f}.report-purpose p{font-size:8px;line-height:1.45;margin:3px 0 0;color:#4f454b}
.report-section{padding:14px 12px;border-top:1px solid #eee4dd}.report-section-head{display:grid;grid-template-columns:27px 1fr;gap:8px;align-items:start;margin-bottom:11px}.report-section-head>span{width:25px;height:25px;border-radius:8px;background:#6d22c6;color:#fff;display:grid;place-items:center;font-size:9px;font-weight:900}.report-section-head h3{font-size:12px;margin:0}.report-section-head p{font-size:7.5px;line-height:1.4;color:#776d68;margin:3px 0 0}
.report-context-grid{display:grid;gap:7px}.report-context-grid>div{padding:8px;border:1px solid #ece2da;border-radius:9px;background:#fffcf9}.report-context-grid b{display:block;font-size:8px;color:#4a176f}.report-context-grid p{font-size:8px;line-height:1.45;margin:3px 0 0;color:#493f44}
.report-empty-note{font-size:8px;color:#786e69;margin:0;padding:9px;background:#faf6f2;border-radius:9px}
.report-quality{padding:9px;border:1px solid #e7ddd5;border-radius:10px}.report-quality>b{font-size:9px;text-transform:uppercase;letter-spacing:.05em}.report-quality>div{height:5px;border-radius:999px;background:#eee7e2;margin:6px 0;overflow:hidden}.report-quality i{height:100%;display:block;border-radius:inherit;background:#7c3aed}.report-quality.partial i{background:#d9863c}.report-quality.limited i{background:#cb6456}.report-quality span{display:block;font-size:7px;color:#776d68}.report-data-warning{margin-top:7px;padding:8px;border-radius:8px;background:#fff4e8;color:#6e4928;font-size:7.5px;line-height:1.4}
.clinical-stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.clinical-stat-grid>div{padding:9px;background:#faf6f2;border:1px solid #eee4dd;border-radius:9px}.clinical-stat-grid span,.clinical-stat-grid small{display:block;color:#776d68;font-size:7px}.clinical-stat-grid b{display:block;font-size:13px;margin:4px 0 2px;color:#32156f}
.report-chart-grid{display:grid;grid-template-columns:1fr;gap:8px}.report-chart-card{border:1px solid #e9dfd7;border-radius:10px;padding:9px;background:#fffdfb;break-inside:avoid}.report-chart-title{display:flex;justify-content:space-between;gap:8px;align-items:center}.report-chart-title b{font-size:9px}.report-chart-title span{font-size:7px;color:#776d68}.report-chart-card svg{display:block;width:100%;height:auto;margin-top:3px}.report-chart-empty{min-height:64px;display:grid;place-items:center;text-align:center;color:#887d77;font-size:7px}
.report-mood-distribution{display:grid;gap:7px}.report-mood-row{display:grid;grid-template-columns:112px 1fr 20px;gap:7px;align-items:center;font-size:7px}.report-mood-row>div{height:7px;border-radius:999px;background:#eee7f2;overflow:hidden}.report-mood-row i{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#7b2bd1,#e56b42)}.report-mood-row b{text-align:right}
.report-table-wrap{width:100%;overflow-x:auto;border:1px solid #e9dfd7;border-radius:9px}.report-table{width:100%;border-collapse:collapse;min-width:310px;font-size:7px}.report-table th{background:#f5effb;color:#431475;text-align:left;font-weight:800}.report-table th,.report-table td{padding:7px;border-bottom:1px solid #ede4dd;vertical-align:top}.report-table tr:last-child td{border-bottom:0}.report-table td:first-child{font-weight:700}.report-section h4{font-size:9px;margin:12px 0 6px}.report-delta{white-space:nowrap;color:#5b288b;font-weight:750}.report-delta.neutral{color:#887d77;font-weight:500}
.report-pattern-grid{display:grid;gap:7px}.report-pattern-item{display:grid;grid-template-columns:32px 1fr;gap:8px;padding:8px;border:1px solid #ebe1da;border-radius:9px;break-inside:avoid}.report-pattern-item>strong{width:30px;height:30px;border-radius:9px;background:#f1e8ff;color:#6520bc;display:grid;place-items:center;font-size:12px}.report-pattern-item b{font-size:8px}.report-pattern-item p{font-size:7px;line-height:1.45;color:#776d68;margin:3px 0 0}
.report-history-years{display:grid;gap:9px}.report-history-years>div>b{font-size:9px;color:#4a176f}.report-history-years>div>div{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:5px}.report-history-years span{display:grid;gap:2px;padding:6px;border-radius:7px;background:#faf6f2;font-size:6.5px}.report-history-years small{color:#7d716b;text-transform:uppercase;font-size:6px}
.report-entry,.report-support-entry{padding:9px;border:1px solid #e9dfd7;border-radius:9px;margin-bottom:7px;break-inside:avoid}.report-entry:last-child,.report-support-entry:last-child{margin-bottom:0}.report-entry-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.report-entry-head b{font-size:8px}.report-entry-head>span{font-size:7px;color:#4b176f;text-align:right}.report-entry-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:7px 0}.report-entry-metrics span{font-size:6.5px;padding:5px;background:#f8f3ef;border-radius:6px}.report-entry p,.report-support-entry p{font-size:7px;line-height:1.45;margin:5px 0 0;color:#544a4f}.report-private-note{border-left:3px solid #a979df;padding-left:7px}.report-support-entry>div{display:flex;justify-content:space-between;gap:7px}.report-support-entry b{font-size:8px}.report-support-entry span,.report-support-entry small{font-size:6.5px;color:#7c716b}
.report-questions ul{padding-left:18px;margin:0}.report-questions li{font-size:7.5px;line-height:1.5;margin:5px 0}.clinical-report-footer{padding:13px;background:#2f1652;color:#fff}.clinical-report-footer b{font-size:8px}.clinical-report-footer p{font-size:6.5px;line-height:1.5;opacity:.86;margin:4px 0 0}
.screen[data-screen="relatorios"] .report-actions{margin:10px 0;grid-template-columns:1fr}.screen[data-screen="relatorios"] .report-actions button{min-height:40px;font-size:10px}.report-screen-disclaimer{font-size:8px;line-height:1.45;margin-bottom:10px}
html.dark .report-document,html.dark .clinical-report{background:#fff;color:#282226}html.dark .report-settings-card textarea{background:#261f1b!important;color:#f7efe9}

@media(min-width:700px){.report-chart-grid{grid-template-columns:1fr 1fr}.clinical-stat-grid{grid-template-columns:repeat(4,1fr)}.report-history-years>div>div{grid-template-columns:repeat(6,1fr)}}

@media print{
  @page{size:A4;margin:11mm}
  html,body{background:#fff!important;color:#222!important}
  body{padding:0!important}
  #appShell{width:100%!important;max-width:none!important;min-height:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important;background:#fff!important}
  #appShell .topbar,#appShell .bottom-nav,#appShell .context-switcher{display:none!important}
  #appShell main{padding:0!important}
  .screen[data-screen="relatorios"]{display:block!important;padding:0!important}
  .screen[data-screen="relatorios"]>:not(#reportPreview){display:none!important}
  #reportPreview{display:block!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}
  .clinical-report-header{padding:12mm 10mm;background:#4b197f!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .report-purpose,.report-section,.clinical-report-footer{padding-left:9mm;padding-right:9mm}
  .report-section{padding-top:7mm;padding-bottom:7mm}
  .report-chart-grid{grid-template-columns:1fr 1fr}
  .clinical-stat-grid{grid-template-columns:repeat(4,1fr)}
  .report-history-years>div>div{grid-template-columns:repeat(6,1fr)}
  .report-table-wrap{overflow:visible}
  .report-table{font-size:8pt}
  .report-section-head,.report-chart-card,.report-pattern-item,.report-entry,.report-support-entry,.report-context-grid>div,.clinical-stat-grid>div{break-inside:avoid}
  .report-section-head h3{font-size:13pt}.report-section-head p,.report-purpose p{font-size:8.5pt}.report-context-grid p,.report-pattern-item p,.report-entry p,.report-support-entry p,.report-questions li{font-size:8pt}.report-entry-metrics span{font-size:7pt}
  .clinical-report-footer{background:#2f1652!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .clinical-report-footer p{font-size:7.5pt}
}

/* =========================================================
   Vinha 5.0 · acompanhamento e acesso clínico consentido
   ========================================================= */
.daily-clinical-hero{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:10px;align-items:center;padding:13px;background:linear-gradient(135deg,#fffdf9,#fbf5ff);overflow:hidden}
.daily-clinical-hero h3{font-size:15px;margin:3px 0 5px;text-transform:capitalize}.daily-clinical-hero p{font-size:8px;line-height:1.45;color:#746a65;margin:0}.daily-clinical-hero img{width:90px;height:88px;object-fit:contain;align-self:end}
.medication-today-card,.daily-observation-card,.daily-history-card{padding:12px}.medication-today-list{display:grid;gap:8px}
.medication-today-item{padding:10px;border:1px solid #e9ddd4;border-radius:12px;background:#fffdfb;display:grid;gap:9px}.medication-today-item>div:first-child{display:grid;gap:2px}.medication-today-item b{font-size:11px}.medication-today-item span{font-size:8px;color:#756b66}
.binary-answer{display:grid;grid-template-columns:1fr 1fr;gap:6px;align-items:center}.binary-answer button{min-height:36px;border:1px solid #dfd4cc;border-radius:10px;background:#f8f4f1;color:#4f4744;font-size:9px;font-weight:850;padding:7px}.binary-answer button.selected.yes{background:#e8f8f2;border-color:#46a182;color:#16624d}.binary-answer button.selected.no{background:#fff0ed;border-color:#e77b65;color:#a0382d}.binary-answer .clear-answer{grid-column:1/-1;min-height:24px;border:0;background:transparent;color:#7656a1;font-size:7px;padding:2px}
.empty-state.compact{min-height:74px;gap:5px;font-size:8px}.empty-state.compact .big{font-size:20px}.empty-state.compact .tiny-btn{margin-top:4px}
.clinical-details,.clinical-report-builder{margin:10px 0}.clinical-details>summary,.clinical-report-builder>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px}.clinical-details>summary::-webkit-details-marker,.clinical-report-builder>summary::-webkit-details-marker{display:none}.clinical-details>summary>span,.clinical-report-builder>summary>span{display:grid;gap:3px}.clinical-details>summary b,.clinical-report-builder>summary b{font-size:10px}.clinical-details>summary small,.clinical-report-builder>summary small{font-size:7.5px;line-height:1.35;color:#756b66}.clinical-details>summary em,.clinical-report-builder>summary em{font-style:normal;color:#6d23c4;font-size:20px;transition:transform .2s}.clinical-details[open]>summary em,.clinical-report-builder[open]>summary em{transform:rotate(90deg)}
.clinical-details>form,.clinical-details>.medication-manager-list,.clinical-details>.small-muted{margin-top:12px}.medication-form{border-top:1px solid #eee3db;padding-top:10px}.medication-manager-list{display:grid;gap:7px}.medication-manager-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px;border:1px solid #e9ded6;border-radius:10px;background:#fffdfb}.medication-manager-item>div:first-child{display:grid;gap:2px}.medication-manager-item b{font-size:9px}.medication-manager-item span,.medication-manager-item small{font-size:7px;color:#756b66}.medication-manager-item.ended{opacity:.68}.medication-manager-item .item-actions{margin:0;flex-wrap:nowrap}
.clinical-marker-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:8px 0 10px}.clinical-marker-grid button{min-height:35px;border:1px solid #e2d7cf;border-radius:10px;background:#faf7f4;color:#534a47;font-size:8px;font-weight:750;padding:7px}.clinical-marker-grid button.selected{background:#f0e6ff;border-color:#8b4ed5;color:#4f168d;box-shadow:inset 0 0 0 1px #8b4ed5}.daily-observation-card textarea{width:100%;min-height:68px;border:1px solid #ddd2ca;border-radius:10px;padding:9px;font:inherit;font-size:9px;line-height:1.4;resize:vertical;background:#fff}.daily-observation-card>.primary-btn{width:100%;margin-top:8px}
.daily-history-card{margin-bottom:12px}.daily-history-item{padding:9px 0;border-bottom:1px solid #eee4dd}.daily-history-item:last-child{border-bottom:0}.daily-history-item>div:first-child{display:flex;justify-content:space-between;gap:8px}.daily-history-item b{font-size:9px}.daily-history-item small{font-size:7px;color:#7b706a}.daily-history-item p{font-size:8px;line-height:1.4;margin:6px 0 0;color:#554c49}.daily-history-note{padding:7px;background:#faf5ff;border-left:3px solid #9b63db;border-radius:6px}.history-med-list{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.history-med{font-size:7px;padding:4px 6px;border-radius:999px;background:#f3efec}.history-med.yes{background:#e8f7f1;color:#17624e}.history-med.no{background:#fff0ed;color:#9e3e32}
.clinical-report-builder{border:0}.clinical-report-builder>summary.card{padding:12px;border-color:#d8c6e8;background:linear-gradient(135deg,#f9f3ff,#fffdfb)}.report-builder-head{margin-top:12px}.report-auto-medication-note{display:grid;gap:3px;padding:9px;border:1px solid #e7ddd5;border-radius:10px;background:#faf7f3}.report-auto-medication-note b{font-size:8px;color:#4a176f}.report-auto-medication-note span{font-size:8px;line-height:1.4;color:#625854}.daily-report-entry .report-entry-head span{max-width:62%}.medication-report-table small{font-size:6.5px;color:#706661}
.clinical-registration-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.clinical-registration-grid:has(>label:nth-child(2):last-child){grid-template-columns:1fr 1fr}.clinical-permissions{border:1px solid #e5d9d1;border-radius:11px;padding:9px;margin:5px 0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.clinical-permissions legend{font-size:8px;font-weight:850;color:#4a176f;padding:0 5px}.clinical-permissions label{font-size:7.5px;line-height:1.3;display:flex;gap:5px;align-items:flex-start}.clinical-permissions input{accent-color:#6d22c6}.clinical-consent{margin:7px 0!important}.clinical-invite-card>p{font-size:8px;line-height:1.45;color:#756a66}
.clinical-access-list{display:grid;gap:9px}.clinical-access-item{border:1px solid #e7dcd4;border-radius:12px;padding:10px;background:#fffdfb}.clinical-access-item .item-head b{font-size:9px}.clinical-access-item .item-head p{font-size:7px}.role-badge.clinical{background:#e8f1ff;color:#245a8f}.role-badge.clinical.pending{background:#fff4df;color:#8d5a17}.role-badge.clinical.revoked,.role-badge.clinical.expired{background:#f1edeb;color:#756b66}.clinical-expiry{font-size:7px;color:#756b66;margin:7px 0}.clinical-permission-box{grid-template-columns:1fr 1fr}.clinical-permission-box label{font-size:7px}.clinical-access-item .item-actions{margin-top:8px}.identity-disclaimer{display:block;font-size:6.5px;line-height:1.35;color:#8a7f79;margin-top:7px}
.clinical-period-control{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:7px;font-weight:800;color:#514845;margin:6px 0}.clinical-period-control select{width:auto;min-width:100px;padding:5px 7px;border-radius:8px;font-size:7px}
.clinical-readonly-banner{display:grid;grid-template-columns:38px 1fr;gap:9px;align-items:center;padding:12px;background:linear-gradient(135deg,#f4f8ff,#fff)}.clinical-readonly-banner>span{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#dceaff;color:#245a8f;font-size:19px}.clinical-readonly-banner b{font-size:11px}.clinical-readonly-banner p{font-size:7.5px;line-height:1.4;color:#6b6766;margin:3px 0 0}.clinical-consent-summary{padding:12px}.clinical-consent-summary p{font-size:8px;line-height:1.45}.clinical-consent-summary>small{font-size:7px;color:#756b66}.clinical-panel-content{display:grid;gap:10px}.clinical-panel-section,.clinical-snapshot-head{padding:12px}.clinical-panel-section h3,.clinical-snapshot-head h3{font-size:12px;margin:0 0 8px}.clinical-snapshot-head p{font-size:7px;color:#756b66}.clinical-panel-section>p{font-size:8px;line-height:1.45}.clinical-med-card{display:grid;gap:7px;padding:9px 0;border-bottom:1px solid #eee4dd}.clinical-med-card:last-child{border-bottom:0}.clinical-med-card>div{display:flex;justify-content:space-between;gap:6px;flex-wrap:wrap}.clinical-med-card b{font-size:9px}.clinical-med-card span{font-size:7px;color:#756b66}.clinical-med-card span.yes{color:#17624e}.clinical-med-card span.no{color:#a33b30}.clinical-observation-row,.clinical-entry-row{padding:9px 0;border-bottom:1px solid #eee4dd}.clinical-observation-row:last-child,.clinical-entry-row:last-child{border-bottom:0}.clinical-observation-row b,.clinical-entry-row b{font-size:8px}.clinical-observation-row span,.clinical-entry-row span,.clinical-entry-row small{font-size:7px;color:#756b66}.clinical-observation-row p,.clinical-entry-row p{font-size:7.5px;line-height:1.45;margin:5px 0 0}.clinical-entry-row>div{display:flex;justify-content:space-between;gap:8px}.clinical-panel-actions{display:grid;grid-template-columns:1fr;gap:7px;margin:10px 0}.clinical-panel-actions button{min-height:40px}.context-chip.pending{border-style:dashed;background:#fff8e8}.bottom-nav.clinical-nav button{flex:1}
.dark .daily-clinical-hero,.dark .medication-today-item,.dark .medication-manager-item,.dark .clinical-access-item{background:#2a222b}.dark .daily-observation-card textarea{background:#211a20;color:#f7efe9}.dark .clinical-marker-grid button{background:#2b2429;color:#eee4df;border-color:#4b3d45}.dark .clinical-marker-grid button.selected{background:#41225f;color:#f3e8ff}.dark .report-auto-medication-note{background:#2a222b}.dark .clinical-details>summary small,.dark .clinical-report-builder>summary small{color:#c5b8b1}
@media(max-width:360px){.clinical-registration-grid{grid-template-columns:1fr}.clinical-permissions{grid-template-columns:1fr}.binary-answer{grid-template-columns:1fr}.binary-answer .clear-answer{grid-column:1}.daily-clinical-hero{grid-template-columns:minmax(0,1fr) 72px}.daily-clinical-hero img{width:74px;height:76px}}

@media print{
  body.printing-clinician #appShell .topbar,body.printing-clinician #appShell .bottom-nav,body.printing-clinician #appShell .context-switcher,body.printing-clinician .screen[data-screen="clinico"]>.screen-head,body.printing-clinician #professionalProfileDetails,body.printing-clinician #clinicalConsentCard,body.printing-clinician .clinical-panel-actions,body.printing-clinician .report-screen-disclaimer{display:none!important}
  body.printing-clinician .screen{display:none!important}body.printing-clinician .screen[data-screen="clinico"]{display:block!important}body.printing-clinician #clinicalPanelContent{display:block!important}body.printing-clinician #clinicalPanelContent>.card{margin:0 0 5mm!important;box-shadow:none!important;break-inside:avoid}
  body.printing-report #medicalReportDetails{display:block!important}body.printing-report #medicalReportDetails>summary{display:none!important}
}

/* =========================================================
   Vinha 5.1 · rosto fixo, cauda-termômetro e início compacto
   ========================================================= */
.owner-mode .topbar{min-height:82px;padding:13px 18px 0}
.owner-mode main{padding-top:0}
.owner-mode .today-dashboard{gap:8px}
.owner-mode .dashboard-hero-fixed-face{display:grid;grid-template-columns:1fr;grid-template-rows:132px 42px;gap:0;min-height:174px;margin-top:-2px;padding:0 1px;background:transparent;border:0;box-shadow:none;overflow:visible}
.owner-mode .dashboard-hero-fixed-face .dashboard-character{grid-column:1;grid-row:1;width:100%;height:132px;display:flex;align-items:flex-start;justify-content:center;overflow:visible}
.vinha-hero-mascot{position:relative;width:138px;height:138px;isolation:isolate}
.owner-mode .dashboard-hero-fixed-face .vinha-hero-mascot>img{display:block;width:138px;height:138px;object-fit:contain;filter:drop-shadow(0 7px 9px rgba(72,40,26,.12));position:relative;z-index:1}
.owner-mode .dashboard-hero-fixed-face .dashboard-cta{grid-column:1;grid-row:2;height:42px;min-height:42px}
.vinha-tail-softener,.vinha-tail-rings{position:absolute;left:36%;top:43%;width:62%;height:55%;border-radius:50%;transform:rotate(-7deg);pointer-events:none;transition:opacity .45s ease,filter .45s ease,background .45s ease;z-index:2}
.vinha-tail-softener{clip-path:ellipse(48% 47% at 52% 52%);background:rgba(255,249,242,.28);-webkit-backdrop-filter:saturate(.45) brightness(1.14);backdrop-filter:saturate(.45) brightness(1.14)}
.vinha-tail-rings{opacity:.08;mix-blend-mode:screen}
.vinha-tail-rings i{position:absolute;left:50%;top:52%;border:2px solid rgba(190,117,255,.72);border-radius:50%;box-shadow:0 0 7px rgba(126,43,224,.48);transform:translate(-50%,-50%) rotate(-11deg)}
.vinha-tail-rings i:nth-child(1){width:29%;height:27%}
.vinha-tail-rings i:nth-child(2){width:57%;height:54%}
.vinha-tail-rings i:nth-child(3){width:86%;height:81%;border-color:rgba(226,116,99,.48)}
.vinha-hero-mascot[data-tail-level="1"] .vinha-tail-softener{opacity:.70;-webkit-backdrop-filter:saturate(.28) brightness(1.2);backdrop-filter:saturate(.28) brightness(1.2)}
.vinha-hero-mascot[data-tail-level="1"] .vinha-tail-rings{opacity:.04}
.vinha-hero-mascot[data-tail-level="2"] .vinha-tail-softener{opacity:.52;-webkit-backdrop-filter:saturate(.48) brightness(1.14);backdrop-filter:saturate(.48) brightness(1.14)}
.vinha-hero-mascot[data-tail-level="2"] .vinha-tail-rings{opacity:.18}
.vinha-hero-mascot[data-tail-level="3"] .vinha-tail-softener{opacity:.34;-webkit-backdrop-filter:saturate(.7) brightness(1.08);backdrop-filter:saturate(.7) brightness(1.08)}
.vinha-hero-mascot[data-tail-level="3"] .vinha-tail-rings{opacity:.34}
.vinha-hero-mascot[data-tail-level="4"] .vinha-tail-softener{opacity:.16;-webkit-backdrop-filter:saturate(.9);backdrop-filter:saturate(.9)}
.vinha-hero-mascot[data-tail-level="4"] .vinha-tail-rings{opacity:.52}
.vinha-hero-mascot[data-tail-level="5"] .vinha-tail-softener{opacity:0}
.vinha-hero-mascot[data-tail-level="5"] .vinha-tail-rings{opacity:.76;filter:saturate(1.28) brightness(1.12)}
.owner-mode #homeReminderCard,.owner-mode #homeLastNoteCard,.owner-mode #homeSupportNoteCard{display:none!important}
.home-thermometer-card{display:block!important;padding:13px 12px 12px;border-radius:14px;background:linear-gradient(180deg,#fffefa,#fffaf5);text-align:center}
.home-thermometer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;text-align:left}
.home-thermometer-head h3{font-size:16px;line-height:1.1;margin:3px 0 0;color:var(--ink)}
.home-thermometer-level{flex:0 0 auto;display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;background:#f0e7ff;color:#6222bd;font-size:8px;font-weight:850}
.home-thermometer-card>p{max-width:315px;margin:7px auto 9px;font-size:9px;line-height:1.42;color:var(--muted)}
.home-ammonite-intensity-scale{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;align-items:center}
.home-ammonite-intensity-scale img{width:100%;aspect-ratio:1;object-fit:contain;border:1px solid #efe6dc;border-radius:12px;background:#fffaf6;padding:4px;filter:saturate(.82);transition:opacity .25s ease,transform .25s ease,filter .25s ease,box-shadow .25s ease}
.home-ammonite-intensity-scale img.active{transform:translateY(-2px) scale(1.055);filter:saturate(1.15);box-shadow:0 5px 10px rgba(92,35,156,.13);border-color:#c8aceb}
.home-ammonite-scale-label{display:grid;grid-template-columns:auto 1fr auto;gap:7px;align-items:center;margin-top:5px;color:var(--muted);font-size:7px}
.home-ammonite-scale-label i{height:4px;border-radius:999px;background:linear-gradient(90deg,#eadcf9,#8d39e9,#d9572b)}
.home-thermometer-reading{display:block;margin-top:8px;padding-top:8px;border-top:1px solid #eee2d8;font-size:10px;line-height:1.35;color:#3d285b;text-align:left}
@media(max-width:390px){.owner-mode .topbar{min-height:80px;padding-top:12px}.owner-mode .dashboard-hero-fixed-face{grid-template-rows:126px 42px;min-height:168px}.owner-mode .dashboard-hero-fixed-face .dashboard-character{height:126px}.vinha-hero-mascot,.owner-mode .dashboard-hero-fixed-face .vinha-hero-mascot>img{width:132px;height:132px}.home-ammonite-intensity-scale{gap:4px}.home-ammonite-intensity-scale img{padding:3px;border-radius:10px}}
html.dark .home-thermometer-card{background:var(--card)}
html.dark .home-ammonite-intensity-scale img{background:#2a222b;border-color:#4b3d45}
html.dark .home-thermometer-reading{border-color:#493b35;color:#e6d6f8}
html.dark .home-thermometer-level{background:#39254f;color:#dfc4ff}
