.loto-app{max-width:1040px;margin:auto;color:#203830}.loto-app *{box-sizing:border-box}.loto-app [hidden]{display:none!important}.loto-app label{font-size:.87rem;font-weight:650;margin:0 0 4px;display:block}.loto-app .form-control{height:40px;padding:6px 10px;border:2px solid #718e83;border-radius:5px;color:#203830;background-color:#fff;width:100%;font-size:.95rem}.loto-app select.form-control{appearance:auto!important;cursor:pointer;padding-right:24px!important}.loto-options{display:flex;gap:14px;flex-wrap:wrap;align-items:end}.loto-options label{min-width:170px;max-width:330px;flex:1}.loto-options select{margin-top:4px}.loto-note{font-size:.82rem;color:#52675e;line-height:1.4}.loto-app #loto-help{margin:6px 0 12px}.loto-toolbar{display:grid;grid-template-columns:minmax(240px,1.1fr) minmax(220px,1fr);gap:20px;border:1px solid #d5e1da;background:#f5f9f6;padding:12px;border-radius:8px;margin-bottom:14px}.loto-number-entry{display:flex;gap:7px}.loto-number-entry input{min-width:50px;max-width:105px;font-size:1.2rem!important}.loto-app .btn{border-radius:5px;font-size:.84rem;padding:8px 12px;line-height:1.3;white-space:normal}.loto-app .btn-primary{background:#176c50;border:1px solid #176c50;color:#fff}.loto-app .btn-secondary{background:#f7faf8;border:1px solid #9caf9f;color:#244b36}.loto-app button:disabled{opacity:.5;cursor:not-allowed}.loto-app small{font-size:.75rem;line-height:1.35;color:#52675e;display:block;margin-top:4px}.loto-navigation{display:flex;align-items:center;gap:7px;margin-top:5px}.loto-navigation .btn{padding:2px 10px}.loto-navigation strong{font-size:.75rem;font-weight:500;flex:1;text-align:center}.loto-workbench{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}.loto-line-help{font-size:.8rem;margin:0 0 5px}.loto-rows{display:flex;gap:6px;margin:0 0 8px}.loto-row-choice{flex:1;min-width:0;padding:8px 3px;border:1px solid #a4bbae;background:#f4f8f5;color:#375541;border-radius:5px;cursor:pointer;font-size:.82rem;font-weight:650}.loto-row-choice[aria-pressed=true]{background:#176c50;border-color:#176c50;color:white}.loto-card{border:1px solid #b5cbbd;background:#fff;border-radius:5px;padding:8px;margin:0}.loto-card h3{font-size:.9rem;margin:0 0 5px;color:#244b36}.loto-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:2px}.loto-col{font-size:.65rem;text-align:center;white-space:nowrap;color:#52675e}.loto-cell{width:100%;min-width:0;height:31px;padding:0;border:1px solid #a4bbae;background:#edf3ee;color:#263c2d;cursor:pointer;font-size:1rem}.loto-cell.loto-active-row{background:#d4eadd;border-color:#176c50}.loto-cell.loto-filled{font-weight:700;background:white}.loto-cell.loto-filled.loto-active-row{background:#e2f2e7}.loto-cell[aria-invalid=true]{border:2px solid #b42318;background:#fff0ed}.loto-row-status{display:none}.loto-app .loto-correction-help{font-size:.73rem}#loto-entry-status{min-height:1.4em;margin:5px 0;font-size:.78rem;color:#35675c}.loto-app .loto-bad{color:#b42318!important}.loto-number-palette{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px}.loto-number-choice{min-width:0;height:32px;padding:0;border:1px solid #a4bbae;border-radius:4px;background:white;color:#1b4030;font-size:.95rem;font-weight:650;cursor:pointer}.loto-number-choice:hover:not(:disabled){background:#d4eadd;border-color:#176c50}.loto-app .loto-number-choice:disabled{opacity:1;background:#f0f2f0;color:#9aa69f;border-color:#e0e5e1}.loto-app .loto-number-choice.loto-used{background:#daebdf;color:#467653;border-color:#b4d0bd;text-decoration:line-through}.loto-app button:focus-visible,.loto-app input:focus,.loto-app select:focus{outline:2px solid #176c50;outline-offset:2px}.loto-edit-actions,.loto-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.loto-actions{justify-content:space-between}.loto-gallery-panel{border-left:1px solid #d5e1da;padding-left:16px}.loto-gallery-panel h2{font-size:1rem;margin:0 0 4px}.loto-gallery-panel .loto-note{margin:0 0 8px;font-size:.75rem}#loto-gallery{display:flex;flex-direction:column;gap:8px;max-height:650px;overflow:auto;padding:3px}.loto-mini{display:block;width:100%;padding:4px;border:2px solid #3e7b50;border-radius:3px;background:#4d965a;color:#fff;text-align:left;cursor:pointer}.loto-mini[aria-current=true]{outline:2px solid #174b2b;outline-offset:1px}.loto-mini-title{display:block;font-size:11px;line-height:16px;margin-bottom:2px;font-weight:650}.loto-mini-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:1px}.loto-mini-cell{height:20px;line-height:20px;background:#367b44;border:1px solid #73a67a;text-align:center;font-size:13px;color:transparent}.loto-mini-cell.has-number{background:#fff;color:#172d1c;font-weight:650;border-color:#e0e8df}.loto-mini-incomplete .loto-mini-title::after{content:' · en cours'}.loto-gallery-empty{padding:18px 8px;background:#f5f9f6;border:1px dashed #b5cbbd;border-radius:5px;font-size:.8rem;color:#52675e}#loto-progress{font-size:.83rem;margin:10px 0}#loto-errors{padding:10px 12px;background:#fff0ed;border:1px solid #b42318;color:#841b12;border-radius:5px;font-size:.88rem}#loto-errors p{margin:0}#loto-errors ul{margin:5px 0 0;padding-left:20px}#loto-errors.loto-success{background:#e8f5eb;border-color:#3b8a4b;color:#205c2e}.loto-product-link{margin:1rem 0}.loto-cart-preview{margin:16px 0;padding:14px;border:1px solid #b5cbbd;border-radius:6px;background:#fff;color:#203830}.loto-cart-preview h3{font-size:1rem;margin:0 0 8px}.loto-cart-preview summary{cursor:pointer;font-weight:600;margin-bottom:8px}.loto-cart-cards{display:flex;flex-direction:column;gap:8px;max-width:330px}.loto-cart-cards .loto-mini{cursor:default}.loto-cart-preview-note{font-size:.8rem;color:#52675e;margin:6px 0}.loto-cart-preview [hidden]{display:none!important}@media(max-width:760px){.loto-workbench{grid-template-columns:minmax(0,1fr)}.loto-gallery-panel{border-left:0;border-top:1px solid #d5e1da;padding:12px 0 0}.loto-gallery-panel #loto-gallery{max-height:none;max-width:330px}.loto-toolbar{grid-template-columns:minmax(0,1fr);gap:10px}.loto-options{gap:8px}.loto-options label{min-width:140px}.loto-app .loto-col{font-size:.57rem}.loto-number-choice{height:35px;font-size:.85rem}.loto-actions .btn{flex:1}.loto-app .loto-mini-cell{height:23px;line-height:23px}.loto-cart-preview{padding:10px}}
/* High-contrast palette: available, temporarily blocked, already used. */
.loto-app .loto-number-choice{background:#173b58;color:#fff;border:2px solid #173b58;font-size:1.05rem;font-weight:750}.loto-app .loto-number-choice:hover:not(:disabled){background:#0b2439;color:#fff;border-color:#0b2439}.loto-app .loto-number-choice:disabled{background:#c5c9ce;color:#262b31;border:2px solid #747b85;opacity:1}.loto-app .loto-number-choice.loto-used:disabled{background:#fff;color:transparent;border:1px solid #d5d9de;text-decoration:none;cursor:default}.loto-remaining{font-size:.83rem;font-weight:700;margin:6px 0;color:#173b58}.loto-palette-legend{display:flex;gap:5px 10px;flex-wrap:wrap;margin:5px 0 8px;font-size:.71rem}.loto-palette-legend span{padding:3px 5px;border-radius:3px}.loto-legend-available{background:#173b58;color:#fff}.loto-legend-blocked{background:#c5c9ce;color:#262b31;border:1px solid #747b85}.loto-legend-used{background:#fff;color:#334155;border:1px solid #b5bec9}.loto-app .loto-row-choice[aria-pressed=true]{background:#173b58;border-color:#173b58;color:#fff}.loto-cell.loto-active-row{background:#d9e8f7;border:2px solid #173b58}.loto-cell.loto-filled.loto-active-row{background:#d9e8f7}.loto-app .loto-cell.loto-filled{color:#102d46;font-weight:750}
.loto-app .loto-number-palette{width:100%;max-width:480px}.loto-app .loto-number-choice{aspect-ratio:1 / 1;height:auto!important;min-height:0;display:flex;align-items:center;justify-content:center}.loto-guidance{padding:12px;border:2px solid #975800;border-radius:5px;background:#fff4cf;color:#593800;font-size:.87rem;line-height:1.55;font-weight:550;margin:8px 0}
.loto-options input{margin-top:4px}.loto-options label:has(#loto-first-card){max-width:210px}#loto-label-status{margin:6px 0;font-size:.8rem;color:#244b36}.loto-mini-title{overflow-wrap:anywhere;line-height:1.35;min-height:16px}
/* Group related controls and keep the editor aligned with its square keypad. */
.loto-app fieldset{min-width:0}.loto-app fieldset legend{float:none;width:auto;margin:0 0 5px;padding:0 5px;font-size:.85rem;font-weight:750;color:inherit}.loto-settings{border:1px solid #8aaa96;border-radius:7px;padding:10px;background:#f4f9f5;margin:0 0 12px}.loto-toolbar{border:0;background:transparent;padding:0;gap:12px;grid-template-columns:1fr 1fr}.loto-control-group{border:2px solid;border-radius:7px;padding:10px;margin:0}.loto-entry-group{border-color:#173b58;background:#edf4fb}.loto-entry-group #loto-add-number{background:#173b58;border-color:#173b58}.loto-nav-group{border-color:#b47a1b;background:#fff8e9}.loto-nav-group .btn-secondary{border-color:#b47a1b;color:#713d00;background:#ffedc7}.loto-app .loto-workbench{grid-template-columns:minmax(0,480px) minmax(0,1fr);gap:18px}.loto-editor #loto-grids,.loto-editor .loto-rows,.loto-editor .loto-line-help,.loto-editor .loto-edit-actions{width:100%;max-width:480px}.loto-edit-actions{border:1px solid #879ba9;background:#f5f7fa;border-radius:6px;padding:8px;display:block}.loto-edit-actions .btn{margin:0 5px 3px 0}.loto-edit-actions #loto-clear{border-color:#a24438;color:#812a22;background:#fff5f3}.loto-finish-group{margin-top:12px;padding:10px;border:1px solid #71997c;border-radius:7px;background:#f4faf5}.loto-gallery-panel{padding-left:12px}.loto-gallery-panel #loto-gallery{display:flex;flex-direction:row;gap:12px;max-height:none;max-width:none;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-color:#173b58 #e3e9ef;scrollbar-width:auto;padding:4px 3px 14px;align-items:flex-start}.loto-gallery-page{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;flex:0 0 100%;min-width:0;scroll-snap-align:start;align-content:start}.loto-gallery-page-title{grid-column:1/-1;margin:0;font-size:.8rem;font-weight:700;color:#375541}.loto-gallery-page .loto-mini{min-width:0}.loto-gallery-empty{flex:0 0 100%}.loto-gallery-panel #loto-gallery::-webkit-scrollbar{height:12px}.loto-gallery-panel #loto-gallery::-webkit-scrollbar-thumb{background:#173b58;border:2px solid #e3e9ef;border-radius:8px}.loto-gallery-panel #loto-gallery::-webkit-scrollbar-track{background:#e3e9ef;border-radius:8px}@media(max-width:760px){.loto-app .loto-workbench{grid-template-columns:minmax(0,1fr)}.loto-toolbar{grid-template-columns:minmax(0,1fr)}.loto-gallery-panel{padding-left:0}.loto-gallery-page .loto-mini{padding:3px}.loto-gallery-page .loto-mini-cell{font-size:11px;height:21px;line-height:21px}.loto-gallery-page .loto-mini-title{font-size:10px}}
@media(max-width:480px){.loto-gallery-page{grid-template-columns:minmax(0,1fr)}.loto-gallery-page .loto-mini-cell{font-size:13px}.loto-gallery-page .loto-mini-title{font-size:11px}}
.loto-complete-help{padding:9px;border:1px solid #3b8a4b;border-radius:5px;background:#e8f5eb;color:#205c2e;font-size:.82rem;line-height:1.45;margin:7px 0}
/* One ensemble per vertical column: 1–6, then 7–12 to its right. */
.loto-gallery-panel #loto-gallery{align-items:flex-start}.loto-gallery-page.loto-gallery-column{display:flex;flex-direction:column;flex:0 0 calc((100% - 12px)/2);gap:8px;min-width:0}.loto-gallery-column .loto-gallery-page-title{margin-bottom:0}.loto-auto-group{width:100%;max-width:480px;padding:9px;border:2px solid #49689b;border-radius:6px;background:#f0f5ff;margin:9px 0}.loto-auto-group legend{color:#173b58}.loto-auto-group #loto-auto-scope{font-size:.78rem;margin:0 0 6px;color:#304666}.loto-auto-group .btn-primary{background:#173b58;border-color:#173b58}@media(max-width:480px){.loto-gallery-page.loto-gallery-column{flex-basis:100%}}
