/* Tema Capri: rosso, viola, verde fluo. Per cambiare i colori modifica solo le righe qui sotto. */
:root{--v:#39ff14;--r:#ff1744;--pan:rgba(8,4,16,.88);--txt:#dcffe3;--lvl:0}
html{background:#090914}
body{margin:0;min-height:100vh;color:var(--txt);font:16px/1.55 Georgia,"Times New Roman",serif;
 background:linear-gradient(rgba(60,10,90,.74),rgba(120,0,30,.62)),url(./capri-sfondo.jpg) center/cover fixed no-repeat}
.shell{max-width:1100px;margin:0 auto;padding:14px}
h1,h2,h3,.eyebrow,.tab,button,label,.next-event-label,.status{font-family:"Courier New",Consolas,monospace}
h1{color:var(--v);text-transform:uppercase;letter-spacing:.12em;text-shadow:0 0 12px var(--v);margin:.1em 0}
h2,h3{color:var(--v);text-transform:uppercase;letter-spacing:.07em}
h2{border-bottom:3px double var(--v);padding-bottom:6px}
.eyebrow{color:var(--r);letter-spacing:.25em;font-size:12px;margin:0}
.hero-caption,.hint,label,.status,.app-message{color:var(--v)}
.hint{opacity:.88;font-size:14px}
a{color:#ff8fab}
.topbar,.panel{background:var(--pan)!important;border:2px solid var(--v)!important;border-radius:8px!important;box-shadow:0 0 16px rgba(57,255,20,.22)!important;padding:14px!important;margin-bottom:14px!important}
/* schede */
.tabs{display:flex;gap:6px;overflow-x:auto;padding:6px 2px;position:sticky;top:0;z-index:20;background:rgba(8,4,16,.94);border-bottom:2px solid var(--v);margin-bottom:12px;scrollbar-width:thin}
.tab{flex:0 0 auto;background:#000!important;color:var(--v)!important;border:2px solid var(--v)!important;border-radius:4px;padding:8px 12px;text-transform:uppercase;letter-spacing:.06em;font-size:13px;cursor:pointer}
.tab.active{background:var(--v)!important;color:#000!important;box-shadow:0 0 12px var(--v)}
.tab[data-panel="route-panel"]{display:none} /* sezione "Quanto manca alla meta" nascosta: togli questa riga per rivederla */
/* pulsanti e campi */
button{background:#000;color:var(--v);border:2px solid var(--v);border-radius:4px;padding:9px 14px;font-weight:700;cursor:pointer;text-transform:uppercase;letter-spacing:.05em}
button:hover:not(:disabled){background:var(--v);color:#000}
button.secondary{border-color:var(--r);color:#ffd0dc}
button.secondary:hover:not(:disabled){background:var(--r);color:#fff}
button:disabled{opacity:.45;cursor:not-allowed}
input,textarea,select{background:#000!important;color:var(--v)!important;border:2px solid var(--v)!important;border-radius:4px;padding:8px;font:inherit;max-width:100%}
input:focus,textarea:focus,select:focus{outline:2px solid var(--r);outline-offset:1px}
input[type=checkbox]{accent-color:var(--v)}
::placeholder{color:rgba(57,255,20,.5)}
.inline{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
/* avatar di Capri al posto del banner */
.orb-wrap{display:flex;flex-direction:column;align-items:center;gap:10px}
.capri-orb{position:relative;width:min(300px,72vw)!important;height:min(300px,72vw)!important;padding:0!important;border:3px solid var(--v)!important;border-radius:12px!important;overflow:hidden;
 background:url(./capri-avatar.jpg) center/cover no-repeat!important;animation:capri-float 6s ease-in-out infinite;filter:drop-shadow(0 0 calc(8px + var(--lvl)*38px) var(--v))}
.capri-orb:hover:not(:disabled){background:url(./capri-avatar.jpg) center/cover no-repeat!important;color:var(--v)}
.capri-orb img,.orb-ring{display:none!important}
.capri-orb .orb-title{position:absolute;left:0;right:0;bottom:0;color:var(--v);letter-spacing:.3em;padding:22px 0 8px;background:linear-gradient(transparent,rgba(0,0,0,.88))}
.capri-orb::after{content:"";position:absolute;inset:0;background:url(./capri-avatar.jpg) center/cover;opacity:0;clip-path:inset(20% 0 55% 0);mix-blend-mode:screen;pointer-events:none}
html[data-capri=riposo] .capri-orb::after{animation:capri-glitch 7s steps(1) infinite}
html[data-capri=ascolto] .capri-orb{outline:3px solid var(--v);outline-offset:-3px;animation:capri-float 3s ease-in-out infinite,capri-pulse 1s ease-in-out infinite}
html[data-capri=ascolto] .capri-orb::after,html[data-capri=parla] .capri-orb::after{animation:capri-glitch 1.6s steps(1) infinite}
.orb-status{color:var(--v);font-family:"Courier New",monospace;text-align:center}
.orb-answer{border:1px solid var(--v);border-radius:6px;padding:10px;background:#000;max-width:640px}
/* riquadri e liste */
.next-event,.home-briefing,.study-box{border:1px solid var(--v);border-radius:6px;padding:12px;background:rgba(0,0,0,.5);margin:12px 0}
.next-event-label{color:var(--r);font-size:12px;letter-spacing:.2em}
.dash-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.dash-grid>*{border:1px solid var(--v);border-radius:6px;padding:10px;background:rgba(0,0,0,.5)}
.conversation{max-height:55vh;overflow:auto;display:flex;flex-direction:column;gap:8px}
.conversation>*{border:1px solid var(--v);border-radius:6px;padding:8px 10px;background:#000;white-space:pre-wrap}
.report-list>*,.memory-list>*,.agenda-list>*{border-top:1px solid var(--v);padding:10px 0}
.report-filters{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
.report-filters .active{background:var(--v);color:#000}
.file-preview{background:#000;border:1px solid var(--v);color:var(--txt);padding:10px;overflow:auto;max-height:40vh}
dialog{background:#05020b;color:var(--txt);border:2px solid var(--v);border-radius:8px}
dialog::backdrop{background:rgba(0,0,0,.8)}
#ai-status{font-size:12px;opacity:.85}
@keyframes capri-float{50%{transform:translateY(-6px)}}
@keyframes capri-pulse{50%{outline-color:var(--r)}}
@keyframes capri-glitch{0%,88%{opacity:0;transform:none}90%{opacity:.8;transform:translateX(-9px)}93%{opacity:.8;transform:translateX(11px)}96%{opacity:.8;transform:translateX(-4px)}100%{opacity:0}}
@media (prefers-reduced-motion:reduce){*{animation:none!important}}
