
:root{font-family:Inter,system-ui,sans-serif;color:#213b35;background:#f4f5f0;font-synthesis:none}*{box-sizing:border-box}body{margin:0}header{padding:24px 5%;border-bottom:1px solid #dce1d8;display:flex;justify-content:space-between;align-items:center;background:#fafbf7}.brand{font-size:21px;font-weight:750;letter-spacing:-.7px}.logo{background:#245c47;color:white;border-radius:10px;padding:5px 10px;margin-right:10px}header small{color:#69766d}.intro{max-width:1340px;margin:35px auto 26px;padding:0 30px}.eyebrow{font-size:11px;letter-spacing:2px;color:#56816a;font-weight:750}h1{font-size:36px;letter-spacing:-1.4px;margin:9px 0}p{color:#68756e;line-height:1.6}.layout{max-width:1340px;margin:0 auto;padding:0 30px 50px;display:grid;grid-template-columns:320px 1fr;gap:30px}.panel{background:white;border:1px solid #dce3da;border-radius:16px;padding:24px;height:fit-content}h2{font-size:17px;margin:0 0 22px}.field{margin-bottom:22px}label.legend{font-size:13px;font-weight:700;display:block;margin-bottom:9px}input[type=text],input[type=number],select{width:100%;padding:11px;border:1px solid #d2dcd2;border-radius:7px;background:#fff;color:#213b35;font:inherit;font-size:14px}input:focus,select:focus,button:focus-visible{outline:3px solid #c6ad5c;outline-offset:2px}.ops{display:grid;grid-template-columns:1fr 1fr;gap:8px}.op{padding:11px;background:#f6f8f3;border:1px solid #dae3d7;border-radius:8px;font-size:13px}.op:has(input:checked){background:#e8f1e8;border-color:#7c9d83}.op input{accent-color:#245c47}button{font:inherit;font-size:13px;cursor:pointer;border-radius:8px;border:1px solid #ccd8cd;background:white;color:#244b3c;padding:11px 15px;font-weight:650}.primary{background:#245c47;color:white;border-color:#245c47;width:100%;padding:14px}.primary:hover{background:#194c38}.hint{font-size:12px;line-height:1.6;color:#748177;margin:10px 0 0}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:17px;flex-wrap:wrap}.tabs{display:flex;background:#e7ebe2;border-radius:9px;padding:4px}.tabs button{border:0;background:transparent;padding:8px 14px}.tabs .active{background:white;box-shadow:0 1px 4px #0001}.actions{display:flex;gap:7px}.paper{background:white;box-shadow:0 4px 25px #23382b0a;border:1px solid #e0e4db;border-radius:3px;padding:45px 48px;min-height:640px;margin-bottom:24px}.paper-top{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #284a3d;padding-bottom:20px;gap:20px}.paper h3{font-size:24px;margin:7px 0;letter-spacing:-.5px;overflow-wrap:anywhere}.badge{font-size:11px;background:#f0f3ed;padding:7px 10px;border-radius:5px;white-space:nowrap}.meta{display:flex;gap:40px;margin:24px 0 28px;font-size:12px;color:#657268}.sums{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}.sum{padding:12px 0;display:flex;align-items:center;font-size:19px;font-variant-numeric:tabular-nums;white-space:nowrap}.num{font-size:10px;color:#8a958d;width:28px}.blank{display:inline-block;width:58px;border-bottom:1px solid #a6b3a9;height:25px;margin-left:8px}.answer{color:#245c47;font-weight:700;margin-left:8px}.paper-footer{font-size:10px;color:#89948b;display:flex;justify-content:space-between;border-top:1px solid #e6eae2;padding-top:15px;margin-top:32px}#message{font-size:12px;color:#496b51;min-height:20px;margin:12px 0}.download{border:0;background:none;font-size:12px;padding:10px 0;text-decoration:underline}.hidden{display:none}@media(max-width:850px){.layout{grid-template-columns:1fr}.panel{width:100%}.paper{padding:25px}h1{font-size:30px}header small{display:none}.sums{gap:0 16px}.sum{font-size:16px}.intro,.layout{padding-left:18px;padding-right:18px}}@page{size:A4;margin:15mm}@media print{body{background:white}header,.intro,.panel,.toolbar,#message,.screen-note{display:none!important}.layout{display:block;padding:0;margin:0;max-width:none}.paper{box-shadow:none;border:0;padding:0;min-height:0;margin:0;break-after:page;border-radius:0}.paper:last-child{break-after:auto}.paper-top{padding-top:4mm}.sum{padding:0;height:8.3mm;font-size:17px}.sums{gap:0 15mm}.paper-footer{margin-top:8mm}.paper h3{font-size:22px}}

nav{max-width:1280px;margin:0 auto 24px;display:flex;gap:10px;flex-wrap:wrap;padding:0 30px}nav button{padding:14px 22px}nav button.active{background:#245c47;color:white;border-color:#245c47}textarea{font:inherit;font-size:13px;width:100%;min-height:220px;resize:vertical;border:1px solid #d2dcd2;border-radius:8px;padding:12px;line-height:1.6}textarea:focus{outline:3px solid #c6ad5c}.wordbank{display:flex;gap:8px 18px;flex-wrap:wrap;font-size:13px;margin-top:24px;line-height:1.6}.puzzle{border-collapse:collapse;margin:24px auto;table-layout:fixed;width:100%;max-width:540px}.puzzle td{text-align:center;aspect-ratio:1;font-weight:600;border:1px solid #e5e9e1;padding:0;height:28px;font-size:16px}.puzzle td.found{background:#d5e6d4!important;font-weight:800;text-decoration:underline}.bingo{width:100%;border-collapse:collapse;table-layout:fixed;margin-top:30px}.bingo td{border:1px solid #9bae9e;text-align:center;height:110px;padding:10px;font-size:18px;overflow-wrap:anywhere}.cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}.card{border:1px dashed #9bae9e;padding:20px;min-height:130px;display:flex;flex-direction:column;justify-content:center;break-inside:avoid;text-align:center;overflow-wrap:anywhere}.card strong{font-size:23px}.card p{font-size:14px;margin:12px 0 0}.printHint{font-size:12px;color:#677569}.hidden,[hidden]{display:none!important}.word-count{font-size:12px;color:#647d68;margin-top:8px}.subtle{background:#f3f6ef;padding:12px;border-radius:8px}.paper{overflow-wrap:anywhere}.module-help{font-size:12px;color:#6e7b72;line-height:1.6}#langMessage{font-size:12px;color:#496b51;margin:12px 0;line-height:1.6}.top-actions{display:flex;gap:10px;align-items:center}@media(max-width:600px){nav{padding:0 18px;gap:6px}nav button{padding:11px;font-size:12px}.puzzle td{font-size:12px;height:22px}.bingo td{font-size:14px;padding:4px;height:75px}.card{padding:12px}.card strong{font-size:18px}header{gap:10px}.brand{font-size:18px}.top-actions button{font-size:11px}}@media print{nav,.top-actions{display:none!important}.puzzle{max-width:160mm;margin:6mm auto}.puzzle td{height:7mm;font-size:13px;color:black}.wordbank{font-size:11px;gap:2mm 5mm}.bingo td{height:32mm;font-size:16px}.cards{gap:4mm}.card{height:44mm;min-height:0;padding:4mm}.card strong{font-size:20px}.card p{font-size:12px}.found{-webkit-print-color-adjust:exact;print-color-adjust:exact}.paper{break-inside:avoid}.printHint{font-size:10px}}
button:disabled{opacity:.6;cursor:wait}.translation-edit{margin-top:12px}.translation-edit textarea{min-height:65px}.translation-text{unicode-bidi:plaintext}#translationStatus{font-size:12px;line-height:1.5;margin:12px 0}#translationEditor{max-height:350px;overflow:auto}@media print{.card{height:auto;min-height:44mm}.card p{margin-top:6px}}

/* Lesatelier · refreshed interface */
@media screen{
:root{--ink:#243f37;--muted:#66756e;--green:#245c47;--line:#e0e6df;--radius:16px;background:#f5f6f2;color:var(--ink);font-family:Inter,"Segoe UI",system-ui,sans-serif;font-size:15px}
body{background:radial-gradient(ellipse at 90% 0%,#e7eee4 0,transparent 42%),#f5f6f2;min-height:100vh}
header{height:84px;padding:0 max(28px,calc((100vw - 1280px)/2));background:#ffffffdb;border-bottom:1px solid var(--line);gap:24px}
.brand{display:flex;align-items:center;font-size:24px;font-weight:750;letter-spacing:-1px;white-space:nowrap}.logo{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:12px;font-size:26px;margin-right:10px;box-shadow:0 4px 10px #245c4715}header small{font-size:12px;color:var(--muted)}
button{min-height:42px;border:1px solid #d7e0d8;border-radius:10px;font-size:13px;font-weight:600;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s}
button:hover{background:#edf3ec;border-color:#a8bcac}button:active{transform:translateY(1px)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b29a51;outline-offset:3px}
#saveApp{background:white;padding:10px 17px;box-shadow:0 2px 3px #223e3504}.top-actions{gap:24px}
.intro{max-width:1340px;margin:0 auto;padding:44px 30px 30px;position:relative}.intro .eyebrow{font-size:10px;letter-spacing:2px;font-weight:750;color:#5c7a65}.intro h1{font-size:clamp(30px,3.4vw,44px);font-weight:650;line-height:1.15;letter-spacing:-1.7px;margin:13px 0 12px}.intro p{font-size:15px;max-width:650px;margin:0;line-height:1.7;color:#64736a}
nav{max-width:1340px;margin:0 auto 28px;padding:0 30px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
nav button{display:flex;align-items:center;gap:12px;text-align:left;padding:17px 18px;background:#ffffffb8;border:1px solid var(--line);border-radius:14px;min-height:82px;box-shadow:0 2px 3px #263d3003}
nav button:hover{background:white;border-color:#95ae9c;box-shadow:0 5px 16px #244b3c08;transform:translateY(-2px)}nav button.active{background:#245c47;color:white;border-color:#245c47;box-shadow:0 6px 16px #245c471b}.module-icon{display:flex;align-items:center;justify-content:center;flex:0 0 37px;height:37px;background:#edf2e9;border-radius:10px;font-size:21px;color:#245c47}.active .module-icon{background:#ffffff1f;color:white}.module-copy{display:flex;flex-direction:column;gap:5px}.module-copy strong{font-size:14px;font-weight:650}.module-copy small{font-size:11px;font-weight:400;color:#6e7b72}.active .module-copy small{color:#d5e6d9}
.layout{grid-template-columns:330px minmax(0,1fr);gap:26px;padding-bottom:60px;align-items:start}.layout>section{min-width:0;background:#e9ede6;border:1px solid #dfe5dc;border-radius:18px;padding:20px 24px 12px}.panel{padding:25px;border:1px solid #e0e6df;border-radius:18px;box-shadow:0 5px 20px #273e3305;background:#fff}h2{font-size:17px;letter-spacing:-.4px;font-weight:650;margin:0 0 24px;padding-bottom:17px;border-bottom:1px solid #edf0e9}.field{margin-bottom:20px}label.legend{font-size:12px;color:#354e42;font-weight:650;margin-bottom:8px}
input[type=text],input[type=number],select,textarea{background:#fbfcf9;border:1px solid #dce3d8;border-radius:9px;padding:11px 12px;color:#30483c;font-size:13px;transition:border-color .18s,box-shadow .18s}input:hover,select:hover,textarea:hover{border-color:#a5b9a8}textarea{min-height:190px;line-height:1.75}.op{border-radius:9px;background:#fafbf7;padding:11px 9px;font-size:12px;cursor:pointer;display:flex;align-items:center;gap:6px}.op:has(input:checked){background:#edf4e9;border-color:#9db498}.op input{margin:0;width:15px;height:15px}.hint,.module-help{font-size:11px;line-height:1.7;color:#6e7c71}.word-count{font-size:10px;letter-spacing:.2px;color:#527359}.primary{border-radius:10px;min-height:46px;font-size:13px;box-shadow:0 4px 8px #245c4712}.primary:hover{background:#194c38;border-color:#194c38;box-shadow:0 5px 12px #245c4726}.toolbar{margin:0 0 20px;gap:12px}.tabs{background:#dce4d8;padding:3px;border-radius:10px}.tabs button{font-size:12px;min-height:36px;padding:8px 13px}.tabs button.active{box-shadow:0 2px 5px #243e3512;color:#244d39;border-radius:7px}.actions{gap:7px}.actions button{font-size:12px;background:#ffffffc9;padding:9px 13px;min-height:39px}#printCurrent{background:#fff;border-color:#c4d0c0}.paper{border:1px solid #e2e5dc;border-radius:4px;padding:38px 40px;min-height:640px;box-shadow:0 8px 22px #2c453a0b;margin-bottom:20px}.paper h3{font-size:25px;line-height:1.25;font-weight:650;letter-spacing:-.7px}.paper-top{padding-bottom:18px;border-color:#345c46}.paper .eyebrow{font-size:9px;letter-spacing:1.7px}.paper .badge{background:#f0f4eb;border:1px solid #e4ebdf;color:#537247;font-size:10px;padding:7px 9px}.paper .meta{font-size:11px;color:#748173;margin:24px 0}.paper-footer{color:#7c897c}.sum{font-size:18px}.num{color:#8b998a}.screen-note{font-size:11px;margin:0 0 4px;text-align:center}.card{border-color:#aebca7;border-radius:7px}.card strong{font-weight:650}.card p{color:#5f705e}.translation-text{color:#245c47!important}.puzzle td{border-color:#e4e9df}.wordbank span{padding:3px 9px;background:#f3f6ef;border-radius:5px}#cardsOptions details{border:1px solid #dfe6da;border-radius:9px;padding:11px 12px;margin-top:15px;background:#fafcf7}summary{font-size:12px;font-weight:600;cursor:pointer;line-height:1.6}#translateCards{width:100%;background:#edf4e9;border-color:#bdceb7;color:#29583b;min-height:44px}#translateCards:hover{background:#e3eddc}#translationStatus:empty,#langMessage:empty,#message:empty{display:none}#translationStatus:not(:empty){background:#f1f5ec;border-radius:8px;padding:10px;font-size:11px}#translationEditor{scrollbar-width:thin;padding-right:4px}.translation-edit textarea{background:white}#langMessage,#message{font-size:11px;color:#436744;line-height:1.6}.module-help{padding-top:14px;border-top:1px solid #edf0e8}
#pages{animation:paper-in .24s ease-out}@keyframes paper-in{from{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.intro{padding-top:55px}.layout{gap:32px}}
@media(max-width:1050px){nav button{padding:14px 12px;gap:9px}.module-copy small{font-size:10px}.layout{grid-template-columns:300px minmax(0,1fr);gap:20px}.panel{padding:21px}.layout>section{padding:16px}.paper{padding:30px 24px}.sums{gap:0 18px}.sum{font-size:16px}.blank{width:46px}.toolbar{align-items:flex-start}.paper .meta{gap:10px}.module-icon{flex-basis:30px;height:32px}}
@media(max-width:850px){header{height:72px;padding:0 22px}header small{display:none}.intro{padding-top:30px}.layout{grid-template-columns:1fr}.panel{padding:24px}.layout>section{padding:20px}.module-copy small{display:none}nav button{min-height:65px}.paper{padding:36px;min-height:0}.sums{gap:0 40px}.sum{font-size:19px}.blank{width:58px}.toolbar{align-items:center}}
@media(max-width:540px){header{padding:0 16px;height:68px;gap:12px}.brand{font-size:21px}.logo{width:31px;height:31px;font-size:23px;margin-right:7px}.top-actions{gap:0}#saveApp{font-size:11px;padding:9px 11px;min-height:38px}.intro{padding:28px 18px 23px}.intro h1{font-size:31px;letter-spacing:-1.2px}.intro p{font-size:13px}.intro .eyebrow{font-size:9px;letter-spacing:1.5px}nav{grid-template-columns:1fr 1fr;padding:0 18px;gap:8px;margin-bottom:20px}nav button{min-height:64px;padding:12px;gap:10px;border-radius:11px}.module-copy strong{font-size:12px}.module-copy small{display:block;font-size:9px}.module-icon{flex-basis:29px;height:29px;font-size:18px}.layout{padding:0 12px 32px;gap:18px}.panel{padding:21px;border-radius:14px}.layout>section{padding:12px;border-radius:14px}.paper{padding:23px 16px;margin-bottom:14px}.paper h3{font-size:21px}.paper .meta{font-size:9px}.paper-top{gap:10px}.paper .badge{font-size:9px;white-space:normal;text-align:center}.toolbar{gap:10px;margin-bottom:14px}.tabs button{font-size:11px;padding:7px 10px}.actions button{font-size:11px;padding:8px 10px}.sums{gap:0 14px}.sum{font-size:15px;padding:10px 0}.num{width:21px;font-size:9px}.blank{width:35px;margin-left:5px}.answer{margin-left:5px}.paper-footer{font-size:8px;gap:10px;margin-top:24px}.puzzle{margin:20px auto}.puzzle td{font-size:clamp(8px,2.7vw,12px);height:20px}.cards{gap:9px}.card{min-height:120px;padding:10px}.card strong{font-size:18px}.card p{font-size:12px}.wordbank{gap:5px;font-size:11px}.wordbank span{padding:2px 6px}.screen-note{font-size:10px}.bingo td{font-size:13px;height:75px;padding:5px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
}


.offline-bar{max-width:1280px;margin:14px auto 0;padding:0 20px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;color:#496b51}.offline-bar span{flex:1;min-width:190px}.offline-bar button{font-size:11px;padding:8px 11px;min-height:34px}@media print{.offline-bar{display:none!important}}
