@font-face{font-family:Studio;src:local('Avenir Next')}*{box-sizing:border-box}body{margin:0;color:#153d3c;background:#f6f4ec;font:17px/1.5 Studio,system-ui,sans-serif}button,input,textarea,select{font:inherit;color:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.48}a{color:#174b53;text-underline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #0563c1;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12}h1{font-size:clamp(35px,4.4vw,60px);letter-spacing:-1.6px;max-width:780px;margin-bottom:20px}h2{font-size:30px}h3{font-size:22px}p{margin-bottom:16px}button{border:0}button svg{pointer-events:none}.skip{position:fixed;top:-100px;z-index:100;background:white;padding:15px}.skip:focus{top:0}.demo-bar{background:#143e3c;color:#fff;display:flex;justify-content:space-between;padding:9px max(22px,calc((100vw - 1230px)/2));font-size:12px;gap:18px}.demo-bar span:first-child{font-weight:800;letter-spacing:1.2px}.site-header,.status-line,main,footer{max-width:1230px;margin:auto}.site-header{padding:24px 24px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;font-size:23px;font-weight:850}.brand img{width:48px;height:48px;border-radius:50%;object-fit:contain}.brand small{display:block;font-size:12px;font-weight:500}.quiet{border:1px solid #b3c6be;background:#fffdf7;border-radius:11px;padding:11px 17px;font-size:14px;font-weight:700;min-height:44px}.quiet:hover,.secondary:hover{background:#e5eee6}#noteCount{background:#e5eee6;padding:2px 7px;border-radius:20px;margin-left:7px}.status-line{padding:0 24px 20px;display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#435f5c}.status-line span:last-child{text-align:right}main{padding:0 24px}nav{display:flex;gap:10px;margin:0 0 27px}nav:empty{display:none}.nav-lab{flex:1;background:transparent;min-height:66px;text-align:left;padding:12px 15px;border:1px solid #b9c9c0;border-radius:13px;color:#3b5d59;font-size:13px;line-height:1.3}.nav-lab strong{font-size:16px;margin-right:8px}.nav-lab[aria-current=step]{background:#153e3c;color:white;border-color:#153e3c}.nav-lab .done{float:right}.intro{display:grid;grid-template-columns:1.05fr 1fr;gap:34px;align-items:center;min-height:460px;margin-bottom:35px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:850;margin:0 0 16px;color:#4b655e}.intro p{max-width:540px}.lead{font-size:19px}.primary{background:#174b46;color:white;padding:15px 23px;border-radius:12px;min-height:50px;font-size:16px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:20px;text-decoration:none}.primary:hover{background:#0a3734}.secondary{border:1px solid #a5bdb2;background:#fffdf7;padding:13px 18px;border-radius:12px;font-weight:700;min-height:48px}.text-button{padding:8px 0;background:transparent;text-decoration:underline;text-underline-offset:4px;font-size:14px}.intro .primary{margin:8px 0 12px}.help{font-size:13px;color:#47635f;max-width:650px}.studio-art{background:#dbe8dd;position:relative;overflow:hidden;border-radius:27px;min-height:430px;padding:24px;box-shadow:0 15px 28px #163d3b0a}.studio-art svg{width:100%;height:auto}.art-title{font-size:11px;letter-spacing:2px;font-weight:800;display:flex;justify-content:space-between}.stamp{background:#fbf8e9;padding:10px 14px;border-radius:8px;box-shadow:0 3px 10px #1b3f3b10;position:absolute;right:21px;bottom:25px;transform:rotate(-4deg);font-size:14px;font-weight:700}.lab-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.lab-card{border-top:2px solid #acc0b1;padding-top:17px}.lab-card p{font-size:13px}.lab-card h2{font-size:17px;margin-bottom:7px}.lab-card span{font-size:12px;color:#507064}.entry{display:grid;grid-template-columns:1fr 1fr;gap:45px;background:#e7ece1;border-radius:24px;padding:35px;margin:24px 0 42px}.entry h1{font-size:40px}.entry form{background:#fffdf8;border-radius:16px;padding:25px}.entry label,dialog label{display:block;font-size:14px;font-weight:700;margin:0 0 15px}input,select,textarea{display:block;background:white;border:1px solid #93b1a4;border-radius:9px;padding:12px;width:100%;margin-top:6px}textarea{resize:vertical;min-height:115px}input:user-invalid{border-color:#b94131}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.notice{background:#f8eed5;border-left:4px solid #b77f36;padding:12px 16px;font-size:14px}.notice.error{border-color:#ba4a3a;background:#f8e2dc}.workspace-head{display:flex;justify-content:space-between;align-items:start;gap:20px}.workspace-head h1{font-size:clamp(34px,4vw,49px);margin-bottom:15px;letter-spacing:-1px}.step-count{border:1px solid #adc2b5;border-radius:9px;font-size:12px;padding:9px 13px;white-space:nowrap}.instruction{font-size:18px;max-width:850px;margin-bottom:24px}.work-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:25px;align-items:start}.canvas{border-radius:22px;overflow:hidden;background:#e2eadb;min-height:370px;position:relative}.map{display:block;width:100%;height:auto}.map-caption{font-size:11px;text-align:center;padding:9px;color:#486057;background:#f0f3e7;margin:0}.map-labels{padding:0 17px 20px;display:grid;gap:8px}.map-button{border:1px solid #819e89;background:#fffdf6;border-radius:10px;padding:12px 15px;display:flex;align-items:center;gap:13px;text-align:left;min-height:52px}.map-button[aria-pressed=true]{background:#174b46;color:#fff;border-color:#174b46}.map-button b{font-size:18px}.map-button small{display:block;font-size:12px}.card{background:#fffdf7;border:1px solid #d2dccd;border-radius:18px;padding:26px}.card .eyebrow{margin-bottom:12px}.detail-hero{height:135px;border-radius:13px;margin:-5px 0 20px;overflow:hidden;background:#d7e5d8}.detail-hero svg{width:100%;height:100%}.fact{border-left:3px solid #d49a66;padding-left:16px;font-size:15px}.subtle{font-size:13px;color:#49645f}.options{display:grid;gap:12px}.option{background:#fffdf8;border:1.5px solid #b3c5b8;border-radius:15px;padding:20px;text-align:left;min-height:81px;position:relative}.option strong{display:block;font-size:17px;margin-bottom:5px}.option small{display:block;font-size:14px;line-height:1.45;font-weight:400}.option[aria-pressed=true]{border:2px solid #174b46;background:#e8efe4;padding:19.5px}.option[aria-pressed=true]:after{content:'✓';position:absolute;right:14px;top:11px;font-weight:850}.option strong{padding-right:15px}.option:hover{background:#eef2e8}.live-result{margin-top:18px;background:#e5eee0;border-left:4px solid #3b7962;border-radius:0 10px 10px 0;padding:16px;font-size:15px}.live-result:empty{display:none}.next-row{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:28px 0 32px}.next-row .subtle{margin:0 0 0 auto}.palette-label{display:flex;align-items:center;gap:7px;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:14px}.dot{width:7px;height:7px;background:#bc7548;border-radius:50%}.story-card{padding:0;overflow:hidden}.story-body{padding:25px}.story-card h2{font-size:29px}.optional{margin:15px 0 0}.optional summary{font-size:13px;cursor:pointer}.optional label{font-size:13px;margin-top:12px;display:block}.chat{background:#e6ede5;border-radius:22px;padding:27px;min-height:350px}.chat-label{font-size:11px;letter-spacing:1.5px;font-weight:800;margin-bottom:25px}.bubble{background:#fffdf8;border-radius:16px 16px 16px 2px;padding:17px 20px;margin:0 40px 14px 0;box-shadow:0 5px 10px #3f614009}.bubble.you{background:#174b46;color:white;border-radius:16px 16px 2px 16px;margin:14px 0 14px 40px}.bubble p{margin:0;font-size:18px}.bubble small{display:block;font-size:13px;margin-top:9px;color:#4e6660}.bubble.you small{color:#d4e5db}.conversation-person{display:flex;align-items:center;gap:12px;margin-bottom:20px}.avatar{width:41px;height:41px;border-radius:50%;background:#d8a16f;display:grid;place-items:center;font-weight:800;color:#263e36}.question-support{font-size:13px;margin:20px 0 0}.timeline{background:#fffdf8;border-radius:18px;padding:24px}.timeline h2{font-size:25px}.timeline-row{display:flex;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid #d4dfd0;font-size:14px}.timeline-row:last-of-type{border:0}.timeline-row strong{min-width:44px;color:#306b54}.timeline-row span{flex:1}.timeline-total{display:flex;justify-content:space-between;padding-top:17px;font-weight:800}.brief{background:#e1ebe1;border-radius:13px;padding:16px;font-size:14px;margin-bottom:18px}.brief p:last-child{margin:0}.weather{background:#eeebdb;border:1px solid #d0c7a9;border-radius:13px;padding:15px;margin:15px 0;font-size:14px}.weather strong{display:block}.changed{background:#e8efe3;border-radius:8px;border:0;margin:4px -10px;padding:13px 10px}.receipt{background:#fffdf8;border:1px solid #ccd6c5;border-radius:20px;padding:25px;box-shadow:8px 9px 0 #dce5d6}.receipt h2{font-size:30px;margin-bottom:14px}.receipt-line{display:flex;justify-content:space-between;gap:16px;padding:9px 0;font-size:14px;border-bottom:1px solid #e1e7da}.receipt-total{font-size:23px;font-weight:800;display:flex;justify-content:space-between;margin-top:15px}.receipt-person{background:#174b46;color:#fff;padding:14px 18px;margin:18px -4px 0;border-radius:12px;display:flex;align-items:center;justify-content:space-between}.receipt-person strong{font-size:30px}.receipt-person small{font-size:13px}.sim-number{padding:13px 0 0;display:flex;align-items:center;gap:14px;font-size:13px}.sim-number button{width:38px;height:38px;border:1px solid #9eb49f;background:#fffdf8;border-radius:8px;font-size:23px}.services-list{font-size:14px;padding-left:18px}.offer-card{background:#ebeee1;border-radius:18px;padding:23px}.poster{background:#fffaf0;color:#243e3a;border-radius:17px;overflow:hidden;box-shadow:8px 9px 0 #dcd4c1}.poster-top{display:flex;justify-content:space-between;padding:19px 23px;font-size:10px;letter-spacing:1.5px;font-weight:800}.poster svg{width:100%;height:auto;display:block}.poster-body{padding:24px}.poster h2{font-size:34px;letter-spacing:-1px;max-width:360px}.poster p{font-size:14px}.poster-meta{font-size:13px;border-top:1px solid #c6cdbb;padding-top:15px}.cta{font-size:12px;padding:9px 14px;background:#174b46;color:white;border-radius:50px;display:inline-block;letter-spacing:.3px;margin-top:10px}.ai-draft{background:#e5e8ec;border-radius:16px;padding:23px}.ai-draft blockquote{font-size:23px;margin:0 0 18px;color:#293a42;line-height:1.3}.ai-draft p{font-size:14px}.wrong{background:#ffe0c4;box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:0 3px}.correction{background:#fffdf7;border-radius:12px;padding:18px;margin:17px 0}.correction p:last-child{margin-bottom:0}.finish-head{background:#e1ebdc;padding:34px;border-radius:24px;margin:20px 0 30px;display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center}.finish-head h1{font-size:46px;margin-bottom:12px}.finish-head p{margin-bottom:0;max-width:690px}.finish-symbol{font-size:60px;color:#477c63}.collection{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.collection .card{padding:21px}.collection h2{font-size:23px}.collection p{font-size:14px}.collection .mini{height:110px;border-radius:10px;overflow:hidden;margin-bottom:15px;background:#dce9dc}.mini svg{width:100%;height:100%}.collection .receipt-person{margin:16px 0 0}.collection .receipt-person strong{font-size:24px}.collection .span-two{grid-column:span 2}.collection .poster{box-shadow:none}.collection .poster-body{padding:20px}.collection .poster h2{font-size:27px}.interests{background:#fffdf7;border:1px solid #c7d6c5;border-radius:20px;padding:26px;margin:26px 0}.interests h2{font-size:29px}.interest-options{display:flex;flex-wrap:wrap;gap:10px}.interest-options button{border:1px solid #b5c6b5;border-radius:10px;background:#fffdf8;padding:12px 15px;font-size:14px;min-height:45px}.interest-options button[aria-pressed=true]{background:#174b46;color:white}.reflection{margin:18px 0 0;font-size:15px;max-width:820px}.certificate-call{display:flex;align-items:center;gap:25px;margin-top:22px}.certificate-call p{font-size:13px;margin:0}.pending{margin-top:18px}.pill{display:inline-block;background:#dfeadb;padding:5px 9px;border-radius:6px;font-size:12px;margin-bottom:13px}dialog{border:1px solid #c1d0bf;border-radius:22px;background:#f8f6ed;padding:30px;max-width:770px;width:calc(100% - 32px);max-height:90dvh;color:#153e3b}dialog::backdrop{background:#153e3b99}.dialog-head{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:16px}.dialog-head h2{margin:0}.context{background:#e0eadd;border-radius:8px;padding:10px;font-size:14px}dialog h3{font-size:23px;margin-top:22px}.note-item{padding:15px 0;border-bottom:1px solid #ccd8c8}.note-item p{font-size:15px;white-space:pre-wrap;margin:8px 0 0;overflow-wrap:anywhere}.note-item small{font-size:12px}.certificate-sheet{border:2px solid #517d63;background:white;padding:30px;text-align:center;position:relative}.certificate-sheet h2{font-size:28px}.certificate-sheet .name{font-size:33px;font-weight:800;margin:20px 0}.certificate-sheet .watermark{font-weight:850;letter-spacing:2px;color:#7b4936;font-size:16px;border:1px solid #a96850;padding:8px;margin:25px 0 0}.certificate-sheet .subtle{margin-top:18px}.certificate-sheet img{width:60px;height:60px}footer{padding:26px 24px 35px;color:#47635c;font-size:12px}footer details{margin-top:12px}footer summary{cursor:pointer}footer details p{margin-top:15px;max-width:900px}footer .text-button{margin-right:24px}svg text{font-family:Studio,system-ui,sans-serif}button:active{transform:translateY(1px)}@media(prefers-reduced-motion:no-preference){.option,.primary{transition:background .15s}.canvas,.card,.chat,.timeline,.poster{animation:appear .25s ease-out}@keyframes appear{from{opacity:.65;transform:translateY(5px)}to{opacity:1;transform:none}}}@media(max-width:850px){.intro{grid-template-columns:1fr 1fr;gap:22px}.studio-art{min-height:340px}.work-grid{grid-template-columns:1fr 1fr;gap:17px}.card,.chat{padding:20px}.collection{grid-template-columns:1fr 1fr}.collection .span-two{grid-column:span 1}.nav-lab{padding:10px;font-size:11px}.nav-lab strong{display:block;margin-bottom:4px}.entry{gap:25px;padding:27px}.lab-cards{gap:14px}.site-header{padding-top:18px}}@media(max-width:620px){body{font-size:16px}.demo-bar{padding:8px 16px;display:block;font-size:10px}.demo-bar span:last-child{display:block;margin-top:3px}.site-header{padding:17px 16px 13px;align-items:start}.brand{font-size:19px;gap:8px}.brand img{width:36px;height:36px}.brand small{font-size:9px;max-width:165px}.site-header .quiet{font-size:11px;max-width:128px;padding:9px 10px}.status-line{padding:0 16px 16px;flex-direction:column;gap:2px;font-size:11px}.status-line span:last-child{text-align:left}main{padding:0 16px}.intro{grid-template-columns:1fr;gap:14px;min-height:0}.intro h1{font-size:40px;margin-bottom:18px}.intro .lead{font-size:17px}.studio-art{min-height:0;padding:19px}.studio-art svg{max-height:270px}.intro .help{font-size:12px}.lab-cards{grid-template-columns:1fr 1fr;margin-top:23px}.lab-card h2{font-size:16px}.lab-card p{font-size:12px}.entry{grid-template-columns:1fr;gap:15px;padding:21px;margin-top:5px}.entry h1{font-size:34px}.entry form{padding:19px}.form-row{grid-template-columns:1fr;gap:0}nav{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin-bottom:19px}.nav-lab{font-size:10px;min-height:75px;border-radius:8px;padding:8px 5px;overflow-wrap:anywhere}.nav-lab strong{font-size:13px}.nav-lab .done{float:none;display:block}.workspace-head h1{font-size:33px}.workspace-head{gap:8px}.step-count{font-size:10px;padding:7px}.eyebrow{font-size:10px;letter-spacing:1.4px;margin-bottom:12px}.instruction{font-size:16px;margin-bottom:19px}.work-grid{grid-template-columns:1fr;gap:17px}.canvas{min-height:0}.map{max-height:255px}.map-labels{padding:0 15px 17px}.options{gap:9px}.option{padding:17px;min-height:72px}.option[aria-pressed=true]{padding:16.5px}.option strong{font-size:16px}.option small{font-size:13px}.card{padding:21px}.chat{padding:20px;min-height:0}.bubble{margin-right:16px;padding:15px}.bubble.you{margin-left:16px}.bubble p{font-size:17px}.next-row{flex-wrap:wrap;margin:23px 0}.next-row .primary{max-width:75%;font-size:14px;padding:13px 16px}.next-row .subtle{order:-1;flex-basis:100%;text-align:right;font-size:12px}.brief{padding:14px}.receipt{box-shadow:4px 5px 0 #dce5d6}.poster h2{font-size:32px}.finish-head{padding:23px;display:block}.finish-head h1{font-size:35px}.finish-symbol{display:none}.collection{grid-template-columns:1fr}.collection .span-two{grid-column:span 1}.interests{padding:21px}.interests h2{font-size:26px}.certificate-call{display:block}.certificate-call p{margin-top:12px}.dialog-head h2{font-size:25px}dialog{padding:22px}.certificate-sheet{padding:22px 14px}.certificate-sheet .name{font-size:27px}footer{padding:25px 16px 30px}.optional input{max-width:100%}}

.map-area{position:relative}.map-area svg{display:block;width:100%;height:auto}.map-pin{position:absolute;transform:translate(-50%,-50%);border:1px solid #436c59;background:#fff9e9;color:#1d4b3e;border-radius:10px;padding:10px 12px;font-size:13px;min-height:44px;box-shadow:0 3px 7px #153f3b22;white-space:nowrap}.map-pin[aria-pressed=true]{background:#174b46;color:white;border:2px solid #fffdf0}.map-pin:active{transform:translate(-50%,-50%)}.pin-museo{left:25%;top:37%}.pin-bottega{left:46%;top:70%}.pin-laguna{left:76%;top:37%}.map-labels p{font-size:13px;margin:0;padding:8px 0;border-top:1px solid #b9c9b4}.map-labels small{display:block;font-size:12px}.seasons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}.seasons figure{margin:0}.seasons svg{width:100%;display:block;border-radius:8px}.seasons figcaption{font-size:11px;margin-top:5px}@media(max-width:620px){.map-pin{font-size:11px;padding:8px 9px;min-height:44px}.map-labels p{font-size:12px}}

.needs-change{background:#f7e2c9;border-radius:8px;border-left:3px solid #b56f34;margin:4px -10px;padding:13px 10px}.sim-number button{width:44px;height:44px}

.nav-short{display:none}@media(max-width:620px){.nav-full{display:none}.nav-short{display:block;font-size:11px}.next-row{position:fixed;bottom:0;left:0;right:0;margin:0;background:#f6f4ecf5;border-top:1px solid #bacdb8;padding:9px 16px max(12px,env(safe-area-inset-bottom));z-index:5;gap:8px}.next-row .subtle{text-align:center}.next-row .primary{max-width:calc(100% - 113px);min-height:48px}.next-row .secondary{padding:10px 14px;min-height:48px;font-size:14px}body:has(.next-row){padding-bottom:112px}}

.review-top{text-align:right;margin:-12px 0 12px}.pending-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}

#certificateDialog{width:min(820px,calc(100vw - 24px))}#certificateDialog [hidden]{display:none!important}#certificateForm .primary{margin-top:18px}.certificate-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0}#certificateSheet{margin-top:20px;background:white;box-shadow:0 5px 24px #18372b20}#certificateSheet canvas{display:block;width:100%;height:auto}.complete>button,.complete>a{margin:10px 10px 0 0}.complete>button.primary{background:#fff7e7;color:#294f40;border-color:#fff7e7}.complete>a.secondary{background:transparent;color:#fff7e7;border-color:#aabb9b}#certificateHeading{scroll-margin-top:20px}
@media print{
 body.print-certificate>*{display:none!important}
 body.print-certificate>#certificateDialog{display:block!important;position:static!important;inset:auto!important;width:210mm!important;max-width:none!important;height:auto!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:white!important;overflow:visible!important}
 body.print-certificate #certificateDialog>*:not(#certificateResult),body.print-certificate .certificate-actions,body.print-certificate .certificate-save-help{display:none!important}
 body.print-certificate #certificateResult{display:block!important}
 body.print-certificate #certificateSheet{width:210mm;height:297mm;margin:0;box-shadow:none;break-inside:avoid;overflow:hidden}
 body.print-certificate #certificateSheet canvas{width:210mm;height:297mm}
 @page{size:A4 portrait;margin:0}
}

/* Ingresso della classe: codice leggibile e conferma prima di lavorare. */
#classCode{font-size:1.35rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
#classIdentity[data-recognized="true"]{padding:14px 18px;border-radius:12px;background:#e2ebdd;color:#244f3f;font-weight:700}
#classGuest{display:block;margin:18px auto 0}
#classGuest[hidden]{display:none}

[hidden]{display:none!important}.status-line{flex-wrap:wrap}.demo-bar a{color:inherit}#classNames{display:grid;grid-template-columns:1fr 1fr;gap:16px}#classResumeLink{display:inline-block;overflow-wrap:anywhere}.plain-button{background:transparent;color:var(--ink);border:1px solid var(--line);padding:10px 16px;border-radius:12px}#classMessage{margin-top:16px}#classDialog label{display:block;margin-top:14px}#classSubmit{margin-top:20px}.field-help{font-size:.9rem;line-height:1.6;color:var(--muted)}#certificateForm label{display:block}#certificateName{display:block;width:100%}@media(max-width:520px){#classNames{grid-template-columns:1fr}}

.certificate-call{flex-wrap:wrap}.certificate-call a.secondary{text-decoration:none}

/* Telefoni: il cartellino sta sotto la mappa, così non copre le etichette dei luoghi. */
@media(max-width:520px){.stamp{position:static;width:fit-content;margin:12px auto 16px;transform:rotate(-2deg)}}

/* ===== Stesso stile della Bussola, pensato prima per il telefono (Claude, 9 ottobre 2026) =====
   Regole aggiunte in coda: nessuna regola precedente è stata tolta. Testo normale almeno 7:1 sullo sfondo,
   niente maiuscolo, niente scritte sotto 13 px, campi a 16 px (su iPhone la pagina non si ingrandisce da sola). */
:root{--t-navy:#0b2f47;--t-ink:#17314a;--t-soft:#33495a;--t-lime:#c9f981;--t-green:#006733;--t-line:#c9d6da;--t-pale:#eef3f4;--t-chip:#dfe9ec}
body{color:var(--t-ink);background:#e9eff0;font-size:16px}
h1{font-weight:800;line-height:1.08;letter-spacing:-.03em;color:var(--t-navy)}
h2,h3{color:var(--t-navy)}
input,select,textarea{border:2px solid #8fa4ad;border-radius:12px;color:var(--t-ink);font-size:16px}
.eyebrow{font-size:.92rem;font-weight:750;letter-spacing:0;text-transform:none;color:var(--t-soft)}
.subtle{font-size:.92rem;color:var(--t-soft)}

/* Fascia, intestazione, stato */
.demo-bar{align-items:center;padding-top:7px;padding-bottom:7px;background:var(--t-navy);font-size:.82rem}
.demo-bar span:first-child{font-weight:650;letter-spacing:0}
.demo-bar a{font-weight:750;text-underline-offset:3px}
.site-header{padding-top:14px;padding-bottom:10px}
.brand{font-weight:800;letter-spacing:-.02em;color:var(--t-navy)}
.brand small{font-size:.82rem;font-weight:600;color:var(--t-soft)}
.quiet,.plain-button{min-height:44px;border:2px solid var(--t-line);border-radius:12px;color:var(--t-navy);background:#fff;font-size:.92rem;font-weight:750}
.quiet:hover,.plain-button:hover{border-color:var(--t-navy);background:#fff}
.status-line{align-items:center;padding-bottom:12px;font-size:.85rem;color:var(--t-soft)}
.text-button{min-height:44px;color:var(--t-navy);font-size:.95rem;font-weight:700}

/* I cinque laboratori in alto */
#journey{gap:6px}
.nav-lab{min-height:52px;border:2px solid var(--t-line);border-radius:14px;color:var(--t-navy);background:#fff;font-size:.9rem;font-weight:700}
.nav-lab strong{color:var(--t-navy)}
.nav-lab[aria-current=step]{border-color:var(--t-navy);color:#fff;background:var(--t-navy)}
.nav-lab[aria-current=step] strong{color:var(--t-lime)}
.nav-lab:disabled{border-color:var(--t-chip);color:#4b5f6b;background:var(--t-chip);opacity:1}
.nav-lab:disabled strong{color:#4b5f6b}

/* Pulsanti */
.primary{min-height:52px;border-radius:14px;color:#fff;background:var(--t-green);font-weight:800}
.primary:hover{background:#00522a}
.primary:disabled{color:#4b5f6b;background:var(--t-chip);opacity:1}
.secondary{min-height:48px;border:2px solid var(--t-line);border-radius:14px;color:var(--t-navy);background:#fff;font-weight:750}
.secondary:hover{border-color:var(--t-navy);background:#fff}

/* Ingresso */
.intro{min-height:0;margin-bottom:14px;padding:28px 24px;border-radius:22px;color:#fff;background:linear-gradient(150deg,#0b2f47 0%,#103f58 60%,#0f4f58 100%)}
.intro .eyebrow{width:fit-content;margin-bottom:14px;padding:6px 13px;border-radius:99px;color:var(--t-navy);background:var(--t-lime);font-weight:800}
.intro h1{color:#fff;font-size:clamp(2rem,7.4vw,3.4rem)}
.intro p,.intro .lead,.intro .help{color:#fff}
.intro .lead{font-size:1.1rem;font-weight:650}
.intro .help{font-size:.92rem}
.intro .primary{min-height:58px;padding-inline:26px;border-radius:16px;color:var(--t-navy);background:var(--t-lime);font-size:1.08rem;font-weight:850}
.intro .primary:hover{background:#fff}
.studio-art{min-height:0;padding:16px;border-radius:18px;color:var(--t-navy);background:#fff;box-shadow:none}
.art-title{font-size:.85rem;letter-spacing:0}
.stamp{color:var(--t-navy);background:var(--t-lime);font-size:.9rem;font-weight:800;box-shadow:none}
.lab-cards{gap:10px}
.lab-card{padding:16px;border:0;border-radius:18px;background:#fff;box-shadow:0 8px 22px rgb(11 47 71/8%)}
.lab-card span{display:grid;place-items:center;width:38px;height:38px;margin-bottom:10px;border-radius:50%;color:var(--t-navy);background:var(--t-chip);font-size:.9rem;font-weight:800}
.lab-card h2{font-size:1.05rem}
.lab-card p{margin:0;font-size:.95rem;color:var(--t-soft)}

/* Titolo del passaggio */
.review-top{margin:0 0 8px}
.workspace-head{align-items:center;gap:12px;padding:18px 18px 10px;border-radius:22px 22px 0 0;color:#fff;background:var(--t-navy)}
.workspace-head .eyebrow{width:fit-content;margin:0 0 10px;padding:5px 12px;border-radius:99px;color:var(--t-navy);background:var(--t-lime);font-size:.9rem;font-weight:800}
.workspace-head h1{margin:0;color:#fff;font-size:clamp(1.6rem,5.4vw,2.5rem);letter-spacing:-.03em}
.step-count{padding:5px 12px;border:1.5px solid rgb(255 255 255/55%);border-radius:99px;color:#fff;font-size:.88rem;font-weight:650}
.instruction{max-width:none;margin:-1px 0 14px;padding:4px 18px 18px;border-radius:0 0 22px 22px;color:#fff;background:var(--t-navy);font-size:1.02rem;line-height:1.5}

/* Scelte e riscontri */
.options{gap:10px}
.option{min-height:0;padding:14px 44px 14px 16px;border:2px solid var(--t-line);border-radius:16px;color:var(--t-ink);background:#fff}
.option strong{margin-bottom:3px;padding-right:0;font-size:1.03rem;font-weight:750;line-height:1.3;color:var(--t-navy)}
.option small{font-size:.94rem;line-height:1.4;color:var(--t-soft);white-space:pre-line}
.option:hover{border-color:var(--t-navy);background:#fff}
.option[aria-pressed=true]{padding:14px 44px 14px 16px;border:2px solid var(--t-navy);background:var(--t-lime)}
.option[aria-pressed=true] small{color:var(--t-ink)}
.option[aria-pressed=true]:after{top:50%;right:12px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;color:#fff;background:var(--t-navy);font-size:.8rem;transform:translateY(-50%)}
.live-result{border-left:5px solid var(--t-green);border-radius:0 14px 14px 0;color:var(--t-ink);background:#fff;font-size:1rem}
.brief{border-radius:14px;color:var(--t-ink);background:var(--t-chip);font-size:1rem}
.weather{border:0;border-left:5px solid #a35a00;border-radius:0 14px 14px 0;color:var(--t-ink);background:#fff3d6;font-size:1rem}
.notice{color:var(--t-ink);font-size:1rem}
.optional summary{padding:10px 0;color:var(--t-navy);font-size:1rem;font-weight:750}
.optional label{font-size:.95rem;font-weight:750;color:var(--t-navy)}

/* Il lavoro che prende forma */
.card,.timeline,.offer-card,.interests{border:0;border-radius:22px;background:#fff;box-shadow:0 10px 30px rgb(11 47 71/10%)}
.card .eyebrow,.timeline .eyebrow,.receipt .eyebrow,.offer-card .eyebrow,.ai-draft .eyebrow{width:fit-content;padding:4px 11px;border-radius:99px;color:var(--t-navy);background:var(--t-chip);font-size:.88rem;font-weight:750}
.fact{border-left:5px solid #a35a00;font-size:1rem}
.canvas{border-radius:22px}
.map-pin{border:2px solid var(--t-navy);color:var(--t-navy);background:#fff;font-size:.9rem;font-weight:750}
.map-pin[aria-pressed=true]{border:2px solid #fff;color:var(--t-navy);background:var(--t-lime)}
.map-labels p{font-size:.98rem;border-top-color:#b3c6b8}
.map-labels small{font-size:.88rem;color:var(--t-soft)}
.map-caption{font-size:.82rem;color:var(--t-soft)}
.palette-label{font-size:.88rem;font-weight:750;letter-spacing:0;text-transform:none;color:var(--t-soft)}
.story-card h2{font-size:1.55rem;letter-spacing:-.02em}
.seasons figcaption{font-size:.85rem}
.chat{border-radius:22px;background:var(--t-chip)}
.chat-label{margin-bottom:16px;font-size:.88rem;letter-spacing:0;color:var(--t-navy)}
.bubble p{font-size:1.05rem}
.bubble small{font-size:.92rem;color:var(--t-soft)}
.bubble.you{background:var(--t-navy)}
.bubble.you small{color:#e3edf2}
.question-support{font-size:.95rem}
.avatar{color:#fff;background:var(--t-navy)}
.timeline h2{font-size:1.45rem;letter-spacing:-.02em}
.timeline-row{font-size:1rem;border-bottom-color:var(--t-line)}
.timeline-row strong{color:var(--t-green)}
.timeline-row.changed{background:#dff3c2}
.timeline-row.needs-change{border-left:5px solid #a35a00;background:#fff3d6}
.timeline-row.changed strong,.timeline-row.needs-change strong{color:var(--t-navy)}
.receipt{border:0;border-radius:22px;background:#fff;box-shadow:6px 7px 0 var(--t-line)}
.receipt h2{font-size:1.6rem;letter-spacing:-.02em}
.receipt-line{font-size:1rem;border-bottom-color:var(--t-line)}
.receipt-person{background:var(--t-navy)}
.receipt-person small{font-size:.9rem}
.sim-number{font-size:.95rem}
.sim-number button{width:44px;height:44px;border:2px solid var(--t-navy);border-radius:12px;color:var(--t-navy);background:#fff;font-weight:800}
.sim-number button:disabled{border-color:var(--t-chip);color:#4b5f6b;background:var(--t-chip)}
.services-list{font-size:1rem}
.correction{border-radius:14px;background:var(--t-pale)}
.offer-card .correction{background:var(--t-pale)}
.poster-top{font-size:.82rem;letter-spacing:0}
.poster p{font-size:1rem}
.poster-meta{font-size:.92rem}
.cta{padding:9px 16px;color:#fff;background:var(--t-navy);font-size:.92rem;font-weight:750;letter-spacing:0}
.ai-draft{border-radius:18px}
.ai-draft blockquote{font-size:1.3rem;color:var(--t-navy)}
.ai-draft p{font-size:1rem}

/* Raccolta finale */
.finish-head{margin:8px 0 14px;padding:26px 22px;border-radius:22px;color:#fff;background:linear-gradient(150deg,#0b2f47 0%,#103f58 60%,#0f4f58 100%)}
.finish-head .eyebrow{width:fit-content;padding:6px 13px;border-radius:99px;color:var(--t-navy);background:var(--t-lime);font-weight:800}
.finish-head h1{color:#fff;font-size:clamp(1.9rem,6vw,2.9rem)}
.finish-head p{color:#fff;font-size:1.05rem}
.finish-symbol{color:var(--t-lime)}
.collection{gap:12px}
.collection .card{padding:18px}
.collection h2{font-size:1.3rem;letter-spacing:-.01em}
.collection p{font-size:1rem}
.pill{padding:4px 11px;border-radius:99px;color:var(--t-navy);background:var(--t-chip);font-size:.88rem;font-weight:750}
.interests{margin:14px 0;padding:22px 18px}
.interests h2{font-size:1.45rem;letter-spacing:-.02em}
.interest-options button{min-height:48px;border:2px solid var(--t-line);border-radius:14px;color:var(--t-navy);background:#fff;font-size:1rem;font-weight:750}
.interest-options button[aria-pressed=true]{border-color:var(--t-navy);color:var(--t-navy);background:var(--t-lime)}
.reflection{font-size:1rem}
.certificate-call p{font-size:.95rem}
.certificate-call a.secondary{display:inline-flex;align-items:center;justify-content:center}

/* Piè di pagina e finestre */
footer{font-size:.88rem;color:var(--t-soft)}
footer summary{padding:10px 0;color:var(--t-navy);font-size:.95rem;font-weight:750}
footer details p{font-size:.95rem}
footer a{color:var(--t-navy);font-size:.95rem;font-weight:700}
dialog{padding:22px 20px;border:0;border-radius:22px;color:var(--t-ink);background:#fff}
dialog::backdrop{background:rgb(11 47 71/62%)}
dialog h2{font-size:1.4rem;letter-spacing:-.02em}
dialog h3{font-size:1.1rem}
dialog label{font-size:.95rem;font-weight:750;color:var(--t-navy)}
dialog input,dialog select,dialog textarea{font-weight:500}
.dialog-head .eyebrow{margin-bottom:6px}
.context{border-radius:12px;color:var(--t-navy);background:var(--t-chip);font-size:.95rem;font-weight:650}
.note-item{border-bottom-color:var(--t-line)}
.note-item p{font-size:1rem}
.note-item small{font-size:.85rem;color:var(--t-soft)}
.field-help{font-size:.92rem;color:var(--t-soft)}
#classCode::placeholder{font-size:1rem;font-weight:500;letter-spacing:0;text-transform:none}
#classIdentity{font-size:1rem}
#classIdentity[data-recognized="true"]{color:var(--t-navy);background:var(--t-lime)}

@media(max-width:850px){
 .nav-lab{font-size:.85rem}
}
@media(max-width:620px){
 body{font-size:16px}
 .demo-bar{display:flex;padding:0 16px;font-size:.82rem}
 .demo-bar span:first-child{display:none}
 .demo-bar span:last-child{margin:0}
 .demo-bar a{display:inline-flex;align-items:center;min-height:40px}
 .site-header{align-items:center;padding:10px 16px 8px}
 .brand{font-size:1.25rem}
 .brand small{max-width:none;font-size:.82rem}
 .site-header .quiet{flex:0 0 auto;max-width:none;padding:8px 12px;font-size:.92rem;white-space:nowrap}
 .brand{min-width:0}
 .status-line{flex-direction:row;align-items:center;gap:10px;padding:0 16px 10px;font-size:.82rem}
 .status-line #saved{flex:1 1 0}
 .status-line .quiet{flex:0 0 auto;padding:8px 12px}
 .nav-lab{display:grid;justify-items:center;align-content:center;gap:1px;min-height:54px;padding:6px 2px;border-radius:14px;font-size:.82rem;line-height:1.15;text-align:center;overflow-wrap:normal}
 .nav-lab strong{margin:0;font-size:.95rem}
 .nav-short{font-size:.82rem}
 .nav-lab .done{display:none}
 .intro{padding:22px 18px;gap:18px}
 .intro h1{margin-bottom:14px;font-size:clamp(2rem,9vw,2.6rem)}
 .intro .lead{font-size:1.08rem}
 .intro .help{font-size:.92rem}
 .studio-art{padding:12px}
 .studio-art svg{max-height:190px}
 .lab-cards{grid-template-columns:1fr;margin-top:0}
 .lab-card{display:grid;grid-template-columns:44px 1fr;column-gap:12px;align-items:center;padding:12px 14px}
 .lab-card span{grid-row:1/3;width:44px;height:44px;margin:0}
 .lab-card h2{margin:0;font-size:1.05rem}
 .lab-card p{font-size:.95rem}
 .workspace-head{position:relative;display:block;padding:16px 16px 8px}
 .workspace-head .eyebrow{max-width:calc(100% - 112px)}
 .eyebrow-lab{display:none}
 .step-count{position:absolute;top:16px;right:16px}
 .workspace-head h1{font-size:clamp(1.6rem,6.6vw,2.1rem)}
 .step-count{padding:5px 10px;font-size:.85rem}
 .eyebrow{font-size:.9rem;letter-spacing:0}
 .instruction{padding:4px 16px 16px;font-size:1rem}
 .option{padding:13px 42px 13px 14px;min-height:0}
 .option[aria-pressed=true]{padding:13px 42px 13px 14px}
 .option strong{font-size:1.03rem}
 .option small{font-size:.94rem}
 .card,.chat{padding:18px}
 .bubble p{font-size:1.03rem}
 .map-pin{padding:8px 10px;font-size:.82rem}
 .map-labels p{font-size:.95rem}
 .next-row{left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));gap:6px 8px;padding:8px;border:0;border-radius:20px;background:#fff;box-shadow:0 14px 40px rgb(3 24 38/35%)}
 .next-row .subtle{font-size:.85rem;color:var(--t-soft)}
 .next-row .secondary{flex:0 0 52px;min-height:52px;padding:0;border:0;background:var(--t-chip);font-size:0}
 .next-row .secondary::before{content:"←";color:var(--t-navy);font-size:1.4rem}
 .next-row .primary{flex:1 1 0;max-width:none;min-height:52px;padding:8px 14px;gap:10px;font-size:1rem}
 body:has(.next-row){padding-bottom:128px}
 .certificate-call{display:grid;gap:12px;justify-items:start}
 .certificate-call p{margin:0}
 .finish-head{padding:22px 18px}
 .finish-head h1{font-size:clamp(1.9rem,8vw,2.4rem)}
 .interests h2{font-size:1.4rem}
 .poster h2{font-size:1.7rem}
 .dialog-head{align-items:center}
 .dialog-head h2{font-size:1.35rem}
 dialog{padding:20px 18px}
}
