:root{
  --bg:#f4efe6;
  --card:#fffaf2;
  --ink:#1e1915;
  --muted:#74695f;
  --gold:#b49460;
  --gold-deep:#8b6a3d;
  --gold-soft:#efe4d0;
  --dark:#15120f;
  --line:#ded3c2;
  --ok:#2d6d4a;
  --shadow:0 16px 45px rgba(35,26,18,.11);
  --shadow-soft:0 9px 28px rgba(35,26,18,.075);
  --ease-premium:cubic-bezier(.22,.72,.24,1);
  --safe-top:env(safe-area-inset-top,0px);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:linear-gradient(180deg,var(--dark) 0 210px,var(--bg) 210px);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:inherit}
button,a{-webkit-tap-highlight-color:transparent}
.svg-sprite{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}

.shell{width:min(100%,560px);min-height:100vh;margin:auto;padding:14px 15px 96px}
.brand{text-align:center;color:#fff;padding:9px 0 18px;animation:brandEnter .55s var(--ease-premium) both}
.brand img{width:82px;height:82px;object-fit:cover;border-radius:50%;border:1px solid rgba(180,148,96,.9);box-shadow:0 10px 30px rgba(0,0,0,.18)}
.brand h1{font:500 27px Georgia,serif;margin:8px 0 4px;letter-spacing:.01em}
.brand p{margin:0;color:#d9cfc0;font-size:12px}
footer{text-align:center;color:#766b62;font-size:10px;padding:18px 0}

.hero,.panel{
  background:linear-gradient(155deg,#fffaf2 0%,#fffdf8 100%);
  border:1px solid rgba(180,148,96,.28);
  border-radius:28px;
  box-shadow:var(--shadow);
  padding:20px;
}
.hero{animation:heroEnter .52s .06s var(--ease-premium) both}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--gold-deep);font-weight:850;font-size:10px}
.hero h2,.panel h2{font:500 27px Georgia,serif;margin:7px 0 8px}
.hero p{color:var(--muted);line-height:1.5;margin:0}
.summary{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.pill{display:inline-flex;align-items:center;gap:6px;background:#f0e7d7;border:1px solid rgba(180,148,96,.18);border-radius:999px;padding:7px 10px;font-size:11px;font-weight:750;color:#5c4a37}
.pill .inline-icon{width:14px;height:14px;color:var(--gold-deep)}

.menu{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:15px 0}
.menu button{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(170,144,102,.28);
  background:linear-gradient(150deg,rgba(255,253,249,.99),rgba(248,241,230,.98));
  border-radius:21px;
  min-height:99px;
  padding:11px 7px 10px;
  box-shadow:var(--shadow-soft);
  cursor:pointer;
  color:var(--ink);
  transition:transform .22s var(--ease-premium),box-shadow .22s ease,border-color .22s ease,background .22s ease;
  animation:menuItemEnter .46s var(--ease-premium) both;
}
.menu button::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.58) 48%,transparent 72%);
  transform:translateX(-130%);
  transition:transform .55s var(--ease-premium);
  pointer-events:none;
}
.menu button:hover{transform:translateY(-2px);border-color:rgba(180,148,96,.48);box-shadow:0 12px 28px rgba(35,26,18,.105)}
.menu button:hover::after{transform:translateX(130%)}
.menu button:active{transform:scale(.975)}
.menu button:nth-child(1){animation-delay:.10s}.menu button:nth-child(2){animation-delay:.13s}.menu button:nth-child(3){animation-delay:.16s}
.menu button:nth-child(4){animation-delay:.19s}.menu button:nth-child(5){animation-delay:.22s}.menu button:nth-child(6){animation-delay:.25s}
.menu button:nth-child(7){animation-delay:.28s}.menu button:nth-child(8){animation-delay:.31s}.menu button:nth-child(9){animation-delay:.34s}
.menu button:nth-child(10){animation-delay:.37s}.menu button:nth-child(11){animation-delay:.40s}.menu button:nth-child(12){animation-delay:.43s}
.menu .ico{
  width:43px;height:43px;
  margin:0 auto 7px;
  display:grid;place-items:center;
  border-radius:50%;
  color:var(--gold-deep);
  background:radial-gradient(circle at 35% 28%,#fffdf7 0 18%,#f2e6d1 56%,#e4d2b2 100%);
  border:1px solid rgba(151,116,63,.26);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 7px 16px rgba(99,71,36,.10);
  transition:transform .24s var(--ease-premium),box-shadow .24s ease;
  font-size:22px; line-height:1;
}
.menu button:hover .ico{transform:translateY(-1px) scale(1.035);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 9px 20px rgba(99,71,36,.14)}
.menu .ico svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.menu .label{font-size:11.3px;font-weight:820;line-height:1.12;letter-spacing:.005em}

.view{will-change:opacity,transform,filter}
.section{display:none}
.section.active{display:block}
.view-fade-out{animation:viewFadeOut .20s ease both}
.view-fade-in{animation:viewFadeIn .36s var(--ease-premium) both}
.soft-pulse{animation:softPulse .48s var(--ease-premium) both}

.where{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:11px;margin-bottom:15px}
.where strong{font-size:12px}.where small{color:var(--muted)}
.section-title{font:500 27px Georgia,serif;margin:0 0 14px}
.subheading{font:500 20px Georgia,serif;margin:18px 0 8px}

.grid2{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.info{border:1px solid var(--line);background:#fffdf9;border-radius:16px;padding:12px;box-shadow:0 3px 12px rgba(34,25,18,.025)}
.info b{display:block;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-size:9px;margin-bottom:4px}
.info span{font-weight:750;font-size:13px}
.full{grid-column:1/-1}
.status{display:inline-flex;gap:6px;align-items:center;background:#e8f2ec;color:var(--ok);padding:7px 10px;border-radius:999px;font-size:11px;font-weight:800}
.status:before{content:"";width:7px;height:7px;background:var(--ok);border-radius:50%;box-shadow:0 0 0 3px rgba(45,109,74,.10)}

.btn{
  display:flex;justify-content:center;align-items:center;gap:8px;
  text-decoration:none;border:0;border-radius:15px;padding:12px 14px;
  font-weight:800;cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease,border-color .18s ease;
}
.btn:active{transform:scale(.985)}
.primary{background:linear-gradient(150deg,#201a16,#100e0c);color:#fff;box-shadow:0 8px 18px rgba(20,16,13,.13)}
.primary:hover{box-shadow:0 10px 22px rgba(20,16,13,.18)}
.secondary{background:#fff;border:1px solid var(--line)}
.secondary:hover{border-color:rgba(180,148,96,.50)}
.btn-icon{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.icon-fill{fill:currentColor;stroke:none}
.buttons{display:grid;gap:8px;margin-top:13px}
.back{width:100%;margin-top:14px}
.copy{display:flex;gap:8px}.copy .info{flex:1}
.note{background:#efe6d6;border-radius:15px;padding:12px;margin-top:10px;color:#594936;font-size:12px;line-height:1.45;border:1px solid rgba(180,148,96,.12)}

.list{list-style:none;padding:0;margin:0}
.list li{display:flex;gap:11px;align-items:flex-start;padding:11px 0;border-bottom:1px solid var(--line);line-height:1.4;font-size:13px}
.list li:last-child{border-bottom:0}
.list-icon{width:31px;height:31px;flex:0 0 31px;display:grid;place-items:center;border-radius:10px;background:var(--gold-soft);color:var(--gold-deep);border:1px solid rgba(180,148,96,.22)}
.list-icon .inline-icon{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

.inline-icon{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px}
.cards{display:grid;gap:10px}
.card{
  border:1px solid var(--line);
  background:linear-gradient(155deg,#fffdf9,#fffaf3);
  border-radius:19px;
  padding:14px;
  box-shadow:0 5px 18px rgba(34,25,18,.045);
  transition:transform .22s var(--ease-premium),box-shadow .22s ease,border-color .22s ease;
}
.card:hover{transform:translateY(-1px);border-color:rgba(180,148,96,.38);box-shadow:0 10px 25px rgba(34,25,18,.07)}
.card-reveal{animation:cardReveal .40s var(--reveal-delay,0ms) var(--ease-premium) both}
.card-top{display:flex;justify-content:space-between;gap:8px;align-items:start}
.card h3{font:600 18px Georgia,serif;margin:0}
.tag{font-size:8px;letter-spacing:.08em;font-weight:850;background:#efe5d2;color:#705a39;border-radius:999px;padding:5px 7px;white-space:nowrap;border:1px solid rgba(180,148,96,.15)}
.mini-icon{width:27px;height:27px;border-radius:9px;background:var(--gold-soft);display:grid;place-items:center;color:var(--gold-deep);flex:0 0 27px}
.mini-icon .inline-icon{width:15px;height:15px}
.card p{color:var(--muted);font-size:12px;line-height:1.45;margin:8px 0}
.best{font-size:10.5px;font-weight:750}
.card-actions{display:flex;gap:7px;margin-top:10px}.card-actions a{flex:1;font-size:11px;padding:9px 10px}

.filters{display:flex;gap:6px;overflow:auto;padding-bottom:8px;margin-bottom:5px;scrollbar-width:none}.filters::-webkit-scrollbar{display:none}
.filter{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:800;white-space:nowrap;transition:background .18s ease,color .18s ease,transform .18s ease}
.filter:active{transform:scale(.97)}
.filter.active{background:var(--dark);color:#fff;border-color:var(--dark)}
.search{width:100%;border:1px solid var(--line);border-radius:15px;padding:11px 12px;background:#fff;font:inherit;margin:0 0 10px;outline:none;transition:border-color .18s ease,box-shadow .18s ease}
.search:focus{border-color:rgba(180,148,96,.72);box-shadow:0 0 0 3px rgba(180,148,96,.10)}

.bottom{
  position:fixed;
  bottom:0;
  left:50%;
  transform:translateX(-50%);
  width:min(calc(100vw - 16px),544px);
  max-width:calc(100vw - 16px);
  background:rgba(244,239,230,.92);
  backdrop-filter:blur(18px) saturate(1.08);
  -webkit-backdrop-filter:blur(18px) saturate(1.08);
  border:1px solid rgba(50,40,30,.10);
  border-bottom:0;
  border-radius:18px 18px 0 0;
  display:none;
  padding:7px 10px calc(7px + env(safe-area-inset-bottom));
  z-index:50;
  box-shadow:0 -10px 30px rgba(30,22,15,.07);
  overflow:hidden;
}
.bottom.show{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;animation:bottomEnter .30s var(--ease-premium) both}
.bottom button{border:0;border-radius:14px;background:rgba(255,255,255,.82);padding:7px 3px 6px;font-size:9px;font-weight:800;display:grid;place-items:center;gap:3px;color:#4e4033;transition:transform .18s ease,background .18s ease}
.bottom button:active{transform:scale(.96);background:#fff}
.bottom svg{width:18px;height:18px;fill:none;stroke:var(--gold-deep);stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}

/* V2.4.2 — listas imersivas em pilha (stacked cards) */
#todoCards,#foodCards{
  position:relative;
  gap:18px;
  padding-bottom:8px;
}
#todoCards .stack-card,#foodCards .stack-card{
  position:sticky;
  top:calc(10px + env(safe-area-inset-top));
  transform-origin:50% 0%;
  scale:calc(1 - (var(--stack-progress,0) * .018));
  transition:scale .12s linear,box-shadow .18s ease,border-color .18s ease;
  will-change:scale;
  isolation:isolate;
}
#todoCards .stack-card::before,#foodCards .stack-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:rgba(21,18,15,.07);
  opacity:calc(var(--stack-progress,0) * .75);
  pointer-events:none;
  z-index:5;
}
#todoCards .stack-card.is-stacked,#foodCards .stack-card.is-stacked{
  box-shadow:0 18px 38px rgba(28,21,16,.14);
  border-color:rgba(180,148,96,.38);
}

.error{background:#fff0ed;color:#7d2c24;border:1px solid #ecc8c1;padding:12px;border-radius:15px;margin-top:10px;font-size:12px}

/* V2.4 — mídia, fachada, avaliação e transições */
.card-media{position:relative;margin:-14px -14px 12px;overflow:hidden;border-radius:18px 18px 12px 12px;background:#e9e0d3}
.card-media::after,.location-media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 66%,rgba(16,13,10,.11) 100%)}
.card-media img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;animation:mediaReveal .48s var(--ease-premium) both;transition:transform .45s var(--ease-premium)}
.card:hover .card-media img{transform:scale(1.025)}
.media-label{position:absolute;right:8px;bottom:8px;z-index:2;background:rgba(20,17,14,.76);color:#fff;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:750;letter-spacing:.02em;backdrop-filter:blur(5px)}
.location-media{position:relative;margin-bottom:13px;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:#e9e0d3;box-shadow:0 9px 24px rgba(30,22,15,.08)}
.location-media img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;object-position:center 40%;animation:mediaReveal .52s var(--ease-premium) both}
.review-box{margin-top:13px;padding:16px;border:1px solid rgba(180,148,96,.38);background:linear-gradient(145deg,#fffdf8,#f1e6d1);border-radius:19px;text-align:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.76)}
.review-box strong{display:block;font:600 19px Georgia,serif;margin:3px 0 5px}
.review-box p{margin:0 0 12px;color:var(--muted);font-size:12px;line-height:1.45}
.review-stars{color:#a88448;letter-spacing:.12em;font-size:17px;margin-bottom:3px;text-shadow:0 2px 7px rgba(168,132,72,.13)}
.btn.review{background:linear-gradient(145deg,#c2a474,#ad8b56);color:#17130f;border:1px solid #a17f49;box-shadow:0 8px 18px rgba(130,95,49,.14)}
.btn.review:hover{filter:brightness(1.02);box-shadow:0 10px 22px rgba(130,95,49,.18)}

@keyframes brandEnter{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@keyframes heroEnter{from{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:none}}
@keyframes menuItemEnter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes viewFadeOut{from{opacity:1;transform:none;filter:blur(0)}to{opacity:0;transform:translateY(-5px) scale(.995);filter:blur(1.2px)}}
@keyframes viewFadeIn{from{opacity:0;transform:translateY(12px) scale(.992);filter:blur(1.5px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes cardReveal{from{opacity:0;transform:translateY(10px) scale(.992)}to{opacity:1;transform:none}}
@keyframes mediaReveal{from{opacity:0;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}
@keyframes softPulse{0%{transform:scale(1)}45%{transform:scale(1.012);box-shadow:0 0 0 4px rgba(180,148,96,.08)}100%{transform:scale(1)}}
@keyframes bottomEnter{from{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%,0)}}

@media(max-width:600px){
  .shell{padding-left:12px;padding-right:12px;padding-bottom:104px}
  .bottom{width:calc(100vw - 12px);max-width:calc(100vw - 12px);padding-left:7px;padding-right:7px}
  .bottom.show{gap:5px}
  .bottom button{min-width:0;padding:8px 2px 7px}
  #todoCards .stack-card,#foodCards .stack-card{top:calc(8px + env(safe-area-inset-top))}
}
@media(max-width:360px){.menu{grid-template-columns:repeat(2,1fr)}}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}

.bottom .bottom-ico{font-size:17px;line-height:1;display:block;min-height:18px}

/* V3.0 — roteiro, PWA, offline e experiência inteligente */
.hidden{display:none!important}
.smart-actions{display:flex;gap:8px;margin:11px 2px 4px;flex-wrap:wrap}
.smart-action{border:1px solid rgba(180,148,96,.25);background:rgba(255,250,242,.94);border-radius:999px;padding:8px 11px;display:inline-flex;align-items:center;gap:7px;font-size:10px;font-weight:850;color:#5d4932;box-shadow:0 6px 18px rgba(34,25,18,.05);cursor:pointer}
.smart-action .inline-icon{width:15px;height:15px;color:var(--gold-deep)}
.smart-action b{min-width:20px;height:20px;padding:0 5px;border-radius:999px;display:grid;place-items:center;background:var(--gold-soft);font-size:9px}
.plan-shortcut{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;padding:10px 12px;border:1px solid rgba(180,148,96,.28);border-radius:15px;background:linear-gradient(145deg,#fffdf8,#f2e7d5);cursor:pointer;font-size:11px;font-weight:850;color:#5d4932}
.plan-shortcut span{display:flex;align-items:center;gap:7px}.plan-shortcut .inline-icon{color:var(--gold-deep)}
.plan-shortcut b{display:grid;place-items:center;min-width:25px;height:25px;padding:0 6px;border-radius:999px;background:var(--dark);color:#fff;font-size:9px}
.card-tools{display:flex;align-items:flex-start;gap:6px;flex:0 0 auto}
.favorite{width:31px;height:31px;border-radius:50%;border:1px solid rgba(180,148,96,.25);background:#fff;display:grid;place-items:center;color:#9a8261;cursor:pointer;transition:.18s ease}
.favorite .inline-icon{width:16px;height:16px}
.favorite.active{background:#efe1d5;color:#9a493f;border-color:#d9b9aa}
.favorite.active .inline-icon{fill:currentColor;stroke:currentColor}
.distance{display:flex;align-items:center;gap:5px;margin-top:5px;color:#8b7150;font-size:9.5px;font-weight:780}
.distance .inline-icon{width:13px;height:13px}
.plan-intro{margin-bottom:10px;color:var(--muted);font-size:12px;line-height:1.45}.plan-intro p{margin:0}
.empty-plan{display:grid;place-items:center;text-align:center;gap:7px;padding:28px 18px;color:var(--muted);border:1px dashed var(--line);border-radius:18px;background:#fffdf9}
.empty-plan .inline-icon{width:28px;height:28px;color:var(--gold-deep)}.empty-plan strong{color:var(--ink);font:600 18px Georgia,serif}.empty-plan span{font-size:11px}
.clear-plan{width:100%;margin-top:11px}
.whats-float{position:fixed;right:max(12px,calc((100vw - 560px)/2 + 12px));bottom:84px;z-index:48;display:flex;align-items:center;gap:7px;text-decoration:none;background:rgba(25,21,17,.93);color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:10px 12px;box-shadow:0 10px 28px rgba(20,16,13,.22);backdrop-filter:blur(12px);font-size:10px;font-weight:850}
.whats-float .inline-icon{width:16px;height:16px;color:#dbc49f}
.offline-badge{position:fixed;left:50%;top:calc(7px + env(safe-area-inset-top));transform:translateX(-50%) translateY(-18px);opacity:0;pointer-events:none;z-index:100;background:#5c4a37;color:#fff;border-radius:999px;padding:6px 10px;font-size:9px;font-weight:800;transition:.25s ease;box-shadow:0 6px 16px rgba(0,0,0,.14)}
.offline-badge.show{opacity:1;transform:translateX(-50%) translateY(0)}
.checkout-steps{display:grid;gap:8px;margin-bottom:10px}.checkout-step{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:#fffdf9;border-radius:15px;padding:10px}.checkout-step>span{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:var(--gold-soft);color:var(--gold-deep);flex:0 0 30px}.checkout-step .inline-icon{width:16px;height:16px}.checkout-step p{margin:0;font-size:11px;line-height:1.4}.checkout-ok{margin-bottom:10px}.checkout-ok .inline-icon{width:14px;height:14px}

@media(max-width:600px){
  .whats-float{right:10px;bottom:82px;padding:10px}.whats-float span{display:none}
  .smart-actions{margin-left:0;margin-right:0}
  .card-top{gap:6px}.card-tools{gap:4px}.favorite{width:30px;height:30px}
}

/* V3.1 — Central de avisos e portão eletrônico */
.emoji-action{font-size:15px;line-height:1;display:grid;place-items:center;min-width:16px}
.notification-intro{display:grid;gap:10px;margin-bottom:12px}.notification-intro p{margin:0;color:var(--muted);font-size:12px;line-height:1.48}
.notice-list{display:grid;gap:9px}.notice-card{width:100%;border:1px solid var(--line);background:#fffdf9;border-radius:17px;padding:12px;display:flex;align-items:flex-start;gap:11px;text-align:left;color:var(--ink);cursor:pointer;box-shadow:0 5px 16px rgba(35,26,18,.035);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.notice-card:active{transform:scale(.992)}.notice-card:hover{border-color:rgba(180,148,96,.42);box-shadow:0 8px 20px rgba(35,26,18,.06)}.notice-card.urgent{border-color:rgba(177,115,64,.38);background:linear-gradient(145deg,#fffaf0,#f5ead8)}
.notice-bell{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:var(--gold-soft);font-size:17px;flex:0 0 34px}.notice-card>span:last-child{display:grid;gap:4px}.notice-card strong{font-size:12px}.notice-card small{font-size:10.5px;line-height:1.45;color:var(--muted)}
.guide-toast{position:fixed;left:50%;top:calc(12px + env(safe-area-inset-top));width:min(520px,calc(100vw - 24px));transform:translate(-50%,-18px);opacity:0;pointer-events:none;z-index:120;border:1px solid rgba(180,148,96,.32);background:rgba(255,252,245,.96);backdrop-filter:blur(14px);border-radius:18px;padding:11px 13px;display:flex;align-items:flex-start;gap:10px;text-align:left;color:var(--ink);box-shadow:0 12px 34px rgba(25,18,13,.18);transition:.28s var(--ease-premium)}.guide-toast.show{opacity:1;transform:translate(-50%,0);pointer-events:auto}.guide-toast>span:first-child{font-size:18px}.guide-toast>span:last-child{display:grid;gap:3px}.guide-toast strong{font-size:11.5px}.guide-toast small{font-size:9.8px;line-height:1.4;color:var(--muted)}
.gate-box{margin-top:13px;border:1px solid rgba(180,148,96,.35);background:linear-gradient(145deg,#fffdf8,#f1e6d4);border-radius:19px;padding:14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.gate-box strong{font:600 17px Georgia,serif}.gate-box p{margin:5px 0 0;color:var(--muted);font-size:10.5px;line-height:1.45}.gate-box .buttons{margin-top:11px}.gate-status{min-height:14px;margin-top:8px;color:#725b3d;font-size:9.5px;font-weight:750}.gate-open{background:linear-gradient(145deg,#211b16,#0f0d0b)}.gate-close{border-color:#d5b7ac;color:#7c3f35}
.gate-toast{position:fixed;left:50%;bottom:96px;transform:translate(-50%,10px);opacity:0;pointer-events:none;z-index:110;background:#1e1915;color:#fff;border-radius:999px;padding:9px 13px;font-size:10px;font-weight:800;box-shadow:0 10px 28px rgba(20,16,13,.24);transition:.22s ease;white-space:nowrap}.gate-toast.show{opacity:1;transform:translate(-50%,0)}
.smart-action.gate-action{background:linear-gradient(145deg,#1d1915,#100e0c);color:#fff;border-color:#2b241e}.smart-action.gate-action .emoji-action{filter:saturate(.8)}
@media(max-width:600px){.guide-toast{top:calc(8px + env(safe-area-inset-top))}.gate-toast{bottom:91px;max-width:calc(100vw - 28px);white-space:normal;text-align:center}.notice-card{padding:11px}}
