:root{
  --night:#071b2d;--night-2:#041522;--lift:#0d2637;--lift-2:#102f42;
  --olive:#70754e;--gold:#b69c5b;--cream:#f5e8cd;--coral:#d98361;--muted:#b8b7a1;
  --line:rgba(182,156,91,.4);--line-soft:rgba(182,156,91,.22);
  --serif:"Fraunces",Georgia,serif;--sans:"DM Sans",system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;min-width:320px;color:var(--cream);
  background:radial-gradient(circle at 82% 8%,rgba(112,117,78,.14),transparent 32rem),
             radial-gradient(circle at 4% 96%,rgba(112,117,78,.10),transparent 30rem),
             var(--night);
  font-family:var(--sans);line-height:1.6;-webkit-font-smoothing:antialiased;
  min-height:100vh;padding-bottom:78px;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.shell{width:min(880px,calc(100% - 36px));margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;z-index:100;top:8px;left:8px;transform:translateY(-160%);padding:10px 14px;color:var(--night);background:var(--cream);border-radius:2px 12px 2px 12px}
.skip-link:focus{transform:none}

/* preview ribbon */
.preview-ribbon{min-height:30px;display:flex;align-items:center;justify-content:center;gap:9px;color:rgba(245,232,205,.72);background:var(--night-2);border-bottom:1px solid rgba(182,156,91,.2);font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.preview-ribbon i{width:6px;height:6px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 4px rgba(217,131,97,.12)}

/* header */
.site-header{position:sticky;z-index:40;top:0;border-bottom:1px solid rgba(182,156,91,.24);background:rgba(7,27,45,.9);backdrop-filter:blur(16px)}
.nav{min-height:76px;display:flex;align-items:center;justify-content:space-between}
.brand{display:inline-flex;align-items:center}
.brand .plate{display:inline-flex;align-items:center;width:186px;padding:7px 14px;background:var(--cream);border:1px solid rgba(182,156,91,.65);border-radius:2px 20px 2px 20px;box-shadow:inset 0 0 0 3px rgba(112,117,78,.08),0 6px 16px rgba(0,0,0,.22)}
.brand .plate img{width:100%;height:auto}
.nav-actions{display:flex;align-items:center;gap:10px}
.icon-btn{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--line-soft);background:rgba(245,232,205,.03);color:var(--cream);transition:background .2s,border-color .2s,transform .2s}
.icon-btn:hover{background:rgba(245,232,205,.08);border-color:var(--gold);transform:translateY(-1px)}
.icon-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}
.icon-btn.initials{font-family:var(--serif);font-weight:600;font-size:15px;letter-spacing:.03em;color:var(--gold);background:rgba(182,156,91,.12);border-color:rgba(182,156,91,.4)}
.icon-btn.logout:hover{border-color:var(--coral);color:var(--coral)}

/* main layout */
main{padding:34px 0 40px}

/* greeting */
.greeting{margin-bottom:34px}
.greeting .eyebrow{margin:0 0 12px;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.greeting h1{margin:0;color:var(--cream);font:500 clamp(38px,7vw,58px)/1 var(--serif);letter-spacing:-.03em}
.greeting h1 .wave{display:inline-block;margin-left:6px}
.greeting p{max-width:620px;margin:16px 0 0;color:rgba(245,232,205,.68);font-size:clamp(15px,2vw,18px);line-height:1.7}

/* section rhythm */
section.block{margin-bottom:18px}
.section-label{display:flex;align-items:center;gap:12px;margin:40px 0 16px;color:rgba(245,232,205,.55);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.section-label::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--line-soft),transparent)}

/* cards */
.card{
  position:relative;display:block;overflow:hidden;
  padding:26px 26px 26px 30px;
  background:linear-gradient(150deg,var(--lift),var(--lift-2));
  border:1px solid var(--line-soft);
  border-radius:2px 30px 2px 30px;
  box-shadow:0 18px 40px rgba(0,0,0,.24),inset 0 0 0 6px rgba(112,117,78,.05);
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;
}
a.card:hover{transform:translateY(-3px);border-color:var(--gold);box-shadow:0 26px 54px rgba(0,0,0,.32),inset 0 0 0 6px rgba(112,117,78,.08)}
.card::before{content:"";position:absolute;top:0;bottom:0;left:0;width:5px;background:var(--accent,var(--gold))}
.card-row{display:flex;align-items:flex-start;gap:18px}
.card-emoji{flex-shrink:0;width:58px;height:58px;display:grid;place-items:center;font-size:30px;line-height:1;background:rgba(245,232,205,.05);border:1px solid var(--line-soft);border-radius:2px 18px 2px 18px}
.card-body{flex:1;min-width:0}
.card-body h2{margin:0;color:var(--cream);font:500 clamp(23px,3.4vw,30px)/1.05 var(--serif);letter-spacing:-.02em}
.card-body p{margin:9px 0 0;color:rgba(245,232,205,.66);font-size:15px;line-height:1.62}
.card-meta{margin:12px 0 0;display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--accent,var(--gold));letter-spacing:.02em}
.card-arrow{flex-shrink:0;align-self:center;color:rgba(245,232,205,.4);transition:transform .28s,color .28s}
a.card:hover .card-arrow{color:var(--gold);transform:translateX(4px)}
.card-arrow svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.4}

.badge{position:absolute;top:16px;right:18px;display:inline-flex;align-items:center;gap:6px;padding:5px 11px;font-size:11px;font-weight:700;letter-spacing:.02em;border-radius:999px;background:rgba(245,232,205,.08);border:1px solid var(--line-soft);color:var(--cream)}
.badge.important{background:rgba(217,131,97,.16);border-color:rgba(217,131,97,.5);color:#f0b79f}
.badge.security{background:rgba(160,120,170,.16);border-color:rgba(160,120,170,.45);color:#d4b8dd}

/* featured (Mis Deseos) */
.card.featured{padding:30px 30px 30px 34px;border-color:rgba(217,131,97,.4)}
.card.featured .card-emoji{width:66px;height:66px;font-size:36px}
.card.featured .card-body h2{font-size:clamp(28px,4.4vw,38px)}
.card.featured .card-body p{font-size:16px;max-width:520px}

/* plain link tile (vista previa, feedback) */
.tile{
  display:flex;align-items:center;gap:18px;
  padding:22px 24px;text-align:left;
  background:rgba(245,232,205,.03);
  border:1px solid var(--line-soft);
  border-radius:2px 26px 2px 26px;
  transition:transform .28s,border-color .28s,background .28s;
}
a.tile:hover{transform:translateY(-2px);border-color:var(--gold);background:rgba(245,232,205,.06)}
.tile-icon{flex-shrink:0;width:52px;height:52px;display:grid;place-items:center;font-size:26px;background:rgba(245,232,205,.05);border:1px solid var(--line-soft);border-radius:50%}
.tile-body{flex:1;min-width:0}
.tile-body strong{display:block;color:var(--cream);font:500 20px/1.2 var(--serif)}
.tile-body span{display:block;margin-top:4px;color:rgba(245,232,205,.6);font-size:14px}
.tile.feedback{justify-content:space-between}
.tile.feedback .btn{flex-shrink:0}
.btn{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:9px;padding:12px 22px;font-family:var(--sans);font-size:14px;font-weight:700;color:var(--night);background:var(--gold);border:1px solid transparent;border-radius:2px 16px 2px 16px;transition:transform .2s,background .2s}
.btn:hover{transform:translateY(-2px);background:var(--cream)}

/* help disclosure */
.help{margin-top:14px;background:linear-gradient(150deg,var(--lift),var(--lift-2));border:1px solid var(--line-soft);border-radius:2px 26px 2px 26px;overflow:hidden}
.help>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:22px 24px}
.help>summary::-webkit-details-marker{display:none}
.help>summary .s-left{display:flex;align-items:center;gap:14px}
.help>summary .s-left .em{font-size:22px}
.help>summary .s-left b{color:var(--cream);font:500 21px var(--serif)}
.help>summary .chev{transition:transform .25s;color:var(--gold)}
.help[open]>summary .chev{transform:rotate(180deg)}
.help-inner{padding:2px 24px 26px;border-top:1px solid var(--line-soft)}
.help-inner>p.lead{margin:20px 0 4px;color:var(--cream);font:500 18px var(--serif)}
.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.help-item{display:flex;gap:12px;padding:14px;background:rgba(4,21,34,.5);border:1px solid var(--line-soft);border-radius:2px 16px 2px 16px}
.help-item .em{font-size:20px;flex-shrink:0}
.help-item strong{color:var(--cream);font-size:14.5px}
.help-item p{margin:3px 0 0;color:rgba(245,232,205,.58);font-size:13px;line-height:1.5}
.note{margin-top:16px;padding:16px;background:rgba(112,117,78,.14);border:1px solid rgba(182,156,91,.3);border-radius:2px 16px 2px 16px}
.note b{display:block;color:var(--gold);font-family:var(--serif);font-weight:600;margin-bottom:4px}
.note p{margin:0;color:rgba(245,232,205,.72);font-size:13.5px;line-height:1.6}
.links-box{margin-top:16px;padding:16px;background:rgba(4,21,34,.5);border:1px solid var(--line-soft);border-radius:2px 16px 2px 16px}
.links-box b{display:block;color:var(--cream);margin-bottom:8px;font-size:14px}
.links-box ul{margin:0;padding:0;list-style:none;display:grid;gap:9px}
.links-box a{color:var(--gold);font-size:13.5px;line-height:1.5;text-decoration:underline;text-underline-offset:3px}
.links-box a:hover{color:var(--cream)}

/* legal */
.legal{margin-top:26px;display:grid;grid-template-columns:30px 1fr;gap:16px;padding:22px 24px;background:var(--night-2);border:1px solid var(--line-soft);border-radius:2px 22px 2px 22px}
.legal .em{color:var(--gold);font-size:22px;line-height:1}
.legal h3{margin:0 0 5px;color:rgba(245,232,205,.72);font-size:13px;letter-spacing:.02em}
.legal p{margin:0;color:rgba(245,232,205,.55);font-size:12.5px;line-height:1.6}

/* footer */
footer.site-footer{padding:30px 0 26px;text-align:center;color:rgba(245,232,205,.5);border-top:1px solid rgba(182,156,91,.16);background:var(--night-2)}
footer.site-footer .name{font-family:var(--serif);font-weight:600;letter-spacing:.03em;color:rgba(245,232,205,.72);font-size:15px}
footer.site-footer .copy{margin-top:6px;font-size:12px}
footer.site-footer .fine{margin:10px auto 0;max-width:560px;font-size:11px;line-height:1.6;color:rgba(245,232,205,.4)}

/* mobile bottom nav */
.bottom-nav{position:fixed;z-index:50;bottom:0;left:0;right:0;display:flex;justify-content:space-around;padding:8px 6px;background:rgba(4,21,34,.94);backdrop-filter:blur(12px);border-top:1px solid rgba(182,156,91,.2)}
.bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:56px;padding:5px;color:rgba(245,232,205,.6);font-size:11px;font-weight:600}
.bottom-nav a.active,.bottom-nav a:hover{color:var(--gold)}
.bottom-nav .em{font-size:19px;line-height:1}
@media(min-width:760px){.bottom-nav{display:none}body{padding-bottom:0}}

@media(max-width:600px){
  .brand .plate{width:150px;padding:6px 11px}
  .icon-btn{width:40px;height:40px}
  .nav-actions{gap:7px}
  .card{padding:22px 20px 22px 24px;border-radius:2px 22px 2px 22px}
  .card-row{gap:14px}
  .card-emoji{width:50px;height:50px;font-size:26px}
  .card.featured .card-emoji{width:56px;height:56px;font-size:30px}
  .card-arrow{display:none}
  .badge{position:static;margin-bottom:12px}
  .card-header-badges{display:flex}
  .help-grid{grid-template-columns:1fr}
  .tile.feedback{flex-direction:column;align-items:flex-start}
  .tile.feedback .btn{width:100%}
  .legal{grid-template-columns:1fr;gap:8px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
