@font-face{font-family:Nunito;src:url(/font/nunito.woff2) format('woff2');font-weight:400 700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2190-21FF,U+2212,U+2215}
@font-face{font-family:Nunito;src:url(/font/nunito-ext.woff2) format('woff2');font-weight:400 700;font-display:swap;unicode-range:U+0100-02AF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{
  --fondo:#FFFFFF;--carta:#F4F6F4;--salvia:#3E7D5A;--salvia-scuro:#2F6B4A;--salvia-chiaro:#E7F0E9;
  --testo:#25352C;--testo-2:#5B6B61;--bordo:#DDE5DF;--ambra:#FFF1DC;--ambra-t:#8A5A12;
  --rosso:#FBE7E4;--rosso-t:#9A3426;--su-salvia:#FFFFFF;--ombra:0 1px 2px rgba(37,53,44,.06),0 4px 14px rgba(37,53,44,.06)
}
@media (prefers-color-scheme:dark){:root:not([data-tema=chiaro]){
  --fondo:#121A16;--carta:#1A241F;--salvia:#6FB98F;--salvia-scuro:#8FD0AA;--salvia-chiaro:#1F3328;
  --testo:#E6EEE8;--testo-2:#A3B4A9;--bordo:#2A3830;--ambra:#3A2E17;--ambra-t:#F2C879;
  --rosso:#3A1F1B;--rosso-t:#F2A497;--su-salvia:#0E1A13;--ombra:none}}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fondo);color:var(--testo);font:16px/1.5 Nunito,system-ui,sans-serif;padding-bottom:calc(76px + env(safe-area-inset-bottom))}
main{max-width:640px;margin:0 auto;padding:18px 16px 24px}
h1{font-size:26px;font-weight:700;margin:2px 0 14px;letter-spacing:-.01em}
h2{font-size:17px;font-weight:700;margin:22px 0 8px}
h3{font-size:16px;font-weight:700;margin:0}
p{margin:6px 0}
a{color:var(--salvia-scuro)}
.piccolo{font-size:13px;color:var(--testo-2)}
.data{font-size:14px;color:var(--testo-2)}
.caricamento{color:var(--testo-2);text-align:center;margin-top:30vh}
.carta{background:var(--carta);border-radius:16px;padding:12px 14px;margin:8px 0}
.carta.verde{background:var(--salvia-chiaro)}
.carta.ambra{background:var(--ambra);color:var(--ambra-t)}
.carta.rossa{background:var(--rosso);color:var(--rosso-t)}
.etichetta{font-size:12px;font-weight:600;text-transform:none;color:var(--testo-2);margin-bottom:2px}
.ambra .etichetta,.rossa .etichetta{color:inherit;opacity:.85}
.grande{font-size:19px;font-weight:700;color:var(--salvia-scuro)}
.riga{display:flex;gap:10px;align-items:baseline;padding:9px 0;border-top:1px solid var(--bordo)}
.riga:first-child{border-top:0}
.riga .ora{font-weight:700;min-width:48px;font-variant-numeric:tabular-nums}
.riga .chi{flex:1;min-width:0}
.voce{display:block;width:100%;text-align:left;background:var(--carta);border:0;border-radius:14px;padding:12px 14px;margin:8px 0;color:inherit;font:inherit;cursor:pointer}
.voce:active{transform:scale(.99)}
.voce .t{font-weight:700;display:block}
.voce .s{font-size:13px;color:var(--testo-2);display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.pill{display:inline-block;font-size:12px;font-weight:600;padding:2px 9px;border-radius:20px;background:var(--salvia-chiaro);color:var(--salvia-scuro);margin-right:4px}
.pill.ambra{background:var(--ambra);color:var(--ambra-t)}
.pill.grigia{background:var(--bordo);color:var(--testo-2)}
.pill.rossa{background:var(--rosso);color:var(--rosso-t)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:46px;padding:0 18px;border-radius:24px;border:1.5px solid var(--salvia);background:transparent;color:var(--salvia-scuro);font:600 15px Nunito,system-ui,sans-serif;cursor:pointer}
.btn.pieno{background:var(--salvia);color:var(--su-salvia)}
.btn.largo{width:100%}
.btn.piccolo{min-height:36px;padding:0 14px;font-size:14px}
.btn.rosso{border-color:var(--rosso-t);color:var(--rosso-t)}
.btn:disabled{opacity:.5}
.pulsanti{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.aggiungi{position:fixed;right:max(16px,calc(50% - 304px));bottom:calc(86px + env(safe-area-inset-bottom));width:58px;height:58px;border-radius:50%;border:0;background:var(--salvia);color:var(--su-salvia);font-size:30px;line-height:1;box-shadow:0 4px 14px rgba(47,107,74,.35);cursor:pointer;z-index:5}
.schede{display:flex;gap:6px;background:var(--carta);border-radius:24px;padding:4px;margin:4px 0 12px}
.schede button{flex:1;border:0;background:transparent;border-radius:20px;min-height:38px;font:600 14px Nunito,system-ui,sans-serif;color:var(--testo-2);cursor:pointer}
.schede button.su{background:var(--fondo);color:var(--salvia-scuro);box-shadow:var(--ombra)}
label{display:block;font-size:13px;font-weight:600;color:var(--testo-2);margin:12px 0 4px}
input,select,textarea{width:100%;font:16px Nunito,system-ui,sans-serif;color:var(--testo);background:var(--fondo);border:1.5px solid var(--bordo);border-radius:12px;padding:11px 12px;min-height:46px}
textarea{min-height:96px;resize:vertical;line-height:1.45}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--salvia)}
.due{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.due>div{min-width:0}
.scelte{display:flex;gap:6px;flex-wrap:wrap}
.scelte button{border:1.5px solid var(--bordo);background:var(--fondo);color:var(--testo);border-radius:20px;min-height:38px;padding:0 13px;font:600 14px Nunito,system-ui,sans-serif;cursor:pointer}
.scelte button.su{border-color:var(--salvia);background:var(--salvia-chiaro);color:var(--salvia-scuro)}
#barra{position:fixed;left:0;right:0;bottom:0;display:flex;background:var(--fondo);border-top:1px solid var(--bordo);padding:6px 4px calc(6px + env(safe-area-inset-bottom));z-index:6}
#barra button{flex:1;border:0;background:transparent;color:var(--testo-2);font:600 12px Nunito,system-ui,sans-serif;display:flex;flex-direction:column;align-items:center;gap:1px;min-height:52px;cursor:pointer;border-radius:12px}
#barra button .ic{font-size:21px;line-height:1.2}
#barra button.su{color:var(--salvia-scuro);background:var(--salvia-chiaro)}
#foglio{position:fixed;inset:0;background:rgba(18,26,22,.45);z-index:10;display:flex;align-items:flex-end;justify-content:center}
#foglio .dentro{background:var(--fondo);width:100%;max-width:640px;max-height:92vh;overflow:auto;border-radius:22px 22px 0 0;padding:10px 16px calc(20px + env(safe-area-inset-bottom))}
#foglio .maniglia{width:42px;height:5px;border-radius:3px;background:var(--bordo);margin:2px auto 10px}
#foglio .testa{display:flex;justify-content:space-between;align-items:center}
#foglio .chiudi{border:0;background:var(--carta);color:var(--testo);width:38px;height:38px;border-radius:50%;font-size:20px;cursor:pointer}
#avviso{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(92px + env(safe-area-inset-bottom));background:var(--testo);color:var(--fondo);padding:10px 16px;border-radius:20px;font-size:14px;font-weight:600;z-index:20;max-width:90vw}
.accesso{max-width:380px;margin:9vh auto 0}
.marchio{font-size:30px;font-weight:700;color:var(--salvia-scuro);letter-spacing:-.02em;margin-bottom:2px}
.qr{background:#fff;border-radius:16px;padding:10px;display:flex;justify-content:center;margin:10px 0}
.qr img{width:210px;height:210px}
.chiave{font-family:ui-monospace,monospace;font-size:15px;word-break:break-all;background:var(--carta);padding:8px 10px;border-radius:10px}
.codici{display:grid;grid-template-columns:1fr 1fr;gap:6px;font-family:ui-monospace,monospace;font-size:17px;margin:10px 0}
.codici span{background:var(--carta);border-radius:10px;padding:8px;text-align:center}
.errore{color:var(--rosso-t);background:var(--rosso);border-radius:10px;padding:8px 12px;font-size:14px;margin:10px 0}
.vuoto{color:var(--testo-2);text-align:center;padding:26px 10px;border:1.5px dashed var(--bordo);border-radius:16px;margin:10px 0}
.giorno{font-size:13px;font-weight:700;color:var(--salvia-scuro);margin:18px 0 2px}
.giorno.oggi::after{content:" · oggi";color:var(--testo-2)}
.turno{border-left:4px solid var(--salvia);border-radius:0 14px 14px 0}
.fatto .t{text-decoration:line-through;opacity:.6}
.menu .voce{display:flex;align-items:center;gap:12px}
.menu .voce .ic{font-size:22px;width:28px;text-align:center}
.notaveloce{display:flex;gap:8px;margin-top:8px}
.notaveloce input{flex:1}
.guida h2{color:var(--salvia-scuro)}
.guida ol,.guida ul{padding-left:20px;margin:6px 0}
.guida li{margin:4px 0}
.cerca{margin:0 0 6px}
.barra-ecm{height:10px;border-radius:6px;background:var(--bordo);overflow:hidden;margin-top:6px}
.barra-ecm i{display:block;height:100%;background:var(--salvia)}
pre.testo{white-space:pre-wrap;font:15px/1.5 Nunito,system-ui,sans-serif;margin:8px 0;background:var(--carta);border-radius:12px;padding:12px}
.settimana{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:6px 0 4px}
.settimana .gg{position:relative;border:0;background:var(--carta);border-radius:12px;padding:6px 0 7px;display:flex;flex-direction:column;align-items:center;gap:1px;color:var(--testo);font:inherit;cursor:pointer;min-width:0}
.settimana .gg.lav{background:var(--salvia-chiaro)}
.settimana .gg.oggi{outline:2px solid var(--salvia)}
.settimana .gs{font-size:11px;color:var(--testo-2)}
.settimana .gn{font-size:17px;font-weight:700}
.settimana .gt{font-size:11px;font-weight:600;color:var(--salvia-scuro);white-space:nowrap;overflow:hidden;max-width:100%}
.settimana .punto{position:absolute;top:5px;right:6px;width:6px;height:6px;border-radius:50%;background:var(--ambra-t)}
.griglia{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:12px 0 4px}
.griglia .intesta{text-align:center;font-size:12px;font-weight:700;color:var(--testo-2)}
.griglia .cella{border:1.5px solid var(--bordo);background:var(--fondo);color:var(--testo);border-radius:10px;min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;font:inherit;cursor:pointer;padding:2px}
.griglia .cella span{font-size:13px;color:var(--testo-2)}
.griglia .cella b{font-size:15px;color:var(--salvia-scuro);min-height:18px}
.griglia .cella.piena{background:var(--salvia-chiaro);border-color:transparent}
.griglia .cella.nuova{border-color:var(--salvia);background:var(--salvia);}
.griglia .cella.nuova span,.griglia .cella.nuova b{color:var(--su-salvia)}
.griglia .cella.oggi{box-shadow:inset 0 0 0 2px var(--ambra-t)}
a.btn{text-decoration:none}
.andamento{display:grid;grid-template-columns:repeat(14,1fr);gap:3px;margin-top:8px}
.andamento .col{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0}
.andamento .bb{height:64px;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:1px}
.andamento .bb i{display:block;width:45%;border-radius:3px 3px 0 0}
.andamento i.en,.leg.en{background:var(--salvia)}
.andamento i.st,.leg.st{background:#E0A23A}
.andamento span{font-size:10px;color:var(--testo-2)}
.leg{display:inline-block;width:9px;height:9px;border-radius:2px;margin:0 2px 0 6px}
.respiro{display:flex;flex-direction:column;align-items:center;padding:18px 0 6px;text-align:center}
.cerchio{width:120px;height:120px;border-radius:50%;background:var(--salvia-chiaro);border:3px solid var(--salvia);margin:10px 0 18px;transform:scale(.7);transition:transform 4s ease-in-out}
.cerchio.su{transform:scale(1.25);transition-duration:4s}
.cerchio.giu{transform:scale(.7);transition-duration:6s}
@media (prefers-reduced-motion:reduce){.cerchio{transition:none}}
.passo{display:flex;gap:10px;align-items:center}
.passo .voce{flex:1;margin:6px 0}
.spunta{flex:none;width:34px;height:34px;border-radius:50%;border:2px solid var(--salvia);background:var(--fondo);color:var(--su-salvia);font-size:18px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center}
.passo.fatto .spunta{background:var(--salvia)}
.passo.fatto .voce .t{text-decoration:line-through;opacity:.6}
.con-voce{position:relative}
.con-voce textarea{padding-right:54px}
.con-voce .mic{position:absolute;right:8px;bottom:10px}
.mic{flex:none;min-width:42px;height:42px;border-radius:21px;border:1.5px solid var(--salvia);background:var(--fondo);color:var(--salvia-scuro);font:600 16px Nunito,system-ui,sans-serif;cursor:pointer;padding:0 8px}
.mic.ascolta{background:var(--rosso);border-color:var(--rosso-t);color:var(--rosso-t);font-size:14px}
.mic.scrive{opacity:.7}
.area{padding:8px 0;border-top:1px solid var(--bordo)}
.area b{display:block;font-size:15px;margin-bottom:4px}
.area input{margin-top:6px;min-height:40px;padding:8px 10px}
.volto{display:flex;justify-content:center;margin:-6px 0 -10px}
.volto canvas{width:150px;height:150px}
.omino-tela{position:relative;display:flex;justify-content:center;margin:12px 0 4px;background:var(--fondo);border:1.5px solid var(--bordo);border-radius:16px;padding:6px}
.omino-tela canvas{display:block;max-width:100%}
.omino-lato{position:absolute;top:10px;right:10px;display:flex;flex-direction:column;gap:6px}
.omino-lato .btn.su{background:var(--salvia);color:var(--su-salvia)}
.punto-colore{display:inline-block;width:12px;height:12px;border-radius:50%;vertical-align:-1px;margin-right:4px}
.punto-colore.piu{background:rgb(214,72,50)}
.punto-colore.meno{background:rgb(58,110,196)}
.volto-fermo{width:150px;height:150px;background:url(/volti/hacca-hybris.webp) 0 0/3000% 100% no-repeat;animation:volto-vivo 2.9s steps(30,jump-none) infinite alternate}
@keyframes volto-vivo{from{background-position:0 0}to{background-position:100% 0}}
@media (prefers-reduced-motion:reduce){.volto-fermo{animation:none}}
