/* Meu Eu Consciente — estilos */
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;height:100%;background:#02131a}
img{max-width:100%}

/* Layout: app de tela única; a tela é a vidraça olhando o fundo do mar.
   Barra inferior com 4 abas e uma esfera central para registrar o dia. Folhas sobem de baixo.
   Identidade: águas profundas, acentos de vidro neutro, Sora fina + Manrope. */
:root{
  --abyss:#020c13; --deep:#05222d; --sea:#0a3642;
  --ink:#eef6f5; --ink-2:rgba(238,246,245,.68); --ink-3:rgba(238,246,245,.42);
  --glass:rgba(255,255,255,.055); --glass-2:rgba(255,255,255,.09); --line:rgba(255,255,255,.1);
  --pearl:linear-gradient(180deg,#ffffff 0%,#e4ecef 100%); /* acento neutro: vidro branco, deixa as cores dos dias falarem */
  --pearl-ink:#0a1a22;
  /* vidro 3D dos controles: reflexo no alto + corpo translúcido + borda de luz */
  --gl-pill:radial-gradient(120% 140% at 50% -40%,rgba(255,255,255,.26),rgba(255,255,255,0) 55%),rgba(255,255,255,.07);
  --gl-round:radial-gradient(circle at 32% 26%,rgba(255,255,255,.35) 0 8%,rgba(255,255,255,0) 30%),rgba(255,255,255,.08);
  --gl-edge:inset 0 0 0 1px rgba(255,255,255,.22),inset 0 -8px 16px rgba(0,0,0,.14),0 8px 22px rgba(0,0,0,.25); --white-glow:rgba(220,240,245,.22); --danger:#ff8f86;
  --display:"Sora", "Avenir Next", "Segoe UI", system-ui, sans-serif;
  --text:"Manrope", "Avenir Next", "Segoe UI", system-ui, sans-serif;
  --nav:68px;
  color-scheme:dark;
}
html,body{height:100%}
body{margin:0;background:var(--abyss);color:var(--ink);font-family:var(--text);overflow:hidden;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased}
#app{position:relative;height:100%;overflow:hidden;
  background:radial-gradient(130% 75% at 50% -12%, #1a5560 0%, var(--sea) 26%, var(--deep) 55%, var(--abyss) 100%)}
.view{position:absolute;inset:0;overflow:hidden}
[hidden]{display:none!important}
.rays{position:absolute;inset:0;pointer-events:none;opacity:.55;
  background:
   linear-gradient(100deg, transparent 30%, rgba(170,235,230,.07) 36%, transparent 42%),
   linear-gradient(80deg, transparent 52%, rgba(170,235,230,.055) 57%, transparent 63%),
   linear-gradient(95deg, transparent 66%, rgba(170,235,230,.045) 70%, transparent 75%);
  animation:sway 16s ease-in-out infinite alternate}
@keyframes sway{to{transform:translateX(3%) skewX(-2deg)}}
#home canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
#amb,#fx,#lip{pointer-events:none}
button{font-family:inherit}
button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #fff;outline-offset:2px}

/* topo da home */
.home-head{position:absolute;top:0;left:0;right:0;z-index:5;pointer-events:none;display:flex;flex-direction:column;gap:18px;
  padding-top:calc(18px + env(safe-area-inset-top,0px));padding-left:max(20px, env(safe-area-inset-left,0px));padding-right:max(20px, env(safe-area-inset-right,0px))}
.title{margin:0;font:200 clamp(24px,6.2vw,34px)/1.1 var(--display);letter-spacing:.01em;text-wrap:balance}
.count{margin-top:-8px;font:400 14px var(--text);color:var(--ink-2);letter-spacing:.01em}
.count b{font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums}
.mix{display:flex;flex-direction:column;gap:10px}
.mix .bar{display:flex;height:10px;border-radius:6px;overflow:hidden;background:var(--glass-2)}
.mix .bar i{display:block;height:100%}
.mix .legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-2)}
.mix .legend span{display:inline-flex;align-items:center;gap:5px}
.mix .legend b{width:7px;height:7px;border-radius:50%;display:inline-block}

/* registro: um ritual em 3 passos, direto sobre a água. Sem caixas. */
.flow{position:absolute;inset:0;z-index:22;opacity:0;pointer-events:none;transition:opacity .45s ease;
  background:radial-gradient(120% 70% at 50% 10%, rgba(14,64,74,.72) 0%, rgba(3,20,28,.86) 55%, rgba(2,10,15,.94) 100%);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.flow.on{opacity:1;pointer-events:auto}
.flow-in{height:100%;display:flex;flex-direction:column;box-sizing:border-box;max-width:560px;margin:0 auto;
  padding-top:calc(10px + env(safe-area-inset-top,0px));padding-bottom:calc(18px + env(safe-area-inset-bottom,0px));padding-left:max(22px, env(safe-area-inset-left,0px));padding-right:max(22px, env(safe-area-inset-right,0px))}
.flow-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.flow-top .link{justify-self:start}
.dots{display:flex;gap:8px}
.dots button{width:6px;height:6px;padding:0;border:0;border-radius:3px;background:rgba(255,255,255,.25);cursor:pointer;transition:width .35s,background .35s}
.dots button.on{width:22px;background:rgba(255,255,255,.9)}
.when{justify-self:end;position:relative;display:inline-flex;align-items:center;gap:4px;font:600 13.5px var(--text);color:var(--ink-2);cursor:pointer;padding:9px 12px 9px 16px;border-radius:999px;background:var(--gl-pill);box-shadow:var(--gl-edge)}
.when svg{width:16px;height:16px}
.when input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer;color-scheme:dark}
.steps-wrap{position:relative;flex:1;min-height:0}
.step{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:34px;opacity:0;transform:translateX(40px);pointer-events:none;transition:opacity .5s ease,transform .6s cubic-bezier(.2,.8,.2,1)}
.step.on{opacity:1;transform:none}
.flow.on .step.on{pointer-events:auto}
.flow:not(.on) *{pointer-events:none!important}
.step.past{transform:translateX(-40px)}
.step h2{margin:0;font:200 clamp(26px,7vw,34px)/1.2 var(--display);text-wrap:balance;text-align:center}
.pick{display:flex;justify-content:center;align-items:center;gap:clamp(22px,8vw,40px);min-height:150px}
.pick button{all:unset;cursor:pointer;width:clamp(64px,19vw,84px);height:clamp(64px,19vw,84px);border-radius:50%;transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .4s,filter .4s;opacity:.5;filter:saturate(.7)}
.pick button .orb{box-shadow:none}
.pick button:hover,.pick button:focus-visible{transform:scale(1.22);opacity:1;filter:none}
.pick button:hover .orb,.pick button:focus-visible .orb{box-shadow:0 0 30px var(--glow,rgba(255,255,255,.2))}
.pick button[aria-pressed="true"]{transform:scale(1.45);opacity:1;filter:none}
.pick:hover button[aria-pressed="true"]:not(:hover){transform:scale(1.2);opacity:.8}
.pick-info .ds:empty{display:none}
.pick button[aria-pressed="true"] .orb{box-shadow:0 0 40px var(--glow,rgba(255,255,255,.2)),0 18px 40px rgba(0,0,0,.4)}
.pick button:focus-visible{outline:2px solid #fff;outline-offset:6px}
.pick-info{text-align:center;display:flex;flex-direction:column;gap:6px;min-height:52px}
.pick-info .nm{font:300 20px var(--display)}
.pick-info .ds{font-size:14px;color:var(--ink-2)}
.step textarea{all:unset;box-sizing:border-box;width:100%;min-height:40vh;font:300 19px/1.7 var(--text);color:var(--ink);caret-color:#fff;white-space:pre-wrap;overflow:auto}
.step textarea::placeholder{color:var(--ink-3);text-align:center}
.step textarea:placeholder-shown{text-align:center}
.porthole{align-self:center;width:min(58vw,230px);aspect-ratio:1;border-radius:50%;background:center/cover;cursor:pointer;display:grid;place-items:center;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.28),0 0 0 10px rgba(255,255,255,.03);transition:box-shadow .3s}
.porthole .ph{display:flex;flex-direction:column;align-items:center;gap:10px;font-size:13px;color:var(--ink-2)}
.porthole .ph svg{width:30px;height:30px}
.porthole.has{box-shadow:inset 0 0 0 1px rgba(255,255,255,.25),0 24px 60px rgba(0,0,0,.45)}
.porthole.has .ph{display:none}
.photo-ops{display:flex;justify-content:center;gap:22px}
.flow-bot{display:flex;flex-direction:column;gap:10px}
.flow-bot .err{margin:0;text-align:center;min-height:1.2em}
.flow-nav{display:flex;justify-content:space-between;align-items:center;min-height:64px}
.next{width:60px;height:60px;border-radius:50%;border:0;cursor:pointer;color:var(--ink);display:grid;place-items:center;background:var(--gl-round);box-shadow:var(--gl-edge);transition:transform .15s}
.next svg{width:22px;height:22px}
.release{display:inline-flex;align-items:center;gap:12px;border:0;cursor:pointer;color:var(--ink);font:300 18px var(--display);padding:8px 22px 8px 8px;border-radius:999px;background:var(--gl-pill);box-shadow:var(--gl-edge)}
.release .mini-orb{width:44px;height:44px;border-radius:50%;flex:none;box-shadow:0 0 26px var(--glow,rgba(255,255,255,.2));animation:bob 3s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(-4px)}}

/* relembrar o dia: uma carta, não um formulário */
.letter{position:absolute;inset:0;z-index:18;overflow:auto;opacity:0;transform:translateY(24px);pointer-events:none;transition:opacity .45s ease,transform .55s cubic-bezier(.2,.8,.2,1);
  background:radial-gradient(120% 60% at 50% 0%, #0f4450 0%, var(--deep) 50%, var(--abyss) 100%);
  padding-top:calc(14px + env(safe-area-inset-top,0px));padding-bottom:calc(40px + env(safe-area-inset-bottom,0px));padding-left:max(20px, env(safe-area-inset-left,0px));padding-right:max(20px, env(safe-area-inset-right,0px))}
.letter.on{opacity:1;transform:none;pointer-events:auto}
.letter-inner{max-width:560px;margin:0 auto;display:flex;flex-direction:column;gap:26px}
.letter-bar{display:flex;justify-content:space-between;align-items:center}
.link{border:0;color:var(--ink-2);font:600 13.5px var(--text);padding:9px 16px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:var(--gl-pill);box-shadow:var(--gl-edge)}
.link svg{width:16px;height:16px;margin-left:-4px}
.letter-orb{width:min(78vw,340px);aspect-ratio:1;align-self:center;border-radius:50%;background:center/cover;transition:filter .4s;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22),0 30px 80px rgba(0,0,0,.5)}
.letter-orb.soft{filter:blur(6px)}
.letter-meta{text-align:center;display:flex;flex-direction:column;gap:4px;align-items:center;margin-top:-6px}
.letter-meta .chip{display:inline-flex;align-items:center;gap:7px;font:500 12px var(--text);letter-spacing:.04em;color:var(--ink-2)}
.letter-meta .chip b{width:7px;height:7px;border-radius:50%}
.letter-meta .dt{font:300 14px/1.4 var(--text);color:var(--ink-3)}
.letter-meta .dt::first-letter{text-transform:uppercase}
.letter-text{margin:0;font:400 17px/1.8 var(--text);color:var(--ink);white-space:pre-wrap;max-width:60ch}
.letter-text.empty{color:var(--ink-3);text-align:center}
.letter-conn{display:flex;align-items:center;justify-content:center;gap:12px;padding-top:22px;border-top:1px solid var(--line)}
.letter-conn svg{width:26px;height:26px;color:var(--ink-2);flex:none}
.letter-conn .n{font:300 22px var(--display);font-variant-numeric:tabular-nums}
.letter-conn .k{font-size:13.5px;color:var(--ink-2);line-height:1.4}

/* mensagem quando a esfera pousa */
.landed{position:absolute;left:0;right:0;z-index:6;text-align:center;pointer-events:none;opacity:0;transform:translateY(10px);transition:opacity 1.2s ease,transform 1.6s ease;
  padding-left:max(20px, env(safe-area-inset-left,0px));padding-right:max(20px, env(safe-area-inset-right,0px))}
.landed.on{opacity:1;transform:none}
.landed .l1{font:200 clamp(28px,7vw,40px)/1.1 var(--display);text-shadow:0 2px 24px rgba(0,0,0,.45)}
.landed .l2{margin-top:8px;font:400 14.5px var(--text);color:var(--ink-2);text-shadow:0 1px 12px rgba(0,0,0,.5)}

/* barra inferior */
nav{position:absolute;z-index:15;left:0;right:0;bottom:0;display:flex;justify-content:center;
  background:linear-gradient(180deg,rgba(3,16,22,.6),rgba(2,10,15,.92));border-top:1px solid var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  padding-bottom:env(safe-area-inset-bottom,0px);padding-left:max(6px, env(safe-area-inset-left,0px));padding-right:max(6px, env(safe-area-inset-right,0px))}
.tabs{display:grid;grid-template-columns:1fr 1fr 84px 1fr 1fr;width:100%;max-width:560px;align-items:center}
.tab{position:relative;height:var(--nav);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:none;border:0;color:var(--ink-3);font:500 11px var(--text);letter-spacing:.01em;cursor:pointer;transition:color .2s}
.tab svg{width:22px;height:22px}
.tab[aria-selected="true"]{color:var(--ink)}
.tab[aria-selected="true"]::before{content:"";position:absolute;top:8px;width:4px;height:4px;border-radius:50%;background:var(--pearl)}
.orb-btn{justify-self:center;position:relative;top:-16px;width:64px;height:64px;border-radius:50%;border:0;padding:0;cursor:pointer;background:rgba(10,40,50,.5);
  box-shadow:0 0 0 5px rgba(2,12,18,.85),0 10px 30px rgba(120,170,230,.4);transition:transform .2s}
.orb-btn img{display:block;width:100%;height:100%;border-radius:50%}
.orb-btn .plus{position:absolute;inset:0;display:grid;place-items:center;z-index:1;color:#fff;filter:drop-shadow(0 1px 3px rgba(0,0,0,.6))}
.orb-btn .plus svg{width:28px;height:28px}
.orb-btn::after{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle at 32% 26%,rgba(255,255,255,.7) 0 6%,rgba(255,255,255,0) 22%),radial-gradient(circle at 50% 50%,rgba(255,255,255,0) 66%,rgba(220,245,250,.18) 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.orb-btn:active{transform:scale(.94)}

/* páginas */
.page{position:absolute;inset:0;overflow:auto;padding-top:calc(24px + env(safe-area-inset-top,0px));padding-bottom:calc(var(--nav) + 40px + env(safe-area-inset-bottom,0px));
  padding-left:max(20px, env(safe-area-inset-left,0px));padding-right:max(20px, env(safe-area-inset-right,0px));
  background:radial-gradient(120% 45% at 50% 0%, #0f4450 0%, var(--deep) 48%, var(--abyss) 100%)}
.page-inner{max-width:640px;margin:0 auto;display:flex;flex-direction:column;gap:20px}
.page h2{margin:0;font:200 34px/1.1 var(--display);letter-spacing:0}
.lead{margin:-10px 0 0;color:var(--ink-2);font-size:14.5px;line-height:1.55;max-width:46ch}
.seg{display:grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:14px;background:var(--glass)}
.seg button{border:0;background:none;color:var(--ink-3);font:600 13.5px var(--text);padding:10px;border-radius:10px;cursor:pointer}
.seg{background:none!important;gap:6px}
.seg button{border-radius:999px!important}
.seg button[aria-pressed="true"]{background:var(--gl-pill);box-shadow:var(--gl-edge);color:var(--ink)}
.month-nav{display:flex;align-items:center;justify-content:space-between;gap:12px}
.month-nav h3{margin:0;font:300 20px var(--display)}
.month-nav h3::first-letter{text-transform:uppercase}
.round{width:42px;height:42px;border-radius:50%;border:0;background:var(--gl-round);box-shadow:var(--gl-edge);color:var(--ink);display:grid;place-items:center;cursor:pointer}
.round svg{width:18px;height:18px}
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-top:14px}
.cal .wd{font:600 10px var(--text);letter-spacing:.1em;color:var(--ink-3);text-align:center;padding-bottom:6px}
.day{aspect-ratio:1;display:grid;place-items:center;position:relative;border-radius:50%}
.day .n{font:500 12px var(--text);color:var(--ink-3);font-variant-numeric:tabular-nums}
.day.today::after{content:"";position:absolute;inset:4%;border-radius:50%;border:1.5px solid rgba(255,255,255,.85);pointer-events:none}
.day button{all:unset;cursor:pointer;width:84%;aspect-ratio:1;border-radius:50%;position:relative}
.day button .dn{position:absolute;inset:0;display:grid;place-items:center;font:600 11px var(--text);color:rgba(255,255,255,.9);text-shadow:0 1px 3px rgba(0,0,0,.5)}
.day button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.orb{display:block;width:100%;height:100%;border-radius:50%;box-shadow:0 4px 12px rgba(0,0,0,.35)}
.month-sum{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-2);margin-top:14px}
.month-sum span{display:inline-flex;align-items:center;gap:6px}
.month-sum b{width:8px;height:8px;border-radius:50%}
.list{display:flex;flex-direction:column}
.item{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:center;padding:12px 4px;border:0;border-bottom:1px solid var(--line);background:none;color:var(--ink);text-align:left;font:inherit;cursor:pointer}
.item .orb{width:44px;height:44px}
.item .d{display:block;font-size:12px;color:var(--ink-3);margin-bottom:2px}
.item .d::first-letter{text-transform:uppercase}
.item .t{display:block;font-size:14.5px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.section{display:flex;flex-direction:column;gap:14px;padding:20px;border-radius:22px;background:var(--glass)}
.section h4{margin:0;font:600 15px var(--text)}
.section p{margin:0;color:var(--ink-2);font-size:14px;line-height:1.55}
.steps{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px;counter-reset:s}
.steps li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;align-items:start;color:var(--ink-2);font-size:14px;line-height:1.5;counter-increment:s}
.steps li::before{content:counter(s);width:28px;height:28px;border-radius:50%;background:var(--glass-2);display:grid;place-items:center;font:600 12px var(--display);color:var(--ink)}
.soon{align-self:flex-start;font:600 10.5px var(--text);letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.35);color:var(--ink)}
.profile-top{display:flex;align-items:center;gap:16px}
.avatar{width:64px;height:64px;border-radius:50%;flex:none;background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.8) 0 6%,rgba(255,255,255,0) 26%),url(/icons/logo-512.webp) center/cover;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.stat{padding:14px;border-radius:16px;background:var(--glass);display:flex;flex-direction:column;gap:6px}
.stat .v{font:200 30px var(--display);font-variant-numeric:tabular-nums}
.stat .k{font-size:12px;color:var(--ink-2);display:flex;align-items:center;gap:6px;min-width:0}
.stat .k b{width:8px;height:8px;border-radius:50%;flex:none}
.stat .k{align-items:flex-start}.stat .k b{margin-top:4px}.stat .k span{line-height:1.3;overflow-wrap:anywhere}
.cfg{display:flex;flex-direction:column;gap:22px}
.cfg-row{display:flex;flex-direction:column;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.cfg-row:last-child{border-bottom:0;padding-bottom:0}
.cfg-head{display:grid;grid-template-columns:56px minmax(0,1fr);gap:14px;align-items:center}
.cfg-orb{width:56px;height:56px}
.fields{display:flex;flex-direction:column;gap:8px;min-width:0}
.field.sm{height:42px;padding:0 16px}
.field.sm input{font-size:14.5px}
.fields .field.sm+.field.sm input{font-weight:400;color:var(--ink-2);font-size:13.5px}
.palette{display:flex;flex-wrap:wrap;gap:8px}
.palette button,.palette .other{all:unset;box-sizing:border-box;width:30px;height:30px;border-radius:50%;cursor:pointer;transition:transform .15s}
.palette button:hover,.palette .other:hover{transform:scale(1.12)}
.palette button[aria-pressed="true"]{box-shadow:0 0 0 2px var(--abyss),0 0 0 4px rgba(255,255,255,.85)}
.palette button:focus-visible,.palette .other:focus-within{outline:2px solid #fff;outline-offset:2px}
.palette .other{position:relative;display:grid;place-items:center;background:conic-gradient(#e5484d,#f2c94c,#7ed957,#2ec4d6,#4aa3d9,#9b5de5,#e85d9c,#e5484d)}
.palette .other span{width:20px;height:20px;border-radius:50%;background:var(--abyss);display:grid;place-items:center;font:600 14px var(--text);color:var(--ink)}
.palette .other input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}

/* folhas */
.scrim{position:absolute;inset:0;z-index:20;background:rgba(1,6,10,.6);opacity:0;transition:opacity .3s;pointer-events:none}
.scrim.on{opacity:1;pointer-events:auto}
.sheet{position:absolute;z-index:21;left:0;right:0;bottom:0;max-height:90%;overflow:auto;transform:translateY(105%);transition:transform .45s cubic-bezier(.2,.8,.2,1);
  background:linear-gradient(180deg,#0b2d38 0%,#061a22 100%);border-radius:28px 28px 0 0;box-shadow:0 -20px 60px rgba(0,0,0,.4);
  padding-block:10px calc(28px + env(safe-area-inset-bottom,0px));padding-left:max(20px, env(safe-area-inset-left,0px));padding-right:max(20px, env(safe-area-inset-right,0px))}
.sheet.on{transform:none}
.sheet-inner{max-width:540px;margin:0 auto;display:flex;flex-direction:column;gap:20px}
.grab{width:38px;height:4px;border-radius:2px;background:var(--line);margin:0 auto 4px}
.sheet h2{margin:0;font:200 28px var(--display);letter-spacing:0}
.types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.type{display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px 6px 14px;border-radius:20px;border:1px solid transparent;background:transparent;color:var(--ink);cursor:pointer;text-align:center;transition:background .2s}
.type[aria-pressed="true"]{background:var(--glass-2);border-color:var(--line)}
.type .orb{width:58px;height:58px;transition:transform .25s}
.type[aria-pressed="true"] .orb{transform:scale(1.08)}
.type .nm{font:500 13px var(--text)}
.type .desc{font-size:11.5px;color:var(--ink-3);line-height:1.35}
label.lbl{font:600 13px var(--text);display:block;margin-bottom:8px}
.row{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.hint{font-size:12px;color:var(--ink-3)}
.hint::first-letter{text-transform:uppercase}
input[type=date],textarea{width:100%;box-sizing:border-box;font:15px var(--text);color:var(--ink);background:var(--glass);border:1px solid var(--line);border-radius:16px;padding:13px 14px}
input[type=date]{max-width:220px}
textarea{min-height:120px;resize:vertical;line-height:1.55}
.photo-pick{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.photo-pick .thumb{width:96px;height:96px;border-radius:50%;background:var(--glass) center/cover;border:1px dashed var(--line);flex:none;display:grid;place-items:center;color:var(--ink-3)}
.photo-pick .thumb.has{border:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2),0 10px 30px rgba(0,0,0,.35)}
.photo-pick .thumb svg{width:26px;height:26px}
.photo-pick .ops{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.btn{font:600 14px var(--text);border-radius:999px;border:0;background:var(--gl-pill);box-shadow:var(--gl-edge);color:var(--ink);padding:12px 20px;cursor:pointer;transition:transform .15s}
.btn:active,.next:active,.round:active{transform:scale(.96)}
.btn-primary{width:100%;padding:16px;font:600 15px var(--text);color:var(--ink);background:radial-gradient(120% 140% at 50% -40%,rgba(255,255,255,.32),rgba(255,255,255,0) 55%),rgba(255,255,255,.11)}
.btn-ghost{background:none;box-shadow:none;color:var(--ink-2)}
.btn-danger{background:radial-gradient(120% 140% at 50% -40%,rgba(255,200,195,.26),rgba(255,200,195,0) 55%),rgba(255,120,110,.12);box-shadow:inset 0 0 0 1px rgba(255,160,150,.28),inset 0 -8px 16px rgba(0,0,0,.14),0 8px 22px rgba(0,0,0,.25);color:var(--danger)}
.err{color:var(--danger);font-size:13px;min-height:1em;margin:-10px 0 0}
.det-head{display:flex;align-items:center;gap:14px}
.det-head .orb{width:46px;height:46px;flex:none}
.det-head .nm{font:400 18px var(--display)}
.det-head .dt{font-size:12.5px;color:var(--ink-3)}
.det-head .dt::first-letter{text-transform:uppercase}
.excerpt{margin:0;font-size:15px;line-height:1.6;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.detail-photo{width:100%;max-width:240px;transition:filter .4s;aspect-ratio:1;align-self:center;border-radius:50%;background:center/cover;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2),0 24px 60px rgba(0,0,0,.45)}
.detail-text{font-size:15.5px;line-height:1.65;white-space:pre-wrap;margin:0;color:var(--ink)}
.actions{display:flex;gap:10px;flex-wrap:wrap}
.actions .btn{flex:1;min-width:120px}
.confirm{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:18px;background:rgba(255,143,134,.08)}
.confirm p{margin:0;font-size:14px;line-height:1.5;color:var(--ink-2)}

#splash{position:absolute;inset:0;z-index:50;display:grid;place-items:center;
  background:radial-gradient(90% 70% at 20% 10%, #0d3a40 0%, transparent 60%), radial-gradient(80% 60% at 90% 80%, #0a2a4a 0%, transparent 60%), #020f15;transition:opacity .7s ease}
#splash.out{opacity:0;pointer-events:none}
#splash .logo{display:flex;flex-direction:column;align-items:center;gap:22px}
#splash .sw,.x-unused{display:flex;flex-direction:column;align-items:center;gap:2px;font-family:"Playfair Display",Georgia,"Times New Roman",serif;font-weight:400}
#splash .sw .meu{font-size:15px;color:var(--ink-2);letter-spacing:.04em}
#splash .sw .ec{font-size:30px;line-height:1.1}
#splash img{width:150px;height:150px;border-radius:50%;box-shadow:0 0 60px rgba(120,170,230,.28);animation:breathe 2.6s ease-in-out infinite}

@keyframes breathe{50%{transform:scale(1.04)}}
.toast{position:absolute;z-index:30;left:50%;top:calc(20px + env(safe-area-inset-top,0px));transform:translate(-50%,-160%);transition:transform .4s;background:rgba(5,22,30,.92);border:1px solid var(--line);padding:11px 18px;border-radius:999px;font-size:13px;max-width:calc(100% - 40px);box-shadow:0 10px 30px rgba(0,0,0,.35)}
.toast.on{transform:translate(-50%,0)}
@media (prefers-reduced-motion:reduce){.rays,#splash img{animation:none}.sheet{transition:none}}

/* ---------- entrar / criar conta ---------- */
.auth{position:absolute;inset:0;z-index:40;overflow:auto;display:grid;place-items:center;
  background:radial-gradient(90% 70% at 20% 10%, #0d3a40 0%, transparent 60%), radial-gradient(80% 60% at 90% 80%, #0a2a4a 0%, transparent 60%), #020f15;
  padding-top:calc(24px + env(safe-area-inset-top,0px));padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));padding-left:max(24px, env(safe-area-inset-left,0px));padding-right:max(24px, env(safe-area-inset-right,0px))}
.auth-in{width:100%;max-width:360px;display:flex;flex-direction:column;align-items:center;gap:26px}
.auth-logo{width:96px;height:96px;border-radius:50%;box-shadow:0 0 50px rgba(120,170,230,.25)}
.brand-serif{display:flex;flex-direction:column;align-items:center;gap:2px;font-family:"Playfair Display",Georgia,"Times New Roman",serif}
.brand-serif .meu{font-size:14px;color:var(--ink-2);letter-spacing:.04em}
.brand-serif .ec{font-size:28px;line-height:1.1}
.auth-lead{margin:-10px 0 0;text-align:center;color:var(--ink-2);font-size:14.5px;line-height:1.55}
.auth .seg{width:100%}
.auth form{width:100%;display:flex;flex-direction:column;gap:14px}
.field{display:flex;align-items:center;gap:2px;border-radius:999px;background:var(--gl-pill);box-shadow:var(--gl-edge);padding:0 20px;height:54px}
.field span{color:var(--ink-3);font:500 16px var(--text)}
.field input{all:unset;flex:1;min-width:0;font:500 16px var(--text);color:var(--ink);height:100%}
.field input::placeholder{color:var(--ink-3)}
.avatar-pick{align-self:center;display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer;color:var(--ink-2);font-size:13px}
.avatar-pick .ap{width:92px;height:92px;border-radius:50%;background:var(--gl-round) center/cover;box-shadow:var(--gl-edge);display:grid;place-items:center}
.avatar-pick .ap svg{width:28px;height:28px}
.avatar-pick.has .ap svg{display:none}
.auth .hint{text-align:center;margin:0;line-height:1.5}
.auth .err{margin:0;text-align:center;min-height:1.2em}
.auth .btn-primary[disabled]{opacity:.6}
.auth-note{font-size:12px;color:var(--ink-3);text-align:center;line-height:1.5;margin:0}
.setup{max-width:420px;text-align:center;display:flex;flex-direction:column;gap:12px;color:var(--ink-2);font-size:14px;line-height:1.6}
.setup h2{margin:0;font:200 26px var(--display);color:var(--ink)}
.avatar{background-size:cover!important;background-position:center!important}
.empty-ocean{position:absolute;left:0;right:0;top:38%;z-index:4;text-align:center;pointer-events:none;color:var(--ink-2);font-size:14.5px;line-height:1.6;padding-left:24px;padding-right:24px}
.empty-ocean b{display:block;font:200 24px var(--display);color:var(--ink);margin-bottom:6px}
.acct{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.acct .u{font:300 18px var(--display)}

.inv-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.inv-out{display:flex;flex-direction:column;gap:10px}
.inv-n{flex:1;min-width:160px}
.field select{all:unset;flex:1;font:500 14.5px var(--text);color:var(--ink);cursor:pointer}
.field select option{background:#06222a;color:var(--ink)}
.auth .link{align-self:center}
