:root{--green:#28694f;--ink:#243e35;--paper:#fffdf7}*{box-sizing:border-box}body{margin:0;background:#f2f4e9;color:var(--ink);font:17px/1.55 Arial,Helvetica,sans-serif}button,a,input{touch-action:manipulation}button{font:inherit;color:inherit;border:1px solid #c7d4bf;background:var(--paper);border-radius:10px;padding:9px 13px;min-height:44px;cursor:pointer}button:hover{background:#e4eddd}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,#viewport:focus-visible{outline:3px solid #b77a24;outline-offset:3px}a{color:var(--green);text-underline-offset:4px}header{max-width:1500px;margin:auto;display:flex;justify-content:space-between;gap:20px;padding:18px 25px;font-size:14px}main{max-width:1500px;margin:auto;padding:5px 25px 35px}.intro{margin:10px 0 25px}.eyebrow{color:var(--green);font-size:11px;font-weight:bold;letter-spacing:.13em;margin:0}.intro h1{font:40px/1.2 Georgia,serif;margin:6px 0 10px}.intro>p:last-child{margin:0;color:#586a60}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}.viewer{min-width:0}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.toolbar button{font-size:14px}.zoom-buttons{display:flex;align-items:center;gap:7px}#zoom-value{min-width:80px;text-align:center;font-size:13px}#more,#less{font-size:24px;line-height:24px;width:44px}#markers-toggle[aria-pressed=true]{background:var(--green);color:white}#viewport{width:100%;height:auto;max-height:76vh;overflow:auto;border:1px solid #cbd3be;border-radius:15px;background:#d9decc;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}#scene{position:relative;width:100%;line-height:0}#painting{display:block;width:100%;height:auto;max-width:none;user-select:none;-webkit-user-drag:none}#markers{position:absolute;inset:0;pointer-events:none}.marker{position:absolute;transform:translate(-50%,-50%);width:33px;height:33px;min-height:33px;padding:0;border-radius:50%;border:2px solid white;background:#28694feb;color:white;font-size:14px;font-weight:bold;box-shadow:0 2px 8px #0006;pointer-events:auto;line-height:1}.marker:hover,.marker.active{background:#9c6009;color:white}.marker.active{outline:4px solid #ffeb9e;outline-offset:4px}.marker[hidden]{display:none}.tip{font-size:13px;margin:10px 0 15px;color:#586a60}#discovery{background:var(--paper);border-left:5px solid #d6a141;border-radius:10px;padding:18px 22px;min-height:150px}#discovery h2{font-size:23px;margin:4px 0 9px}#discovery p{margin:0}.caption{font-size:12px;color:#647065}.find-list{border:1px solid #dde2d2;border-radius:16px;background:var(--paper);overflow:hidden}.list-title{padding:20px 18px 14px}.list-title h2{font:25px/1.2 Georgia,serif;margin:5px 0 10px}.list-title p{font-size:14px;margin:0}.clue-group{border-top:1px solid #dfe5d6}.clue-group summary{padding:14px 18px;font-weight:bold;cursor:pointer}.clue{display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:center;margin:0 12px;padding:10px 0;border-top:1px solid #edf0e7}.clue-num{font-size:12px;color:#617467}.clue-label{font-size:15px}.clue button{font-size:12px;padding:6px 9px;min-height:40px}.clue button[aria-pressed=true]{background:#28694f;color:white}.connections{margin-top:35px;border-top:1px solid #d7decd;padding-top:25px}.connections h2{font:28px Georgia,serif;margin:6px 0 18px}.connections>div{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.connections article{background:#e8eedf;border-radius:12px;padding:20px}.connections h3{font-size:18px;margin:0 0 10px}.connections p{font-size:16px;margin:0}footer{margin-top:25px;text-align:center;font-size:15px}@media(max-width:1000px){.workspace{grid-template-columns:1fr}.find-list{display:grid;grid-template-columns:1fr 2fr}.clue-group:first-child{border-top:0}.connections>div{grid-template-columns:1fr}.connections article{padding:16px}}@media(max-width:600px){header{padding:13px 14px;font-size:12px}header span{max-width:130px;text-align:right}main{padding:0 12px 25px}.intro{margin:10px 0 18px}.intro h1{font-size:29px}.intro>p:last-child{font-size:15px}.toolbar{gap:8px}.toolbar button{font-size:13px}#zoom-value{min-width:70px}#viewport{max-height:65vh;border-radius:10px}#discovery{padding:15px}#discovery h2{font-size:22px}#discovery p{font-size:17px}.find-list{display:block}.clue-label{font-size:16px}.clue button{font-size:13px}.clue-group:first-child{border-top:1px solid #dfe5d6}.connections{margin-top:25px}.connections h2{font-size:25px}.marker{width:29px;height:29px;min-height:29px;font-size:12px}.clue{grid-template-columns:25px 1fr 80px}}
