.viewer-page{padding-top:60px;padding-bottom:60px}.viewer-page>header{max-width:820px;margin-bottom:32px}.viewer-page h1{font-size:clamp(32px,5vw,64px);line-height:1.1;margin:16px 0}.viewer-page li,.viewer-page p{line-height:1.7}.file-viewer{border:1px solid #d8d5ca;border-radius:20px;overflow:hidden;background:white}.viewer-upload{padding:22px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}.viewer-upload input{position:absolute;width:1px;height:1px;opacity:0}.viewer-upload label:focus-within{outline:3px solid #537825;outline-offset:4px}.viewer-upload p{margin:0;flex:1 1;min-width:200px;color:#606457}.viewer-stage{position:relative;height:clamp(330px,60vh,640px);background:#242a30}.viewer-canvas{position:absolute;inset:0;touch-action:none}.viewer-canvas canvas{display:block}.viewer-message{position:absolute;top:40%;left:10%;right:10%;text-align:center;color:white;background:#242a30dd;padding:18px;border-radius:12px;pointer-events:none}.viewer-controls{padding:18px;display:flex;gap:22px;align-items:center;flex-wrap:wrap}.viewer-controls label{display:flex;align-items:center;gap:8px}.viewer-controls button{border:1px solid #cbcbbc;border-radius:8px;padding:10px;background:#f3f2ed;cursor:pointer}.viewer-caption{padding:0 18px 18px;margin:0;overflow-wrap:anywhere;font-size:13px;color:#555}.viewer-page>section{margin-top:50px}.viewer-page details{border-bottom:1px solid #ccc;padding:20px 0}.viewer-page summary{cursor:pointer;font-weight:650}.viewer-links{display:flex;align-items:center;gap:24px;flex-wrap:wrap}