/* NAS diary: uses the portfolio tokens; scoped to this page. */
.nas-page{--nas-line:var(--border);color:var(--gray-light);font-size:.88rem;line-height:1.9}.nas-page h2,.nas-page h3{font-family:var(--font-heading);color:var(--white);line-height:1.2}.nas-page h2{font-size:clamp(2rem,4vw,3.3rem);margin:.6rem 0 1.3rem}.nas-page h3{font-size:1.5rem;margin:.6rem 0 1rem}.nas-page a{color:var(--green)}.nas-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:center;padding-bottom:4rem}.nas-hero h1{font-size:clamp(3.6rem,7vw,6.5rem);margin:1rem 0 1.5rem}.nas-hero p:not(.page-label){max-width:53ch;margin:1rem 0}.nas-hero .btn{margin-top:1rem;color:var(--black)}.nas-machine{min-width:0}.nas-orbit{display:grid;place-items:center;min-height:380px;background:radial-gradient(ellipse,var(--green-glow),transparent 70%);position:relative;border:1px solid var(--border);border-radius:50%}.nas-server{width:66%;padding:2rem 1.4rem;background:linear-gradient(130deg,#202923,#0d100e);border:1px solid #52725d;box-shadow:20px 24px 0 #05080566;transform:rotate(-5deg);border-radius:8px}.nas-server span,.nas-server small{display:block;font-size:.6rem;letter-spacing:.14em;color:var(--green)}.nas-server i{display:block;height:48px;border:1px solid #43564a;background:#101813;margin:1rem 0;position:relative;border-radius:3px}.nas-server i:after{content:'';position:absolute;right:12px;top:20px;width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green-dim)}.nas-machine figcaption{font-size:.65rem;text-align:center;margin-top:1.4rem;color:var(--gray)}.nas-meta{display:flex;flex-wrap:wrap;gap:1rem 3rem;border-block:1px solid var(--border);padding:1.2rem var(--gutter);font-size:.7rem}.nas-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.3rem}.nas-tags span{font-size:.65rem;line-height:1.5;padding:.4rem .65rem;border:1px solid var(--border);border-radius:var(--radius);color:var(--green)}.nas-page>.nas-tags{padding-inline:var(--gutter)}.nas-page .nas-nav{position:static;inset:auto;display:flex;flex-wrap:wrap;gap:.3rem 1.4rem;padding:1.5rem var(--gutter);background:none;border:0;backdrop-filter:none}.nas-nav a{font-size:.7rem;min-height:44px;display:inline-flex;align-items:center}.nas-note{margin:1rem var(--gutter) 3rem;border-left:2px solid var(--green);padding:1rem 1.5rem;background:var(--dark);font-size:.76rem}.nas-note strong{color:var(--white)}.nas-section{padding:4rem var(--gutter);border-top:1px solid var(--border)}.nas-intro{max-width:75ch;margin-bottom:2rem}.nas-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.nas-card{background:var(--dark);border:1px solid var(--border);padding:1.6rem;border-radius:var(--radius);transition:border-color 160ms}.nas-card:hover{border-color:#548464}.nas-card p{font-size:.8rem}.nas-card a{display:inline-block;margin-top:1rem;font-size:.7rem}.nas-kicker,.nas-status{font-size:.65rem;letter-spacing:.04em;color:var(--green)}.nas-status{display:inline-block;border:1px solid #5d655f;color:#c5cfc8;padding:.2rem .6rem}.nas-timeline{list-style:none;max-width:940px;margin:2rem auto 0;padding:0}.nas-timeline li{position:relative;padding:0 0 1.3rem 4rem;border-left:1px solid #425348;margin-left:1.3rem}.nas-step{position:absolute;left:-1.3rem;top:1rem;width:2.6rem;height:2.6rem;display:grid;place-items:center;background:var(--black);border:1px solid #5a7864;color:var(--green);border-radius:50%;font-size:.75rem}.nas-timeline details{border-bottom:1px solid var(--border);padding:1rem 0}.nas-page summary{cursor:pointer;min-height:44px}.nas-timeline summary{display:block;position:relative;padding-right:2rem}.nas-timeline summary:after{content:'＋';position:absolute;right:0;top:1.5rem;color:var(--green)}.nas-timeline details[open] summary:after{content:'−'}.nas-timeline h3{margin:.5rem 0}.nas-expand{font-size:.65rem;color:var(--gray)}.nas-detail{padding:1rem 0;max-width:70ch}.nas-muted{font-size:.72rem!important;color:var(--gray);margin-top:1rem}.nas-timeline li.nas-seen .nas-step{border-color:var(--green);box-shadow:0 0 0 5px var(--green-glow)}.nas-architecture{max-width:850px;margin:2rem auto 3rem}.nas-layer{border:1px solid #435c4c;background:var(--dark);position:relative;margin-bottom:2rem}.nas-layer:not(:last-child):after{content:'↓';position:absolute;bottom:-2rem;left:50%;color:var(--green)}.nas-layer summary{padding:1.1rem 1.5rem;color:var(--white)}.nas-layer p{padding:0 1.5rem 1.5rem;font-size:.8rem}.nas-legend{font-size:.7rem;margin:0 0 1.2rem;color:var(--gray)}.nas-challenge{border-top:1px solid var(--border);padding:1rem 0}.nas-challenge summary{font-family:var(--font-heading);font-size:1.4rem;color:var(--white);padding:.6rem}.nas-challenge dl{display:grid;grid-template-columns:120px 1fr;gap:1rem;padding:1.5rem}.nas-challenge dt{color:var(--green);font-size:.75rem}.nas-challenge dd{margin:0;font-size:.8rem}.nas-placeholder{aspect-ratio:3/2;border:1px dashed #46594d;background:linear-gradient(135deg,#142019,#101310);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.6rem;letter-spacing:.08em;color:#9eafa4}.nas-placeholder span{font-size:2.5rem;font-weight:300;color:var(--green);margin-bottom:.7rem}.nas-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.nas-photo figcaption{font-size:.7rem;margin:.8rem 0 1.5rem}.nas-closing{display:grid;grid-template-columns:1.2fr 1fr;gap:3rem}.nas-closing p{margin-bottom:1.5rem}.nas-closing ul{padding-left:1.2rem;font-size:.8rem}.nas-closing li{margin-bottom:1rem}.nas-return{margin-top:2.5rem}.nas-lightbox{margin:auto;width:min(94vw,1100px);max-height:92vh;overflow:auto;padding:1.5rem;background:var(--dark);color:var(--white);border:1px solid var(--green)}.nas-lightbox::backdrop{background:#000d}.nas-lightbox img{display:block;max-width:100%;max-height:70vh;object-fit:contain;margin:1rem auto}.nas-lightbox button{font:inherit;color:var(--white);background:var(--card);padding:.7rem 1rem;border:1px solid var(--border);min-height:44px;cursor:pointer}.nas-lightbox p{font-size:.8rem}
@media(max-width:900px){.nas-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nas-hero{gap:2rem}.nas-orbit{min-height:300px}.nas-server{width:80%}.nas-closing{gap:2rem}}
@media(max-width:600px){.nas-hero,.nas-closing,.nas-grid{grid-template-columns:minmax(0,1fr)}.nas-hero{padding-top:1.5rem}.nas-orbit{min-height:300px;max-width:350px;margin:auto}.nas-section{padding-block:2.5rem}.nas-timeline li{padding-left:2.3rem}.nas-timeline h3{font-size:1.3rem}.nas-challenge dl{grid-template-columns:1fr;gap:.4rem;padding:1rem}.nas-challenge dd{margin-bottom:1rem}.nas-meta{gap:.5rem}.nas-machine{margin-top:1rem}}
@media(prefers-reduced-motion:no-preference){.nas-seen .nas-step{transition:box-shadow .5s,border-color .5s}.nas-timeline li.nas-seen{animation:nas-arrive .4s ease-out}@keyframes nas-arrive{from{transform:translateY(8px)}to{transform:none}}}
/* Illustrated assets and navigable infrastructure. */
.nas-hero-photo{width:100%;height:auto;display:block;aspect-ratio:3/2;object-fit:cover;border:1px solid var(--border);border-radius:var(--radius)}
.nas-architecture{max-width:none}.nas-map{padding:2rem;background:radial-gradient(ellipse at center,#16342355,transparent 75%),var(--dark);border:1px solid var(--border);border-radius:var(--radius)}.nas-map-end{text-align:center;font-size:.78rem;color:var(--white)}.nas-map-arrow{display:block;text-align:center;color:var(--green);font-size:1.4rem}.nas-nodes{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,110px);gap:30px 1rem;max-width:800px;margin:0 auto 1.5rem}.nas-map-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;stroke:#486451;stroke-width:2;fill:none}.nas-node{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;text-align:center;padding:.8rem;background:#101b14;border:1px solid #496552;border-radius:var(--radius);text-decoration:none;transition:border-color .16s,background .16s}.nas-node strong{font-size:1rem;font-weight:500}.nas-node span{color:var(--gray-light);font-size:.65rem;line-height:1.6;margin-top:.3rem}.nas-node:hover,.nas-node[aria-current]{background:#203b29;border-color:var(--green);box-shadow:0 0 0 2px var(--green-glow)}.nas-node[aria-current]:before{content:'Selezionato';font-size:.55rem;color:var(--green);letter-spacing:.05em}.nas-node-tailscale{grid-area:1/2}.nas-node-opencloud{grid-area:2/1}.nas-node-immich{grid-area:2/3}.nas-node-backup{grid-area:3/2}.nas-map-storage{font-size:.68rem;color:var(--gray);text-align:center;margin-top:.8rem}.nas-component-panel{padding:2rem;border:1px solid var(--border);border-top:2px solid var(--green);margin-top:1rem;background:var(--dark);scroll-margin-top:6rem}.nas-component-panel[hidden]{display:none}.nas-component-panel dl{display:grid;grid-template-columns:170px 1fr;gap:1rem}.nas-component-panel dt{color:var(--green);font-size:.75rem}.nas-component-panel dd{font-size:.82rem;margin:0}.nas-related{display:flex;gap:1.5rem;flex-wrap:wrap}.nas-related a{min-height:44px;display:inline-flex;align-items:center;font-size:.8rem}.nas-related-label{margin-top:1.5rem;font-size:.7rem;color:var(--gray)}.nas-map-deeper{margin-top:2rem}.nas-map-deeper>summary{padding:1rem 0;color:var(--green)}
@media(max-width:600px){.nas-map{padding:1rem}.nas-nodes{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px .4rem}.nas-node{padding:.4rem}.nas-node strong{font-size:.72rem}.nas-node span{font-size:.58rem;overflow-wrap:anywhere}.nas-component-panel{padding:1.25rem}.nas-component-panel dl{grid-template-columns:1fr;gap:.4rem}.nas-component-panel dd{margin-bottom:1rem}.nas-map-storage{font-size:.63rem}}
/* Compact technical case study. */
.nas-compact .nas-hero{padding-block:2rem;gap:2.5rem}.nas-compact .nas-hero h1{font-size:clamp(3rem,6vw,5rem)}.nas-compact .nas-section{padding-block:2.5rem}.nas-compact .nas-section h2{font-size:clamp(1.8rem,3vw,2.5rem)}.nas-compact .nas-nav{padding-block:.5rem}.nas-compact .nas-specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem 2rem}.nas-specs>div{border-top:1px solid var(--border);padding-top:1rem}.nas-compact .nas-specs h3{font-family:var(--font-body);font-size:.82rem;line-height:1.6;margin:0 0 .5rem}.nas-specs p{font-size:.75rem}.nas-compact .nas-map{padding:1.2rem}.nas-compact .nas-nodes{grid-template-rows:repeat(3,80px);gap:20px 1rem;max-width:650px}.nas-compact .nas-node span{display:none}.nas-compact .nas-component-panel{padding:1.3rem}.nas-compact .nas-challenge summary{font-family:var(--font-body);font-size:.82rem}.nas-compact .nas-challenge>p,.nas-compact .nas-challenge>ul{padding:1rem;font-size:.8rem}.nas-compact .nas-challenge>ul{padding-left:2rem}.nas-compact .nas-note{margin:1.2rem 0}.nas-compact>.nas-return{padding:0 var(--gutter) 2rem}.nas-compact .nas-architecture{margin-bottom:0}
@media(max-width:600px){.nas-compact .nas-specs{grid-template-columns:1fr 1fr}.nas-compact .nas-hero{gap:1rem}.nas-compact .nas-nodes{gap:20px .4rem}.nas-compact .nas-node strong{font-size:.7rem}}

.nas-story{max-width:74ch}.nas-story p{font-size:.88rem;line-height:1.9}.nas-story p+p{margin-top:1.2rem}
