:root{--bg: #e7eef4;--panel: #f7fafc;--line: #c9d6e3;--ink: #0f2744;--dim: #5a6d82;--ok: #1f7a58;--ok-dim: rgba(31, 122, 88, .12);--warn: #c45c26;--bad: #b4233a;--bad-dim: rgba(180, 35, 58, .1);--btn: #c45c26;--btn-ink: #fff8f3;--accent: #0b6e6e}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{display:flex;flex-direction:column;min-height:100dvh;background:radial-gradient(ellipse at top right,#cfe4ef 0%,transparent 46%),radial-gradient(ellipse at bottom left,#f3d9c4 0%,var(--bg) 58%);color:var(--ink);font-family:Segoe UI,system-ui,sans-serif;font-size:1.05rem;line-height:1.45}.iyf-site-nav{position:sticky;top:0;z-index:3000;display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-shrink:0;min-height:52px;padding:max(.4rem,env(safe-area-inset-top)) .85rem .4rem;background:#fff;border-bottom:1px solid #d8dee8}.iyf-site-nav__home{display:flex;align-items:center;min-height:44px;min-width:44px;flex-shrink:0;text-decoration:none}.iyf-site-nav__logo{display:block;height:40px;width:auto;max-width:140px;object-fit:contain}.iyf-site-nav__percorso{margin-left:auto;display:inline-flex;align-items:center;min-height:44px;font-size:clamp(.72rem,2.8vw,.95rem);font-weight:700;letter-spacing:.02em;line-height:1.25;text-align:right;text-decoration:none;color:#133b7a}.iyf-site-nav__percorso:hover,.iyf-site-nav__percorso:focus-visible{text-decoration:underline}#app{flex:1;min-height:0;display:flex;justify-content:center;padding:1rem 1rem max(1.5rem,env(safe-area-inset-bottom))}.panel{width:min(42rem,100%);margin:auto 0;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:1.5rem 1.35rem 1.6rem;box-shadow:0 18px 40px #0f274414}.header-art{margin:-1.5rem -1.35rem 1.1rem}.header-art img{display:block;width:100%;height:auto;aspect-ratio:3 / 1;object-fit:cover;object-position:center}.kicker{margin:0 0 .4rem;color:var(--btn);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}h1{margin:0 0 .9rem;font-size:clamp(1.45rem,4.5vw,2rem);line-height:1.2;font-weight:700}.context,.situation,.question{margin:0 0 1rem;color:var(--ink)}.situation{color:#3d5166}.question{font-weight:700;font-size:1.12rem}.hud{display:flex;justify-content:space-between;gap:.75rem;align-items:baseline}.hud__step{margin:0;color:var(--accent);font-size:.85rem;font-weight:700;white-space:nowrap}.lights{display:flex;gap:.4rem;margin:.75rem 0 1.1rem}.light{flex:1;height:6px;border-radius:99px;background:#dce6ef;border:1px solid var(--line)}.light--done{background:var(--ok);border-color:var(--ok)}.light--now{background:var(--btn);border-color:var(--btn)}.options{display:flex;flex-direction:column;gap:.7rem;margin:0 0 1rem}.opt,.btn{font-family:inherit;font-size:1.05rem;font-weight:650;min-height:3.4rem;padding:.85rem 1rem;border-radius:12px;cursor:pointer;text-align:left}.opt{background:#eef5f8;color:var(--ink);border:1px solid var(--line)}.opt:hover:not(:disabled),.opt:focus-visible{border-color:var(--btn);outline:none}.opt:disabled{cursor:default}.opt--ok{border-color:var(--ok);background:var(--ok-dim);color:var(--ok)}.btn{display:inline-flex;align-items:center;justify-content:center;width:100%;text-align:center;border:1px solid var(--btn)}.btn--primary{background:var(--btn);color:var(--btn-ink)}.btn--ghost{background:transparent;color:var(--dim);border-color:var(--line)}.feedback{margin:0 0 1rem;padding:.85rem 1rem;border-radius:12px;font-size:1rem}.feedback--ok{background:var(--ok-dim);border:1px solid var(--ok);color:#145c3d}.feedback--bad{background:var(--bad-dim);border:1px solid var(--bad);color:#8a2230}.punteggio{margin:1.25rem 0 1.4rem;padding:1.1rem 1rem 1.2rem;text-align:center;border:1px dashed var(--btn);background:#fceee4;border-radius:14px}.punteggio__label{margin:0 0 .35rem;color:var(--dim);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.punteggio__stelle{margin:0;font-size:clamp(2.4rem,11vw,3.6rem);letter-spacing:.08em;line-height:1}.stella{color:var(--line)}.stella--on{color:var(--btn)}.punteggio__dettaglio{margin:.55rem 0 0;color:var(--dim);font-size:.9rem}.panel--fail h1{color:var(--warn)}@media(min-width:640px){.panel{padding:2rem 2rem 1.85rem}.header-art{margin:-2rem -2rem 1.25rem}}
