*{box-sizing:border-box}body{margin:0;background:#122c29;color:#f3ead2;font:16px/1.55 system-ui,sans-serif;background-image:radial-gradient(ellipse at top right,#365846,transparent 65%)}main{max-width:1100px;margin:auto;padding:36px 24px}header{display:flex;align-items:center;gap:22px;border-bottom:1px solid #ffffff28;padding-bottom:22px}.seal{font-size:76px;color:#d8ac6c}h1{font:clamp(30px,5vw,52px) Georgia,serif;margin:0}p{margin:8px 0}small,.caption{letter-spacing:2px;font-size:12px;color:#dac49f}#progress{margin-left:auto;white-space:nowrap}.intro{max-width:850px;margin:24px 0}h2{font:26px Georgia,serif}#lesson{color:#ebc581}.desk{background:#e4d0a7;color:#342c20;border-radius:18px;padding:24px;box-shadow:0 18px 55px #0005}.caption{color:#51472f;margin-bottom:10px}.track{display:grid;grid-template-columns:repeat(18,minmax(0,1fr));gap:3px;min-height:72px}.cell{display:flex;align-items:flex-end;justify-content:center;border-radius:3px;background:linear-gradient(90deg,#664022,#b98144 55%,#704425);color:#fff7db;font-weight:650;border-top:solid #462d1b;position:relative;min-width:0;padding:4px 0}.empty{background:transparent;border:1px dashed #ad9365}.year{font-size:10px;text-align:center;color:#625333}.sample{margin-top:23px;padding:12px;border:2px solid transparent;border-radius:10px;background:#fff3}.sample.selected{border-color:#506c4a;background:#fff6}.tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.tools strong{margin-right:auto}.tools span{font-size:13px}.tools button{padding:6px 14px;background:#57422b;color:#fff4dc}.bottom{margin-top:24px}#status{font-size:19px;min-height:32px}.actions{display:flex;gap:10px;flex-wrap:wrap}button{border:1px solid #bb9c69;border-radius:7px;padding:11px 20px;font:inherit;cursor:pointer;background:#243f36;color:#f3ead2}button:hover{filter:brightness(1.2)}button:focus-visible{outline:3px solid #f9c974;outline-offset:3px}button:disabled{opacity:.45;cursor:default}#check,#next{background:#ddbd7b;color:#25332a;font-weight:bold}footer{font-size:13px;color:#c0cbb7;margin-top:28px}#journal{color:#e2bd7c}@media(max-width:600px){main{padding:18px 10px}.seal{display:none}header{gap:6px}#progress{font-size:12px}.desk{padding:10px}.track{gap:2px;min-height:56px}.cell{font-size:11px}.sample{padding:7px}.tools{gap:6px}.tools button{padding:7px 12px}.year{font-size:8px}.caption{font-size:10px;letter-spacing:1px}}