:root{--bg:#f5efe5;--ink:#172019;--muted:#657067;--card:#fffdf8;--line:#d8ddd6;--accent:#2f6f4e;--accent2:#e5b84b;--danger:#a93e3e;--radius:24px;--shadow:0 16px 45px rgba(40,54,43,.12);--button-art:url('/assets/theme/button-primary.svg')}*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}body{margin:0;min-height:100svh}button,input{font:inherit}button{touch-action:manipulation}input{width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:white;font-size:16px}label{display:grid;gap:7px;font-weight:700}.card{background:rgba(255,253,248,.96);border:1px solid rgba(255,255,255,.8);box-shadow:var(--shadow);border-radius:var(--radius)}.stack{display:grid;gap:18px}.button{appearance:none;border:0;border-radius:16px;background:var(--accent);color:#fff;padding:14px 20px;font-weight:800;cursor:pointer;min-height:50px}.button:disabled{opacity:.45;cursor:not-allowed}.button.secondary{background:#e7ede8;color:var(--ink)}.button.danger{background:var(--danger)}.art-button{background-color:transparent;background-image:var(--button-art);background-repeat:no-repeat;background-position:center;background-size:100% 100%;min-height:64px}.art-button span{position:relative;z-index:1}.muted{color:var(--muted)}.tiny{font-size:.78rem;color:var(--muted)}.eyebrow{font-size:.72rem;letter-spacing:.16em;font-weight:900;color:var(--accent);margin:0 0 4px}.hidden{display:none!important}.notice,.form-error{padding:12px 14px;border-radius:12px}.notice.error,.form-error{color:#8b2727;background:#fce8e8}.notice.success{color:#205f3c;background:#e5f4eb}.form-error:empty{display:none}.setup-bg,.educator-bg{display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#f1e8d8,#dcecdf)}.setup-card,.login-card{width:min(520px,100%);padding:28px}.setup-card code{background:#eee8dd;padding:2px 6px;border-radius:5px}.player-bg,.game-bg{background:linear-gradient(180deg,#dff0df,#f8edcf);background-image:url('/assets/theme/screen-bg.svg');background-size:cover;background-position:center}.join-shell{min-height:100svh;display:grid;place-items:center;padding:20px}.join-card{width:min(520px,100%);padding:clamp(22px,5vw,38px)}.join-card h1{margin:.2em 0}.brand-mark{width:90px;height:90px;display:block;margin:auto}.avatar-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.avatar{border:1px solid var(--line);background:#fff;border-radius:14px;font-size:1.7rem;padding:10px 4px;cursor:pointer}.avatar.active{outline:3px solid var(--accent2);transform:translateY(-2px)}fieldset{border:0;padding:0;margin:0}legend{font-weight:800;margin-bottom:8px}.game-shell{width:min(920px,100%);margin:auto;padding:16px;display:grid;gap:14px}.player-header,.board-card,.action-card{background:rgba(255,253,248,.94);border-radius:20px;padding:14px 16px;box-shadow:0 10px 30px rgba(40,54,43,.09)}.player-header{display:flex;justify-content:space-between;align-items:center}.player-header>div:first-child{display:flex;gap:10px;align-items:center}.player-header>div:first-child>div{display:grid}.big-avatar{font-size:2.4rem}.score-pill{background:#eef4ef;border-radius:16px;padding:8px 14px;display:grid;text-align:center}.score-pill span{font-size:.7rem;text-transform:uppercase;color:var(--muted)}.score-pill strong{font-size:1.55rem}.mini-board{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.tile{aspect-ratio:1;display:grid;place-items:center;border-radius:13px;background:#f2eee6;border:1px solid #e2ded6;font-size:.8rem;font-weight:800;position:relative}.tile:nth-child(4n+2){background:#e4f0e5}.tile:nth-child(4n+3){background:#f7e7b7}.tile:nth-child(4n){background:#e8e4f4}.tile.current{outline:3px solid var(--accent);transform:scale(1.04)}.pawn{position:absolute;font-size:1.55rem;filter:drop-shadow(0 3px 3px rgba(0,0,0,.15))}.action-card{text-align:center;display:grid;gap:10px}.action-card .button{width:min(420px,100%);justify-self:center}.dice-result{font-size:1.8rem;min-height:2rem}.quiz-dialog{width:min(620px,calc(100% - 28px));border:0;border-radius:24px;padding:24px;box-shadow:var(--shadow)}.quiz-dialog::backdrop{background:rgba(16,25,19,.55);backdrop-filter:blur(4px)}.quiz-dialog h2{font-size:clamp(1.35rem,4vw,2rem)}.answer-grid{display:grid;gap:10px}.answer{border:1px solid var(--line);background:#fff;border-radius:16px;padding:16px;text-align:left;font-weight:800;cursor:pointer}.answer.correct{background:#dff2e5;border-color:#6da57b}.answer.wrong{background:#f8dfdf;border-color:#c98080}.feedback{min-height:1.5rem;font-weight:800}.admin-top{width:100%;padding:16px clamp(18px,4vw,48px);display:flex;justify-content:space-between;align-items:center;background:#183b2b;color:white}.admin-top div{display:grid}.admin-top span{opacity:.7;font-size:.8rem}.admin-top a{color:white}.admin-shell{width:min(1500px,100%);padding:24px;margin:auto;display:grid;gap:18px}.create-card,.game-summary,.scoreboard-card,.event-card{padding:22px}.create-card,.game-summary{display:flex;justify-content:space-between;gap:20px;align-items:center}.inline-form{display:flex;gap:10px;width:min(620px,100%)}.big-code{font-size:clamp(2rem,6vw,4.5rem);font-weight:1000;letter-spacing:.12em}.join-url{color:var(--muted);word-break:break-all}.game-controls{display:flex;gap:8px;flex-wrap:wrap}.monitor-grid{display:grid;grid-template-columns:1.35fr .8fr;gap:18px;margin-top:18px}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-head h2{margin:0}.status-chip{background:#edf4ef;border-radius:999px;padding:8px 12px;font-weight:800}.scoreboard{display:grid;gap:8px}.score-row{display:grid;grid-template-columns:44px minmax(0,1fr) 90px auto;align-items:center;gap:10px;padding:10px;border-bottom:1px solid #eee7db}.rank{font-weight:1000;font-size:1.3rem}.score-name{display:flex;gap:10px;align-items:center;min-width:0}.score-name>span{font-size:1.7rem}.score-name>div{display:grid;min-width:0}.score-name strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.score-name small{color:var(--muted)}.points{font-size:1.45rem;text-align:right}.score-actions{display:flex;gap:5px}.score-actions button,.text-button{border:1px solid var(--line);background:white;border-radius:9px;padding:6px 9px;cursor:pointer}.events{display:grid;gap:3px}.event-line{display:grid;grid-template-columns:30px 1fr auto;gap:8px;padding:8px 0;border-bottom:1px solid #eee7db;align-items:center}.event-line>div{display:grid}.event-line small,.event-line time{color:var(--muted)}@media(max-width:900px){.monitor-grid{grid-template-columns:1fr}.create-card,.game-summary{align-items:stretch;flex-direction:column}.inline-form{width:100%}}@media(max-width:640px){.avatar-grid{grid-template-columns:repeat(3,1fr)}.mini-board{grid-template-columns:repeat(5,1fr)}.score-row{grid-template-columns:34px minmax(0,1fr) 60px}.score-actions{grid-column:2/-1}.admin-shell{padding:12px}.create-card,.game-summary,.scoreboard-card,.event-card{padding:16px}.inline-form{flex-direction:column}}@media(orientation:landscape) and (max-height:700px){.game-shell{grid-template-columns:1.5fr .8fr;grid-template-areas:'head head' 'board action';align-items:start}.player-header{grid-area:head}.board-card{grid-area:board}.action-card{grid-area:action;position:sticky;top:10px}.mini-board{grid-template-columns:repeat(10,1fr)}}

/* Oca Live v2: caselle riconoscibili, quiz e editor contenuti */
button,select,textarea{font:inherit}select,textarea{width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#fff;font-size:16px}textarea{resize:vertical;min-height:90px}.board-legend,.admin-board-legend{display:flex;gap:8px 14px;flex-wrap:wrap;margin-bottom:12px;font-size:.78rem;color:var(--muted)}.board-legend span,.admin-board-legend span{display:flex;align-items:center;gap:5px}.legend-dot{width:22px;height:22px;border-radius:999px;display:inline-grid;place-items:center;color:#fff;font-size:.78rem}.legend-dot.quiz{background:#6b5aa7}.legend-dot.bonus{background:#287b50}.legend-dot.malus{background:#a64e4e}.legend-dot.move{background:#9b6a24}.tile{overflow:visible}.tile-number{position:relative;z-index:1}.tile-badge{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:999px;display:grid;place-items:center;color:#fff;font-size:.78rem;line-height:1;box-shadow:0 2px 5px rgba(0,0,0,.12)}.tile-badge--quiz{background:#6b5aa7}.tile-badge--bonus{background:#287b50}.tile-badge--malus{background:#a64e4e}.tile-badge--move{background:#9b6a24}.tile--quiz{background:#eee9fa!important;border-color:#c8b9e8}.tile--bonus{background:#e1f2e7!important;border-color:#afd4bb}.tile--malus{background:#f7e2e2!important;border-color:#e4b5b5}.tile--move{background:#f6ead7!important;border-color:#dfc295}.tile.current .pawn{font-size:1.7rem;z-index:4;bottom:-6px;left:50%;transform:translateX(-50%)}.quiz-dialog{padding:0;overflow:hidden}.quiz-modal-inner{padding:clamp(22px,5vw,34px);display:grid;gap:14px}.quiz-dialog .eyebrow{margin:0}.quiz-dialog h2{margin:.1em 0 .35em}.answer{min-height:58px}.answer:disabled{cursor:default}.quiz-live{color:#6b5aa7!important;font-weight:800}.score-row.has-quiz{background:#faf7ff;border-radius:14px}.tile-editor-card{padding:22px}.editor-intro{margin:.25rem 0 0}.tile-editor-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:24px;align-items:start}.admin-board{display:grid;grid-template-columns:repeat(10,minmax(42px,1fr));gap:7px}.admin-tile{aspect-ratio:1;border:1px solid #ded8cc;border-radius:12px;background:#f4f0e8;cursor:pointer;position:relative;font-weight:900;display:grid;place-items:center}.admin-tile b{position:absolute;right:4px;top:4px;width:20px;height:20px;border-radius:999px;color:#fff;display:grid;place-items:center;font-size:.72rem}.admin-tile--quiz{background:#eee9fa;border-color:#c8b9e8}.admin-tile--quiz b{background:#6b5aa7}.admin-tile--bonus{background:#e1f2e7;border-color:#afd4bb}.admin-tile--bonus b{background:#287b50}.admin-tile--malus{background:#f7e2e2;border-color:#e4b5b5}.admin-tile--malus b{background:#a64e4e}.admin-tile--move{background:#f6ead7;border-color:#dfc295}.admin-tile--move b{background:#9b6a24}.admin-tile.selected{outline:3px solid var(--accent);outline-offset:1px}.admin-board-legend{margin:12px 0 0}.tile-form{display:grid;gap:12px;padding:18px;background:#f8f5ef;border:1px solid #e7e0d5;border-radius:18px;position:sticky;top:16px}.type-fields{display:grid;gap:12px}.answer-editor{display:grid;grid-template-columns:1fr 1fr;gap:10px}.small-dialog{width:min(520px,calc(100% - 28px));border:0;border-radius:22px;padding:24px;box-shadow:var(--shadow)}.small-dialog::backdrop{background:rgba(16,25,19,.5);backdrop-filter:blur(3px)}.small-dialog form{display:grid;gap:14px}.small-dialog h2{margin:0}.dialog-actions{display:flex;justify-content:flex-end;gap:8px}.score-actions{flex-wrap:wrap}.score-actions button{white-space:nowrap}
@media(max-width:1100px){.tile-editor-layout{grid-template-columns:1fr}.tile-form{position:static}.admin-board{grid-template-columns:repeat(10,1fr)}}
@media(max-width:700px){.admin-board{grid-template-columns:repeat(6,1fr)}.answer-editor{grid-template-columns:1fr}.board-legend{font-size:.72rem}.tile-badge{width:19px;height:19px;font-size:.68rem}.tile-editor-card{padding:16px}}

/* Oca Live v3 — percorso illustrato responsivo + regia separata */
.educator-bg.educator-app{display:block;place-items:initial;padding:0;min-height:100svh}.admin-nav{display:flex;align-items:center;gap:8px}.admin-nav-btn{border:0;background:transparent;color:#d8e8df;padding:9px 12px;border-radius:10px;font-weight:800;cursor:pointer}.admin-nav-btn.active{background:rgba(255,255,255,.14);color:#fff}.admin-tab{display:none}.admin-tab.active{display:grid;gap:18px}.monitor-button{background:#254f7a}.editor-board-head{display:grid;gap:3px;margin-bottom:10px}
.board-card--illustrated{padding:12px}.board-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:2px 2px 10px}.board-toolbar>div:first-child{display:grid}.screen-switch{display:flex;align-items:center;gap:8px}.screen-switch button{width:40px;height:40px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:1.55rem;line-height:1;cursor:pointer}.screen-switch button:disabled{opacity:.35;cursor:default}.screen-switch span{min-width:52px;text-align:center;font-weight:900}
.path-board{display:grid;gap:16px}.path-board--single{grid-template-columns:1fr}.path-board-page{position:relative;width:100%;overflow:hidden;border-radius:18px;background:#174f11;container-type:inline-size;box-shadow:0 10px 28px rgba(15,50,18,.15)}.path-board-bg{display:block;width:100%;height:auto;user-select:none;-webkit-user-drag:none}.path-marker{position:absolute;transform:translate(-50%,-50%);width:8.4cqw;aspect-ratio:1;border:0;padding:0;background:transparent;z-index:3;filter:drop-shadow(0 .45cqw .55cqw rgba(0,0,0,.22));overflow:visible}.path-marker__art{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.path-marker__cover{position:absolute;width:57%;height:57%;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:#1e513e;z-index:1}.path-marker__number{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-weight:1000;font-size:3.05cqw;line-height:1;z-index:2;text-shadow:0 1px 1px rgba(0,0,0,.18)}.path-marker__quiz{position:absolute;width:53%;height:53%;right:-26%;top:-24%;z-index:5;object-fit:contain;filter:drop-shadow(0 .3cqw .35cqw rgba(0,0,0,.2));pointer-events:none}.path-marker__badge{position:absolute;right:-16%;top:-12%;width:39%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:1000;font-size:1.7cqw;z-index:5;border:.35cqw solid #fff;box-shadow:0 .2cqw .5cqw rgba(0,0,0,.18)}.path-marker__badge--bonus{background:#207343}.path-marker__badge--malus{background:#9a3939}.path-marker__badge--move{background:#9a6726}.path-marker__pawns{position:absolute;left:50%;bottom:-45%;transform:translateX(-50%);display:flex;justify-content:center;gap:.15cqw;z-index:8;min-width:130%;pointer-events:none}.board-pawn{font-size:3.1cqw;line-height:1;filter:drop-shadow(0 .25cqw .22cqw rgba(0,0,0,.28));transform:translateY(calc(var(--pawn-index,0) * .2cqw))}.board-pawn--more{font-size:1.35cqw;background:#fff;color:#17391f;padding:.35cqw .45cqw;border-radius:999px;font-weight:900}.path-marker.is-selected{outline:.65cqw solid #f4c84d;outline-offset:.2cqw;border-radius:50%}.path-marker.is-selected .path-marker__cover{background:#154832}
.path-board--editor{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.path-board--editor .path-marker{cursor:pointer}.path-board--editor .path-marker:hover{transform:translate(-50%,-50%) scale(1.08)}.tile-editor-layout--visual{grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr)}

/* Monitor pubblico: nessuna domanda/risposta viene inviata alla pagina di proiezione. */
.monitor-bg{margin:0;min-height:100svh;background:#0d2f11;color:#fff}.projection-shell{min-height:100svh;padding:clamp(12px,2vw,26px);display:grid;grid-template-rows:auto 1fr;gap:14px}.projection-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.projection-head h1{margin:.08em 0;font-size:clamp(1.35rem,2.5vw,2.4rem)}.projection-head .eyebrow{color:#b8dcb4}.projection-head>div:first-child>span{opacity:.72}.projection-status{background:rgba(255,255,255,.11);padding:10px 16px;border-radius:999px;font-weight:900}.projection-grid{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,25vw);gap:16px}.projection-board{min-width:0;overflow:auto}.path-board--projection{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;height:100%}.path-board--projection .path-board-page{max-height:calc(100svh - 110px)}.path-board--projection .path-board-bg{height:min(calc(100svh - 110px),calc((100vw - min(290px,25vw) - 70px) * .787));width:auto;max-width:100%;margin:auto;object-fit:contain}.projection-side{display:grid;grid-template-rows:minmax(0,1.35fr) minmax(180px,.65fr);gap:14px;min-height:0}.projection-card{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:15px;overflow:auto}.projection-card h2{margin:0 0 10px}.projection-scores{display:grid;gap:7px}.projection-score{display:grid;grid-template-columns:32px 38px minmax(0,1fr) auto;align-items:center;gap:8px;background:rgba(255,255,255,.075);border-radius:13px;padding:9px 10px}.projection-score.is-quiz{outline:2px solid rgba(239,207,111,.6)}.projection-rank{font-size:1.2rem;font-weight:1000}.projection-avatar{font-size:1.6rem}.projection-score>div{display:grid;min-width:0}.projection-score strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.projection-score small{opacity:.7}.projection-score b{font-size:1.45rem}.projection-events{display:grid;gap:7px}.projection-event{display:grid;grid-template-columns:28px 1fr;gap:8px;padding-bottom:7px;border-bottom:1px solid rgba(255,255,255,.09)}.projection-event>div{display:grid}.projection-event small{opacity:.7}.projection-error{position:fixed;bottom:12px;left:12px;color:#ffd9d9}

@media(max-width:1100px){.tile-editor-layout--visual{grid-template-columns:1fr}.path-board--editor{grid-template-columns:repeat(2,minmax(0,1fr))}.projection-grid{grid-template-columns:1fr}.projection-side{grid-template-columns:1fr 1fr;grid-template-rows:auto}.path-board--projection .path-board-page{max-height:none}.path-board--projection .path-board-bg{height:auto;width:100%}}
@media(max-width:760px){.admin-top{align-items:flex-start;gap:10px;flex-direction:column}.admin-nav{width:100%;overflow:auto}.path-board--editor{grid-template-columns:1fr}.path-board--projection{grid-template-columns:1fr}.projection-side{grid-template-columns:1fr}.path-marker{width:9.2cqw}.path-marker__number{font-size:3.35cqw}.path-marker__badge{font-size:1.85cqw}.board-pawn{font-size:3.5cqw}.board-toolbar{align-items:flex-start}.board-toolbar .tiny{max-width:240px}.tile-editor-layout--visual{display:grid}}
@media(max-width:520px){.game-shell{padding:8px}.player-header,.board-card,.action-card{border-radius:16px}.path-marker{width:10.5cqw}.path-marker__number{font-size:3.8cqw}.path-marker__quiz{width:58%;height:58%;right:-31%;top:-27%}.board-pawn{font-size:4cqw}.projection-shell{padding:8px}.projection-head{align-items:flex-start}.projection-status{font-size:.8rem}.admin-nav-btn{white-space:nowrap}}
/* Mantieni l'immagine e il sistema di coordinate nello stesso box: left/top in % restano sempre allineati. */
.path-board--projection .path-board-page{max-height:none}.path-board--projection .path-board-bg{display:block;width:100%;height:auto;max-width:none;margin:0;object-fit:initial}

/* V4 — giochi salvati */
.session-create-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;gap:12px;align-items:end;width:min(100%,760px)}
.session-create-form label,.saved-game-toolbar label{display:grid;gap:6px;font-weight:700}
.saved-game-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,1fr) auto auto;gap:12px;align-items:end;margin:18px 0 22px;padding:16px;border:1px solid rgba(22,62,24,.14);border-radius:18px;background:rgba(255,255,255,.48)}
.saved-game-meta{display:grid;gap:4px;align-self:center}.saved-game-meta span{font-size:.86rem}.checkbox-line{display:flex!important;grid-template-columns:none!important;align-items:center;gap:10px!important;font-weight:600!important}.checkbox-line input{width:auto;margin:0}
@media(max-width:850px){.session-create-form,.saved-game-toolbar{grid-template-columns:1fr}.session-create-form .button,.saved-game-toolbar .button{width:100%}}
