:root { --ink:#183f42; --teal:#1e6968; --mint:#dceae5; --sand:#f8f2eb; --coral:#f28467; --line:#bfd4ce; --white:#fff; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:#eef4f1; font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
button, input, textarea { font:inherit; } button { cursor:pointer; }
.shell { width:min(100%,640px); min-height:100dvh; margin:0 auto; padding:24px 24px 42px; background:var(--sand); }.server-warning { margin:0 0 18px; padding:13px 15px; border:1px solid #e2bd55; border-radius:16px; color:#6d540c; background:#fff4cc; font-size:13px; font-weight:650; line-height:1.4; }.server-warning a { color:#245f60; font-weight:900; }
.topbar { display:flex; align-items:center; justify-content:space-between; margin-bottom:48px; }.brand { display:inline-flex; align-items:center; gap:10px; color:var(--ink); text-decoration:none; }.brand-mark { width:42px; height:42px; object-fit:contain; filter:drop-shadow(0 3px 7px #183f4218); }.brand-lockup { display:grid; gap:1px; }.brand-name { display:flex; align-items:baseline; color:var(--ink); font-family:ui-rounded,"Avenir Next",Avenir,ui-sans-serif,sans-serif; font-size:23px; font-weight:900; letter-spacing:-1.6px; line-height:.96; }.brand-name b { font-weight:900; }.brand-name i { margin-left:1px; color:var(--teal); font-style:normal; }.brand-name em { margin-left:1px; color:var(--coral); font-style:normal; font-weight:850; }.brand-lockup small { color:#64807d; font-size:8px; font-weight:850; letter-spacing:1.25px; text-transform:uppercase; }
.notebook-link { min-height:34px; padding:0 10px; border:1px solid var(--line); border-radius:99px; color:var(--teal); background:transparent; font-size:12px; font-weight:800; }.notebook-link span { display:inline-grid; width:18px; height:18px; place-items:center; margin-left:4px; border-radius:50%; color:#fff; background:var(--coral); font-size:10px; }
.screen { animation:arrive .25s ease; }.screen[hidden] { display:none; } @keyframes arrive { from { opacity:.1; transform:translateY(9px); } to { opacity:1; transform:none; } }
.eyebrow { margin:0; color:var(--teal); font-size:11px; font-weight:900; letter-spacing:1.2px; } h1,h2 { margin:10px 0 18px; color:var(--teal); line-height:1.04; letter-spacing:-2px; } h1 { font-size:clamp(40px,9.5vw,62px); } h2 { font-size:clamp(34px,7vw,45px); }.intro { margin:0 0 28px; font:20px/1.46 Georgia,serif; }
aside { display:grid; gap:6px; margin:0 0 22px; padding:17px; border:1px solid #f0c4b7; border-radius:18px; background:#fff3ee; font-size:14px; line-height:1.4; } aside b { color:#a94b35; }.consent,.device-save { display:flex; gap:12px; align-items:flex-start; padding:15px 0 20px; font-size:14px; line-height:1.42; }.consent input,.device-save input { width:18px; height:18px; flex:none; accent-color:var(--teal); margin-top:1px; }.device-save { margin:14px 0 0; padding:16px 17px; border:1px solid var(--line); border-radius:18px; background:#ffffff8a; }.device-save b,.device-save small { display:block; }.device-save b { color:var(--teal); }.device-save small { margin-top:4px; color:#5d7673; font-size:12px; }.access { margin:-4px 0 18px; color:#59716f; font-size:13px; }.access summary { cursor:pointer; font-weight:700; }.access>p { margin:8px 0 0; line-height:1.42; }.access input { width:100%; margin-top:9px; padding:11px 13px; border:1px solid var(--line); border-radius:12px; background:#fff; }.access .access-feedback { margin-top:8px; color:#936143; font-weight:650; }.access .access-feedback.error { color:#a94b35; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:11px; min-height:52px; padding:0 19px; border:1px solid transparent; border-radius:99px; font-weight:850; }.button:disabled { cursor:not-allowed; opacity:.45; }.primary { color:#fff; background:var(--teal); }.primary span { font-size:20px; }.dark { color:#fff; background:var(--ink); }.outline { color:var(--teal); border-color:var(--teal); background:transparent; }.small { width:auto; min-height:42px; }.fineprint,.limit,#status { color:#59716f; font-size:12px; line-height:1.45; }.back { margin:0 0 24px; padding:0; border:0; color:var(--teal); background:transparent; font-weight:800; }
.modes { display:grid; gap:12px; margin-top:29px; }.modes button { display:grid; grid-template-columns:42px 1fr 22px; align-items:center; gap:13px; width:100%; padding:21px 18px; border:1px solid var(--line); border-radius:22px; color:var(--ink); background:#fff; text-align:left; }.modes i { color:var(--coral); font-size:13px; font-style:normal; font-weight:900; }.modes b,.modes small { display:block; }.modes b { margin-bottom:4px; font-size:17px; }.modes small { color:#526d6a; line-height:1.35; }.modes em { color:var(--coral); font-size:22px; font-style:normal; }.pill { display:inline-block; margin:-4px 0 16px; padding:7px 10px; border-radius:99px; color:var(--teal); background:var(--mint); font-size:11px; font-weight:900; letter-spacing:.7px; }
.chat { display:grid; gap:16px; min-height:400px; padding:7px 0 20px; }.bubble { max-width:89%; padding:16px 17px; border-radius:19px; font-size:15px; line-height:1.46; white-space:pre-line; }.bot { background:var(--mint); border-bottom-left-radius:4px; }.user { justify-self:end; color:#fff; background:var(--teal); border-bottom-right-radius:4px; }.loading { opacity:.75; font-style:italic; } form { position:sticky; bottom:0; padding-top:13px; border-top:1px solid var(--line); background:var(--sand); }textarea { display:block; width:100%; resize:none; padding:13px 15px; border:1px solid var(--line); border-radius:16px; color:var(--ink); background:#fff; line-height:1.4; }form>div { display:flex; align-items:center; justify-content:space-between; margin-top:10px; color:#68817e; font-size:12px; }
.result,.entry { margin:27px 0 17px; padding:24px 21px; border:1px solid var(--line); border-radius:23px; background:#fff; }.result { min-height:160px; white-space:pre-wrap; font:16px/1.55 Georgia,serif; }.moment-marker { margin:0 0 17px; padding:0; border:0; }.moment-marker legend { color:var(--teal); font-size:15px; font-weight:850; }.moment-marker>p { margin:5px 0 11px; color:#59716f; font-size:12px; line-height:1.4; }.marker-options { display:grid; gap:8px; }.marker { display:flex; gap:10px; align-items:flex-start; padding:12px 13px; border:1px solid var(--line); border-left:5px solid var(--line); border-radius:15px; background:#ffffff8a; cursor:pointer; }.marker input { width:17px; height:17px; flex:none; margin-top:2px; accent-color:var(--teal); }.marker span { display:grid; gap:2px; }.marker b { font-size:14px; }.marker small { color:#5d7673; font-size:12px; line-height:1.32; }.marker-green { border-left-color:#5b987b; }.marker-yellow { border-left-color:#d4a72c; }.marker-red { border-left-color:#c45a4b; }.marker:has(input:checked) { border-color:var(--teal); box-shadow:0 0 0 2px #1e696820; }.actions { display:flex; flex-wrap:wrap; gap:10px; }.actions .button { flex:1 1 160px; }.empty { display:grid; gap:5px; margin:24px 0 18px; padding:22px; border:1px dashed var(--line); border-radius:20px; color:#5d7673; background:#ffffff80; line-height:1.4; }.empty b { color:var(--teal); }.entries { display:grid; gap:14px; margin-top:22px; }.entry { margin:0; }.entry header { display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--teal); font-size:11px; font-weight:900; letter-spacing:.8px; }.entry header button { padding:0; border:0; color:#a94b35; background:transparent; font-size:12px; font-weight:800; }.entry-meta { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:9px 0 16px; }.entry time { color:#68817e; font-size:12px; }.mood-tag { padding:4px 8px; border-radius:99px; font-size:11px; font-weight:850; }.mood-leve { color:#22634a; background:#dcefe4; }.mood-variado { color:#745707; background:#fff2c9; }.mood-puxado { color:#8c3830; background:#fde0dc; }.mood-sem-marcacao { color:#5d7673; background:#eef2f0; }.entry p { margin:0; white-space:pre-wrap; font:16px/1.53 Georgia,serif; }.emergency { padding-top:36px; }.emergency h2 { color:#a94b35; }.emergency p { font:19px/1.5 Georgia,serif; }
@media (max-width:420px) { .shell { padding:20px 18px 36px; }.topbar { margin-bottom:38px; }h1 { font-size:43px; }.actions .button { width:100%; } }
@media print { @page { size:A4; margin:15mm; } body,.shell { min-height:0; background:#fff; }.shell { width:auto; padding:0; }.topbar,.screen:not(#caderno),.back,.device-save,.fineprint,.actions,#notebook-empty { display:none!important; }#caderno,#caderno[hidden] { display:block!important; } #caderno h2 { font-size:28pt; }.entry { break-inside:avoid; page-break-inside:avoid; }.entry header button { display:none; } }
