:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400}body{margin:0;min-width:320px;min-height:100vh;background:Canvas;color:CanvasText}*{box-sizing:border-box}.container{width:min(1100px,100%);padding:20px;margin:0 auto}.header{margin-bottom:16px}.header h1{font-size:20px;margin:0 0 8px}.meta{font-size:12px;opacity:.8}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.card{border:1px solid ButtonBorder;border-radius:8px;padding:16px;margin:12px 0;background:Canvas;color:CanvasText}.card h2{font-size:16px;margin:0 0 12px}.card h3{font-size:14px;margin:16px 0 8px}.form{display:grid;grid-template-columns:1fr;gap:10px}.field .label{font-size:12px;margin-bottom:4px}.field input{width:100%;box-sizing:border-box;padding:8px;border:1px solid ButtonBorder;border-radius:6px;background:Field;color:FieldText}.actions{display:flex;gap:8px;margin-top:12px}button{padding:8px 12px;border-radius:6px;border:1px solid ButtonBorder;background:ButtonFace;color:ButtonText;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}.errorBox{border:1px solid ButtonBorder;padding:10px;border-radius:6px;margin:10px 0}.errorTitle{font-size:12px;font-weight:600;margin-bottom:6px}.errorList{margin:0;padding-left:18px}.empty{font-size:12px;opacity:.8}.section{display:grid;gap:10px}.kv{display:grid;gap:6px}.k{font-size:12px;font-weight:600}.v{margin:0;padding:10px;border:1px solid ButtonBorder;border-radius:6px;background:Field;color:FieldText;white-space:pre-wrap;word-break:break-word;max-height:240px;overflow:auto}.vText{padding:8px;border:1px solid ButtonBorder;border-radius:6px;background:Field;color:FieldText;word-break:break-word}.pages{display:grid;gap:8px}.pageList{display:grid;gap:10px}.pageCard{border:1px solid ButtonBorder;border-radius:8px;padding:10px}.pageTitle{font-weight:600;margin-bottom:8px}.pageRow{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:start}@media(max-width:720px){.pageRow{grid-template-columns:1fr}}.images{display:grid;gap:10px}.imageFrame{border:1px solid ButtonBorder;border-radius:8px;padding:10px;background:Canvas}.imageFrame.cover img,.imageFrame img{width:100%;height:auto;display:block}.imageLabel{font-size:12px;margin-bottom:6px;opacity:.9}.imageError{font-size:12px;padding:16px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
